Почему Заказ-наряд в 1С:Управление сервисным центром не делает движения по регистрам?

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

В работе с конфигурацией "1С:Управление сервисным центром" (которая базируется на решении "1С:Управление нашей фирмой" версии 1.5) пользователи часто сталкиваются с ситуацией, когда документ Заказ-наряд после проведения не формирует ожидаемых движений по регистрам. Это приводит к серьезным учетным ошибкам: например, оплата от клиента принимается, а задолженность в системе не фиксируется. В итоге по отчету «Взаиморасчеты» у клиента висит переплата (долг с минусом), хотя фактически работы выполнены. Проанализируем, почему так происходит и как правильно работать со статусами документа.

Гибридная сущность документа Заказ-наряд

Для начала разберем природу этого объекта. В системе 1С Заказ-наряд является гибридным документом. Он совмещает в себе функции заказа клиента, заказа на производство, акта выполненных работ и расходной накладной. В отличие от обычной реализации, Заказ-наряд имеет жизненный цикл, который отражается через его состояния.

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

  1. Статус "Открыт" или "В работе": На этих этапах документ считается предварительным планом. Система резервирует под него материалы (если это указано), но не признает выручку и не фиксирует долг покупателя. Это логично: состав работ и запчастей может измениться в процессе ремонта.
  2. Статус "Выполнен": Даже на этом этапе (без дополнительного флага) документ часто не делает проводок по финансовым регистрам. Он лишь сигнализирует о завершении физических работ.
  3. Флаг "Закрыт": Это критически важный реквизит. Только при его установке в сочетании с финальным статусом Заказ-наряд переходит в состояние «Фактическая реализация» и делает полные движения по регистрам накопления.

Анализ влияния статусов на регистры

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

Когда мы устанавливаем статус Выполнен и ставим флажок Закрыт, система начинает формировать записи в следующих регистрах:

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

Настройка состояний заказов-нарядов

Разберем, от чего еще зависит поведение системы. В конфигурации существует справочник "Состояния заказов-нарядов". Для каждого состояния можно задать свои правила. Проанализируем настройки:

Как исправить ситуацию с отрицательным долгом

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

  1. Проверка заполнения табличных частей: Убедитесь, что на вкладках «Работы» и «Товары» заполнены колонки «Цена» и «Сумма». Если сумма документа равна нулю, то даже при закрытии записи в регистр Расчеты с покупателями не будет, так как нет суммы долга.
  2. Установка финального статуса: Переведите документ в статус Выполнен.
  3. Активация флага закрытия: Установите флажок Закрыт и дату закрытия (она может отличаться от даты создания документа).
  4. Соблюдение последовательности: Если оплата была введена до того, как заказ был закрыт, система могла не «схлопнуть» аванс автоматически. В этом случае нужно зайти в документ оплаты (ПКО или Поступление на счет) и перевыбрать Заказ-наряд в поле «Объект оплаты» или просто перепровести документ.
  5. Проверка организации и контрагента: Часто причиной отсутствия движений или их некорректности является несовпадение реквизитов. Выясним причину: если в Заказе-наряде указана «Организация А», а в оплате — «Организация Б», взаиморасчеты не сойдутся, даже если клиент один и тот же.

Программный контроль движений

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


Если Не ЭтотОбъект.Закрыт Тогда
    // Формируем только движения по плановым регистрам (графики, остатки материалов)
    Отказ = Ложь; 
Иначе
    // Формируем фактические движения по выручке и взаиморасчетам
    Движения.РасчетыСПокупателями.Записывать = Истина;
    Движения.Продажи.Записывать = Истина;
КонецЕсли;

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

Итоги и рекомендации

Подведем итог нашему анализу. Чтобы Заказ-наряд корректно отражался в учете, необходимо:

Соблюдение этих правил позволит вам избежать путаницы с «минусовыми» долгами и обеспечит актуальность данных в отчетах по прибыли и движению денежных средств.

← На главную