Цитата:
Сообщение от
mazzy
поле К расчетно-платежному документу должно заполняться автоматически на основании сопоставлений. Если сопоставлений несколько, то должно выводиться несколько документов с датами через запятую.
Как мило, что все мы наступаем на одни и те же заботливо расставленные мины. Предлагаю следующий код, сделано в Австрии:
X++:
//BP deviation documented
display str getPaymentInfo()
{
Object factureCalcAdj;
RecordSortedList rst;
CustInvoiceJour invoiceJour;
CustTrans custTrans, custTransPayment;
CustSettlement custSettlement;
str txt, ret;
date d;
if (classidget(caller) == classnum(FactureCalcAmountAdjustments_RU))
{
factureCalcAdj = caller;
return factureCalcAdj.getPaymentInfo();
}
else
{
rst = factureJour.invoiceJourSortedList_CustVend();
while (rst.next(invoiceJour))
{
custTrans = invoiceJour.custTrans();
while select custSettlement
where custSettlement.TransCompany == custTrans.dataAreaId
&& custSettlement.TransRecId == custTrans.RecId
&& custSettlement.AccountNum == custTrans.AccountNum
{
while select custTransPayment
where custTransPayment.AccountNum == custSettlement.OffsetAccountNum
&& custTransPayment.Voucher == custSettlement.OffsetTransVoucher
{
txt += ((txt ? ', ' : '') + custTransPayment.Txt);
d = max(d, custTransPayment.TransDate);
}
}
}
ret = strfmt("%1: %2 %3: %4",
element.txtInLanguage(literalStr("@SYS2060")), txt,
element.txtInLanguage(literalStr("@SYS77627")), d);
}
return ret;
}