30.06.2014, 13:59 | #1 |
Участник
|
Наткнулся на описание работы ключей в NAV2009 на MSDN: MSDN.
Конкретно заинтересовало следующее: The table could have these keys. Код: Entry No. Country/Region Code, Customer No.,Posting Date Код: SETCURRENTKEY("Country/Region Code","Customer No."); SETRANGE("Customer No.",'1000'); IF FIND('-') THEN REPEAT UNTIL NEXT = 0; Получается в итоге: в составном ключе 3 поля, в запросе SETCURRENTKEY их всего 2, SQL проигнорирует этот ключ и будет использовать первичный??? Почему интересует этот момент - не раз замечал добавление полей во вторичные составные ключи, и ни разу при этом изменения в SETCURRENTKEY не касались более 1 запроса, а их по коду довольно большое количество. Может кто-нибудь разбирался в данном вопросе? Интересует конкретно работа в NAV2009 R2. UPD: Профайлер SQL не показывает ничего касательно SETCURRENTKEY (есть он в запросах либо нет, итогово идет SELECT без указания ключа) - попробую еще перепроверить, но кажется именно так...
__________________
Как только вы проиграете, все ваши прошлые победы забудут. |
|
30.06.2014, 14:32 | #2 |
Участник
|
UPD2:
UPD1 некорректен - профайлер прятал кусок запроса))) Немного неправильно понял суть. В примере сортировка идет по номеру клиента, а ключ изначально выставляется по регион/страна - т.е. выборка должна строго соответствовать полям ключа... Если я правильно понял))) Ковыряю дальше.
__________________
Как только вы проиграете, все ваши прошлые победы забудут. |
|