Замена ID в триггере

Вопрос такой, как вы выкручиваетесь(делаете костыли) когда вот нужно опереться на id записи, а его в before trigger нету! Да, сразу на ум приходит after trigger. Но вот мне надо обновить текущую запись и логика завязана на её id. Попробовал autonumber как замену айдишника, так и он зараза после вставки генерится. Просто пытаться выдумывать какие-то уникальный поля в духе имя или эмэйл тоже не хочется.) Ваши идеи господа? Дякую)

код в студію, не розумію, як може бути зав’язана логіка на айді не існуючого рекорду і що заважає цю логіку прив’язати в афтер тріггер

what is about an external Id field ?

Я помню про код! Но тут именно вот общего характера вопрос. Вот например :
Мне нужно добавить Account в related list кастомного объекта. Т.е
В before у меня нет id, в after я в триггеру не могу задать новое поле!
И вот на основе этого, мне нужно в поле myObject.account дать значение!!! И на аккаунте сделать соответственно в поле account.myObject
И эта запись должна быть там только тогда когда у customObject уже есть related запись и она не равно той которая сейчас может попасть в related list. Надеюсь понятно выразился.) Т.е сравнение новизны происходит на основе АЙДИ

What with external id ?) Не зрозумів)

Что-то проблему не понял, если честно. Ты же можешь сохранять Id этого custom object на Accounte и будет тебе привязка к Related List. ID кастомного обьекта ты же знаешь ?

Извините, перепутал значения. В КАСТОМНЫЙ объект сохранить айдишник аккаунта который инсёртится, и при этом в соответствии с этим сделать изменения на аккаунте. Т.е я должен быть в двух местах сразу.

Еще раз задачу можно ? что-то я запутался. Нужно создать аккаунт и в Related List аккаунта добавить Custom Object ? Можно тогда поступить таким образом. Сначала добавить аккаунт в before insert и after insert добавить custom object к ранее сохраняненному аккаунту.

логіка зміни аккаунта зрозуміла і без айді, правильно?, в бефор тріггер міняємо акк до запису, в афтер триггер пишемо айді в кастом обджект.

напишіть простий код, виносите тут мозок перед сном… :hot_face:

Так! Ви зрозуміли! В акканут пишем заздалегідь в before. Так це можливо, але знадобиться робити новый SOQL запрос або триггер. А я хочу цього запобігти, по лиміти вже піджимають. Але ваша думка підходить, спробую)

Получается нужно ПЕРЕКРЁСТНО связать два объекта. кастомный на акканут и аккаунт на кастомный в 1-ом триггере. В этом вся загвоздка. Лимиты уже поджимают. Из-за managed package на эти объекты.

Если вы хотите выдавать custom objects в related list, вы не можете писать Ids этих обьектов в аккаунт. Так как получается relationship 1 к n. Один аккаунт и 10 других обьектов. Вы в custom object можете сохранить ID аккаунта для привязки. но не можете сохранить 10 Ids от всех custom objects на аккаунте. Cмысла нет ))) если у вас relationship N к M, то нужен Junction Object, который будет связывать всё это дело.

Похоже вот тут вы правы… Надо было так с самого начала идти. Спасибо)

1 Вподобання

Пожалуйста, не забывайте о том, что если к вашему вопросу прилагается код, то это значительно облегчить поиск решения как для вас так и для других пользователей.

Cамое главное не торопитесь. Нарисуйте на бумаге, что к чему привязано и уже потом составляйте архитектуру.