Как настроить раздельную загрузку документов из ТСД в 1С:Розница?

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

При использовании терминалов сбора данных (ТСД) под управлением ПО MobileLogistics («Мобильный склад») в связке с конфигурацией «1С:Розница 2.2» часто возникает проблема: терминал выгружает все отсканированные позиции единым массивом без разделения на отдельные документы и хозяйственные операции. В результате кладовщику или оператору приходится вручную разбирать единую таблицу данных.

Проанализируем причины такого поведения типовых механизмов и подробно разберем варианты решения данной задачи.

Почему данные из ТСД выгружаются «в общую кучу»?

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

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

Способ 1. Создание многодокументной конфигурации в MobileLogistics и доработка обмена в 1С

Разберем по шагам классический офлайн-подход, при котором терминал хранит данные в разрезе созданных на нем документов, а 1С считывает их выборочно или пакетом.

  1. Настройка структуры таблиц в Конфигураторе MobileLogistics. Создадим две связанные таблицы в задаче ТСД: таблицу заголовков (номер документа, дата, тип операции, статус) и таблицу строк (идентификатор документа, штрихкод, количество).
  2. Реализация пользовательского интерфейса на ТСД. Настроим меню терминала так, чтобы перед сканированием сотрудник либо выбирал существующий документ, либо создавал новый. При начале сканирования формируется запись в шапке, а строкам присваивается соответствующий ИДДокумента.
  3. Доработка обработки загрузки в 1С. В информационной базе переопределим логику взаимодействия с драйвером ТСД. Вместо типовой функции БПО реализуем прямое обращение к объекту драйвера, считываем список документов из терминала и отображаем их пользователю в отдельной форме для выбора.

Посмотрим на пример алгоритма загрузки строк конкретного выбранного документа из ТСД в табличную часть Товары документа информационной базы:


// Пример фрагмента загрузки выбранного пакета данных из драйвера ТСД
ТаблицаЗагрузки = Новый ТаблицаЗначений;
ТаблицаЗагрузки.Колонки.Добавить("ИдентификаторДокумента", Новый ОписаниеТипов("Строка"));
ТаблицаЗагрузки.Колонки.Добавить("Штрихкод", Новый ОписаниеТипов("Строка"));
ТаблицаЗагрузки.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));

// Чтение данных из памяти ТСД через объект драйвера
Пока ДрайверТСД.ПолучитьСледующуюСтроку() Цикл
    Если ДрайверТСД.ИДДокумента = ВыбранныйИДДокументаТСД Тогда
        НоваяСтрока = ТаблицаЗагрузки.Добавить();
        НоваяСтрока.ИдентификаторДокумента = ДрайверТСД.ИДДокумента;
        НоваяСтрока.Штрихкод = ДрайверТСД.Штрихкод;
        НоваяСтрока.Количество = ДрайверТСД.Количество;
    КонецЕсли;
КонецЦикла;

// Заполнение табличной части документа 1С
Для Каждого Стр Из ТаблицаЗагрузки Цикл
    НайденнаяНоменклатура = ОбработкаТабличнойЧастиСервер.НайтиПоШтрихкоду(Стр.Штрихкод);
    Если ЗначениеЗаполнено(НайденнаяНоменклатура) Тогда
        СтрокаТЧ = Объект.Товары.Добавить();
        СтрокаТЧ.Номенклатура = НайденнаяНоменклатура;
        СтрокаТЧ.Количество = Стр.Количество;
    КонецЕсли;
КонецЦикла;

Способ 2. Прямая работа в базе 1С через RDP (для ТСД на Windows)

Рассмотрим альтернативный вариант, если терминал работает под управлением операционной системы Windows CE или Windows Mobile и оснащен Wi-Fi модулем.

Вместо сложной настройки двустороннего офлайн-обмена и доработки конфигурации MobileLogistics можно запустить сеанс 1С прямо на терминале сбора данных:

  1. Настройка RDP-подключения. На ТСД запускается клиент удаленного рабочего стола, подключающийся к серверу терминалов.
  2. Специальный компактный интерфейс. В конфигурации «1С:Розница» создается компактная форма для кладовщика, адаптированная под низкое разрешение экрана терминала с крупными элементами управления.
  3. Режим сканера. Встроенный лазерный сканер ТСД настраивается в режим эмуляции клавиатуры или пробрасывается в терминальную сессию через виртуальный COM-порт.

При таком подходе сотрудник открывает нужный документ непосредственно в базе данных 1С и сканирует товар в режиме реального времени. Это полностью исключает необходимость выгрузки, загрузки и синхронизации таблиц.

Способ 3. Переход на специализированное программное обеспечение

Если требуется развитый складской функционал с адресным хранением, проверкой расхождений и поддержкой многодокументного режима «из коробки», целесообразно рассмотреть специализированные платформы (такие как Mobile SMARTS или DataMobile).

Они предоставляют готовые интеграционные модули для типовых конфигураций 1С, поддерживают разделение по типам операций (поступление, пересчет товаров, перемещение) и позволяют работать как в онлайн-режиме по Wi-Fi, так и офлайн через подставку-кредл.

← На главную