Форумы » Вопросы и ответы по интеграции »
ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату.
Добавил(а) Алтай Сергей больше 6 лет назад
Эта ошибка порождается при нажатии кнопки "Получить товары" на закладке "Партии" в обработке Меркурий_Обмен_2.ert. Ее возможным источником, по моему предположению, является использование идентификатора площадки вместо идентификатора предприятия в процедуре "Функция ПолучитьПартии2_ТекстЗапросаXML(Отправитель_Площадка, Смещение=0) Экспорт" класса "Меркурий_ГлобальныйМодуль2.ert":
Запрос = "
|<SOAP-ENV:Envelope
|xmlns:dt='http://api.vetrf.ru/schema/cdm/dictionary/v2'
|xmlns:bs='http://api.vetrf.ru/schema/cdm/base'
|xmlns:merc='http://api.vetrf.ru/schema/cdm/mercury/g2b/applications/v2'
|xmlns:apldef='http://api.vetrf.ru/schema/cdm/application/ws-definitions'
|xmlns:apl='http://api.vetrf.ru/schema/cdm/application'
|xmlns:vd='http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2'
|xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'>
| <SOAP-ENV:Header/>
| <SOAP-ENV:Body>
| <apldef:submitApplicationRequest>
| <apldef:apiKey>"+ГМ.СписокКонстант.Получить("param_api_key")+"</apldef:apiKey>
| <apl:application>
| <apl:serviceId>mercury-g2b.service:2.0</apl:serviceId>
| <apl:issuerId>"+ГМ.СписокКонстант.Получить("param_issuer_id")+"</apl:issuerId>
| <apl:issueDate>"+ ГМ.ДатаXML(ТекущаяДата(), "T00:00:00") +"</apl:issueDate>
| <apl:data>
| <merc:getStockEntryListRequest>
| <merc:localTransactionId>[GUID]</merc:localTransactionId>
| <merc:initiator>
| <vd:login>"+ГМ.СписокКонстант.Получить("param_intiator_login")+"</vd:login>
| </merc:initiator>
| <bs:listOptions>
| <bs:count>1000</bs:count>
| <bs:offset>" + Смещение + "</bs:offset>
| </bs:listOptions>
| <dt:enterpriseGuid>"+СокрЛП(Отправитель_Площадка.GUID)+"</dt:enterpriseGuid> // <- вот здесь
| </merc:getStockEntryListRequest>
| </apl:data>
| </apl:application>
| </apldef:submitApplicationRequest>
| </SOAP-ENV:Body>
|</SOAP-ENV:Envelope>
|";
Если я все-таки ошибаюсь, то что может быть источником этой ошибки?
Ответы (22)
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) кб99 Синявский Филипп больше 6 лет назад
скорее всего неправильно заполнены параметры
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) Алтай Сергей больше 6 лет назад
Я попробовал переопределить функцию ПолучитьПартии2_ТекстЗапросаXML(Отправитель_Площадка, Смещение=0), чтобы проверить предположения о неправильном заполнении параметров в запросе, и вот какие сообщения об ошибках получил:
Выполняется переопределение функции <ПолучитьПартии2_ТекстЗапросаXML>
Меркурий_ГлобальныйМодуль::ПереопределитьФункцию(Строка ИмяФункции=ПолучитьПартии2_ТекстЗапросаXML, МеркурийИнтеграция Объект=) : Поле агрегатного объекта не обнаружено
{E:\DB_1C77\sklad_2006\ExtForms\classes\Vetis\Меркурий_ГлобальныйМодуль.ert(0) }
МеркурийИнтеграция::Инициализация(Меркурий_ГлобальныйМодуль модульМеркурий=) : Меркурий_ГлобальныйМодуль::ПереопределитьФункцию(Строка ИмяФункции=ПолучитьПартии2_ТекстЗапросаXML, МеркурийИнтеграция Объект=) : Поле агрегатного объекта не обнаружено
{E:\DB_1C77\sklad_2006\ExtForms\classes\Vetis\Меркурий_ГлобальныйМодуль.ert(0) }
Меркурий.ПереопределитьФункцию("ПолучитьПартии2_ТекстЗапросаXML",Сам());
{E:\DB_1C77\sklad_2006\ExtForms\classes\Vetis\Меркурий_Интеграция.ert(24) }
Меркурий_ГлобальныйМодуль::Инициализация(ГрупповойКонтекст КонтекстДокумента=) : МеркурийИнтеграция::Инициализация(Меркурий_ГлобальныйМодуль модульМеркурий=) : Меркурий_ГлобальныйМодуль::ПереопределитьФункцию(Строка ИмяФункции=ПолучитьПартии2_ТекстЗапросаXML, МеркурийИнтеграция Объект=) : Поле агрегатного объекта не обнаружено
{E:\DB_1C77\sklad_2006\ExtForms\classes\Vetis\Меркурий_ГлобальныйМодуль.ert(0) }
Меркурий.ПереопределитьФункцию("ПолучитьПартии2_ТекстЗапросаXML",Сам());
{E:\DB_1C77\sklad_2006\ExtForms\classes\Vetis\Меркурий_Интеграция.ert(24) }
глМеркурийИнтеграция.Инициализация(Сам());
{E:\DB_1C77\sklad_2006\ExtForms\classes\Vetis\Меркурий_ГлобальныйМодуль.ert(6413) }
ГМ.Инициализация(Контекст);
{E:\DB_1C77\SKLAD_2006\EXTFORMS\VETIS\МЕРКУРИЙ_ОБМЕН_2.ERT(620)}: Меркурий_ГлобальныйМодуль::Инициализация(ГрупповойКонтекст КонтекстДокумента=) : МеркурийИнтеграция::Инициализация(Меркурий_ГлобальныйМодуль модульМеркурий=) : Меркурий_ГлобальныйМодуль::ПереопределитьФункцию(Строка ИмяФункции=ПолучитьПартии2_ТекстЗапросаXML, МеркурийИнтеграция Объект=) : Поле агрегатного объекта не обнаружено
{E:\DB_1C77\sklad_2006\ExtForms\classes\Vetis\Меркурий_ГлобальныйМодуль.ert(0) }
Возможно, что или механизм переопределения функций в модуле Меркурий_Интеграция.ert не работает, или я сделал что-то не так:
Функция Инициализация(модульМеркурий) Экспорт
Меркурий = модульМеркурий;
//Здесь описываются все функции которые будут переопределены
//Меркурий.ПереопределитьФункцию("ПолучитьИНН" ,Сам());
Меркурий.ПереопределитьФункцию("ПолучитьПартии2_ТекстЗапросаXML",Сам());
КонецФункции // Инициализация
Функция ПолучитьПартии2_ТекстЗапросаXML(Отправитель_Площадка, Смещение=0) Экспорт
//проверим наличие GUID ХозСубъекта у площадки
Если ПустоеЗначение(Отправитель_Площадка.GuidХозСубъекта)=1 Тогда
Сообщить("В выбранной Площадке пустой GUID ХозСубъекта");
Возврат "REJECTED";
КонецЕсли;
//выражение [GUID] будет заменено на новый Guid в формате: d82d83f7-944b-45e9-88dc-67892eae1e3e
Запрос = "
|<SOAP-ENV:Envelope
|xmlns:dt='http://api.vetrf.ru/schema/cdm/dictionary/v2'
|xmlns:bs='http://api.vetrf.ru/schema/cdm/base'
|xmlns:merc='http://api.vetrf.ru/schema/cdm/mercury/g2b/applications/v2'
|xmlns:apldef='http://api.vetrf.ru/schema/cdm/application/ws-definitions'
|xmlns:apl='http://api.vetrf.ru/schema/cdm/application'
|xmlns:vd='http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2'
|xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'>
| <SOAP-ENV:Header/>
| <SOAP-ENV:Body>
| <apldef:submitApplicationRequest>
| <apldef:apiKey>"+Меркурий.СписокКонстант.Получить("param_api_key")+"</apldef:apiKey>
| <apl:application>
| <apl:serviceId>mercury-g2b.service:2.0</apl:serviceId>
| <apl:issuerId>"+Меркурий.СписокКонстант.Получить("param_issuer_id")+"</apl:issuerId>
| <apl:issueDate>"+ Меркурий.ДатаXML(ТекущаяДата(), "T00:00:00") +"</apl:issueDate>
| <apl:data>
| <merc:getStockEntryListRequest>
| <merc:localTransactionId>[GUID]</merc:localTransactionId>
| <merc:initiator>
| <vd:login>"+Меркурий.СписокКонстант.Получить("param_intiator_login")+"</vd:login>
| </merc:initiator>
| <bs:listOptions>
| <bs:count>1000</bs:count>
| <bs:offset>" + Смещение + "</bs:offset>
| </bs:listOptions>
| <dt:enterpriseGuid>"+СокрЛП(Отправитель_Площадка.GuidХозСубъекта)+"</dt:enterpriseGuid>
| </merc:getStockEntryListRequest>
| </apl:data>
| </apl:application>
| </apldef:submitApplicationRequest>
| </SOAP-ENV:Body>
|</SOAP-ENV:Envelope>
|";
Возврат Запрос;
КонецФункции
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) Жуков Дмитрий больше 6 лет назад
Вероятно вы все же пытаетесь получить партии, а не товары. -> Кнопка Получить партии v2 Запрос.
Если уверены, что все параметры заполнены правильно - отправьте письмо в ТП Ветис со вложенными XML с запроса и ответа от Меркурия на api@vetrf.ru.
По поводу использования идентификатора ХС вместо Площадки вы ошибаетесь :
http://help.vetrf.ru/wiki/GetStockEntryListOperation_v2.0
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) Алтай Сергей больше 6 лет назад
Мы, в общем-то, нашли источник проблемы: оказалось, что при регистрации площадок в системе Цербер произошла путаница: оказалось, что у нас две площадки с одним и тем же адресом, при этом для площадки, которая привязана к хозсубъекту, указан статус "Не подтвержден", а площадка со статусом "Подтвержден" не привязана к хозсубъекту. Т.е., дело не в обработке и даже не в правильности или неправильности выставленных параметров, а в путанице, допущенной при регистрации в самой системе Меркурий.
Отсюда, кстати, вывод: при столкновении с подобной ошибкой, в самую первую очередь надо зайти в Цербер и проверить статусы и привязки площадок. И только затем начинать искать другие причины этой ошибки.
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) кб99 Синявский Филипп больше 6 лет назад
Дмитрий, спасибо за обратную связь!
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) Алтай Сергей больше 6 лет назад
Добрый день!
К сожалению, я поторопился с ответом. Даже после исправления регистрации площадок, ошибка "ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату" (<error code="MERC05180">Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату.</error> воспроизводится для любого запроса, содержащего ссылку на guid площадки в своих параметрах. Притом, что запросы, например, на получение списка площадок для хозсубъекта работают без ошибок. Честно сказать, я уже не понимаю, что означает эта ошибка. Может быть Вы сможете подсказать, в каком направлении искать ответ?
С уважением, Дмитрий Донченко,
ИТ-специалист ООО "КТМ" ,
тел. +7 (905) 904 67 47
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) Жуков Дмитрий больше 6 лет назад
Прикрепите XML вашего запроса и ответ от меркурия
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) Алтай Сергей больше 6 лет назад
Пример запросов и ответов - попытка выполнить запрос на создание связи площадки с ХС (по кнопке "Создать связь Площадки с ХозСубъектом - запрос" в обработке "Меркурий_Обмен_2.ert") , - результатом выполнения которых становится "ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату".
Реальный apiKey заменен на ***.
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) Алтай Сергей больше 6 лет назад
Я, в общем-то, понял причину описанных проблем. Спасибо техподдержке Ветиса, к которым с трудом, но удалось-таки дозвониться, и программе SoapUI, с помощью которой наконец-то удалось увидеть источник наших проблем: просто при регистрации наших ХС и площадок "накосячили" специалисты ТП Меркурия. Так что будем работать с ними, пока все ошибки не исправят. Так что Ваша обработка здесь вроде как не причем.
С уважением, Дмитрий Донченко,
ИТ-специалист ООО "КТМ" ,
тел. +7 (905) 904 67 47
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) Алтай Сергей больше 6 лет назад
Проблема с "ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату" решена и закрыта.
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) Крым Корниенко Ирина больше 6 лет назад
эта же ошибка возникает в тестовом контуре в обработке Меркурий_Обмен_2.ert по кнопке "Создать площадку запрос". Подскажите куда копать. Или нас не правильно зарегистрировали в тестовом контуре? В продуктивном такого нет, все площадки подгрузились без проблем.
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) Алтай Сергей больше 6 лет назад
В тестовом контуре просто создайте нужные площадки сами! Дело в том, что площадки из продуктивного контура никакого отношения к тестовому не имеют. Поэтому в вашем тестовом контуре список площадок пуст, а попытка подключиться к нему используя GUID из продуктивного, как раз и выдаст такую ошибку. Поэтому, просто создайте нужное количество площадок сами, и ничего не бойтесь, т.к. тестовый контур - это действительно тестовый контур, в котором можно делать что угодно.
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) Крым Корниенко Ирина больше 6 лет назад
Спасибо, Дмитрий. Извините за тупой вопрос, но как создать площадки вручную?
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) Алтай Сергей больше 6 лет назад
Лучше всего через обработку Меркурий_Обмен_2.ert - как Вы и пытались сделать. Жмете кнопку с плюсиком (справа от поля, в котором выбираются площадки из справочника) - создаете запись в справочнике. Она же у Вас должна сама выбраться в поле. Если нет, то выбираете ее вручную из справочника. Затем жмете кнопку "Создать площадку - запрос" - регистрируете площадку в Меркурии. Если ничего не выходит, обращаетесь в техподдержку Ветиса.
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) кб99 Синявский Филипп больше 6 лет назад
на всякий случай
создание ХозСубъекта и Площадки в ГИС Меркурий
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) Крым Корниенко Ирина больше 6 лет назад
Может эта ошибка быть связана с тем, что в обработке Меркурий_Обмен_2.ert нажимаю "Получить GUID хозсубъекта", GUID загружается от рабочего контура, а не от тестового. все параметры указаны от тестового контура в том числе и IssuerID ? В Ветис написала, пока тишина. Как исправить? Пробовала принудительно ставить тестовый GUID (=IssuerID) в карточку ХС и площадки, все равно при регистрации площадки ошибка та же. Видео посмотрела, все делаю так же.
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) Алтай Сергей больше 6 лет назад
А флажок "Тестовый режим" на форме Меркурий_Параметры.ert стоит? Проверьте внимательно! Его надо не просто установить, а еще и нажать кнопку "Сохранить", чтобы значение параметра записалось в cfg-файл. В том, что значение записалось, убедиться очень просто: закрываете и заново открываете форму параметров, если при открытии флажок "Тестовый режим" установился сам, значит его значение записалось в файл. Если флажок все-таки стоит, то так же может быть вариант как было у нас: сотрудники территориального подразделения Ветиса умудрились каким-то немыслимым образом ввести в тестовый контур точно такие же данные на площадки (вплоть до GUID и UUID), что и для площадок рабочего контура. Тогда Вам придется разбираться с ними... Наши исправляли свои косяки несколько дней!
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) Крым Корниенко Ирина больше 6 лет назад
Да, флаг "тестовый режим" установлен при открытии, заголовок формы обработки тоже "Меркурий-Тестовая версия". Единственное, что у меня на одном компе зарегистрированы обе SoapDLL тестовая и рабочая. Но база под тестовую отдельная. Побегу к нашим местным ветеринарам, спрошу.
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) Жуков Дмитрий больше 6 лет назад
Крым Корниенко Ирина писал(а):
Да, флаг "тестовый режим" установлен при открытии, заголовок формы обработки тоже "Меркурий-Тестовая версия". Единственное, что у меня на одном компе зарегистрированы обе SoapDLL тестовая и рабочая. Но база под тестовую отдельная. Побегу к нашим местным ветеринарам, спрошу.
Наличие зарегистрированных одновременно рабочей и тестовой библиотек это нормально.
Внимательнее с параметрами.
В тестовую не может грузиться ГУИД рабочей, если только, как писали выше, они каким-то образом совпадают...
Попробуйте переполучить ГУИД ХС через Обмен
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) Жуков Дмитрий больше 6 лет назад
В Продуктиве много косяков с ХС и Площадками - ошибочно вносили, потом объединяли и исправляли.
ГУИДы "нормальных" удавалось получить от ТП
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) Крым Корниенко Ирина больше 6 лет назад
Дозвонилась до техподдержки, поменяли мне тестовый ГУИД, и теперь от СОВПАДАЕТ с рабочим. Сказали что "это нормально". Но теперь из обработки Меркурий_Обмен_2.ert хочу получить ГУИД хозсубъекта по инн выдает следующее: Запрос GetBusinessEntityByINN [ МойИНН ]
Загрузка XML-файла: D:\1c\Simfer-меркур тест\logs\cdef3402-6a96-4d83-a134-38bd51fb3f4f_result.xml
Получен пустой ответ GetBusinessEntityByINN
Плохой тип переменной
RE: ОШИБКА: Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату. - Добавил(а) кб99 Синявский Филипп больше 6 лет назад
значит в ХозСубъекте не указан ваш ИНН, обратитесь в техподдержку для исправления вашего ХозСубъекта
для получения ХС по GUID можете воспользоваться функцией ЗагрузитьХСПоGUID
Функция ЗагрузитьХСПоGUID(GUID) Экспорт