Jag försöker lära mig hur denna kod fungerar. Kan en del om javascript men java har jag väldigt dåligt med kunskaper om.
Det jag vill göra är att förstå logiken i den övre funktionen för att lära mig hur man kopierar ett värde från en tabell och sparar det i ett fält.
Denna fungerar och gör det den ska...
trigger trgMnUpdateOpportunityFieldsFromUserTable on Opportunity (before update, before insert) {
Set<Id> userIds = new Set<Id>();
for (Opportunity o : Trigger.new)
userIds.add(o.OwnerId);
// Query the User table for the associated fields you need and place in a map.
Map<Id, User> fields = new Map<Id, User>([select name from User where id in :userIds]);
// Now use the map to set the appropriate fields on every Account processed by the trigger.
for (Opportunity o : Trigger.new) {
// COPY SALES CHANNEL FROM USER TO ACCOUNT
o.sold_by__c = fields.get(o.OwnerId).name;
}
}
Nu vill jag kopiera funktionaliteten och hämta LastModifiedById istället för OwnerId. I övrigt så ska det fungera lika dant.
[B]Set<Id> userIds2 = new Set<Id>();
for (Opportunity o : Trigger.new)
userIds2.add(o.LastModifiedById);
// Query the User table for the associated fields you need and place in a map.
Map<Id, User> fields2 = new Map<Id, User>([select name from User where id in :userIds2]);
// Now use the map to set the appropriate fields on every Account processed by the trigger.
for (Opportunity o : Trigger.new) {
o.Modified_by_txt__c = fields2.get(o.LastModifiedById).name;
} [/B]
Något blir fel när jag försöker ladda upp denna till servern. En test class protesterar.
Men det jag vill börja med är att få förklarat hur detta fungerar. Går det att skriva snyggare kod för att åstakomma samma sak?
:stud