Задача следующая: не давать сохраниться новому или апдатированному контакту если уже есть контакт с таким емэйл и с таким РекордТайп (т.е. фактически нужно предотвращать дубли только в пределах внутри-орговых проектов, у каждого из которых есть свой РТ).
Идеи:
1) уникальное поле - не подходит, так как дубли на самом деле подускаются, если у них разный РТ.
2) Использовать формульный VLOOKUP в валидейшн рул. В начале кажется что формульный VLOOKUP - эта штука будет посильнее "Фауста" Гете. Но оказывается, что работает только на кастомных объектах, и даже пишут что только на поле Name. Печалько...
3) Остается только обычный Тригер на Контакте...
У вас есть идеи по этому поводу?
Задача следующая: не давать сохраниться новому или апдатированному контакту если уже есть контакт с таким емэйл и с таким РекордТайп (т.е. фактически нужно предотвращать дубли только в пределах внутри-орговых проектов, у каждого из которых есть свой РТ). Идеи: 1) уникальное поле - не подходит, так как дубли на самом деле подускаются, если у них разный РТ. 2) Использовать формульный VLOOKUP в валидейшн рул. В начале кажется что формульный VLOOKUP - эта штука будет посильнее "Фауста" Гете. Но оказывается, что работает только на кастомных объектах, и даже пишут что только на поле Name. Печалько... 3) Остается только обычный Тригер на Контакте... У вас есть идеи по этому поводу?
Делаешь поле формула или не формула как сам захочешь, состоящее из емайла и ИД рекордтайпа и уже его делаешь уникальным
[quote="Den Brown"]Задача следующая: не давать сохраниться новому или апдатированному контакту если уже есть контакт с таким емэйл и с таким РекордТайп (т.е. фактически нужно предотвращать дубли только в пределах внутри-орговых проектов, у каждого из которых есть свой РТ). Идеи: 1) уникальное поле - не подходит, так как дубли на самом деле подускаются, если у них разный РТ. 2) Использовать формульный VLOOKUP в валидейшн рул. В начале кажется что формульный VLOOKUP - эта штука будет посильнее "Фауста" Гете. Но оказывается, что работает только на кастомных объектах, и даже пишут что только на поле Name. Печалько... 3) Остается только обычный Тригер на Контакте... У вас есть идеи по этому поводу?[/quote] Делаешь поле формула или не формула как сам захочешь, состоящее из емайла и ИД рекордтайпа и уже его делаешь уникальным
что, а ларчик просто открывался? а я уже и тригер, и тест написал...
попробовал: ага, не возможно сделать формульное поле уникальным, но есть ворк-эраунд через еще одно простое текстовое поле и ворк-флоу рул:
https://developer.salesforce.com/forums?id=906F00000008ufpIAA
PS: все сделал как описано: не работает - записи сохраняются.
вроде все правильно WFR настроил, критерий выбрал Contact: Email not equal to null
Но кстати, если бы это сработало, как настривать текст сообщения ошибки?
[quote="wilder"]Делаешь поле формула или не формула как сам захочешь, состоящее из емайла и ИД рекордтайпа и уже его делаешь уникальным[/quote] что, а ларчик просто открывался? а я уже и тригер, и тест написал... попробовал: ага, не возможно сделать формульное поле уникальным, но есть ворк-эраунд через еще одно простое текстовое поле и ворк-флоу рул: https://developer.salesforce.com/forums?id=906F00000008ufpIAA PS: все сделал как описано: не работает - записи сохраняются. вроде все правильно WFR настроил, критерий выбрал Contact: Email not equal to null Но кстати, если бы это сработало, как настривать текст сообщения ошибки?
Понятия не имею почему у тебя не работает. У меня работает. вот пример
WorkFlow rule - true
field update rule - IF( RecordType.Name = "Defualt Working Hours", RecordId&TEXT(Day_of_the_Week__c ), "") или поставь свою формулу на update
[quote="Den Brown"][quote="wilder"]Делаешь поле формула или не формула как сам захочешь, состоящее из емайла и ИД рекордтайпа и уже его делаешь уникальным[/quote] что, а ларчик просто открывался? а я уже и тригер, и тест написал... попробовал: ага, не возможно сделать формульное поле уникальным, но есть ворк-эраунд через еще одно простое текстовое поле и ворк-флоу рул: https://developer.salesforce.com/forums?id=906F00000008ufpIAA PS: все сделал как описано: не работает - записи сохраняются. вроде все правильно WFR настроил, критерий выбрал Contact: Email not equal to null Но кстати, если бы это сработало, как настривать текст сообщения ошибки?[/quote] Понятия не имею почему у тебя не работает. У меня работает. вот пример WorkFlow rule - true field update rule - IF( RecordType.Name = "Defualt Working Hours", RecordId&TEXT(Day_of_the_Week__c ), "") или поставь свою формулу на update
Понятия не имею почему у тебя не работает. У меня работает. вот пример
Буду разбираться.
[quote="wilder"]Понятия не имею почему у тебя не работает. У меня работает. вот пример[/quote] Буду разбираться.
Разобрался.
Проблема была в том, что был включен мой тригер паралельно с этим WFR, а тригер был при этом еще и багнутый, оригинальное уникальное поле не обязательно, так что его значение нужно проверять на нуль, а также настраивать условия для Апдейта - чтобы тригер текущую запись саму с собой не начал сравнивать.
Тригер исправил и... отключил.
WFR работает... но сообщение соверешенно ничего не говорит пользователю:
Duplicate value on record: a4 (Related field: Unique Email and recordTypeId)
при том что само поле еще и скрыто к тому же.
так что пока остановился на тригере.
кстати при вкл тригере и WFR, первым срабатывает (выкидывает сообщение) тригер.
Разобрался. Проблема была в том, что был включен мой тригер паралельно с этим WFR, а тригер был при этом еще и багнутый, оригинальное уникальное поле не обязательно, так что его значение нужно проверять на нуль, а также настраивать условия для Апдейта - чтобы тригер текущую запись саму с собой не начал сравнивать. Тригер исправил и... отключил. WFR работает... но сообщение соверешенно ничего не говорит пользователю: [b]Duplicate value on record: a4 (Related field: Unique Email and recordTypeId)[/b] при том что само поле еще и скрыто к тому же. так что пока остановился на тригере. кстати при вкл тригере и WFR, первым срабатывает (выкидывает сообщение) тригер.