You need to sign in to do that
Don't have an account?
kuldeep paliwal
Error: Compile Error: Illegal assignment from Id to AcctSeedERP__Purchase_Order_Line__c at line 37 column 49
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, id> purOrderLineIdpurOrderIdMap = new map<id, id>();
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.Id);
}
}
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){
AcctSeedERP__Purchase_Order_Line__c 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;
}
}
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, id> purOrderLineIdpurOrderIdMap = new map<id, id>();
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.Id);
}
}
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){
AcctSeedERP__Purchase_Order_Line__c 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;
}
}
In line number 19 you defined map as Key and vale as Ids
map<id, id> salesOrderLinePurOrderLineMap = new map<id, id>();
in line number 37 you are getting the value from salesOrderLinePurOrderLineMap map which is of type Id. But you assigned to AcctSeedERP__Purchase_Order_Line__c which is wrong.
AcctSeedERP__Purchase_Order_Line__c purOrderLineId = salesOrderLinePurOrderLineMap.get(salesOrderLine.Id);
Update line number 37 with below code .
Id purOrderLineId = salesOrderLinePurOrderLineMap.get(salesOrderLine.Id);
Error: Compile Error: Initial term of field expression must be a concrete SObject: Id at line 43 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, id> purOrderLineIdpurOrderIdMap = new map<id, id>();
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.Id);
}
}
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){
Id 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 sales order field with purchase order field..
purchaseorder--> purchaseorderline[0]-->salesorderline[0]-->salesorder
purOrder.Customer_PO__c = salesOrder.Customer_PO__r;
i do now something like that
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;
}
}
no its not work its show the same error