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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.08.2013, 15:02   #12  
abark is offline
abark
Участник
 
14 / 10 (1) +
Регистрация: 26.06.2013
Адрес: Волгоград
Видимо стандартный алгоритм класса SystemSequence, который ведет буфер зарезервированных идентификаторов внутри AOS-а, работает следующим образом:
X++:
   AOS    getBufferSize  ,         BufferSize

Для примера для bufferSize = 250 будет такая трассировка:
1. делаем flushCache() --> N = 0 (количество неиспользованных идентификаторов), SystemSequence.NextVal = 10000000
2. первое выделение nextVal()
2.1. т.к. N = 0 < 250, то выделяем очередной блок --> N = 250, SystemSequence.NextVal = 10000250
2.2. используем первый из полученных идентификаторов, в итоге N = N-1 = 249
3. второе выделение nextVal()
3.1. т.к. N=249 < 250, то выделяем очередной блок --> N = 249 + 250 = 499, SystemSequence.NextVal = 10000500
3.2. используем очередной из полученных идентификаторов, в итоге N = N-1 = 498
4. очередное выделение nextVal()
4.1. т.к. N=498 > 250, то больше новых блоков пока не выделяем --> N = 498, SystemSequence.NextVal = 10000500
4.2. используем очередной из полученных идентификаторов, в итоге N = N-1 = 497

При нескольких AOS-ах поведение каждого отдельного AOS-а подчиняется тому же самому алгоритму.
Теги
recid, документация, systemsequences, ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как сформировать RecId Arahnid DAX: Программирование 18 14.07.2008 15:02
поля, содержащие RecId somebody DAX: Программирование 15 16.05.2008 17:50
Assegnare Recid a una Tabella manualmente belugin DAX: Программирование 5 14.01.2008 17:38
aEremenko: Дефрагментация RecID Blog bot DAX Blogs 2 06.03.2007 22:25
Два RecId у одной записи таблицы sparur DAX: Программирование 33 18.12.2006 15:56

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

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

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