Dynamics 365 Finance and Operations Yeni Bir SSRS Raporu Nasıl Yapılır?  
  1. Anasayfa
  2. Dynamics 365

Dynamics 365 Finance and Operations Yeni Bir SSRS Raporu Nasıl Yapılır?  

0

Bu yazıda Dynamics 365 Finance and Operations içinde yeni bir SSRS raporu nasıl yapılır anlatamaya çalışacağım.

Öncelikle bu örnekte ben Query base bir format değil, Data Provider tipinde bir rapor yapacağım. Raporda PurchLine üzerinden bir çıktı tasarımı yapacağız.

Bu yüzden 3 tane sınıfı ve bir temp tabloya ihtiyaç var.

Olan bir temp tabloda kullanabilirsiniz ama ben bu rapor için DmrPurchConTmp isminde bir tablo oluşturdum. Alanları ihtiyacınıza göre ekleyebilirsiniz.

[DataContractAttribute]

class DmrPurchLinePrintContract

{

RecId  purchLineRecId;

[

DataMemberAttribute(‘purchLineRecId’),

SysOperationLabelAttribute(literalStr(“Purchase Contract”)),

SysOperationControlVisibilityAttribute(false)

]

public RecId parmpurchLineRecId(RecId _purchLineRecId = purchLineRecId)

{

purchLineRecId = _purchLineRecId;

return purchLineRecId;

}

}

class DmrPurchLinePrintController extends SrsReportRunController

{

public static DmrPurchLinePrintController construct()

{

return new DmrPurchLinePrintController ();

}

public static void main(Args _args)

{

PurchLine legalProceed;

DmrPurchLinePrintContract  contract;

DmrPurchLinePrintContract  controller = new DmrPurchLinePrintContract  ();

if (_args.record() && _args.dataset() == tableNum(PurchLine))

{

legalProceed = _args.record();

controller.parmReportName(ssrsReportStr(DmrPurchLinePrint,Report));

controller.parmDialogCaption(“Purch Cont “);

controller.parmArgs(_args);

contract = controller.parmReportContract().parmRdpContract();

contract.parmpurchLineRecId(legalProceed.RecId);

controller.parmShowDialog(false);

controller.startOperation();

}

}

}

[SRSReportParameterAttribute(classStr(DmrPurchLinePrintContract))]

class DmrPurchContLayoutPrintDP extends  SrsReportDataProviderPreProcess

{

DmrPurchConTmp  DmrPurchConTmp;

[SRSReportDataSetAttribute(tablestr(DmrPurchConTmp))]

public DmrPurchConTmp getDmrPurchConTmp()

{

select DmrPurchConTmp;

return DmrPurchConTmp;

}

public void processReport()

{

DmrPurchContLayoutPrintContract contract;

purchLine                       purchLine;

contract = this.parmDataContract() as DmrPurchLinePrintContract;

DmrPurchConTmp.setConnection(this.parmUserConnection());

purchLine = purchLine::findRecId(contract.parmpurchLineRecId());

if (purchLine)

{

this.populateDmrPurchConTmp(purchLine);

}

}

void populateDmrPurchConTmp(purchLine _purchLine)

{

DmrPurchContQuantity    purchContQuantity;

PurchLine               purchLine;

;

select firstonly purchContQuantity

where purchContQuantity.InventTransId == _purchLine.InventTransId;

 

DmrPurchConTmp.InventTransId  = _purchLine.InventTransId;

DmrPurchConTmp.insert();

}

}

Bu sınıfları oluşturduktan sonra raporu tasarlamaya geçebiliriz. Öncelikle yeni bir rapor oluşturuyoruz.

Resim-1

Yeni bir rapor tasarımı oluşturuyoruz. Burada çıktı olacağı için Precision Design kullandım. Ayrıca sayfa özelliklerinde A4 seçtim. Bu arada isim önemli kodumuzda bunu kullandık.

Resim-2

Çift tıklayıp tasarım ekranını açabilirsiniz. Ben basitçe eklemler yaptım. Çıktı olacağı için sabit yerler var.

Resim-3

Tasarımdan sonra bir Menu Item oluşturup Controller sınıfına bağlıyoruz.

Resim-4

Artık raporu almak istediğimiz forma ekleyip Deploy edebiliriz. Derlem ve eşitleme yapmayı unutmayın.

Resim-5

İlgili forma gelip raporu çalıştırıyorum.

Resim-6

Rapor çıktısını görebiliyorum.

Resim-7

Bu yazıda bir çıktı tasarımı için SSRS raporu nasıl yapılır anlatmaya çalıştım. 3 sayfalık bir çıktı tasarlamam gerekiyor. Sayfa sayfa yapmak pek mükün olmadı siz 3 sayfa uzunluğunu ayarlarsanız otomatik bölüyor.

Selamlar.

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

Referanslar:
www.mshowto.org

TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, SSRS, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365

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