У меня єсть master-detail объект от 'Opportunity'. Как мне автоматически создавать етот рекорд когда Probability филд в 'Opportunity' объекте > 80%. В Workflow Actions нет такой возможности
Apex Trigger на Opportunity
Отслеживаешь изменение Probability и если оно становится >80% создаешь свой объект.
Может попробуй новую фишу - Lightning Process Builder
Правда тут ничего не гарантирую. Не пробовал.
Ето я зделал. Не знаю теперь как вставить новый объект. От код...
trigger createNewProjectRecord on Opportunity (before insert) {
Opportunity[] opp = trigger.new;
for(Opportunity o: opp){
if(o.Probability>80){
Project__c project = new Project__c();
project.Project__c = o.Name;
project.Name = 'test_name';
insert project;
}
}
}
p.s. Первый день смотрю к salesforce'у поетому не судите строго.
trigger createNewProjectRecord on Opportunity (before insert) {
Opportunity[] opp = trigger.new;
for(Opportunity o: opp){
if(o.Probability>80){
Project__c project = new Project__c(); project.Project__c = o.Name;
project.Name = 'test_name';
insert project;
}
}
}
Только Лучше так:
trigger createNewProjectRecord on Opportunity (before insert, before update) {
List<Project__c > projects= new List<Project__c >();
Opportunity[] opp = trigger.new;
for(Opportunity o: opp){
if(o.Probability>80){
Project__c project = new Project__c(); project.Project__c = o.Name;
project.Name = 'test_name';
projects.add(project);
}
}
insert projects;
}
Не забываем что надо сделать так, чтобы триггер сработал один раз иначе получите кучу дублей.
Это точно. Можно завести отдельное поле, можно сравнивать старое значение и новое. Куча вариантов короче говоря)
Спс ребята!!!!
До етого сам дошол. А еще один простой вопрос. У меня есть Opportunity у него есть Account филд. В Account есть кастомый филд Primary_Contact__с - Lookup(Contact). Как мне его достать? o.Account.Primary_contact__c? Но он почему то пустой
Он пустой потому что в trigger.new из которого твой o
содержатся поля только первого уровня (это такое правило).
Если хочешь поля второго и дальше порядка делай свой запрос для записей из trigger.new
А можно плз екзампл что вы имеете в виду...
List<Opportunity> opps = [SELECT Id, Account.Primary_contact__c FROM Opportunity WHERE Id IN :Trigger.new]
И правда всем лень гуглить...
Симметричный ответ на санкции!
Надо уже говорить
"И правда всем лень яндексить" ![]()