|
![]() |
#1 |
Microsoft Dynamics
|
Цитата:
Создал в ax2009 таблицу с двумя полями: текстовое Id, числовое Amount с FieldUpdate = Relative. Уникальный индекс по полю Id. Джобом пытаюсь добавлять, обновлять запись разными способами - никак не получается воспроизвести ситуацию, что бы поле Amount обновлялось с учетом предыдущего значения. Каждый раз значение поля переписывается. Может, я что-то не так делаю? |
|
![]() |
#2 |
Участник
|
опаньки. понял. тем более, надо попробовать. вдруг, это я неправ.
|
|
![]() |
#3 |
Moderator
|
Цитата:
Сообщение от AlexSD
![]() Попробывал - не получилось.
Создал в ax2009 таблицу с двумя полями: текстовое Id, числовое Amount с FieldUpdate = Relative. Уникальный индекс по полю Id. Джобом пытаюсь добавлять, обновлять запись разными способами - никак не получается воспроизвести ситуацию, что бы поле Amount обновлялось с учетом предыдущего значения. Каждый раз значение поля переписывается. Может, я что-то не так делаю? Можно конечно предположить что mazzy прав и система магически умеет заменять вставки на обновления, но как-то это никак не вяжется с содержанием хэлпов всех версий... |
|
![]() |
#4 |
Участник
|
Цитата:
![]() в ax2009 действительно сильно заморочено. И надо разбираться. в ax3.0 был метод класса LedgerVoucherBalancesList.write() X++: private void write() { LedgerBalancesMap ledgerBalancesLocal = ledgerBalances.data(); ; ttsbegin; this.forUpdate(ledgerBalancesLocal); if (!ledgerBalancesLocal) { ledgerBalancesLocal.LedgerAccount = ledgerBalances.LedgerAccount; ledgerBalancesLocal.TransDate = ledgerBalances.TransDate; ledgerBalancesLocal.PeriodCode = ledgerBalances.PeriodCode; ledgerBalancesLocal.LedgerSystemGeneratedUltimo = ledgerBalances.LedgerSystemGeneratedUltimo; ledgerBalancesLocal.LedgerBalancesVariant = variant; } ledgerBalancesLocal.DebitMST += ledgerBalances.DebitMST; ledgerBalancesLocal.CreditMST += ledgerBalances.CreditMST; ledgerBalancesLocal.DebitOPRMST += ledgerBalances.DebitOPRMST; ledgerBalancesLocal.CreditOPRMST += ledgerBalances.CreditOPRMST; ledgerBalancesLocal.DebitTaxMST += ledgerBalances.DebitTaxMST; ledgerBalancesLocal.CreditTaxMST += ledgerBalances.CreditTaxMST; ledgerBalancesLocal.DebitMSTSecond += ledgerBalances.DebitMSTSecond; ledgerBalancesLocal.CreditMSTSecond += ledgerBalances.CreditMSTSecond; ledgerBalancesLocal.DebitOPRMSTSecond += ledgerBalances.DebitOPRMSTSecond; ledgerBalancesLocal.CreditOPRMSTSecond += ledgerBalances.CreditOPRMSTSecond; ledgerBalancesLocal.DebitTaxMSTSecond += ledgerBalances.DebitTaxMSTSecond; ledgerBalancesLocal.CreditTaxMSTSecond += ledgerBalances.CreditTaxMSTSecond; LedgerBalancesLocal.LedgerQty += ledgerBalances.LedgerQty; ledgerBalancesLocal.write(); ttscommit; } Интересно. Ночером. |
|
![]() |
#5 |
Участник
|
отмотал назад по версиям... пока до 2.5...
нашел конкорд, но не помню пароля. посмотрел что было раньше. Цитата:
Сообщение от mazzy
![]() Не, Денис, ты ошибаешься.
Здесь тебе стоит пересмотреть свои взгляды. Просто у денежных полей в таблицах LedgerBalancesTrans и LedgerBalancesDimTrans установлено свойство FieldUpdate = Relative. http://msdn.microsoft.com/en-us/library/aa577032.aspx Это значит, что программисту не надо писать Update, не нужно маятся с вилкой (find?update:insert). Программисту достаточно давать команду Insert. Система сама сложит, если найдет уже существующую запись. Это свойство пришло еще из Конкорда. Цитата:
Сообщение от AlexSD
![]() Попробывал - не получилось.
Создал в ax2009 таблицу с двумя полями: текстовое Id, числовое Amount с FieldUpdate = Relative. Уникальный индекс по полю Id. Джобом пытаюсь добавлять, обновлять запись разными способами - никак не получается воспроизвести ситуацию, что бы поле Amount обновлялось с учетом предыдущего значения. Каждый раз значение поля переписывается. Может, я что-то не так делаю? в 2.5, 3.0, 4.0, 2009 пока считаю, что это я что-то серьезно напутал. мало того, в ax2.5 суммовые поля в таблицах LedgerBalances не являются Relative! оказывается механизм переписывался. и существенно. надо будет покопаться потщательнее. пусть пока перекрестные ссылки построятся. |
|
|
За это сообщение автора поблагодарили: Logger (1). |
Теги |
ledgerbalance, ledgerbalancesdimtrans, ledgerbalancestrans, главная книга, итоги, сальдо, crm2011 |
|
|