Dynamics 365 Finance and Operations On-hand List(Eldeki) Formunun Boyut Değerlerine Nasıl Ulaşılır?    
  1. Anasayfa
  2. Dynamics 365

Dynamics 365 Finance and Operations On-hand List(Eldeki) Formunun Boyut Değerlerine Nasıl Ulaşılır?    

0

Bu yazıda Dynamics 365 Finance and Operations içinde bir eldeki stokları gösteren On-hand List formunun biraz karışık yapısı var. Formun veri kaynağında InventDim var ancak form direk bu veri kaynağından verileri göstermiyor. Aslında bir sınıf boyut değerlerini yönetiyor. Eğer boyut değerlerine ulaşmanız gerekirse ufak bir kodla düzenleme yapmak gerekiyor.

Bu örnekte eldeki formundan kendi yaptığım bir formu açmak ve InventSum ve belli boyut değerlerini aktarmak istiyorum.

Resim-1

Formun Extension’nını oluşturup bir buton ekliyorum. Bu butonun onClicked eventine kod yazacağız.

Resim-2

Yeni bir sınıf oluşturup aşağıdaki kodu yazıyorum.

class DmrInventOnhandItemFormEventHandler

{

    [FormControlEventHandler(formControlStr(InventOnhandItem, DmrSwellShrink), FormControlEventType::Clicked)]

    public static void DmrSwellShrink_OnClicked(FormControl sender, FormControlEventArgs e)

    {

        InventDim               inventDimFrom , dimValues;       

        InventSum               InventSum       = sender.formRun().dataSource(formDataSourceStr(InventOnhandItem, InventSum)).cursor();

              

        dimValues.data(InventSum.joinChild( )); // Asıl işi yapan kod bu. Boyut değerlerini almamızı sağlıyor.

 

        inventDimFrom.clear();

        inventDimFrom.initValue();

        inventDimFrom.InventSiteId      = dimValues.InventSiteId;

        inventDimFrom.InventLocationId  = dimValues.InventLocationId;

        inventDimFrom.InventSizeId      = dimValues.InventSizeId;

        inventDimFrom.inventBatchId     = dimValues.inventBatchId;

        inventDimFrom = inventDim::findOrCreate(inventDimFrom);

 

        Args                args            = new Args();

        Form                formToCall      = new Form(‘DmrSwellShrink’);

        FormButtonControl   callerButton    = sender as FormButtonControl; 

        FormRun             form            = callerButton.formRun();

   

        args.caller(form);

        args.object(formToCall );

        args.record(InventSum);

        args.parm(inventDimFrom.inventDimId);

 

        form = ClassFactory.formRunClass(args);

        form.init();

        form.run();

        form.wait();               

    }

}

Açılan formun init metodunda aşağıdaki kodla gerekli bilgileri alıyorum.

inventSum       = element.args().record();

inventDimId     = element.args().parm();

inventDimArgs   = InventDim::find(InventDimId);

 

Bu yazıda eldeki formun boyut değerlerine nasıl ulaşırız bir örnekle göstermeye çalıştım.

Selamlar.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar:
www.mshowto.org

www.fatihdemirci.net

TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, InventSum, InventDim, InventOnHandItem, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, X++

 

 

 

Bu İçeriğe Tepkin Ne Oldu?
  • 1
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

2005 yılında Kocaeli Üniversitesi Bilgisayar Mühendisliğinden mezun oldum. Okulda ve ilk iş tecrübelerimde farklı yazılım dilleri kullandım. 2007 yılında Akşam gazetesinde işe başladım ve Microsoft Dynamics 365 (eski adıyla Axapta) ile orda tanıştım. Hiç duymadığım bir dil olan X++ kullanılıyordu. Kısa sürede adapta oldum ve kariyerimi bu alanda şekillendirdim. Bir kaç iş değişikliğinde sonra kendi firmamı kurdum. Şu anda DMR de yönetici ortak ve Çözüm mimarı olarak çalışmaktayım. 2010 yılında MCT oldum. Birçok faklı ortamda eğitimler verdim. Bloğum ve Youtube kanalımda tecrübelerimi paylaşmaktayım.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir