Как найти и отредактировать условие формирования задачи «Нет расходного ордера» в 1С:ERP?

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

В процессе работы с системой 1С:ERP Управление предприятием пользователи часто сталкиваются с появлением автоматических задач или уведомлений, таких как «Нет расходного ордера». Это происходит после проведения документа реализации, если для склада настроена ордерная схема. Рассмотрим подробно, где скрыты условия появления этой задачи и как их можно изменить или адаптировать под нужды бизнеса.

Разберем природу «Задачи» в интерфейсе

Прежде чем приступать к поиску в коде, проанализируем, что именно видит пользователь. Чаще всего то, что воспринимается как «Задача», на самом деле является элементом системы «Текущие дела». Это специальный виджет на начальной странице, который динамически вычисляет состояние учетных данных. Если же это полноценный объект метаданных Задача.ЗадачаИсполнителя, то она, скорее всего, порождена бизнес-процессом, например, БизнесПроцесс.ТиповаяПродажа.

Анализ настроек в режиме пользователя

Выясним причину появления уведомления, не прибегая к программированию. В ERP логика контроля отгрузки жестко связана с настройками склада. Рассмотрим основные параметры:

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

Поиск условий в Конфигураторе

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

1. Глобальный поиск. Проанализируем конфигурацию через поиск строки «Нет расходного ордера». Важно искать не только точное совпадение, но и возможные синонимы в метаданных. Часто текст уведомления формируется динамически, поэтому попробуем найти часть фразы «НетРасходногоОрдера» в общих модулях.

2. Использование точек останова. Поставим точку останова в общих модулях, отвечающих за подсистему «Текущие дела». Обычно это модули с префиксами:

3. Исследование регистра «Состояния оформления документов». В 1С:ERP существует вспомогательный регистр сведений СостоянияОформленияДокументов. Он кэширует информацию о том, какие документы еще не оформлены на основании распоряжений. Проанализируем код, который записывает данные в этот регистр при проведении реализации.

4. Анализ запроса в «Текущих делах». Рассмотрим пример того, как система может проверять наличие распоряжений без ордеров через запрос. Типовой алгоритм выглядит примерно так:


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	ТоварыКОтгрузкеОстатки.Распоряжение КАК Распоряжение,
    |	ТоварыКОтгрузкеОстатки.КОтгрузкеОстаток КАК Остаток
    |ИЗ
    |	РегистрНакопления.ТоварыКОтгрузке.Остатки(&МоментВремени, ) КАК ТоварыКОтгрузкеОстатки
    |ГДЕ
    |	ТоварыКОтгрузкеОстатки.КОтгрузкеОстаток > 0";

Если запрос возвращает строки, система выводит уведомление о необходимости создания ордера. Чтобы отредактировать условие, нужно найти именно тот участок кода, где формируется текст для виджета «Текущие дела» или где стартует точка действия бизнес-процесса.

Работа с подсистемой мониторинга

Иногда подобные задачи настраиваются через «Мониторинг целевых показателей». Проанализируем ситуацию в справочнике «Варианты анализа целевых показателей». Если уведомление приходит как задача конкретному исполнителю, проверьте настройки рассылок и шаблонов задач в этом разделе. Там условия срабатывания (пороговые значения или наличие записей в регистрах) задаются без изменения программного кода.

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

← На главную