В процессе ведения торговой деятельности часто возникает необходимость провести краткосрочную акцию: установить конкретную цену на определенный товар для целой группы покупателей (сегмента). В 1С:Управление торговлей (УТ) 11.4 и 11.5 пользователи часто сталкиваются с дилеммой: индивидуальные соглашения позволяют задать фиксированную цену, но их неудобно плодить на сотни контрагентов, а типовые соглашения не всегда гибко переключаются на короткие периоды. Рассмотрим, как решить эту задачу максимально эффективно, используя типовой функционал системы.
Разберем самый простой и корректный способ. Многие пользователи ошибочно полагают, что документ Установка скидок (наценок) предназначен только для вычисления процента или суммы скидки от базовой цены. На самом деле в системе заложен мощный механизм фиксации цены через тип «Специальная цена».
Проанализируем пошагово, как настроить такую акцию:
16,50.Преимущество этого метода: нам не нужно менять основные соглашения или прайс-листы. Система автоматически применит цену 16,50 руб., как только в заказе клиента появится молоко, а сам клиент окажется в выбранном сегменте. По окончании срока действия документа цена вернется к той, что указана в типовом соглашении.
Если специфика учета требует, чтобы акция была зафиксирована именно в соглашении (например, для выгрузки в сторонние системы или EDI), мы можем воспользоваться механизмом приоритетов типовых соглашений. Рассмотрим, как это работает в 1С:УТ 11.
В системе может одновременно действовать несколько типовых соглашений, подходящих под одни и те же условия (сегмент клиентов, склад, организация). В этом случае система выбирает то соглашение, у которого приоритет выше.
Алгоритм действий будет следующим:
Система при создании заказа будет искать подходящие соглашения и подставит акционное, так как его приоритет выше. После истечения срока действия акционного соглашения система снова начнет подставлять основное.
Часто вопрос возникает из-за того, что соглашение создается для «Головного партнера», но не подхватывается его «Точками доставки». Выясним причину этой проблемы. В 1С:УТ разделены понятия Партнер (управленческая сущность) и Контрагент (юридическое лицо).
Если у вас структура холдинга (один головной партнер и множество подчиненных магазинов), проверьте следующие настройки:
Если бизнес-процесс все же требует наличия именно индивидуального соглашения для каждой из 200 точек (например, для раздельного учета условий), создавать их вручную — плохая идея. Рассмотрим, как это можно автоматизировать программно.
Проанализируем пример кода, который может быть оформлен как внешняя обработка для создания индивидуальных соглашений на основе типового для всех партнеров выбранного сегмента:
// Пример упрощенного алгоритма создания индивидуальных соглашений
Процедура СоздатьСоглашенияДляСегмента(ТиповоеСоглашение, ВыбранныйСегмент)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СоставСегмента.Партнер КАК Партнер
|ИЗ
| РегистрСведений.ПартнерыСегмента КАК СоставСегмента
|ГДЕ
| СоставСегмента.Сегмент = &Сегмент";
Запрос.УстановитьПараметр("Сегмент", ВыбранныйСегмент);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
НовоеСоглашение = Справочники.СоглашенияСКлиентами.СоздатьЭлемент();
// Заполняем данные на основании типового
НовоеСоглашение.Заполнить(ТиповоеСоглашение);
// Устанавливаем индивидуальные параметры
НовоеСоглашение.Партнер = Выборка.Партнер;
НовоеСоглашение.Наименование = "Акция для " + Строка(Выборка.Partner);
НовоеСоглашение.Типовое = Ложь; // Делаем его индивидуальным
Попытка
НовоеСоглашение.Записать();
Исключение
Сообщить("Ошибка записи для: " + Выборка.Партнер);
КонецПопытки;
КонецЦикла;
КонецПроцедуры
Такой подход позволяет за несколько секунд создать нужные документы для любого количества клиентов. Однако помните, что обслуживание большого количества индивидуальных соглашений повышает нагрузку на базу данных и усложняет администрирование цен в будущем.
Подведем итог. Если вам нужно просто изменить цену на товар на время акции для группы лиц, используйте Метод 1 (Скидка со специальной ценой). Это штатный, быстрый и наиболее надежный инструмент в 1С:УТ 11.
Если же вы хотите, чтобы в печатных формах или отчетах фигурировало именно «Соглашение», используйте Метод 2 (Приоритеты типовых соглашений). Программное создание индивидуальных соглашений стоит использовать только в крайнем случае, когда типовые механизмы не закрывают специфические требования (например, уникальные графики оплат для каждой точки).