Работа с маркированными товарами в системе «Честный знак» (ИС МП) требует четкой координации между программным обеспечением 1С, криптопровайдером и государственными серверами. При использовании серверной версии 1С:Управление нашей фирмой (УНФ) пользователи часто сталкиваются с тем, что привычные «клиентские» методы настройки электронной подписи не работают. Это связано с тем, что в клиент-серверной архитектуре подписание сообщений и обмен данными зачастую жестко закреплены за серверной стороной.
В этой статье мы подробно разберем, как правильно подготовить сервер к работе с ЭЦП, как обеспечить видимость ключей для службы 1С и что делать, если при попытке связи с СУЗ (Станцией управления заказами) возникает ошибка «Неизвестный статус запроса».
Проанализируем архитектуру обмена. В файловой базе данных 1С может обращаться к криптопроваидеру (например, КриптоПро CSP) непосредственно с рабочего места пользователя. Однако в серверной базе (SQL-вариант) настройки интеграции с ИС МП в УНФ часто по умолчанию предполагают выполнение обмена именно на сервере. Это означает, что физический токен, вставленный в компьютер бухгалтера, не будет доступен серверу 1С без дополнительных манипуляций.
Рассмотрим основные шаги по подготовке сервера:
Агент сервера 1С:Предприятия. Обычно это технический пользователь USR1CV8. Именно в его профиле должен быть установлен сертификат электронной подписи.Часто ключи хранятся на защищенных носителях (Рутокен, eToken). В серверном режиме проброс USB-устройства через RDP-сессию не является надежным решением, так как после закрытия сессии доступ к ключу пропадет. Выясним, как сделать ключ доступным постоянно.
Наиболее эффективный способ — копирование контейнера закрытого ключа в реестр локального компьютера сервера. Разберем этот процесс:
USR1CV8).Важный момент: если при создании ключа в налоговой или УЦ была установлена галка «Запретить экспорт», скопировать его в реестр обычными средствами не получится. В таком случае придется использовать физическое подключение токена к серверу или программные USB-хабы.
После того как сертификат установлен в системе, нам необходимо «объяснить» программе 1С, как его использовать.
Перейдем в раздел Настройки электронной подписи и шифрования. Здесь необходимо выполнить следующие действия:
Рассмотрим ситуацию, когда связь с ИС МП установлена, но при настройке СУЗ (Станции управления заказами) для получения кодов маркировки возникает ошибка в общем модуле ИнтерфейсСУЗСлужебный. Эта ошибка означает, что 1С получила от сервера Честного Знака ответ, формат которого она не может распознать (поле status в JSON-ответе имеет неожиданное значение или отсутствует).
Разберем по шагам, как исправить эту проблему:
OMS ID — это уникальный номер вашей станции, а Connection ID (Идентификатор соединения) генерируется для конкретного устройства. Скопируйте их повторно, исключая лишние пробелы./.Для технических специалистов проанализируем, где именно может происходить сбой. В типовых решениях за получение идентификатора отвечает код, подобный следующему:
РезультатБИП = ИнтеграцияИСМП.ВыполнитьЗапросКСерверу(ПараметрыЗапроса);
Если РезультатБИП.ДанныеОтвета.Свойство("status") Тогда
Статус = ИнтерфейсСУЗСлужебный.СтатусОбработки(РезультатБИП.ДанныеОтвета["status"]);
Иначе
// Здесь возникает исключение, так как статус не определен
ВызватьИсключение "Неизвестный статус ответа СУЗ";
КонецЕсли;
Чтобы выяснить истинную причину, можно временно воспользоваться отладкой на сервере и посмотреть содержимое структуры РезультатБИП.ДанныеОтвета. Часто там содержится текстовое описание ошибки от серверов ЦРПТ, которое 1С просто не выводит на экран в понятном виде.
Мы выяснили, что стабильная работа с «Честным знаком» в серверной 1С:УНФ возможна только при условии полной настройки криптографии на стороне сервера приложений.
Помните: работа через веб-клиент накладывает дополнительные ограничения. Если пользователи заходят в 1С через браузер, убедитесь, что на сервере, где опубликован веб-сервер (Apache или IIS), также настроены все права для работы с криптопровайдером. Рекомендуется использовать Тонкий клиент для минимизации проблем с передачей контекста электронной подписи.