|
[Search] Поиск   [Recent Topics] Последние темы   [Hottest Topics] Горячие темы   [Members]  Список участников   [Groups] На главную страницу 
[Register] Регистрация / 
[Login] Вход 
Взаимодействие с учетными системами хозяйствующих субъектов  XML
Индекс форума » Автоматизированная система МЕРКУРИЙ
Автор Сообщение
michaelcorleone

[Avatar]

Зарегистрирован: 26/10/2016 07:20:20
Сообщений: 19
Оффлайн

Stepa86 wrote:Добрый день. Есть вопросы.

1) Где-нибудь есть шаблон формирования строки адреса для веб версии? Хочу иметь возможность из нашей системы в один клик открывать объект в веб-версии. Особенно актуально на этапе разработки и тестирования. Для ВСД сейчас это выглядит примерно так: https://t2-mercury.vetrf.ru/gve/operatorui?_action=showVetDocumentForm&_language=ru&vetDocument=00001 , но вот как раз этот номер и не передается в ответах. Как сформировать аналогичную строку на основе гуида ВСД - не понятно.

2) Кто как работает с кодами ошибок? Откуда взять весь список? Я походил по вики, собрал все в одну табличку, получилось 912 кодов. Но чаще в ответе приходит какой-нибудь новый код, который не гуглится на вики и иногда находится на форуме, но чаще и там не находится. Как с такими быть? Разработчикам: может есть возможность вместе с кодом ошибки отдавать и его описание? Ну или сделать веб-сервис, который будет отдавать список соответствия кодов описаниям. А то в случае появления нового кода ошибки и занесения его в вики шансов узнать о нем нашей системе немного.

3) Совершенно не понял как работать с организационно-правовой формой в ХС. Везде в документации написано, что это объект с тремя полями name, code и shortName 1, 2, 3 Но при импорте ХС списком и по гуиду там приходит ууид (или вообще ничего не приходит), а при попытке изменить ХС с заполнением 3х полей возвращается ошибка MERC04347, описания которой я нигде не нашел. Возможно это как раз изза того, что в ОПФ указаны эти 3 поля, а не ууид. Как правильно с ними работать? Как получить соответстие ууид и коду по ОКОПФ? Я пока вижу только такой способ: получить все ХС списком, у кого указан ууид ОПФ и ОПФ можно определить из наименования, то ставить в соответствие.


По существу может ничего такого не скажу, но удачи в этом нелегком деле. Тут как в сказке, чем дальше - тем страшнее Приходится квест проходить - собирать все по крупицам из разных мест

1) Я нашел только примеры запросов, к примеру - http://help.vetrf.ru/wiki/GetVetDocumentByUuidOperation#.D0.9E.D0.B1.D1.8A.D0.B5.D0.BA.D1.82_getVetDocumentByUuidRequest в самом конце развернуть список.
2) Интересно было бы получить такой, хотя вроде вместе с кодом ошибки идет ее пояснение при получении ответа
3) Не совсем понятен вопрос, может приложите запрос какой вы отправляете на сервер?

Это сообщение было редактировано 2 раз. Последнее обновление произошло в 03/11/2016 11:24:48

gildebrand


Зарегистрирован: 03/11/2016 11:09:27
Сообщений: 1
Оффлайн

Алексей Тимофеев wrote:
Да, ограничение есть. На данный момент это не более 5 запросов от одного пользователя/IP в секунду. Запросы, не удовлетворяющие этим правилам, отклоняются с http-статусом 429 -- Too Many Requests.

...
Алексей Тимофеев wrote:
Да, это общее ограничение для всех запросов к шлюзу. Даже если это будет обычный GET-запрос на получение WSDL.
На наш взгляд, 5 запросов в секунду достаточно большая цифра, может быть даже очень. Но если всё-таки будут возникать какие-то проблемы с этим (при нормальном режиме работы с сервером), дайте знать.

Ограничение одинаковое и для пилотного сервера, и для боевого -- можно оттестироваться ещё в процессе разработки. К слову, ещё и поэтому мы обычно рекомендуем поработать какое-то время всем врачам предприятия (в многопользовательском режиме) на пилотном сервере.


Уважаемый Алексей,
мы попытались получить HTTP 429, отправив много сообщений (больше 10 сообщений в секунду) и ошибки HTTP 429 не получили. На все зарпросы были получены ответы от вашего сервера HTTP 200.
Не могли ли вы прокомментировать этот факт? Т.е. почему мы не получили HTTP 429?
P.S. Можем предоставить логи, если это поможет вам с ответом.

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

Это сообщение было редактировано 1 раз. Последнее обновление произошло в 07/11/2016 16:57:44

Mariner-10


Зарегистрирован: 25/10/2016 14:45:00
Сообщений: 10
Оффлайн

Николай Власов wrote:Что касается "Выбора получателя для возврата", то ваше предложение однозначно не проходит: оно нарушает логику процесса: возврат - это совершенно конкретно - из точки В в точку А и ни каких других вариантов. Иначе это не возврат, а новое перемещение.
Касательно StockEntry не могу ни чего сказать - программисты пусть ответят.

Добрый день,
1. по возвратам или новым перемещениям:
с точки зрения учета это трудно назвать новым перемещением.
Текущий процесс -
Складской учет:
при отпуске со склада1: отпуск со склада1 поставщика - приемка в запас в пути
по факту отказа принимать клиентом: ничего, водитель направляется к складу2 для возврата, перепечатывать сопроводительные документы не нужно;
при приемке на складе2: отпуск из запаса в пути - приемка на склад2 поставщика
Бухгалтерский учет: все аналогично, одно и то же юрлицо, т.к. бухучет в разрезе складов не ведется,
при отпуске со склада1: д45'товары в пути' к43 'готовая продукция'
по факту отказа принимать клиентом: ничего;
при приемке на складе2: д43'готовая продукция' к45 'товары в пути'

Предлагаемый Меркурием процесс (оставлю только складской):
при отпуске со склада1: отпуск со склада1 поставщика - приемка в запас в пути
по факту отказа принимать клиентом: 1. списание с запаса в пути - поступление на склад 1; 2. списание со склада 1 - поступление в запас в пути
при приемке на складе2: списание с запаса в пути - поступление на склад 2.

С учетом того, что процесс физически меняться не будет и процесс в системе учета ему соответствует, в связке с Меркурием придется реализовывать так:
при отпуске со склада1:
система учета: отпуск со склада1 поставщика - приемка в запас в пути; Меркурий: транспортный ВСД на клиента;
при приемке на складе2:
система учета: отпуск из запаса в пути - приемка на склад2 поставщика; Меркурий: возвратный ВСД от клиента на склад 1; транспортный ВСД на склад2.

2. по StockEntry - разработчики системы, просьба уточнить, зачем так сделано.





Егорова Ирина

[Avatar]

Зарегистрирован: 31/08/2015 11:57:04
Сообщений: 294
От: ФГБУ ВНИИЗЖ
Оффлайн

2. по StockEntry - разработчики системы, просьба уточнить, зачем так сделано.


В случа если в системе учета поставщика оформляется возврат не гашением возвратного, а оформлением отдельного транспортного ВСД клиентом, вопросов не возникает - поставщик должен сам решить, с чем схлопывать возвращенный клиентом StockEntry и надо ли это ему. В случае же гашения возвратного по связке исходный транспортный ВСД - возвратный ВСД можно найти исходный StockEntry поставщика и оформлять приход на поставщике именно в исходную StockEntry вместо формирования новой, что избавило бы от необходимости дополнительно отправлять запросы на объединение записей StockEntry, нагружая систему.


Уточню такой момент: возвратный сертификат оформляется в случае, если продукция была осмотрена получателем, и он решил отправить её обратно той же машиной. Если же получатель принял товар, погасил входной ВСД и только потом решил, что продукция по каким-то параметрам ему не подходит и её надо вернуть, то оформляется обычный транспортный сертификат.
Возвратный сертификат с точки зрения Меркурия ничем не отличается от транспортного, кроме типа "возвратный". Когда вы гасите у себя возвратный сертификат, у вас появляется новая запись в журнале входной продукции (точно так же, как если бы вы гасили транспортный), а в дальнейшем вы решаете, что с ней делать: "схлопывать" её, отдавать на экспертизу, утилизровать и т.д.
Почему не объединяется автоматически при возврате. Во-первых, возврат может быть произведён из-за ненадлежащего качества товара. Объединять качественную и некачественную продукцию как минимум неправильно, тем более автоматически. Во-вторых, по сути, партия, которую перемещали от поставщика к получателю и от получателя к поставщику, может отличаться от той что вы храните на складе: могли меняться условия хранения, есть вероятность нарушения упаковки, потери части партии и другие неприятности. Это могло привести к тому, что качество товара изменилось.

аналитик отдела внедрения
Федерального центра охраны здоровья животных, г. Владимир
Егорова Ирина

[Avatar]

Зарегистрирован: 31/08/2015 11:57:04
Сообщений: 294
От: ФГБУ ВНИИЗЖ
Оффлайн

1) Где-нибудь есть шаблон формирования строки адреса для веб версии? Хочу иметь возможность из нашей системы в один клик открывать объект в веб-версии. Особенно актуально на этапе разработки и тестирования. Для ВСД сейчас это выглядит примерно так: https://t2-mercury.vetrf.ru/gve/operatorui?_action..._language=ru&vetDocument=00001 , но вот как раз этот номер и не передается в ответах. Как сформировать аналогичную строку на основе гуида ВСД - не понятно.


Вот ссылка: http://mercury.vetrf.ru/pub/operatorui?_language=ru&_action=showVetDocumentFormByUuid&uuid={uuid}

Кто как работает с кодами ошибок? Откуда взять весь список? Я походил по вики, собрал все в одну табличку, получилось 912 кодов. Но чаще в ответе приходит какой-нибудь новый код, который не гуглится на вики и иногда находится на форуме, но чаще и там не находится. Как с такими быть? Разработчикам: может есть возможность вместе с кодом ошибки отдавать и его описание? Ну или сделать веб-сервис, который будет отдавать список соответствия кодов описаниям. А то в случае появления нового кода ошибки и занесения его в вики шансов узнать о нем нашей системе немного.


Вместе с кодом ошибки возвращается и её описание. Код ошибки возвращается как атрибут code тега error в receiveApplicationResultResponse. Описание ошибки содержится в самом теге. К сожалению, сейчас в справке есть описание только ошибок с кодом MERC. Также вам могут быть возвращены ошибки с кодами APL или APLM. Обычно это означает, что у вас что-то не так с запросом.


3) Совершенно не понял как работать с организационно-правовой формой в ХС. Везде в документации написано, что это объект с тремя полями name, code и shortName 1, 2, 3 Но при импорте ХС списком и по гуиду там приходит ууид (или вообще ничего не приходит), а при попытке изменить ХС с заполнением 3х полей возвращается ошибка MERC04347, описания которой я нигде не нашел. Возможно это как раз изза того, что в ОПФ указаны эти 3 поля, а не ууид. Как правильно с ними работать? Как получить соответстие ууид и коду по ОКОПФ? Я пока вижу только такой способ: получить все ХС списком, у кого указан ууид ОПФ и ОПФ можно определить из наименования, то ставить в соответствие.


Ошибка MERC04347 означает, что организационно-правовая форма не найдена в реестре Россельхознадзора. Код ошибки добавлен в список ошибок. При задании кода организационно-правовой формы необходимо указывать код из справочника ОКОПФ. То есть для ООО, например, это 12300.
аналитик отдела внедрения
Федерального центра охраны здоровья животных, г. Владимир
Stepa86


Зарегистрирован: 03/11/2016 09:22:58
Сообщений: 12
Оффлайн



Спасибо! А вообще весь список действий и параметров можно как-нибудь узнать?

Егорова Ирина wrote:
Вместе с кодом ошибки возвращается и её описание. Код ошибки возвращается как атрибут code тега error в receiveApplicationResultResponse. Описание ошибки содержится в самом теге. К сожалению, сейчас в справке есть описание только ошибок с кодом MERC. Также вам могут быть возвращены ошибки с кодами APL или APLM. Обычно это означает, что у вас что-то не так с запросом.


Спасибо! Парсер съел текст ошибки, поэтому и не заметил.

Егорова Ирина wrote:
Ошибка MERC04347 означает, что организационно-правовая форма не найдена в реестре Россельхознадзора. Код ошибки добавлен в список ошибок. При задании кода организационно-правовой формы необходимо указывать код из справочника ОКОПФ. То есть для ООО, например, это 12300.


ОКОПФ взял из 1С: УНФ и он там оказался не правильный. А почему в ответном запросе getBusinessEntityByGuidResponse возвращается ууид, а не код?
[Thumb - 2016-11-03_1553.png]
 Имя файла 2016-11-03_1553.png [Disk] Загрузить
 Описание
 Размер файла 18 Kbytes
 Скачано:  924 раз

anig99


Зарегистрирован: 21/10/2016 20:05:29
Сообщений: 143
Оффлайн

Добрый день! Пытаюсь оформить производство



Возвращает ошибку APLM0002 Unsupported application data format. В чём проблема?
Mariner-10


Зарегистрирован: 25/10/2016 14:45:00
Сообщений: 10
Оффлайн

Егорова Ирина wrote:
2. по StockEntry - разработчики системы, просьба уточнить, зачем так сделано.


В случа если в системе учета поставщика оформляется возврат не гашением возвратного, а оформлением отдельного транспортного ВСД клиентом, вопросов не возникает - поставщик должен сам решить, с чем схлопывать возвращенный клиентом StockEntry и надо ли это ему. В случае же гашения возвратного по связке исходный транспортный ВСД - возвратный ВСД можно найти исходный StockEntry поставщика и оформлять приход на поставщике именно в исходную StockEntry вместо формирования новой, что избавило бы от необходимости дополнительно отправлять запросы на объединение записей StockEntry, нагружая систему.


Уточню такой момент: возвратный сертификат оформляется в случае, если продукция была осмотрена получателем, и он решил отправить её обратно той же машиной. Если же получатель принял товар, погасил входной ВСД и только потом решил, что продукция по каким-то параметрам ему не подходит и её надо вернуть, то оформляется обычный транспортный сертификат.
Возвратный сертификат с точки зрения Меркурия ничем не отличается от транспортного, кроме типа "возвратный". Когда вы гасите у себя возвратный сертификат, у вас появляется новая запись в журнале входной продукции (точно так же, как если бы вы гасили транспортный), а в дальнейшем вы решаете, что с ней делать: "схлопывать" её, отдавать на экспертизу, утилизровать и т.д.
Почему не объединяется автоматически при возврате. Во-первых, возврат может быть произведён из-за ненадлежащего качества товара. Объединять качественную и некачественную продукцию как минимум неправильно, тем более автоматически. Во-вторых, по сути, партия, которую перемещали от поставщика к получателю и от получателя к поставщику, может отличаться от той что вы храните на складе: могли меняться условия хранения, есть вероятность нарушения упаковки, потери части партии и другие неприятности. Это могло привести к тому, что качество товара изменилось.


В учетных системах в подобных случаях возврат происходит в исходную партию - сохраняется прослеживаемость и история, на уровне партии может вестись себестоимость. Если продукт испортился, оформляется списание/утилизация. Если поменялись характеристики возвращаемого остатка партии, можно создать новую партию и переместить в неё подобный остаток. Новую партия при поступлении имеет смысл создавать, если нет возможности определить, из какой исходной партии произошла отгрузка.
В Меркурии же подобный частный случай, выходит, принят в качестве общего, что приведет к дополнтельным действиям по объединению записей StockEntry во взаимодействующих системах на пустом месте.

anig99


Зарегистрирован: 21/10/2016 20:05:29
Сообщений: 143
Оффлайн

anig99 wrote:Добрый день! Пытаюсь оформить производство



Возвращает ошибку APLM0002 Unsupported application data format. В чём проблема?


Нашел ошибку. Наименование функции не совпадает с наименованием поля (области)... Функция RegisterProductiveBatchRequest, а наименование registerProductiveBatchRequest... Как-то так...
T.Grakhov


Зарегистрирован: 19/02/2016 07:33:49
Сообщений: 25
Оффлайн

Здравствуйте.

Господа разработчики, а есть инструкции для ХС? Что нужно делать и зачем? В какой последовательности? Особенности для производственного, торгового предприятия? А то тыкаемся извините за выражение в шлюз, получаем данные, отправляем. Вообщем, пытаемся получить работающую версию. А что это? Какие требования, что надо, что не надо - совершенно не понятно.
Егорова Ирина

[Avatar]

Зарегистрирован: 31/08/2015 11:57:04
Сообщений: 294
От: ФГБУ ВНИИЗЖ
Оффлайн

T.Grakhov wrote:Здравствуйте.

Господа разработчики, а есть инструкции для ХС? Что нужно делать и зачем? В какой последовательности? Особенности для производственного, торгового предприятия? А то тыкаемся извините за выражение в шлюз, получаем данные, отправляем. Вообщем, пытаемся получить работающую версию. А что это? Какие требования, что надо, что не надо - совершенно не понятно.


Здравствуйте!

Вся документация размещена по адресам: http://help.vetrf.ru/wiki/Ветис.API и http://help.vetrf.ru/wiki/Подсистема_обработки_заявок_в_Ветис.API
Инструкций вида "делай - раз! делай - два!" у нас нет, поскольку бизнес-процессы у предприятий разные, у всех свои особенности и предлагать какой-то единый алгоритм для всех не имеет смысла. Порядок запросов выстраивается согласно бизнес-процессам предприятия, торгового или производственного. В данном случае хорошо было бы проконсультироваться с непосредственными участниками процесса: ветеринарными врачами и/или операторами предприятия, для которого ведётся разработка модуля. Если у вас есть конкретные вопросы или замечания, пишите, постараемся помочь.

аналитик отдела внедрения
Федерального центра охраны здоровья животных, г. Владимир
T.Grakhov


Зарегистрирован: 19/02/2016 07:33:49
Сообщений: 25
Оффлайн

Еще раз здравствуйте.

Начну с конца. У нас нет конкретного предприятия для которого ведется разработка модуля. Мы разрабатываем модуль для добавление его в решение написанное на платформе 1С:Предприятие. Решение предназначено для автоматизации учета рыбоперерабатывающих предприятий. Поэтому использовать бизнес-процессы, конкретного предприятия не представляется возможным, приходиться их унифицировать и связывать с уже описанными в решении процессами. Есть предприятие, которое использует наше решение и мы совместно с ними занимаемся разработкой модуля. Операторы" этого предприятия в данном вопросе нам помочь не смогли. Это, я понимаю, в результате того, что на данный момент они не используют сервис в своей деятельности. С ветеринарными врачами связывались, результата тоже нет.
С информацией по ссылкам работаем активно, но этого не достаточно, поэтому и пишем вопросы, так как в решении придется задать алгоритм и написать под него инструкцию вида "делай - раз! делай - два!".
Давайте попробуем по конкретным вопросам.
Стандартный бизнес процесс: на предприятие поступило несколько номенклатурных позиций по некоему документу (ТТН). Первый шаг как мы полагаем запросить информацию по входящим ВСД. Это нами реализовано. Предположим ВСД есть и все номенклатурные позиции приняты на склад. Какие действия в системе предполагаются в этом случае?
Николай Власов

[Avatar]

Зарегистрирован: 24/06/2009 08:32:34
Сообщений: 1021
Оффлайн

T.Grakhov wrote:Еще раз здравствуйте.

Начну с конца. У нас нет конкретного предприятия для которого ведется разработка модуля. Мы разрабатываем модуль для добавление его в решение написанное на платформе 1С:Предприятие. Решение предназначено для автоматизации учета рыбоперерабатывающих предприятий. Поэтому использовать бизнес-процессы, конкретного предприятия не представляется возможным, приходиться их унифицировать и связывать с уже описанными в решении процессами. Есть предприятие, которое использует наше решение и мы совместно с ними занимаемся разработкой модуля. Операторы" этого предприятия в данном вопросе нам помочь не смогли. Это, я понимаю, в результате того, что на данный момент они не используют сервис в своей деятельности. С ветеринарными врачами связывались, результата тоже нет.
С информацией по ссылкам работаем активно, но этого не достаточно, поэтому и пишем вопросы, так как в решении придется задать алгоритм и написать под него инструкцию вида "делай - раз! делай - два!".
Давайте попробуем по конкретным вопросам.
Стандартный бизнес процесс: на предприятие поступило несколько номенклатурных позиций по некоему документу (ТТН). Первый шаг как мы полагаем запросить информацию по входящим ВСД. Это нами реализовано. Предположим ВСД есть и все номенклатурные позиции приняты на склад. Какие действия в системе предполагаются в этом случае?


Гашение сертификатов, с которыми поступила продукция.
T.Grakhov


Зарегистрирован: 19/02/2016 07:33:49
Сообщений: 25
Оффлайн

Мы тоже так подумали и реализовали запрос.
И получили ответ...

<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>ddc59b70-a842-4cd9-b282-054eb7d9a4e9</applicationId><status>REJECTED</status><serviceId>mercury-g2b.service</serviceId><issuerId></issuerId><issueDate>2016-11-03T18:41:57.000+03:00</issueDate><rcvDate>2016-11-03T16:41:50.000+03:00</rcvDate><prdcRsltDate>2016-11-03T16:41:51.000+03:00</prdcRsltDate><errors><apl:error xmlns:apl="http://api.vetrf.ru/schema/cdm/application" code="MERC14386">Данная транзакция не может быть оформлена, так как роль пользователя не позволяет гасить ВСД</apl:error></errors></application></receiveApplicationResultResponse></env:Body></env:Envelope>
sanazarkin

[Avatar]

Зарегистрирован: 27/06/2016 15:53:08
Сообщений: 46
Оффлайн

T.Grakhov wrote:Мы тоже так подумали и реализовали запрос.
И получили ответ...

<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>ddc59b70-a842-4cd9-b282-054eb7d9a4e9</applicationId><status>REJECTED</status><serviceId>mercury-g2b.service</serviceId><issuerId></issuerId><issueDate>2016-11-03T18:41:57.000+03:00</issueDate><rcvDate>2016-11-03T16:41:50.000+03:00</rcvDate><prdcRsltDate>2016-11-03T16:41:51.000+03:00</prdcRsltDate><errors><apl:error xmlns:apl="http://api.vetrf.ru/schema/cdm/application" code="MERC14386">Данная транзакция не может быть оформлена, так как роль пользователя не позволяет гасить ВСД</apl:error></errors></application></receiveApplicationResultResponse></env:Body></env:Envelope>

Логин должен быть вет.врача, т.е. тот по которому вы входите в меркурий.гвэ
 
Индекс форума » Автоматизированная система МЕРКУРИЙ
Перейти:   

Powered by JForum 2.1.8 © JForum Team