前段时间做了几个对行数量更新到头部的plugin,最开始是想写在一个plugin里面switch messagename的,后来发现这样有问题,就分成三个来个写:Create,Update,Delete。同样,在这三个plugin里面也有一些要注意的地方:
Create里面最简单,可以直接取到跟header关联的lookup字段,然后根据这个字段retrievemultiple回相关的行,sum后更新到这个header上去;
Update里面不能直接取到跟header关联的lookup字段,要先根据entityid retrieve回该条记录中跟header关联的lookup字段,然后同上
Delete里面其他的同Update一样,但取Target的时候要用:Moniker entity = (Moniker)context.InputParameters.Properties["Target"];