При ведении учета по нескольким организациям часто возникает ситуация, когда товары перемешиваются, и становится неясно, на каком юридическом лице числится конкретная марка. В таких случаях может потребоваться установка нескольких локальных модулей «Честный знак» на одном компьютере для разделения потоков данных. Стандартные механизмы 1С часто ограничиваются лишь проверкой «свой/чужой», не раскрывая ИНН реального владельца. В этой статье мы разберем по шагам, как получить информацию о владельце марки и как правильно настроить программную среду для корректной работы с ГИС МТ.
Для того чтобы не просто получить ответ «марка принадлежит другой организации», а увидеть конкретный ИНН, проанализируем возможности TrueAPI системы «Честный ЗНАК» — для этого подойдёт сверка кодов 1С с Честным Знаком. В отличие от обычных запросов проверки, метод GET /v4/true-api/codes/info позволяет получить детальные сведения о коде. Чтобы автоматизировать этот процесс, можно использовать готовую обработку для запроса информации о кодах, которая позволяет получать данные как по отдельным единицам, так и по целым упаковкам.
Рассмотрим, что именно возвращает система. В структуре JSON-ответа нас интересует поле ownerInn. Если марка находится в обороте и ваша организация имеет доступ к соответствующей товарной группе, система вернет идентификатор текущего собственника. Реализовать это в 1С можно через создание собственного расширения или использование внешних инструментов, которые выполняют прямой HTTP-запрос к API, используя ваш сертификат КЭП.
Часто программисты сталкиваются с ошибкой «отсутствует сертификат» при попытке проверки марки в серверной базе. Выясним причину: служба 1С (обычно rphost) работает под технической учетной записью, которая не имеет доступа к личному хранилищу сертификатов администратора. Это становится критической проблемой, когда внедряется разрешительный режим на кассах 1С, требующий обязательной онлайн-проверки перед продажей.
Рассмотрим правильный алгоритм настройки:
Проанализируем ситуацию, когда марка «не находится», хотя она точно есть в системе. При копировании кода из текстовых файлов или таблиц часто теряются спецсимволы, такие как GS1 separator (символ с кодом ASCII 29). Если вы получаете коды в электронном виде, рекомендуем использовать надежное решение для извлечения кодов DataMatrix из PDF документов, которое сохраняет их структуру для дальнейшей обработки.
Для корректной проверки рекомендуем использовать сканер штрихкода в режиме эмуляции COM-порта — для складских операций удобна проверка и печать кодов маркировки на ТСД. Если же необходимо передать коды во внешние системы, используйте расширение, выполняющее сохранение полных кодов маркировки с криптохвостом в текстовый файл, чтобы не потерять важную часть кода при экспорте. При работе с файлами всегда проверяйте наличие непечатаемых символов в профессиональных текстовых редакторах.
Если задача стоит в физическом разделении товара, можно использовать приложение «Честный ЗНАК. Бизнес». Однако для розничных точек, столкнувшихся с ограничениями платных подписок в кассовом ПО, актуальной задачей становится поиск инструментов, способных стать заменой для Frontol Mark Unit, чтобы продолжать торговлю в рамках разрешительного режима без лишних затрат.
Важно помнить, что при Объемно-сортовом учете (молоко, вода) информация о владельце конкретной марки может отсутствовать. В случае с одеждой, обувью или парфюмерией (поэкземплярный учет) владелец всегда жестко закреплен за кодом. Посмотрим на пример логики, которую можно внедрить в код 1С для обработки ответа от системы:
// Пример обработки структуры ответа TrueAPI
Если ОтветСервера.КодСостояния = 200 Тогда
ДанныеКода = ЧтениеJSON(ОтветСервера.ПолучитьТелоКакТекст());
ИННВладельца = ДанныеКода.ownerInn;
Сообщить("Владелец марки: " + ИННВладельца);
КонецЕсли;
Таким образом, комбинируя правильную настройку прав доступа к сертификату на сервере и прямые запросы к API «Честного ЗНАКА», мы можем полностью автоматизировать процесс разделения товаров между организациями.