Функционал промокодов реализован в Рознице. В Управлении торговлей пока такого нет. Тем не менее многие организации, торгующие как оптом, так и в розницу, и использующие прикладное решение Управление Торговлей, сталкиваются с необходимостью этого функционала. Для таких случаев было разработано расширение, которое я представляю.
Как сделать, чтобы расширение заработало
К сожалению, совсем без доработок основной конфигурации на данный момент обойтись невозможно. Причина в том, что в перечисление "УсловияПредоставленияСкидокНаценок" необходимо добавить новое значение. Возможность добавления и использования дополнительного значения заимствованного расширения реализована на платформе 1С 8.3.14 и выше. Вместе с тем режим совместимости конфигурации УТ 11.4 на сегодняшний день стоит на платформе 8.3.12, что не позволяем использовать необходимый функционал. По этой самой причине прежде чем подключать расширение, в основную конфигурацию в перечисление "УсловияПредоставленияСкидокНаценок" необходимо сперва добавить новое значение "ОдноразовыйКод".
Ради справедливости стоит отметить, что в подсистеме скидок есть возможность добавлять новое условие предоставления с помощью внешней обработки. В данном случае было решено не использовать эту возможность ввиду того, что функционал ввода промокодов должен быть жестоко вшит в подсистему скидок и использоваться во многих документах продажи. В эти документы, такие, как ЧекККМ, РеализацияТоваровУслуг, АктВыполненныхРабот и т.п., необходимо было добавить реквизит, в который должен записываться введенный промокод. По этой причине считаю, что реализация нового условия предоставления скидки в виде внешней обработки, была бы по определению не очень правильной. Я понимаю, что решение может казаться спорным. Приму конструктивную критику в комментариях.
После добавления нового значения перечисления, подключаем расширение. Подключать его следует через конфигуратор. Общая инструкция находится на сайте ИТС. Для подключения в окне "Расширения конфигурации", которое можно открыть в меню "Конфигурация", следует создать новое пустое расширение, после чего в командной панели текущего окна запустить команду "Конфигурация / Загрузить конфигурацию из файла". В диалоговом окне выбора файла выбираем файл с расширением. Далее соглашаемся на замену конфигурации. Но после того, как появится окно с предложением обновить конфигурацию базы данных, отказываемся.
Далее следует провернуть небольшой финт. Открываем дерево расширения конфигурации, открываем заимствованную форму "Документ.ЧекККМ.Форма.ФормаДокументаРМК". В командном меню дерева элементов формы запускаем команду "Расширения / Обновить расширение формы". Если не выполнить эту команду, то будут валиться ошибки при открытии Рабочего места кассира. Полагаю, что причиной этому служит то, что в разных подверсиях УТ 11.4 разные элементы формы, и, чтобы синхронизировать доработки для другой версии формы, следует выполнить эту команду. Но это не точно.
После того, как все операции были выполнены, обновляем конфигурацию базы данных (можно клавишей F7). Готово, можно запускать.
Описание принципов работы расширения
Создание скидки
Была доработана стандартная подсистема предоставления скидок / наценок. Ввиду этого добавление скидки происходит штатными средствами. При настройке скидки во вкладке "Условия предоставления" появилась возможность создания нового условия "Одноразовый код". При выборе этого условия откроется окно создания нового элемента справочника "Условия предоставления скидок наценок", в котором в поле "Одноразовый код" вписываем промокод, ввод которого необходим для предоставления скидки.
Розничные продажи
В рабочем месте кассира в верхней панели команд появилась новая кнопка "Промокод". При нажатии откроется форма ввода промокода. В поле ввода вписываем промокод или сканируем штрихкод с промокодом, который предоставил покупатель. После ввода будет задан вопрос о пересчете скидок. Если согласиться, то скидки будут рассчитаны в тот момент. В любом случае при начале рассчета с клиентом и выборе формы оплаты будет задан тот же вопрос о рассчете скидок.
Оптовые продажи
Под оптовыми продажами подразумеваю работу с промокодами следующих в документах: "Заказ клиента", "Реализация товаров услуг", "Акт выполненных работ", "Коммерческое предложение клиенту", "Заявка на возврат товара от клиента". Принцип установки промокода идентичен в этих документах. В командной панели табличной части, отвечающей за заполнение отгружаемых ТМЦ, в поменю "Цены и скидки" запускаем команду "Ввести промокод". Откроется форма ввода. В соответствующее поле вписываем промокод который предоставил клиент.
Нюанс: в оптовых продажах вопрос о перерасчете скидки задаваться не будет. Необходимо учесть этот момент и самостоятельно нажимать на команду "Рассчитать скидки (наценки)", которая находится в командной панели табличной части, отвечающей за заполнение отгружаемых ТМЦ в подменю "Цены и скидки".
Дополнительная информация
В табличную часть документов, у которых есть возможность ввести промокод, появилась новая колонка "Промокод" с типом значения Булево. По-умолчанию значение равно Истина. Включение и отключение этой опции позволяет точечно включать и отключать скидку по промокоду для соответствующей строки табличной части.