Современные требования законодательства, такие как обязательная маркировка товаров (шины, парфюмерия, легкая промышленность и др.) и обязательный электронный документооборот (ЭДО), ставят перед пользователями платформы 1С 7.7 серьезные вызовы. Платформа, выпущенная более 20 лет назад, штатно не поддерживает современные протоколы безопасности и форматы обмена данными. Однако, как показывает практика, интеграция возможна. Рассмотрим подробно, как внедрить маркировку и ЭДО в конфигурацию «Торговля и склад 9.2».
Прежде всего, разберем, какие основные препятствия стоят перед разработчиком в 1С 7.7:
V7Plus.dll обеспечить не может.Проанализируем два основных пути решения: прямая доработка 7.7 с использованием внешних модулей и создание «транзитной» базы на платформе 8.3.
Многие операторы ЭДО (например, Диадок или Такском) разработали специальные внешние компоненты и обработки для интеграции с «семеркой». Это самый быстрый путь. Рассмотрим по шагам процесс подключения на примере модуля Диадок:
Во-первых, необходимо убедиться, что у пользователя есть права на Использование в качестве OLE Automation сервера. Модуль работает как внешняя обработка (.ert), которая через COM-объекты связывается с сервером оператора.
Во-вторых, разберем логику передачи кодов маркировки. В «Торговле и складе» потребуется добавить подчиненный справочник к справочнику Номенклатура или Партии (в зависимости от учетной политики), где будут храниться считанные коды DataMatrix. При формировании электронного УПД внешняя обработка должна обращаться к этим данным и упаковывать их в XML-структуру документа.
Для работы с HTTP-запросами в обход ограничений платформы часто используется следующий метод на языке 1С 7.7:
// Пример использования внешнего объекта для HTTP-запросов
Попытка
WinHttp = СоздатьОбъект("WinHttp.WinHttpRequest.5.1");
WinHttp.Open("POST", "https://api.diadoc.ru/...", 0);
// Настройка заголовков и отправка данных
WinHttp.Send(СодержимоеДокумента);
Исключение
Сообщить("Ошибка инициализации WinHttp: " + ОписаниеОшибки());
КонецПопытки;
Если прямая интеграция кажется слишком сложной или нестабильной, применим метод «транзитной базы». Выясним причину популярности этого метода: он позволяет сохранить отлаженные бизнес-процессы в 7.7 (например, сложный подбор запчастей по каталогам), переложив юридически значимый документооборот на современную платформу.
Разберем алгоритм работы этой схемы:
Для передачи GTIN и кодов маркировки из 7.7 в 8.3 удобно использовать формат XML или прямое подключение через COM-соединение:
// Пример подключения к базе 8.3 из 7.7
V83 = СоздатьОбъект("V83.COMConnector");
ПутьКБазе = "File=""C:\Bases\Base83"";Usr=""Admin"";";
База83 = V83.Connect(ПутьКБазе);
Реализация83 = База83.Документы.РеализацияТоваровУслуг.СоздатьДокумент();
// Заполнение реквизитов...
Рассмотрим подробнее работу с кодами маркировки внутри системы. Код маркировки — это длинная строка, содержащая спецсимволы. Для работы с ней в 1С 7.7 нам потребуется:
1. Настройка сканера штрихкодов. Проанализируем ситуацию: обычный сканер в режиме эмуляции клавиатуры часто «проглатывает» префикс GS1 (символ FNC1). Чтобы 1С 7.7 видела полный код, необходимо использовать драйверы, поддерживающие режим COM-порта, и дорабатывать процедуру ОбработкаВнешнегоСобытия.
2. Печать этикеток. Поскольку встроенный редактор таблиц 7.7 не поддерживает генерацию DataMatrix, мы должны использовать внешние компоненты, такие как zint.dll или специализированные шрифты. Процесс выглядит так: формируется текстовая строка кода, передается в компоненту, которая возвращает картинку штрихкода для вывода на печать.
3. Передача в ККМ (Тег 1162). Это критически важный момент. Чтобы в чеке отображался признак «[M]», необходимо обновить драйвер ФР до актуальной версии и внести изменения в обработку fr_comm.ert (или аналогичную). Нужно добавить передачу структуры КодТовара, которая включает в себя код маркировки в байтовом представлении.
Если клиенту необходимо промаркировать остатки шин, которые уже лежат на складе, алгоритм в 1С 7.7 будет следующим:
GTIN) в CSV-файл.Для автоматизации этого процесса можно написать небольшую обработку, использующую MSXML2.DOMDocument для парсинга ответов от ГИС МТ.
Подводя итог, можно сказать, что 1С 7.7 «Торговля и склад» вполне жизнеспособна в условиях маркировки, если бизнес не готов к масштабному переезду на 1С 8.3. Основная нагрузка в этом случае ложится на программиста, которому необходимо либо интегрировать готовый модуль от оператора ЭДО, либо настроить стабильный обмен с промежуточной базой на современной платформе. Важно помнить, что требования ГИС МТ постоянно меняются, поэтому архитектуру решения в 7.7 стоит делать максимально гибкой и выносить логику взаимодействия с API во внешние скрипты или компоненты.