Miklix

ਡਾਇਨਾਮਿਕਸ 365 ਵਿੱਚ ਇੱਕ ਵਿੱਤੀ ਮਾਪ ਲਈ ਇੱਕ ਲੁੱਕਅੱਪ ਫੀਲਡ ਬਣਾਉਣਾ

ਪ੍ਰਕਾਸ਼ਿਤ: 19 ਮਾਰਚ 2025 9:35:39 ਬਾ.ਦੁ. UTC

ਇਹ ਲੇਖ ਦੱਸਦਾ ਹੈ ਕਿ ਡਾਇਨਾਮਿਕਸ 365 ਫਾਰ ਓਪਰੇਸ਼ਨਜ਼ ਵਿੱਚ ਇੱਕ ਵਿੱਤੀ ਪਹਿਲੂ ਲਈ ਇੱਕ ਲੁੱਕਅੱਪ ਫੀਲਡ ਕਿਵੇਂ ਬਣਾਇਆ ਜਾਵੇ, ਜਿਸ ਵਿੱਚ ਇੱਕ X++ ਕੋਡ ਉਦਾਹਰਣ ਵੀ ਸ਼ਾਮਲ ਹੈ।


ਇਸ ਪੰਨੇ ਨੂੰ ਵੱਧ ਤੋਂ ਵੱਧ ਲੋਕਾਂ ਤੱਕ ਪਹੁੰਚਯੋਗ ਬਣਾਉਣ ਲਈ ਅੰਗਰੇਜ਼ੀ ਤੋਂ ਮਸ਼ੀਨ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਸੀ। ਬਦਕਿਸਮਤੀ ਨਾਲ, ਮਸ਼ੀਨ ਅਨੁਵਾਦ ਅਜੇ ਇੱਕ ਸੰਪੂਰਨ ਤਕਨਾਲੋਜੀ ਨਹੀਂ ਹੈ, ਇਸ ਲਈ ਗਲਤੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਜੇ ਤੁਸੀਂ ਚਾਹੋ, ਤਾਂ ਤੁਸੀਂ ਮੂਲ ਅੰਗਰੇਜ਼ੀ ਸੰਸਕਰਣ ਇੱਥੇ ਦੇਖ ਸਕਦੇ ਹੋ:

Creating a Lookup Field for a Financial Dimension in Dynamics 365

ਇਸ ਪੋਸਟ ਵਿੱਚ ਦਿੱਤੀ ਜਾਣਕਾਰੀ ਡਾਈਨਾਮਿਕਸ 365 ਫਰ ਓਪਰੇਸ਼ਨਜ਼ 'ਤੇ ਅਧਾਰਿਤ ਹੈ, ਪਰ ਇਸ ਵਿੱਚੋਂ ਜਿਆਦਾਤਰ ਡਾਈਨਾਮਿਕਸ AX 2012 ਲਈ ਵੀ ਕੰਮ ਕਰੇਗੀ (ਹੇਠਾਂ ਦੇਖੋ)।

ਮੈਨੂੰ ਹਾਲ ਹੀ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਫੀਲਡ ਬਣਾਉਣ ਦੀ ਜ਼ਿੰਮੇਵਾਰੀ ਸੌਂਪੀ ਗਈ ਸੀ ਜਿਸ ਵਿੱਚ ਇੱਕ ਇਕੱਲੀ ਵਿੱਤੀ ਮਾਪਦੰਡ ਦਰਜ ਕੀਤਾ ਜਾ ਸਕੇ, ਇਸ ਕੇਸ ਵਿੱਚ ਉਤਪਾਦ। ਕਦੇ ਵੀ, ਨਵੀਂ ਫੀਲਡ ਨੂੰ ਇਸ ਮਾਪਦੰਡ ਦੇ ਸਹੀ ਮੁੱਲ ਨੂੰ ਲੁੱਕਅਪ ਕਰਨ ਦੀ ਯੋਗਤਾ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।

ਇਹ ਇੱਕ ਸਧਾਰਣ ਟੇਬਲ ਵਿੱਚ ਲੁੱਕਅਪ ਨਾਲੋਂ ਥੋੜ੍ਹਾ ਜਿਆਦਾ ਜਟਿਲ ਹੈ, ਪਰ ਜੇ ਤੁਸੀਂ ਜਾਣਦੇ ਹੋ ਕਿ ਕਿਵੇਂ ਕਰਨਾ ਹੈ, ਤਾਂ ਇਹ ਦਰਅਸਲ ਬਹੁਤ ਜ਼ਿਆਦਾ ਮੁਸ਼ਕਲ ਨਹੀਂ ਹੈ।

ਖੁਸ਼ਕਿਸਮਤੀ ਨਾਲ, ਮਿਆਰੀ ਐਪਲੀਕੇਸ਼ਨ ਇੱਕ ਸੁਵਿਧਾਜਨਕ ਲੁੱਕਅਪ ਫਾਰਮ (DimensionLookup) ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਜਿਸਨੂੰ ਇਸ ਉਦੇਸ਼ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਜੇ ਤੁਸੀਂ ਇਸਨੂੰ ਕੇਵਲ ਇਹ ਦੱਸ ਦਿਓ ਕਿ ਕਿਹੜਾ ਮਾਪਦੰਡ ਗੁਣਵੱਤਾ ਦੇਣੀ ਹੈ।

ਸਭ ਤੋਂ ਪਹਿਲਾਂ, ਤੁਹਾਨੂੰ ਫਾਰਮ ਫੀਲਡ ਖੁਦ ਬਣਾਉਣੀ ਹੈ। ਇਹ ਟੇਬਲ ਫੀਲਡ ਜਾਂ ਇੱਕ ਐਡਿਟ ਮੈਥਡ 'ਤੇ ਆਧਾਰਿਤ ਹੋ ਸਕਦਾ ਹੈ, ਪਰ ਲੁੱਕਅਪ ਲਈ ਇਹ ਮਾਮਲਾ ਨਹੀਂ ਹੈ, ਪਰ ਕਿਸੇ ਨਾ ਕਿਸੇ ਤਰੀਕੇ ਨਾਲ ਇਹਨੂੰ DimensionValue ਵਿਸਥਾਰਿਤ ਡਾਟਾ ਟਾਈਪ ਵਰਤਣਾ ਪਵੇਗਾ।

ਫਿਰ ਤੁਹਾਨੂੰ ਫੀਲਡ ਲਈ ਇੱਕ OnLookup ਇਵੈਂਟ ਹੈਂਡਲਰ ਬਣਾਉਣੀ ਹੈ। ਇਵੈਂਟ ਹੈਂਡਲਰ ਬਣਾਉਣ ਲਈ, ਫੀਲਡ ਲਈ OnLookup ਇਵੈਂਟ 'ਤੇ ਰਾਈਟ-ਕਲਿਕ ਕਰੋ, ਫਿਰ "Copy event handler method" ਚੁਣੋ। ਤੁਸੀਂ ਫਿਰ ਇੱਕ ਖਾਲੀ ਇਵੈਂਟ ਹੈਂਡਲਰ ਮੈਥਡ ਨੂੰ ਇੱਕ ਕਲਾਸ ਵਿੱਚ ਪੇਸਟ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਉਥੇ ਤੋਂ ਇਸਨੂੰ ਸੋਧ ਸਕਦੇ ਹੋ।

ਨੋਟ: ਇਸਦਾ ਜਿਆਦਾਤਰ ਹਿੱਸਾ ਡਾਈਨਾਮਿਕਸ 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);
}
ਬਲੂਸਕੀ 'ਤੇ ਸਾਂਝਾ ਕਰੋਫੇਸਬੁੱਕ 'ਤੇ ਸਾਂਝਾ ਕਰੋਲਿੰਕਡਇਨ 'ਤੇ ਸਾਂਝਾ ਕਰੋਟਮਬਲਰ 'ਤੇ ਸਾਂਝਾ ਕਰੋX 'ਤੇ ਸਾਂਝਾ ਕਰੋਲਿੰਕਡਇਨ 'ਤੇ ਸਾਂਝਾ ਕਰੋPinterest 'ਤੇ ਪਿੰਨ ਕਰੋ

ਮਿੱਕੇਲ ਕ੍ਰਿਸਟਨਸਨ

ਲੇਖਕ ਬਾਰੇ

ਮਿੱਕੇਲ ਕ੍ਰਿਸਟਨਸਨ
ਮਿਕੇਲ miklix.com ਦਾ ਸਿਰਜਣਹਾਰ ਅਤੇ ਮਾਲਕ ਹੈ। ਉਸਨੂੰ ਇੱਕ ਪੇਸ਼ੇਵਰ ਕੰਪਿਊਟਰ ਪ੍ਰੋਗਰਾਮਰ/ਸਾਫਟਵੇਅਰ ਡਿਵੈਲਪਰ ਵਜੋਂ 20 ਸਾਲਾਂ ਤੋਂ ਵੱਧ ਦਾ ਤਜਰਬਾ ਹੈ ਅਤੇ ਉਹ ਵਰਤਮਾਨ ਵਿੱਚ ਇੱਕ ਵੱਡੇ ਯੂਰਪੀਅਨ ਆਈਟੀ ਕਾਰਪੋਰੇਸ਼ਨ ਲਈ ਪੂਰਾ ਸਮਾਂ ਕੰਮ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਉਹ ਬਲੌਗ ਨਹੀਂ ਲਿਖਦਾ, ਤਾਂ ਉਹ ਆਪਣਾ ਖਾਲੀ ਸਮਾਂ ਬਹੁਤ ਸਾਰੀਆਂ ਰੁਚੀਆਂ, ਸ਼ੌਕ ਅਤੇ ਗਤੀਵਿਧੀਆਂ 'ਤੇ ਬਿਤਾਉਂਦਾ ਹੈ, ਜੋ ਕਿ ਕੁਝ ਹੱਦ ਤੱਕ ਇਸ ਵੈੱਬਸਾਈਟ 'ਤੇ ਕਵਰ ਕੀਤੇ ਗਏ ਵਿਸ਼ਿਆਂ ਦੀ ਵਿਭਿੰਨਤਾ ਵਿੱਚ ਪ੍ਰਤੀਬਿੰਬਤ ਹੋ ਸਕਦਾ ਹੈ।