Jumat, 11 Februari 2022

Create notification x++

untuk menghardcode notification/lonceng di AX bisa memakai table-table berikut.

EventInbox  &   SysUserInfo 

Contoh penggunaan :

EventInbox                  EventInbox,inbox;
SysUserInfo                 SysUserInfo;


select SysUserInfo order by SysUserInfo.Id
       where SysUserInfo.Id == "Husna";//ax account Husna

        ttsbegin();
        select maxof(inboxId) from inbox;
        
        EventInbox.InboxId  = EventInbox::nextEventId();
        EventInbox.CompanyId = "psm";
        EventInbox.AlertTableId = 105939;//2271;//diisi dengan tableId yang menjadi referensi table.
        EventInbox.AlertCreatedDateTime = DateTimeUtil::utcNow();
        EventInbox.ParentTableId = 105939;//2271;//diisi dengan tableId yang menjadi referensi table.
        EventInbox.IsRead = NOYES::No;
        EventInbox.Subject = "Update minimum stock information "+usernotif.ItemId;
        EventInbox.AlertedFor = "update minimum stock information "+usernotif.ItemId;
        EventInbox.UserId = SysUserInfo.Id;
        EventInbox.ShowPopup = NOYES::Yes;
        EventInbox.Visible = NOYES::Yes;
        EventInbox.Message = strfmt("Minimum stok item "+usernotif.ItemId+" sudah lebih kecil atau sama dengan rata-rata pemakaian");
        EventInbox.insert();

        ttscommit();

Mencari userId dari HcmWorker.RecId

Untuk mencari User Id dari HcmWoker bisa menggunakan DirPersonUser::findParty()

contoh penggunaan :

HcmWorker            worker;
;

select worker
where worker.recId == 12345678;

info(DirPersonUser::findParty(worker.person).user);

Kamis, 10 Februari 2022

Highlight record with background color

Over write method displayOption di Datasource.

Contoh : 

public void displayOption(Common _record, FormRowDisplayOption _options)
{
    PSMLeadTimeItem         psmleadtimelocal;
    //super(_record, _options);
    psmleadtimelocal   =  _record as PSMLeadTimeItem;
    if(psmleadtimelocal.min == 0)
        _options.backColor(WinApi::RGB2int(255,255,0));//jadi kuning
    else
        _options.backColor(WinAPI::RGB2int(255,255,255));
}

Erorr CS1963 - An expression tree may not contain a dynamic operation.

Kali ini saya mendapatkan erorr dengan code CS1963, padahal sebelumnya saya sudah mendefinisikan 'var item in Model' di @foreach(var...