Параметры можно связывать между собой по принципу "родитель — подчиненный". Когда в карточке задачи присутствует родительский ДП, то допустимые значения для подчиненного определяются на основе этой связи. Связи между параметрами работают как в уже созданных задачах, так и при создании новой задачи.
Пример: в системе есть справочник компаний-контрагентов, для каждого контрагента есть список заключенных договоров. При оформлении счета нужно сначала выбрать значение в поле Контрагент, тогда в поле Договор будут доступны для выбора только договоры, заключенные с данным контрагентом.
Список всех настроенных в системе связей:
Список настроенных связей между ДП
Для создания связи параметров нажмите кнопку Создать в правом верхнем углу.
Форма создания связи
Настройки связи параметров:
Название |
Описание |
---|---|
Родительский параметр |
Название родительского ДП |
Подчиненный параметр |
Название подчиненного ДП |
Жесткая связь |
Параметр определяет возможность выбора значения дочернего ДП без выбора значения родительского: •Если параметр активен, то если значение хотя бы одного из родительских ДП не выбрано, в дочернем ДП будет пустое множество (то есть сначала необходимо заполнить значения всех родительских ДП, а потом уже выбирать дочерний ДП); •Если параметр выключен, то дочерний ДП будет содержать значения, отфильтрованные по тем родительским параметрам, которые заполнены. |
Источник данных |
Название результирующей таблицы в базе данных "Первая Форма" |
Колонка для отбора |
Колонка, в которой хранятся значения родительского ДП |
Значение подчиненного параметра |
Колонка, в которой хранятся значения подчиненного ДП |
Текст подчиненного параметра |
Колонка, в которой хранятся отображаемые значения подчиненного ДП |
Связи можно устанавливать между ДП в разных колонках одной строки таблицы. Например, в одной колонке выбирается тип продукции, в другой колонке доступны только артикулы, относящиеся к данному типу продукции.
|
---|
|
---|
Для редактирования существующей связи параметров нажмите на нее в таблице.
Форма редактирования связи
Для удаления связи вызовите контекстное меню в таблице для соответствующей строки и выберите пункт Удалить.
Контекстное меню
Возможные варианты связей между ДП
Связи одного родительского и одного дочернего ДП
Ж — жесткая связь между двумя ДП — сначала необходимо заполнить значения родительского ДП, а потом уже выбирать дочерний ДП.
С — слабая связь между двумя ДП — если родительский ДП выбран, то список значений для выбора в дочернем ДП будет содержать значения, отфильтрованные по родительскому ДП.
Связи одного дочернего ДП с двумя родительскими ДП
ЖЖ — обе связи жесткие — сначала необходимо заполнить значения обоих родительских ДП, а потом уже выбирать дочерний ДП.
ЖС — первая связь жесткая, вторая слабая — сначала необходимо заполнить значения родительского ДП, а потом уже выбирать дочерний ДП, причем список значений для выбора в дочернем ДП будет содержать значения, отфильтрованные по тем родительским ДП, которые заполнены.
СЖ — первая связь слабая, вторая жесткая.
Варианты связей между ДП, которые поддерживает "Первая Форма":
Тип родительского ДП |
Тип дочернего ДП |
Тип связи |
Дополнительный родительский ДП |
|
---|---|---|---|---|
Тип ДП |
Типы связей |
|||
Lookup |
Lookup |
Ж, С |
Выпадающий список |
ЖЖ, ЖС, СЖ |
Выпадающий список |
Lookup |
Ж, С |
Текст\Число |
ЖЖ, ЖС, СЖ |
Lookup |
Выпадающий список |
Ж, С |
|
|
Выпадающий список |
Выпадающий список |
Ж |
|
|
Текст\Число |
Lookup |
Ж, С |
Текст\Число |
ЖЖ, ЖС, СЖ |
Текст\Число |
MultiLookup |
Ж, С |
Текст\Число |
ЖЖ, ЖС, СЖ |
MultiLookup |
Выпадающий список |
Ж, С |
|
|
MultiLookup |
Lookup |
Ж, С |
|
|
Выпадающий список |
MultiLookup |
Ж, С |
Текст\Число |
ЖЖ, ЖС, СЖ |
Lookup |
MultiLookup |
Ж, С |
Текст\Число |
ЖЖ, ЖС, СЖ |
Примеры настройки связей между ДП
Чаще всего связи между ДП строятся на основе таблицы значений ДП (ExtParamValues), таблицы задач определенной категории (TasksInSubcatXXXDenormalized) или собственной таблицы или представления (view), созданной для поддержания конкретной связи.
Примеры связи на основе таблицы значений ДП (ExtParamValues)
Связь между ДП Выпадающий список и Lookup
Связь между ДП Lookup и Выпадающий список
Связь между ДП MultiLookup и Выпадающий список
Связь между ДП Выпадающий список и MultiLookup
Связь между ДП Lookup и MultiLookup
Примеры связи на основе таблицы задач определенной категории
Используется таблица TasksInSubcatXXXDenormalized, где XXX — ID денормализованной категории.
Связь между двумя ДП Выпадающий список
Связь между ДП Выпадающий список и Lookup
Пример связи на основе собственной таблицы или представления (view)