Рассмотрим нестандартную, но очень распространенную ситуацию, с которой часто сталкиваются поставщики при работе с государственными и бюджетными учреждениями, особенно учитывая, что скоро вступят в силу новые формы счета-фактуры и УПД. У нас есть фасованный штучный товар — например, бутылки с молоком объемом 870 мл. Мы выиграли тендер, по условиям спецификации которого заказчику необходимо отгрузить ровно 87 литров продукции. Фактически мы отгружаем 100 штук, что математически составляет те самые 87 литров. Возникает конфликт: в документах отгрузки в нашей базе стоят штуки, а заказчик жестко требует, чтобы в электронном УПД (эУПД) фигурировали литры. Проанализируем эту ситуацию и выясним, как правильно решить задачу в системах 1С, не нарушив правила учета и обмена документами через ЭДО.
Разберем по шагам логику работы типовых конфигураций 1С. На первый взгляд, решение кажется простым и очевидным, если мы работаем в продвинутой торговой системе.
1С:Управление торговлей (УТ 11) мы можем задействовать функционал упаковок. Мы создаем новую упаковку «Литр» со специальным коэффициентом пересчета к базовой штуке.1С:Бухгалтерия предприятия 3.0 (БП 3.0) через универсальный формат EnterpriseData, мы обнаруживаем, что в накладной в БП количество товара не равно изначальным 100 штукам (полезно провести сравнение оборотов товаров между БП и УТ), либо документ полностью сбрасывается к базовым единицам измерения.Выясним причину такого поведения: программа БП 3.0 исторически не имеет такого же гибкого и многоуровневого механизма упаковок, как УТ 11, поэтому часто требуется сравнение остатков и цен товаров между БП 3.0 и УТ 11. В бухгалтерии элемент справочника номенклатуры жестко привязан к своей базовой единице измерения. Чтобы корректно принять документ отгрузки и провести его по регистрам бухгалтерского учета (и особенно — для правильного отражения кодов маркировки), БП 3.0 вынуждена конвертировать документ обратно в штуки.
Посмотрим на самую опасную, скрытую проблему, о которой необходимо вспомнить до того, как мы попытаемся напрямую «залезть в код формирования эУПД» или программно подменить единицы измерения в печатной форме.
Если мы продаем молочную продукцию или любой другой товар, подлежащий обязательной цифровой маркировке, мы жестко ограничены правилами Национального каталога. Фасованная потребительская продукция (наша бутылка объемом 870 мл) регистрируется производителем с присвоением GTIN, где базовая единица измерения строго зафиксирована в системе как «штуки».
Проанализируем, что произойдет, если мы принудительно вмешаемся в XML-файл электронного УПД:
796) на литры (код 112).DataMatrix привязан к GTIN штучного товара, а в табличной части документа заявлены объемные единицы измерения (литры).Важно четко понимать разницу между фасованным и мерным товаром. Хотя в последних релизах 1С и Честного ЗНАКа появился функционал для работы с мерными (весовыми и объемными) товарами, предполагающий «частичное выбытие» (например, при розливе пива из кегов в общепите), применять этот механизм к обычной закрытой потребительской таре категорически запрещено. Фасованный товар должен списываться в ЭДО только целиком и поштучно.
Рассмотрим подробнее практические методы, которые помогут удовлетворить требования бюджетного заказчика, корректно передать маркировку и не сломать учет в 1С.
Способ 1: Использование дополнительных информационных полей в эУПД
Это самый корректный и безопасный метод с точки зрения операторов ЭДО. Базовая колонка единиц измерения (Код 2/2а) в эУПД строго остается в штуках (100 шт.). Информацию о том, что эта партия составляет 87 литров, мы выносим в дополнительные текстовые поля документа (так называемое ИнфоПоле структуры файла). Бюджетным учреждениям, как правило, достаточно самого факта, что требуемый по тендеру объем официально фигурирует в юридически значимом документе, чтобы успешно закрыть спецификацию контракта.
Способ 2: Изменение наименования номенклатуры в документах
Если заказчик отказывается искать информацию в дополнительных полях, мы можем не трогать физические единицы измерения, а переименовать саму номенклатуру только для вывода в документы реализации. Рассмотрим пример динамического формирования наименования перед печатью или выгрузкой:
// Пример программного формирования уточненного наименования для печатной формы
СтрокаНаименования = ТекСтрока.Номенклатура.Наименование +
" (объем 0.87 л). Итого объем по строке: " +
Строка(ТекСтрока.Количество * 0.87) + " л";
В результате в печатном и электронном документе в колонке наименования будет написано: «Молоко питьевое (объем 0.87 л). Итого объем по строке: 87 л», при этом единица измерения по строке останется — штуки. Это полностью сохраняет целостность тегов для маркировки и снимает вопросы со стороны бухгалтерии заказчика.
Способ 3: Доработка правил обмена (Конвертация данных)
Если бизнес-процесс требует, чтобы в базе 1С:БП 3.0 визуально обязательно отображались литры (для внутренних нужд бухгалтера), мы дорабатываем правила обмена между УТ 11 и БП 3.0.
Применяя данные подходы, мы гарантированно избежим фатальных ошибок при работе с маркированным товаром, сохраним целостность баз данных 1С и обеспечим бесперебойный документооборот с любыми, даже самыми требовательными государственными заказчиками.