Я выполняю свой запрос, и он отлично работает, когда я использую следующий ColumnSet.
...
ColumnSet = new ColumnSet(
"name",
"address1_postalcode",
"beep_cin",
"telephone1",
//"address1_street1",
"address1_city"),
...
Однако, когда я раскомментирую ссылку на улицу, я получаю сообщение об ошибке, сообщающее, что такого атрибута не существует. Я предполагаю, что это связано с составным элементом управления.
- Как получить в CRM 2013 доступ к эквиваленту address1_street1 в CRM 2011?
- Почему я могу получить доступ к другим полям address_..., к которым я привык, но не к street1?
Редактировать
Я также обнаружил, что даже на клиенте, использующем JavaScript, происходит что-то странное. Давайте попробуем запустить следующие две строки (frames[0] здесь, потому что так это работает в окне консоли IE, F12).
frames[0].Xrm.Page.getAttribute("address1_street1").getValue()
frames[0].Xrm.Page.getAttribute("address1_city").getValue()
В то время как первый дает мне Стокгольм, второй выдает ошибку, потому что возвращаемый атрибут равен null, несмотря на то, что я вошел на улицу, как и предполагалось. Кроме того, я замечаю, что следующая строка:
frames[0].Xrm.Page.getAttribute("address1_composite").getValue()
возвращает весь составной текст адреса - улица, город, страна и т. д. В этом атрибуте есть объект с именем controls, но я не нашел в нем ничего полезного. Это странно и неожиданно. Мне не нравится сочетание странности и неожиданности.
Обратите внимание, что это версия CRM13, в которой происходит причудливость.
Конечно, я мог бы использовать это зверство ниже, но так ли это на самом деле? мы хотим видеть на экране каждого разработчика CRM?! Это заставляет мои глаза кровоточить, и моя воля к жизни увядает.
Xrm.Page.getControl("address1_composite_compositionLinkControl_address1_line1")
Кроме того, я до сих пор не понимаю значения и не понимаю, как его использовать в C#!