Скоро эта страница будет выглядеть по-новому |
---|
Параметры можно связывать между собой по принципу "родитель — подчиненный". Когда в карточке задачи присутствует родительский ДП, то допустимые значения для подчиненного определяются на основе этой связи. Связи между параметрами работают как в уже созданных задачах, так и при создании новой задачи.
Пример: в системе есть справочник компаний-контрагентов, для каждого контрагента есть список заключенных договоров. При оформлении счета нужно сначала выбрать значение в поле Контрагент, тогда в поле Договор будут доступны для выбора только договоры, заключенные с данным контрагентом.
Список всех настроенных в системе связей:
Список настроенных связей между ДП
Название |
Описание |
---|---|
Родительский параметр |
Название родительского ДП |
Подчиненный параметр |
Название подчиненного ДП |
Жесткая связь |
Флажок определяет возможность выбора значения дочернего ДП без выбора значения родительского: •если флажок включен, то если значение хотя бы одного из родительских ДП не выбрано, в дочернем ДП будет пустое множество (то есть сначала необходимо заполнить значения всех родительских ДП, а потом уже выбирать дочерний ДП); •если флажок не включен, то дочерний ДП будет содержать значения, отфильтрованные по тем родительским параметрам, которые заполнены. |
Источник данных |
Название результирующей таблицы в базе данных "Первая Форма" |
Колонка для отбора |
Колонка, в которой хранятся значения родительского ДП |
Значение подчиненного параметра |
Колонка, в которой хранятся значения подчиненного ДП |
Текст подчиненного параметра |
Колонка, в которой хранятся отображаемые значения подчиненного ДП |
Связи можно устанавливать между ДП в разных колонках одной строки таблицы. Например, в одной колонке выбирается тип продукции, в другой колонке доступны только артикулы, относящиеся к данному типу продукции.
Нельзя установить связь ДП, если подчиненный параметр находится в таблице, а родительский — вне таблицы |
---|
Во избежание нагрузки системы и возникновения ошибок запрещено создание связей между ДП, если такая связь приведет к образованию цикла. К примеру, если ДП “А” указывается родительским для ДП "Б", в то время, как ДП “Б” уже был указан ранее как родительский для ДП “А”. |
---|
Возможные варианты связей между ДП
Связи одного родительского и одного дочернего ДП
Ж — жесткая связь между двумя ДП — сначала необходимо заполнить значения родительского ДП, а потом уже выбирать дочерний ДП.
С — слабая связь между двумя ДП — если родительский ДП выбран, то список значений для выбора в дочернем ДП будет содержать значения, отфильтрованные по родительскому ДП.
Связи одного дочернего ДП с двумя родительскими ДП
ЖЖ — обе связи жесткие — сначала необходимо заполнить значения обоих родительских ДП, а потом уже выбирать дочерний ДП.
ЖС — первая связь жесткая, вторая слабая — сначала необходимо заполнить значения родительского ДП, а потом уже выбирать дочерний ДП, причем список значений для выбора в дочернем ДП будет содержать значения, отфильтрованные по тем родительским ДП, которые заполнены.
СЖ — первая связь слабая, вторая жесткая.
Варианты связей между ДП, которые поддерживает "Первая Форма":
Тип родительского ДП |
Тип дочернего ДП |
Тип связи |
Дополнительный родительский ДП |
|
---|---|---|---|---|
тип ДП |
типы связей |
|||
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)