Miklix

Dynamics 365'te Finansal Boyut için Bir Arama Alanı Oluşturma

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

Bu makalede, Dynamics 365 for Operations'ta bir finansal boyut için bir arama alanının nasıl oluşturulacağı açıklanmakta olup, bir X++ kod örneği de yer almaktadır.


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:

Creating a Lookup Field for a Financial Dimension in Dynamics 365

Bu gönderideki bilgiler Dynamics 365 for Operations'a dayanmaktadır, ancak çoğu Dynamics AX 2012 için de geçerlidir (aşağıya bakın).

Yakın zamanda, tek bir finansal boyutun (bu durumda Ürün) belirtilmesinin mümkün olduğu yeni bir alan oluşturma göreviyle görevlendirildim. Elbette, yeni alan bu boyutun geçerli değerlerini de arayabilmelidir.

Bu, bir tabloda normal bir arama yapmaktan biraz daha karmaşıktır, ancak nasıl yapılacağını biliyorsanız, aslında o kadar da kötü değildir.

Neyse ki, standart uygulama, yalnızca hangi boyut niteliğinin aranacağını söylemeniz durumunda, bu amaç için kullanılabilecek kullanışlı bir arama formu (DimensionLookup) sağlar.

Öncelikle form alanının kendisini oluşturmanız gerekir. Bu bir tablo alanına veya bir düzenleme yöntemine dayalı olabilir, aramanın kendisi için önemli değildir, ancak bir şekilde DimensionValue genişletilmiş veri türünü kullanmalıdır.

Daha sonra alan için bir OnLookup olay işleyicisi oluşturmanız gerekir. Bir olay işleyicisi oluşturmak için, alan için OnLookup olayına sağ tıklayın ve ardından "Olay işleyicisi yöntemini kopyala"yı seçin. Daha sonra boş bir olay işleyicisi yöntemini bir sınıfa yapıştırabilir ve oradan düzenleyebilirsiniz.

Uyarı: Bunların çoğu Dynamics AX 2012 için de çalışır, ancak bir olay işleyicisi oluşturmak yerine form alanının arama yöntemini geçersiz kılabilirsiniz.

Olay işleyicisi aşağıdaki gibi görünmelidir (gerekirse form adını ve alan adını değiştirin):

[
    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);
}
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.