14.09.2004, 16:36 | #1 |
Участник
|
Не найден шаблон отчета...
Почему-то у юзеров шаблон отчета Аксапта пытается найти в локальной папке типа c:\...\application\share\include\template
Из папки на сервере брать не хочет Подключение через АОС Что бы это могло быть? И как вообще формируется значение #ReportTemplatePath_RU? |
|
14.09.2004, 17:05 | #2 |
Участник
|
Корни формирования значения #ReportTemplatePath_RU лежат в методе
public static str directory(DirectoryType _type) класса xInfo. Директория берётся из свойства System Directory в Configuration Utility.
__________________
Дмитрий |
|
14.09.2004, 18:19 | #3 |
Участник
|
Цитата:
Директория берётся из свойства System Directory в Configuration Utility.
Цитата:
Корни формирования значения #ReportTemplatePath_RU лежат в методе
public static str directory(DirectoryType _type) класса xInfo. Но вы меня натолкнули на одну правильную мысль, за это спасибо! |
|
25.07.2005, 14:37 | #4 |
Moderator
|
Когда то (еще на 2.5) проверял это и пришел к выводу что:
то ли проверяеться на сервере, а открыть пытаеться с клиента то ли наоборот ... т.е. шаблон должен быть в 2 местах у себя делали так -вместо #ReportTemplatePath_RU ставили свой макрос в котором был прописан путь к расшаренной папке на каком нить сервере |
|
25.07.2005, 16:26 | #5 |
Участник
|
Шаблон должен лежать на сервере в ...Shared\Templates...
Значение #ReportTemplatePath_RU берется из настроек форм соответствующего модуля. Так например, если я правильно понял проблему, для отчета AcceptanceReport путь к шаблону берется из поля AcceptanceReportTemplate_RU таблицы CustFormletterParameters. |
|
25.07.2005, 16:32 | #6 |
Moderator
|
Цитата:
из настроек форм соответствующего модуля.
типа #ReportTemplatePath_RU + "ReportName.xlt" ... |
|
25.07.2005, 17:02 | #7 |
Участник
|
Глупое предположение, но все же:
Может у вас просто класс на клиенте отрабатывает?? - поэтому и путь возвращается не тот. |
|
06.09.2005, 10:59 | #8 |
Сенбернар
|
На примере класса RAssetReport, трехзвенка, тонкий клиент.
Используется конструкция docTemplateName = #ReportTemplatePath_RU + this.templateName(); Класс действительно запускается на клиенте (проверялась ОС-1, класс RAssetReport_OC1_Table) Решение: меняется макро ReportTemplatePath_RU было: Xinfo::directory(DirectoryType::INCLUDE) + "template\\" стало: // Xinfo::directory(DirectoryType::INCLUDE) + "template\\" myClass::getTemplatePath() где server static str getTemplatePath()() { return Xinfo::directory(DirectoryType::INCLUDE)+'template\\'; } Ключевое слово, понятно, server. Кстати, в случае, если Application и AOS лежат на разных серверах, все отрабатывает корректно. Причина в том, видимо, что directory() берет директорию из настроек AOSа. А уж он то по-любому на правильный Application смотрит
__________________
Best Regards, Roman |
|