Как добавить выгрузку артикула номенклатуры на ТСД в 1С:Управление торговлей

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

При настройке обмена с терминалом сбора данных (ТСД) в типовых конфигурациях 1С (таких как «1С:Управление торговлей 11») пользователи часто сталкиваются с ситуацией, когда в типовом окне настройки состава выгрузки отсутствует реквизит Артикул. В стандартной схеме обмена предусмотрены только базовые поля: штрихкод, наименование, цена и остаток. Выясним причину такого поведения системы и разберем практические способы передачи артикула на мобильное устройство.

Причины отсутствия поля «Артикул» в типовом интерфейсе

Проанализируем архитектуру механизма обмена. В типовых конфигурациях взаимодействие с ТСД реализовано на базе Библиотеки подключаемого оборудования (БПО). Стандартный протокол БПО оперирует фиксированной структурой таблицы товаров, в которой поле «Артикул» исторически не выделено в отдельную колонку.

Поскольку форма настройки жестко привязана к типовым полям драйвера оборудования, добавить произвольный реквизит через пользовательский режим без модификации алгоритмов невозможно. Рассмотрим варианты решения этой задачи.

Способ 1. Объединение артикула и наименования в одну строку

Это наиболее быстрый и наименее трудоемкий способ, который не требует перенастройки базы данных и экранных форм на самом терминале сбора данных. Посмотрим, как это реализовать.

Смысл метода заключается в том, чтобы на этапе формирования выгружаемой таблицы подставить артикул в текстовое поле наименования с использованием удобного разделителя. Обычную запятую использовать не рекомендуется, так как она часто встречается в самом наименовании товара. Оптимально использовать квадратные скобки или специальные символы.

Посмотрим на пример формирования строки с удалением лишних пробелов с помощью функции СокрЛП:


ЗначениеВыгрузкиНаТСД = "[" + СокрЛП(Выборка.Артикул) + "] " + СокрЛП(Выборка.Наименование);

Либо выделим оба значения в отдельные блоки для удобства визуального восприятия кладовщиком:


ЗначениеВыгрузкиНаТСД = "[" + СокрЛП(Выборка.Артикул) + "] [" + СокрЛП(Выборка.Наименование) + "]";

Где в конфигурации вносить изменения

Разберем по шагам, какие объекты 1С отвечают за формирование данных для ТСД:

  1. Найдем в конфигураторе обработку ВыгрузкаБазыТоваровВТСД. В модуле объекта или менеджера этой обработки формируется запрос к справочнику Номенклатура и регистру сведений ШтрихкодыНоменклатуры.
  2. Если обмен выполняется через обработку обслуживания драйвера ТСД, найдем в ней процедуру формирования таблицы товаров перед вызовом функций компоненты драйвера.
  3. Добавим поле Артикул в текст запроса выборки номенклатуры.
  4. В цикле обхода результата запроса скорректируем заполнение поля Наименование, объединив его со значением артикула.

Важная рекомендация: чтобы не снимать конфигурацию с поддержки, выполним доработку через расширение конфигурации с перехватом соответствующего метода (с аннотацией &Вместо или &После), либо отредактируем внешнюю обработку обслуживания подключаемого оборудования.

Технические ограничения и нюансы

При реализации выгрузки обратим внимание на следующие особенности:

  1. Ограничение длины строки на ТСД. В зависимости от установленного на ТСД программного обеспечения и прошивки поле описания товара может иметь ограничение (например, от 30 до 100 символов). Если наименование слишком длинное, артикул лучше ставить в начале строки, иначе он может обрезаться на экране терминала.
  2. Изменение структуры на стороне ТСД. Если передавать артикул отдельным полем таблицы (а не внутри наименования), обязательно потребуется скорректировать конфигурацию базы данных и экранную форму в генераторе приложений на самом ТСД. В противном случае драйвер оборудования выдаст ошибку несоответствия структуры данных.

Способ 2. Использование онлайн-обмена или специализированного ПО

Если специфика склада требует раздельного хранения реквизитов (например, для поиска товаров по артикулу через клавиатуру ТСД), рассмотрим альтернативные пути интеграции:

  1. Специализированный софт для ТСД. Сторонние складские клиенты предоставляют готовые модули интеграции для 1С, где сопоставление любых реквизитов (артикул, серия, характеристика, ячейка) настраивается в пользовательском режиме.
  2. Переход на HTTP-сервисы. При работе ТСД в режиме онлайн данные запрашиваются из 1С напрямую через REST/HTTP-сервисы в формате JSON или XML, что позволяет передавать любые произвольные поля без ограничений офлайн-таблиц БПО.
← На главную