14.10.2005, 06:30 | #1 |
Участник
|
Печать СФ
Возникла проблема с печатью счет-фактуры после сопоставления. В поле "К рачетно-платежному документу" должны печататься номер платежа с которым сопоставлена фактура и его дата. Никак не могу это реализовать. Пишу метод для поля GetDocNumber в Reports\CustVendFacture_RU.
display DocumentNum getDocNumber() { CustTrans _custTrans; VendTrans _vendTrans; str j; ; if (FactureJour.Module == FactureModule_RU::Cust) { select firstonly _custTrans index hint VoucherDateIdx where _custTrans.Invoice == FactureTrans.InvoiceId && _custTrans.TransDate == FactureTrans.InvoiceDate; return CustTrans::find(CustSettlement::find(_custTrans.OffsetRecid).OffsetRecid).DocumentNum; } if (FactureJour.Module == FactureModule_RU::Vend) { select firstonly _vendTrans index hint VoucherDateIdx where _vendTrans.Invoice == FactureTrans.InvoiceId && _vendTrans.TransDate == FactureTrans.InvoiceDate; return VendTrans::find(VendSettlement::find(_vendTrans.OffsetRecid).OffsetRecid).DocumentNum; } } Но таблица FactureTrans оказывается пустой, когда выполняется данный метод. Подскажите, в чем моя ошибка? |
|
14.10.2005, 08:49 | #2 |
Участник
|
Для того, чтобы заполнилось это поле необходимо после проведения накладной и до проведения с/ф выполнить сопоставление открытых проводок
После проведения с/ф номер документа ГК будет напечатан в этом поле.
__________________
Axapta v.3.0 sp5 kr2 |
|
14.10.2005, 09:13 | #3 |
Участник
|
Речь идет об уже сопоставленных фактурах. Наши бухгалтера не делают поэтапную обработку. Они сразу обрабатывают счет-фактуру (минуя обработку накладной), затем соспоставляют её с платежом и после этого распечатывают СФ. Так вот после сопоставления не печатается номер платежно-расчетного документа.
|
|
14.10.2005, 13:41 | #4 |
NavAx
|
FactureTrans.InvoiceId,
FactureTrans.InvoiceDate по данным полям нет группировки ни в методе Init дасорса , ни в fetch указанного отчета. Видимо по этой причине значения в них не определены.
__________________
Чудес не бывает (c), истина где-то рядом (c)... |
|
14.10.2005, 13:59 | #5 |
NavAx
|
Перед обработкой Счета-фактуры неоходимо воспользоваться функцией "Сопоставление открытых проводок", тогда в момент обработки счета-фактуры произойдет сопоставление документа ГК по накладной с документом ГК по платежу, в отчетной форме Счет-фактура заполнятся неоходимые поля!
|
|
17.10.2005, 13:24 | #6 |
Шаман форума
|
Цитата:
Сообщение от Акавешка
Речь идет об уже сопоставленных фактурах. Наши бухгалтера не делают поэтапную обработку. Они сразу обрабатывают счет-фактуру (минуя обработку накладной), затем соспоставляют её с платежом и после этого распечатывают СФ. Так вот после сопоставления не печатается номер платежно-расчетного документа.
|
|
17.10.2005, 14:44 | #7 |
NavAx
|
Тогда займемся не большой коррекцией кода Акавешка:
display DocumentNum getDocNumber() { CustTrans _custTrans; VendTrans _vendTrans; FactureTrans_RU fTrans = FactureTrans_RU::findFirst(FactureJour.FactureId,FactureJour.Module,FactureLineType_RU::InvoiceLine); str j; ; if (FactureJour.Module == FactureModule_RU::Cust) { select firstonly _custTrans index hint VoucherDateIdx where _custTrans.Invoice == fTrans.InvoiceId && _custTrans.TransDate == fTrans.InvoiceDate; return _custTrans.LastSettleVoucher; } if (FactureJour.Module == FactureModule_RU::Vend) { select firstonly _vendTrans index hint VoucherDateIdx where _vendTrans.Invoice == fTrans.InvoiceId && _vendTrans.TransDate == fTrans.InvoiceDate; return _vendTrans.LastSettleVoucher; } } Думаю это поможет! Последний раз редактировалось LEX; 17.10.2005 в 15:01. |
|
17.10.2005, 15:25 | #8 |
Участник
|
Цитата:
Сообщение от LEX
select firstonly _vendTrans
index hint VoucherDateIdx where _vendTrans.Invoice == fTrans.InvoiceId && _vendTrans.TransDate == fTrans.InvoiceDate; Во-вторых, в счет-фактуру может входить несколько накладных и сопоставлена может быть только одна из них. Т.е. правильнее делать так 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;
__________________
Axapta v.3.0 sp5 kr2 |
|
26.10.2005, 10:52 | #9 |
Участник
|
AndyD, спасибо огромное, помогло, все работает!
|
|
22.10.2007, 12:31 | #10 |
Участник
|
А как эту ситуация разрулить в DAX 4 SP1?
У нас автосопоставление выключено по причине глючности (были проблемы в Ax 3 SP4 EE), используем периодическое. Вариант с ваучером сопоставления не подходит. Метод document() таблицы FactureJour_Ru вообще сейчас заремлен. Как быть? Дать пользователю руками заполнять это поле? Для каких целей оно может использоваться дальше (возможно есть высший смысл где это после будет учавствовать в запросах, или в следующем СП их вообще уберут)? Последний раз редактировалось Daiver; 22.10.2007 в 12:52. |
|
Теги |
ax3.0, ax4.0 |
|
Похожие темы | ||||
Тема | Ответов | |||
Печать самих файлов PDF | 9 | |||
Печать документов по Заказам, Закупкам | 8 | |||
СФ по агентскому договору | 4 | |||
Печать СФ (проформа) | 0 | |||
Фактура не выходит на печать... | 1 |
|