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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.05.2008, 00:05   #1  
Blog bot is offline
Blog bot
Участник
 
25,475 / 846 (79) +++++++
Регистрация: 28.10.2006
jinx: Speichern von Optionswerten
H?ufig werden Optionen (Ja/Nein-Fragen) in Microsoft Dynamics AX durch ein CheckBox Control und einem entsprechendem Feld einer Tabelle abgebildet.
Ein gutes Beispiel hierf?r ist die Maske „Lagerparameter“, Reiter „Lagerungsdimensionen“. Hier kann eingestellt werden, welche Lagerungsdimension wo im System angezeigt werden soll. Zur Speicherung der gew?hlten Einstellungen wird die Tabelle „InventDimSetupGrid“ verwendet. Diese Tabelle enth?lt f?r jede Option jeweils ein Feld (abgeleitet vom Enum „NoYes“).
Diese Art der Speicherung von Optionswerten ist sicherlich sehr leicht zu verstehen und auch sehr einfach zu erstellen. Da aber f?r jede Option ein Feld in der Tabelle angelegt werden muss, kann dies relativ zeitaufwendig sein.
Es besteht aber die M?glichkeit, Optionswerte in nur einem Feld zu speichern. Diese Art der Speicherung kann unter Umst?nden sogar als die elegantere angesehen werden, da z.B. f?r einen Datensatz weniger Speicher in der Datenbank ben?tigt wird.
Um dies zu realisieren, wird als erstes ein Feld vom Typ „int“ in der Tabelle ben?tigt. Dieses Feld dient als Datenspeicher f?r alle ben?tigten Optionswerte (Ja oder Nein). Jedes Bit dieses „int“ Feldes stellt genau einen Optionswert und somit eine Option dar. Um nun die gew?hlten Werte der Optionen speichern zu k?nnen, m?ssen diese mit Bit-Operationen (right / left shift, binary and, etc.) in das „int“ Feld geschrieben werden.

Das Feld "bitMask" wird in dieser Darstellung als Datenspeicher der Optionswerte verwendet.

Auf einer Maske werden alle Optionen als einzelne CheckBoxen bereit gestellt.
Da diese Art der Speicherung in Dynamics AX nicht besonders oft verwendet wird und Quellcode oft mehr sagt als (nur) ein langer Artikel, habe ich ein kleines „Tutorial“ erstellt, um die ben?tigten Schritte zu beschreiben.
SharedProject_AKU_EnumControl_Frm.rar (2,03 KB) Eine Erkl?rung aller Bit-Operatoren ist im Microsoft Dynamics AX Developer Center zu finden.

Es wird keine Haftung oder Gew?hrleistung auf die Richtigkeit der gemachten Angaben gegeben. Die Verwendung erfolgt auf eigene Gefahr. Copyright © Axel K?hn (Aku's AX Blog, http://blog.ak-home.net) and Mathias F??ler (jinx's AX Blog, http://starside.eu)

More...
Старый 13.05.2008, 15:35   #2  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Аксель предлагает сохранять длинный ряд из чекбоксов в одной битовой маске.
Старый 13.05.2008, 17:16   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от EVGL Посмотреть сообщение
Аксель предлагает сохранять длинный ряд из чекбоксов в одной битовой маске.
чтобы получить кучу геморроя с обслуживающим кодом, отсутствием индексов, отстутсвием фильтрации и сортировки
А также с ограничением на максимум 32 флага.

как это успешно реализовано на примере поля inventDimFixed, которые хранят галочки по выбранной и/или используемой аналитике
__________________
полезное на axForum, github, vk, coub.
Старый 13.05.2008, 17:45   #4  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от mazzy Посмотреть сообщение
А также с ограничением на максимум 32 флага
64 в 4.0

Можно подумать, что в решении с N полями не будет обслуживающего кода...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
jinx: Anzeige von Lagerdimensionen auf Masken Blog bot DAX auf Deutsch 0 14.03.2009 01:06
jinx: Microsoft Dynamics AX API – Teil 3 „Buchen von Auftr?gen“ Blog bot DAX auf Deutsch 0 26.10.2007 03:34
jinx: Microsoft Dynamics AX API – Teil 2 „Erstellen von Bestellungen“ Blog bot DAX auf Deutsch 1 04.09.2007 11:46
jinx: Microsoft Dynamics AX API – Teil 1 „Erstellen von Auftr?gen“ Blog bot DAX auf Deutsch 0 17.08.2007 20:54

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 17:09.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.