Catatan:
Menggunakan Dynamic AX 2012 FP1
Default AX 2012 FP1 untuk lookup InventSizeId saat ini hanya menampilkan field SizeId. Pada implementasi AX di sini InventSizeId di manfaat kan untuk input item version, misalkan untuk Master Item laptop maka versionnya adalah merk dan tipe laptop.
Tampilan default pada lookup nya:
Terlihat bila yang ditampilkan hanya version akan membingungkan. Atau minimal bisa memberikan peluang user salah memilih version yang benar. Untuk itu saya menginginkan ditambah Name/Description pada lookup tersebut.
InventSizeId termasuk group dari InventDim. Di AX lookup untuk InventDim tidak menggunakan lookup standart/auto lookup yang di set di setiap tabel.
Form yang digunakan untuk lookup adalah: InventProductDimensionLookup
Setelah di lihat ternyata pada form tersebut memang hanya menampilkan satu field saja.
Maka langkah selanjutnya adalah menambah StringEdit baru untuk menampilkan Description.
Kemudian tambahkan di method initDimensionControls:
/** add by Shindu
Add description field
@ 12 Feb 2015
**/
DimensionDesc.dataSource(inventDimDimension_ds.id());
DimensionDesc.dataMethod("configDesc");
Add description field
@ 12 Feb 2015
**/
DimensionDesc.dataSource(inventDimDimension_ds.id());
DimensionDesc.dataMethod("configDesc");
/** end by shindu **/
Code diatas maksudnya untuk men-set datasource dan datamethod untuk StringEdit DimensionDesc. Kita menggunakan method dengan nama "configDesc".
Sekarang kita menambahkan method display "configDesc" di table InventDim karena datasource yang digunakan adalah InventDim.
/* Add by shindu
@ 12 Feb 2015
Add Description**/
display Description configDesc(InventDim dim)
{
EcoResSize size;
EcoResProductMasterSize resSize;
EcoResProductMasterDimensionValue valSize;
select size
join resSize
join valSize
where size.Name == dim.InventSizeId &&
resSize.Size == size.RecId && valSize.RecId == resSize.RecId ;
if(valSize){
return valSize.Description;
}else{
return "";
}
}
/** end **/
@ 12 Feb 2015
Add Description**/
display Description configDesc(InventDim dim)
{
EcoResSize size;
EcoResProductMasterSize resSize;
EcoResProductMasterDimensionValue valSize;
select size
join resSize
join valSize
where size.Name == dim.InventSizeId &&
resSize.Size == size.RecId && valSize.RecId == resSize.RecId ;
if(valSize){
return valSize.Description;
}else{
return "";
}
}
/** end **/
Untuk mendapatkan Description atas InventSizeId kita harus melakukan join pada tiga tabel, yaitu: EcoResSize, EcoResProductMasterSize, dan EcoResProductMasterDimensionValue
Lakukan compile. Maka hasilnya:
Referensi:
http://thedynamicsblog.com/product-dimensions-description-field-on-lookup/
Link diatas ditemukan oleh HENTOOOL
Tidak ada komentar:
Posting Komentar