21.10.2014, 10:51 | #1 |
Злыдни
|
Ошибка при выводе сведений о платеже (AX 2012)
Не знаю, в чью "светлую" голову пришло так выводить данные о платеже, но ...
(ниже выдержка из метода FactureJour_RU.getPaymentInfo()) X++: while (rst.next(custVendInvoiceJour)) { custVendTrans = custVendInvoiceJour.CustVendInvoiceJour::custVendTrans(custVendTrans); infolog.clear(); while select DocumentNum, TransDate from custVendTransPayment order by custVendTransPayment.DocumentNum where custVendTransPayment.DocumentNum exists join custVendSettlement where custVendSettlement.AccountNum == custVendTransPayment.AccountNum && custVendSettlement.OffsetTransVoucher == custVendTransPayment.Voucher && custVendSettlement.OffsetRecid == custVendTransPayment.Recid && custVendSettlement.TransCompany == custVendTrans.DataAreaId && custVendSettlement.TransRecId == custVendTrans.RecId && custVendSettlement.AccountNum == custVendTrans.AccountNum { docuNumSet.add(custVendTransPayment.DocumentNum); docDate = max(docDate, custVendTransPayment.TransDate); } } Т.е. вместо того, чтобы сравнить с пустой датой (забыли указать в платеже), и только в этом случае взять дату проводки, всегда берут максимальную. Клиент оплатил в пятницу, в выписке компании платеж прошел в понедельник, но пятничную дату в печатных формах я не получу.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании. |
|