Dynamics CRM插件共享变量 - 对象或数组

时间:2017-06-06 20:20:05

标签: c# dynamics-crm crm microsoft-dynamics dynamics-crm-2015

我们有一个场景,我们需要计算多个费用组件& Pre& amp;发布一个插件的阶段。所以我们创建了这样的对象。

class FeeCalculation
    {
        public string TotalFee { get; set; }
        public string FilingFee { get; set; }
        public string LegalFee { get; set; }
        public string RecordFee { get; set; }
    }

到目前为止,我们使用了单一费用组件&共享变量工作得很好。当试图分配整个对象时 - 结果并不富有成效。

context.SharedVariables.Add("fees", fcObject);

有没有办法达到预期效果?

2 个答案:

答案 0 :(得分:4)

插件基础结构必须能够序列化/反序列化FeeCalculation集合中的对象。它不了解List类等自定义类型,因此无法对其进行序列化。

使用原始类型,常见的.NET类型(例如,Entity小数应该有效)或CRM类型(MoneySharedVariables等)。值得注意的是,jQuery.fn.center = function () { return $(this).position().left() + $(this)[0].width/2; } jQuery(this).center(); // returns center of an element 集合是一个键值对集合。那么,为什么不用“TotalFee”,“FilingFee”等键添加项目呢?

答案 1 :(得分:0)

我试图共享一个 IEnumerable<Guid>,但像 List 这样的集合不起作用。

当然你总是可以序列化为字符串,但是你的插件代码真的不应该处理常见类型的序列化。

经过反复试验,我最终使用了数组,即 Guid[]