Для реализации данного функционала, необходимо:
1. Создать справочник:
В результате, создадутся сервисы в ветке Accounts\Dictionaries\SubFields\
2. Проверить, создалось ли поле в таблице tbl_SubFields (Accounts\Dictionaries\SubFields\tbl_SubFields):
3. В сервисе запроса sq_SubFields (Accounts\Dictionaries\SubFields\sq_SubFields) добавить параметр:
4. Добавить фильтр сравнения:
5. Проверить, создалось ли поле в сервисе датасета ds_SubFields (Accounts\Dictionaries\SubFields\ds_SubFields):
6. Проверить, создалась ли карточка редактирования wnd_SubFieldsEdit (Accounts\Dictionaries\SubFields\wnd_SubFieldsEdit) и поле «Отрасль» в ней:
7. Добавить поле в сервис таблицы tbl_Account (Accounts\General\Main Grid\tbl_Account):
8. Добавить связь:
9. Добавить колонку в сервис запроса sq_Account (Accounts\General\Main Grid\sq_Account):
10. Присоединить таблицу к запросу:
11. Добавить колонку:
12. Создать поле в сервисе датасета ds_Account (Accounts\General\Main Grid\ds_Account):
13. Добавить визуальный компонент в карточку редактирования, указав соответствующие созданному полю свойства:
14. Перейти на вкладку события и создать обработчик OnPrepareSelectWindow (дважды кликнув по пустому полю, в результате чего в нем появится запись edtSubFieldOnPrepareSelectWindow):
15. Добавить в созданный обработчик следующий код:
var Dataset = dlData.Dataset;
var LookupDataset = LookupDataControl.DataField.LookupDataset;
var AccountFieldID = GetDatasetFieldValue(Dataset, 'FieldID');
ApplyDatasetFilter(LookupDataset, 'FieldID', AccountFieldID, true);
В результате:
16. Сохранить изменения и перезапустить Terrasoft.
17. Заполнить справочник «Подотрасли».
В результате:
Источник: БЗ