Платформа 3V/Формы/Источники данных/Справочник/Фильтрация/По значению в элементе управления: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
Строка 36: Строка 36:
  
 
== Пример: ==
 
== Пример: ==
 +
В поле "Наименование" введен искомый текст, в поле "Контрагенты" отфильтрованы элементы списка, содержащие данный текст.
 +
 +
[[Файл:Screenshot 2021-04-20 at 16.02.38.png|обрамить|слева]]
 +
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 +
<div style="font-weight:bold;line-height:1.6;">JSON серверной карточки</div>
 +
<div class="mw-collapsible-content mw-collapsed-content">
 +
<syntaxhighlight lang="JSON" line>
 +
 +
{
 +
  "id": 10928,
 +
  "name": "Пример фильтра по значению в контроле (EntryUiFilterDto)",
 +
  "description": null,
 +
  "title": "Пример фильтра по значению в контроле",
 +
  "entrySettings": null,
 +
  "uiSources": [
 +
    {
 +
      "id": 1,
 +
      "caption": "Наименование",
 +
      "enable": true,
 +
      "visible": true,
 +
      "hint": null,
 +
      "doActionOnChangeValue": true,
 +
      "onAfterChangeValueConditionalActions": null,
 +
      "onAfterChangeValueByClientConditionalActions": null,
 +
      "rebuildDependentsObjectOnChange": true,
 +
      "enableRuleIds": [],
 +
      "visibleRuleIds": [],
 +
      "access": null,
 +
      "isValueChanged": true,
 +
      "expressionId": null,
 +
      "discriminator": "StringSourceEntry"
 +
    },
 +
    {
 +
      "trimSpaces": false,
 +
      "defaultValue": null,
 +
      "value": null,
 +
      "id": 2,
 +
      "caption": "Контрагент",
 +
      "enable": true,
 +
      "visible": true,
 +
      "hint": null,
 +
      "doActionOnChangeValue": false,
 +
      "onAfterChangeValueConditionalActions": null,
 +
      "onAfterChangeValueByClientConditionalActions": null,
 +
      "rebuildDependentsObjectOnChange": true,
 +
      "enableRuleIds": [],
 +
      "visibleRuleIds": [],
 +
      "access": null,
 +
      "isValueChanged": false,
 +
      "dataSourceId": 3,
 +
      "discriminator": "DictionarySourceEntry",
 +
      "hasMultipleValue": true
 +
    }
 +
  ],
 +
  "entryDataSources": [
 +
    {
 +
      "dictionaryId": 10755,
 +
      "hierarchyId": null,
 +
      "filter": {
 +
        "uiSourceId": 1,
 +
        "attribute": {
 +
          "id": 2,
 +
          "discriminator": "OwnAttributeDefinitionDto"
 +
        },
 +
        "conditionType": "ContainsString",
 +
        "inversion": false,
 +
        "conditionId": null,
 +
        "discriminator": "EntryUiFilterDto"
 +
      },
 +
      "sortingOptions": null,
 +
      "groupingOptions": null,
 +
      "dictionaryAttributes": [],
 +
      "defaultValue": [],
 +
      "defaultValueExpressionId": null,
 +
      "parameterId": null,
 +
      "dictionarySourceSelectionMode": "SelectAll",
 +
      "dataSourceAttributesAdditionsSettings": [],
 +
      "externalFileStorageUrl": null,
 +
      "filePrefix": null,
 +
      "defaultNewElementSettings": null,
 +
      "id": 3,
 +
      "name": "Контрагенты",
 +
      "isReadOnly": false,
 +
      "dataEditRuleIds": [],
 +
      "beforeSaveDataActions": [],
 +
      "afterSaveDataActions": [],
 +
      "discriminator": "DictionaryDataSource"
 +
    }
 +
  ],
 +
  "parameters": [],
 +
  "binaryConditionsRules": [],
 +
  "submitValidateRules": [],
 +
  "expressions": [],
 +
  "controlsValueCalculateRules": [],
 +
  "actions": [],
 +
  "conditionActionIdsOnOpen": [],
 +
  "conditionalActions": [],
 +
  "selectionSets": [],
 +
  "reportTemplates": [],
 +
  "useNewDependenciesBuilder": null
 +
}
 +
</syntaxhighlight>
 +
</div></div>

Версия 13:05, 20 апреля 2021

!!! СТРАНИЦА В СТАДИИ НАПОЛНЕНИЯ!!!

Фильтр EntryUiFilterDto позволяет фильтровать данные справочника по значению контрола.
Структура фильтра:

 1 "filter": {
 2         "uiSourceId": 1,
 3         "attribute": {
 4           "id": 2,
 5           "discriminator": "OwnAttributeDefinitionDto"
 6         },
 7         "conditionType": "ContainsString",
 8         "inversion": false,
 9         "conditionId": null,
10         "discriminator": "EntryUiFilterDto"
11       },

Тип данных в контроле должен совпадать с типом данных в атрибуте справочника по которому идет фильтрация.

Описание свойств фильтра

Свойство Описание
uiSourceId Номер контрола от значения которого идет фильтрация
attribute Атрибут текущего источника, с которым сравнивается значение в контроле. Указывается номер Id и тип атрибута в данном случае собственный (OwnAttributeDefinitionDto), так как используются данные текущего справочника.
conditionType Тип условий
inversion В значении "false" фильтр отберет удовлетворяющие ему значения, в значении "true" - все значения, которые наоборот не удовлетворяют ему
conditionId Условия, при которых применяется фильтр
discriminator EntryUiFilterDto

Пример:

В поле "Наименование" введен искомый текст, в поле "Контрагенты" отфильтрованы элементы списка, содержащие данный текст.

Screenshot 2021-04-20 at 16.02.38.png
















JSON серверной карточки