Класс 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