28.01.2016, 10:34 | #1 |
Участник
|
Проблема с экспортом ресурса AOT
Добрый день!
Помогите пожалуйста - написал джоб чтобы экспортировал ресурс AOT в файл - все работает. Написал класс - наследник RunBaseBatch и вот тут не работает - сначала ругался на FileIOPermissions, права вроде дал, однако теперь выпадает ошибка Unable to save data to the file "\\Client\P$\StdPriceTemplate.xlsx". X++: public void run() { FileIOPermission readPermission; FileIOPermission readPermission2; FileIOPermission readPermission3; Set permissionSet = new Set(Types::Class); ; resourcesNode = infolog.findNode(#ResourcesPath); templatePath = templateFolder_W() + templateName; resNode = resourcesNode.AOTfindChild(templateName); openResourcePath = SysResource::saveToTempFile(resNode); [path, filenameOnly, type] = fileNameSplit(openResourcePath); userInputPath = WinApi::getSaveFileName(0, ['All Files', '*.*'], '', "@SYS54846", '', filenameOnly); readPermission3 = new FileIOPermission(filenameOnly,"rw"); if (userInputPath) { nodeData = SysResource::getResourceNodeData(resNode); switch (typeof(conpeek(nodeData, 1))) { case Types::String : textBuffer = new TextBuffer(); textBuffer.setText(conpeek(nodeData, 1)); if (filenameOnly && textBuffer.size() > 0) if (strscan(userInputPath, '.', strlen(userInputPath), -strlen(userInputPath)) != 0) textBuffer.toFile(userInputPath); else textBuffer.toFile(userInputPath + type); break; default : binData = new BinData(); readPermission = new FileIOPermission(openResourcePath,"rw"); readPermission2 = new FileIOPermission(userInputPath + type,"rw"); permissionSet.add(readPermission); permissionSet.add(readPermission2); permissionSet.add(readPermission3); CodeAccessPermission::assertMultiple(permissionSet); binData.loadFile(openResourcePath); if (filenameOnly && conlen(binData.getData())) if (strscan(userInputPath, '.', strlen(userInputPath), -strlen(userInputPath)) != 0) binData.saveFile(userInputPath); else binData.saveFile(userInputPath + type); break; } } } |
|
28.01.2016, 10:57 | #2 |
Moderator
|
Ваш класс серверный? Проверьте, чтобы у учетки, из-под которой запущен АОС, были права на указанный сетевой каталог.
__________________
Андрей. |
|
28.01.2016, 11:00 | #3 |
Участник
|
Вот как вы быстро сообразили. А я дурак 25 минут сижу понять не могу. Да вы абсолютно правы - проблема именно в этом.
|
|