使用 d365 中的插件自动刷新/重新计算汇总字段

问题描述 投票:0回答:0

我在发票(父)实体中有一个名为“发票总计”的汇总字段,它计算发票明细(子)实体中可用的“发票数量”的数量。 应根据发票详细信息的创建、更新和删除重新计算/更新汇总字段,而无需等待系统作业运行。

我写了下面的插件代码来生成逻辑,但它没有触发。我是插件的新手。

IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
        IOrganizationServiceFactory factory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
        IOrganizationService service = factory.CreateOrganizationService(context.UserId);
        ITracingService tracingService = (ITracingService)serviceProvider.GetService(typeof(ITracingService));

        Entity invoiceDetail = null;

        try
        {
            if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity)
                invoiceDetail= (Entity)context.InputParameters["Target"];
                var invoiceDetailId = invoiceDetail.GetAttributeValue<EntityReference>("new_invoice").Id;

            CalculateRollupFieldRequest request = new CalculateRollupFieldRequest
            {
                Target = new EntityReference("new_invoice", invoiceDetailId),
                FieldName = "new_invoicettotal"
            };

            CalculateRollupFieldResponse response = (CalculateRollupFieldResponse)service.Execute(request);

        }
        catch (Exception ex)
        {
            throw new InvalidPluginExecutionException(ex.Message);
        }
c# .net dynamic plugins dynamics-crm
© www.soinside.com 2019 - 2024. All rights reserved.