Как исправить ошибку «Недостаточно прав на отклонение от условий продаж» при проведении Заказа клиента в 1С:УТ 11

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

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

Выясняем причину блокировки проведения документа

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

Если в заказе менеджер установил цену ниже, чем в прайс-листе, или предоставил ручную скидку, на которую у него нет полномочий, система блокирует проведение. Основной технический код, отвечающий за эту проверку, обычно располагается в общем модуле ПродажиСервер. Рассмотрим подробнее основные пути решения этой задачи.

Способ 1: Добавление специальной роли «Отклонение от условий продаж»

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

В 1С 8.3 права крайне редко назначаются напрямую в конфигураторе. Правильным подходом считается использование Профилей групп доступа в режиме «1С:Предприятие». Пройдем по шагам:

  1. Перейдем в раздел НСИ и администрирование — Настройка пользователей и прав.
  2. Откроем справочник Профили групп доступа.
  3. Найдем профиль, который назначен вашему пользователю (например, «Менеджер по продажам» или «Бухгалтер реализации»).
  4. На закладке Разрешенные роли необходимо найти и отметить галочкой роль Отклонение от условий продаж.
  5. Запишем изменения и попросим пользователя перезайти в систему.

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

Способ 2: Настройка бизнес-процесса согласования заказов

Если политика компании запрещает менеджерам самостоятельно менять цены, то выдача прав на «отклонение» будет ошибкой. В этом случае разберем альтернативный механизм — Согласование. В УТ 11 предусмотрена штатная схема работы, при которой документ проходит через проверку руководителем.

Посмотрим, как работает этот механизм:

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

Технический анализ через конфигуратор

Иногда добавление роли не помогает из-за кастомных доработок или специфических настроек. Проанализируем, на что именно стоит обратить внимание в коде. В модуле ПродажиСервер за проверку прав отвечает процедура, проверяющая наличие права на чтение цен и прав на отклонение. Выглядит это примерно следующим образом (упрощенный пример логики):


// Пример логики проверки прав в модуле ПродажиСервер
Если Не ПравоДоступа("ОтклонениеОтУсловийПродаж", Метаданные.Документы.ЗаказКлиента) Тогда
    Если ПараметрыДокумента.ЕстьОтклоненияОтСоглашения Тогда
        ВызватьИсключение "Недостаточно прав на отклонение от условий продаж";
    КонецЕсли;
КонецЕсли;

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

Влияние прав на другие документы системы

Рассмотрим вопрос о том, может ли роль Отклонение от условий продаж негативно повлиять на другие участки учета, например, на ПеремещениеТоваров или РеализациюТоваровИУслуг.

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

Проверка глобальных настроек системы

Иногда корень проблемы кроется не в ролях, а в функциональных опциях. Разберем, что нужно проверить в разделе НСИ и администрирование:

Таким образом, для полноценного решения проблемы мы рекомендуем сначала проверить возможность использования штатного механизма согласования, а если он не подходит — добавить роль Отклонение от условий продаж именно через Профиль групп доступа, чтобы сохранить целостность системы прав 1С:Предприятия.

← На главную