При внедрении электронного документооборота (ЭДО) в конфигурациях на обычных формах, таких как «1С:Управление производственным предприятием 1.3» (УПП), специалисты часто сталкиваются с необходимостью гибкой настройки форматов передачи данных. При этом важно, чтобы общие принципы работы системы соответствовали стандартам, описанным в рабочих инструкциях по регламентированному учету в УПП 1.3. Стандарт де-факто сейчас — это Универсальный передаточный документ (УПД). Однако бизнес-реалии таковы, что некоторые контрагенты по-прежнему требуют отправки комплекта документов старого образца: «Акт/ТОРГ-12 + Счет-фактура».
В этой статье мы подробно разберем, как изменить поведение модуля Диадок, чтобы для одних клиентов уходили УПД, а для других — классические пакеты документов. Мы рассмотрим как штатные настройки пользовательского интерфейса, так и методы программного вмешательства, если стандартных галочек окажется недостаточно.
Представим ситуацию: у нас установлена конфигурация 1С:УПП 1.3. Внедрен внешний модуль интеграции с Диадоком. При отправке документов реализации (накладных и актов) модуль автоматически формирует УПД. Это поведение задано по умолчанию и подходит для 90% случаев. В некоторых случаях пользователям также требуется выгрузка реализаций и счетов-фактур в формате XML для ручной загрузки в кабинет оператора, если прямое соединение временно недоступно. Для этой задачи есть выгрузка документов УПД в XML по формату ЭДО.
Однако появляется контрагент (например, крупная торговая сеть или государственное учреждение), который отказывается принимать УПД и требует раздельные файлы: Акт выполненных работ (или ТОРГ-12) и Счет-фактуру. Наша задача — настроить модуль так, чтобы именно этому контрагенту уходил требуемый пакет, не ломая настройки для остальных.
Самый правильный и безопасный путь — использование встроенных механизмов индивидуальной настройки партнера. Разберем этот процесс по шагам. Интерфейс модуля Диадок на обычных формах может незначительно отличаться в зависимости от версии, но логика остается неизменной.
Мы должны выполнить следующие действия:
Настройки, Настройки документов или выглядит как пиктограмма шестеренки. В некоторых версиях модуля это может быть пункт контекстного меню (по правой кнопке мыши).Формировать УПД, Формат документа или Вид пакета.После этих манипуляций модуль при обработке документа реализации для данного контрагента увидит исключение. Вместо генерации XML-файла формата УПД, он попытается сформировать два документа: первичный (ТОРГ-12/Акт) и счет-фактуру.
Важное условие: Для успешной отправки пакета в базе 1С должны быть проведены оба документа — и «Реализация товаров и услуг», и введенная на ее основании «Счет-фактура выданный». Если счет-фактура отсутствует или помечена на удаление, модуль не сможет собрать пакет корректно.
Иногда штатных настроек бывает недостаточно. Например, если требование отправлять «Акт + СФ» зависит не только от контрагента, но и от договора, даты документа или вида организации. В этом случае мы прибегаем к программированию через механизм Подключаемых Модулей.
Диадок поддерживает расширение функционала без снятия основной обработки с поддержки. Для этого создается внешняя обработка с определенным набором экспортных функций. Рассмотрим логику функции, отвечающей за определение вида пакета.
Функция ОпределитьВидПакета(Параметры) Экспорт
// Получаем данные из параметров
Контрагент = Параметры.Контрагент;
Организация = Параметры.Организация;
ДокументСсылка = Параметры.Объект1С;
// Стандартное поведение - УПД
ВидПакета = "УПД";
// Проверяем наше исключение
Если Контрагент.Наименование = "Особый Клиент ООО" Тогда
// Принудительно устанавливаем формат пакета
// Значение константы может отличаться, например "DocumentAndInvoice"
ВидПакета = "СчетФактураИПервичныйДокумент";
КонецЕсли;
Возврат ВидПакета;
КонецФункции
Использование ПМ предпочтительнее прямой правки кода модуля, так как позволяет обновлять основную обработку интеграции при выходе новых релизов от оператора ЭДО, не теряя при этом кастомную логику. Через этот же механизм часто реализуется добавление пользовательских реквизитов в XML-файл счета-фактуры, если базового набора полей недостаточно.
При настройке вида пакета в УПП необходимо учитывать несколько критических моментов, которые могут блокировать отправку даже при верных настройках.
Если ваша организация реализует прослеживаемые товары или маркируемую продукцию, законодательство РФ строго регламентирует формат электронного документа. В таких случаях часто требуется выгрузка УПД из УПП в формате 5.03 с поддержкой маркировки. Для этой задачи есть автоматизация обмена УПД с маркировкой для УПП.
В этом случае, даже если мы настроим в модуле отправку «Акт + СФ», модуль может принудительно сформировать УПД или выдать ошибку при валидации документа, так как старые форматы счетов-фактур могут не поддерживать нужные теги для прослеживаемости.
Если ваш контрагент пользуется не Диадоком, а другим оператором ЭДО, обмен происходит через роуминг. Автоматический роуминг часто настраивается по умолчанию на обмен формализованными УПД.
Попытка отправить неформализованный пакет или пару «Акт + СФ» через роуминг может привести к ошибкам форматного контроля. Перед отправкой рекомендуется убедиться, что выполнена сверка сумм документов ЭДО, так как расхождения могут привести к отклонению пакета на стороне получателя.
В конфигурации УПП 1.3 настройки модуля Диадок обычно хранятся не в регистрах сведений, как в современных конфигурациях на управляемых формах, а в специализированных справочниках или в ХранилищеОбщихНастроек.
Если мы сталкиваемся с ситуацией, когда настройки через интерфейс не сохраняются, нам следует:
Для переключения формата отправки с УПД на «Акт + Счет-фактура» в УПП для конкретного клиента:
Настройки в списке контрагентов внутри модуля.Если штатный метод не работает или требует сложной логики выбора, мы используем механизм Подключаемых Модулей (ПМ) и переопределяем вид пакета программно.