AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.01.2024, 12:36   #481  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
InventCostReferenceCategoryCache для ключей Map по RecId использует Types::Integer
Класс InventCostReferenceCategoryCache активно используется в закрытии склада для кэширования соответствия InventTransOriginId -> InventTransOrigin.ReferenceCategory (перечисление InventTransType). Случайно тут увидел, что тип ключа для map используется "немного не тот":
X++:
public void new()
{
    map = new Map(Types::Integer, Types::Enum);
}
Такой фортель в подавляющем большинстве случаев сходит с рук, потому что RecId вида 0x1500031FC превращается в 0x500031FC (5637157372 -> 1342190076, убрали 2^32), и уникальность сохраняется, но всё же как-то, доктор, неаккуратненько...

AX2012 R3
За это сообщение автора поблагодарили: S.Kuskov (2), Logger (5), Raven Melancholic (2).
Теги
axapta, cil, d365fo, guid, rasset, uuid, uuidv7, баг

 


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

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

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