На примере класса 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 смотрит