Разработка собственной системы управления адресным складом (WMS) — это серьезный вызов для программиста 1С, особенно когда речь заходит об автоматизации терминалов сбора данных (ТСД). В этой статье мы подробно разберем, какой путь разработки выбрать, как обойти ограничения мобильной платформы и как подружить систему с профессиональным оборудованием для сканирования.
Перед началом разработки необходимо определиться с технологическим стеком. Проанализируем основные варианты, доступные на платформе 1С:
Разберем ситуацию, когда Wi-Fi покрытие на складе нестабильно или сервер находится в облаке. В этом случае наиболее оправданным выбором становится Мобильное приложение. Рассмотрим, как организовать работу в таком режиме.
Для мобильного приложения критически важно организовать быстрый обмен. Посмотрим на примерную схему взаимодействия: ТСД запрашивает очередь заданий у центральной базы через HTTP-сервис, получает JSON, десериализует его и сохраняет в локальные таблицы.
Проанализируем пример структуры обмена. При получении задачи мы передаем не только номенклатуру, но и все необходимые разрезы (серии, сроки годности, ячейки). Использование сжатия при передаче JSON позволяет значительно ускорить работу на слабых каналах связи.
Пример кода для обработки задания на ТСД (упрощенно):
// Пример получения данных через HTTP-сервис
Соединение = Новый HTTPСоединение(АдресСервера, Порт, Пользователь, Пароль);
Запрос = Новый HTTPЗапрос("/v1/tasks/get_queue?worker_id=" + Идентификатор);
Ответ = Соединение.Получить(Запрос);
Если Ответ.КодСостояния = 200 Тогда
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
ДанныеЗадач = ПрочитатьJSON(ЧтениеJSON);
// Запись в локальную базу мобильного приложения
Для Каждого Задача Из ДанныеЗадач.Tasks Цикл
НоваяЗадача = Справочники.ЗадачиТСД.СоздатьЭлемент();
НоваяЗадача.Наименование = Задача.ID;
НоваяЗадача.ЯчейкаИсточник = Задача.SrcCell;
НоваяЗадача.Записать();
КонецЦикла;
КонецЕсли;
Одной из главных проблем при использовании Мобильной платформы 1С является работа со встроенным сканером ТСД. Часто стандартная библиотека МБПО (1С:Библиотека подключаемого оборудования для мобильных устройств) не видит профессиональный сканер или работает с ним некорректно (например, через эмуляцию клавиатуры, что медленно и неудобно).
Выясним причины и способы решения:
МБПО. В этом случае приходится писать собственную внешнюю компоненту (ВК) на Java.Если вы столкнулись с ситуацией, когда стандартное событие ВнешнееСобытие не ловит штрихкод, проверьте настройки DataWedge (для Zebra). Необходимо создать профиль для вашего приложения и указать Intent Output в режиме Broadcast Intent.
Многие специалисты считают, что WMS обязана быть в онлайне. Однако на практике офлайн-режим — это не «бумажная работа», а способ обеспечить непрерывность процесса. Разберем преимущества:
МП происходит мгновенно.Рассмотрим несколько нюансов, которые помогут сделать работу ТСД комфортной:
"DONE" для завершения документа или "NEXT" для перехода к следующей строке.Подводя итог, разработка собственной системы для ТСД на базе 1С оправдана, когда стандартные решения становятся слишком дорогими или неповоротливыми. Использование Мобильной платформы в связке с HTTP-сервисами и внешними компонентами для сканирования позволяет создать гибкий и надежный инструмент для склада любого размера.