|
![]() |
#1 |
Сам.AX
|
Такая же ошибка при разноске/проверке журнала.
проверка проходит после прогонки Job с кодом X++: RPayJournalTrans rPayJournalTrans; int i = 1; ; ttsbegin; while select forupdate rPayJournalTrans where rPayJournalTrans.JournalId == 'Номер журнала который не разносится' { rPayJournalTrans.LineNum = i; rPayJournalTrans.update(); i ++; } ttscommit; Последний раз редактировалось Alexx7; 27.08.2009 в 10:45. |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от Alexx7
![]() Такая же ошибка при разноске/проверке журнала.
проверка проходит после прогонки Job с кодом X++: RPayJournalTrans rPayJournalTrans; int i = 1; ; ttsbegin; while select forupdate rPayJournalTrans where rPayJournalTrans.JournalId == 'Номер журнала который не разносится' { rPayJournalTrans.LineNum = i; rPayJournalTrans.update(); i ++; } ttscommit; Наши же локализаторы, как всегда пошли своим путем, создав на RPayJournalTrans индекс JournalLineIdx и засунув в него помимо JournalId и LineNum еще кучу полей. В результате, автонумерация, которая обеспечивается заполнением свойства CounterField на дата-сорсе, работает некорректно. Решение достаточно простое: 1. Создать уникальнай индекс на таблице RPayJournalTrans из двух полей: JournalId и LineNum (именно в таком порядке). Тут надо быть осторожным, если у вас уже есть кривые журналы с неправильными номерами строк, необходимо выполнить джоб для их перенумерации, наподобие того, что привел выше Alexx7. 2. На форме RPayJournalTrans у одноименного дата-сорса в свойстве Index указать созданный в п.1 индекс. После этого разноска журнала зарплаты не будет вызывать описанной ошибки. |
|
|
За это сообщение автора поблагодарили: Alexx7 (1). |
Теги |
axapta retail, ax4.0 |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|