我正在执行查询,当我使用以下 ColumnSet 时,它可以正常工作。
...
ColumnSet = new ColumnSet(
"name",
"address1_postalcode",
"beep_cin",
"telephone1",
//"address1_street1",
"address1_city"),
...
然而,当我取消注释街道参考时,我收到一个错误,告诉我这样的属性不存在。我猜它与复合控件有关。
我还发现,即使在客户端上,使用JavaScript,似乎也有些奇怪。让我们尝试运行以下两行( frames [0] ,因为它在IE控制台窗口中的工作方式, F12 )。
frames[0].Xrm.Page.getAttribute("address1_street1").getValue()
frames[0].Xrm.Page.getAttribute("address1_city").getValue()
虽然第一个给了我 Stockholm ,但是秒数会产生错误,因为返回的属性是 null ,尽管我已经进入街道了应该。此外,我注意到以下行:
frames[0].Xrm.Page.getAttribute("address1_composite").getValue()
返回整个复合地址文本 - 街道,城市,国家等。在该属性中,有一个名为 controls 的对象,但我没有找到任何有用的内容。这很奇怪而且出乎意料。我不喜欢奇怪和意想不到的结合。
请注意,它是CRM13版本中出现的奇怪现象。
当然,我可以使用下面的this atrocity,但这真的是我们想要在每个CRM开发人员的屏幕上看到的吗?!它使我的眼睛流血,我的意志生活马肩隆。
Xrm.Page.getControl("address1_composite_compositionLinkControl_address1_line1")
此外,我仍然没有获得价值,我仍然无法在C#中看到如何使用它!
答案 0 :(得分:3)
我不知道您要检索哪个实体,但通常Address 1: Street1
字段的逻辑名称为address1_line1
此处为帐户实体的属性元数据:
http://msdn.microsoft.com/en-us/library/gg328057(v=crm.5).aspx#bkmk_attributes