Ну я бы понял, если бы вывелась максимальная дата из всех платежных документов. Т.е. сравнивать текущий docDate с DocumentDate каждого платежа. Но кто-то решил сравнение делать по TransDate место даты документа
X++:
while select DocumentNum, DocumentDate 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.DocumentDate);
}