У меня есть вопрос, я надеюсь, что смогу четко рассказать о своей проблеме.Salesforce Parent ID Trigger
Что касается parentfunction на счете, я добавил два поля на счет ParentId (15) и ParentIDLong (18). Поле ParentID представляет собой формулу с кодом ниже.
IF(LEN(Parent.Id) < 1, Id,
IF(LEN(Parent.Parent.Id) < 1, (Parent.Id),
IF(LEN(Parent.Parent.Parent.Id) < 1, (Parent.Parent.Id),
IF(LEN(Parent.Parent.Parent.Parent.Id) < 1, (Parent.Parent.Parent.Id),
IF(LEN(Parent.Parent.Parent.Parent.Parent.Id) < 1, (Parent.Parent.Parent.Parent.Id),
IF(LEN(Parent.Parent.Parent.Parent.Parent.Parent.Id) < 1, (Parent.Parent.Parent.Parent.Parent.Id),
IF(LEN(Parent.Parent.Parent.Parent.Parent.Parent.Parent.Id) < 1, (Parent.Parent.Parent.Parent.Parent.Parent.Id),
IF(LEN(Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Id) < 1,(Parent.Parent.Parent.Parent.Parent.Parent.Parent.Id),">7"))))))))
Теперь мне нужно ParentLongID, к сожалению, его невозможно изменить формулу, потому что я получаю сообщение об ошибке, которое «формула слишком велика».
Я написал триггер, который отправил длинный идентификатор в поле ParentLongID (код ниже).
Trigger SetParentIDLong on Account (before update) {
FOR (Account Acc : Trigger.new) {
Account oldAcc = Trigger.oldMap.get(Acc.Id);
String idStr = Acc.ParentID__c;
Id idVal = idStr;
idStr = idVal;
If (oldAcc.ParentId__c != Acc.ParentID__c) {
Acc.ParentIdLong__c = idStr;
}
Пока все хорошо, оно работает, если я создаю иерархию сверху вниз.
Пример:
MotherCompany ParentIDLong: пусто
Daughter1 ParentIDLong: 001b000000XUTQAAA5
Daughter2 ParnetIDLong: 001b000000XUTQAAA5
Но если добавить MotherMotherCompany
Пример:
MotherMotherCompany ParentIDLong: пусто
MotherCompany ParentIDLong: 001m000000Ft35yAAB
Daughter1 ParentIDLong: 001b000000XUTQAAA5
Daughter2 ParnetIDLong: 001b000000XUTQAAA5
Триггер не работает, потому что триггер изменил только ParentIDLong в Mothercompany.
Его можно изменить с помощью спускового механизма всех других компаний?
Спасибо, Sascha
Im open для любых других идей, пожалуйста, помогите мне. – peXeq