Фильтры
Разработка

Фильтрация при выборе значения справочника

Задача:
Для карточки Проекта нужно сделать пользовательское поле Куратор со значением справочника Контакты.
Как организовать выбор значения чтобы в форме выбора отражались только сотрудники нашей организации, аналогично полю Ответственный.

Нравится

2 комментария

Использовать как источник ds_Owner
можно еще у контрола на событии OnPrepareSelectWindow наложить фильтры на ds_Contact

Денис, можете попробовать следующий вариант:

1) Запустить Terrasoft Administrator от имени администратора.
2) Найти датасет того раздела, где Вы хотите отображать кураторами контактов Вашей компании, например в карточке контрагентов (ds_Account).
3) Откройте ds_Account, в нем найдите поле KuratorID и установите ему источник данных справочника- ds_Contact.
4) В wnd_AccountEdit на закладке визуальных компонентов найдите поле Куратор (edtKurator) и на закладке "События" на событие edtKuratorOnPrepareSelectWindow (откройте двойным нажатием) и пропишите функцию проверки по ID компании.
Например,

function edtKuratorOnPrepareSelectWindow(LookupDataControl) {
         PrepareLookupDataControl(LookupDataControl, dlData.Dataset);
 
         var Dataset = dlData.Dataset;
         var DataFieldName = LookupDataControl.DataFieldName;
         var DataField = Dataset.DataFields.ItemsByName(DataFieldName);
         var LookupDataset = DataField.LookupDataset;
         ApplyDatasetFilter(LookupDataset, 'AccountID', acOurCompanyID, true);
         
}

5)
В скрипте scr_Const огласите переменную с ID Вашей компании.

var acOurCompanyID = '{ID Вашей компании}';

Сохраниите сделанные изменения.

ID Вашей компании Вы можете найти, открыв Enterprise Manager или MS SQL Management Studio, найти и открыть таблицу tbl_Account (нажав правой кнопкой "Открыть").
Найдите в данной таблице запись Вашей компании и в колонке ID скопируйте соответствующее значение.

Удачи!

Показать все комментарии