1. Откройте сервис карточки окна редактирования контрагента wnd_AccountEdit;
2. Выберите поле, Которое планируется скрывать в зависимости от типа, и скопируйте его название:
По имени поля мы будем обращаться к нему из скрипта, меняя свойство IsEnabled:
edtField.IsEnabled = true;
3. Откройте запрос справочника Тип контрагента sq_AccountType.
Нажмите просмотр запроса
Затем выполнить запрос:
В окне Результаты мы получим список идентификаторов, по которым мы будем проверять.
Например, если на нужно показывать поле только для типа Партнер, программный код будет выглядеть следующим образом:
if (Dataset('AccountTypeID') == '{2229B3B7-9210-4B3A-AAAD-2A4168678CA1}'){
edtField.IsEnabled = true;
edtField.IsVisible = true;
}else{
edtField.IsEnabled = false;
edtField.IsVisible = false;
}
4. Вставлять данный программный код нужно в двух местах:
- на открытие карточки
- на изменение значения поля Тип
Откройте скрипт карточки редактирования контрагента scr_AccountEdit и найдите функцию function wnd_AccountEditOnPrepare(Window)
В конец функции вставьте следующий программный код:
if (dlData.Dataset('AccountTypeID') == '{2229B3B7-9210-4B3A-AAAD-2A4168678CA1}'){
edtField.IsEnabled = true;
edtField.IsVisible = true;
}else{
edtField.IsEnabled = false;
edtField.IsVisible = false;
}
Найдите функцию function dlDataOnDatasetDataChange(DataField) и добавьте в нее следующий программный код:
if(FieldName == 'AccountTypeID'){
if (Dataset('AccountTypeID') == '{2229B3B7-9210-4B3A-AAAD-2A4168678CA1}'){
edtField.IsEnabled = true;
edtField.IsVisible = true;
}else{
edtField.IsEnabled = false;
edtField.IsVisible = false;
}
}
5. Сохраните и закройте скрипт. Перезапустите Terrasoft.
В результате поле Отрасль будет отображаться только для контрагентов с типом Партнер.