Цитата:
Сообщение от
jonny
Коллеги, есть следующая проблема.
Пытаюсь сделать сохранение отчета в формате аксапты через портал(счет на оплату).
В аксапте статический метод в классе, делается разноска счета на оплату, с подпихиваением в SalesFormLetter нужного экземпляра PrintJobSettings, При запуске метода через джоб все замечательно отрабатывает - файл сохраняется, при вызове из портала неведомая ошибка:
Функция "GetVersionExW" в библиотеке DLL "KERNEL32" привела к возникновению исключения
Кто либо сталкивался с подобным, или может есть соображения в чем может быть проблема?
Буду рад любым идеям
Доброго времени суток,
Удалось решить проблему?
Тоже самое появляется. В Job работает нормально, из EP та же ошибка.(запускается через menuitem out)
Ошибка при вызове в WinApi::getOSVersion()
X++:
client static public container getOSVersion()
{
#define.OSVERSIONINFOSIZE(276) // includes 128 TCHARs
DLL dll;
DLLFunction dllFunction;
Binary binary;
;
dll = new DLL(#KernelDLL);
dllFunction = new DLLFunction(dll,'GetVersionExW');
binary = new Binary(#OSVERSIONINFOSIZE);
binary.dWord(0,#OSVERSIONINFOSIZE);
dllFunction.arg(ExtTypes::Pointer);
dllFunction.returns(ExtTypes::Byte);
dllFunction.call(binary); // здесь валится
return [binary.dWord(4),binary.dWord(8),binary.dWord(16)];
}
Вызываемый из
X++:
#define.Win98Platform(1)
public void makeReportRun(ReportName reportName = this.lastValueElementName())
{
Args args;
Report report;
[B]if (conpeek(WinAPI::getOSVersion(), 3) > #Win98Platform)[/B]
{
super(reportName);
return;
}
// Running under Windows 98 or prior OS version
args = new Args(reportName);
if (! reportRun || reportRun.name() != reportName)
{
args.caller(this);
reportRun = SalesPurchReport_RU::newSysReportRun(args);
}
report = reportRun.report();
report.interactive(false);
queryNextUniqueId = report.query().nextUniqueId();
treeQueryVersion = report.query().version();
}
Что делать с этим? Как решили проблему?
DAX2009RU8
SP2010Sp1