Добрый день, коллеги! Есть задача написать бизнес правило для страницы обращения портальных пользователей. Т.е. если мы заходим по пользователем портала с типом контакта Клиент, то пользователь видит колонку Конфигурационные единицы. Если заходим по пользователем портала с типом контакта Сотрудник, то нет. Вопрос: как мне с помощью бизнес правила в 7.10 извлечь контакт текущего пользователя и отфильтровать его по типу контакта?
Можете поступить следующим образом - сравнивать значение системной переменной CURRENT_USER_CONTACT.TypeId с необходимым айдишником типа пользователя. Их можно найти в таблице ContactType.
Прошу извинить, действительно, дезинформировал. Тогда все же прийдется выполнять esq, допустим, в init`e, заносить полученное значение в аттрибут и сравнивать уже его. NULL вы получили по той причине, что колонка называется TypeId.
Денис, рекомендую все же посмотреть напрямую в БД, заполнено ли это поле. Вот пример из коробки, модуль CtiPanelIdentificationUtilities:
filterGroup.add("IsEmployeeType", Terrasoft.createColumnFilterWithParameter(
Terrasoft.ComparisonType.EQUAL, "Contact.Type", ConfigurationConstants.ContactType.Employee));
Вопрос был про 7.10, там точно эта колонка используется.
Создал раздел через мастер разделов. В объекте раздела установил для справочного поля "Автор" значение по умолчанию - Текущий пользователь. При сохранении получаю ошибку - Конфликт инструкции INSERT с ограничением FOREIGN KEY "FKMUz8mt4GOdEmSGqDq6UKqFRng". Конфликт произошел в базе данных "ClientPortal_7.6.0_SO", таблица "dbo.Contact", column 'Id'. Выполнение данной инструкции было прервано.
Если очистить поле - эффект тот же.
Если убрать значение по умолчанию - все сохраняется.