При работе в конфигурации 1С:Управление торговлей (редакция 11.5) или 1С:ERP пользователи часто сталкиваются с ситуацией, когда в экранной форме документа «Реализация товаров и услуг» товар указан одной строкой, а при выводе на печать формы «Реализация товаров» эта позиция странным образом раздваивается. При этом цена и общее количество могут совпадать, но система упорно дробит строку на части (например, 20 и 10 штук вместо 30).
Рассмотрим детально, почему так происходит, проанализируем внутренние механизмы программы и разберем по шагам, как привести печатную форму в порядок. Эта проблема чаще всего связана не с ошибкой программы, а с особенностями того, как настроен механизм «Виды запасов» в 1С:УТ 11.5 и 1С:ERP и партионный учет.
В современных конфигурациях на платформе 1С:Предприятие 8.3 разделение строк в печатных формах обычно обусловлено тем, что программа списывает товар из разных «корзин» остатков. Даже если для пользователя это один и тот же товар на одном складе, для системы он может различаться по источникам поступления. Чтобы быстро найти расхождения между физическим наличием и учетными данными организаций, рекомендуется использовать сравнение товаров на складах и товаров организаций — отчет для поиска ошибок в учете.
Проанализируем ситуацию на примере. Допустим, товар пришел двумя партиями по 20 и 30 единиц. На ситуацию напрямую влияет партионный учет и метод FIFO, при котором система должна «откусить» 20 единиц от первой партии и 10 единиц от второй. Если печатная форма настроена на детализацию по источникам, она отобразит две строки.
Однако в 1С:УТ 11 есть важное различие между печатными формами:
Виды запасов. Именно здесь кроется корень проблемы.Для того чтобы понять, как система видит ваш товар «изнутри», необходимо выполнить расшифровку видов запасов в документах продажи в форме «Реализация товаров и услуг»:
Разберем пример из практики. Если в окне Виды запасов вы видите две строки по одной номенклатуре, обратите внимание на колонку Группа или Аналитика учета номенклатуры. Если в одной строке указано Собственный товар; Группа: Товары на складах, а во второй просто Собственный товар, то для программы это разные категории запасов. Это может произойти, если часть товара была введена документом «Ввод начальных остатков», а часть — обычным «Приобретением товаров».
Проанализируем еще одну ситуацию: в настройках системы разрешены отрицательные остатки в 1С:Управление торговлей 11, что позволяет списывать товар при его отсутствии. Если вы продаете 15 единиц, а на остатке числится только 10, система сформирует две записи в видах запасов:
В результате в печатной форме «Реализация товаров» вы снова получите две строки. Чтобы оценить, как это влияет на финансовый результат до регламентных операций, можно запустить анализ списания запасов с себестоимостью и ценой продажи без закрытия месяца.
Если вы обнаружили, что строки разбиваются из-за разницы в видах запасов, рассмотрим несколько способов решения:
Способ А: Перезаполнение видов запасов вручную.
В окне «Виды запасов» можно нажать кнопку Указать виды запасов вручную. Это позволит вам попробовать объединить строки или перевыбрать нужный вид запаса.
Способ Б: Корректировка остатков и аналитики.
Если «дробление» происходит из-за некорректных ключей аналитики, пригодится специальный инструмент для исправления ключей аналитики учета номенклатуры и видов запасов. Это позволит привести данные к единому виду без ручного перепроведения каждого документа. Также для массового решения проблем существует автоматическое исправление видов запасов в документах 1С по данным регистров остатков.
Способ В: Настройка свертки строк при печати.
В некоторых случаях можно изменить поведение самой печатной формы. Если у вас есть права администратора, проверьте, нет ли галочки Сворачивать строки в параметрах вывода на печать. Если такой опции нет, это означает, что логика заложена в коде формирования макета.
С точки зрения разработки, печатная форма обращается к менеджеру документа. Проанализируем пример кода, который обычно отвечает за сбор данных для печати. Если в запросе к данным документа не используется группировка по номенклатуре, то каждая запись из таблицы ВидыЗапасов попадет в печать отдельной строкой.
Типовой запрос в модуле менеджера может выглядеть примерно так (упрощенно):
ВЫБРАТЬ
ВидыЗапасов.Номенклатура КАК Номенклатура,
ВидыЗапасов.Количество КАК Количество,
ВидыЗапасов.Цена КАК Цена,
ВидыЗапасов.Сумма КАК Сумма
ИЗ
Документ.РеализацияТоваровУслуг.ВидыЗапасов КАК ВидыЗапасов
ГДЕ
ВидыЗапасов.Ссылка = &Ссылка
Чтобы избежать дублирования, данные должны группироваться. Если вы решите привлечь программиста для правки печатной формы, ему необходимо будет добавить метод Свернуть для таблицы значений перед выводом в область макета:
ТаблицаДляПечати.Свернуть("Номенклатура, Цена", "Количество, Сумма");
Этот метод объединит строки с одинаковой номенклатурой и ценой, просуммировав их количество, что и требуется для «красивой» печатной формы.
Мы выяснили, что разбиение товара на две строки в 1С:УТ 11 — это следствие работы механизма Виды запасов. Программа стремится к максимальной детализации учета. Чтобы исправить это, в первую очередь проверьте документ через Еще -> Открыть виды запасов. Чаще всего проблема решается наведением порядка в остатках товаров или разовым ручным исправлением видов запасов в конкретной реализации. Если же проблема носит массовый характер и мешает бизнесу, стоит рассмотреть возможность модификации печатной формы через механизм расширений, добавив свертку строк по номенклатуре.