ડાયનેમિક્સ 365 માં નાણાકીય પરિમાણ માટે લુકઅપ ફીલ્ડ બનાવવું
પ્રકાશિત: 16 ફેબ્રુઆરી, 2025 એ 11:37:06 AM UTC વાગ્યે
આ લેખ સમજાવે છે કે ડાયનેમિક્સ 365 ફોર ઓપરેશન્સમાં નાણાકીય પરિમાણ માટે લુકઅપ ફીલ્ડ કેવી રીતે બનાવવું, જેમાં X++ કોડ ઉદાહરણનો સમાવેશ થાય છે.
Creating a Lookup Field for a Financial Dimension in Dynamics 365
આ પોસ્ટમાંની માહિતી ઓપરેશન્સ માટે ડાયનેમિક્સ 365 પર આધારિત છે, પરંતુ તેમાંથી મોટાભાગની માહિતી ડાયનેમિક્સ AX 2012 માટે પણ કામ કરશે (નીચે જુઓ).
મને તાજેતરમાં એક નવું ક્ષેત્ર બનાવવાનું કામ સોંપવામાં આવ્યું હતું જેમાં એક જ નાણાકીય પરિમાણ, આ કિસ્સામાં ઉત્પાદન, સ્પષ્ટ કરવાનું શક્ય હોવું જોઈએ. અલબત્ત, નવું ક્ષેત્ર આ પરિમાણના માન્ય મૂલ્યો શોધવા માટે પણ સક્ષમ હોવું જોઈએ.
આ ટેબલમાં નિયમિત લુકઅપ કરતાં થોડું વધુ જટિલ છે, પરંતુ જો તમને ખબર હોય કે કેવી રીતે કરવું, તો તે ખરેખર ખરાબ નથી.
સદનસીબે, સ્ટાન્ડર્ડ એપ્લિકેશન એક અનુકૂળ લુકઅપ ફોર્મ (ડાયમેન્શનલુકઅપ) પ્રદાન કરે છે જેનો ઉપયોગ આ હેતુ માટે થઈ શકે છે, જો તમે ફક્ત તે જણાવો કે કયા પરિમાણ વિશેષતા લુકઅપ માટે છે.
સૌ પ્રથમ, તમારે ફોર્મ ફીલ્ડ બનાવવાની જરૂર છે. આ ટેબલ ફીલ્ડ અથવા એડિટ પદ્ધતિ પર આધારિત હોઈ શકે છે, લુકઅપ માટે તે વાંધો નથી, પરંતુ એક યા બીજી રીતે તે DimensionValue વિસ્તૃત ડેટા પ્રકારનો ઉપયોગ કરવો આવશ્યક છે.
પછી તમારે ફીલ્ડ માટે OnLookup ઇવેન્ટ હેન્ડલર બનાવવાની જરૂર છે. ઇવેન્ટ હેન્ડલર બનાવવા માટે, ફીલ્ડ માટે OnLookup ઇવેન્ટ પર જમણું-ક્લિક કરો, પછી "કૉપિ ઇવેન્ટ હેન્ડલર પદ્ધતિ" પસંદ કરો. પછી તમે ખાલી ઇવેન્ટ હેન્ડલર પદ્ધતિને ક્લાસમાં પેસ્ટ કરી શકો છો અને ત્યાંથી તેને સંપાદિત કરી શકો છો.
સૂચના: આમાંથી મોટાભાગનું ડાયનેમિક્સ AX 2012 માટે પણ કામ કરશે, પરંતુ ઇવેન્ટ હેન્ડલર બનાવવાને બદલે, તમે ફોર્મ ફીલ્ડની લુકઅપ પદ્ધતિને ઓવરરાઇડ કરી શકો છો.
ઇવેન્ટ હેન્ડલર કંઈક આના જેવું દેખાવું જોઈએ (જરૂર પડે તો ફોર્મનું નામ અને ફીલ્ડનું નામ બદલો):
FormControlEventHandler(formControlStr( MyForm,
MyProductDimField),
FormControlEventType::Lookup)
]
public static void MyProductDimField_OnLookup( FormControl _sender,
FormControlEventArgs _e)
{
FormStringControl control;
Args args;
FormRun formRun;
DimensionAttribute dimAttribute;
;
dimAttribute = DimensionAttribute::findByName('Product');
args = new Args();
args.record(dimAttribute);
args.caller(_sender);
args.name(formStr(DimensionLookup));
formRun = classFactory.formRunClass(args);formRun.init();
control = _sender as FormStringControl;
control.performFormLookup(formRun);
}