我有一个Salesforce
对象,可以说是联系人。
如果我尝试通过使用代码设置“名称”字段:
Contact testAccount = new Contact();
testAccount.Name ='TestAccountContact';
insert testAccount;
出现错误:
Line: 2, Column: 20 Field is not writeable: Contact.Name
通过在Salesforce中导航对象,我发现Name是FirstName,LastName的组合。
我如何确定该字段是否可写,如果不能,则获得该字段的共同代表。在这种情况下,串联的FirstName和LastName组成了Name。
答案 0 :(得分:1)
Contact / Lead / User Name
是一个特殊字段,Salesforce在运行时根据数据中所包含的内容以及正在寻找的人来组成。源字段可以是:
“谁在看”?有些文化使用“姓氏名字”,通常被称为CJK(中文,日文,韩文),但也有匈牙利语。由user's locale定义。
要检查字段是否可以在插入时写入,请使用“描述”调用,特别是isCreateable
。
System.debug(Schema.sObjectType.Contact.fields.Name.isCreateable()); // false
出于实际目的-尽量不要在Apex或报告中使用过多的Contact.Name
。您会忘记这个怪癖,而2年后,将收到一个“有趣”的错误报告,该报告针对某些Name equals to John Doe
用户报告不会返回特定用户的任何结果,您将为我“所有工作”