В процессе работы с программами 1С:Комплексная автоматизация (КА) и 1С:Управление торговлей (УТ) версии 11 часто возникает задача жестко ограничить права менеджеров на изменение цен в документах продажи, таких как Заказ клиента или Реализация товаров и услуг. Стандартный профиль Менеджер по продажам по умолчанию предоставляет слишком много свободы, позволяя менять цены вручную, что может привести к финансовым потерям компании. В этой статье мы подробно разберем, как закрыть возможность редактирования цен и выбора произвольных условий продаж.
Проанализируем ситуацию: почему даже после копирования стандартного профиля и отключения очевидных ролей (например, по работе с установкой цен) менеджер все равно может менять цифры в табличной части документа? Выясним причину. В современных конфигурациях на базе ERP-платформы за возможность ручной правки цен, скидок и условий оплаты отвечает специфическая роль — «Отклонение от условий продаж».
Рассмотрим, что именно делает эта роль. Она дает пользователю право игнорировать правила, заданные в системе (в соглашениях или видах цен). Если эта роль назначена пользователю, система позволяет ему:
Произвольная.Чтобы закрыть редактирование цен, нам необходимо создать новый Профиль групп доступа, найти в списке разрешенных ролей Отклонение от условий продаж и снять с нее флаг. После этого пользователям, включенным в эту группу доступа, редактирование колонок с ценами станет недоступно. Для проверки наличия роли в существующих профилях подойдёт отчет со списком профилей по роли.
Разберем еще один эффективный «коробочный» метод, который работает даже на уровне бизнес-логики, а не только прав доступа. Основным инструментом контроля цен в 1С:КА и 1С:УТ являются Соглашения (Типовые или Индивидуальные).
Посмотрим на алгоритм настройки внутри соглашения:
Продажи — Индивидуальные соглашения (или Типовые).Проанализируем результат: если в документе Заказ клиента выбрано такое соглашение, колонки «Цена» и «% руч. скидки» будут заблокированы для изменения. Это очень удобно, когда для одних клиентов (например, VIP) мы разрешаем менеджеру маневрировать ценой, а для других — запрещаем категорически. Однако помните, что у менеджера не должно быть прав на редактирование самих соглашений, иначе он просто снимет этот флаг.
Рассмотрим ситуацию, когда менеджеру все же нужно иногда менять цену, но только после одобрения руководством. Для этого в 1С:КА и 1С:УТ предусмотрен механизм согласования заказов. Выясним, как его включить:
Зайдем в раздел НСИ и администрирование — Настройка НСИ и разделов — Продажи — Оптовые продажи. Здесь необходимо активировать опцию «Согласование заказов». После включения этой функции система начнет работать по следующей логике:
К выполнению.На согласовании.Этот метод позволяет не «закручивать гайки» окончательно, а внедрить контролируемую гибкость в процесс продаж.
Часто проблема заключается в том, что менеджер выбирает в заказе вид цены Произвольная. Проанализируем, как это предотвратить. В настройках каждого Вида цены (раздел CRM и маркетинг — Настройки и справочники) есть признак «Разрешить использовать при продаже». Для этой задачи можно использовать расширение для запрета установки произвольных цен.
Если мы хотим, чтобы менеджеры работали только по строго определенным прайс-листам, нам нужно:
Посмотрим на проблему с другой стороны: иногда цены меняют в уже оформленных и отгруженных документах прошлых периодов. Чтобы этого избежать, обязательно используйте механизм «Дата запрета изменения данных».
Рассмотрим, как это настроить: перейдем в Администрирование — Поддержка и обслуживание — Дата запрета изменения. Установив дату (например, конец прошлого месяца), вы гарантируете, что ни один менеджер (и даже бухгалтер без специальных прав) не сможет изменить цену в старой реализации, даже если роль Отклонение от условий продаж у него активна.
Подведем итог нашей совместной работы. Для надежного запрета редактирования цен в 1С:КА и 1С:УТ рекомендуется комбинированный подход:
Менеджер по продажам и исключите из него роль Отклонение от условий продаж. Это базовый и самый надежный уровень защиты.Если же типовых средств недостаточно (например, нужно запретить менять цену только на определенную группу товаров), можно воспользоваться механизмом Расширений. В расширении можно прописать программную проверку при проведении документа:
// Пример логики для расширения (обработчик ПередЗаписью)
Если ЭтотОбъект.Товары.Количество() > 0 Тогда
Для Каждого СтрокаТЧ Из ЭтотОбъект.Товары Цикл
Если СтрокаТЧ.Цена <> СтрокаТЧ.ЦенаИзПрайса Тогда
// Вызвать исключение, если цена была изменена вручную
Отказ = Истина;
Сообщить("Редактирование цен запрещено политикой компании!");
КонецЕсли;
КонецЦикла;
КонецЕсли;
Проанализировав все вышеперечисленные способы, вы сможете выбрать наиболее подходящий для вашей организации метод контроля ценообразования.