При настройке интеграции 1С с системой «Честный знак» (ИС МП) пользователи часто сталкиваются с ситуацией, когда проверка связи со Станцией управления заказами (СУЗ) проходит успешно, но при попытке отправить документ Заказ на эмиссию кодов маркировки система выдает критическую ошибку: «Не удалось определить активный СУЗ для организации». Эта проблема характерна для конфигураций «Розница 2.3», «Управление торговлей 11», «УНФ» и даже устаревших редакций «УТ 10.3».
В данной статье мы подробно разберем причины этой ошибки и рассмотрим пошаговые алгоритмы ее устранения, опираясь на практический опыт технических специалистов и системных администраторов.
Одной из самых распространенных и «коварных» причин является наличие лишних символов в поле адреса сервера СУЗ. Рассмотрим этот момент подробнее. Программные механизмы 1С при формировании HTTP-запроса могут некорректно конкатенировать (склеивать) строки, если в конце адреса указан закрывающий слеш.
Проанализируем правильный формат заполнения адреса:
suzgrid.crpt.ru/ или https://suz2.crpt.ru/management/orders/suzgrid.crpt.ruВыясним, почему это происходит. При сохранении настройки 1С записывает адрес в базу, и если в конце стоит символ «/», последующие методы API могут сформировать запрос вида ...//api/v2/..., что приведет к ошибке 404 или отказу сервера в авторизации. Проверьте адрес в настройках обмена с ИС МП и удалите все лишние знаки в конце строки.
Разберем ситуацию, когда адрес указан верно, но система всё равно не «видит» активную настройку. В современных версиях СУЗ для взаимодействия с внешними системами (такими как 1С) необходимо использовать механизм «Устройств».
Для решения проблемы выполним следующие действия:
OMS ID и Токен (Идентификатор соединения).Важный нюанс: при копировании из браузера часто подхватываются невидимые символы переноса строки или пробелы. Рекомендуется сначала вставить данные в простой текстовый редактор (Блокнот), убедиться, что строка чистая, и только потом переносить в 1С. Посмотрим на пример того, как это выглядит в коде конфигурации при проверке параметров:
// Пример логики проверки параметров СУЗ
Если ПустаяСтрока(НастройкиСУЗ.ИдентификаторСоединения) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Идентификатор соединения не заполнен!");
КонецЕсли;
Проанализируем техническую сторону хранения настроек. Все параметры подключения хранятся в Регистре сведений «Настройки обмена с СУЗ». Ошибка часто возникает из-за того, что в системе создано несколько записей для одной организации, но они привязаны к разным рабочим местам (компьютерам).
Рассмотрим порядок действий для очистки регистра:
Регистр сведений «Настройки обмена с СУЗ».Если поле «Рабочее место» заполнено, то при попытке отправить заказ с другого компьютера или через сервер (в случае клиент-серверного варианта) 1С не сможет найти «активную» настройку для текущего сеанса.
В последних релизах конфигураций (УТ 11.5, Розница 3.0) связь между заказом и настройками СУЗ стала более жесткой. Выясним причину ошибки, связанной с объектами производства. В документе Заказ на эмиссию кодов маркировки есть поле Производственный объект.
Решение: Значение в поле «Производственный объект» в самом документе должно строго совпадать с тем производственным объектом, который указан в Настройках обмена с СУЗ для данной организации. Если в настройках объект не указан, а в заказе выбран — или наоборот — система выдаст ошибку определения активного СУЗ. Проверьте справочник «Производственные объекты» и сопоставьте идентификаторы (GLN или адрес) с данными в личном кабинете ИС МП.
Если ваша база работает на сервере (SQL-вариант) или опубликована на веб-сервере (IIS/Apache), диагностика усложняется. Проанализируем влияние среды исполнения:
1. Доступ к сертификатам. При проверке из тонкого клиента под пользователем всё работает, но при отправке заказа код выполняется «на сервере». Это означает, что сервер 1С (служба ragent) должен иметь доступ к криптографии и сертификатам. Убедитесь, что сертификат организации установлен в хранилище «Локальный компьютер» (для Windows) и пользователю, под которым запущена служба 1С, даны права на доступ к закрытому ключу.
2. Протоколы шифрования. «Честный знак» использует защищенное соединение. Если вы используете старую версию платформы (ниже 8.3.18), возможны проблемы с поддержкой TLS 1.2. Рекомендуется обновить платформу до актуальных версий (например, 8.3.21 и выше).
3. Веб-сервер. При работе через веб-клиент проверьте файл default.vrd. Иногда требуется явно разрешить внешние соединения для модуля интеграции:
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
base="/YourBase"
ib="Srvr=ServerName;Ref=BaseName;">
<standardOdata enable="true" reuseSessions="autouse"/>
</point>
Подведем итог. Если вы столкнулись с ошибкой «Не удалось определить активный СУЗ», пройдите по следующему списку:
Соблюдение этих структурных шагов позволяет решить проблему в 95% случаев без привлечения программистов для изменения программного кода конфигурации.