Miklix

Tambahkan Tampilan atau Edit Metode melalui Ekstensi di Dynamics 365

Diterbitkan: 16 Februari 2025 pukul 11.55.36 UTC

Dalam artikel ini, saya menjelaskan cara menggunakan ekstensi kelas untuk menambahkan metode tampilan ke tabel dan formulir di Dynamics 365 for Operations, contoh kode X++ disertakan.


Halaman ini diterjemahkan oleh mesin dari bahasa Inggris agar dapat diakses oleh sebanyak mungkin orang. Sayangnya, terjemahan mesin belum merupakan teknologi yang sempurna, sehingga kesalahan dapat terjadi. Jika Anda mau, Anda dapat melihat versi bahasa Inggris aslinya di sini:

Add Display or Edit Method via Extension in Dynamics 365

Meskipun berencana menggunakan metode tampilan atau edit di Dynamics adalah sesuatu yang umumnya harus membuat Anda mempertimbangkan apakah Anda mungkin dapat mendesain solusi Anda dengan cara berbeda, terkadang itu adalah cara terbaik.

Pada versi Dynamics dan Axapta sebelumnya, sangat mudah untuk membuat metode tampilan atau edit pada tabel dan formulir, tetapi ketika baru-baru ini saya harus membuat metode edit pertama saya di Dynamics 365, saya menemukan bahwa prosedur untuk melakukannya agak berbeda.

Jelas ada beberapa pendekatan yang valid, tetapi yang menurut saya terbaik (baik dari segi intuisi maupun keindahan kode) adalah menggunakan ekstensi kelas. Ya, Anda dapat menggunakan ekstensi kelas untuk menambahkan metode ke tipe elemen lain selain kelas - dalam hal ini tabel, tetapi cara ini juga berlaku untuk formulir.

Pertama, buat kelas baru. Anda dapat menamakannya apa pun yang Anda inginkan, tetapi untuk beberapa alasan kelas tersebut harus diberi akhiran "_Extension". Misalnya Anda perlu menambahkan metode tampilan ke CustTable, Anda dapat menamakannya MyCustTable_Extension.

Kelas harus didekorasi dengan ExtensionOf untuk memberi tahu sistem apa yang Anda perluas, seperti ini:

[ExtensionOf(tableStr(CustTable))]
public final class MyCustTable_Extension
{
}

Sekarang Anda dapat mengimplementasikan metode tampilan di kelas ini, seperti yang Anda lakukan langsung pada tabel di versi Dynamics sebelumnya - "ini" bahkan merujuk ke tabel, sehingga Anda dapat mengakses bidang dan metode lainnya.

Misalnya, kelas dengan metode tampilan sederhana (dan sama sekali tidak berguna) yang hanya mengembalikan nomor rekening pelanggan dapat terlihat seperti ini:

[ExtensionOf(tableStr(CustTable))]
public final class MyCustTable_Extension
{
    public display CustAccount displayAccountNum()
    {
        ;

        return this.AccountNum;
    }
}

Sekarang, untuk menambahkan metode tampilan ke formulir (atau ekstensi formulir, jika Anda tidak dapat mengedit formulir secara langsung), Anda perlu menambahkan bidang ke formulir secara manual dan pastikan untuk menggunakan jenis yang benar (string dalam contoh ini).

Kemudian, pada kontrol Anda akan menetapkan DataSource ke CustTable (atau apa pun nama sumber data CustTable Anda) dan DataMethod ke MyCustTable_Extension.displayAccountNum (pastikan untuk menyertakan nama kelas, jika tidak, kompiler tidak dapat menemukan metode tersebut).

Dan selesai :-)

Pembaruan: Tidak perlu lagi menyertakan nama kelas ekstensi saat menambahkan metode tampilan ke formulir, tetapi pada saat penerbitan awal, perlu. Saya meninggalkan informasi di sini jika ada pembaca yang masih menggunakan versi lama.

Bagikan di BlueskyBagikan di FacebookBagikan di LinkedInBagikan di TumblrBagikan di XBagikan di LinkedInPin di Pinterest

Mikkel Bang Christensen

Tentang Penulis

Mikkel Bang Christensen
Mikkel adalah pencipta dan pemilik miklix.com. Dia memiliki lebih dari 20 tahun pengalaman sebagai pemrogram komputer profesional/pengembang perangkat lunak dan saat ini bekerja penuh waktu di sebuah perusahaan IT besar di Eropa. Ketika tidak menulis blog, ia menghabiskan waktu luangnya untuk beragam minat, hobi, dan kegiatan, yang mungkin sampai batas tertentu tercermin dalam berbagai topik yang dibahas di situs web ini.