Как узнать владельца кода маркировки «Честный ЗНАК» в 1С и решить технические проблемы с проверкой

Программист 1С v8.3 (Управляемые формы) 1С:Управление нашей фирмой Управленческий учет Торговля и дистрибуция
← На главную

При ведении учета по нескольким организациям часто возникает ситуация, когда товары перемешиваются, и становится неясно, на каком юридическом лице числится конкретная марка. В таких случаях может потребоваться установка нескольких локальных модулей «Честный знак» на одном компьютере для разделения потоков данных. Стандартные механизмы 1С часто ограничиваются лишь проверкой «свой/чужой», не раскрывая ИНН реального владельца. В этой статье мы разберем по шагам, как получить информацию о владельце марки и как правильно настроить программную среду для корректной работы с ГИС МТ.

Метод 1. Использование TrueAPI для получения ИНН владельца

Для того чтобы не просто получить ответ «марка принадлежит другой организации», а увидеть конкретный ИНН, проанализируем возможности TrueAPI системы «Честный ЗНАК» — для этого подойдёт сверка кодов 1С с Честным Знаком. В отличие от обычных запросов проверки, метод GET /v4/true-api/codes/info позволяет получить детальные сведения о коде. Чтобы автоматизировать этот процесс, можно использовать готовую обработку для запроса информации о кодах, которая позволяет получать данные как по отдельным единицам, так и по целым упаковкам.

Рассмотрим, что именно возвращает система. В структуре JSON-ответа нас интересует поле ownerInn. Если марка находится в обороте и ваша организация имеет доступ к соответствующей товарной группе, система вернет идентификатор текущего собственника. Реализовать это в 1С можно через создание собственного расширения или использование внешних инструментов, которые выполняют прямой HTTP-запрос к API, используя ваш сертификат КЭП.

Метод 2. Настройка сертификатов КриптоПро на стороне сервера

Часто программисты сталкиваются с ошибкой «отсутствует сертификат» при попытке проверки марки в серверной базе. Выясним причину: служба 1С (обычно rphost) работает под технической учетной записью, которая не имеет доступа к личному хранилищу сертификатов администратора. Это становится критической проблемой, когда внедряется разрешительный режим на кассах 1С, требующий обязательной онлайн-проверки перед продажей.

Рассмотрим правильный алгоритм настройки:

  1. Установим сертификат КЭП не в хранилище «Текущий пользователь», а в хранилище «Локальный компьютер».
  2. В настройках КриптоПро перейдем к управлению закрытыми ключами и предоставим права на чтение группе пользователей или конкретному пользователю, под которым запущена служба 1С.
  3. В самой конфигурации 1С (например, УНФ) в настройках интеграции с ИС МП укажем, что проверка должна выполняться «На сервере».

Метод 3. Решение проблемы с копированием кодов из файлов

Проанализируем ситуацию, когда марка «не находится», хотя она точно есть в системе. При копировании кода из текстовых файлов или таблиц часто теряются спецсимволы, такие как GS1 separator (символ с кодом ASCII 29). Если вы получаете коды в электронном виде, рекомендуем использовать надежное решение для извлечения кодов DataMatrix из PDF документов, которое сохраняет их структуру для дальнейшей обработки.

Для корректной проверки рекомендуем использовать сканер штрихкода в режиме эмуляции COM-порта — для складских операций удобна проверка и печать кодов маркировки на ТСД. Если же необходимо передать коды во внешние системы, используйте расширение, выполняющее сохранение полных кодов маркировки с криптохвостом в текстовый файл, чтобы не потерять важную часть кода при экспорте. При работе с файлами всегда проверяйте наличие непечатаемых символов в профессиональных текстовых редакторах.

Метод 4. Использование мобильного приложения и альтернативного ПО

Если задача стоит в физическом разделении товара, можно использовать приложение «Честный ЗНАК. Бизнес». Однако для розничных точек, столкнувшихся с ограничениями платных подписок в кассовом ПО, актуальной задачей становится поиск инструментов, способных стать заменой для Frontol Mark Unit, чтобы продолжать торговлю в рамках разрешительного режима без лишних затрат.

Особенности учета (ОСУ vs Поэкземплярный)

Важно помнить, что при Объемно-сортовом учете (молоко, вода) информация о владельце конкретной марки может отсутствовать. В случае с одеждой, обувью или парфюмерией (поэкземплярный учет) владелец всегда жестко закреплен за кодом. Посмотрим на пример логики, которую можно внедрить в код 1С для обработки ответа от системы:


// Пример обработки структуры ответа TrueAPI
Если ОтветСервера.КодСостояния = 200 Тогда
    ДанныеКода = ЧтениеJSON(ОтветСервера.ПолучитьТелоКакТекст());
    ИННВладельца = ДанныеКода.ownerInn;
    Сообщить("Владелец марки: " + ИННВладельца);
КонецЕсли;

Таким образом, комбинируя правильную настройку прав доступа к сертификату на сервере и прямые запросы к API «Честного ЗНАКА», мы можем полностью автоматизировать процесс разделения товаров между организациями.

← На главную