В процессе оптовой торговли часто возникает задача предоставить отдельным постоянным клиентам специальные условия: например, фиксированную скидку от базового розничного прайс-листа или специальную категорию цен. В типовой конфигурации 1С:Управление торговлей 11 реализовано несколько удобных механизмов для решения этой задачи. Разберем подробно, как правильно настроить такие условия и почему автоматические скидки рассчитываются не сразу при добавлении товара в документ.
Классический и рекомендованный методикой 1С способ предоставления преференций клиенту — это регистрация индивидуального соглашения с привязкой скидки (наценки). Разберем по шагам, как настроить эту схему:
НСИ и администрирование — Настройка НСИ и разделов — CRM и маркетинг. Убедимся, что установлены флаги Автоматические скидки в продажах и Использовать индивидуальные соглашения с клиентами.CRM и маркетинг — Скидки (наценки). Создадим новую скидку с типом Скидка процентом, укажем процент (например, 10%) и обязательно проверим реквизит Назначается — в нем должно быть выбрано значение Автоматически. Если заданы условия предоставления (например, минимальная сумма заказа), укажем их, а если скидка безусловная — оставим вкладку условий пустой.Индивидуальное соглашение с клиентом. В соглашении укажем базовый вид цен (например, Розничная), а на вкладке Скидки (наценки) добавим созданную скидку и установим для нее статус Действует.Теперь при оформлении документов Заказ клиента или Реализация товаров и услуг при выборе данного контрагента соглашение подставится автоматически.
Проанализируем частую ситуацию: менеджер подбирает товар в документ реализации, но сумма в строках не уменьшается сразу. Многим пользователям кажется, что скидка не сработала. Выясним причину такого поведения программы:
В типовых конфигурациях 1С (включая Управление торговлей 11) в документах оптовых продаж автоматические скидки намеренно не пересчитываются «на лету» при каждом добавлении строки или изменении количества. Если бы система при каждом изменении обращалась к дереву скидок, проверяла накопленный объем, условия совместного применения и ограничения по группам, документ с десятками или сотнями позиций начал бы сильно зависать.
Поэтому в системе реализован следующий алгоритм работы:
Ctrl + F10).Отметим также поведение в цепочке документов: если продажа оформляется по схеме Заказ клиента — Реализация товаров и услуг, то рассчитанные скидки фиксируются в заказе и при вводе реализации на его основании переносятся в неизменном виде без повторного пересчета.
Если специфика работы требует, чтобы специальная цена подставлялась в строку сразу в момент выбора номенклатуры и без использования подсистемы скидок, рассмотрим второй вариант — настройку динамического вида цены. Среди пользователей существует заблуждение, что для любого нового вида цены обязательно требуется создавать документ Установка цен номенклатуры. Это не так.
Разберем по шагам настройку расчетной цены:
CRM и маркетинг — Настройки и справочники — Виды цен и создадим новый вид цены (например, Партнерская розница).[Розничная] * 0.9.Установка цен номенклатуры — программа будет рассчитывать значение динамически прямо из действующей розничной цены.Индивидуальном соглашении с клиентом укажем данный расчетный вид цены.В результате при выборе номенклатуры в документе продажи цена строки будет сразу заполняться со скидкой 10% относительно действующей розницы, не требуя нажатия кнопок пересчета скидок.
Если бизнес-требования категорически исключают нажатие кнопки и требуют видеть процент и сумму скидки сразу в процессе набора позиций менеджером, типовой функционал можно доработать через механизм расширений конфигурации без снятия с поддержки.
Посмотрим на пример логики доработки: в расширении формы документа Заказ клиента или Реализация товаров и услуг перехватываются события табличной части (например, ПриОкончанииРедактирования строки), где вызывается типовая процедура пересчета скидок документа:
&НаКлиенте
Процедура Расш1_ТоварыПриОкончанииРедактированияПосле(Элемент, Отказ, НоваяСтрока)
// Вызов типового пересчета автоматических скидок формы
РассчитатьСкидкиНаценкиКлиент();
КонецПроцедуры
Однако перед внедрением такой доработки необходимо оценить размер типовых документов предприятия: при большом количестве строк постоянный пересчет скидок может приводить к задержкам интерфейса.