Вопросы интеграции с Меркурий для Программистов

1. kiv1c 809 17.05.17 15:31 Сейчас в теме
Добрый день! Предлагаю в этой теме всем программистам обсуждать технические вопросы по Ветис.API

Сейчас я плотно работаю с интеграцией с Меркурий через Ветис.API и хотелось бы обсудить вопросы, с которыми я столкнулся.
Пишу обмен с помощью xdto, сильно помогла вот эта публикация http://infostart.ru/public/560823/
Уже получается сделать полный цикл на тестовом контуре - принять входящий эвсд, сделать производство и продажу (транспортную операцию).
РЕКОМЕНДУЮ методичку "первые шаги в интеграции с ФГИС Меркурий"
http://help.vetrf.ru/images/b/bc/Ecr.pdf


1) как обеспечивается прослеживаемость в Меркурии?
при продаже в транспортном эвсд видно только номер производственного эвсд (типа 576423) но не его guid.
при запросе производственного эвсд через API не видно ни guid/номера входящего эвсд сырья, ни даже guid записей складского журнала для сырья (stockEntry).
то есть, прослеживаемость обрывается на производственном эвсд.
или как-то ее видно в веб-интерфейсе?
я смотрел, по-моему нет, в транзакции производства видно только название сырья без подробностей и всё. от кого оно поступило, например, неясно.
писал об этом на форуме подробнее
http://www.fsvps.ru/vetrf-forum/posts/list/1380/169.page#42196

2) где конечная точка Меркурия? то есть, обязаны ли розничные магазины гасить входящие эвсд? тогда будет "веселье" как с егаис) хотя , конечно API меркурия и проще
судя по приказу Минсельхоза 646 от 18.12.2015 где написано "организации...являющиеся участниками оборота подконтрольных товаров", так что да, рознице тоже нужно.
https://minjust.consultant.ru/documents/18335?items=1&page=1

2.1) исходя из предыдущего вопроса, магазин может гасить входящие эвсд, но что дальше? на магазине в меркурии повиснет куча входящих записей складского журнала (StockEntry) которые будут только увеличиваться? или при продаже в розницу их надо как-то уменьшать инвентаризацией например?

3) Создание площадок (они же "поднадзорные объекты" или "предприятия") в Меркурий.
Сейчас в другом регионе, если нет площадки, ее может создать только ветврач. Есть ли более простой способ?
Иначе выходит что при любой отгрузке в другой регион, если площадки нет, надо искать ветврача и тратить время.
В пределах своего региона площадки может создавать через API любой подключенный от юрлица пользователь с правами ветврача, но при этом надо еще заполнять правильно адреса из системы ИКАР - получать все guid городов и улиц в своем регионе. Ну хотя бы эти адреса можно заполнить один раз.

4) Неочевидные связи.
Например, у меня встречалась ошибка MERC01229 - Из данного сырья не может быть выработана указанная продукция.
Где посмотреть эту неочевидную связь, из какого сырья что можно выработать?
похожая ошибка была MERC24263, что для подвида продукции не разрешена единица измерения "штуки". Также нигде не прописана связь между подвидом продукции и разрешенными для него единицами измерения.
Kochergov; +1 Ответить
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. kiv1c 809 17.05.17 15:34 Сейчас в теме
5) эцп
еще вот в статье http://infostart.ru/public/439710/
упоминалось что "обмен значимой электронной информацией между предприятиями должен быть подтвержден ЭЦП".
пока не видел каких-то планов по внедрению эцп в меркурий...
5. anig99 2843 19.05.17 06:18 Сейчас в теме +1 $m
(2) без ЭЦП вся система теряет смысл как юридически значимая, так как без неё нет никакой достоверности. Скорее всего это в том же пакете законовом, который даст возможность выписывать ветеринарки аккредитованым организация и лицам, а не только ветеринарам.
3. lalex23 159 17.05.17 15:55 Сейчас в теме +1 $m
2. судя по форуму на vetrf.ru могут но не обязаны
2.1. может гасить, а могут висеть до посинения, смысл всей этой беды не в информации об остатках, а в сопроводительных документах, которые показывают что откуда и куда едет, кто разрешил и откуда оно взялось, ну ещё вариант - когда магазин не принимает продукцию - это уже проблема отправителя
3. города, улицы конечно надо заполнять верно, но мне вет.врачи говорили, что иногда адреса в других регионах успешно регистрируются.
5. поищи на форуме - разработчики мычат что-то невразумительное, ладно хоть https работает..
6. anig99 2843 19.05.17 06:18 Сейчас в теме
(3) Вроде как нельзя создавать ХО, но площадки создавать можно. Надо перепроверить.
7. kiv1c 809 19.05.17 12:05 Сейчас в теме
(6) ну я делал через ModifyEnterpriseOperation
пробую из Моск. Области создать площадку в москве
заполняю region и street
в ответ приходит ошибка MERC07400
"Регион указанной организации и обслуживаемого предприятия должны совпадать"
15. ksu1966 23.05.17 15:19 Сейчас в теме
(7)добрый день Иван. Получилось у Вас через ModifyEnterpriseOperation создать площадку? у меня приходит ответ с ошибкой APLM0002 Unsupported application data format. это уже на запрос receiveApplicationResultRequest. текст запроса совпадает с примером из документации, в чем проблема не знаю куда копать. мне надо площадку создать, т.к. у нас нет её, а без неё, я понял, дальше транзакции не созашь на вход, производство и транспортную.
17. kiv1c 809 23.05.17 16:08 Сейчас в теме
(15) попробуйте как в примере из хелпа. надо правильно заполнять логин, owner, и поля адреса для системы IKAR.
http://help.vetrf.ru/wiki/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%­B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D1­%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D0%98%D0%BA%D0%B0%D­1%80

в каком регионе ваше юрлицо? попробуйте сделать запрос getBusinessEntityByGUID и скопируйте поля region locality и street оттуда.
https://pastebin.com/1miKtTiK
19. ksu1966 24.05.17 06:06 Сейчас в теме
(17)в принципе я так и делал, по запросу getBusinessEntityByGUID получил данные, скопировал данные адреса (какие заполнены были), текст запроса соответствует документации. регион Новосибирск.

пока писал ответ, нашел причину ошибки, в методе:
ApplicationDataWrapper = ФабрикаXD.Создать("http://api.vetrf.ru/schema/cdm/application", "ApplicationDataWrapper");
ApplicationDataWrapper.Добавить(ФормаXML.Элемент, modifyEnterpriseRequest.Тип().URIПространстваИмен, "modifyEnterpriseRequest", modifyEnterpriseRequest);

"modifyEnterpriseRequest" писал как "ModifyEnterpriseRequest".

исправил, но теперь выдает код ошибки MERC 07369 Инициатор, ответственный за выполнение операции, с указанным идентификатором не найден в реестре РСХН, либо идентификатор не соответствует установленному формату.

в качестве intiator использую Login, который дали для тестовой БД.
25. spectre1978 60 24.05.17 08:52 Сейчас в теме
(15) во всех случаях, когда получаете ошибку формата - лучше всего фиддлером копируйте запрос и прикладывайте сюда. Можете затереть информацию, которая не предназначена для всеобщего обозрения. Посмотрев запрос, вам можно попробовать помочь. Не видя запроса - вряд ли.
4. kiv1c 809 17.05.17 18:01 Сейчас в теме
О, по поводу вопроса 4 нашел ответ в инструкции к веб-интерфейсу, есть табличка что из чего можно производить
(Ведение журнала вырабатываемой на предприятии продукции в Меркурий.ХС)
https://clck.ru/B9FnD
8. anig99 2843 19.05.17 15:55 Сейчас в теме
Меня вот больше интересует вопрос как оптимально работать с Журналом ВСД. Отсутствие отборов угнетает.
9. lalex23 159 19.05.17 16:22 Сейчас в теме +1 $m
http://help.vetrf.ru/wiki/GetVetDocumentListOperation
чем не вариант ?
ублюдочно что по периоду не отфильтровать, но для этого есть другой запрос:
http://help.vetrf.ru/wiki/GetVetDocumentChangesListOperation
всё это смахивает на костыли, но они как-то работают...
10. anig99 2843 21.05.17 17:11 Сейчас в теме
(9) вот именно, что костыли. Фиг знает как лучше работать с GetVetDocumentChangesListOperation
11. ksu1966 22.05.17 06:48 Сейчас в теме
добрый день Иван, т.к. Вы уже разобрались с обменом с Меркурием, можно вопрос. Хочу получить список предприятий чтобы узнай guid нашей фирмы. согласно документации формирую запрос через сервис Цербер (EnterpriseService) операция GetRussianEnterpriseList, отправляю запрос, но в ответ получаю тот же самый текст, что и послал.Что не так? текст процедуры ниже. текст запроса формируется вроде нормально (как в документации).буду очень признателен за ответ.

это текст запроса

<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Body>
<getRussianEnterpriseListRequest xmlns="http://api.vetrf.ru/schema/cdm/cerberus/enterprise/ws-definitions">
<listOptions xmlns="http://api.vetrf.ru/schema/cdm/base">
<count>100</count>
</listOptions>
<enterprise xmlns="http://api.vetrf.ru/schema/cdm/cerberus/enterprise">
<name>Проксима</name>
</enterprise>
</getRussianEnterpriseListRequest>
</Body>
</Envelope>
//////////////////////
это код программы

Процедура getRussianEnterpriseListRequest()
    ListOptions = ФабрикаXD.Создать("http://api.vetrf.ru/schema/cdm/base", "ListOptions");  
    ListOptions.count = 100;  
      
	enterprise = ФабрикаXD.Создать("http://api.vetrf.ru/schema/cdm/cerberus/enterprise", "Enterprise"); 
	enterprise.name="Проксима";
      
    getStockEntryListRequestDO = ФабрикаXD.Создать("http://api.vetrf.ru/schema/cdm/cerberus/enterprise/ws-definitions", "getRussianEnterpriseListRequest");   
    getStockEntryListRequestDO.ListOptions = ListOptions;  
    getStockEntryListRequestDO.enterprise = enterprise;  
      
    EnvelopeDO = ФабрикаXD.Создать("http://schemas.xmlsoap.org/soap/envelope/", "Envelope");  
    EnvelopeDO.Body = ФабрикаXD.Создать("http://schemas.xmlsoap.org/soap/envelope/", "Body");     
    EnvelopeDO.Body.Добавить(ФормаXML.Элемент, getStockEntryListRequestDO.Тип().URIПространстваИмен, "getRussianEnterpriseListRequest", getStockEntryListRequestDO);   
	
ТелоXML = Новый ЗаписьXML;  
ТелоXML.УстановитьСтроку("UTF-8");  
  
ФабрикаXD.ЗаписатьXML(ТелоXML, EnvelopeDO);  
  
ЗапросWeb = Новый HTTPЗапрос("platform/services/ApplicationManagementService");  
ЗапросWeb.УстановитьТелоИзСтроки(ТелоXML.Закрыть());  
  
СоединениеWeb = Новый HTTPСоединение("api2.vetrf.ru", 8002, login, password,,Истина);  
ОтветWeb = СоединениеWeb.ОтправитьДляОбработки(ЗапросWeb);  
Если (ОтветWeb.КодСостояния = 200) Тогда // значит, все ок  
    ОтветXML = Новый ЧтениеXML;  
    ОтветXML.УстановитьСтроку(ОтветWeb.ПолучитьТелоКакСтроку("UTF-8"));  
      
    MercAppDO = ФабрикаXD.ПрочитатьXML(ОтветXML, EnvelopeDO.Тип()).Body.getRussianEnterpriseListResponse;  
      
КонецЕсли;  	
КонецПроцедуры
Показать
12. kiv1c 809 22.05.17 10:23 Сейчас в теме
(11) на самом деле в меркурии есть 2 типа запросов: синхронные и асинхронные. в первом случае вы сразу получаете ответ, во втором - отправляете на обработку, получаете applicationId и смотрите пока его статус не станет Confirmed.
запрос getRussianEnterpriseListRequest - синхронный. его можно выполнить вот так:
СтрокаТела = ТелоXML.Закрыть();
ЗапросWeb = Новый HTTPЗапрос("platform/cerberus/services/EnterpriseService");
ЗапросWeb.УстановитьТелоИзСтроки(СтрокаТела);
ОтветWeb = СоединениеWeb.ОтправитьДляОбработки(ЗапросWeb);
ХмлОтвета = ОтветWeb.ПолучитьТелоКакСтроку("UTF-8");

и у меня он работает:

http://clip2net.com/s/3KCvhMc
13. ksu1966 22.05.17 13:24 Сейчас в теме
Иван, спасибо за ответ. За это время я уже нашел ошибку. принцип запросов- ответов Меркурий, я понял из документации,
я в этом объекте
ЗапросWeb = Новый HTTPЗапрос("platform/services/ApplicationManagementService");
не поменял на
ЗапросWeb = Новый HTTPЗапрос("platform/cerberus/services/EnterpriseService");
поэтому меня сервер и не понимал, все исправил, работает.

еще раз спасибо.
может подскажете по другому вопросу.
guid своего ХС я получил по ИНН через метод getBusinessEntityListRequest
для оформления произв.операций мне надо guid предприятия- это что-то другое, пытаюсь получить по методу getRussianEnterpriseListRequest, но там по фильтру наименования не может найти, выводит по 1000 шт. у вас работает фильтр ( если вы пользовались этим методом)?
16. kiv1c 809 23.05.17 16:00 Сейчас в теме
(13)
можно поискть в getBusinessEntityByGUID в поле activityLocations. если там нет, то думаю проще создать через веб-интерфейс, или привязать существующее через веб-интерфейс. чтоб не заполнять адреса ikar можно попробовать создать без адреса с помощью ModifyEnterpriseOperation.
Или еще вариант - получить все предприятия из системы в цикле изменяя offset в ListOptions для запроса getRussianEnterpriseListRequest
18. ksu1966 24.05.17 04:58 Сейчас в теме
(16)добрый день, смотрел по этому методу, пусто в поле activityLocations, уже делал как Вы советуете в цикле перебрал все записи по запросу getRussianEnterpriseListRequest, искал по полю owner гуид нашего ХЗ, не нашел. в интерфейсе Меркурия не нашел где предприятие создается (в тестовой версии), надо в икаре это делать что-ли?
23. Stepa86 1521 24.05.17 08:48 Сейчас в теме +1 $m
(13) Чтобы работал фильтр по наименованию при получении списка предприятий, нужно в запросе явно указать кодировку

HTTPЗапрос = Новый HTTPЗапрос( АдресРесурса );
HTTPЗапрос.Заголовки.Вставить( "Content-Type", "text/xml; charset=utf-8" );
HTTPЗапрос.УстановитьТелоИзСтроки( ТекстЗапроса );
26. kiv1c 809 24.05.17 10:12 Сейчас в теме
(23) вот про это не знал, спасибо
(24) да, вам должны были дать два логина, один юрлица типа oooRomashka-123456 и второй пользователя типа Pupkin-iv-123456, вот второй и нужно в поле логин
28. spectre1978 60 24.05.17 12:48 Сейчас в теме +1 $m
(26) не совсем так. Один логин - это логин (и пароль) для авторизации в Ветис.API. Он дается на организацию обязательно - без него не получится работать через шлюз. А вот логина в веб-интерфейс у вас, как у организации, на самом деле может и не быть - достаточно логина приходящего ветврача, который можно указать в программе для дальнейшей передачи в initiator->login. Т.е. ветврач заходит в систему через данные предприятия, но заявку на ВСД создает, указывая свои данные.
И если вы при получении доступа к Ветис.API не сообщаете, что вам нужен доступ к Web - вам его никто и не даст. Полезно иметь это в виду, чтобы потом не обращаться второй раз.
27. ksu1966 24.05.17 10:51 Сейчас в теме
(23)фильтр по наименованию работает нормально, если запрос формировать средствами 1С. я проверял на других предприятиях. и по адресу и по наименованию фильтр работает. в моем конкретном случае просто нет моего в списке предприятий.
пример рабочий

  ListOptions = ФабрикаXD.Создать("http://api.vetrf.ru/schema/cdm/base", "ListOptions");  
    ListOptions.count = 1000;  
    ListOptions.offset = 0;  
      
	address = ФабрикаXD.Создать("http://api.vetrf.ru/schema/cdm/ikar", "Address"); 
	locality = ФабрикаXD.Создать("http://api.vetrf.ru/schema/cdm/ikar", "Locality"); 
	locality.guid="8dea00e3-9aab-4d8e-887c-ef2aaa546456";
	address.locality=locality;
	
	region = ФабрикаXD.Создать("http://api.vetrf.ru/schema/cdm/ikar", "Region"); 
	region.guid="1ac46b49-3209-4814-b7bf-a509ea1aecd9";
	address.region=region;
	
	enterprise = ФабрикаXD.Создать("http://api.vetrf.ru/schema/cdm/cerberus/enterprise", "Enterprise"); 
	enterprise.name="Холидей";
	enterprise.address=address;
      
    getStockEntryListRequestDO = ФабрикаXD.Создать("http://api.vetrf.ru/schema/cdm/cerberus/enterprise/ws-definitions", "getRussianEnterpriseListRequest");   
    getStockEntryListRequestDO.ListOptions = ListOptions;  
    getStockEntryListRequestDO.enterprise = enterprise;  
      
    EnvelopeDO = ФабрикаXD.Создать("http://schemas.xmlsoap.org/soap/envelope/", "Envelope");  
    EnvelopeDO.Body = ФабрикаXD.Создать("http://schemas.xmlsoap.org/soap/envelope/", "Body");     
    EnvelopeDO.Body.Добавить(ФормаXML.Элемент, getStockEntryListRequestDO.Тип().URIПространстваИмен, "getRussianEnterpriseListRequest", getStockEntryListRequestDO);
Показать
29. kiv1c 809 24.05.17 12:50 Сейчас в теме
(27) тогда нужно создать новую площадку, указав те же locality и region
37. Stepa86 1521 26.05.17 10:59 Сейчас в теме
(27) Ну вот у меня по латинице и цифрам фильтр работал, а по кириллице нет, пока явно не прописал заголовок
(36) Я одним глазом глянул. Не понравилось, что это отдельная конфа с обменами, которые чуть ли не в ручную нужно прописывать. Чтобы встроить ее в ту же УТ, чтоб было аналогично ЕГАИСу и ШУБОИСУ, нужно очень долго пилить. Ну и все самое интересное закрыто компонентой.
38. spectre1978 60 26.05.17 11:03 Сейчас в теме
(37) о как, про компоненту не знал. Что именно компонентой сделано, не разбирались?
Что касается того что это отдельная конфа - может, и неплохо, потому что этот меркурий поначалу будет изрядной мусоркой и тащить его в базу предприятия может быть не особенно хорошо.
39. Stepa86 1521 26.05.17 11:07 Сейчас в теме
(38) Компонента это защита обработки. Там обработка зашифрована, и когда к ней происходит обращение - проверяется ключ. Если ключ есть, то обработка расшифровывается в память и работает оттуда, после чего убивается.

Не очень удобно при отгрузках с РТУ/ордерами работать в одной базе, а с вет. документами в другой. Особенно когда хочется в печатной форме от рту присабачить штрихкоды с ссылками на ВСД
40. kiv1c 809 26.05.17 11:24 Сейчас в теме
(39) да. весь обмен закрыт СЛК. Например, в версии 1.0.4 не было еще инвентаризации и пр-ва без сырья, поэтому свой обмен и пилю.
41. spectre1978 60 26.05.17 15:16 Сейчас в теме
(37) я работал с API через борландовскую SOAP библиотеку, там вроде проблем с русским не возникло - судя по всему, UTF8 там по умолчанию.
20. lalex23 159 24.05.17 08:10 Сейчас в теме
intiator - это пользователь, а не логин ХС
а по поводу заглавных и прописных букв вот такая вот петрушка:

Если СтруктураПараметровТранзакции.ВидОперации = Перечисления.ветисВидыОпераций.МодификацияПоднадзорногоОбъекта или
		СтруктураПараметровТранзакции.ВидОперации = Перечисления.ветисВидыОпераций.СозданиеПредприятия Тогда
		ИмяКорневогоОбъектаЗаявки = "modifyEnterpriseRequest";
		ИмяТипаКорневогоОбъекта   = "ModifyEnterpriseRequest";
	ИначеЕсли СтруктураПараметровТранзакции.ВидОперации = Перечисления.ветисВидыОпераций.РедактированиеСвязейХозяйствующегоСубъектаСПлощадкой Тогда
		ИмяКорневогоОбъектаЗаявки = "modifyActivityLocationsRequest";
		ИмяТипаКорневогоОбъекта   = "ModifyActivityLocationsRequest";
	ИначеЕсли СтруктураПараметровТранзакции.ВидОперации = Перечисления.ветисВидыОпераций.МодификацияСправочникаПродукцииПредприятия Тогда
		ИмяКорневогоОбъектаЗаявки = "modifyProducerStockListRequest";
		ИмяТипаКорневогоОбъекта   = "ModifyProducerStockListRequest";
	ИначеЕсли СтруктураПараметровТранзакции.ВидОперации = Перечисления.ветисВидыОпераций.ПолучениеСпискаЗаписейЖурнала Тогда
		ИмяКорневогоОбъектаЗаявки = "getStockEntryListRequest";
		ИмяТипаКорневогоОбъекта   = "getStockEntryListRequest";
	ИначеЕсли СтруктураПараметровТранзакции.ВидОперации = Перечисления.ветисВидыОпераций.ОформлениеПроизводственнойПартии Тогда
		ИмяКорневогоОбъектаЗаявки = "registerProductiveBatchRequest";
		ИмяТипаКорневогоОбъекта   = "RegisterProductiveBatchRequest";
	ИначеЕсли СтруктураПараметровТранзакции.ВидОперации = Перечисления.ветисВидыОпераций.ПолучениеВСД Тогда
		ИмяКорневогоОбъектаЗаявки = "getVetDocumentListRequest";
		ИмяТипаКорневогоОбъекта   = "getVetDocumentListRequest";
	ИначеЕсли СтруктураПараметровТранзакции.ВидОперации = Перечисления.ветисВидыОпераций.ПолучениеВСДЗаПериод Тогда
		ИмяКорневогоОбъектаЗаявки = "getVetDocumentChangesListRequest";
		ИмяТипаКорневогоОбъекта   = "getVetDocumentChangesListRequest";
	ИначеЕсли СтруктураПараметровТранзакции.ВидОперации = Перечисления.ветисВидыОпераций.ПолучениеИзмененныхЗаписейЖурналаЗаПериод Тогда
		ИмяКорневогоОбъектаЗаявки = "getStockEntryChangesListRequest";
		ИмяТипаКорневогоОбъекта   = "getStockEntryChangesListRequest";
	ИначеЕсли СтруктураПараметровТранзакции.ВидОперации = Перечисления.ветисВидыОпераций.ОформлениеРезультатовИнвентаризации Тогда
		ИмяКорневогоОбъектаЗаявки = "resolveDiscrepancyRequest";
		ИмяТипаКорневогоОбъекта   = "ResolveDiscrepancyRequest";
	ИначеЕсли СтруктураПараметровТранзакции.ВидОперации = Перечисления.ветисВидыОпераций.ПолучениеВСДпоИдентификатору Тогда
		ИмяКорневогоОбъектаЗаявки = "getVetDocumentByUuidRequest";
		ИмяТипаКорневогоОбъекта   = "getVetDocumentByUuidRequest";
	ИначеЕсли СтруктураПараметровТранзакции.ВидОперации = Перечисления.ветисВидыОпераций.ОформлениеТранспортнойОперации Тогда
		ИмяКорневогоОбъектаЗаявки = "prepareOutcomingConsignmentRequest";
		ИмяТипаКорневогоОбъекта   = "PrepareOutcomingConsignmentRequest";
	ИначеЕсли СтруктураПараметровТранзакции.ВидОперации = Перечисления.ветисВидыОпераций.СозданиеХозяйствующегоСубъекта Тогда
		ИмяКорневогоОбъектаЗаявки = "modifyBusinessEntityRequest";
		ИмяТипаКорневогоОбъекта   = "ModifyBusinessEntityRequest";
	ИначеЕсли СтруктураПараметровТранзакции.ВидОперации = Перечисления.ветисВидыОпераций.ПолучениеАктуальнойВерсииЗаписиЖурнала Тогда
		ИмяКорневогоОбъектаЗаявки = "getStockEntryByGuidRequest";
		ИмяТипаКорневогоОбъекта   = "getStockEntryByGuidRequest";
	ИначеЕсли СтруктураПараметровТранзакции.ВидОперации = Перечисления.ветисВидыОпераций.ОбъединениеЗаписей Тогда
		ИмяКорневогоОбъектаЗаявки = "mergeStockEntriesRequest";
		ИмяТипаКорневогоОбъекта   = "MergeStockEntriesRequest";
	КонецЕсли;
Показать

кто у разработчиков и с какой ноги встал - непонятно
21. ksu1966 24.05.17 08:45 Сейчас в теме
да intiator - это пользователь , объект у которого есть свойства UUID и LOGIN, можно использовать любой, где взять UUID пользователя я не знаю (не искал), поэтому определяю его через LOGIN, полученный при регистрации Ветис.API.
24. spectre1978 60 24.05.17 08:49 Сейчас в теме
(21) нужен только веб-логин, т.е. имя под которым юзер логинится в веб-интерфейс. Больше ничего не нужно. Ниже на C++Builder:
mreq->initiator = new NS_ApplicationManagementService_v1::User ();
mreq->initiator->login = FWebLogin;
22. spectre1978 60 24.05.17 08:47 Сейчас в теме +1 $m
3) Создание площадок (они же "поднадзорные объекты" или "предприятия") в Меркурий.
Сейчас в другом регионе, если нет площадки, ее может создать только ветврач. Есть ли более простой способ?

Есть. Нужно получить веб-логин в системе Меркурий.ХС, для этого требуется подать заявку во Владимир (разработчикам). В дальнейшем вам в вашей системе надо будет поддерживать два веблогина - один врача, для заявок на работу с ВСД, и второй ваш, для заявок на работу с хозсубъектами. Я получил такой логин и сейчас благополучно создаю то что мне надо. Но следует иметь в виду, что к данному вопросу нужно подходить ответственно. Если вы не будете тщательно искать площадки и создавать дубликаты, соответствующие ветуправления областей могут иметь к вам претензии, заставлять аннулировать сертификаты и удалять точки. У меня была ситуация, что ветврач понасоздавал точек торговой сети, не поискав как следует, в результате пришлось заниматься аннулированием десятка-другого ВСД.
30. kiv1c 809 25.05.17 14:42 Сейчас в теме
вот что нашел про свой вопрос 2 и 2.1 про гашение в рознице
http://www.fsvps.ru//vetrf-forum/posts/list/7052.page#41758

п.52 Приложения 2 Приказа МСХ РФ от 27.12.2016 г. № 589.
"Гашение ВСД на транспортную партию подконтрольного товара, перемещаемого со сменой владельца или без смены владельца осуществляется в течение 1 рабочего дня после доставки и приемки подконтрольного товара в месте назначения зарегистрированным пользователем ФГИС с правом доступа "гашение сертификатов"".

А далее зам. руководителя РосСельхознадзора Николай Власов тоже говорит что гасить нужно.
Так что - магазинам тоже нужен будет доступ к АПИ)
31. spectre1978 60 25.05.17 19:57 Сейчас в теме
(30) в некоторых сетях уже гасят.
32. spectre1978 60 25.05.17 20:06 Сейчас в теме
В пределах своего региона площадки может создавать через API любой подключенный от юрлица пользователь с правами ветврача, но при этом надо еще заполнять правильно адреса из системы ИКАР - получать все guid городов и улиц в своем регионе. Ну хотя бы эти адреса можно заполнить один раз.

Вытащил себе из икара нужные регионы вместе с гуидами в локальную базу и передаю гуиды в запрос на создание точки. Имея права на Меркурий.ХС - могу создавать как у себя, так и в других регионах. Ветврач, кстати, не может, у него права только на свой регион... Похоже, то же самое - выкачивать в локальную базу - придется и со StockEntry, потому что сейчас в API нет никакого механизма, который бы позволял выбрать конечный остаток, скажем, по конкретной продукции/материалу или или хотя бы по виду продукции. Есть всего два "регистровых" запроса - getStockEntryList и getStockEntryChangesList. Первый вытаскивает конечные остатки, но по всей имеющейся на предприятии номенклатуре и всем партиям. Объем может быть колоссальным, никакой фильтрации не предусмотрено. Второй тянет изменения журнала в пределах ограничения по датам, можно даже получить конечный остаток, если последнее изменение попало в диапазон дат. Вот и весь выбор операций с данными в складской системе... Я был бы очень рад, если бы я ошибался, кто знает больше - поправьте меня, пожалуйста...
34. kiv1c 809 26.05.17 10:16 Сейчас в теме
(32) да, со StockEntry непонятно, я вот тоже думаю если появляются входящие ветсертификаты - как определить сколько количества и с какой StockEntry списать при производстве. Пока также делаем производство "из воздуха" без сырья.

Суть вопроса, как я понимаю, в том что надо сохранять в 1с инфу о пришедших StockEntry, особенно о виде продукции subProduct и наименовании продукции productItem.name. Потому что если не сохранить, то потом остатки не найти через АПИ.
35. spectre1978 60 26.05.17 10:43 Сейчас в теме +1 $m
(34) определять - если по-правильному, то только руками или используя штрихкодирование для идентификации нужной партии. Т.е. человек, который будет оформлять производство, должен знать, какое именно сырье взяли технологи, и списать именно его. Иначе никак не проследить, из какого сырья что сделано. На практике, ясное дело, будут списывать первое попавшееся. Тем более что одно мясо от другого мяса отличить в некоторых случаях бывает сложновато...
Я представляю себе так - при загрузке или в процессе выполнения регламента выкачиваем кон. остатки по партиям (getStockEntryList) и куда-то сохраняем, скажем в специальный регламентный документ, который потом проводится и создает движения. Делаем это, например, в начале дня. Дальше, проводя ветеринарные документы, проводим также и движения по остаткам, таким образом ведется двойной учет - у нас локально и в Меркурии удаленно одно и то же. Храним меркуриевские сток-энтри гуиды у себя - это позволяет нам формировать корректные запросы на создание ветдокументов. А если есть подозрения что произошли расхождения - опять заказываем регламентную выкачку сток-энтрисов из Меркурия и по ней инвентаризируем нашу базу, приводим остатки в соответствие с Меркурием. По-другому я не вижу как можно сделать. Регламент по выкачке будет делаться долго, возможно очень долго - это минус. Но если все сделать аккуратно, я не думаю что в нем часто будет необходимость.
42. spectre1978 60 26.05.17 18:42 Сейчас в теме
(34)
Суть вопроса, как я понимаю, в том что надо сохранять в 1с инфу о пришедших StockEntry, особенно о виде продукции subProduct и наименовании продукции productItem.name. Потому что если не сохранить, то потом остатки не найти через АПИ.

На самом деле там есть еще справочник продукции и после занесения туда данных становится доступен GUID продукта. Т.е. в отношении своей продукции можно вести справочник и в дальнейшем сохранять ссылку на него. Но на практике я пока не не очень понял, как это сочетается с также имеющимся механизмом свободного ввода productItem.name при указании product и subproduct. В реальной ИС такой двойственный подход может создать достаточно тяжелую ситуацию - строки в регистрах хранить точно не дело :)
33. lalex23 159 25.05.17 21:35 Сейчас в теме +1 $m
примерно так ублюдочно и работает, первое время у меня работала схема:
ночью регламентным заданием формируется выпуск планового объёма продукции
в течении дня вет.врачи оформляют ВСД, кодом подбираю подходящие по срокам годности остатки записей журнала
на следующий день, дперед формированием новых производственных партий - запускалась процедура инвентаризации, которая приводила в соответствие остатки записей журнала с фактическими остатками партий

но как бы я не старался - всё равно возникали нештатные ситуации, когда остатков было недостаточно - приходилось генерить новые производственные партии, останавливать работу вет.врачей на период синхронизации записей журнала Меркурия и складских остатков

в результате переделал так: в момент оформления ВСД врачём генерируются производственные партии с нужными сроками годности и тут же списываются в 0 документом транзакции

выпуск продукции происходит "из воздуха" - система пока позволяет, в моём случае вет.врачи согласились на такую схему, потому что мы и производитель и продавец - в одном лице, плюс сырьё для выпуска продукции - живая птица, выращивается и забивается в рамках одной производственной площадки

как кто выгручивается с реальными остатками партий и остатками Меркурия - подумать страшно, потому как механизм работы с остатками куцый до невозможности...
43. spectre1978 60 28.05.17 10:54 Сейчас в теме
(33)
в результате переделал так: в момент оформления ВСД врачём генерируются производственные партии с нужными сроками годности и тут же списываются в 0 документом транзакции

выпуск продукции происходит "из воздуха" - система пока позволяет, в моём случае вет.врачи согласились на такую схему, потому что мы и производитель и продавец - в одном лице, плюс сырьё для выпуска продукции - живая птица, выращивается и забивается в рамках одной производственной площадки


Угу, в принципе интересная тема, наверно, сделаю также (сейчас у меня один вид "колбасные изделия и деликатесы" на всю накладную). Весь вопрос в том, что это опять ненадолго, максимум до конца года, потом, скорее всего, забанят "воздушную" продукцию и могут запретить даты изготовления, не равные текущей. Диапазоны дат точно запретят, об этом уже говорили. На перспективу есть мысли, как выкручиваться? Я уже думаю на предмет того, что может быть, производить некий полуфабрикат, скажем "фарш", списывать в него сырье, а потом уже из него делать колбасу по мере надобности. Не думали про такой вариант? Можно делать несколько видов "фарша". В принципе, такая схема близка к правде, потому что из одного замеса могут набивать разные виды колбас.
44. kiv1c 809 29.05.17 10:48 Сейчас в теме
(43) о, а где говорили про диапазоны дат, я не видел? я сейчас в принципе и так только firstDate указываю, а не диапазон.

насчет "фарша" - можно, да. вообще по табличке
Табличка Ограничений на вырабатываемую продукцию
если вам поступают полутуши (с видом Мясо и мясопродукты), а не живые животные, из них можно сразу производить Готовую Продукцию без фарша)
вопрос какое количество из stockentry списывать - либо считать пропорцию сколько колбасы получается из туш, либо при поступлении связывать ЭВСД с партиями на складе, списывать в производство меркурия какое-то примерное количество, а в конце дня/смены делать инвентаризацию, чтоб остатки сошлись. Достаточно непростой вопрос, пока не вижу простого решения. Если заморочиться - можно для каждого документа производства в 1с делать производство в Меркурии, и тогда количество будет сходиться.
45. spectre1978 60 29.05.17 11:45 Сейчас в теме
(44)
о, а где говорили про диапазоны дат, я не видел? я сейчас в принципе и так только firstDate указываю, а не диапазон.

Сейчас там разрешено задавать диапазон дат - firstDate и secondDate. Может, конечно, это и не совсем диапазон, а просто две даты - но выглядит именно как диапазон. Кроме того, есть возможность задать дату неформально, т.е. в свободной записи, что вообще делает бессмысленным всякое датирование - для этой цели там есть строчка informalDate.

А о том что с нового года будет допускаться только одна дата изготовления, говорилось на вебинаре, который проводила компания Э-КОМ (EDI-провайдер) для своих клиентов примерно полмесяца назад (спикером была сотрудница ВНИИЗЖ). Если нужны полные выходные данные вебинара, могу поискать и привести здесь. Лично своими ушами не слышал, на вебинар отправил заместителя, и он мне сообщил об этом моменте как о существенном - что планируется оставить одну дату. Как-то так.
46. Stepa86 1521 29.05.17 13:12 Сейчас в теме
(45) Может под запрет все таки запись в свободной форме попадет? Вот про это даже я слышал. Ее то ли уже нельзя указывать на боевом или тестовом контуре, то ли нельзя будет с ближайшего обновления.
49. spectre1978 60 29.05.17 16:57 Сейчас в теме
(46) Дословной информации у меня нет. Но насколько понял я, речь идет о том что должна быть одна четкая дата изготовления. Со временем, если срок хранения продукции исчисляется часами. Зачем вообще делали неформальную дату - я не очень понял, это ж потенциально огромный геморрой - партии заморозки могут лежать годами, и если им ввели такую дату, то гадить своим присутствием они смогут еще долго. И нужно забивать голову тем чтобы обрабатывать такие партии, у которых не работают никакие вычисления на датах.
47. lalex23 159 29.05.17 13:37 Сейчас в теме
(43)
На перспективу есть мысли, как выкручиваться?

мне немного проще - у нас полный цикл на предприятии от выращивания птицы до выпуска готовой продукции, а выращивание птицы - можно выполнять из воздуха, т.е. получится:
из воздуха -> выращивание птицы
из живой птицы -> тушки птицы
тушки птицы -> готовая продукция
и я думаю это устроит всех более чем полностью, конечно остаются всякие специи и вспомогательные ингридиенты, часть из них при получении я смогу так же передать в Меркурий, но это дело относительно не близкое
в итоге, в момент оформления транзакции на отгрузку - будет формироваться цепочка вышеперечисленных транзакций, порядка минуты в чистом виде
48. spectre1978 60 29.05.17 16:54 Сейчас в теме
(47) а специи и вспомогательные вообще-то надо? Они же не подконтрольные. Мне казалось, что к этой системе имеют отношение только продукты растительного и животного происхождения, подконтрольные россельхознадзору. Что не подконтрольное - то через систему не проводим.
50. lalex23 159 29.05.17 17:26 Сейчас в теме
(48)
а специи и вспомогательные вообще-то надо?

фиг знает что там сможет всплыть, может что и подконтрольное нарисуется...
36. spectre1978 60 26.05.17 10:45 Сейчас в теме
кстати, господа, никто не смотрел управление ветсертификатами от 1С? Там не совсем 1С, но продают обычные 1Совские франчайзи. Как оно, рабочее, не совсем? Я заказал себе демо-ссылку, вот жду...
51. kiv1c 809 29.05.17 17:43 Сейчас в теме
а ни у кого не было ли ошибки при транспортной операции? поле vetCertificate правильно заполнено...

<apl:error code="APLM0071" xmlns:apl="http://api.vetrf.ru/schema/cdm/application">VetDocument properties do not correspond one of valid transaction types.</apl:error>
52. kiv1c 809 29.05.17 18:24 Сейчас в теме
(51) похоже дело было в прошедших датах, создал свежие сегодняшние записи производством - и всё стало ок.
92. user1110850 14.12.18 12:59 Сейчас в теме
(51)
APLM0071 - еще ошибка возникает если грузоотправитель полность совпадает с грузополучателем (т ХС и ПП)
53. kiv1c 809 31.05.17 15:33 Сейчас в теме
А вот опять вылезло, пробовал произвести живых животных, вылезла ошибка
MERC01263
Указанная единица измерения не разрешена для данной вырабатываемой продукции
Пробовал и кг, и штуки.

Оказалось подошла ед. изм. голова с uuid 06979926-053d-11e1-99b4-d8d385fbc9e8
затем вылезли еще 2 ошибки
MERC02214 Период нахождения животных на территории таможенного союза обязателен для заполнения.
и ошибка
MERC02216 Место для карантинирования обязательно для заполнения.

разбираюсь дальше)
54. kiv1c 809 01.06.17 16:29 Сейчас в теме
что еще нашел:
При производстве живых животных заполняю в запросе ProductionOperation поля
expertiseInfo, immunizationInfo, cargoInspected и прочее
и в TransportOperation тоже
в итоге в веб-интерфейсе они не заполнены!
производство http://clip2net.com/s/3KXjfro
транспортная http://clip2net.com/s/3KXjqAb

то же с полем "Входящий ВСД"
заполняю precedingVetDocuments - и оно пустое в веб-интерфейсе.
55. ksu1966 02.06.17 06:11 Сейчас в теме
добрый день! может кто подскажет:
оформляю производственную операцию, получаю ответ

error code="MERC01263" qualifier="PB_2d373231383737303531303839393837" Указанная единица измерения не разрешена для данной вырабатываемой продукции

входная операция была в "кг"
выпуск продукции из неё делаю в "шт" , "упаковка" (так называются ед.изм unit при вызове метода GetUnitList())

как узнать какая ед.изм подходит для произв.операцию?
57. kiv1c 809 02.06.17 15:51 Сейчас в теме
(55) пробуйте подбором. если входная была в кг, даже не знаю, можно ли поменять.

(56) не очень понял зачем вы устанавливаете на входное сырье. Если вам приходит ЭВСД, то там уже указаны параметры. если бумажный - тогда надо делать инвентаризацию или операцию поступления с бумажным всд.
При расфасовке unit меняете?
56. ksu1966 02.06.17 06:21 Сейчас в теме
и ещё один вопрос по произв.операции:
мы покупаем желатин весовой, для сырья по справочнику для входной операции устанавливаю ProductType=5, Product=желатин( uuid из справочника), subProduct=желатин говяжий( uuid из справочника).
для производственной операции по выпуску ГП из этого желатина (расфасовали по пакетам) указываю те же параметры ProductType=5, Product=желатин( uuid из справочника), subProduct=желатин говяжий( uuid из справочника).
это правильно?
ошибка выходит: error code="MERC01263" qualifier="PB_2d373231383737303531303839393837" Указанная единица измерения не разрешена для данной вырабатываемой продукции
58. ksu1966 05.06.17 11:20 Сейчас в теме
добрый день, при расфасовке unit по идее конечно должен поменяться, но с другим unit ошибку выдает.

а разве не надо фиксировать в Меркурий входную партию по документу поступления, кто это делает - поставщик?, а если это импорт?
59. kiv1c 809 10.07.17 09:59 Сейчас в теме
сейчас делаю прием входящих сертификатов и есть вопрос, что будет если остатки записей Складского Журнала будут "зависать" на остатках? то есть партию приняли, создалась на нашем Предприятии запись и дальше с ней ничего не происходит, она так и висит и не расходуется в производство. нужно ли делать инвентаризацию на такие записи?
60. lalex23 159 10.07.17 15:44 Сейчас в теме
смысл? она у вас есть? на складе лежит? ну и пусть её лежит
61. kiv1c 809 14.07.17 12:42 Сейчас в теме
нашел ОШИБКУ при оформлении через API производства.
делаю ProductionOperation, указываю в поле vetDocument поля cargoInspected и cargoExpertized в true
а в веб-интерфейсе они все равно не заполнены, написано "не подвергнута ветеринарно-санитарной экспертизе"
вот пример запроса
https://pastebin.com/Pc6TcSV1
62. user696694 18.07.17 23:53 Сейчас в теме
(61) Ошибки нет, необходимо отправлять от логина ветврача а не от пользователя ХС.
63. user696694 18.07.17 23:59 Сейчас в теме
(62) Причем при отправке от имени ветврача НЕ НУЖНО менять пространство имен и имя сервиса на mercury-vu.service как это описано в справке http://help.vetrf.ru/wiki/ProductionOperation
76. spectre1978 60 24.07.17 19:45 Сейчас в теме
(61)а распечатку пробовали делать? Именно по нажатию кнопки "печать"? Кажется, я раньше уже с таким сталкивался - в мордочке показывает что не подвергнуто, а на печати все нормально.
64. user696694 19.07.17 00:09 Сейчас в теме
И еще кто не в курсе Минсельхоз организовал рабочую подгруппу по вводу ФГИС Меркурий координация которой осуществляется в телеграмм. Приказ во вложении.
Прикрепленные файлы:
Рабочая группа ВСД.pdf
65. kiv1c 809 19.07.17 15:45 Сейчас в теме
(64) о, вот спасибо, вступил в подгруппу.
66. lalex23 159 20.07.17 09:25 Сейчас в теме
Коллеги, не знаю у кого как, но с сегодняшнего дня посыпались ошибки: не проходит контроль запрос на оформление транспортной транзакции, по причине не заполненных полей.

Delivery[0] There are several vetDocuments without FOR attribute. Only one common vetDocument (without FOR attr) is allowed.
Delivery[0] When use common vetDocument pattern only one vetDocument (common, without FOR attr) is allowed in document list.

добавил эти поля в запрос
ID в consignment и for в accompanyingForms.vetCertificate
впихивал туда нумератор строковый, гуиды строкой - в любом случае не нравится тип

Wrong application data format. Format validation failed due to XML Schema rules: Недопустимое значение '6cb81b2f-6f59-4b5e-8661-85fd6fe37160' для атрибута: 'id'

по ссылке из справки посылает вот сюда https://www.w3.org/TR/xmlschema-2/#ID но там я не врубаюсь что должно быть, есть пример или предположение?
67. lalex23 159 20.07.17 09:40 Сейчас в теме +1 $m
(66)
по ссылке из справки посылает вот сюда https://www.w3.org/TR/xmlschema-2/#ID но там я не врубаюсь что должно быть, есть пример или предположение?

чудом на гитхабе в комментариях нашел следующее:
// http://vetrf.ru/vetrf-forum/posts/list/825/6855.page#41188
// В случае если вы передаете в запросе несколько объектов consignment ("..Request/delivery/consignment")
// и несколько объектов vetCertificate ("..Request/delivery/accompanyingForms/vetCertificate")
// то связь между ними должна быть установлена путем указания атрибутов "id" - у элемента consignment
// и "for" - для элемента vetCertificate.
//
// В случае если вы передаете в запросе несколько объектов consignment и один объект vetCertificate,
// то атрибуты id и for могут быть не указаны,
// но в этом случае информация из единственного элемента vetCertificate будет распространяться на все ВСД,
// оформляемые в этом запросе.
//
// http://vetrf.ru/vetrf-forum/posts/list/825/6855.page#41192
// Возможно, что неверно указали значения для атрибутов id и for.
// Их типы ID и IDREF, соответственно, и должны начинаться с "_" или буквенного символа.
Показать

собственно обо всём знал, кроме последней строки, теперь генерю эти идентификаторы строкой
ИдентификаторСоответствияПартииВСД = "_" + ТранспортнаяОперация.Строки.Индекс(СтрокаПродукции);

и всё работает... что самое смешное - ссылка на форум ведёт к моей же переписке с разработчиками, где они ответили на счёт типов идентификаторов, а я ответ прохлопал и забил на это дело пол-года назад, так бы и не упало сегодня ничего
bigmal; kiv1c; mevgenym; +3 Ответить
68. kiv1c 809 21.07.17 15:27 Сейчас в теме
(67) да, я тоже эти for генерировал начиная с буквенных символов "id"
69. lalex23 159 24.07.17 17:26 Сейчас в теме
Коллеги, ситуация слегка запутанная, от разработчиков ответа пока не дождался, обращаюсь к коллективному разуму:
есть ХС1 и ПО1, ранее по ним всё работало от производства до реализации и вопросов не было
появились ХС2, ХС3, ПО2 и ПО3, где ХС3 - занимается реализацией, а ХС1 и ХС2 производством, ну и ХС1 пока ещё реализацией, пока все клиенты не перезаключат договора с ХС3
По словам разработчиков, после отправки наших заявлений - они выполнили привязку ХС2 и ХС3 к APIKey изначально выданному ХС1
На тестовом сервере они этого точно не сделали, а на рабочем пытаюсь получить список записей журнала и входящих оформленных ВСД методами GetStockEntryListOperation и GetVetDocumentListOperation
При отправке запроса GetVetDocumentListOperation получаю разное
1. от ХС1: получаю список входящих ВСД, но только часть из тех что видны через web-интерфейс вет.врачу, ещё часть почему-то недоступна через шлюз
2. от ХС2: MERC31383 "Хозяйствующий субъект-инициатор запроса должен быть связан с обслуживающим предприятием"
3. от ХС3: вообще ничего, хотя ВСД есть в наличии в web-морде

При отправке запроса GetStockEntryListOperation получаю разное
1. от ХС1: не пытаюсь запускать, поскольку работа через шлюз идёт больше года и записей в журнале - вагон, а фильтров у этого запроса нет, попробовал один раз и устал ждать пока все данные получу
2. от ХС2: MERC37383 "Хозяйствующий субъект-инициатор запроса должен быть связан с обслуживающим предприятием"
3. от ХС3: четыре каких-то левые записи, которых в веб-интерфейсе нет

Во всех случаях при отправке запросов указываю enterpriseGuid того ПО, которое доступно вет.врачам через web-интерфейс, мои мысли на этот счёт:
по ХС1 - почти всё в порядке, кроме утери части входящих ВСД, но это пока не критично
по ХС2 - несколько вариантов: разработчики НЕ привязали ХС2 к APIKey ХС1 и потому данные получить нельзя, ещё идея - вет.врачи привязали ПО2 к какому-то ХС, не тому которого разработчики привязали к APIKey ХС1
по ХС3 - нет предположений

Это всё было вступление, а теперь вопрос: как при отправке запроса дать шлюзу понять, что мне нужны данные ХС(n), при условии что теоретически все ХС могут осуществлять операции на одних и тех-же ПО.
В справке об операции http://help.vetrf.ru/wiki/GetStockEntryListOperation#.D0.9E.D0.B1.D1.8A.D0.B5.D0.BA.D1.82_..Request.2FbusinessMember
сказано, что можно указать параметры businessMember, где будут идентификаторы и ХС и ПО, но в пространствах имён http://api.vetrf.ru/schema/cdm/mercury/applications представленных http://help.vetrf.ru/wiki/NameSpaces
для getStockEntryListRequest отсутствуют поля businessMember, аналогичная ситуация и с запросом GetVetDocumentListOperation

Что-то не так с пространством имён или как дать понять сервису что необходимо получить с одного Предприятия те или иные данные принадлежашие конкретному ХС?
71. lalex23 159 24.07.17 18:13 Сейчас в теме
(69)
как дать понять сервису что необходимо получить с одного Предприятия те или иные данные принадлежашие конкретному ХС?

кажется я плохо читаю справку, вопрос свой снимаю - нашел где в запросах указывается issuerId
70. parusswtor 24.07.17 17:55 Сейчас в теме
Пытаюсь привязать предприятие к хс, через функцию modifyActivityLocationsRequest, для нее нужно заполнить параметр modificationOperation с типом BEActivityLocationsModificationOperation. У BEActivityLocationsModificationOperation есть реквизиты, которые не получается заполнить:
ХсГУИД = ЭлементыФормы.НайденныеХО.ТекущаяСтрока.guid;
BusinessEntity = Прокси.GetBusinessEntityByGuid(ХсГУИД); (тут всё находит)

BEActivityLocationsModificationOperation = ФабрикаXD.Создать("http://api.vetrf.ru/schema/cdm/cerberus/enterprise",  "BEActivityLocationsModificationOperation");

BEActivityLocationsModificationOperation.type = "FIND_OR_CREATE";
BEActivityLocationsModificationOperation.businessEntity = BusinessEntity; (а тут выдает ошибку, скрин во вложении)


Может подскажет кто, как победить?
Прикрепленные файлы:
74. spectre1978 60 24.07.17 19:42 Сейчас в теме
(70)поставьте фиддлер и дайте подготовленный SOAP-запрос в студию
77. parusswtor 25.07.17 09:58 Сейчас в теме
(70) Разобрался в чём была ошибка: BEActivityLocationsModificationOperation создан через ФабрикаXD, а BusinessEntity делаю через прокси. Так работает:
ХсГУИД = ЭлементыФормы.НайденныеХО.ТекущаяСтрока.guid;
Ответ = Прокси.GetBusinessEntityByGuid(ХсГУИД);
businessEntity = ФабрикаXD.Создать("http://api.vetrf.ru/schema/cdm/cerberus/enterprise",  "BusinessEntity");
businessEntity.guid = Ответ.guid;

BEActivityLocationsModificationOperation = ФабрикаXD.Создать("http://api.vetrf.ru/schema/cdm/cerberus/enterprise",  "BEActivityLocationsModificationOperation");

BEActivityLocationsModificationOperation.type = "FIND_OR_CREATE";
BEActivityLocationsModificationOperation.businessEntity = businessEntity;
Показать
kiv1c; mevgenym; +2 Ответить
72. Stepa86 1521 24.07.17 18:33 Сейчас в теме
У всех все в порядке с упаковками? А то до меня дошли слухи, что в Меркурий выкатили новые упаковки, но апи для их получения нет, а предопределенные значения все еще старые http://help.vetrf.ru/wiki/PackingForm
73. lalex23 159 24.07.17 19:40 Сейчас в теме
(72)
в Меркурий выкатили новые упаковки

эта радость в web-режиме доступна, вет.врачи уже плюются от отсутствия привычных и наличия особо нужных, говорят есть "гроб"
75. spectre1978 60 24.07.17 19:43 Сейчас в теме
(73)че, серьезно? Во Владимире кто-то явно с чувством юмора :)
78. Stepa86 1521 20.09.17 16:34 Сейчас в теме
Кто нить уже перешел на 2.0? Ну или хотя бы начал? Я даже wsdl прогрузить не могу, что-то
79. lalex23 159 20.09.17 17:09 Сейчас в теме
(78) я пока жду разведчиков, которые соберут глюки и попинают разработчиков, те починят самое кривое, а потому буду пилить
хотя есть слух что старт Меркурия переносится на пол-года
https://www.esphere.ru/press/mercury-perenos-srokov
80. tlvova 01.11.17 15:13 Сейчас в теме
Добрый день.
Подскажите, пожалуйста, почему возникает подобная ошибка.
Заранее спасибо.
Прикрепленные файлы:
86. DIMon_ru 3 27.11.17 07:50 Сейчас в теме
(80) Татьяна, день добрый.
Была подобная ошибка, решилась входом на Ветис.Паспорт и сменой пароля пользователя присвоенного при регистрации (как сказала поддержка - тестового пароля). Так что попробуйте сменить пароль.
81. user610556_9159530134 01.11.17 16:36 Сейчас в теме
Добрый день.
Может кто нибудь скинуть пример работы с меркурием, в частности интересует как добавлять подназорные объекты методом ModifyEnterpriseOperation.
82. eemart 02.11.17 04:00 Сейчас в теме
(81)
Добрый день.
Может кто нибудь скинуть пример работы с меркурием, в частности интересует как добавлять подназорные объекты методом ModifyEnterpriseOperation.

создание площадки
greatsnake; +1 Ответить
83. user610556_9159530134 03.11.17 08:46 Сейчас в теме
84. user610556_9159530134 21.11.17 15:50 Сейчас в теме
Добрый день.
Подскажите по ошибке:
<errors><apl:error code="MERC02275" qualifier="_consignment1" xmlns:apl="http://api.vetrf.ru/schema/cdm/application">Идентификатор записи складского журнала продукции обязателен для заполнения.</apl:error>
Пытаюсь создать транспортную операцию, в ней указывают две производственные партии, в id указываю _consignment1 и _consignment2, так же указываю для вет документов эти данные, версия 1.4
85. user610556_9159530134 21.11.17 16:41 Сейчас в теме
(84)
Добрый день.
Подскажите по ошибке:
Идентификатор записи складского журнала продукции обязателен для заполнения.
Пытаюсь создать транспортную операцию, в ней указывают две производственные партии, в id указываю _consignment1 и _consignment2, так же указываю для вет документов эти данные, версия 1.4


Разобрался, но оказалось что ошибка была не там где я думал
87. user610556_9159530134 28.11.17 14:48 Сейчас в теме
Возникла проблема.
При отправле ВДС через шлюз (версия 1.4) мы указываем тип транспортного средства 1 (автомобиль) и все остальные данные, при частичном гашении такой ВСД все проходит без проблем, если транспортную ВСД создавать через веб-интерфейс, то при частичном гашении по входным данным мы не можем получить тип транспортного средтсва, так как во входном ВДС его просто нет. Если тип не указан возникает ошибка "APLM0007 Wrong application data format. Format validation failed due to XML Schema rules: Элемент 'transportInfo' не предусмотрен", если его назначить как 1, то ошибка другого рода "MERC15234 Транспорт в сведениях о возврате продукции должен совпадать с указанным в ветеринарно-сопроводительном документе". Как можно обойти данную ошибку?
88. Rinat.G92 08.02.18 10:14 Сейчас в теме
Добрый день! Пытаюсь создать новый ХС через Ветис.Api, запрос все сформировал, отправляю, получаю ответ, и пишет что
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header/><env:Body><receiveApplicationResultResponse xmlns="http://api.vetrf.ru/schema/cdm/application/ws-definitions"><application xmlns="http://api.vetrf.ru/schema/cdm/application"><applicationId>82594528-4b57-42fa-b4e4-f9f655ebb13a</applicationId><status>REJECTED</status><servic­eId>mercury-g2b.service</serviceId><issuerId>fd8820a2-bb3f-4032-9584-9bc78c20fab1</issuerId><issueDate>2018-02-08T11:07:26.000+03:00</issueDate><rcvDate>2018-02-08T10:07:27.000+03:00</rcvDate><prdcRsltDate>2018-02-08T10:07:27.000+03:00</prdcRsltDate><errors><apl:error code="APLM0002" xmlns:apl="http://api.vetrf.ru/schema/cdm/application">Unsupported application data format</apl:error></errors></application></receiveApplicationResultRespo­nse></env:Body></env:Envelope>

Я понимаю что где то ошибка в запросе, но никак найти не могу, уже все перепроверил. Помогите плз решить проблему.
Код формирования запроса ниже

	Уник = стХС.ХозяйствующийСубъект.Ссылка.УникальныйИдентификатор();
	
	ОпределениеWS = WSСсылки.WSApplicationManagementsServiceTest.ПолучитьWSОпределения();
	
	Пакеты = Новый Массив;  
	ФабрикаWS = Новый ФабрикаXDTO(ОпределениеWS.ФабрикаXDTO.ЭкспортМоделиXDTO("http://api.vetrf.ru/schema/cdm/application/ws-definitions"), ФабрикаXDTO.Пакеты);  
	Пакеты.Добавить(ФабрикаXDTO.Пакеты.Получить("http://www.w3.org/2001/XMLSchema")); 
	Пакеты.Добавить(ФабрикаXDTO.Пакеты.Получить("http://api.vetrf.ru/schema/cdm/application")); 
	Пакеты.Добавить(ФабрикаXDTO.Пакеты.Получить("http://api.vetrf.ru/schema/cdm/base")); 
	Пакеты.Добавить(ФабрикаXDTO.Пакеты.Получить("http://api.vetrf.ru/schema/cdm/ikar")); 
	Пакеты.Добавить(ФабрикаXDTO.Пакеты.Получить("http://api.vetrf.ru/schema/cdm/cerberus/enterprise")); 
	Пакеты.Добавить(ФабрикаXDTO.Пакеты.Получить("http://api.vetrf.ru/schema/cdm/argus/common")); 
	Пакеты.Добавить(ФабрикаXDTO.Пакеты.Получить("http://api.vetrf.ru/schema/cdm/mercury/applications")); 
	Пакеты.Добавить(ФабрикаXDTO.Пакеты.Получить("http://schemas.xmlsoap.org/soap/envelope/")); 
	Для Каждого Пакет Из ФабрикаWS.Пакеты Цикл  
		Пакеты.Добавить(Пакет);  
	КонецЦикла; 
	
	ФабрикаXD = Новый ФабрикаXDTO(, Пакеты);
	
	ПараметрыПодключение = Справочники.ИнтернетАвторизация.Меркурий.Параметры;
	ApiKey = ПараметрыПодключение.Найти("APIKey").Значение;
	ServiceID = ПараметрыПодключение.Найти("ServiceID").Значение;
	IssuerID = ПараметрыПодключение.Найти("IssuerID").Значение;
	Порт = ПараметрыПодключение.Найти("Порт").Значение;
	АдресОтправки = ПараметрыПодключение.Найти("Адрес").Значение;
	
	ТипnonNegativeInteger = ФабрикаXD.Тип("http://www.w3.org/2001/XMLSchema", "nonNegativeInteger");  
	ТипlistOptions = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/base", "ListOptions");  
	
	count   = ФабрикаXD.Создать(ТипnonNegativeInteger, 1000);  
	offset = ФабрикаXD.Создать(ТипnonNegativeInteger, 0);  
	
	listOptions = ФабрикаXD.Создать(ТипlistOptions);  
	listOptions.count = count;  
	listOptions.offset = offset;  
	
	Пароль = Справочники.ИнтернетАвторизация.Меркурий.Пароль;
	Пользователь = Справочники.ИнтернетАвторизация.Меркурий.Пользователь;
	
	ПроксиСтран = WSСсылки.WSIkarServiceTest.СоздатьWSПрокси("http://api.vetrf.ru/schema/cdm/registry/service", "IkarServiceBindingQSService", "IkarServiceBindingQSPort");  
	ПроксиСтран.Пользователь = Пользователь;  
	ПроксиСтран.Пароль = Пароль;  
	
	СписокСтран = ПроксиСтран.GetAllCountryList(listOptions);  		
	
	тзСтраны = Новый ТаблицаЗначений;
	тзСтраны.Колонки.Добавить("uuid");
	тзСтраны.Колонки.Добавить("guid");
	тзСтраны.Колонки.Добавить("name");
	тзСтраны.Колонки.Добавить("code");
	
	Для каждого стСтраны Из СписокСтран.country Цикл
		Если НЕ стСтраны.code="RU" Тогда Продолжить;КонецЕсли; 
		НоваяСтрока = тзСтраны.Добавить(); 
		ЗаполнитьЗначенияСвойств(НоваяСтрока,стСтраны);
	КонецЦикла;		
	Страна = тзСтраны[0];
	
	Типcountryguid = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/base", "UUID");
	countryguid = ФабрикаXD.Создать(Типcountryguid, Страна.guid);
	
	СписокРегионов = ПроксиСтран.GetRegionListByCountry(listOptions,countryguid);  		
	
	тзРегионов = Новый ТаблицаЗначений;
	тзРегионов.Колонки.Добавить("uuid");
	тзРегионов.Колонки.Добавить("guid");
	тзРегионов.Колонки.Добавить("name");
	тзРегионов.Колонки.Добавить("regionCode");
	
	Для каждого стРегион Из СписокРегионов.region Цикл
		НоваяСтрока = тзРегионов.Добавить(); 
		ЗаполнитьЗначенияСвойств(НоваяСтрока,стРегион);
	КонецЦикла;		
	
	
	Типcountryname = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/base", "String255");
	countryname = ФабрикаXD.Создать(Типcountryname, Страна.name);
	
	Адрес = УправлениеКонтактнойИнформацией.ПолучитьАдрес(стХС.ХозяйствующийСубъект, "Юридический");
	
	Регион = тзРегионов.Найти(Адрес.Регион,);
	
	Типcountry  = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/ikar", "Country");  
	country = ФабрикаXD.Создать(Типcountry);
	country.guid = countryguid;
	
	Типregionguid = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/base", "UUID");
	regionguid = ФабрикаXD.Создать(Типregionguid, Регион.guid);
	
	Типregion  = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/ikar", "Region");  
	region = ФабрикаXD.Создать(Типregion);
	region.guid = regionguid;
	
	ТипaddressView = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/base", "String255");
	addressView = ФабрикаXD.Создать(ТипaddressView, Адрес.Представление);
	
	ТипbusinessEntityjuridicalAddress  = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/ikar", "Address");  
	juridicalAddress = ФабрикаXD.Создать(ТипbusinessEntityjuridicalAddress);
	juridicalAddress.country = country;
	juridicalAddress.region = region;
	juridicalAddress.addressView = addressView;
	
	Типcode  = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/base", "String255");  
	code = ФабрикаXD.Создать(Типcode, стХС.ХозяйствующийСубъект.ОКОПФ.Код);
	
	ТипbusinessEntityincorporationForm  = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/cerberus/enterprise", "IncorporationForm");  
	incorporationForm = ФабрикаXD.Создать(ТипbusinessEntityincorporationForm);
	incorporationForm.code = code;
	
	ТипЮрФизЛица = 0;
	Если стХС.ХозяйствующийСубъект.ЮрФизЛицо=Перечисления.ЮрФизЛицо.ЮрЛицо Тогда
		ТипЮрФизЛица = 1;
	ИначеЕсли	стХС.ХозяйствующийСубъект.ЮрФизЛицо=Перечисления.ЮрФизЛицо.ФизЛицо Тогда
		ТипЮрФизЛица = 2;
	ИначеЕсли	НЕ стХС.ХозяйствующийСубъект.ЮрФизЛицо=Перечисления.ЮрФизЛицо.ФизЛицо И НЕ стХС.ХозяйствующийСубъект.ЮрФизЛицо=Перечисления.ЮрФизЛицо.ЮрЛицо Тогда
		ТипЮрФизЛица = 3;
	КонецЕсли; 
	
	ТипbusinessEntitytype = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/cerberus/enterprise", "BusinessEntityType");
	businessEntitytype = ФабрикаXD.Создать(ТипbusinessEntitytype, ТипЮрФизЛица);
	
	Типname  = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/base", "String255");  
	name = ФабрикаXD.Создать(Типname, стХС.ХозяйствующийСубъект.Наименование);
	
	ТипfullName  = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/base", "String255");  
	fullName = ФабрикаXD.Создать(ТипfullName, стХС.ХозяйствующийСубъект.НаименованиеПолное);
	
	ТипbusinessEntityinn  = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/base", "String255");  
	businessEntityinn = ФабрикаXD.Создать(ТипbusinessEntityinn, стХС.ХозяйствующийСубъект.ИНН);
	
	ТипbusinessEntitykpp  = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/base", "String255");  
	businessEntitykpp = ФабрикаXD.Создать(ТипbusinessEntitykpp, стХС.ХозяйствующийСубъект.КПП);
	
	ТипbusinessEntityogrn  = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/base", "String255");  
	businessEntityogrn = ФабрикаXD.Создать(ТипbusinessEntityogrn, стХС.ХозяйствующийСубъект.ЕГРН);
	
	ТипbusinessEntity  = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/cerberus/enterprise", "BusinessEntity");  
	businessEntity2 = ФабрикаXD.Создать(ТипbusinessEntity);
	businessEntity2.type = businessEntitytype;
	businessEntity2.incorporationForm = incorporationForm;
	businessEntity2.name = name;
	businessEntity2.fullName = fullName;
	businessEntity2.inn = businessEntityinn;
	businessEntity2.kpp = businessEntitykpp;
	businessEntity2.ogrn = businessEntityogrn;
	businessEntity2.juridicalAddress = juridicalAddress;
	
	
	ТипnonNegativeInteger = ФабрикаXD.Тип("http://www.w3.org/2001/XMLSchema", "nonNegativeInteger");  
	count   = ФабрикаXD.Создать(ТипnonNegativeInteger, 1000);  
	offset = ФабрикаXD.Создать(ТипnonNegativeInteger, 0);  
	
	
	ТипresultingList  = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/cerberus/enterprise", "BusinessEntityList");  
	resultingList = ФабрикаXD.Создать(ТипresultingList);
	resultingList.count =  100;
	resultingList.offset =  0;
	resultingList.total =  1;
	resultingList.businessEntity.Добавить(businessEntity2);
	
	Типreason  = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/base", "String255");  
	reason = ФабрикаXD.Создать(Типreason, "тест");
	
	Типtype  = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/base", "RegisterModificationType");  
	type = ФабрикаXD.Создать(Типtype, "FIND_OR_CREATE");
	
	ТипmodificationOperation  = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/cerberus/enterprise", "BEModificationOperation");  
	modificationOperation = ФабрикаXD.Создать(ТипmodificationOperation);
	modificationOperation.type = type;
	modificationOperation.resultingList = resultingList;
	modificationOperation.reason = reason;
	
	Типinitiator  = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/argus/common", "User");  
	initiator = ФабрикаXD.Создать(Типinitiator);
	initiator.login = Пользователь;
	
	ТипlocalTransactionId = ФабрикаXD.Тип("http://www.w3.org/2001/XMLSchema", "NCName");  
	localTransactionId = ФабрикаXD.Создать(ТипlocalTransactionId,СокрЛП(Уник));
	
	ТипmodifyBusinessEntityRequest = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/mercury/applications", "ModifyBusinessEntityRequest");
	modifyBusinessEntityRequest = ФабрикаXD.Создать(ТипmodifyBusinessEntityRequest);
	modifyBusinessEntityRequest.localTransactionId = localTransactionId;
	modifyBusinessEntityRequest.initiator = initiator;
	modifyBusinessEntityRequest.modificationOperation = modificationOperation;
	
	ТипApplicationDataWrapper 	= ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/application", "ApplicationDataWrapper");
	ApplicationDataWrapper = ФабрикаXD.Создать(ТипApplicationDataWrapper);
	ApplicationDataWrapper.Добавить(ФормаXML.Элемент, modifyBusinessEntityRequest.Тип().URIПространстваИмен, "ModifyBusinessEntityRequest", modifyBusinessEntityRequest);
	
	ТипissueDate 	= ФабрикаXD.Тип("http://www.w3.org/2001/XMLSchema", "dateTime");
	Date = ФабрикаXD.Создать(ТипissueDate,ТекущаяДата());
	
	ТипserviceId 	= ФабрикаXD.Тип("http://www.w3.org/2001/XMLSchema", "NCName");
	service = ФабрикаXD.Создать(ТипserviceId,ServiceID);
	
	ТипissuerId 	= ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/base", "UUID");
	issuer = ФабрикаXD.Создать(ТипissuerId,IssuerID);
	
	
	ТипApplication = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/application", "Application");
	Appl = ФабрикаXD.Создать(ТипApplication);
	Appl.serviceId 	= service;
	Appl.issuerId	= issuer;
	Appl.issueDate	= Date;
	Appl.data = ApplicationDataWrapper;
	
	ТипAppi = ФабрикаXD.Тип("http://www.w3.org/2001/XMLSchema", "string");
	Appi=ФабрикаXD.Создать(ТипAppi,ApiKey);
	
	ТипSubmitRequestDO = ФабрикаXD.Тип("http://api.vetrf.ru/schema/cdm/application/ws-definitions", "submitApplicationRequest"); 
	SubmitRequestDO = ФабрикаXD.Создать(ТипSubmitRequestDO);
	SubmitRequestDO.apiKey 		= Appi;
	SubmitRequestDO.application = Appl;
	
	EnvelopeDO = ФабрикаXD.Создать("http://schemas.xmlsoap.org/soap/envelope/", "Envelope");
	EnvelopeDO.Body = ФабрикаXD.Создать("http://schemas.xmlsoap.org/soap/envelope/", "Body");	
	EnvelopeDO.Body.Добавить(ФормаXML.Элемент, SubmitRequestDO.Тип().URIПространстваИмен, "submitApplicationRequest", SubmitRequestDO); 
	
	ТелоXML = Новый ЗаписьXML;  
	ТелоXML.УстановитьСтроку("UTF-8");  
	ФабрикаXD.ЗаписатьXML(ТелоXML, EnvelopeDO);  
	Строка = ТелоXML.Закрыть();
	
	ЗапросWeb = Новый HTTPЗапрос("platform/services/ApplicationManagementService");  
	ЗапросWeb.УстановитьТелоИзСтроки(Строка);  
	
	СоединениеWeb = Новый HTTPСоединение(АдресОтправки, Число(Порт), Пользователь, Пароль,,Истина);  
	ОтветWeb = СоединениеWeb.ОтправитьДляОбработки(ЗапросWeb);  
	
	ОтветXML = Новый ЧтениеXML;  
	ОтветXML.УстановитьСтроку(ОтветWeb.ПолучитьТелоКакСтроку("UTF-8"));
	MercAppDO = ФабрикаXD.ПрочитатьXML(ОтветXML, EnvelopeDO.Тип()).Body.submitApplicationResponse.application;  
	
	receiveRequestDO = ФабрикаXD.Создать("http://api.vetrf.ru/schema/cdm/application/ws-definitions", "receiveApplicationResultRequest");
	receiveRequestDO.apiKey			= ApiKey;
	receiveRequestDO.issuerID 		= IssuerID;
	receiveRequestDO.applicationId 	= MercAppDO.applicationId;
	
	EnvelopeDO.Body = ФабрикаXD.Создать("http://schemas.xmlsoap.org/soap/envelope/", "Body");	
	EnvelopeDO.Body.Добавить(ФормаXML.Элемент, receiveRequestDO.Тип().URIПространстваИмен, "receiveApplicationResultRequest", receiveRequestDO);
	
	ТелоXML = Новый ЗаписьXML;  
	ТелоXML.УстановитьСтроку("UTF-8");  
	ФабрикаXD.ЗаписатьXML(ТелоXML, EnvelopeDO);  
	Строка = ТелоXML.Закрыть();
	
	ЗапросWeb = Новый HTTPЗапрос("platform/services/ApplicationManagementService");  
	ЗапросWeb.УстановитьТелоИзСтроки(Строка);
	
	Пока Истина Цикл
		ОбработкаПрерыванияПользователя();
		ОтветWeb = СоединениеWeb.ОтправитьДляОбработки(ЗапросWeb);
		Если (ОтветWeb.КодСостояния <> 200) Тогда 
			ТекстОшибки = "Ошибка при получении ответа на запрос";
			Сообщить(ТекстОшибки);
			Возврат(""); 
		КонецЕсли;
		
		// десериализуем  
		ОтветXML = Новый ЧтениеXML;  
		ОтветXML.УстановитьСтроку(ОтветWeb.ПолучитьТелоКакСтроку("UTF-8"));
		MercAppDO1 = ФабрикаXD.ПрочитатьXML(ОтветXML, EnvelopeDO.Тип()).Body.receiveApplicationResultResponse.application;
		Если MercAppDO1.Status = "IN_PROCESS" Тогда
			Предупреждение("Ждем ответа", 1);			
		Иначе
			ОтветСтрока = ОтветWeb.ПолучитьТелоКакСтроку("UTF-8");
			Если MercAppDO1.status <> "COMPLETED" Тогда
				Сообщить(ОтветСтрока);
				Возврат("");
			Иначе
				Возврат(MercAppDO1);
			КонецЕсли;
		КонецЕсли;
	КонецЦикла; 	
Показать
89. mevgenym 87 08.02.18 13:19 Сейчас в теме
лучше приводите текст запроса
90. Rinat.G92 08.02.18 14:28 Сейчас в теме
(89)

текст запроса тоже могу скинуть, только там непонятные какие символы прикрепляет еще, не могу понять почему и откуда (например: d7p1)

<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<Body>
		<submitApplicationRequest xmlns="http://api.vetrf.ru/schema/cdm/application/ws-definitions">
			<apiKey>*********</apiKey>
			<application xmlns="http://api.vetrf.ru/schema/cdm/application">
				<serviceId>mercury-g2b.service</serviceId>
				<issuerId>***********</issuerId>
				<issueDate>2018-02-08T13:05:41</issueDate>
				<data>
					<ModifyBusinessEntityRequest xmlns="http://api.vetrf.ru/schema/cdm/mercury/applications">
						<localTransactionId>ed9e7e96-6111-11e5-9b12-485b39d77f35</localTransactionId>
						<initiator xmlns:d7p1="http://api.vetrf.ru/schema/cdm/argus/common">
							<d7p1:login>********</d7p1:login>
						</initiator>
						<modificationOperation xmlns:d7p1="http://api.vetrf.ru/schema/cdm/cerberus/enterprise">
							<d7p1:type>FIND_OR_CREATE</d7p1:type>
							<d7p1:resultingList count="100" total="1" offset="0">
								<d7p1:businessEntity>
									<d7p1:type>1</d7p1:type>
									<d7p1:name>ХЭДХАНТЕР ООО</d7p1:name>
									<d7p1:incorporationForm>
										<d7p1:code>11000</d7p1:code>
									</d7p1:incorporationForm>
									<d7p1:fullName>ООО "ХЭДХАНТЕР"</d7p1:fullName>
									<d7p1:inn>7718620740</d7p1:inn>
									<d7p1:kpp>771701001</d7p1:kpp>
									<d7p1:ogrn>1067761906805</d7p1:ogrn>
									<d7p1:juridicalAddress xmlns:d10p1="http://api.vetrf.ru/schema/cdm/ikar">
										<d10p1:country>
											<guid xmlns="http://api.vetrf.ru/schema/cdm/base">74a3cbb1-56fa-94f3-ab3f-e8db4940d96b</guid>
										</d10p1:country>
										<d10p1:region>
											<guid xmlns="http://api.vetrf.ru/schema/cdm/base">52618b9c-bcbb-47e7-8957-95c63f0b17cc</guid>
										</d10p1:region>
										<d10p1:addressView>129085, Удмуртская Респ, дом №9, корпус Стр 10</d10p1:addressView>
									</d7p1:juridicalAddress>
								</d7p1:businessEntity>
							</d7p1:resultingList>
							<d7p1:reason>тест</d7p1:reason>
						</modificationOperation>
					</ModifyBusinessEntityRequest>
				</data>
			</application>
		</submitApplicationRequest>
	</Body>
</Envelope>
Показать
91. fly_byte@mail.ru 17.10.18 05:32 Сейчас в теме
Господа, кто то налаживал интеграцию для ветеринарии именно? Там и шлюз другой и т.д. Есть такие? Мне заказала ветеринория региональная, апи получил, опыт комерческих мясозаводов успешный есть, а вот там жесть. Есть кто пробовал ветеринарию, на подконтрольные субьекты а не на саму себя?
93. user930087 19.07.19 11:26 Сейчас в теме
как для производственной партии указать Проводилась ли ветсанэкспертиза?
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)