Задача 102.169639

Задача :102.169639

2017-09-28 16:42:29
Краткое описание :
фильтрация МЦ по множественному условию LIKE в интерфейсах списка, одиночном и множественном выборе
Описание :
Интерфейс выбора МЦ
Что измененно :

необходимо реализовать при одиночном и множественном выборе МЦ
возможность фильтрации МЦ по множественному условию LIKE по полю Name

ниже предложения (не обязательные) по реализации:

Пользователь вводит строку через пробел.
строка разбивается на список строк и формируется много условий LIKE
если перед подстрокой знак минус "-", то условие NOT LIKE

выборка DSQL запросом в таблицу в памяти, выгружать только первых [N] записей (нужна соответствующая настройка)
при пометке нужно сохранять выбранные записи:
пользователь задал фильтр,
пометил несколько записей,
потом поменял фильтр
пометил еще несколько и так несколько раз.
До тех пор пока не закрылся интерфейс пометка должна содержать все помеченные записи.
желательно иметь возможно отобразить помеченные записи (возможно на другой закладке).

пример строки фильтрации = "ротор 380 -золото"
формирует запрос вида:

SELECT Name FROM KatMC
TOP 5 -- нужна настройка сколько записей загружать NNN, тут подставляем NMN+1
WHERE
Name LIKE '%РОТОР%' -- возможно все подстроки придется привезти к верхнему регистру, нужно пробовать
AND Name LIKE '%380%'
AND Name NOT LIKE '%ЗОЛОТО%'
-- AND ROWNUM <= 5
ORDER BY Name
;

желательно делать выборку N+1 запись и показывать только N записей в списке (N значение настройки). если получили N+1, то информируем пользователя, что записей больше чем мы отображаем по настройке.

интерфейс выбора должен выглядеть примерно так:

1) Фильтр [___ротор 380 -золото____________] <Применить>
2) инфо-строка:
Введите строку для фильтрации "слово1 слово2", для исключения перед словом введите символ "-"
Список найденных МЦ - выведены не все записи (только первые 4) // если найдено записей NNN+1
Список найденных МЦ (4) // если найдено записей <= NNN
Записей удовлетворяющих условию не найдено // если записей не найдено
3) грид
[ ] ротор 380 1......
[V] ротор 380 2......
[ ] ротор 380 3......
[ ] ротор 380 4......

при курсор попадает в строку фильтра
вводим строку, нажимаем (на пустой строке ничего не происходит)
происходит выборка DSQL
если что-то нашли, то позиционирование на первую запись в списка МЦ
если ничего не нашли, курсор остается в строке поиска, инфо-строка над списком сообщает что записей нет
если в списке нажимает ENTER - и помечена хотя бы одна МЦ, интерфейс закрывается
Как измененно :

Настройка "Настройки Галактики \ Общие настройки системы \ Работа с МЦ, услугами \ Работа с МЦ \ Кэширование списка материальных ценностей" переименована в "Интерфейс выбора материальных ценностей".
Значения:
- обычный (простой интерфейс выбора)
- кэшированный (с кэшированием)
- со строкой поиска (доступен только на Oracle и SQL, новой значение)

Также на Oracle и SQL добавлена настройка "Настройки Галактики \ Общие настройки системы \ Работа с МЦ, услугами \ Работа с МЦ \ Количество загружаемых записей при поиске МЦ", которая используется при работе интерфейса в третьем режиме.

В новом интерфейсе в верхней части отображается строка поиска. Доступны следующие варианты поиска:
- Поиск значений, введенных через пробел
Например: стул большой. Будут найдены мц в названии которых присутствуют слова "стул" и "большой"

- Поиск значений, введенных через пробел со знаком "-" перед словом
Например: стул -большой. Будут найдены мц в названии которых присутствует слово "стул" отсутствует "большой"

- Поиск точного значения, написанного в кавычках "'"
Например: 'стул большой'. Будут найдены мц в названии которых присутствует словосочетание "стул большой")

При поиске загружает N записей, указанных в настройке, и появляется кнопка с возможностью загрузить следующие N или все остальные

При открытии интерфейса:
- если количество записей в каталоге МЦ превышает N, то список по умолчанию пуст
- если количество записей в каталоге МЦ меньше N или устанавливаются ранее наложенные фильтры, то загружаются первые N записей

Название продукта Название компонента Тип Последняя версия Дата выхода
L_MCUL_MCURES9.1.71.02017-09-28 16:42:29
L_MCUL_MCURES9.1.071.0