Страницы: 1
УТ 11.5. Заказ клиента. Запретить создавать пко, эквайринговую операцию
 

Всем здравствуйте. Подскажите, что нужно сделать, чтобы пользователь не мог создать данные документа на основании заказа клиента? То есть можно ли как-то скрыть из верхнего меню документа заказ клиента некоторые пункты (пко, эквайринговая операция)?

Для этого можно только в конфигураторе открыть документ заказ клиента и в мастере снять соответствующие галочки с нужных документов или нужно в функциях в документах пко/экв.операция, которые вызываются анализировать, что это документ заказ клиента и ругаться например.

Заранее спасибо!

 
Цитата
Андрей написал:
Всем здравствуйте. Подскажите, что нужно сделать, чтобы пользователь не мог создать данные документа на основании заказа клиента? То есть можно ли как-то скрыть из верхнего меню документа заказ клиента некоторые пункты (пко, эквайринговая операция)?  Для этого можно только в конфигураторе открыть документ заказ клиента и в мастере снять соответствующие галочки с нужных документов или нужно в функциях в документах пко/экв.операция, которые вызываются анализировать, что это документ заказ клиента и ругаться например.  Заранее спасибо!
Могу предложить сделать расширение и в нем регулировать данный момент. Вообще начало подобных команд – запрет на открывание формы нового ПКО – нужно ловить при создании формы эквайринговой операции и далее смотреть по стеку кто и что вызывает.

В УТ создание формы документа ВСЕГДА прилетит вот сюда

МодификацияКонфигурацииПереопределяемый.ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка)

Ставим точку останова в этой функции, создаем ПКО на основании заказа и смотрим в отладчике на

Форма.Имя

Форма.Основание

Форма.Объект.Ссылка

Нужно уметь пользоваться функциями ТипЗнч(), Тип(), ЗначениеЗаполнено()

Понимать что такое переменная Отказ и зачем она нужна.

 

А еще можно пойти в ММ своего ЗаказКлиента и там есть:

// Определяет список команд создания на основании.

//

// Параметры:

// КомандыСозданияНаОсновании - см. СозданиеНаОснованииПереопределяемый.ПередДобавлениемКомандСозданияНаОсновании.КомандыСозданияНаОсновании

// Параметры - см. СозданиеНаОснованииПереопределяемый.ПередДобавлениемКомандСозданияНаОсновании.Параметры

//

Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт

Или же сначала стоит проверить имя формы

        Если (Форма.ИмяФормы = "Документ.ПриходныйКассовыйОрдер.Форма.ФормаДокумента" или

           Форма.ИмяФормы = "Документ.РасходныйКассовыйОрдер.Форма.ФормаДокумента" или

           Форма.ИмяФормы = "Документ.ОперацияПоПлатежнойКарте.Форма.ФормаДокумента") тогда

              Если(ТипЗнч(Форма.Основание) = Тип("ДокументСсылка.ЗаказКлиента")) тогда

Вообще хочу вам рекомендовать приучить себя писать функции и процедуры. Таких вставочек из 5-6 строк будет много и вы несколько позже будете в них тонуть

Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт

   //Задача 12345 Постановщик: Иванов А.А., Выполнил:sanyaka 28.06.2023

   ОграничениеСозданияПлатежныхДокументов(Форма, Отказ, СтандартнаяОбработка);

КонецПроцедуры

 

Бывает еще, что эквайринг в 1С настроен с подключением оборудования (назовем условно эту настройку эквайринга "онлайн-эквайринг") и при пробитии чека по какой-либо причине деньги с карты у клиента списываются, а чек не пробивается. При этом 1С не просто не пробила чек, а вообще не увидела оплату (иначе чек можно пробить по кнопке "Смешанная оплата"). Причин этому много, но выход для администраторов самый простой:

Отложить "проблемный" чек

Зайти на рабочем месте кассира в 1С под администратором

В настройках указать, что терминал используется без подключения оборудования

Зайти под кассиром и пробить ранее отложенный чек

Вернуть под администратором настройки эквайрингового терминала.

Это позволит дать кассирам самим возможность выключать на время онлайн-эквайринг. С этой целью в РМК в меню "Еще" добавлен отдельный пункт для включения/отключения онлайн-эквайринга.

Имя команды меняется в зависимости от того, включен ли сейчас онлайн-эквайринг или нет. При включении/отключении пользователю выдается соответствующее сообщение. Рекомендуется отключать онлайн-эквайринг непосредственно перед пробитием "проблемного" чека, чтобы случайно не пробить другой чек без подключения к терминалу.

 

Я сталкивался с тем, что коллега выше описал. У этого решения есть свои особенности. Данная разработка выполнена в виде расширения (не поддерживаются базовые версии УТ). В случае, если в настройках РМК нет терминалов с подключением оборудования, то команда не выводится. Отключение/включение происходит сразу всех терминалов с подключением оборудования. Все объекты заимствованной формы создаются программно, что позволит вам без труда работать с расширением при обновлениях.

После успешного пробития чека происходит автоматическое включение онлайн-эквайринга, если он был отключен. Не требует дополнительных прав на запись/чтение, не перезаписывает настройки РМК для текущего рабочего места. Работает только в РМК Режим совместимости расширения установлен в значение 8.3.12, что позволит подключать расширение и в более ранние версии УТ.

Страницы: 1