Почему в 1С:ERP не получается создать счет на оплату на основании заказа давальца?

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

При работе в 1С:ERP Управление предприятием (или Комплексная автоматизация 2) пользователи часто сталкиваются с ситуацией, когда при попытке создать документ Счет на оплату на основании Заказа давальца система выдает ошибку: "Не требуется вводить счет на оплату на основании документа Заказ давальца. Расчеты ведутся по расчетным документам". Эта ситуация вызывает недоумение, так как бизнес-процесс требует выставления счета клиенту для получения предоплаты и начала работ.

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

Причина 1: Детализация расчетов в договоре

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

  1. По расчетным документам: В этом режиме система считает, что задолженность возникает только в момент проведения первичных документов (например, документа Отчет давальцу). При такой настройке Заказ давальца не является финансово значимым объектом для взаиморасчетов. Поскольку Счет на оплату в системе 1С не является первичным документом и не делает движений по регистрам, программа блокирует его создание, так как ей не к чему "привязать" этот расчетный узел.
  2. По заказам: Если в договоре установлена детализация "По заказам", то именно Заказ давальца становится объектом расчетов. В этом случае система позволяет (в зависимости от конкретного релиза и настроек) выставлять счета, так как видит прямую связь между планом (заказом) и фактом (оплатой).
  3. По договорам: Аналогично заказам, объектом расчетов выступает договор в целом.

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

Причина 2: Концепция «Заказ как счет»

Разберем современный подход методистов 1С. В последних версиях ERP продвигается идея, что создание отдельного документа Счет на оплату является избыточным действием, которое "плодит" лишние сущности в информационной базе.

Рассмотрим, как 1С предлагает работать без создания счета:

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

Методика работы с платежным календарем

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

Посмотрим на последовательность действий для корректного планирования:

  1. Заходим в Заказ давальца.
  2. Заполняем этапы оплаты (например, 100% предоплата).
  3. Проводим документ в статусе "К выполнению".
  4. После этого сумма автоматически попадает в план приходов денежных средств.

Таким образом, документ Счет на оплату технически не нужен для финансового планирования, если правильно заполнен график в заказе.

Опасности изменения программного кода

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


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

Почему этого не стоит делать:

Практические рекомендации по настройке

Подведем итог и выстроим правильный алгоритм действий для настройки процесса:

  1. Проверьте настройки договора. Если бизнес-процесс предполагает авансовые платежи под конкретные заказы, установите детализацию расчетов "По заказам".
  2. Используйте графики оплаты. Обязательно заполняйте вкладку "Правила оплаты" в заказе давальца. Это позволит системе понять, когда и в каком объеме ждать деньги.
  3. Добавьте печатную форму. Если типовой счет на оплату из заказа недоступен, добавьте внешнюю печатную форму "Счет на оплату (из Заказа давальца)". Это решит проблему предоставления документа клиенту без изменения логики учета.
  4. Поступление ДС. При получении оплаты на основании платежного поручения или выписки в поле Объект расчетов выбирайте непосредственно Заказ давальца.

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

← На главную