Apex Trigger包含自定义对象

时间:2015-09-06 00:07:46

标签: salesforce visualforce apex

2个自定义对象

  

1.Merchandise
  2.invoice

每当创建新商品时,都必须创建自动发票。作为新手,我请耐心等待。任何人都请更正我的代码。

代码:

  trigger createinvoice on Merchandise2__c (after insert,after update) {

 list<Invoice2__c>line = new list<Invoice2__c>();

 for(Merchandise2__c mer:Trigger.new){
    Invoice2__c li = new  Invoice2__c();
    line =[select id from Invoice2__c ];
    li.name = mer.Name;
    li.Status__c='open';
    li.id = mer.id; 

    line.add(li);
 }

   insert line;
}

2 个答案:

答案 0 :(得分:0)

首先从触发器中删除更新后,除非您希望每次有人更新商品记录时都创建新发票。

我不确定你要用select线完成什么。 &#34; line = [从Invoice__c中选择ID];&#34;这似乎没有任何成就。您还试图将发票的ID字段设置为商品记录的ID。你不能这样做。您需要在发票记录中指向商品的查找字段。下面我称之为商品KeyField。

希望这有帮助。

trigger createinvoice on Merchandise2__c (after insert,after update) {
   //if you don't remove after Update then check which trigger
   if(Trigger.IsInsert){
        list<Invoice2__c> invoices = new list<Invoice2__c>();
         for(Merchandise__c mer: trigger.new){
             invoices.add(new Invoice2__c(li.name = mer.name,
                                          li.merchandiseKeyField = mer.id); 
         }
         insert invoices;
    }
}

答案 1 :(得分:0)

用这个替换你的循环:

glGenVertexArrays(NUM_VAO, VAOs);