Тема: Печать СФ
Показать сообщение отдельно
Старый 17.10.2005, 15:25   #8  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от LEX
select firstonly _vendTrans
index hint VoucherDateIdx
where _vendTrans.Invoice == fTrans.InvoiceId &&
_vendTrans.TransDate == fTrans.InvoiceDate;
Во-первых, так неправильно. Необходимо учитывать AccountNum (для CustTrans то-же самое).
Во-вторых, в счет-фактуру может входить несколько накладных и сопоставлена может быть только одна из них. Т.е. правильнее делать так
X++:
select firstonly recid from _fTrans 
where _fTrans.FactureId == FactureJour.FactureId
join LastSettleVoucher, RecId from _vendTrans
where _vendTrans.AccountNum == FactureJour.CustVendInvoiceAccount &&
_vendTrans.Invoice == fTrans.InvoiceId &&
 _vendTrans.TransDate == fTrans.InvoiceDate &&
 _vendTrans.LastSettleVoucher;
В-третьих, посмотрите метод document() таблицы FactureJour_Ru - в нем выдергивается номер сопоставленного документа при создании с/ф (и при выполнении которого уходит много времени)
__________________
Axapta v.3.0 sp5 kr2