AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.10.2005, 06:30   #1  
Акавешка is offline
Акавешка
Участник
 
36 / 10 (1) +
Регистрация: 03.08.2005
Печать СФ
Возникла проблема с печатью счет-фактуры после сопоставления. В поле "К рачетно-платежному документу" должны печататься номер платежа с которым сопоставлена фактура и его дата. Никак не могу это реализовать. Пишу метод для поля 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  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Для того, чтобы заполнилось это поле необходимо после проведения накладной и до проведения с/ф выполнить сопоставление открытых проводок

После проведения с/ф номер документа ГК будет напечатан в этом поле.
__________________
Axapta v.3.0 sp5 kr2
Старый 14.10.2005, 09:13   #3  
Акавешка is offline
Акавешка
Участник
 
36 / 10 (1) +
Регистрация: 03.08.2005
Речь идет об уже сопоставленных фактурах. Наши бухгалтера не делают поэтапную обработку. Они сразу обрабатывают счет-фактуру (минуя обработку накладной), затем соспоставляют её с платежом и после этого распечатывают СФ. Так вот после сопоставления не печатается номер платежно-расчетного документа.
Старый 14.10.2005, 13:41   #4  
Ser is offline
Ser
NavAx
 
99 / 14 (1) ++
Регистрация: 04.03.2002
Адрес: Москва
FactureTrans.InvoiceId,
FactureTrans.InvoiceDate

по данным полям нет группировки ни в методе Init дасорса , ни в fetch указанного отчета. Видимо по этой причине значения в них не определены.
__________________
Чудес не бывает (c), истина где-то рядом (c)...
Старый 14.10.2005, 13:59   #5  
LEX is offline
LEX
NavAx
Аватар для LEX
NavAx Club
 
33 / 12 (1) ++
Регистрация: 06.04.2004
Перед обработкой Счета-фактуры неоходимо воспользоваться функцией "Сопоставление открытых проводок", тогда в момент обработки счета-фактуры произойдет сопоставление документа ГК по накладной с документом ГК по платежу, в отчетной форме Счет-фактура заполнятся неоходимые поля!
Старый 17.10.2005, 13:24   #6  
komar is offline
komar
Шаман форума
Аватар для komar
Ex AND Project
 
5,571 / 600 (32) +++++++
Регистрация: 24.05.2002
Цитата:
Сообщение от Акавешка
Речь идет об уже сопоставленных фактурах. Наши бухгалтера не делают поэтапную обработку. Они сразу обрабатывают счет-фактуру (минуя обработку накладной), затем соспоставляют её с платежом и после этого распечатывают СФ. Так вот после сопоставления не печатается номер платежно-расчетного документа.
На самом деле сопоставляется все равно накладная, просто пользователь формирует ее вместе с фактурой. Однако, Lex также не прав, так как, насколько я понимаю, сопоставление выполнено.
Старый 17.10.2005, 14:44   #7  
LEX is offline
LEX
NavAx
Аватар для LEX
NavAx Club
 
33 / 12 (1) ++
Регистрация: 06.04.2004
Тогда займемся не большой коррекцией кода Акавешка:

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  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 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
Старый 26.10.2005, 10:52   #9  
Акавешка is offline
Акавешка
Участник
 
36 / 10 (1) +
Регистрация: 03.08.2005
AndyD, спасибо огромное, помогло, все работает!
Старый 22.10.2007, 12:31   #10  
Daiver is offline
Daiver
Участник
Самостоятельные клиенты AX
 
177 / 44 (2) +++
Регистрация: 19.07.2005
Адрес: Москва
А как эту ситуация разрулить в DAX 4 SP1?

У нас автосопоставление выключено по причине глючности (были проблемы в Ax 3 SP4 EE), используем периодическое. Вариант с ваучером сопоставления не подходит.

Метод document() таблицы FactureJour_Ru вообще сейчас заремлен.
Как быть? Дать пользователю руками заполнять это поле? Для каких целей оно может использоваться дальше (возможно есть высший смысл где это после будет учавствовать в запросах, или в следующем СП их вообще уберут)?

Последний раз редактировалось Daiver; 22.10.2007 в 12:52.
Теги
ax3.0, ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Печать самих файлов PDF Владимир Максимов DAX: База знаний и проекты 9 17.08.2017 10:34
Печать документов по Заказам, Закупкам Swetik DAX: Функционал 8 11.04.2008 20:07
СФ по агентскому договору Daisy DAX: Функционал 4 07.09.2007 16:18
Печать СФ (проформа) donMigel DAX: Функционал 0 21.06.2006 09:48
Фактура не выходит на печать... dmit1606 DAX: Функционал 1 05.04.2005 16:10

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:59.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.