Как в 1С:Управление торговлей 11.4 запретить создание реализации без оформления ордера?

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

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

Почему типовых настроек недостаточно?

Система УТ 11.4 спроектирована как гибкая платформа, поддерживающая различные сценарии работы. Настройка в разделе Администрирование — Склад и доставка — Порядок оформления накладных и расходных ордеров определяет лишь последовательность документов в цепочке, но не запрещает пользователю создать Реализацию вручную или на основании заказа. Для обеспечения жесткого контроля нам потребуется выйти за рамки стандартных настроек и применить процессные или программные методы.

Метод 1: Ограничение прав доступа и работа через рабочие места

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

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

Метод 2: Программный контроль (Разработка расширения)

Если бизнес-процесс требует строгого запрета, даже при наличии прав, лучшим решением будет использование расширения конфигурации. Мы можем перехватить событие перед записью или проведением документа Реализация товаров и услуг и проверить наличие проведенного ордера.

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

Рассмотрим примерную логику кода, которую можно внедрить в расширение:


Процедура ПроверитьНаличиеОрдераПриПроведении(Отказ, ДокументОбъект)
    // Запрос к регистру ТоварыКОтгрузке или поиск ордеров по заказу
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ ПЕРВЫЕ 1
        |    РасходныйОрдерТовары.Ссылка КАК Ордер
        |ИЗ
        |    Документ.РасходныйОрдерНаТовары.Товары КАК РасходныйОрдерТовары
        |ГДЕ
        |    РасходныйОрдерТовары.Ссылка.Распоряжение = &Заказ";
    
    Запрос.УстановитьПараметр("Заказ", ДокументОбъект.ЗаказКлиента);
    Результат = Запрос.Выполнить();
    
    Если Результат.Пустой() Тогда
        Сообщение = Новый СообщениеПользователю;
        Сообщение.Текст = "Запрещено проводить реализацию без оформленного расходного ордера!";
        Сообщение.Сообщить();
        Отказ = Истина;
    КонецЕсли;
КонецПроцедуры

Метод 3: Контроль через регистр «Товары к отгрузке»

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

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

Итог: что выбрать?

Чтобы добиться максимальной дисциплины в учете, рекомендуем комбинировать методы:

Такой комплексный подход обеспечит целостность складских остатков и исключит «человеческий фактор» при оформлении первичных документов в вашей базе 1С:Управление торговлей.

← На главную