Страница 1 из 1

Необходимо запустить отчет ActiveFactory

СообщениеДобавлено: Вт дек 18, 2007 2:49 pm
Den
Здравствуйте, уважаемые, помогите советом, если кто в курсе. Необходимо создать отчет средствами ActiveFactory, состоящий из таблицы с запросами SQl в ячейках. Чтоб запустить ее - необходимо из InTouch воспользоваться ActiveX aaHistClientReportRunner, который однако не объявился в списке возможных в InTouch. Однако наряду с этим появились другие ActiveX связанные с ActiveFactory (например aaHistClientQuery). Где можно добыть требуемый компонент, или существует другой способ создания отчета.

СообщениеДобавлено: Ср дек 19, 2007 2:54 pm
Admin
Вот что написано в описании Active Factory (HistClient.pdf page 601)

Во-первых
aaHistClientWorkbookRunner and
aaHistClientReportRunner objects are used when reports are
published to the ActiveFactory Reporting Website.
Что означает - данные объекты используются только для публикации отчетов на веб-сайте Information Server- а.
Во- вторых
The aaHistClientReportRunner object is a control that is
used to run reports created with ActiveFactory Report. There
is no user interface for this control.
You can use the aaHistClientReportRunner object's
properties and methods in runtime scripts in your
application to run existing Report files and output the results
(.htm).


Важным здесь является то что у данного объекта нет пользовательского интерфейса. Это означает что Вам не нужно искать ActiveX, но Вы можете задать в скрипте свойства этого объекта, а потом обратиться к нему с помошью метода Run:

Код: Выделить всё
aaHistClientReportRunner.WordVisible = True;
aaHistClientReportRunner.SourceFile = "C:\report_by_AF.htm";
aaHistClientReportRunner.SourceFile = "C:\report_by_AF_viewed.htm";
aaHistClientReportRunner.Run();

Этот скрипт откроет Word и Вы сможете просмотреть файл report_by_AF.htm.
Аналогично, с помошью aaHistClientWorkbookRunnerВы можете исполнять файлы Excel.

рекомендую прочитать HistClient.pdf pp 601-603
Могу выслать Вам его[/quote]

Для работы же с MSSQL Вам следует использовать компонент Интача SQL Access Manager и QuickScript SQL функции.

Тема закрыта!

СообщениеДобавлено: Ср дек 19, 2007 5:35 pm
Den
Спасибо большое, все предельно ясно, правда применять еще не пробовал. Документ, о котором Вы говорите у меня есть, так что дальше сам справлюсь.

СообщениеДобавлено: Чт дек 20, 2007 2:40 pm
Admin
Честно говоря, я тоже не проверял.
Буду сегодня настраивать SQL+InTouch - чтобы всем понятно было как :D

Возвращаясь к теме об HistClientReportRunner

СообщениеДобавлено: Чт дек 20, 2007 6:56 pm
Den
Здравствуйте, уважаемый Admin! Я попробовал реализовать запуск отчета тем способом, который Вы мне посоветовали, однако не все оказалось так просто, как кажется. Я создал в галактике объект и для него написал скрипт по условию:

Expression: Me.ScriptRun (ScriptRun - созданный битовый атрибут для отладки из InTouch);
TriggerTipe: OnTrue;

aaHistClientReportRunner.WordVisible = True;
aaHistClientReportRunner.SourceFile = "E:\Documents and Settings\Developer\My Documents\Документ1.htm";
aaHistClientReportRunner.OutputFile = "E:\Documents and Settings\Developer\My Documents\Документ2.htm";
aaHistClientReportRunner.Run ();
Me.ScriptRun = False;

При сохранении объекта выходит сообщение с предупреждением:

Warnings:
Could not resolve reference: ---.--- in attribute: PV.Output.OutputDest
Could not resolve reference: ---.--- in attribute: PV.Input.InputSource
Could not resolve reference: aaHistClientReportRunner.WordVisible in attribute: Run._ExternalReferences
Could not resolve reference: aaHistClientReportRunner.SourceFile in attribute: Run._ExternalReferences
Could not resolve reference: aaHistClientReportRunner.OutputFile in attribute: Run._ExternalReferences
Could not resolve reference: aaHistClientReportRunner.Run in attribute: Run._ExternalReferences

Save Anyway?
Пробовал валидировать скрипт, коверкая например aaHistClientReportRunner.Run на aaHistClientReportRunnejshdr.Run - никакой реакции, вроде не узнает эти методы.

Решение найдено наравне с неограниченными возможностями!!!

СообщениеДобавлено: Пт фев 08, 2008 2:13 pm
Den
Здравствуйте, коллеги, нашлось решение поднятого в данной теме вопроса: для использования библиотек, поставляемых с ActiveFactory, таких как:
aaHistClientReportRunner, необходимо их сначала подгрузить в среде разработки IAS (IDE): Galaxy->Import->Script Function Library, далее при написании скрипта в разделе Diclarations создать собственный класс:

Runner as aaHistClientReportRunner;

А потом пользоваться его свойствами в скрипте:

runner.WordVisible = True;

Вот и все!))
Так же можно использовать любые библиотеки функций .NET!

СообщениеДобавлено: Пт фев 08, 2008 3:18 pm
Admin
полезная инфа, спасибо

Re: Решение найдено наравне с неограниченными возможностями!

СообщениеДобавлено: Пт май 22, 2009 8:33 am
Bender
Den писал(а):aaHistClientReportRunner, необходимо их сначала подгрузить в среде разработки IAS (IDE): Galaxy->Import->Script Function Library, далее ...


Понимаю что топик давно не обновлялся, но все же... не подскажите местнахождение этой самой Script Function Library?

Нашел что coclass aaHistClientReportRunner зарегистрирован для ..\Programm Fiels\ Common Files\ Archestra\aaHistClientUI.dll ... собственно ее и импортирую, но толку никакого, как было Unknown type: aaHistClientReportRunner так и осталось :-(

Подскажите куда копать??!!

СообщениеДобавлено: Вт апр 05, 2011 6:59 am
SergS
Хотелось бы вернуться к этому вопросу. Кому нибудь удалось сделать то, что сдесь предложено? Функции подгрузил. Если пишу скрипт в InTouch, то ругается что ActivX не зарегистрирован. Если скрипт пишу в ArchestrA, то всё сохраняется, не ругается, но при нажатии на кнопку с этим скриптом, ничего не происходит. Как же всё таки запустить рапорт из InTouch? Опишите поподробнее, если у кого то получилось?
Скрипт пишу такой:
dim runner as ArchestrA.HistClient.UI.aaHistClientReportRunner;
runner.WordVisible=true;
runner.SourceFile="C:\Reports\Document1.htm";
runner.OutputFile="C:\Reports\1111.htm";
runner.Run();
Text1.Text=runner.ErrDescription;