1. Ana Sayfa
  2. Dynamics 365
  3. Dynamics 365 Finance and Operations On-hand List(Eldeki) formunun boyut değerlerine nasıl ulaşılır?    

Dynamics 365 Finance and Operations On-hand List(Eldeki) formunun boyut değerlerine nasıl ulaşılır?    

featured

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ı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda 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++

 

 

 

Yorum Yap

Yazar Hakkında

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.

Yorum Yap