Цитата:
Сообщение от
ZVV
ну во-первых покажите весь цикл,
а во-вторных, по мере ненадобности предыдущие "ассерты" надо отменять, я ж писал:
X++:
CodeAccessPermission::revertAssert();
я ж так понимаю у вас один файл обрабатывается в каждой итерации цикла?
Значит в начале итерации - assert, в конце - revertAssert...
Вот:
X++:
InventDim inventDim;
ProdJournalProd pjp;
str _printStr;
InventTrans inventTrans;
InventTable inventTable;
PrintLabel pL = new printLabel();
container cnt;
TextIO txtFile;
str printerName,scriptZebra;
FileIOPermission fileIOperm;
while
select * from pjp
where ProdJournalTable.JournalId == pjp.JournalId
{
while
select * from inventTrans
where inventTrans.InventTransId == pjp.InventTransId
{
while
select * from inventDim
where inventDim.inventDimId == inventTrans.inventDimId
{
select * from inventTable
where inventTable.ItemId == ProdTable::find(pjp.ProdId).ItemId;
//breakpoint;
_printStr = inventTable.NameAlias;
_printStr += "|"+date2str(pjp.TransDate,123,2,2,2,2,2);
_printStr += "|"+inventDim.inventSerialId;
_printStr += "|"+inventDim.InventLocationId;
_printStr += "|"+inventTable.ItemId;
_printStr += "| С/П"+int2str(ProdTable::find(pjp.ProdId).Height)+'X'+int2str(ProdTable::find(pjp.ProdId).Width)+'|';
cnt = pL.PrintMmethod(_printStr);
printerName = conpeek(cnt,1);
scriptZebra = conpeek(cnt,2);
if (_clserv == 'client') // client
{
txtFile = new TextIo(printerName, "w", 866);
txtFile.write(ansi2ascii(scriptZebra));
}
else // server
{
fileIOperm = new FileIOPermission(printerName,"w");
fileIOperm.assert();
txtFile = new TextIo(printerName, "w", 866);
txtFile.write(ansi2ascii(scriptZebra)); //Вот тут уходит в ошибку
CodeAccessPermission::revertAssert();
}
sleep(2000);
}
}
}