Posts Tagged ‘ menuitem

X++ :9- MenuItems ve Menus Nedir?

Bu yazıda Dynamics 365 Finance and Operations ara yüzlerinin temel nesneleri olan MenuItem ve Menu’lerden bahsedeceğim. MenuItem bir nesnenin giriş noktası olan ve üzerinden yetki tanımı yapılabilen yapılardır. Menu ise adı üzerinde ekrandaki kısa yollardır. Üç tip MenuItem vardır. Display formlar için Output raporlar için Action ise sınıflar için kullanılır.

Resim-1

Önceki yazıda oluşturduğum FDBookTable formu için Display tipinde bir MenuItem oluşturalım.

Resim-2

Mutlaka Label tanımlamalısınız.  ObjectType olarak Form seçiyorum. Object olarak formumu seçiyorum.

Resim-3

Bu MenuItem artık istersek formda buton olarak veya menüye ekleyerek kullanabiliriz. Şimdi biz menüye ekleyelim. Kitap projesini Stok yönetimi altında takip etmek istediğim için Create Extension ile Extension oluşturdum.

Resim-4

Oluşan Extension’a bir alt menü ekliyorum.

Resim-5

Oluşturduğum alt menüye Book Managment etiketini tanımladım. Oluşturduğum menüItem’ı sürükleyip yeni oluşturduğum alt menüye bırakıyorum.

Resim-6

Derleyip projemi çalıştırdığımda uygulamada yeni oluşturduğum menü ve eklediğim MenuItem’ı görebildim.

Resim-7

Bu yazıda ara yüz oluşturmak için kullandığımız Menu ve MenuItem nedir nasıl oluşturulur anlatmaya çalıştım.

Selamlar.

www.fatihdemirci.net

TAGs: X++,Menu,MenuItem, Azure, Azure DevOps, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365

Axaptada bir formun hangi menuItem ile çağırıldığını bulmak

Merhaba,

Örneğin sizden LedgerJournalTable formunun kambiyo senetleri günlüğünden çağırıldığında  bazı ek işlemler yapmanızı istediler.

Kambiyo senetlerinden Kambiyo senedi günlüğünü (yani LedgerJournalTable formunu) açan  “LedgerJournalTableExchangeNote” isimli MenuItemdır.

Burada iki yöntem kullanılabilir.
Birincisi: MenuItem’ ın isminden ayırabilirsiniz.

if (element.args().menuItemName() == menuitemDisplaystr(LedgerJournalTableExchangeNote))
{
info(“Beni kambiyo senetlerinden çağırdılar.”);
}

İkincisi:ParmEnum ile ayırabilirsiniz ki bu daha şık olur.

Öncelikle MenuItem’ın EnumTypeParameter ve EnumParameter özelliklerini tanımlamalıyız.
Bizim kullandığımız LedgerJournalTableExchangeNote menuItem’mı için zaten  standartta tanımlamalar yapılmış olduğunda aşağıdaki şekilde kullanabiliriz.

if (element.args().parmEnum() == LedgerJournalType::ExchangeNote)
{
     info(“Beni kambiyo senetlerinden çağırdılar.”);  
}

Axaptada kodla menuitem çağırmak

Merhaba

x++ ile bazen bazı objeleri çağırmak gerekiyor.

Bunun için önce  MenuFunction   tanımlamalısınız.

MenuFunction    ReqTransOverviewMenu;

Read more