我创建了具有3个字段的实体:
我创建了JS代码以显示或编辑这些字段,但是有没有办法使用我实际实体中的formContext显示来自Account实体的数据?
function test(executionContext) {
var formContext = executionContext.getFormContext();
//text
var text = formContext.data.entity.attributes.getByName('new_text').getValue();
text.setValue("new text");
//number
var number = formContext.data.entity.attributes.getByName('new_number').getValue();
number.setValue(5);
//id field for another entity
var number = formContext.data.entity.attributes.getByName('new_accountid').getValue();
//my ideal solution would've look like this, but it doesn't working
number.getParent().attributes.getByName('account_name').getValue();
}
答案 0 :(得分:3)
与帐户的关系是一个查找字段。 How to get/set the lookup attribute value?
您可以通过以下方式获得其价值:
var lookup = new Array();
lookup = formContext.getAttribute("Lookup Field Name").getValue();
if (lookup != null) {
var name = lookup[0].name;
var id = lookup[0].id;
var entityType = lookup[0].entityType;
}
您可以通过以下方式设置其值:
formContext.getAttribute("Lookup Field Name").setValue([{ id: recordid, name: recordname, entityType: entityname}]);
如果您只想以当前实体形式显示该查找记录中的其他属性,则可以使用当前实体中该查找实体的快速查看表单。
如果要从“帐户查找记录”中检索不同的属性并将其设置为当前实体表单字段,请使用Xrm.Webapi
来获取它并设置值。