1
契約の終了日が今日である場合、チャンスとそのラインアイテムを複製する必要があるシナリオがあります。相手の項目にProduct_Family_ というフィールドがあります。私は、ラインアイテムが更新タイプ_cを月ごとに持つ仲間のみをクローンしなければならないでしょう。 私はどのようにoliアイテムをクローンして、新しいアイテムIDをoliアイテムに割り当てることができません。salesforceで案件とそのラインアイテムを計画的に複製
todays=date.today();
system.debug('todays'+todays);
for(opportunity o:[select Auto_Renew__c,Contract_lenght_in_months__c,Contract_End_Date__c,id from opportunity where Auto_Renew__c='Yes' and Contract_End_Date__c =:todays ])
{
SetOppId.add(o.id);
MapOpp.put(o.id,o);
}
system.debug('SetOppId'+SetOppId);
system.debug('MapOpp'+MapOpp);
for(OpportunityLineItem oli:[select OpportunityId from OpportunityLineItem where Product_Family__c='Monthly' and OpportunityId in :SetOppId])
{
SetOppIdtoRenew.add(oli.OpportunityId);
Mapoli.put(oli.id,oli);
}
system.debug('SetOppIdtoRenew'+SetOppIdtoRenew);
for(id a:SetOppIdtoRenew)
{
//MapOpp.get(a).Contract_End_Date__c=MapOpp.get(a).Contract_End_Date__c.addDays(1);
//MapOpp.get(a).Contract_End_Date__c=MapOpp.get(a).Contract_End_Date__c.addMonths(integer.valueof(MapOpp.get(a).Contract_lenght_in_months__c));
Lstopp.add(new opportunity(name=MapOpp.get(a).name+' renewal '+string.valueof(date.today()),
Contract_lenght_in_months__c=MapOpp.get(a).Contract_lenght_in_months__c,
Contract_End_Date__c=MapOpp.get(a).Contract_End_Date__c.addMonths(integer.valueof(MapOpp.get(a).Contract_lenght_in_months__c))+1,
StageName=MapOpp.get(a).StageName,
CloseDate=MapOpp.get(a).CloseDate
// ,<fieldname>=MapOpp.get(a).<fieldname>... for all the fields you ned to copy over
));
}
system.debug('Lstopp'+Lstopp);
insert Lstopp;
MMIX(私はあなたがトラブルそれを解釈を持っている場合、私に知らせて、擬似コードを使用)、私は、私は機会を挿入することができ時点で立ち往生しましたがありませんクローンされた相手のアイテムと新しいOPをどのようにマッピングできるか確かめてください – Prady
リストとマップの両方に追加された単一のオブジェクトインスタンスは、依然として同じオブジェクトです。私は答えを – mmix
ああgr8を更新します!! ..それは意味をなさない:) – Prady