06.04.2007, 08:29 | #1 |
Участник
|
xInfo::Directory DAX 4.0
Всем доброго времени суток!
Возникла проблема с шаблонами при переходе с тройки на четверку. Дело в том, что в тройке метод xInfo::Directory() возвращает путь на системную директорию (в нашем случае на приложение). А в четверке, метод xInfo::Directory() возвращает путь на установленного клиента. Поэтому, отчетность, перенесенная из тройки, не отрабатывает (из-за ошибочного пути) Кто-нибудь знает, есть ли возможность решить проблему, без перелапачивания всего функционала по отчетности? |
|
06.04.2007, 17:06 | #2 |
Участник
|
Цитата:
Сообщение от Tarrash
Возникла проблема с шаблонами при переходе с тройки на четверку. Дело в том, что в тройке метод xInfo::Directory() возвращает путь на системную директорию (в нашем случае на приложение). А в четверке, метод xInfo::Directory() возвращает путь на установленного клиента. Поэтому, отчетность, перенесенная из тройки, не отрабатывает (из-за ошибочного пути). Кто-нибудь знает, есть ли возможность решить проблему, без перелапачивания всего функционала по отчетности?
X++: // метод класса my_xInfo static server str directory(DirectoryType _type) { return xInfo::directory(_type); } // тестовый job static void Job1(Args _args) { DictEnum dictEnum = new DictEnum(enumnum(DirectoryType)); int i; ; info('client calls:'); for(i=0; i<dictEnum.values(); i++) info(strfmt(@"%1::%2 = '%3'", dictEnum.name(), dictEnum.index2Name(i), xInfo::directory(dictenum.index2Value(i)))); info('server calls:'); for(i=0; i<dictEnum.values(); i++) info(strfmt(@"%1::%2 = '%3'", dictEnum.name(), dictEnum.index2Name(i), my_xInfo::directory(dictenum.index2Value(i)))); } Код: client calls: DirectoryType::Bin = 'c:\axapta\client\Bin\' DirectoryType::Share = 'c:\axapta\client\appl\standard\' DirectoryType::Config = 'c:\axapta\client\share\config\' DirectoryType::Appl = 'c:\axapta\client\appl\standard\' DirectoryType::DB = 'c:\axapta\client\appl\standard\db\' DirectoryType::Temp = 'c:\axapta\client\appl\standard\tmp\' DirectoryType::Include = 'c:\axapta\client\share\include\' DirectoryType::Log = 'c:\axapta\client\Log\' DirectoryType::Help = 'c:\axapta\client\Bin\help\' server calls: DirectoryType::Bin = 'C:\axapta\server\AX4\Bin\' DirectoryType::Share = 'c:\axapta\app\appl\standard\' DirectoryType::Config = 'c:\axapta\app\share\config\' DirectoryType::Appl = 'c:\axapta\app\appl\standard\' DirectoryType::DB = 'c:\axapta\app\appl\standard\db\' DirectoryType::Temp = 'c:\axapta\app\appl\standard\tmp\' DirectoryType::Include = 'c:\axapta\app\share\include\' DirectoryType::Log = 'C:\axapta\server\AX4\Log\' DirectoryType::Help = 'C:\axapta\server\AX4\Bin\help\' Последний раз редактировалось gl00mie; 06.04.2007 в 17:10. |
|
07.04.2007, 23:08 | #3 |
Member
|
А я бы посоветовал в классе Global нарисовать такой вот метод
static server Filename directoryOnServer(DirectoryType _directoryType) { ; return xInfo::directory(_directoryType); } И пользоваться directoryOnServer(...) вместо xInfo::directory(...). Чтобы целый класс не городить ради такой мелочи.
__________________
С уважением, glibs® |
|
|
За это сообщение автора поблагодарили: aidsua (1). |
Теги |
ax4.0 |
|
|