Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
CHUPRINOV
Contributor II
Contributor II

Уведомления и отработке тасков QlikSense

Добрый день. Кто нибудь настраивал отправку уведомления на почту , о событиях и проблемах с отработкой тасков в QlikSense ?  

1 Reply
Zhandos_Shotan
Partner - Creator II
Partner - Creator II

Добрый день!

Как раз закрываем "долгострой" проект со сбором эксель отчетности из почты и отправкой уведомлений о результатах загрузки на кликСенс. Планировал написать статью но никак руки не доходили.

 

Если кратко, 
использовался MailboxConnector и NotificationConnector  из пакета QlikWebConnectors. 

В скрипте через загрузку из ссылки, сформированной в интерфейсе коннектора, последовательно грузятся таблицы сообщений, табл. вложений, и загрузка файла.
Результаты загрузки каждого файла записываются в журнал загрузок (qvd, csv).
После окончания цепочки загрузок запускается приложение по отправке уведомлений из журнала. При наличии ошибки отправителю приходит письмо с вложением где строки из журнала ошибок.
С отправкой все намного проще технически. Использовать NotificationConnector. Можно включать вложения, оформлять текст в html.

Проблемы:
Коннектор периодически обновляется и перестает работать изза Breaking changes. Приходилось читать тех.релизы и смотреть что изменилось в параметрах.
Взаимодействие идет через формат URL. (Load * from [\\url] ) Нужно все передаваемые параметры переводить в ASCII. Т.е. символы и кириллицу в 16-ричный код: %20%AC и т.д.
Сложная логика отслеживания ошибок.

Сама отправка работает просто. Пример скрипта:

For Each vSendToSender in FieldValueList('Отправитель')
let vSendToSender = Replace(vSendToSender,'@','%40');

NotificationConnector_SendEmail:
LOAD
status as SendEmail_status,
result as SendEmail_result,
filesattached as SendEmail_filesattached
FROM
[http://localhost:5555/data?connectorID=SMTPConnector&table=SendEmail&SMTPServer=outlook.server.kz&Port=465&SSLmode=None&to=$(vSendToSender)&subject=$(vSubject)&message=$(vMessage)&fromName=finreports%40server.kz&fromEmail=finreports%40server.kz&fileAttachment1=$(vFilePath)&appID=] //&cc=$(vCopyTo)
(qvx);

next vSendToSender;