2013-02-22 95 views
2

我有一个名为NDS的实体,它具有查看帐户的功能。现在,在UI中,我可以单击查找图标并单击另一个帐户记录(更新)或单击删除按钮以删除该值。在CRM 2011中删除查找值

如何通过删除代码执行相同的功能。我正在编写一个插件。

//Code to update 
NDS["accountid"] = new EntityReference("Account", neworganizationid); 
xrmService.Update(NDS) 

//Code to remove 
//?? 

要更新的代码正常工作。这是删除失败的代码。我认为,以更新代码只,甚至没有与删除任何问题做工精细,但我有一个错误信息

帐户使用id = 00000000-0000-0000-0000-000000000000不存在

有什么想法?

PS:我是MS CRM的新手。

回答

2

只要它不是一个N:N的关系,你只需要做到这一点:

NDS["accountid"] = null; 
xrmService.Update(NDS); 

从你的错误消息,我猜你这样做:

NDS["accountid"] = new EntityReference(); 
xrmService.Update(NDS); 

这将无法正常工作。

另外要提醒您,如果它是一个N:N的关系,你需要使用Disassociate Request

+0

达里尔:其实,我在读的字段的值,它回来了作为00000000-0000 -0000-0000-000000000000。所以,我的代码是NDS [“accountid”] = new EntityReference(“Account”,neworganizationid); 但你的建议奏效! 请注意我自己:下次尝试将值设置为NULL ...是否会? ;-) – Kanini 2013-02-22 14:26:27

+0

Daryl:但是下次打开记录并运行我的插件时,甚至无法看到属性,即NDS.Contains [“accountid”]返回false。有任何想法吗? – Kanini 2013-02-22 14:53:27

+0

@Kanini如果NDS没有帐户,它不会在后期绑定属性集合中。 – Daryl 2013-02-22 19:24:53