Интеграция современного торгового оборудования с устаревшими платформами — задача, с которой до сих пор сталкиваются многие компании. Рассмотрим подробнее, как организовать проведение инвентаризации на складе или в магазине с помощью терминала сбора данных (ТСД) и учетной системы на базе 1С 7.7. Мы проанализируем ситуацию, выясним причину ограничений старой платформы и разберем по шагам варианты реализации с минимальными затратами и без абонентских плат за программное обеспечение.
Разберем специфику работы со старой платформой. Основная сложность заключается в том, что 1С 7.7 «из коробки» не поддерживает современные веб-протоколы. В ней нет возможности поднять HTTP-сервисы или использовать готовые REST API для онлайн-обмена с мобильными устройствами в реальном времени. Поэтому для минимизации проблем при настройке самым надежным и простым способом интеграции остается офлайн-обмен через файлы.
Архитектура такого решения выглядит следующим образом:
Проанализируем доступные варианты аппаратного обеспечения. Ранее для интеграции с 1С 7.7 часто использовались DOS-терминалы (например, популярная линейка CipherLab 8300). Сегодня покупка таких устройств за 50 тысяч рублей и более неоправданна. Рассмотрим более актуальные и бюджетные альтернативы. Для организации работы с имеющимися терминалами этой марки можно использовать обработку выгрузки и загрузки данных для ТСД CipherLab в 1С 7.7.
Для работы ТСД требуется специальное мобильное приложение. Так как одним из условий часто является отсутствие ежемесячной абонентской платы (покупка lifetime-лицензии), посмотрим на доступные варианты софта.
1. DataMobile
Одно из самых востребованных решений на рынке, предлагающее версии с бессрочной лицензией. Интерфейс программы интуитивно понятен. Для проведения базовой инвентаризации вполне достаточно версии «Стандарт». Обмен с 1С 7.7 настраивается через выгрузку и загрузку текстовых файлов.
2. Продукты Клеверенс (Mobile SMARTS)
Решения «Магазин 15» или «Склад 15» также поставляются с возможностью приобретения постоянной лицензии. Плюс платформы Mobile SMARTS в том, что в комплекте часто идут готовые примеры обработок и OLE-компоненты даже для устаревших конфигураций 1С 7.7. Обмен может происходить как через утилиту связи посредством файлов Excel, TXT, CSV, так и через эмуляцию COM-соединения.
3. AllegroSoft (AllegroClient)
Гибкое ПО для ТСД, которое позволяет легко настроить структуру офлайн-обмена под специфические нужды 1С 7.7. Отлично работает с простыми файловыми форматами. В качестве практического примера подойдёт готовое решение для проведения инвентаризации с помощью ТСД.
4. Самописное приложение на мобильной платформе 1С
Если в штате есть программист, можно самостоятельно разработать примитивное мобильное приложение. Это займет буквально день: рисуется базовый интерфейс со списком товаров, подключается мобильный сканер (камера или аппаратный сканер ТСД через broadcast-интенты), и настраивается чтение/запись текстового файла. Это полностью избавляет от затрат на покупку лицензий стороннего софта.
5. Simple UI
Бесплатная среда разработки интерфейсов для Android. Не требует покупки лицензий. Позволяет создать интерфейс сканирования, но требует написания логики обработки. Хорошая альтернатива мобильной платформе 1С при наличии базовых навыков скриптования.
Разберем логику создания обработки в 1С 7.7. Для работы с файлами нам потребуются базовые объекты системы. Для выгрузки данных на ТСД необходимо собрать остатки по складу и записать их в текстовый файл с разделителями (например, точкой с запятой). Для этого используется объект Текст.
Пример концептуальной логики выгрузки номенклатуры в 1С 7.7:
Процедура ВыгрузитьДанныеДляТСД()
ТекстВыгрузки = СоздатьОбъект("Текст");
СпрНом = СоздатьОбъект("Справочник.Номенклатура");
СпрНом.ВыбратьЭлементы();
Пока СпрНом.ПолучитьЭлемент() = 1 Цикл
Если СпрНом.ЭтоГруппа() = 1 Тогда
Продолжить;
КонецЕсли;
// Формируем строку: Штрихкод;Наименование;КоличествоПоУчету
Штрихкод = СпрНом.Штрихкод;
Наименование = СпрНом.Наименование;
Количество = ПолучитьУчетныйОстаток(СпрНом.ТекущийЭлемент());
СтрокаДанных = СокрЛП(Штрихкод) + ";" + СокрЛП(Наименование) + ";" + Количество;
ТекстВыгрузки.ДобавитьСтроку(СтрокаДанных);
КонецЦикла;
ТекстВыгрузки.Записать("C:\Exchange\To_TSD.txt");
Сообщить("Файл для ТСД успешно выгружен.");
КонецПроцедуры
После того как инвентаризация проведена, кладовщик инициирует выгрузку данных с терминала. Появляется файл (например, From_TSD.txt), содержащий отсканированные штрихкоды и фактическое количество. Обработка загрузки в 1С 7.7 построчно читает этот файл, ищет номенклатуру по штрихкоду и записывает данные в табличную часть документа.
Процедура ЗагрузитьДанныеИзТСД(ДокументИнвентаризации)
ТекстЗагрузки = СоздатьОбъект("Текст");
ТекстЗагрузки.Открыть("C:\Exchange\From_TSD.txt");
Для Индекс = 1 По ТекстЗагрузки.КоличествоСтрок() Цикл
ТекСтрока = ТекстЗагрузки.ПолучитьСтроку(Индекс);
// Разбор строки по разделителю ";" для получения Штрихкода и Количества
Штрихкод = ПолучитьЗначениеИзСтроки(ТекСтрока, 1);
ФактКоличество = Число(ПолучитьЗначениеИзСтроки(ТекСтрока, 2));
Номенклатура = НайтиПоШтрихкоду(Штрихкод);
Если Номенклатура.Выбран() = 1 Тогда
ДокументИнвентаризации.НоваяСтрока();
ДокументИнвентаризации.Номенклатура = Номенклатура;
ДокументИнвентаризации.КоличествоФакт = ФактКоличество;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Как мы вместе с вами выяснили, подключить современный ТСД к 1С 7.7 вполне реально. Оптимальным решением для проведения инвентаризации с минимальными настройками будет:
Этот подход гарантирует стабильную работу, отсутствие постоянных абонентских платежей и позволяет использовать современные, ударопрочные и быстрые устройства сканирования даже в связке с устаревшей учетной системой.