1. Ana Sayfa
  2. Dynamics 365
  3. Dynamics 365 Finance and Operations Form DataSource Metotlarında Extension Kullanımı

Dynamics 365 Finance and Operations Form DataSource Metotlarında Extension Kullanımı

featured

Bu yazıda Dynamics 365 Finance and Operations içinde standart bir formun DataSource metotlarına Extension ile nasıl ekleme yapabiliriz anlatmaya çalışacağım. Eski versiyonlarda bu işlem çok kolay ve hızlı yapılabiliyordu. Artık direk müdahale edemediğimiz için Extension mantığıyla ulaşmak zorundayız.

Bir örnek kodla DataSource metotlarına nasıl ulaştığımızı görelim. Bu örnekte CustInvoiceJournal formuna E-Fatura havuzuna gönderilenler ilk açılırken gelmesin diye bir filtre eklemek istiyorum. Bunun için CustInvoiceJour veri kaynağının init() metoduna ulaşıp bir join yapmam gerekiyor.  Yeni bir class oluşturuyorum.

[ExtensionOf(formDataSourceStr(CustInvoiceJournal,CustInvoiceJour))] // Bu satır asıl işi yapan hangi DataSource ise onu seçiyorum.

final class CustInvoiceJournalDS_FD_Extension // final eklemeyi unutmayın.

{

public void init()

{

FormDataSource          formDS = this; // DataSource metodunda olduğum için This direk DataSource u veriyor.

QueryBuildDataSource    custInvoiceJourDS;

QueryBuildDataSource    eInvoicePoolTableDS;

#IsoCountryRegionCodes

 

next init();  // asıl metodu çağıran kısım.

 

if (SysCountryRegionCode::isLegalEntityInCountryRegion([#isoTR]) //

{

custInvoiceJourDS = formDS.query().dataSourceTable(tableNum(custInvoiceJour));

// FormDS form dataSource olduğu için ona ekleme yapamazsınız. Aslında bize QueryBuildDataSource nesnesi lazım FormDS üzerinden ulaşıyorum.

eInvoicePoolTableDS = custInvoiceJourDS.addDataSource(tableNum(FDEInvoicePoolTable)); // Eklemeyi yapıyorum.

eInvoicePoolTableDS.addLink(fieldNum(custInvoiceJour , recId), fieldNum(FDEInvoicePoolTable ,RefRecId ));

eInvoicePoolTableDS.addLink(fieldNum(custInvoiceJour , TableId), fieldNum(FDEInvoicePoolTable,RefTableId ));

eInvoicePoolTableDS.joinMode(JoinMode::NoExistsJoin);

}

}

 

}

Bu yazıda standart bir formun herhangi bir DataSource metoduna Extension ile nasıl ekleme yapılır anlatmaya ç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: Dynamics 365 Finance and Operations, MsDyn365FO, init(), DataSource, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, Dynamics 365 ERP, 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