() , :
trigger TR_OrderChecklist on Order_Checklist__c (after update) {
List<Opportunity> opptsToUpdate = new List<Opportunity>();
for(Order_Checklist__c o : trigger.new) {
if(o.Opportunity__r.CARE_Operations__c == null) {
o.Opportunity__r.CARE_Operations__c = UserInfo.getUserId();
opptsToUpdate.add(o.Opportunity__r);
}
}
if (opptsToUpdate.size() > 0)
update opptsToUpdate;
}
, Opportunity.My_User__c lookup (User) My_Object__c.Opportunity__c (), :
trigger HandleMyObjectInsert on My_Object__c (before insert) {
User actingUser = [SELECT id FROM User WHERE Id = :UserInfo.getUserId()];
List<Opportunity> oppts = new List<Opportunity>();
for (My_Object__c myobj : trigger.new) {
Opportunity o = new Opportunity();
o.Id = myobj.Opportunity__c;
o.My_User__c = actingUser.Id;
oppts.add(o);
}
update oppts;
}
, Lookup (User) Id, . Lookup (User) Opportunity " ".
- :
- :
- :
- : My_User ( My_User__c, My_User__r)
- Salesforce " " . APEX:
Opportunity[] oppts = [
SELECT id, My_User__c, My_User__r.Name
FROM Opportunity
WHERE My_User__c != null
];
for (Opportunity o : oppts) {
system.debug('##### Opportunity.My_User__c = '
+ o.My_User__c
+ ', o.My_User__r.Name = '
+ o.My_User__r.Name);
}
" ", :
16:42:37.077 (77645000)|USER_DEBUG|[7]|DEBUG|
., Salesforce __c . Id User. Salesforce , Name - , Id (, Salesforce ERD, , ). , __r.
- My_User__c:
Opportunity[] oppts = [
SELECT id, My_User__c
FROM Opportunity
WHERE My_User__c != null
LIMIT 1
];
for (Opportunity o : oppts) {
o.My_User__c = :UserInfo.getUserId();
}
update oppts;
soql :
// Let query all users and use the 3rd one in the list (zero-index 2)
User[] users = [select id from user];
Opportunity o = new Opportunity(My_User__c = users[2].id, Name='Testing', StageName = 'Prospecting', CloseDate = System.today());
insert o;
:
User[] users = [select id from user where email = 'first.last@company.com' and IsActive = true];
if (users.size() > 0) {
Opportunity o = new Opportunity(My_User__c = users[0].id, Name='Testing', StageName = 'Prospecting', CloseDate = System.today());
insert o;
}
:
UserInfo.getUserId()