![]() |
#1 |
Возьми свет!!!
|
DAX 2009 связь скл. проводки со строкой накладной по заказу
Обнаружил что теперь в DAX 2009 связи между проводкой складской и строкой накладной(custinvoicetrans) не прописаны, каким образом устроена связь между проводкой и накладной и почему от этой связки отказались?
Необходимо посчитать маржу в OLAP.
__________________
Axapta 3.0 sp 5 Oracle ![]() Я могу взорвать вам мозг!!! |
|
![]() |
#2 |
MCT
|
для расчета маржи уже есть методы прям на таблице CustInvoiceTrans (ContributionMargin и ContributionMarginMST).
там же и связь прописана X++: InventTrans::invoiceCostAmount(this.InventTransId,this.InvoiceDate,this.InvoiceId); ответ: по номуру лота, номеру накладной и дате накладной.
__________________
Sometimes there is a moment as you are awakening - when you become aware of the real world around you, - but you are still dreaming. - You may think you can fly but you do better not try. |
|
|
За это сообщение автора поблагодарили: Murlin (1). |
![]() |
#3 |
Возьми свет!!!
|
Цитата:
Сообщение от d&m
![]() для расчета маржи уже есть методы прям на таблице CustInvoiceTrans (ContributionMargin и ContributionMarginMST).
там же и связь прописана X++: InventTrans::invoiceCostAmount(this.InventTransId,this.InvoiceDate,this.InvoiceId); ответ: по номуру лота, номеру накладной и дате накладной.
__________________
Axapta 3.0 sp 5 Oracle ![]() Я могу взорвать вам мозг!!! |
|
![]() |
#4 |
Участник
|
Все правильно. Это косяк аксапты. Вылезает если разрешены дубликаты по номерам накладных.
Можно порекомендовать вам сделать какое-то поле идентифицирующее однозначно накладную. И протаскивать его в строку и в проводку. Мы таким полем назначили ваучер. В строку его протаскиваем. В проводке он и так есть. |
|
![]() |
#5 |
Участник
|
Цитата:
Вы как раньше-то связывали? В какой версии?
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
![]() |
#6 |
Возьми свет!!!
|
Цитата:
Сообщение от Владимир Максимов
![]() А можно уточнить, что Вы вкладываете в термин "теперь"? Насколько я вижу, все те индексы, которые были на таблице CustInvoiceTrans в Ax2.5 и Ax3.0 так и остался в Ax2009. Один-в-один. Relations также совпадают для версий Ax3.0 и Ax2009. Вообще НИКАКИХ изменений.
Вы как раньше-то связывали? В какой версии?
__________________
Axapta 3.0 sp 5 Oracle ![]() Я могу взорвать вам мозг!!! |
|
![]() |
#7 |
Участник
|
Вообще-то, однозначная связь между строками фактур и складскими проводками невозможна "по определению". Так сказать, by-design
![]() По самой "природе" строки фактур создаются на основе строк заказа. А складские проводки выступают лишь как некий дополнительный фактор контроля. Дополнительные проверки. Причем "интегральный" (суммовой) фактор контроля (сумма по разным складским аналитикам). Ну, а поскольку на основании одной строки заказа может быть как много строк фактур, так и много складских проводок, то и связь между этими таблицами будет много-ко-многим. Собстенно, код на однозначную связь и не рассчитывает. Если посмотреть, что делает метод InventTrans::invoiceCostAmount(), то видно, что он суммирует складские проводки. Причем InvoiceId и InvoiceDate - это всего-лишь контроль частичной фактуровки, а вовсе не попытка создать уникальный идентификатор. Другими словами, сделать "исторический" анализ - не получится. Даже в том случае, если Вы добавите уникальные идентификаторы. Может банально не оказаться складской проводки с таким идентификатором (удалили после сторнирования). PS: А вот "проклятием рода Баскервилей" ![]() ![]()
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
За это сообщение автора поблагодарили: Murlin (1). |
![]() |
#8 |
Участник
|
Владимир Максимов, а почему вы накладные называете фактурами?
|
|
![]() |
#9 |
Возьми свет!!!
|
Цитата:
![]()
__________________
Axapta 3.0 sp 5 Oracle ![]() Я могу взорвать вам мозг!!! |
|
![]() |
#10 |
Участник
|
|
|
![]() |
#11 |
Участник
|
Потому что я все еще работаю в Ax2.5. А там эта таблица называлась "Строки счетов-фактур", а CustInvoiceJour - соответственно "Счета-фактур"
![]()
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
За это сообщение автора поблагодарили: S.Kuskov (1). |
![]() |
#12 |
Участник
|
Цитата:
Например, запрет удаления строк заказов. Ведь после сторнирования никто не мешает удалить строки заказов, при этом строки накладных "провиснут". Будут ссылаться на не существующие лоты. Ну, и весьма специфическим способом придется организовывать связку складских проводок с разной складской аналитикой. Также надо добавить контроль уникальности на значение InvoiceId. Может, еще чего надо сделать. Т.е. работать будет, если постоянно "пальцем придерживать" ![]()
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|