Как запретить редактирование цен в документах 1С:КА и 1С:УТ?

Программист 1С v8.3 (Управляемые формы) 1С:Комплексная автоматизация Управленческий учет Торговля и дистрибуция
← На главную

В процессе работы с программами 1С:Комплексная автоматизация (КА) и 1С:Управление торговлей (УТ) версии 11 часто возникает задача жестко ограничить права менеджеров на изменение цен в документах продажи, таких как Заказ клиента или Реализация товаров и услуг. Стандартный профиль Менеджер по продажам по умолчанию предоставляет слишком много свободы, позволяя менять цены вручную, что может привести к финансовым потерям компании. В этой статье мы подробно разберем, как закрыть возможность редактирования цен и выбора произвольных условий продаж.

Разбор основной причины: роль «Отклонение от условий продаж»

Проанализируем ситуацию: почему даже после копирования стандартного профиля и отключения очевидных ролей (например, по работе с установкой цен) менеджер все равно может менять цифры в табличной части документа? Выясним причину. В современных конфигурациях на базе ERP-платформы за возможность ручной правки цен, скидок и условий оплаты отвечает специфическая роль — «Отклонение от условий продаж».

Рассмотрим, что именно делает эта роль. Она дает пользователю право игнорировать правила, заданные в системе (в соглашениях или видах цен). Если эта роль назначена пользователю, система позволяет ему:

  1. Вписывать произвольную цену в колонку «Цена».
  2. Устанавливать ручные скидки и наценки.
  3. Выбирать вид цены Произвольная.
  4. Нарушать график оплаты или превышать лимит задолженности.

Чтобы закрыть редактирование цен, нам необходимо создать новый Профиль групп доступа, найти в списке разрешенных ролей Отклонение от условий продаж и снять с нее флаг. После этого пользователям, включенным в эту группу доступа, редактирование колонок с ценами станет недоступно. Для проверки наличия роли в существующих профилях подойдёт отчет со списком профилей по роли.

Настройка запрета через Соглашения с клиентами

Разберем еще один эффективный «коробочный» метод, который работает даже на уровне бизнес-логики, а не только прав доступа. Основным инструментом контроля цен в 1С:КА и 1С:УТ являются Соглашения (Типовые или Индивидуальные).

Посмотрим на алгоритм настройки внутри соглашения:

  1. Перейдем в раздел Продажи — Индивидуальные соглашения (или Типовые).
  2. Откроем нужное соглашение и перейдем на вкладку «Условия продаж».
  3. Найдем флаг «Запретить ручное редактирование цен и скидок» и установим его.

Проанализируем результат: если в документе Заказ клиента выбрано такое соглашение, колонки «Цена» и «% руч. скидки» будут заблокированы для изменения. Это очень удобно, когда для одних клиентов (например, VIP) мы разрешаем менеджеру маневрировать ценой, а для других — запрещаем категорически. Однако помните, что у менеджера не должно быть прав на редактирование самих соглашений, иначе он просто снимет этот флаг.

Механизм согласования отклонений

Рассмотрим ситуацию, когда менеджеру все же нужно иногда менять цену, но только после одобрения руководством. Для этого в 1С:КА и 1С:УТ предусмотрен механизм согласования заказов. Выясним, как его включить:

Зайдем в раздел НСИ и администрирование — Настройка НСИ и разделов — Продажи — Оптовые продажи. Здесь необходимо активировать опцию «Согласование заказов». После включения этой функции система начнет работать по следующей логике:

Этот метод позволяет не «закручивать гайки» окончательно, а внедрить контролируемую гибкость в процесс продаж.

Ограничение выбора видов цен

Часто проблема заключается в том, что менеджер выбирает в заказе вид цены Произвольная. Проанализируем, как это предотвратить. В настройках каждого Вида цены (раздел CRM и маркетинг — Настройки и справочники) есть признак «Разрешить использовать при продаже». Для этой задачи можно использовать расширение для запрета установки произвольных цен.

Если мы хотим, чтобы менеджеры работали только по строго определенным прайс-листам, нам нужно:

  1. Настроить конкретные виды цен (например, «Оптовая», «Розничная»).
  2. В правах доступа ограничить возможность выбора пустых или произвольных видов цен.
  3. В соглашении жестко зафиксировать используемый вид цены.

Использование Даты запрета редактирования

Посмотрим на проблему с другой стороны: иногда цены меняют в уже оформленных и отгруженных документах прошлых периодов. Чтобы этого избежать, обязательно используйте механизм «Дата запрета изменения данных».

Рассмотрим, как это настроить: перейдем в Администрирование — Поддержка и обслуживание — Дата запрета изменения. Установив дату (например, конец прошлого месяца), вы гарантируете, что ни один менеджер (и даже бухгалтер без специальных прав) не сможет изменить цену в старой реализации, даже если роль Отклонение от условий продаж у него активна.

Резюме и практические рекомендации

Подведем итог нашей совместной работы. Для надежного запрета редактирования цен в 1С:КА и 1С:УТ рекомендуется комбинированный подход:

  1. Создание профиля: Скопируйте профиль Менеджер по продажам и исключите из него роль Отклонение от условий продаж. Это базовый и самый надежный уровень защиты.
  2. Настройка соглашений: Используйте флаг «Запретить ручное редактирование» в соглашениях для автоматизации бизнес-логики.
  3. Контроль видов цен: Убедитесь, что в документах подставляются правильные виды цен из регистра, а не вводятся значения «с головы».

Если же типовых средств недостаточно (например, нужно запретить менять цену только на определенную группу товаров), можно воспользоваться механизмом Расширений. В расширении можно прописать программную проверку при проведении документа:


// Пример логики для расширения (обработчик ПередЗаписью)
Если ЭтотОбъект.Товары.Количество() > 0 Тогда
    Для Каждого СтрокаТЧ Из ЭтотОбъект.Товары Цикл
        Если СтрокаТЧ.Цена <> СтрокаТЧ.ЦенаИзПрайса Тогда
            // Вызвать исключение, если цена была изменена вручную
            Отказ = Истина;
            Сообщить("Редактирование цен запрещено политикой компании!");
        КонецЕсли;
    КонецЦикла;
КонецЕсли;

Проанализировав все вышеперечисленные способы, вы сможете выбрать наиболее подходящий для вашей организации метод контроля ценообразования.

← На главную