Как организовать сбор заказов торговым представителем на планшете с выгрузкой в 1С 7.7 Торговля и Склад?

Программист 1С v7.7 Управленческий учет Торговля и дистрибуция
← На главную

Автоматизация работы выездного торгового представителя при использовании учетной системы на платформе 1С:Предприятие 7.7 («Торговля и Склад 7.7») имеет свою специфику. Платформа 7.7 лишена встроенных веб-сервисов и поддержки протоколов REST/JSON, однако при небольшом ассортименте (например, прайс-лист на 300–500 позиций) и небольшом штате агентов задачу можно решить быстро и надежно. Рассмотрим наиболее эффективные готовые программные комплексы и альтернативные варианты реализации обмена данными.

Вариант 1. Внедрение готовых мобильных систем автоматизации торговли

Если требуется полноценное мобильное рабочее место с фиксацией маршрутов, контролем остатков, историей взаиморасчетов и удобным тач-интерфейсом под Android, целесообразно использовать проверенные коробочные решения с готовой интеграцией под 1С 7.7:

  1. Моби-С — одно из самых быстрых во внедрении решений для 1С 7.7. Предоставляет обработку обмена, которая может работать без глубокой модификации структуры метаданных конфигурации. Для небольших компаний доступна возможность бесплатного подключения одного мобильного устройства. Обмен данными настраивается через выделенный шлюз или статический IP-адрес.
  2. Агент Плюс: Мобильная торговля — классическое промышленное решение для выездной торговли под Android. Система содержит готовые модули сопряжения для типовой конфигурации «Торговля и Склад 7.7». В типовом варианте внедрения добавляются несколько служебных справочников и реквизитов для идентификации устройств и фиксации номеров выгрузок. Обмен заказами выполняется по сети (3G/4G/Wi-Fi) через прямой сокет или промежуточный сервер обмена.
  3. Наполеон — мобильное приложение, отличающееся быстрой установкой и минимальным вмешательством в конфигурацию 1С 7.7. Обмен информацией строится на структурированных файлах, а обработка сопряжения вынесена во внешний файл, что исключает проблемы при обновлении или сопровождении типовой базы данных.
  4. Оптимум (Optimum) — комплексное корпоративное решение с широким функционалом (мониторинг, мерчандайзинг, сценарии визитов), однако требующее более длительного времени на первичное развертывание и настройку серверной части.

Вариант 2. Легковесный файловый обмен через почту или облачный диск

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

  1. На планшете торговый представитель использует электронную таблицу (Excel / Google Таблицы) со списком номенклатуры, ценами и полем для ввода количества.
  2. После формирования заявки файл сохраняется в формате CSV или XLS и отправляется по электронной почте либо синхронизируется через клиент облачного диска.
  3. На стороне сервера с 1С 7.7 внешняя обработка загружает файл и автоматически создает документ ЗаявкаПокупателя.

Посмотрим на пример кода внешней обработки 1С 7.7 для разбора простого текстового файла формата CSV (разделитель — точка с запятой) со строками «КодТовара;Количество;Цена»:


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

Вариант 3. Использование мессенджера (чат-бота) или Web-интерфейса

Современной альтернативой является создание простого Telegram-бота или мини-веб-приложения для планшета. Проанализируем архитектуру этого решения:

  1. На стороне агента в браузере или мессенджере открывается список из 300 товаров с возможностью поиска по наименованию/артикулу и ввода количества.
  2. Скрипт на промежуточном веб-сервере принимает оформленный заказ и сохраняет его в формате JSON или XML в сетевой каталог обмена.
  3. В 1С 7.7 внешняя компонента (например, MSXML2.DOMDocument) или встроенные средства парсинга считывают полученный файл и регистрируют документ в базе данных.

Важные рекомендации по технической реализации обмена в 1С 7.7

  1. Защита каналов связи: При использовании прямого TCP/IP-соединения с сервером базы данных не открывайте незащищенные порты во внешнюю сеть. Для безопасной связки мобильного устройства и офисного сервера настройте программный VPN (например, WireGuard или ZeroTier).
  2. Атомарность записи файлов: При файловом обмене (FTP, локальная сеть, облачные диски) передавайте файлы с временным расширением (например, .tmp), переименовывая их в целевое (например, .csv) только после полной завершенности записи. Это предотвратит ошибку чтения не полностью переданного файла со стороны 1С.
  3. Фоновая загрузка без блокировок: Чтобы постоянный опрос входящих заявок не блокировал интерактивную работу пользователей в файловой базе DBF, настройте регламентную загрузку в отдельном сеансе 1С 7.7 через системный планировщик задач Windows по расписанию.
← На главную