Работа ломбардов с драгоценными металлами и камнями сегодня немыслима без тесного взаимодействия с Государственной интегрированной информационной системой в сфере контроля за оборотом драгоценных металлов и драгоценных камней (ГИИС ДМДК). Основная сложность заключается в том, что многие организации продолжают использовать платформу 1С 7.7 или ранние версии 1С 8.3, которые «из коробки» не обладают необходимыми механизмами для криптографической защиты данных и работы по протоколу MTLS. В этой статье мы подробно разберем, как наладить процесс выгрузки данных, какие инструменты использовать и на что обратить внимание при автоматизации учета в ломбарде.
Проанализируем основные технические барьеры. Взаимодействие с ГИИС ДМДК требует не просто отправки файлов, а использования двустороннего TLS-соединения (MTLS). Это означает, что и сервер, и клиент (ваша 1С) должны обмениваться сертификатами безопасности. Для платформы 1С 7.7 это практически невыполнимая задача стандартными средствами. Выясним, какие существуют обходные пути:
КриптоПро CSP.1С в простом формате (XML или JSON), а «Аскорт» берет на себя подписание и доставку сообщений в ГИИС, возвращая обратно полученные УИНы (Уникальные идентификационные номера).1С 8.3 оптимальным является прямое использование HTTP-запросов. Рассмотрим, как это реализовать через внешние библиотеки на .NET, которые могут выступать в роли прослойки (wrapper) для 1С.Поскольку встроенный язык 1С 7.7 не поддерживает сложные веб-протоколы, мы вынуждены использовать COM-объекты. Разберем пример логики взаимодействия, где 1С формирует файл, а внешняя утилита его подписывает и отправляет. Для работы с запросами часто применяется объект WinHttp.WinHttpRequest.5.1.
Посмотрим на примерный алгоритм формирования запроса в коде:
// Пример инициализации HTTP-запроса в 1С 7.7
Попытка
WinHttp = СоздатьОбъект("WinHttp.WinHttpRequest.5.1");
WinHttp.Open("POST", "https://dmdk.gov.ru/api/endpoint", 0);
// Установка сертификата клиента для MTLS
WinHttp.SetClientCertificate("LOCAL_MACHINE\My\ИмяСертификатаЛомбарда");
WinHttp.Send(ТекстЗапросаXML);
Исключение
Сообщить("Ошибка соединения: " + ОписаниеОшибки());
КонецПопытки;
Важный момент: Прямая отправка из 7.7 часто натыкается на несовместимость протоколов шифрования в старых версиях Windows. Поэтому мы рекомендуем использовать консольные утилиты от разработчиков крипто-программ (например, csptest из состава КриптоПро) для предварительного подписания файлов.
Рассмотрим подробнее, какие именно события в жизни ювелирного изделия должны отражаться в системе ГИИС ДМДК. Это критически важно для корректной настройки выгрузки:
Проанализируем процесс ввода начальных данных. Каждому ломбарду необходимо провести полную инвентаризацию и внести сведения об имеющихся на хранении изделиях как об «остатках». Для массовой загрузки данных в 1С следует реализовать обработку, которая собирает данные из справочников и формирует пакетный XML-файл.
Пример структуры данных для выгрузки остатков может выглядеть следующим образом:
// Структура формирования узла XML для изделия
ЗаписьXML.ЗаписатьНачалоЭлемента("JewelryItem");
ЗаписьXML.ЗаписатьАтрибут("Weight", Строка(Объект.Вес));
ЗаписьXML.ЗаписатьАтрибут("MetalCode", "AU"); // Золото
ЗаписьXML.ЗаписатьАтрибут("Hallmark", "585"); // Проба
ЗаписьXML.ЗаписатьКонецЭлемента();
После отправки такого пакета ГИИС возвращает идентификаторы, которые необходимо записать обратно в базу 1С в соответствующие реквизиты справочников Номенклатура или ЗалоговыеБилеты.
Выясним, как обеспечить физическую маркировку. Получение УИН — это только половина дела. Согласно требованиям, ломбард обязан нанести DataMatrix код на ярлык изделия. Размер кода должен быть не менее 5х5 мм.
Для реализации печати в 1С 7.7 или 8.3 вам потребуется:
DLL (например, Barcode.dll) или специализированные шрифты.УИН должен быть преобразован в формат, понятный сканеру, чтобы при реализации изделия можно было мгновенно найти его в системе.Если вы планируете переход с устаревшей системы, разберем вариант использования типовых решений. Программный продукт 1С:Розница 8. Ювелирный магазин уже содержит встроенные механизмы интеграции с ГИИС ДМДК. В нем реализованы:
Важное предостережение: Регуляторные нормы (например, постановление Правительства №270) регулярно обновляются. Поэтому при использовании самописных решений на 1С 7.7 или 1С 8.3 программисту необходимо постоянно отслеживать изменения XSD-схем, публикуемых на сайте ГИИС ДМДК, и оперативно вносить правки в программный код выгрузки.
Подводя итог, можно сказать, что наиболее стабильным вариантом для ломбардов на старых платформах является связка «1С 7.7 + Промежуточный транспортный модуль (например, Аскорт)». Это позволяет избежать глубокой переработки ядра «семерки» и обеспечивает гарантированную доставку сообщений в соответствии со всеми требованиями криптографии.