Почему в счете на оплату 1С:УТ 11 вместо списка товаров выводится текст «Оплата по реализации» и как это исправить?

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

После обновления конфигураций «1С:Управление торговлей» (начиная с релизов ветки 11.4.9.х), «1С:Комплексная автоматизация» или «1С:ERP», многие пользователи столкнулись с неожиданным изменением в поведении программы. При попытке распечатать привычный Счет на оплату, вместо детализированной табличной части с наименованиями продукции, количеством и ценами, в документе выводится лишь краткая фраза: «Оплата по реализации №...» или «Доплата по заказу...».

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

Разберем логику программы: почему макет меняется автоматически?

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

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

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

Шаг 1: Проверка признака частичной оплаты

Наиболее частая причина изменения вида печатной формы — это установленный флаг или признак частичной оплаты в самом документе. Рассмотрим, как это работает в типовых сценариях.

Если в документе Счет на оплату (или в связанном с ним заказе) система видит, что требуется оплатить не 100% стоимости товаров, она считает такой счет «финансовым требованием». В этом случае алгоритм печати подавляет вывод таблицы товаров. Выясним, как это исправить:

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

Шаг 2: Анализ поля «Назначение платежа»

Проанализируем следующий важный параметр — поле Назначение платежа. В современных версиях УТ 11.4 логика печатной формы настроена таким образом, что ручное заполнение этого поля имеет приоритет над автоматическим выводом списка номенклатуры.

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

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

Шаг 3: Взаимосвязь с «Заказом клиента» и этапами оплаты

Часто проблема кроется глубже — в настройках Заказа клиента, на основании которого создан счет. Рассмотрим ситуацию, когда в заказе используется график оплаты (например, «Аванс 30%» и «Кредит 70%»).

Если мы пытаемся напечатать счет только на один из этапов (допустим, на доплату после отгрузки), 1С справедливо полагает, что мы просим деньги за «долг», а не за «товары». Чтобы вернуть товары в печатную форму в такой ситуации, нам придется либо пересмотреть правила оплаты в заказе, либо воспользоваться механизмом печати счета на всю сумму заказа сразу.

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

Шаг 4: Технический анализ макетов и внешних форм

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

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

Шаг 5: Взгляд на программный код (для понимания логики)

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

Примерная логика условий выглядит следующим образом:


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

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

Подведем итоги и сформируем краткую инструкцию

Чтобы оперативно вернуть таблицу товаров в печатную форму Счета на оплату в 1С:УТ 11.4.9+, воспользуемся следующим алгоритмом:

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

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

← На главную