Есть Parent у которого есть picklist. Необходимо каждый раз при изменении значения в picklist переносить его на child таким образом, чтобы произошёл вызов тригера на данном child(т.е. обычный formula field не прокатывает) Мб кто-нибудь знает какое-нибудь решение без apex?
Есть Parent у которого есть picklist. Необходимо каждый раз при изменении значения в picklist переносить его на child таким образом, чтобы произошёл вызов тригера на данном child(т.е. обычный formula field не прокатывает) Мб кто-нибудь знает какое-нибудь решение без apex?
Пока придумал только создать два Process в Process Builder: один на создание child и один на изменение parent. Но не могу понять как оценить насколько это хорошее решение. Т.е. либо два процесса, либо дополнительный триггер на parent, но с почти полностью аналогичной логикой триггера на child.
Пока придумал только создать два Process в Process Builder: один на создание child и один на изменение parent. Но не могу понять как оценить насколько это хорошее решение. Т.е. либо два процесса, либо дополнительный триггер на parent, но с почти полностью аналогичной логикой триггера на child.
Если нужно просто проапдейтить child записи - то проще всего через триггер. Можно, конечно, сделать через Process Builder/ Flow, но, ИМХО, это не самый удобный и правильный путь.
Без конкретных business requirements сложно подсказать точно, но если нужно одну и ту же логику вызывать в триггере для двух объектов - то правильнее всего ее вытащить ее в отдельный метод хелпера и вызывать из обоих триггеров.
Если нужно просто проапдейтить child записи - то проще всего через триггер. Можно, конечно, сделать через Process Builder/ Flow, но, ИМХО, это не самый удобный и правильный путь. Без конкретных business requirements сложно подсказать точно, но если нужно одну и ту же логику вызывать в триггере для двух объектов - то правильнее всего ее вытащить ее в отдельный метод хелпера и вызывать из обоих триггеров.
Оставить формулу, но сделать на Parent триггер который вытягивает все child и просто делает им update.
2 строчки кода: SOQL + DML update.
[quote="Konstruktor"]Необходимо каждый раз при изменении значения в picklist переносить его на child таким образом, чтобы произошёл вызов тригера на данном child(т.е. обычный formula field не прокатывает) Мб кто-нибудь знает какое-нибудь решение без apex?[/quote] Оставить формулу, но сделать на Parent триггер который вытягивает все child и просто делает им update. 2 строчки кода: SOQL + DML update.
да, все верно - можно сделать через process builder, но с его типичным уровнем стабильности я бы предпочел триггер.
ну и тут правильно подсказали - не понятно какое требование ты пытаешься таким образом покрыть - возможно есть другие альтернативы
да, все верно - можно сделать через process builder, но с его типичным уровнем стабильности я бы предпочел триггер. ну и тут правильно подсказали - не понятно какое требование ты пытаешься таким образом покрыть - возможно есть другие альтернативы
Ну и позвольте немного лирики.
Если вы взялись реализовывать бизнес логику на apex, то пожалуйста забудьте про process builder и наоборот. Мухи и котлеты должны жить отдельно. Я уже пару раз встречал отвратительный симбиоз двух этих инструментов - архитектурой не пахло вообще. Постоянно возникали проблемы с конфликтами в логике, которые очень тяжело было найти. Если сейчас все красиво и понятно на проекте, то это лишь временная иллюзия.
Ну и позвольте немного лирики. Если вы взялись реализовывать бизнес логику на apex, то пожалуйста забудьте про process builder и наоборот. Мухи и котлеты должны жить отдельно. Я уже пару раз встречал отвратительный симбиоз двух этих инструментов - архитектурой не пахло вообще. Постоянно возникали проблемы с конфликтами в логике, которые очень тяжело было найти. Если сейчас все красиво и понятно на проекте, то это лишь временная иллюзия.