Автор |
Сообщение |
|
rty wrote:
ZDmitry wrote:С фабриками до этого не работал. Что я делаю не так? Спасибо.
Объекту XDTO можно присвоить значение другого объекта XDTO только созданного той же фабрикой XDTO и судя по ошибке не указываете тип при чтении фабрикой текста xml, это создаст ряд трудностей при разборе
Это все понял. Спасибо. Еще вопрос при получении журнала продукции getStockEntryListRequest есть тег merc:searchPattern для фильтра, что это за тип, в каком пакете? По Вики не описан.
|
 |
|
Подскажите пожалуйста, столкнулся с проблемой. Я пытаюсь собрать объект для гашения ЭВСД, для этого из полученного объекта ЭВСД беру допустим объект consignee. Делаю примерно так:
delivery = Фабрика.Создать(Фабрика.Тип("http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2", "Delivery"));
delivery.consignee = ОбъектЭВСД.getVetDocumentByUuidResponse.vetDocument.certifiedConsignment.consignee;
Получаю ошибку :
Несоответствие типов XDTO:
Тип '{http://www.w3.org/2001/XMLSchema}anyType' не соответствует типу '{http://api.vetrf.ru/schema/cdm/dictionary/v2}BusinessMember'
Тип свойства не соответствует типу значения
С фабриками до этого не работал. Что я делаю не так? Спасибо.
|
 |
|
lalex23 wrote:
Sergey-Chelny wrote:ZDmitry, вот вчера с подобным запросом мучился. Причиной "REJECTED" оказалось что тут нужно указать с большой буквы:
ЗапросСпискаВСД = ФабрикаХД.Создать("http://api.vetrf.ru/schema/cdm/mercury/g2b/applications/v2","GetVetDocumentListRequest");
а тут с маленькой:
Конверт = ПодачаЗаявки (ФабрикаХД, ПараметрыПодключения, ЗапросСпискаВСД, "getVetDocumentListRequest");
Ох уж эти волшебники меркурианские.............
P.S. Может и в вашем случае выстрелит. 
В 2.0 имя типа объекта - с большой буквы, имя объекта - с маленькой, в 1.4 встречались варианты когда и то и другое - с маленькой буквы
Спасибо! Помогло понять!
|
 |
|
У меня построено на HTTPЗапросах и REJECT выходит при отправке запроса на получение ответа receiveApplicationResultRequest
ЗапросWeb = Новый HTTPЗапрос("platform/services/2.0/ApplicationManagementService");
ЗапросWeb.УстановитьТелоИзСтроки(ТелоXML.Закрыть());
СоединениеWeb = Новый HTTPСоединение(Сервис, 8002, Логин, Пароль,,Истина);
ОтветWeb = СоединениеWeb.ОтправитьДляОбработки(ЗапросWeb);
Если (ОтветWeb.КодСостояния = 200) Тогда
ОтветXML = Новый ЧтениеXML;
ОтветXML.УстановитьСтроку(ОтветWeb.ПолучитьТелоКакСтроку("UTF-8"));
Результат = Фабрика.ПрочитатьXML(ОтветXML, Envelope.Тип()).Body.receiveApplicationResultResponse;
КонецЕсли;
|
 |
|
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" xmlns s="http://www.w3.org/2001/XMLSchema" xmlns si="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:2.0</serviceId>
<issuerId>***</issuerId>
<issueDate>2018-03-07T12:00:37</issueDate>
<data>
<GetVetDocumentListRequest xmlns="http://api.vetrf.ru/schema/cdm/mercury/g2b/applications/v2">
<localTransactionId>a10003</localTransactionId>
<initiator xmlns:d7p1="http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2">
<d7p1:login>***</d7p1:login>
</initiator>
<listOptions xmlns="http://api.vetrf.ru/schema/cdm/base">
<count>10</count>
<offset>0</offset>
</listOptions>
<vetDocumentType xmlns="http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2">INCOMING</vetDocumentType>
<enterpriseGuid xmlns="http://api.vetrf.ru/schema/cdm/dictionary/v2">***</enterpriseGuid>
</GetVetDocumentListRequest>
</data>
</application>
</submitApplicationRequest>
</Body>
</Envelope>
Получаю ACCEPTED и идентификатор, дальше делаю:
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" xmlnss="http://www.w3.org/2001/XMLSchema" xmlnssi="http://www.w3.org/2001/XMLSchema-instance">
<Body>
<receiveApplicationResultRequest xmlns="http://api.vetrf.ru/schema/cdm/application/ws-definitions">
<apiKey>***</apiKey>
<issuerId>***</issuerId>
<applicationId>153e7743-dc0f-4b21-b48f-8901d503e682</applicationId>
</receiveApplicationResultRequest>
</Body>
</Envelope>
Получаю "APLM0002" status "REJECTED"
|
 |
|
Спасибо. Получилось. Теперь при получении ответа "APLM0002" status "REJECTED"
Запрос формируется такой:
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" xmlns s="http://www.w3.org/2001/XMLSchema" xmlns si="http://www.w3.org/2001/XMLSchema-instance">
<Body>
<receiveApplicationResultRequest xmlns="http://api.vetrf.ru/schema/cdm/application/ws-definitions">
<apiKey>***</apiKey>
<issuerId>***</issuerId>
<applicationId>153e7743-dc0f-4b21-b48f-8901d503e682</applicationId>
</receiveApplicationResultRequest>
</Body>
</Envelope>
|
 |
|
Добрый день коллеги!
Подскажите, кто как формирует объекты типа Initiator, например для операции getVetDocumentListRequest. Не нахожу в пакетах этого типа. Вручную нужно формировать? Или я не понимаю что-то? Спасибо.
|
 |
|
Подскажите, как долго предоставляется доступ к продуктивному серверу? Подал заявку 21.12.2017 на api@vetrf.ru. Никакого ответа до сих пор нет. У кого какой опыт получения доступа? На тестовом контуре частично протестировали работу. Доступ к рабочему нужен, чтобы сопоставить справочники номенклатуры, клиентов, поставщиков и т.д. Мы же не можем сопоставить справочники с тестовыми, а потом заняться этим заново на продуктиве. Заранее спасибо!
|
 |
|
my.vetrf-forum wrote:когда заходите в Меркурий там можно выбрать обслуживаемое предприятие.
справа от надписи "Выбор обслуживаемого предприятия" есть зеленая кнопочка. нажмите ее.
Спасибо огромное!
|
 |
|
Скажите пожалуйста. Есть возможность посмотреть гуиды наших площадок на продуктивном сервере, если нет доступа к апи продуктивного сервера? К вебу доступ есть.
|
 |
|
Скажите пожалуйста. У кого нибудь есть форма заявки на подключение апи продуктивного сервера не в ПДф, а нормальным доком?
|
 |
|
СергейА wrote:
ZDmitry wrote:Справочная информация одинаковая и на тестовом и на продуктивном серверах? Я имею ввиду площадки и номенклатура? Просто на реальный у нас есть доступ только к веб интерфейсу и там я вижу площадки, которые через АПИ не нахожу по тестовым логином и паролем.
Все гуиды и уиды в тестовой и боевой отличаются
Я знал))) Что с этим делать? Мы же не можем сопоставить справочник в 2000 позиций номенклатуры и в 1000 контрагентов с тестовым сервером поработать на нем недельку, а потом начать все снова. Сразу начинать на продуктиве? Кто как планирует?
|
 |
|
Справочная информация одинаковая и на тестовом и на продуктивном серверах? Я имею ввиду площадки и номенклатура? Просто на реальный у нас есть доступ только к веб интерфейсу и там я вижу площадки, которые через АПИ не нахожу по тестовым логином и паролем.
|
 |
|
Добрый день. Не очень понятно зачем при приемке продукции электронным ВСД в запросе указывать все реквизиты! Зачем так нужно было так делать? Ведь в пришедшем ВСД все есть! В чем тут логика? Логично было бы указывать идентификатор и количество. Или я не прав?
|
 |
|
4х уровневая номенклатура. Сделай GetProductItemList, увидишь по продукту все 4 идентификатора. Их и указываешь в запросе при оформлении партии.
|
 |
|