function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
kuldeep paliwalkuldeep paliwal 

Error: Compile Error: Incompatible element type AcctSeedERP__Purchase_Order__c for collection of AcctSeedERP__Sales_Order__c at line 44 column 13

trigger UpdateCustomerPOField on AcctSeedERP__Purchase_Order__c (after insert) {

    list<id> pOrderLineId = new list<id>();
    list<id> sOrderId = new list<id>();
    List<AcctSeedERP__Sales_Order__c> salesOrderFieldToInsert = new List<AcctSeedERP__Sales_Order__c>();
    
    List<AcctSeedERP__Purchase_Order__c> purchase = [SELECT Id,Customer_PO__c,(SELECT Id,Name FROM AcctSeedERP__Purchase_Order_Lines__r ) FROM AcctSeedERP__Purchase_Order__c LIMIT 1];
    
    map<id, AcctSeedERP__Purchase_Order__c> purOrderLineIdpurOrderIdMap = new map<id, AcctSeedERP__Purchase_Order__c>();
    
    for(AcctSeedERP__Purchase_Order__c  purchaseOrder : purchase){
        for(AcctSeedERP__Purchase_Order_Line__c purchaseOrderLine : purchaseOrder.AcctSeedERP__Purchase_Order_Lines__r ) {
        pOrderLineId.add(purchaseOrderLine.Id);
        purOrderLineIdpurOrderIdMap.put(purchaseOrderLine.Id,purchaseOrder);
        }
    }
    
    list<AcctSeedERP__Sales_Order_Line__c> salesOrderLineList = [Select id, AcctSeedERP__Purchase_Order_Line__c,AcctSeedERP__Sales_Order__c From AcctSeedERP__Sales_Order_Line__c Where AcctSeedERP__Purchase_Order_Line__c In: pOrderLineId LIMIT 1];
    map<id, id> salesOrderLinePurOrderLineMap = new map<id, id>();
    map<id, list<AcctSeedERP__Sales_Order_Line__c>> salesOrderSalesOrderLineMap = new map<id, list<AcctSeedERP__Sales_Order_Line__c>>();
    
    for(AcctSeedERP__Sales_Order_Line__c salesOrderLine : salesOrderLineList){
     list<AcctSeedERP__Sales_Order_Line__c> tempList = salesOrderSalesOrderLineMap.get(salesOrderLine.AcctSeedERP__Sales_Order__c);
        sOrderId.add(salesOrderLine.AcctSeedERP__Sales_Order__c);
        salesOrderLinePurOrderLineMap.put(salesOrderLine.Id, salesOrderLine.AcctSeedERP__Purchase_Order_Line__c);
        salesOrderSalesOrderLineMap.put(salesOrderLine.AcctSeedERP__Sales_Order__c,tempList);
    }
    
    list<AcctSeedERP__Sales_Order__c> salesOrderList = [Select id,Customer_PO__c,(SELECT Id,Name,AcctSeedERP__Sales_Order__c FROM AcctSeedERP__Sales_Order_Line__r)  From AcctSeedERP__Sales_Order__c Where Id In: sOrderId LIMIT 1];
    
    for(AcctSeedERP__Sales_Order__c salesOrder : salesOrderList){
    
        List<AcctSeedERP__Sales_Order_Line__c> SalesOrderLineId = salesOrderSalesOrderLineMap.get(salesOrder.Id);
        
        for(AcctSeedERP__Sales_Order_Line__c salesOrderLine : SalesOrderLineId){
        
            
            Id purOrderLineId = salesOrderLinePurOrderLineMap.get(salesOrderLine.Id);
            
            for(AcctSeedERP__Purchase_Order_Line__c purOrderLine : purOrderLineId){
            
            AcctSeedERP__Purchase_Order__c purOrder = purOrderLineIdpurOrderIdMap.get(purOrderLine.Id);
            purOrder.Customer_PO__c = salesOrder.Customer_PO__c;
            salesOrderFieldToInsert.add(purOrder);
            }
        }
    }
    
    if(salesOrderFieldToInsert.size()>0){
            insert salesOrderFieldToInsert;
            }
}

How i update the value of purchase order to sales order can anyone help me..
Thanx
Alba RivasAlba Rivas
Your compilation error is happening because salesOrderFieldToInsert contains AcctSeedERP__Sales_Order__c, and you are trying to add an AcctSeedERP__Purchase_Order__c object to it.

I am not sure if I understand what you are trying to do. If you are trying to update the purOrder that is arriving to the trigger (assigning salesOrder.Customer_PO__c  to the purchase order Customer_PO__c field), you have to do it in the before part, as in the after part, the record is already commited to the database. If it is not what you are trying to do, let me know what do you need then. 

Regards.

 
kuldeep paliwalkuldeep paliwal
Thanx alba now i resolved this problem
and you are rite i do same prob..but now its resolved..
Thank you for replying..