Selasa, 31 Oktober 2023

Update IsBlockedformanualEntry di Mainaccount

DimensionAttributeValue dimAttrValue;
    DimensionAttribute      mainAccountDimAttribute;
    MainAccount             mainaccount;

    // If creating from template, then the DimensionAttributeValue datasource hasn't
    // been initialized yet. Return value from the template instead
    /*
    if (!templateAppliedCompletely && mainAccountTemplate)
    {
        return mainAccountTemplate.IsBlockedForManualEntry;
    }*/
    
    select mainAccountDimAttribute
    where mainAccountDimAttribute.Name == "MainAccount";
    info(strFmt("%1", mainAccountDimAttribute.RecId));
    
    select * from mainaccount
    where mainaccount.MainAccountId == "1601001";
    //&& mainaccount.dataAreaId == "psm";
    
    Select forupdate dimAttrValue
    where dimAttrValue.DimensionAttribute == mainAccountDimAttribute.RecId 
    && dimAttrValue.EntityInstance ==mainaccount.RecId; 
    ttsBegin;
        dimAttrValue.IsBlockedForManualEntry = NoYes::No;
        dimAttrValue.update();
    ttsCommit;
    
    info("done");

Senin, 02 Oktober 2023

Refresh datasource

Ini hal sepele tapi sering terlupakan oleh kebanyakan Programmer.
Memberikan konfirmasi kepada user/pengguna berkaitan dengan action/trigger yang diberikan user.

Konfirmasi ini menjadi bagian komunikasi antara system dengan user sehingga menjadi salahsatu esensial apakah aplikasi yang dibangun userfriendly atau ribet.

Put this code in your clicked() method 

if(Box::okCancel("[isi dengan informasi yang menyatakan keputusan user yang akan diambil contoh : "apakah anda akan menggenerate journal pembayaran?"]", DialogButton::Cancel) == DialogButton::Ok)
    { 

                super();

                datasource_ds.refresh();
                datasource_ds.reread();
                datasource_ds.research(true);
                //tiga mtheod datasource ini akan merefres dan mereturn hasil/output dari sebuah proses.

     }

Cloud hosted environment di D365

Biasanya kita menginginkan sebuah environment yang sama dengan LIVE/PROD untuk mengtest sebuah proses. Maka kita bisa menggunakan fitur Clou...