|
Поиск по 4 столбцам одновременно | ☑ | ||
---|---|---|---|---|
0
VSpicy
naïve
11.07.19
✎
15:20
|
Привет всем!
Есть такая (http://prntscr.com/odlie7)табличная часть. Нужно чтоб в поле ввода "Поиск по водителю" можно было одновременно осуществлять поиск водителей по 4 столбцам одновременно. Так мы находим только по столбцу "Водитель №1": Процедура ПоискПоВодителюПриИзменении(Элемент) СписокСтрокНаФорме = ЭтаФорма.Элементы.СоставПлана; Если ЗначениеЗаполнено(ПоискПоВодителю) Тогда СписокСтрокНаФорме.ОтборСтрок = Новый ФиксированнаяСтруктура("Водитель_1", ПоискПоВодителю); Иначе СписокСтрокНаФорме.ОтборСтрок = Неопределено; КонецЕсли; КонецПроцедуры Подскажите пожалуйста как правильно написать поиск по 4 столбцам? Заранее спасибо!!! |
|||
1
arsik
гуру
11.07.19
✎
15:22
|
Динамический список
|
|||
2
VSpicy
naïve
11.07.19
✎
15:25
|
(1) Да.
|
|||
3
VSpicy
naïve
11.07.19
✎
15:30
|
Пример: "Иванов" может быть в 1,2,3 или 4 столбце, причем на разных строчках и не один раз, поэтому тут получается больше как фильтр работать должно...
|
|||
4
Garykom
гуру
11.07.19
✎
15:40
|
Меняйте свою таблицу на более вменяемую.
Например 4-е поле "№ водителя" добавить и линейно вместо этих дурацких столбцов. |
|||
5
Garykom
гуру
11.07.19
✎
15:42
|
Если все же хочется такой изврат, то параметром в запрос для дин.списка, чтобы все столбцы перестраивало
|
|||
6
arsik
гуру
11.07.19
✎
15:47
|
(3) Я конечно не секу в УФ и динамических списках, но сходу вот такой вариант возможен.
https://i.imgur.com/jJYNgiD.png https://i.imgur.com/zffjID4.png дСписок.Параметры.УстановитьЗначениеПараметра("Страна", Справочники.СтраныМира.Россия);
|
|||
7
VSpicy
naïve
11.07.19
✎
15:48
|
(4) К сожалению это уже давно рабочий вариант, просто встал вопрос о поиске (фильтрации) по водителям.
|
|||
8
Garykom
гуру
11.07.19
✎
15:59
|
(7) Сама подумай вот тебе надо отбором показать только Иванова, скрыв прочих.
Иванов только во 2-й колонке, значит в ней будет одно значение а другие все надо удалить. А что делать с другими "колонками"? Удалять или оставлять "не Ивановых"? А учитывая что одна строка это сразу 4 колонки это легкий белый пушистый полярный |
|||
9
Garykom
гуру
11.07.19
✎
16:00
|
(8) *Сам
|
|||
10
ptiz
11.07.19
✎
16:26
|
(0) Формируй сводное поле-строку из наименований всех четырех водителей. Поиск привязывай к ней.
|
|||
11
VSpicy
naïve
11.07.19
✎
16:29
|
(8) Работать должно по методу "ОтборСтрок".
Выбрал "Иванова" - только его и показывать во всех столбцах где он прописан. |
|||
12
VSpicy
naïve
11.07.19
✎
16:33
|
Мне посоветовали сделать 4 поиска отдельно по каждому полю Водитель, а результат вывести в единый массив строк.
Но так как я начинающий кодер, не особо понимаю как это реализовать и что прописать в "Процедуре ПоискПоВодителюПриИзменении"? |
|||
13
VSpicy
naïve
11.07.19
✎
17:00
|
(10) А можно код, для примера?
|
|||
14
ptiz
11.07.19
✎
17:31
|
(13) В запросе сделай поле вида: "ЕСТЬNULL(Водитель1.наименование, "") + ЕСТЬNULL(Водитель2.Наименование, "") ... КАК ВодительДляПоискаНаименование"
|
|||
15
VSpicy
naïve
12.07.19
✎
11:06
|
(11) Значит таким образом не получится...?
Путем отбора строк...? |
|||
16
catena
12.07.19
✎
11:18
|
(15)Почему?
ОтборСтрок (RowFilter) Примечание: При программном изменении табличной части отбор нужно переустанавливать, чтобы для измененных строк отбор отработал. Отбор выполняется по условию вхождения значения. Например, если в колонке есть ячейки со значением "Строка 1", "Строка 2", ... "Строка 10", "Строка 11", ... и устанавливается отбор по значению "Строка 1", то в таблицу будут отобраны строки со значениями "Строка 1", "Строка 10", "Строка 11" и т.д. " |
|||
17
VSpicy
naïve
12.07.19
✎
12:22
|
(16) Это я в курсе - видел в справочнике...
А можно маленький пример: отбор строк через поле "Поиск по водителю" http://prntscr.com/odlie7 |
|||
18
arsik
гуру
12.07.19
✎
12:26
|
(17) Создаешь в отборе группу "ИЛИ". Добавляешь подчиненные Водитель1 = Ссылка, Водитель2 = Ссылка и тд.
|
|||
19
VSpicy
naïve
12.07.19
✎
12:27
|
(18) Это в конфигураторе или режиме предприятие?
|
|||
20
VSpicy
naïve
12.07.19
✎
12:28
|
(18) У меня УФ.
|
|||
21
VSpicy
naïve
12.07.19
✎
13:12
|
(18) Для одного столбца так: СписокСтрокНаФорме.ОтборСтрок = Новый ФиксированнаяСтруктура("Водитель_1", ПоискПоВодителю);
а для 4 столбцов тогда как? |
|||
22
catena
12.07.19
✎
13:22
|
||||
23
VSpicy
naïve
12.07.19
✎
13:37
|
(22) Спасибо большое!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |