DAX 5.0.
В печатной форме подтверждения заказа (Sales confirmation -> AOT/Reports/SalesConfirm), в методе fetch() "забыто" изменение значения переменной hasReportBeenPrinted на true, т.е. выделенная скобками bug-fix строчка.
X++:
boolean fetch()
{
QueryRun tradeLoopTrans;
boolean hasReportBeenPrinted = false;
setprefix(this.design().caption());
while (custConfirmJour)
{
setprefix(strfmt("@SYS70899", custConfirmJour.ConfirmId));
.....
while (salesFormLetterReport.moveNextPrintSetting())
{
....
if (salesFormLetterReport.checkNextPrintSetting())
{
element.reset(true);
}
}
// All printing must be done in the context of the fetch() method and not
// in the print() method. This ensures printing errors are associated with the
// appropriate documents.
element.reset(true);
// Bug-fix -->
hasReportBeenPrinted = true;
// Bug-fix <--
// The journalList is used when printing is delayed until after all posting is complete.
if (!journalList.next(custConfirmJour))
{
break;
}
}
// If the report has been printed, return false to indicate the print method should not be run
return (!hasReportBeenPrinted);
}
Из-за этого при печать данного документа всегда выдается инфолог с сообщение, что отчет не содержит данных. Если посмотреть на код метода fetch в аналогичных документах (напримера накладная, AOT/Reports/SalesInvoice), то понятно как эту ошибку можно исправить.
В SP1 проблема не решена.