# Иерархический справочник на основе реестров

Пользовательский компонент представляет собой окошко с выбором реестра в виде иерархического справочника.

![Демонстрация](tree-registry-chooser.webm)

**Поддерживаемая версия Synergy**: 3.15 (wilkes)

**Файл конфигурации**: [tree-registry-chooser.conf.xml](../../form-cmp/tree-registry-chooser.conf.xml) [пользовательский компонент]

## Инструкция по использованию

* Создаём форму с полями: `Наименование` и `Родитель`

***Наименование:*** допустим будет - `Однострочное поле` с id-шником: `trc_form_name`;<br>
***Родитель:*** обязательно - `Ссылка на реестр` с id-шником: `trc_form_parentCode`;<br>

* Создаём реестр с кодом: `trc_form_registry` для нашей формы.
 
***Обязательно!:*** Укажите компоненту `Ссылка на реестр` смотреть на реестр: `trc_form_registry`<br>

* Добавить пользовательский компонент на форму где он требуется.
* Вставить в него скрипт:

```javascript
model.config = {
    code: 'trc_form_registry',              // код реестра
    nameField: 'trc_form_name',             // поле отображаемое в окне выбора записи. должен быть в столбцах реестра
    parentField: 'trc_form_parentCode',     // поле со ссылкой на родительскую запись
    parentFieldType: 'key',                 // тип поля parentField
    sortDesc: true,                         // тип сортировки, необязательное
};
```
* Используем пользовательский компонент
 
### Доп. возможности пользовательского компонента

```javascript
model.config = {
    code: 'trc_form_registry',              // код реестра
    nameField: 'trc_form_name',             // поле отображаемое в окне выбора записи. должен быть в столбцах реестра
    parentField: 'trc_form_parentCode',     // поле со ссылкой на родительскую запись
    parentFieldType: 'key',                 // тип поля parentField
    sortCmpID: '',                          // поле сортировки записей, необязательное
    sortDesc: true,                         // тип сортировки, необязательное
    browseDisable: false,                   // деактивировать выбор, необязательное
    deleteDisable: false,                   // деактивировать удаление, необязательное
    createDisable: false                    // деактивировать создание, необязательное
};
```