Здравствуйте, подскажите пожалуйста. можно ли вызвать макрос в скрипте через планировщик Qlik Management Console. Когда загружаю приложение, вместе с загрузкой выполняется и макрос. Через планировщик макрос не выполняется. Спасибо.
Привет.
Какого рода макрос?
Удаляет старые файлы из указанного пути.
Вот сам макрос:
Function DeleteFiles
dim fso , falls , fils , fil
set fso = CreateObject("Scripting.FileSystemObject")
set falls = fso.GetFolder("мой путь")
set fils = falls.Files
for each fil in fils
datestorage = fil.DateLastModified
if datestorage < now-1 then
fil.delete (true)
end if
Next
End Function
Для пользователя sa_scheduler попробуйте добавить роль RootAdmin
Не очень понимаю как это сделать? sa_scheduler это пользователь QMS?
упс. я про Qlik Sense
Я про QlikView Management Console.
Если загрузить вручную то все отлично, если загрузить через QlikView Management Console, то макрос не выполняется.
Перенесите выполнение этой задачи на скрипт, через cmd.exe
Подскажите пожалуйста, как это сделать можно?
Сохраните макрос в файл с расширением vbs
Запустите макрос из скрипта через Execute cmd.exe /C C:\BatFiles\test.vbs;
Спасибо за ответ.
А что за сообщение вылетает когда выполняют скрипт?
Еще способ удалить файлы из директории из скрипта QlikView. Но при этом надо в скрипте выдать все необходимые разрешения на запуск Execute. Сейчас не вспомню полный перечень галочек.
//Удаляем все QVD-файлы из директории
EXECUTE cmd.exe /C del /f /q "C:\ДиректорияQVD\*.qvd";
А макросы не работают в консоли сервера QlikView.
Еще в инкрементальной загрузке есть пример про удаление файлов https://ivan-shamaev.ru/practical-issues-in-qlikview-part-2/#_171__8212_QVD-187
У меня была похожая задача - я шедулером открывал qvw-приложение с интструкцией на обновление данных (/R). В приложении - триггер на исполнение макроса после загрузки