Проблема сравнения условий Unified Service Desk
Я использую Unified Service Desk. Задача состояла в том, чтобы при нажатии на контакт из других объектов показать существующую вкладку контакта, если этот контакт уже открыт, или создать новый сеанс, если контакт отличается от уже открытого. Благодаря этой статье я нашел, как получить URL кликаемого контакта в типе места. Но, используя условия для оконных правил навигации или действий, нельзя правильно сравнить контакт из нажатого контакта и в контексте контакта. Ид. В случае с условием вызова действия (которое зависает в правиле навигации окна), скрипт ниже всегда дает мне истину, и если я изменяю == на!=, Он также дает истину (также пробовал === и!==). Вызов действия - это DisplayMessage со следующими свойствами:
Состояние:
var targetId =$Expression(/%257b([a-z0-9\-]+)\%257d/i.exec('[[URL]]')[1]);
var existingId = "[[contact.Id]]";
targetId == existingId
Данные
text=$Expression(/%257b([a-z0-9\-]+)\%257d/i.exec('[[URL]]')[1]) + [[contact.Id]]
Окно сообщения результата:
5EE7F26E-1976-E711-8100-5065F38B74A1 + 5CE7F26E-1976-E711-8100-5065F38B74A1
И еще раз, если я изменю условие на targetId!= С существующим идентификатором все равно появится сообщение, если идентификаторы равны:
5EE7F26E-1976-E711-8100-5065F38B74A1 + 5EE7F26E-1976-E711-8100-5065F38B74A1
Похоже, условие работает неправильно. Может быть, кто-то встретил такое поведение и как-то решил его, я действительно застрял в нем