Minggu, 18 Agustus 2019

Create InventDim otomatis

Disini akan diperlihatkan bagaimana kita membuat/memakai nomor InventdimId secara otomatis.

Sebagai contoh, buatlah satu Table yang mempunyai field inventdimId. disini saya buat contoh table HYInvetdimDisplay.
dengan field IDHY,InventDimId,ItemId

Relasi :
HYNInventdimDisplay.InvetDimId <> InventDim.InventDimId
HYNInventdimDisplay.ItemId<> InventTable.ItemId

ketik method2 berikut ditable kamu :
public InventDim inventDim(boolean _forUpdate = false)
{
    return InventDim::find(this.InventDimId,_forUpdate);
}

public server void modifyInventDim(InventDim _inventDim, FieldId _tableField)
{
    InventDim   inventDimLocal = InventDim::findOrCreate(_inventDim);

    ;

    this.setInventDimId(inventDimLocal.InventDimId, _tableField, inventDimLocal);
}

public void setInventDimId(InventDimId _inventDimId, FieldId _tableField, InventDim _inventDim = InventDim::find(_inventDimId))
{
    InventDim   currentInventDim = this.(_tableField) == _inventDimId ? _inventDim : this.inventDim(_tableField);

    this.(_tableField) = _inventDimId;
}

Kita menuju ke pembuatan GUI :

buat sebuah form dengan DataSource
>HYNInventdimDisplay
>InventDim
Property InventDim :


Tambahkan method berikut di Datasource InventDim :

public void initValue()
{
    InventDim.data(InventDim::find(HYNInventdimdisplay.InventDimId));
    super();
}

void inventDimModified()
{
    HYNInventdimdisplay.modifyInventDim(InventDim, fieldNum(HYNInventdimdisplay, InventDimId));
    InventDim.data(InventDim::find(HYNInventdimdisplay.InventDimId));
    InventDim_ds.setCurrent();
    InventDim_ds.reread();
    InventDim_ds.refresh();
}

Tambahkan method berikut pada setiap field yang akan dijadikan sebagai dimension sebuah Item :
public void modified()
{
    super();
    InventDim_ds.inventDimModified();
}


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...