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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.11.2015, 18:50   #1  
axm2013
Гость
 
n/a
Забавные константы
Метод getHierarchyIdByHierarchyType с таблички DimensionHierarchy

X++:
     switch (_hierarchyType)
            {
                case DimensionHierarchyType::BankAccount:
                    dimHierarchyHashKey = str2guid('{FF110312-6D94-45BB-ABFF-009BBACCBD10}');
                    break;
                case DimensionHierarchyType::Customer:
                    dimHierarchyHashKey = str2guid('{FF070411-8BCB-49DB-9A4F-45B2231C725A}');
                    break;
                case DimensionHierarchyType::DefaultAccount:
                    dimHierarchyHashKey = str2guid('{FF1607AD-7E2D-41C7-9D88-3693A50A2038}');
                    break;
                case DimensionHierarchyType::Employee:
                    dimHierarchyHashKey = str2guid('{FF1207E9-A7CE-4630-81A0-0F1DFC7C8AE2}');
                    break;
                case DimensionHierarchyType::FixedAsset:
                    dimHierarchyHashKey = str2guid('{FF100857-10E4-4E15-B0DB-2E67E1E8CAC7}');
                    break;
                case DimensionHierarchyType::Item:
                    dimHierarchyHashKey = str2guid('{FF1300C0-8E38-4E03-B5D6-9B75EEB2A287}');
                    break;
                case DimensionHierarchyType::Project:
                    dimHierarchyHashKey = str2guid('{FF090EC7-9F35-40F2-A577-4118722A7D57}');
                    break;
                case DimensionHierarchyType::Vendor:
                    dimHierarchyHashKey = str2guid('{FF080005-E805-4013-80AD-67E26925831A}');
                    break;
                case DimensionHierarchyType::AllAttributeStructure:
                    dimHierarchyHashKey = str2guid('{686c7df0-5e1b-4b6c-a38d-5853140c511b}');
                    break;

                // <GEERU>
                case DimensionHierarchyType::FixedAssets_RU:
                    dimHierarchyHashKey = str2guid('{92D0E12F-1B46-4577-857E-71BAC425C3A7}');
                    break;
                case DimensionHierarchyType::RDeferrals:
                    dimHierarchyHashKey = str2guid('{B09F18CF-C660-432D-AB59-F86BC3972D07}');
                    break;
                case DimensionHierarchyType::RCash:
                    dimHierarchyHashKey = str2guid('{FE5AA513-2CE8-4928-B542-98055B2EFB51}');
                    break;
                case DimensionHierarchyType::Employee_RU:
                    dimHierarchyHashKey = str2guid('{248A8DD0-23F3-49E4-88E0-3446F305C00A}');
                    break;
                // </GEERU>
                default:
                    throw error(Error::wrongUseOfFunction(funcName()));
            }

            ttsbegin;

            // The hierarchy is system generated
            dimHierarchy.IsSystemGenerated = true;
            dimHierarchy.StructureType = _hierarchyType;
            dimHierarchy.IsDraft = false;
            dimHierarchy.Name = dimHierarchyName;
            dimHierarchy.HashKey = dimHierarchyHashKey;
            dimHierarchy.insert();
Просто нравится такой код. Чувствуется мысль..Интересно что завязано на данные константы?
Старый 27.11.2015, 23:39   #2  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от axm2013
Интересно что завязано на данные константы?
Используется в таблице DimensionHierarchy, а оттуда через DimensionHierarchyLevel ссылается на DimensionAttribute. Наверное, хотели в журналах работать с "субконто" наравне со счетами ГК. Не получилось.
Старый 30.11.2015, 08:59   #3  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Сложно сказать, получилось или нет, т.к. вся "история" с иерархиями аналитик, фильтрами в иерархии и т.д. завязана на конфигурационный ключ "PublicSector" (западный "Государственный сектор" с не переведенными пунктами меню). Мне кажется, это ближе к реализации фильтров по финансовым аналитикам в зависимости от наименования журнала ГК, как это было ранее в четверке и девятке. Ибо выбирать из огромного списка "подотчетных" статей в государственных органах сложновато будет, вот и решили таким способом ограничивать выборку.
Функциональность не копал, могу и ошибиться.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Служебные строковые константы в метках Logger DAX: Программирование 7 31.01.2012 19:31
как вытаскивать константы из библиотеки типов? Prof DAX: Программирование 3 21.10.2002 15:36

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

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

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