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

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

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

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

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

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

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

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

Форма.Имя

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

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

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

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

 

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

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

//

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

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

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

//

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

 

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

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

Страницы: 1