当从报价或商机创建销售订单时,我需要将一些自定义属性从quotedetail(事实上也是从opportunityproduct)复制到salesorderdetail。
我将如何做到这一点?
我正在编写一个插件来触发salesorderdetail.create然后让它检查salesorder for quoteid或opportunityid并获取其中任一行然后他们的行(quotedetails或opporunityproducts)。
但是,据我所知,在salesorderdetail和quotedetail之间没有唯一的联系(仅在salesorder和quote / opportunity之间)。他们唯一的共同点是实体对某个产品的引用 - 尽管这并不是唯一的,因为引用很可能有几行涉及同一产品。
那么如何将这些自定义属性从正确的quotedetail / opportunityproduct复制到salesorderdetail ...
有什么想法吗?
/ Aidal
编辑:根据迈克回答的评论,由于他提供的链接,我找到了解决方案。 实体映射解决方案似乎是我遇到的问题的答案:CRM 2011/20013 :https://crm2011entitymaps.codeplex.com/releases/view/114229
CRM 2015 :http://crm2011entitymaps.codeplex.com/
通过此解决方案,您可以找到需要编辑的关系(e.q. opportunityproduct - > quotedetail或quotedetail - > salesorderdetail),然后为自定义属性添加字段映射。
答案 0 :(得分:1)
您可以尝试使用opportunityproducts,quotedetail和salesorderdetails中的sequencenumber字段。我希望这个数字在相关报价机会和订单的线之间保持一致。
编辑:我刚刚意识到你已经标记了CRM 2011,这个字段在CRM 2011中不可用(我使用的是2015)。所以这个答案可能对你没有帮助。编辑:解决方案最终出现在评论中。所以,我将它添加到答案中。
你可以做的事情会创造一个关于机会的新属性。报价(以及订单和发票,如果需要)产品,并在创建记录时为其分配某种唯一标识符。然后为产品系列之间的自定义值创建映射。这样,如果价格,数量等其他数据发生变化,您仍然可以回到原来的路线。
您还会注意到未显示订单项的创建映射 通过CRM UI,我实际上创建了一个工具来公开这些 你可以创建映射。 http://crm2011entitymaps.codeplex.com/
Jason Lattimer - community.dynamics.com/crm/f/117/t/120310