【问题标题】:Apex Code for Record Creation and Modification用于记录创建和修改的 Apex 代码
【发布时间】:2012-05-31 11:22:25
【问题描述】:

我是在 APEX 中为 salesforce.com 编写代码的新手。我有一个包含 10 个字段的对象“UnProc”,它是“POPULATED”。我还有两个对象(“帐户和联系人”),每个对象有 5 个字段,必须填充这些对象。我必须使用批处理 apex 和调度程序编写一个 APEX 代码,以便我可以为“帐户”和“联系人”创建新记录,以记录“UnProc”中已经存在的记录。在使用 UnProc 记录填充 Account 和 Contact 字段之后。必须删除 UnProc 记录。

我已经阅读了 saleforce.com 上与批处理顶点和调度程序相关的文档,并且已经了解并为它们创建了类结构。我被困在的地方是记录检索、创作等。数据库是我的弱点,这就是我无法通过它的原因。伪代码或某些代码行可能很有用。

【问题讨论】:

    标签: cloud salesforce apex-code


    【解决方案1】:

    通常使用 SOQL 从 Apex 代码中的数据库中检索记录。基本语法概述here

    从数据库中检索记录并作为 sObjects 发送回数据库,sObjects 本质上是字段的集合。 SOQL 查询通常会返回一个 sObject 列表,如下所示:

    list<UnProc__c> unProcs = [select accountField1__c, accountField2__c, ... contactField1__c, contactField2__c, ... contactField5__c from UnProc__c];
    

    检索到这些记录后,您可以创建新的客户和联系人记录,只需创建客户和联系人 sObject 的列表,从 UnProc 对象填充它们的字段,然后将它们提交到数据库,如下所示:

    list<Account> accs = new list<Account>();
    list<Contact> cons = new list<Contact>();
    Account acc;
    Contact con;
    for(UnProc__c up : unProcs) {
        acc = new Account();
        con = new Contact();
        acc.field1 = up.accountField1;
        acc.field2 = up.accountField2;
        ...
        con.field1 = up.contactField1;
        con.field2 = up.contactField2;
        ...
        con.field5 = up.contactField5;
        accs.add(acc);
        cons.add(con);
    }
    database.insert(accs);
    database.insert(cons);
    

    在 Apex 中,您应该在记录集合中检索并提交到数据库,而不是单独地,因为在单个执行上下文中可以运行的查询和提交数量是有限的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-21
      • 2021-11-10
      • 1970-01-01
      • 1970-01-01
      • 2023-02-22
      • 1970-01-01
      相关资源
      最近更新 更多