AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 31.01.2007, 13:25   #1  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
? Порядок записей при вставке
Доброго времени суток!

Последние три дня искал решение для такой проблемы (и только что решил): при вставке в таблицу InventJournalTransTemplate (создана на var слое) записи становились не последовательно (в порядке вставки), а в соответствии с одним из индексов (не кластерный, не Primary в Аксапте). Если отключаю этот индекс то порядок становился совсем необъяснимым. На таблице в Аксапте не было PrimaryIndex, нет и кластерного индекса.

Существует три индекса: TemplateIdx (TransTemplateId), JournalIdx(JournalId), JournalInventDimIdx (JournalId, InventDimId)

При вставке в таблицу записи становились в порядке соответствующим (сортируются по полям индекса) JournalInventDimIdx.

Что увидел на SQL Srv:
I_30008TEMPLATEIDX DATAAERAID, TRANSTEMPLATEID
I_30008JOURNALIDX DATAAERAID, JOURNALID
I_3008JOURNALINVENTDIMIDX DATAAREAID, JOURNALID, INVENTDIMID, RECID

Интересно, что SQL Srv в индекс I_3008JOURNALINVENTDIMIDX добавил RecId, хотя в Аксапте его нет. Как я понял, SQL Srv добавил RecId для того чтобы сделать индекс уникальным и использовать как PrimaryKey.

Проблему решило добавление RecId на индекс TemplateIdx в Аксапте + сделал его уникальным и Primary.

Вопрос -- правильно ли я поступил?
Старый 31.01.2007, 13:34   #2  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Цитата:
Сообщение от DreamCreator Посмотреть сообщение
Интересно, что SQL Srv в индекс I_3008JOURNALINVENTDIMIDX добавил RecId, хотя в Аксапте его нет. Как я понял, SQL Srv добавил RecId для того чтобы сделать индекс уникальным и использовать как PrimaryKey.
Волшебное превращение неуникального индекса...
Developer's Guide:
Цитата:
If you do not create at least one unique index, Axapta creates one by combining the first index and the RecId.
За это сообщение автора поблагодарили: DreamCreator (1).
Старый 31.01.2007, 14:29   #3  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
:)
Спасибо! Вы меня успокоили
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
вывод количества записей в таблице на web форме и указание текущей страницы таблицы bambuk1960 DAX: Программирование 1 06.07.2006 13:27
Определённая последовательность записей Dymm DAX: Программирование 4 31.08.2005 14:47
Хранение отмеченных записей Pavel Pustovalov DAX: Программирование 9 17.05.2005 21:56
Порядок сортировки записей listener DAX: Программирование 3 14.08.2003 12:12
Lookupы при большом количестве записей выводимой таблицы Pavlo AKA Panok DAX: Программирование 9 07.05.2002 22:02

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:12.