При оформлении документов реализации нередко возникает ситуация, когда в документе-основании (например, в накладной Реализация товаров и услуг) одна и та же номенклатура указана в нескольких строках с одинаковой ценой и ставкой НДС. Однако при формировании печатной формы документа Счет-фактура выданный программа автоматически объединяет эти строки в одну общую позицию с суммированием количества и сумм. Разберем, почему это происходит и какими способами можно вывести строки раздельно.
Счет-фактура является строго регламентированным налоговым документом, служащим основанием для принятия покупателем к вычету предъявленных сумм НДС (согласно правилам Постановления Правительства РФ № 1137). В отличие от товарной накладной (ТОРГ-12) или универсального передаточного документа со статусом 1, счет-фактура не предназначен для складского учета и поэтапной приемки товаров.
Проанализируем алгоритм формирования печатной формы в конфигурации. При подготовке данных табличная часть документа обрабатывается программно: к строкам применяется запрос с конструкцией СГРУППИРОВАТЬ ПО либо вызов метода таблицы значений Свернуть().
Группировка в типовом коде происходит по совокупности ключевых параметров:
Если все перечисленные реквизиты у нескольких строк совпадают, типовой механизм платформы объединяет их в одну строку. Стандартными пользовательскими настройками в интерфейсе программы отключить эту группировку невозможно.
Наиболее корректным и безопасным решением, не требующим изменения конфигурации и снятия ее с поддержки, является создание внешней печатной формы (ВПФ).
Разберем по шагам порядок действий программиста:
Свернуть() либо добавим в перечень группировочных колонок уникальный признак (например, исходный НомерСтроки документа).Посмотрим на пример изменения логики обработки таблицы значений в коде:
// Типовой вариант группировки объединяет строки:
ТаблицаПечати.Свернуть("Номенклатура, ЕдиницаИзмерения, Цена, СтавкаНДС, НомерГТД, СтранаПроисхождения", "Количество, Сумма, СуммаНДС, Всего");
// Модифицированный вариант: сохраняем уникальность исходных строк
ТаблицаПечати.Свернуть("НомерСтроки, Номенклатура, ЕдиницаИзмерения, Цена, СтавкаНДС, НомерГТД, СтранаПроисхождения", "Количество, Сумма, СуммаНДС, Всего");
Благодаря наличию поля НомерСтроки в списке колонок группировки алгоритм выведет каждую строчку из исходной накладной отдельно, сохранив при этом стандартный вид печатного бланка.
Если требуется разово сформировать печатную форму без привлечения разработчика, выясним, какие параметры можно изменить в исходном документе, чтобы алгоритм не посчитал строки идентичными:
При использовании модифицированных печатных форм важно учитывать следующие аспекты: