|
![]() |
#1 |
Member
|
Цитата:
Сообщение от fed
...
После того как в DAX2009 они вообще стали балансы складывать тупым суммированием оборотов по счету+аналитика внутри ваучера (то есть - даже не по схеме 20 записей в день по счет+аналитика) ...
__________________
С уважением, glibs® |
|
![]() |
#2 |
Moderator
|
Я пожалуй уточню (по итогам поступивших в оффлайне вопросов): Одна запись в балансы пишется на один объект LedgerVoucher. В принципе - этот объект может включать несколько ваучеров ГК (с разными номерами и датами), но в целом в 95% случаев - один LedgerVoucher==один ваучер ГК. Но, вероятно, из за тех 5% в которых в один ledgerVoucher попадает несколько документов ГК, поле voucher не добавили в балансовые таблицы...
То есть - сначала система считает в памяти (с частичным выносом в квазивременную таблицу в БД) обороты по аналитика+счет+дата ВНУТРИ данного ledgerVoucher, потом все это переносит в одну или несколько записей внутри таблицы балансов. Но никакого суммирования или группировки ЗА ПРЕДЕЛАМИ одного ваучера - не делается... Последний раз редактировалось fed; 28.09.2010 в 10:39. |
|
|
За это сообщение автора поблагодарили: Logger (3). |
![]() |
#3 |
Участник
|
Цитата:
Здесь тебе стоит пересмотреть свои взгляды. Просто у денежных полей в таблицах LedgerBalancesTrans и LedgerBalancesDimTrans установлено свойство FieldUpdate = Relative. http://msdn.microsoft.com/en-us/library/aa577032.aspx Это значит, что программисту не надо писать Update, не нужно маятся с вилкой (find?update:insert). Программисту достаточно давать команду Insert. Система сама сложит, если найдет уже существующую запись. Это свойство пришло еще из Конкорда. добавил скриншот хелпа из ax3.0, где специально объяснялось что это такое |
|
![]() |
#4 |
Участник
|
Цитата:
Если честно, то я грешил на мой плохой английский. Но, похоже, там фундаментальное предположение неверное. И если можно, из уважения к российским читателям - опубликуй текст на русском. Ну, пожалуйста. |
|
![]() |
#5 |
Moderator
|
Цитата:
В принципе - этот relative update штука полезная, поскольку просто заменяет комманду Update Set field=value на update set field=field+value. Но не очень понятно как оно может повлиять на оператор insert в методах LedgerBalancesTransDelta.transferTempDeltaRecsTo* Есть шансы что этот relative просто незаметили и он там остался еще со времен Конкорда. Вообще - похоже что petr прав. Авторы предполагали что балансы периодически пересчитываются и упаковываются. Вот это надо будет написать отдельной записью в блоге... Последний раз редактировалось fed; 28.09.2010 в 12:12. |
|
|
За это сообщение автора поблагодарили: S.Kuskov (3). |
Теги |
ledgerbalance, ledgerbalancesdimtrans, ledgerbalancestrans, главная книга, итоги, сальдо, crm2011 |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|