2016-09-26 5 views
2

В SugarCRM Я пытаюсь создать зависимое поле, которое будет видимым, если раскрывающееся меню равно «Специалист».Формула зависимого поля Sugarcrm

Но я вижу зависимое поле при загрузке самой страницы на этой вкладке.

Зависимое поле находится в разных TAB, это проблема?

Мой код теперь:

$dictionary['account']['fields']['reason_c']['dependency']='contains($business_c,"Specialist")'; 

Где специалист является текст в опции.

Может кто-нибудь мне помочь. Благодарю.

+0

Вы сделали это, используя студию или по коду? –

ответ

1

Reference Link

Зависимые поля - Отображение на основе списка значений Обзор

Зависимые поля использовать Sugar Logic для управления видимостью поля так, что они проявляются только при соблюдении определенных условий. Администраторы могут создавать эти формулы через Studio или Module Builder при редактировании поля, выбирая флажок Dependent и используя построитель формул. В этой статье будет приведен пример формулы для зависимого поля, которая появляется только тогда, когда поле в записи соответствует списку допустимых значений.

О журнале «Сахарная логика» и «Расчетные поля» см. Статью «Введение в расчетные поля». Use Case

В этом примере мы сделаем настраиваемое поле «Статус» в модуле «Учетные записи», только если поле «Тип учетной записи» равно одному из трех перечисленных указанных значений: «Клиент, Партнер» или «Инвестор». Необходимые условия

Вам нужно будет создать новое поле типа TextField в модуле Учетные записи и пометить его как зависимое поле перед вводом следующей формулы. Формула

Зависимая формула ниже сделает поле «Статус» видимым в редакторе и подробном представлении модуля «Учетная запись» только в том случае, если выбранное значение выпадающего типа «Тип» равно либо «Клиент», «Партнер», либо «Инвестор».

isInList($account_type,createList("Customer","Partner","Investor" 

Функция Формула Разбивка createList() создает временный список строковых значений, которые мы будем использовать для сравнения. Затем мы используем функцию isInList(), если во временном списке отображается значение поля account_type. Поскольку account_type является полем выпадающего списка, isInList() будет использовать имя элемента выбранной опции (в отличие от его метки отображения) в качестве значения сравнения. Вы можете увидеть имена элементов и отобразить ярлыки для всех параметров в раскрывающемся меню в Admin> Dropdown Editor.

Если выбранный вариант account_type имеет название товара «Клиент», «Партнер» или «Инвестор», тогда формула вернет «истину», что приведет к отображению зависимого поля состояния.

Для нашего примера функция createList() генерирует временный список значений (Клиент, Партнер, Инвестор), а функция isInList() сравнивает список со значением поля «Тип». Поскольку имя элемента выбранного типа учетной записи «Клиент», условие выполняется, и поле Состояние будет видимым. Приложение

После того как ваше настраиваемое текстовое поле создается с помощью формулы зависимостей и добавлено в редактирование и подробное представление модуля, зависимое поле появится, если поле типа содержит одно из значений в указанном вами списке. В нашем примере поле «Состояние» отображается, так как поле «Тип учетной записи» имеет отображаемое значение «Клиент».