Miklix

ਡਾਇਨਾਮਿਕਸ 365 ਵਿੱਚ ਐਕਸਟੈਂਸ਼ਨ ਰਾਹੀਂ ਡਿਸਪਲੇ ਜਾਂ ਐਡਿਟ ਵਿਧੀ ਸ਼ਾਮਲ ਕਰੋ

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

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


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

Add Display or Edit Method via Extension in Dynamics 365

ਜਦੋਂ ਤੁਸੀਂ Dynamics ਵਿੱਚ ਡਿਸਪਲੇਅ ਜਾਂ ਐਡੀਟ ਮੈਥਡਸ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਯੋਜਨਾ ਬਣਾਉਂਦੇ ਹੋ, ਤਾਂ ਇਹ ਕੁਝ ਹੱਲੀ ਵਿਚਾਰ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਕੀ ਤੁਸੀਂ ਆਪਣਾ ਹੱਲ ਕਿਸੇ ਹੋਰ ਤਰੀਕੇ ਨਾਲ ਡਿਜ਼ਾਈਨ ਕਰ ਸਕਦੇ ਹੋ, ਪਰ ਕਦੇ ਕਦੇ ਇਹ ਸਭ ਤੋਂ ਵਧੀਆ ਤਰੀਕਾ ਹੁੰਦਾ ਹੈ।

Dynamics ਅਤੇ Axapta ਦੇ ਪਿਛਲੇ ਵਰਜਨਾਂ ਵਿੱਚ, ਟੇਬਲਾਂ ਅਤੇ ਫਾਰਮਾਂ 'ਤੇ ਡਿਸਪਲੇਅ ਜਾਂ ਐਡੀਟ ਮੈਥਡਸ ਬਣਾਉਣਾ ਬਹੁਤ ਅਸਾਨ ਸੀ, ਪਰ ਜਦੋਂ ਮੈਂ ਹਾਲ ਹੀ ਵਿੱਚ Dynamics 365 ਵਿੱਚ ਆਪਣਾ ਪਹਿਲਾ ਐਡੀਟ ਮੈਥਡ ਬਣਾਉਣਾ ਪਿਆ, ਤਾਂ ਮੈਨੂੰ ਪਤਾ ਲੱਗਾ ਕਿ ਇਹ ਕੰਮ ਕਰਨ ਦਾ ਤਰੀਕਾ ਕੁਝ ਵੱਖਰਾ ਹੈ।

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

ਪਹਿਲਾਂ, ਇੱਕ ਨਵੀਂ ਕਲਾਸ ਬਣਾਓ। ਤੁਸੀਂ ਇਸਨੂੰ ਕੁਝ ਵੀ ਨਾਮ ਦੇ ਸਕਦੇ ਹੋ, ਪਰ ਕਿਸੇ ਕਰਣ ਕਰਕੇ ਇਹ ਜਰੂਰੀ ਹੈ ਕਿ ਇਸ ਦਾ ਆਖਰੀ ਹਿੱਸਾ "_Extension" ਹੋਵੇ। ਮਾਨ ਲਓ ਕਿ ਤੁਸੀਂ CustTable ਨੂੰ ਇੱਕ ਡਿਸਪਲੇਅ ਮੈਥਡ ਜੋੜਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਉਦਾਹਰਨ ਲਈ ਇਸਨੂੰ MyCustTable_Extension ਨਾਮ ਦੇ ਸਕਦੇ ਹੋ।

ਕਲਾਸ ਨੂੰ ExtensionOf ਨਾਲ ਸਜਾਇਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ ਤਾਂ ਕਿ ਸਿਸਟਮ ਨੂੰ ਪਤਾ ਲੱਗੇ ਕਿ ਤੁਸੀਂ ਕਿਸ ਚੀਜ਼ ਨੂੰ ਐਕਸਟੇੰਡ ਕਰ ਰਹੇ ਹੋ, ਇਸ ਤਰ੍ਹਾਂ:

[ExtensionOf(tableStr(CustTable))]
public final class MyCustTable_Extension
{
}

ਹੁਣ ਤੁਸੀਂ ਇਸ ਕਲਾਸ ਵਿੱਚ ਆਪਣਾ ਡਿਸਪਲੇਅ ਮੈਥਡ ਸਿੱਧਾ ਅਮਲ ਕਰ ਸਕਦੇ ਹੋ, ਜਿਵੇਂ ਕਿ ਤੁਸੀਂ ਪਿਛਲੇ ਵਰਜਨਾਂ ਵਿੱਚ ਸਿੱਧਾ ਟੇਬਲ 'ਤੇ ਕਰਦੇ ਸੀ - "ਇਹ" ਟੇਬਲ ਨੂੰ ਵੀ ਹਵਾਲਾ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਜੋ ਤੁਸੀਂ ਫੀਲਡਸ ਅਤੇ ਹੋਰ ਮੈਥਡਸ ਤੱਕ ਪਹੁੰਚ ਸਕੋ।

ਉਦਾਹਰਨ ਲਈ, ਇੱਕ ਕਲਾਸ ਜਿਸ ਵਿੱਚ ਸਿਰਫ਼ (ਅਤੇ ਪੂਰੀ ਤਰ੍ਹਾਂ ਬੇਕਾਰ) ਡਿਸਪਲੇਅ ਮੈਥਡ ਹੈ ਜੋ ਸਿਰਫ਼ ਗਾਹਕ ਦਾ ਖਾਤਾ ਨੰਬਰ ਵਾਪਸ ਕਰਦਾ ਹੈ, ਇਹ ਇਸ ਤਰ੍ਹਾਂ ਦਿੱਸ ਸਕਦੀ ਹੈ:

[ExtensionOf(tableStr(CustTable))]
public final class MyCustTable_Extension
{
    public display CustAccount displayAccountNum()
    {
        ;

        return this.AccountNum;
    }
}

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

ਫਿਰ, ਕੰਟਰੋਲ 'ਤੇ ਤੁਸੀਂ DataSource ਨੂੰ CustTable (ਜਾਂ ਜਿਸ ਦਾ ਵੀ ਤੁਹਾਡਾ CustTable ਡੇਟਾ ਸੋਰਸ ਹੈ) ਤੇ DataMethod ਨੂੰ MyCustTable_Extension.displayAccountNum ਸੈਟ ਕਰੋ (ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਕਲਾਸ ਦਾ ਨਾਮ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ, ਨਹੀਂ ਤਾਂ ਕੈਂਪਾਇਲਰ ਮੈਥਡ ਨੂੰ ਨਹੀਂ ਲੱਭ ਸਕਦਾ)।

ਅਤੇ ਤੁਸੀਂ ਮੁਕੰਮਲ ਹੋ ਗਏ :-)

ਅਪਡੇਟ: ਹੁਣ ਫਾਰਮ ਵਿੱਚ ਡਿਸਪਲੇਅ ਮੈਥਡ ਜੋੜਦੇ ਸਮੇਂ ਕਲਾਸ ਐਕਸਟੇੰਸ਼ਨ ਦਾ ਨਾਮ ਸ਼ਾਮਲ ਕਰਨਾ ਜਰੂਰੀ ਨਹੀਂ ਹੈ, ਪਰ ਮੂਲ ਪਬਲੀਸ਼ਿੰਗ ਸਮੇਂ ਇਹ ਜਰੂਰੀ ਸੀ। ਮੈਂ ਇਹ ਜਾਣਕਾਰੀ ਇੱਥੇ ਛੱਡ ਰਿਹਾ ਹਾਂ ਤਾਂ ਜੋ ਕੁਝ ਪਾਠਕ ਜੇਹੜੇ ਹਾਲੇ ਵੀ ਪੁਰਾਣੇ ਵਰਜਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹਨ, ਉਹ ਇਸ ਨੂੰ ਵਰਤ ਸਕਣ।

ਬਲੂਸਕੀ 'ਤੇ ਸਾਂਝਾ ਕਰੋਫੇਸਬੁੱਕ 'ਤੇ ਸਾਂਝਾ ਕਰੋਲਿੰਕਡਇਨ 'ਤੇ ਸਾਂਝਾ ਕਰੋਟਮਬਲਰ 'ਤੇ ਸਾਂਝਾ ਕਰੋX 'ਤੇ ਸਾਂਝਾ ਕਰੋਲਿੰਕਡਇਨ 'ਤੇ ਸਾਂਝਾ ਕਰੋPinterest 'ਤੇ ਪਿੰਨ ਕਰੋ

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

ਲੇਖਕ ਬਾਰੇ

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