В процессе организации оптовой торговли мы часто сталкиваемся с дилеммой: складскому персоналу и менеджерам удобнее оперировать крупными упаковками (коробками, ящиками, паллетами), в то время как бухгалтерия покупателя или условия договора требуют выставлять первичные документы (например, ТОРГ-12) с указанием цены за одну штуку. Давайте разберем эту ситуацию подробно, проанализируем возможности типовой конфигурации 1С:Управление торговлей (УТ 11) и выясним, как решить данную задачу.
Рассмотрим конкретный пример, который мы обсуждаем. У нас есть номенклатура, которая хранится и продается в заводских коробках. В одной коробке содержится, например, 1000 штук товара.
Требования к процессу:
Реализация товаров и услуг должен иметь возможность выбрать единицу измерения "Коробка" и указать количество коробок (например, 5 коробок). Это ускоряет ввод и снижает вероятность ошибок при пересчете.В 1С:Управление торговлей для решения подобных задач предусмотрен справочник Упаковки. Давайте посмотрим, как это настроено в системе.
Если мы зайдем в карточку номенклатуры, мы можем включить использование упаковок. Это позволяет создать иерархию:
Когда мы выбираем в документе реализации упаковку "Коробка", система автоматически пересчитывает количество в базовые единицы для складского учета, но в табличной части документа мы видим именно коробки и цену за коробку.
Проблема, с которой мы сталкиваемся при попытке распечатать ТОРГ-12 из такого документа, заключается в жесткой логике типовых печатных форм 1С. Давайте разберем, как формируется печатная форма.
Типовой алгоритм заполнения ТОРГ-12 работает следующим образом:
Попытки настроить это через стандартные параметры, такие как "Единица для отчетов" или "Единица хранения", обычно не приводят к желаемому результату в документе реализации. 1С:УТ приоритетно использует то, что явно указал менеджер в документе.
Как верно было замечено в обсуждении, если мы вручную изменим единицу в документе на "шт", то мы получим правильную цену (за штуку), но потеряем автоматический расчет мест (коробок) в колонках 7 и 8 ТОРГ-12, так как система будет считать, что товар отгружается россыпью.
Основываясь на опыте пользователей и архитектуре конфигурации, мы приходим к выводу, озвученному в финале обсуждения: без доработок или специальных настроек макетов получить желаемый вид документа при вводе в коробках невозможно.
Рассмотрим два основных пути решения этой задачи.
Это самый надежный и правильный метод для ситуации, когда "вводим ящиками, печатаем штуками". Нам необходимо создать или заказать внешнюю печатную форму (ВПФ) для документа Реализация товаров и услуг.
В алгоритме этой печатной формы программист пропишет следующую логику:
// Псевдокод логики заполнения
Если ЗначениеЗаполнено(Строка.Упаковка) И Строка.Упаковка.Коэффициент > 1 Тогда
// Выводим данные в базовых единицах (штуках)
ОбластьМакета.Параметры.Цена = Строка.Цена / Строка.Упаковка.Коэффициент;
ОбластьМакета.Параметры.Количество = Строка.Количество * Строка.Упаковка.Коэффициент;
ОбластьМакета.Параметры.ЕдиницаИзмерения = Строка.Номенклатура.ЕдиницаХранения;
// Но сохраняем информацию о местах
ОбластьМакета.Параметры.КоличествоМест = Строка.Количество; // Количество упаковок
ОбластьМакета.Параметры.КоличествоВОдномМесте = Строка.Упаковка.Коэффициент;
Иначе
// Стандартный вывод
КонецЕсли;
Такой подход позволяет менеджерам продолжать работать с коробками (что удобно для склада), а клиентам получать документы в штуках с правильным расчетом мест.
Если возможности привлечь программиста нет, можно попробовать отредактировать пользовательский макет печатной формы. Это менее гибкий способ, но он доступен в режиме "Предприятие".
В открывшемся табличном документе можно попытаться изменить формулы в ячейках цены и количества. Однако, сложность заключается в том, что в макет передаются уже готовые данные. Мы не всегда можем "на лету" получить коэффициент упаковки внутри ячейки макета без изменения программного кода, который этот макет заполняет.
Поэтому, если вы видите, что в колонку "Количество" (в одном месте) данные попадают некорректно (например, не тот коэффициент), или цена не делится, то возвращаемся к Способу 1.
Мы выяснили, что стандартная логика 1С:Управление торговлей связывает единицу измерения документа с единицей измерения печатной формы. Желание видеть в одной строке "ввод в коробках", а "печать цены за штуку" является классическим требованием оптовой торговли, которое не закрывается "галочками" в настройках.
Для реализации этого сценария необходимо использовать механизм Внешних печатных форм. Это позволит сохранить удобство работы сотрудников и удовлетворить требования покупателей к оформлению документов.