Как настроить тип договора «Собственные нужды покупателя» при отправке УПД через СБИС из 1С?

Программист 1С v8.3 (Управляемые формы) Управленческий учет Торговля и дистрибуция
← На главную

При работе с маркированными товарами через систему электронного документооборота (ЭДО) СБИС часто возникает необходимость автоматизировать заполнение признака вывода из оборота. По умолчанию внешняя обработка СБИС устанавливает тип договора как «Продажа без вывода из оборота». Это вынуждает бухгалтера вручную заходить в каждый документ в личном кабинете СБИС и менять тип договора на «Собственные нужды покупателя» перед подписанием, что существенно замедляет работу при больших объемах отгрузок.

В этой статье мы подробно разберем, как с помощью программных инструментов и настройки внешних параметров автоматизировать этот процесс, чтобы 1С передавала нужный признак в СБИС самостоятельно. Мы проанализируем необходимые параметры, выясним, где именно в коде нужно внести изменения, и рассмотрим альтернативные способы решения задачи. Для этой задачи есть рабочее место ЭДО с поддержкой ГИС МТ.

Понимание механизма вывода из оборота

Прежде чем переходить к коду, давайте разберем юридическую и техническую суть операции. Когда в УПД указывается тип «Собственные нужды покупателя», это означает, что обязанность по выводу товара из оборота в системе «Честный ЗНАК» ложится на продавца — здесь поможет интеграция 1С с ЦРПТ и СБИС ЭДО. Как только покупатель подписывает такой документ, коды маркировки списываются с баланса продавца с соответствующей причиной. Покупателю при этом не нужно совершать дополнительных действий по выводу товара из оборота — он получает его уже «погашенным».

Для реализации этой логики через СБИС используются два ключевых скрытых параметра:

  1. СвВыбытияМАРК — логический признак того, что происходит выбытие маркированного товара.
  2. ВидОборотаМАРК — числовой или строковый код, определяющий конкретную причину выбытия.

Технические параметры и их значения

Рассмотрим подробнее значения параметра ВидОборотаМАРК, которые понимает внешняя обработка СБИС при формировании XML-файла УПД:

Параметр СвВыбытияМАРК должен иметь значение Истина (или 1), чтобы система активировала блок данных о выбытии в структуре документа.

Программная реализация во внешней обработке СБИС

Если вы используете типовую внешнюю обработку СБИС (например, Sbis.epf), то для внедрения автоматизации нам потребуется внести изменения в модуль формирования дополнительных реквизитов. Рассмотрим, как это сделать по шагам.

Шаг 1. Поиск места выгрузки. В коде обработки необходимо найти функцию, которая отвечает за заполнение сведений о маркировке. Обычно она называется ЗаполнитьСведенияОМаркировке или находится внутри процедуры ПередВыгрузкой.

Шаг 2. Добавление условий. Нам нужно добавить логику, которая будет проверять вид договора в 1С и присваивать нужные значения дополнительным полям. Проанализируем пример кода:


// Пример добавления параметров в структуру дополнительных полей
// Допустим, у нас есть переменная ТекущийДокумент (объект 1С)

Если ТекущийДокумент.ДоговорКонтрагента.ЦельПриобретения = Перечисления.ЦелиПриобретения.ДляСобственныхНужд Тогда
    // Заполняем параметры для СБИС
    ДопПоля.Вставить("СвВыбытияМАРК", Истина);
    ДопПоля.Вставить("ВидОборотаМАРК", "1");
КонецЕсли;

Шаг 3. Передача в Информационное поле ФХЖ. На уровне XML-структуры эти параметры попадают в тег ИнфПолФХЖ1. Идентификатор показателя должен быть ВидОборота, а значение — 1. Если вы пишете собственную выгрузку или сильно перерабатываете типовую, убедитесь, что эти данные попадают именно в этот раздел XML — для этого пригодится выгрузка УПД в XML-файл по формату 5.03.

Настройка через скрипты конфигурации (без изменения основного кода)

В современных версиях интеграционных решений СБИС реализована возможность использования так называемых «Скриптов настройки». Это позволяет сохранить внешнюю обработку на поддержке и не вносить изменения в основной файл .epf.

Выясним, как это работает: В настройках метода выгрузки в интерфейсе 1С (внутри обработки СБИС) можно открыть редактор скриптов для формирования дополнительных полей. Там можно прописать аналогичную логику заполнения. Это более предпочтительный метод, так как при обновлении версии обработки ваши настройки не затрутся.

Альтернативный вариант: Настройка правил в Личном кабинете СБИС

Если у вас нет программиста 1С, существует способ настроить автоматическую замену на стороне портала online.sbis.ru. Рассмотрим этот алгоритм:

  1. Перейдите в раздел «Настройки» -> «ЭДО» или «Документы».
  2. Найдите пункт «Правила заполнения документов».
  3. Создайте новое правило для исходящих УПД.
  4. В условии укажите признак, по которому СБИС поймет, что это «Собственные нужды» (например, наличие определенного слова в комментарии к документу или конкретный ИНН покупателя).
  5. В действии выберите: «Изменить значение поля» -> «Тип договора/Вид оборота» -> «Для собственных нужд».

Этот метод позволяет избежать программирования в 1С, но требует, чтобы в документе из 1С передавался какой-то «маркер» (например, текст в комментарии), за который зацепится правило СБИС.

Заключение

Мы проанализировали проблему автоматической установки типа договора при работе с маркировкой и нашли эффективное решение. Использование параметров СвВыбытияМАРК и ВидОборотаМАРК позволяет полностью исключить ручной труд бухгалтера. Помните, что корректная настройка этих полей критически важна для правильной отчетности в системе «Честный ЗНАК», так как ошибки в виде оборота могут привести к неверному отображению остатков в личном кабинете национальной системы маркировки.

← На главную