![]() |
#1 |
Участник
|
![]()
День добрый недавно обнаружился неприятный глюк. При создании накладной с произвольным текстом RecId первой создаваемой строки совпадает с RecId самой накладной, т.е. CustInvoiceTable.RecId == CustInvoiceLine.RecId. Для всех последующих строк все норм. Подскажите, может кто-то сталкивался, как с этим бороться.
P.S. Все это на AX 4.0. SP 2 |
|
![]() |
#2 |
Программатор
|
А как Вы это определили?
|
|
![]() |
#3 |
Участник
|
|
|
![]() |
#4 |
Программатор
|
принт скрин в студию!!! Я не верю!!
|
|
![]() |
#5 |
Программатор
|
Скорее всего вы не весь RecId взяли и по части фильтруете строки. Раздвинте поле RecId в обозривателе и всё поймете
|
|
![]() |
#6 |
Участник
|
|
|
![]() |
#7 |
Участник
|
М-да. Очень интересно. У меня то же самое наблюдается...
Сделал такой джобик: X++: static void Job5(Args _args) { CustInvoiceLine CustInvoiceLine; CustInvoiceTable CustInvoiceTable; ; while select CustInvoiceLine join CustInvoiceTable where CustInvoiceTable.RecId == CustInvoiceLine.RecId { info( int642str( CustInvoiceLine.RecId)); } } Info Сообщение (13:18:15) 21426232134 Info Сообщение (13:18:15) 21426232135 Info Сообщение (13:18:15) 21426232136 Info Сообщение (13:18:15) 21426232137 Info Сообщение (13:18:15) 21426232138 Info Сообщение (13:18:15) 21426232139 Info Сообщение (13:18:15) 21426232140 Info Сообщение (13:18:15) 21426232141 Info Сообщение (13:18:15) 21426232142 Info Сообщение (13:18:15) 21426232143 Задумался.. Последний раз редактировалось Михаил Андреев; 24.10.2007 в 13:19. |
|
![]() |
#8 |
Участник
|
А чего в этом страшного? В 4-ке RecId уникален в рамках таблицы, а не в рамках всей БД, как в 3-ке.
|
|
![]() |
#9 |
Участник
|
не очень понятно, не могут ли быть пересечения в этом случае (что происходит при создании второй накладной, если в первой - две строки)
|
|
![]() |
#10 |
Участник
|
|
|
![]() |
#11 |
Мрачный тип
|
То ли лыжи не едут, то ли я ...
Объясните суть глючности данного явления, пожалуйста. В 4-ке генерация RecId вроде наконец-то избавлена от невменяемого атавизма 3-ки ввиде размазывания RecId по всем таблицам в рамках одной компании - RecID вроде потаблично генерится. В 4-ке порог старта RecId начинается 0000000100000000h(4 294 967 296) дабы с RecId 3-ек не пересекаться. Наличие в двух разных таблицах одинаковых значений идентификаторов записи в такой ситуации у 4-ки - явление, IMHO, вполне нормальное и не должно вызывать никоего беспокойства , кроме абсолютной величины (когда успели почти полтора миллиарда записей насоздавать ?) |
|
![]() |
#12 |
Участник
|
Дело в том что я просто не знал о различиях 3-ки и 4-ки по поводу RecId, поэтому и занервничал.
Теперь все стало на свои места. Всем спасибо за помощь |
|
![]() |
#13 |
Участник
|
Пожалуй, случайность. Все накладные по одной строке содержат. Так что, ложная тревога.
|
|
![]() |
#14 |
Программатор
|
Прикольно конечно, но где написано, что RecID в 4-ке уникален тока в одной таблице.
|
|
![]() |
#15 |
Мрачный тип
|
Михаил, чесслово, не понимаю причин беспокойства
![]() В какой-то момент времени значения счетчиков RecId у них сравнялись и было сделано подряд несколько однострочных клиентских накладных - только и всего, вполне вероятная ситуация (я 6 лет работал с системой, где почти все реляционные связи были на суррогатном 8-байтовом идентификаторе, генерируемом отдельно для каждой таблицы, там эта ситуация норма и проблем от этого не возникало). Другое дело - разная скорость пожирания значений идентификатора в разных таблицах. Вот если бы у вас было в значения пробелы - вот тогда надо задумываться. CustInvoiceTable априорно более медленно или равно поедающая по сравнению с CustInvoiceLine. |
|
![]() |
#16 |
Участник
|
Всё правильно, я уже это понял
![]() |
|
![]() |
#17 |
Мрачный тип
|
Цитата:
![]() Оно ж ить того ... это самое, обсуждамшись уже давненько ... Последний раз редактировалось TasmanianDevil; 24.10.2007 в 14:01. |
|
![]() |
#18 |
Программатор
|
|
|
![]() |
#19 |
Модератор
|
Цитата:
- Что вы делаете так поздно? — спросил Резерфорд. - Работаю,— последовал ответ. - А что вы делаете днем? - Работаю, разумеется,— отвечал ученик. - И рано утром тоже работаете? - Да, профессор, и утром работаю, - подтвердил ученик, рассчитывая на похвалу из уст знаменитого ученого. Резерфорд помрачнел и раздраженно спросил: Послушайте, а когда же вы думаете? ![]()
__________________
-ТСЯ или -ТЬСЯ ? |
|
![]() |
#20 |
Программатор
|
Придется поверить наслово
![]() ![]() |
|
Теги |
ax4.0, recid |
|
![]() |
||||
Тема | Ответов | |||
if (record) vs if (record.RecId) | 18 | |||
Глюк с RecId в Ax 4.0 | 5 | |||
поля, содержащие RecId | 15 | |||
aEremenko: Дефрагментация RecID | 2 | |||
Два RecId у одной записи таблицы | 33 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|