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

[Avatar]

Зарегистрирован: 02/10/2017 14:31:03
Сообщений: 347
Оффлайн

E.Fedyakov wrote:если интересно, могу вложить нашу библиотеку для MS SQL в которой реализована расширенная процедура для отправки сообщений в меркурий.
Вся обработка, формирование сообщений у нас на TSQL.
гибко

bamxx


Зарегистрирован: 21/05/2018 14:38:45
Сообщений: 22
Оффлайн

Vladimir2017 wrote:
E.Fedyakov wrote:если интересно, могу вложить нашу библиотеку для MS SQL в которой реализована расширенная процедура для отправки сообщений в меркурий.
Вся обработка, формирование сообщений у нас на TSQL.
гибко


мне тоже ничего не понятно
[Email]
egais2018


Зарегистрирован: 08/06/2018 15:12:57
Сообщений: 165
Оффлайн

bamxx, Vladimir2017
https://ru.wikipedia.org/wiki/Transact-SQL
oleg-x


Зарегистрирован: 20/11/2017 11:24:40
Сообщений: 1150
Оффлайн

bamxx wrote:Крик души!
...
Ведь, я не знал как подступиться к soap-серверу
Конечно, для меня самое "идеальное" решение было бы сформировать файло, заслать, получить ответ, разобрать его (кто делал ЕГАИС, поймет)

В 1с делаем просто. Есть текст запроса (обычный текст, главное переносов строки что бы не было) с параметрами. Вот пример текстового запроса:


Далее подставляем параметры и и формируем заголовки


Это сообщение было редактировано 1 раз. Последнее обновление произошло в 04/07/2018 14:44:01

https://vk.com/mercuriy_rf
Vladimir2017

[Avatar]

Зарегистрирован: 02/10/2017 14:31:03
Сообщений: 347
Оффлайн

egais2018 wrote:bamxx, Vladimir2017
https://ru.wikipedia.org/wiki/Transact-SQL


TSQL я умею, я от объема работы слегка обалдел
bamxx


Зарегистрирован: 21/05/2018 14:38:45
Сообщений: 22
Оффлайн

1с-овцы очень трудолюбивые чуваки
Это наверно круто
Пытался передать эмоции, когда бремя(оковы) смог стряхнуть
В моей жизни, надеюсь, больше не будет этих безумств, когда пошел на поводу http://help.vetrf.ru/wiki/Подсистема_обработки_заявок_в_Ветис.API
Но когда есть готовый шаблон и функция Format - не знаю
Кто писал сопряжение с ЕГАИС, там просто вся документация 1 doc-файл
особенно понравилось

А вот риторический вопрос: зачем и за чей счет чуваки из help.vetrf , где так много туфты (для тех кто не знает, туфта - пустая порода), имеют право нести и нагибать весь народ ?
[Email]
start


Зарегистрирован: 20/10/2017 10:58:42
Сообщений: 28
Оффлайн

bamxx wrote:Крик души!
Привет всем дельфистам, которые вынуждены писать интеграцию с ветслужбой!
Я уважаю Ваше желание ползать по wsdl-ной обертке: копаться во всяких там
getVetDocumentListRequest,
ams_mercury_g2b.submitApplicationRequest.Create;
count := TXSDecimal.Create; и т.п.
end;[/code]


Но зато система уже работает и автоматом по расписанию формирует ВСД, штук по 500 за смену...
Если есть желающие - могу дать исходники...
Vladimir2017

[Avatar]

Зарегистрирован: 02/10/2017 14:31:03
Сообщений: 347
Оффлайн

start wrote:Но зато система уже работает и автоматом по расписанию формирует ВСД, штук по 500 за смену...
Если есть желающие - могу дать исходники...


Если бы модуль импортировался бы нормально, без плясок с бубном, я бы сам им воспользовался. Ну и то, что движок THHTPRIO использует Wininet.dll очень большой минус.
bamxx


Зарегистрирован: 21/05/2018 14:38:45
Сообщений: 22
Оффлайн

start wrote:Но зато система уже работает и автоматом по расписанию формирует ВСД, штук по 500 за смену...
Если есть желающие - могу дать исходники...

Вот уволит тебя Тигран
Придет новый программист
И у него неожиданно вставшие дыбом волосы неожиданно поседеют
Пора начинать переписывать!

Это сообщение было редактировано 1 раз. Последнее обновление произошло в 05/07/2018 10:57:40

[Email]
exteris


Зарегистрирован: 25/10/2017 09:49:00
Сообщений: 25
Оффлайн

Приветствую,

У кого-нибудь есть сгенерированные по wsdl pas-файлы версии API 2.1 с учетом этой доработки - http://vetrf.ru/vetrf-forum/posts/list/7130.page#44785?
Владимир Игнатов


Зарегистрирован: 02/08/2017 09:19:30
Сообщений: 581
Оффлайн

exteris wrote:Приветствую,

У кого-нибудь есть сгенерированные по wsdl pas-файлы версии API 2.1 с учетом этой доработки - http://vetrf.ru/vetrf-forum/posts/list/7130.page#44785?

А самому, лично своими ручками - никак? Делается ровно так же, как написано.
exteris


Зарегистрирован: 25/10/2017 09:49:00
Сообщений: 25
Оффлайн

Владимир Игнатов wrote:
exteris wrote:Приветствую,

У кого-нибудь есть сгенерированные по wsdl pas-файлы версии API 2.1 с учетом этой доработки - http://vetrf.ru/vetrf-forum/posts/list/7130.page#44785?

А самому, лично своими ручками - никак? Делается ровно так же, как написано.

Я не очень силен в этом(wsdl, xsd и прочее).
toff


Зарегистрирован: 31/07/2018 10:57:59
Сообщений: 1
Оффлайн

Ктонибудь, подскажите, как засунуть класс GetVetDocumentChangesListRequest в application.data, если она хочет ApplicationDataWrapper у которого есть лишь свойство Any требующее XMLElement.
Неужто надо класс сгенерированный wdsl превращать в хмлэлемент прежде чем напомнить апликэйшн дата? Изврат же.
Vlad74ru


Зарегистрирован: 09/06/2018 12:58:23
Сообщений: 12
Оффлайн

toff wrote:Ктонибудь, подскажите, как засунуть класс GetVetDocumentChangesListRequest в application.data, если она хочет ApplicationDataWrapper у которого есть лишь свойство Any требующее XMLElement.
Неужто надо класс сгенерированный wdsl превращать в хмлэлемент прежде чем напомнить апликэйшн дата? Изврат же.


Тут все проще, коллега start выкладывал исходники своей программы, как готовое решение, скорее всего это вам не подойдет, но как наглядный пример того, как следует работать с классом ApplicationDataWrapper самое то. Если взять краткую выписку из кода, то получается примерно так:

//подцепляем блок данных к запросу
DataWrapper:=ams_mercury_g2b.ApplicationDataWrapper.Create;
DataWrapper.getVetDocumentChangesListRequest := MyRequestt;
ApplicationRequest.application_.data:= DataWrapper;

так формируется правильная запись DataWrapper, которая затем отправляется soap серверу:

//пошел запрос
ApplicationResponse := SoapServer.submitApplicationRequest(ApplicationRequest);

остается разобраться что такое за объект MyRequest. Это объект класса:

// ************************************************************************ //
// XML : getVetDocumentChangesListRequest, global, <element>
// Namespace : http://api.vetrf.ru/schema/cdm/mercury/g2b/applications/v2
// Info : Wrapper
// ************************************************************************ //
getVetDocumentChangesListRequest = class(GetVetDocumentChangesListRequest2)

класс объявлен в модуле ams_mercury_g2b

Опять же - скачайте исходники программы от start-a и полазьте по модулю uParser - там масса готовых примеров как это формировать и применять. Не со всеми программными решениями я согласен... НО! Это рабочий пример кода, берите как основу.
За что еще раз ОГРОМНОЕ СПАСИБО коллеге start-y, я сам так начинал разбираться с Меркурием, и его код мне очень помог.
start


Зарегистрирован: 20/10/2017 10:58:42
Сообщений: 28
Оффлайн

Признателен за благодарности...
Последняя версия - https://drive.google.com/drive/folders/1rpUVPvftQ6PMena1qkYkncu1XgUdqbME
Версия рабочая, каждый день отгружает по 100 накладных.
Там еще переделка под партионный учет, но пока сырая..
Mercury.zip - структура папок.
Work\Mercury\Soap.OPToSOAPDomConv.pas - исправлен по совету коллеги Игнатова (низкий поклон, я бы сам не справился).

Это сообщение было редактировано 3 раз. Последнее обновление произошло в 01/08/2018 20:02:29

 
Индекс форума » Автоматизированная система МЕРКУРИЙ
Перейти:   

Powered by JForum 2.1.8 © JForum Team