Интеграция: просматриваем текстовый протокол обмена в виде таблицы

9 2

Введение

Данный материал может пригодиться при работе с компонентами интеграции DIRECTUM, особенно на этапе их настройки и выявления ошибок. Разработка описанная в данном материале позволяет получить протокол обмена в более гибком представлении, похожем на справочник.

 

Установка

На компьютере с которого будет использоваться данная разработка, должен быть установлен LogParser. Пакет установки LogParser путешествует вместе с дистрибутивами DIRECTUM, см. папку Utils. Он ставится за две минуты, ничего кроме "Далее" нажимать не приходится.

Разработка

Импортируйте в систему функцию Интеграция_ПросмотретьПротоколВВидеТаблицы.zip (4,82 Кб)

Для справочника IntegratedSystems создайте два новых действия

Настройте обработки следующим образом:

код для действия просмотра протокола импорта

if not VarIsNull( Object.Содержание )  
  LogPath = Object.Содержание & "\" & TRIM( Object.Код ) & "_import_log.txt"
  if FileExists( LogPath )
    лИнтеграция_ПротоколОбменаВВидеТаблицы( LogPath )
  else
    ShowMessage('Файл протокола не найден: ' & LogPath )
  endif
else
  ShowMessage('Задайте папку протоколов: ' & LogPath )    
endif   

код для действия просмотра протокола экспорта

if not VarIsNull( Object.Содержание )  
  LogPath = Object.Содержание & "\" & TRIM( Object.Код ) & "_export_log.txt"
  if FileExists( LogPath )
    лИнтеграция_ПротоколОбменаВВидеТаблицы( LogPath )
  else
    ShowMessage('Файл протокола не найден: ' & LogPath )
  endif
else
  ShowMessage('Задайте папку протоколов: ' & LogPath )    
endif   

 

Добавьте новые действия на форму карточки справочника

 

Результат

Функция (из вложения) посредством LogParser загрузит протокол обмена во временную таблицу в БД и затем выведет на экран посредством функции ВыборSQL.

В результате мы можем работать с протоколом почти как со справочником системы. Можно воспользоваться фильтрацией, выполнить поиск, сохранить в Excel, настроить отбор, группировать колонки, поменять их местами, т.е. несколько удобнее чем если просто читать с "блокнота".

Как было

Как есть

Двойной клик по ячейке открывает карточку справочника о которой идет речь в строке.

Недостатки

1. Большие файлы грузятся несколько минут. (17.000 строк на моем двухядерном рабочем компьютере минуты за 4-е.)

2. В таблице не видно "хвост" ошибки.

ERROR                Ошибка преобразования данных из формата DIRECTUM в формат системы или загрузки данных в интегрированную систему. (Ошибка выполнения запроса к SQL-серверу. SQL State: 42S02, SQL Error Code: 208
Invalid object name 'ConnectorReferencesRequisitesList'.
.
Функция "лКоннектор_Получить_ТипРеквизитаСистемы": ошибка в строке 18.
Функция "лКоннектор_ФайлОбмена_КонвертацияФайлаDIRECTUM_В_ТекстовыйФормат1С": ошибка в строке 135.
Функция "Connector1C77ImportDataToIntegratedSystem": ошибка в строке 37.
Функция "ConnectorImportDataToIntegratedSystem": ошибка в строке 3.
Функция "ConnectorImportDataToIntegratedSystem": ошибка в строке 14.)

Вложения

Функция:

Интеграция_ПросмотретьПротоколВВидеТаблицы.zip (4,82 Кб)

 

9
Авторизуйтесь, чтобы оценить материал.
1
Дмитрий Тарасов

Родилось пожелание к развитию решения:

Было бы неплохо прямо из протокола открыть запись справочника, которая изменилась и при этом еще и увидеть что именно изменилось.

Арслан Абакаров

Хорошее пожелание. :)

Первая половина реализована, над второй подумаю.

Авторизуйтесь, чтобы написать комментарий