Как настроить отправку индивидуальных наименований номенклатуры под клиента через СБИС в 1С?

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

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

Разберем механизм работы настроек СБИС

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

Важный нюанс: По умолчанию в папке настроек лежат файлы с расширением .sbis3.xml. Это типовые настройки, которые обновляются автоматически. Если мы внесем изменения напрямую в них, при следующем обновлении обработки наши правки затрутся. Поэтому проанализируем правильный алгоритм создания пользовательских настроек, чтобы сохранение XML файла документа для ЭДО происходило корректно и без потери данных.

Шаг 1. Поиск и подготовка файла конфигурации

Выясним, какой файл отвечает за нужный нам тип документа. Обычно названия файлов начинаются с префикса версии конфигурации, например VO82ERP2_... или VO82УТ11_.... Для Реализации товаров и услуг или УПД (особенно если планируется обновление настроек отправки документов ЭДО на новый формат УПД 5.03) это могут быть файлы типа VO82БУХ3-0-139-19_РеализацияТоваровУслуг.sbis3.xml.

  1. Перейдем в каталог настроек (его путь обычно указан в настройках самой обработки СБИС на вкладке «Параметры»).
  2. Найдем типовой файл для нужного документа.
  3. Создадим копию этого файла в этой же папке.
  4. Критически важный момент: Переименуем копию, удалив из названия расширение .sbis3. То есть файл должен называться просто VO82БУХ3-0-139-19_РеализацияТоваровУслуг.xml. Теперь система будет считать этот файл приоритетным (пользовательским) и не перезапишет его при обновлении.

Шаг 2. Изменение логики выбора наименования

Теперь проанализируем содержимое XML-файла. Нам нужно найти блок, отвечающий за заполнение табличной части «Товары». Внутри этого блока ищем тег, который сопоставляет наименование номенклатуры. Обычно он выглядит так:

[Номенклатура].НаименованиеПолное

Рассмотрим ситуацию, когда нам нужно брать наименование из реквизита «Описание» табличной части документа (как просил автор темы). В этом случае мы меняем значение в XML-файле на обращение к табличной части документа:

[ТаблДок].Описание

Если же мы хотим сделать более сложную логику, например, проверять заполнение описания и, если оно пустое, брать стандартное наименование, используем синтаксис условий 1С:


?(ЗначениеЗаполнено([ТаблДок].Описание), [ТаблДок].Описание, [Номенклатура].НаименованиеПолное)

Шаг 3. Объединение полей и использование характеристик

Часто требуется добавить к наименованию артикул или характеристику. Посмотрим, как реализовать конкатенацию строк непосредственно в файле настроек. Для объединения используем стандартный оператор «+».

Например, чтобы выгружать Артикул + Наименование, пропишем следующую конструкцию:


[Номенклатура].Артикул + " " + [Номенклатура].Наименование

Если в вашей конфигурации (например, ERP 2.5 или УТ 11) используются характеристики, и их нужно добавить в скобках к названию, структура будет такой:


[Номенклатура].Наименование + ?(ЗначениеЗаполнено([ТаблДок].Характеристика), " (" + [ТаблДок].Характеристика.Наименование + ")", "")

Шаг 4. Работа со справочником «Номенклатура контрагентов»

Наиболее правильным и «красивым» способом в 1С:ERP является использование типового справочника Номенклатура контрагентов. Чтобы выгружать данные именно оттуда, нам нужно изменить запрос или логику поиска в XML. СБИС позволяет обращаться к связанным объектам. Проанализируем пример получения данных, если в системе ведется учет по номенклатуре партнера:

В блоке описания полей табличной части мы можем прописать обращение к реквизитам, которые определяются через метаданные 1С. Если в вашей версии обработки реализован прямой доступ к методам менеджера, можно вызвать функцию получения наименования партнера.

Шаг 5. Проверка настроек в интерфейсе 1С

После сохранения XML-файла вернемся в обработку СБИС. Выполним следующие действия:

  1. Зайдем в раздел «Настройки» или «Настройки выгрузки».
  2. Нажмем кнопку «Проверить настройки» или переоткроем обработку.
  3. Обратим внимание на список видов документов: рядом с тем документом, который мы правили (например, Реализация товаров услуг), должен появиться значок шестеренки или флаг «Есть изменения». Это подтверждает, что обработка подхватила наш пользовательский XML-файл.

Решение проблемы с визуализацией

Многие пользователи сталкиваются с тем, что в отправленном файле данные изменились (контрагент видит то, что нужно), но в самой 1С в окне предпросмотра СБИС (HTML-вид) отображается старое наименование. Выясним причину.

Причина: Обработка СБИС разделяет процесс формирования данных для XML-инвойса (который уходит в налоговую и контрагенту) и формирование визуальной печатной формы (XSLT-шаблон). Ваши правки в .xml файле влияют только на данные. Чтобы изменить отображение в предпросмотре внутри 1С, необходимо редактировать файл визуализации или создать «Пользовательскую визуализацию» через личный кабинет СБИС Онлайн.

Однако для большинства задач достаточно того, что корректные данные уходят в XML-пакете, так как именно они являются юридически значимыми. Посмотрим на итоговый пример настройки для замены Кода на Артикул в УПД для конфигурации УТ 11/ERP:



<НаименованиеТовара>
    [Номенклатура].Артикул

Используя этот подход, мы сохраняем типовую конфигурацию 1С «чистой», не вносим изменений в код внешней обработки и обеспечиваем гибкую настройку под каждого клиента, просто манипулируя внешними XML-файлами настроек.

← На главную