如何配置D365FO本地开发机(How-to-configure-onebox-VM-on-local)

前言 现在如果要使用本地的开发机,微软需要我们先在 Azure 门户中创建一个 Web 应用程序,在您将用户设置为管理员之前,您还必须执行一个步骤,那就是生成自签名证书,这里我们使用Azure创建的应用程序 ID,为它配置证书。 配置Azure 打开 Azure 订阅,搜索App registrations 点击New registration 输入名称,选择允许的账户类型 Redirect URI,输入虚拟机中FO的网站地址,类型选择Web,等会我们还要加另外一条,这里点击Register 点击Redirect URIs 加入另外一条然后保存 配置虚拟机 打开桌面上的Generate Self Signed Certificates,这里输入刚刚创建的Application Id 自签名证书创建好之后,打开桌面上的AdminUserProvisioning,输入对应的邮箱即可。

如何通过命令行部署SSRS报表(Deploy-SSRS-reports-through-command-line-in-D365FO)

可以使用 Visual Studio 完成 D365 FO 中的SSRS报表的部署。但我们还有另一种方法可以更快地部署SSRS报表。 我们可以在环境中使用Windows Powershell来更快、更轻松地部署SSRS报表。以下是在 D365 FO 中使用 Windows Powershell 部署SSRS报表的步骤。 1. 以管理员身份打开 Windows Powershell 2. 使用下面的命令进入相关的文件夹 3. 使用下面的命令部署SSRS报表

如何在D365FO创建SSRS报表(三)Contract Class(how-to-create-ssrs-report-in-d365fo-part3-contract-class)

Contract 存放报表打印时使用的参数 实现接口 SysOperationValidatable [ DataContractAttribute, SysOperationGroupAttribute(’Parameters’, "@SYS28007", ‘1’), SysOperationGroupAttribute(’ViewGroup’, "@SYS5252", ‘2’) ] public class Demo_InventJournalTransTransferContract implements SysOperationValidatable { TransDate fromDate,toDate; InventDimViewContract InventDimViewContract;     [ DataMemberAttribute("From date"), SysOperationLabelAttribute(literalstr("From date")), SysOperationDisplayOrderAttribute(’1’) ] public TransDate parmFromDate(TransDate _fromDate = fromDate) { fromDate = _fromDate; return fromDate; }   [ DataMemberAttribute("To date"), SysOperationLabelAttribute(literalstr("To date")), SysOperationDisplayOrderAttribute(’2’) ] public TransDate …

Continue reading ‘如何在D365FO创建SSRS报表(三)Contract Class(how-to-create-ssrs-report-in-d365fo-part3-contract-class)’ »

如何修改系统标准的SSRS报表(how-to-extend-standard-ssrs-report)

CustAccountStatementExt 演示如何向 Customer account statement report 添加新字段 1.添加新字段 主临时表是 CustAccountStatementExtTmp,右键单击并创建扩展;我将添加一个新的字符串字段 MaxTxT。 2. 复制这个报表 重命名为:CustAccountStatementExt 3.修改报告设计 右键单击报表数据集并选择恢复以刷新新字段,打开报表设计器并将该字段添加到表中 4. 创建一个新的扩展类来扩展标准报表Controller class class CustAccountStatementExtControllerExtextends CustAccountStatementExtController { //Add construct public static CustAccountStatementExtControllerExtconstruct() { return new CustAccountStatementExtControllerExt(); }   public static void main(Args _args) { SrsPrintMgmtFormLetterController controller = new CustAccountStatementExtControllerExt(); controller.parmReportName(PrintMgmtDocType::construct(PrintMgmtDocumentType::CustAccountStatement).getDefaultReportFormat()); controller.parmArgs(_args); CustAccountStatementExtControllerExt::startControllerOperation(controller, _args); }   protected static void startControllerOperation(SrsPrintMgmtFormLetterController _controller, Args …

Continue reading ‘如何修改系统标准的SSRS报表(how-to-extend-standard-ssrs-report)’ »

如何通过Print management 打印SSRS报表(how-to-print-ssrs-report-using-print-management)

报表打印管理Print management 添加一个新的Report format 如下图为Customer invoice添加两个新的Report format 图中的两个Report format可以通过添加一下代码可以实现 [ExtensionOf(classStr(PrintMgmtReportFormatPopulator))] public final class PrintMgmtReportFormatPopulator_Demo_Extension { #PrintMgmtSetup   protected void addDocuments() { // Add new customized reports this.addOther(PrintMgmtDocumentType::SalesOrderInvoice, ssrsReportStr(DocSalesInvoice, Report), ssrsReportStr(DocSalesInvoice, Report), #NoCountryRegionId); this.addOther(PrintMgmtDocumentType::SalesOrderInvoice, ssrsReportStr(DocSalesInvoiceExt, Report), ssrsReportStr(DocSalesInvoiceExt, Report), #NoCountryRegionId); // Add the standard report design, because of PrintMgmtDocType.getDefaultReportFormatDelegate() this.addOther(PrintMgmtDocumentType::SalesOrderInvoice, ssrsReportStr(SalesInvoice, Report), ssrsReportStr(Sal next addDocuments(); } } …

Continue reading ‘如何通过Print management 打印SSRS报表(how-to-print-ssrs-report-using-print-management)’ »

如何在D365FO创建SSRS报表(二)Controller Class(how-to-create-ssrs-report-in-d365fo-part2-controller-class)

Report controller 继承SrsReportRunController 如果没有特殊要求,以下代码就可以搞定。 public class Demo_InventJournalTransTransferController extends SrsReportRunController {   public static void main(Args _args) { Demo_InventJournalTransTransferController controller = new Demo_InventJournalTransTransferController();   controller.parmReportName(ssrsReportStr(Demo_InventJournalTransTransfer, Report)); controller.parmDialogCaption("@Demo954"); controller.parmArgs(_args); controller.startOperation(); } } 多选 如果需要打印用户所选的数据,多选需要用到 MultiSelectionHelper public class Demo_InventJournalTransTransferController extends SrsReportRunController { ……   public void preRunModifyContract() { Demo_InventJournalTransTransferContract contract = this.parmReportContract().parmRdpContract() as Demo_InventJournalTransTransferContract; }   public void …

Continue reading ‘如何在D365FO创建SSRS报表(二)Controller Class(how-to-create-ssrs-report-in-d365fo-part2-controller-class)’ »

如何在SSRS报表中创建条码、 二维码(how-to-create-barcode-qrcode-in-ssrs-report)

Barcode和QR code在SSRS报表中很常见,下面分别介绍如何添加他们。 二维码QRcode 在SSRS的临时表中创建一个字段存储二维码,类型扩展 Bitmap 在相关类中添加如下代码,举例说明: xyzTableBuffer.QRCode =QRHelper::QRCode(“123456789”) public static container QRCode(Str _QRContents) { // QRContents is a formatted string provided as input to this function. // For example _QRContents= ?name=’Customer name’&rr=’RFCno’&tt=’totalInvoiceAmount’;   System.Drawing.Bitmap bm = null; try { var qrCodeEncoder = new Encoder(); bm = qrCodeEncoder.Encode(_QRContents); } catch (Exception::CLRError) { error(CLRInterop::getLastException().ToString()); } using (var stream …

Continue reading ‘如何在SSRS报表中创建条码、 二维码(how-to-create-barcode-qrcode-in-ssrs-report)’ »

如何在D365FO创建SSRS报表(一)Report Data Provider Class(how-to-create-ssrs-report-in-d365fo-part1-report-data-provider-class)

Report data provider class 继承SrsReportDataProviderPreProcessTempDB 声明所用到的Contract 和 Query还有其他变量 [ SRSReportParameterAttribute(classStr(Demo_InventJournalTransTransferContract)), SRSReportQueryAttribute(queryStr(Demo_InventJournalTransTransferQuery)) ] class Demo_InventJournalTransTransferDP extends SrsReportDataProviderPreProcessTempDB { } SRSReportDataSetAttribute 定义临时表保存报表的Header,Footer 等数据 [ SRSReportDataSetAttribute(’Demo_InventJournalTransTransferHeaderTMP’) ] public Demo_InventJournalTransTransferHeaderTMP getHeader() { select * from header; return header; }   [ SRSReportDataSetAttribute(’Demo_InventJournalTransTransferFooterTMP’) ] public Demo_InventJournalTransTransferFooterTMP getFooter() { select * from footer; return footer; } Process report 处理报表的数据 public void …

Continue reading ‘如何在D365FO创建SSRS报表(一)Report Data Provider Class(how-to-create-ssrs-report-in-d365fo-part1-report-data-provider-class)’ »