Как подключить терминал сбора данных (ТСД) к 1С 7.7 Комплексная для инвентаризации основных средств?

Программист 1С v7.7 1С:Комплексная автоматизация Бухгалтерский учет IT и автоматизация бизнеса
← На главную

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

Выбор архитектурной схемы подключения

Выбор способа взаимодействия оборудования и платформы 1С 7.7 зависит от операционной системы терминала (DOS-подобная ОС, Windows Mobile/CE, Android) и условий работы сети Wi-Fi на объекте.

  1. Прямая работа в RDP-сессии с адаптированной формой 1С:

    Если терминал работает под управлением Windows Mobile или Windows Embedded, можно запускать RDP-клиент непосредственно на самом ТСД. Пользователь подключается к серверу и открывает специально разработаную внешнюю обработку (файл .ert), экран которой оптимизирован под маленькое разрешение ТСД. Для ввода данных используется эмуляция клавиатуры или спец-софт, такой как DataWedge, который пересылает отсканированный штрихкод как нажатия клавиш прямо в активное поле 1С. В обработке предусматривается кнопка переноса данных в документ Инвентаризация ОС.

  2. Офлайн-обмен через файлы (накопительный режим):

    На ТСД загружается справочник инвентарных номеров и наименований ОС. В процессе проверки кладовщик или МОЛ сканирует имущество, а результаты сохраняются во внутренний файл терминала (TXT, CSV или XML). По завершении работы файл по Wi-Fi или через подставку (Cradle) передается на сервер в общую папку. В 1С 7.7 запускается внешняя обработка, которая считывает файл и формирует табличную часть документа инвентаризации.

  3. Проброс COM-порта в RDP-сеанс:

    Сканер ТСД настраивается в режиме эмуляции последовательного порта (COM). В свойствах RDP-клиента активируется перенаправление COM-портов. На сервере в сеансе 1С 7.7 подгружается 32-битная внешняя компонента (например, Scaner1C.dll), которая перехватывает событие ОбработкаВнешнегоСобытия при каждом сканировании.

  4. Связка через промежуточный буфер или OLE/COM:

    Внешний сервис или база-буфер (например, на платформе 1С 8.3 или стороннем софте) принимает пакеты от ТСД по HTTP/JSON, после чего подключается к базе 1С 7.7 через COM-соединение (1C77.Application) и программно заполняет нужные документы.

Технические ограничения и особенности платформы 1С 7.7

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

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

2. 32-битная архитектура платформы: Платформа 1С 7.7 является 32-битным приложением (x86). Все драйверы оборудования и внешние компоненты (DLL), подключаемые через ЗагрузитьВнешнююКомпоненту(), должны быть строго 32-битными.

3. Проблема нестабильного Wi-Fi соединения: При прямой работе в RDP обрыв Wi-Fi связи при перемещении между помещениями приводит к заморозке сессии. Для предотвращения потери данных целесообразно использовать либо локальное накопление данных на ТСД с периодической отправкой, либо настроить автоматическое сохранение черновика документа в 1С при каждом сканировании.

4. Поштучный учет основных средств: В отличие от товаров, каждое основное средство имеет уникальный инвентарный номер и учитывается в количестве 1 штука. Алгоритм загрузки данных в документ ИнвентаризацияОС должен проверять дубли и предотвращать повторный ввод одного и того же объекта.

Пример алгоритма загрузки данных из файла ТСД

Рассмотрим пример внешней обработки для 1С 7.7, которая читает текстовый файл с ТСД и заполняет документ инвентаризации основных средств:


Процедура ЗагрузитьДанныеИзТСД(ИмяФайла, ДокИнвентаризация)
    Текст = СоздатьОбъект("Текст");
    Если Текст.Открыть(ИмяФайла) = 0 Тогда
        Предупреждение("Не удалось открыть файл обмена!");
        Возврат;
    КонецЕсли;
    
    СпрОС = СоздатьОбъект("Справочник.ОсновныеСредства");
    
    Для Стр = 1 По Текст.КоличествоСтрок() Цикл
        СтрДанных = Текст.ПолучитьСтроку(Стр);
        // Предполагаем, что в строке записан инвентарный номер ОС
        ИнвНомер = СокрЛП(СтрДанных);
        
        Если СпрОС.НайтиПоРеквизиту("ИнвНомер", ИнвНомер, 1) = 1 Тогда
            ДокИнвентаризация.НоваяСтрока();
            ДокИнвентаризация.ОсновноеСредство = СпрОС.ТекущийЭлемент();
            ДокИнвентаризация.Количество = 1;
        Иначе
            Сообщить("ОС с инвентарным номером " + ИнвНомер + " не найдено!");
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры

Рекомендации по выбору решения

Для стабильной работы инвентаризации ОС рекомендуем следующее:

  1. При использовании современных ТСД на Android применять готовое специализированное ПО для ТСД, умеющее обмениваться файлами или данными через REST/FTP с сервером.
  2. Если используется Windows Mobile и прямая RDP-сессия, настроить утилиту DataWedge для передачи скан-кода как ввода с клавиатуры с завершающим символом Enter или Tab.
  3. В обработке заполнения документа инвентаризации обязательно предусматривать контроль дублирования инвентарных номеров.
← На главную