Membuat Bidang Pencarian untuk Dimensi Keuangan di Dynamics 365
Diterbitkan: 16 Februari 2025 pukul 11.33.45 UTC
Terakhir diperbarui: 12 Januari 2026 pukul 08.56.09 UTC
Artikel ini menjelaskan cara membuat field pencarian untuk dimensi keuangan di Dynamics 365 for Operations, termasuk contoh kode X++.
Creating a Lookup Field for a Financial Dimension in Dynamics 365
Informasi dalam posting ini didasarkan pada Dynamics 365 for Operations, tetapi sebagian besar juga akan berfungsi untuk Dynamics AX 2012 (lihat di bawah).
Baru-baru ini saya ditugaskan untuk membuat field baru yang memungkinkan untuk menentukan satu dimensi keuangan tunggal, dalam hal ini Produk. Tentu saja, field baru tersebut juga harus dapat mencari nilai-nilai valid dari dimensi ini.
Ini sedikit lebih rumit daripada pencarian biasa di dalam tabel, tetapi jika Anda tahu caranya, sebenarnya tidak terlalu sulit.
Untungnya, aplikasi standar menyediakan formulir pencarian yang mudah digunakan (DimensionLookup) yang dapat digunakan untuk tujuan tersebut, asalkan Anda memberi tahu atribut dimensi mana yang ingin dicari.
Pertama, Anda perlu membuat kolom formulir itu sendiri. Ini bisa didasarkan pada kolom tabel atau metode pengeditan, tidak masalah untuk pencarian itu sendiri, tetapi dengan satu atau lain cara harus menggunakan tipe data diperluas DimensionValue.
Selanjutnya, Anda perlu membuat penanganan kejadian OnLookup untuk field tersebut. Untuk membuat penanganan kejadian, klik kanan kejadian OnLookup untuk field tersebut, lalu pilih "Salin metode penanganan kejadian". Anda kemudian dapat menempelkan metode penanganan kejadian kosong ke dalam sebuah kelas dan mengeditnya dari sana.
Catatan: Sebagian besar hal ini juga akan berfungsi untuk Dynamics AX 2012, tetapi alih-alih membuat penanganan kejadian (event handler), Anda dapat menimpa metode pencarian (lookup method) pada kolom formulir.
Penanganan kejadian (event handler) harus terlihat seperti ini (ganti nama formulir dan nama kolom sesuai kebutuhan):
FormControlEventHandler(formControlStr( MyForm,
MyProductDimField),
FormControlEventType::Lookup)
]
public static void MyProductDimField_OnLookup( FormControl _sender,
FormControlEventArgs _e)
{
FormStringControl control;
Args args;
FormRun formRun;
DimensionAttribute dimAttribute;
;
dimAttribute = DimensionAttribute::findByName('Product');
args = new Args();
args.record(dimAttribute);
args.caller(_sender);
args.name(formStr(DimensionLookup));
formRun = classFactory.formRunClass(args);formRun.init();
control = _sender as FormStringControl;
control.performFormLookup(formRun);
}
Bacaan Lebih Lanjut
Jika Anda menikmati postingan ini, Anda mungkin juga menyukai saran berikut:
- Memperbarui Nilai Dimensi Keuangan dari Kode X++ di Dynamics 365
- Tambahkan Tampilan atau Edit Metode melalui Ekstensi di Dynamics 365
- Masukkan Pengembangan atau Pengujian Mesin Virtual Dynamics 365 FO ke Mode Pemeliharaan
