Miklix

Dynamics 365'te Uzantı Aracılığıyla Görüntüleme veya Düzenleme Yöntemi Ekleme

Yayınlandı: 16 Şubat 2025 11:56:09 UTC

Bu makalede, Dynamics 365 for Operations'ta bir tabloya ve forma bir görüntüleme metodu eklemek için bir sınıf uzantısının nasıl kullanılacağını açıklıyorum, X++ kod örnekleri de dahil.


Bu sayfa, mümkün olduğunca çok kişi tarafından erişilebilir olması amacıyla İngilizce'den makine çevirisiyle çevrilmiştir. Ne yazık ki, makine çevirisi henüz mükemmelleştirilmiş bir teknoloji değildir, bu nedenle hatalar meydana gelebilir. Tercih ederseniz, orijinal İngilizce versiyonu buradan görüntüleyebilirsiniz:

Add Display or Edit Method via Extension in Dynamics 365

Dynamics'te görüntüleme veya düzenleme yöntemlerini kullanmayı planlarken, genellikle çözümünüzü farklı bir şekilde tasarlayıp tasarlayamayacağınızı düşünmeniz gerekir; ancak bazen bunlar en iyi yoldur.

Dynamics ve Axapta'nın önceki sürümlerinde tablolarda ve formlarda görüntüleme veya düzenleme yöntemleri oluşturmak çok kolaydı, ancak yakın zamanda Dynamics 365'te ilk düzenleme yöntemimi oluşturmak zorunda kaldığımda, bunu yapmanın prosedürünün biraz farklı olduğunu keşfettim.

Açıkça birkaç geçerli yaklaşım var, ancak benim en iyi bulduğum (hem sezgisellik hem de kod güzelliği açısından) bir sınıf uzantısı kullanmaktır. Evet, sınıf uzantılarını sınıflar dışındaki diğer öğe türlerine yöntemler eklemek için kullanabilirsiniz - bu durumda bir tablo, ancak formlar için de işe yarar.

Öncelikle yeni bir sınıf yaratın. İstediğiniz ismi verebilirsiniz ancak bazı nedenlerden dolayı sonuna "_Extension" eklenmelidir . Diyelim ki CustTable'a bir görüntüleme yöntemi eklemeniz gerekiyor, örneğin buna MyCustTable_Extension adını verebilirsiniz.

Sınıf, sistemin neyi genişlettiğinizi bilmesini sağlamak için ExtensionOf ile dekore edilmelidir, örneğin:

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

Artık görüntüleme yönteminizi bu sınıfa uygulayabilirsiniz, tıpkı Dynamics'in önceki sürümlerinde doğrudan tablo üzerinde yaptığınız gibi - "this" tabloya bile referans verir, böylece alanlara ve diğer yöntemlere erişebilirsiniz.

Örneğin, yalnızca müşterinin hesap numarasını döndüren basit (ve tamamen işe yaramaz) bir görüntüleme yöntemine sahip bir sınıf şu şekilde görünebilir:

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

        return this.AccountNum;
    }
}

Şimdi, bir forma (veya formu doğrudan düzenleyemiyorsanız form uzantısına) görüntüleme yöntemini eklemek için, forma manuel olarak bir alan eklemeniz ve doğru türü (bu örnekte dize) kullandığınızdan emin olmanız gerekir.

Daha sonra, kontrolde DataSource'u CustTable'a (veya CustTable veri kaynağınızın adı neyse ona) ve DataMethod'u MyCustTable_Extension.displayAccountNum'a ayarlayın (sınıf adını eklediğinizden emin olun, aksi takdirde derleyici yöntemi bulamaz).

Ve bitti :-)

Güncelleme: Artık bir forma görüntüleme metodu eklerken uzantı sınıfı adını eklemek gerekmiyor, ancak orijinal yayın zamanında gerekiyordu. Bazı okuyucuların hala eski sürümleri kullanması durumunda bilgileri burada bırakıyorum.

Bluesky'de paylaşFacebook'ta paylaşLinkedIn'de paylaşTumblr'da paylaşX'te paylaşLinkedIn'de paylaşPinterest'e Pinleyin

Mikkel Bang Christensen

Yazar Hakkında

Mikkel Bang Christensen
Mikkel miklix.com'un yaratıcısı ve sahibidir. Profesyonel bilgisayar programcısı/yazılım geliştiricisi olarak 20 yılı aşkın deneyime sahiptir ve şu anda büyük bir Avrupa BT şirketinde tam zamanlı olarak çalışmaktadır. Blog yazmadığı zamanlarda, boş zamanlarını çok çeşitli ilgi alanları, hobiler ve aktivitelerle geçirmektedir ve bu da bir dereceye kadar bu web sitesinde kapsanan konuların çeşitliliğine yansıyabilir.