Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 19:04

Розница 2.2.6.22 - обмен с ЕГАИС (не реально работать)

Автор pic-0, 09 июл 2017, 02:17

0 Пользователей и 1 гость просматривают эту тему.

pic-0

Просьба побольшей части к разработчикам, уже второе обновление 2.2.6, общая команда "выполнить обмен" (кнопка в формах "выполнить обмен") перестала работать должным образом, при вызове процедуры ОбработатьОтветы в ОбщиеМодули.ИнтеграцияЕГАИСКлиент программа виснет напрочь, так как мало того что пытается обработать все сразу УТМ, так она еще и не обрабатывает ответы (тикеты), а пытается сразу загрузить входящие документы.
Вот как выглядела обработка ответов в 2.2.5.27:

НастройкиОбменаЕГАИС.ФормаСпискаРТ:
&НаКлиенте
Процедура ОбработатьОтветы(Команда)

ОповещениеПриЗавершении = Новый ОписаниеОповещения("ОбработкаОтветовИзЕГАИС_Завершение", ЭтотОбъект);
ИнтеграцияЕГАИСКлиент.НачатьОбработкуОтветов(ОповещениеПриЗавершении);

КонецПроцедуры
---->
ИнтеграцияЕГАИСКлиент:
Процедура НачатьОбработкуОтветов(ОповещениеПриЗавершении,
ТранспортныйМодуль = Неопределено, ОтображатьСообщения = Истина, ИдентификаторКлиента = Неопределено,
ДополнительныеПараметры = Неопределено, УстанавливатьКомпонентуHTTPЗапросов = Истина) Экспорт

Контекст = Новый Структура;
Контекст.Вставить("ОповещениеПриЗавершении", ОповещениеПриЗавершении);
Контекст.Вставить("ОтображатьСообщения"    , ОтображатьСообщения);
Контекст.Вставить("ИдентификаторКлиента"   , ИдентификаторКлиента);
Контекст.Вставить("ДополнительныеПараметры", ДополнительныеПараметры);
Контекст.Вставить("УстанавливатьКомпоненту", УстанавливатьКомпонентуHTTPЗапросов);
Контекст.Вставить("Результат"              , ИнтеграцияЕГАИСКлиентСервер.РезультатЗагрузкиВходящихДокументов());

Если ТранспортныйМодуль = Неопределено Тогда
ОповещениеВыбора = Новый ОписаниеОповещения("ОбработкаОтветов_ПослеВыбораТранспортногоМодуля", ЭтотОбъект, Контекст);
НачатьВыборТранспортногоМодуля(ОповещениеВыбора);
Иначе
ОбработкаОтветов_ПослеВыбораТранспортногоМодуля(ТранспортныйМодуль, Контекст);
КонецЕсли;

КонецПроцедуры

А вот стало в 2.2.6 (.18 и .22):
НастройкиОбменаЕГАИС.ФормаСписка:
&НаКлиенте
Процедура ВыполнитьОбмен(Команда)

ИнтеграцияЕГАИСКлиент.ВыполнитьОбмен();

КонецПроцедуры[/color]
--->
ИнтеграцияЕГАИСКлиент:
Процедура ВыполнитьОбмен(ОповещениеПриЗавершении = Неопределено, ТранспортныйМодуль = Неопределено) Экспорт

Если ТранспортныйМодуль = Неопределено Тогда
ТранспортныеМодули = ИнтеграцияЕГАИСВызовСервера.ДоступныеТранспортныеМодули();
Иначе
ТранспортныеМодули = Новый Массив;
ТранспортныеМодули.Добавить(ТранспортныйМодуль);
КонецЕсли;

ДополнительныеПараметры = Новый Структура;

Если ОповещениеПриЗавершении <> Неопределено Тогда
ДополнительныеПараметры.Вставить("ОповещениеПриЗавершении", ОповещениеПриЗавершении);
КонецЕсли;

ОповещениеПриЗавершенииОбмена = Новый ОписаниеОповещения("ПриЗавершенииОбмена", ЭтотОбъект, ДополнительныеПараметры);

Контекст = Новый Структура;
Контекст.Вставить("ТранспортныеМодули",          ТранспортныеМодули);
Контекст.Вставить("РезультатЗагрузкаДокументов", Новый Массив);
Контекст.Вставить("РезультатОбработкаОтветов",   Новый Массив);
Контекст.Вставить("ОповещениеПриЗавершении",     ОповещениеПриЗавершенииОбмена);

ЗагрузитьВходящиеДокументы(Неопределено, Контекст);

КонецПроцедуры


Повторюсь, клиент напрочь виснет при множественном запросе со всех утм (из них некотрые могут быть еще и оффлайн), и загрузка документов из утм заместо обработки тикетов это не правильно, например делаем перемещение, сформировали исходящую накладную или запросили остатки, обрабатываем ответы, а ответов нет, так как мы загружаем документы. Верните обработку запросов из предложенного списка настроек утм.:trhregerhg:

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск