Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Поиск по 4 столбцам одновременно

Поиск по 4 столбцам одновременно
Я
   VSpicy
 
11.07.19 - 15:20
Привет всем!
Есть такая (http://prntscr.com/odlie7)табличная часть.
Нужно чтоб в поле ввода "Поиск по водителю" можно было одновременно осуществлять поиск водителей по 4 столбцам одновременно.
Так мы находим только по столбцу "Водитель №1":
Процедура ПоискПоВодителюПриИзменении(Элемент)
        СписокСтрокНаФорме = ЭтаФорма.Элементы.СоставПлана;
    Если ЗначениеЗаполнено(ПоискПоВодителю) Тогда
        СписокСтрокНаФорме.ОтборСтрок = Новый ФиксированнаяСтруктура("Водитель_1", ПоискПоВодителю);
    Иначе
        СписокСтрокНаФорме.ОтборСтрок = Неопределено;
    КонецЕсли;
КонецПроцедуры

Подскажите пожалуйста как правильно написать поиск по 4 столбцам?
Заранее спасибо!!!
 
 
   arsik
 
1 - 11.07.19 - 15:22
Динамический список
   VSpicy
 
2 - 11.07.19 - 15:25
(1) Да.
   VSpicy
 
3 - 11.07.19 - 15:30
Пример: "Иванов" может быть в 1,2,3 или 4 столбце, причем на разных строчках и не один раз, поэтому тут получается больше как фильтр работать должно...
   Garykom
 
4 - 11.07.19 - 15:40
Меняйте свою таблицу на более вменяемую.
Например 4-е поле "№ водителя" добавить и линейно вместо этих дурацких столбцов.
   Garykom
 
5 - 11.07.19 - 15:42
Если все же хочется такой изврат, то параметром в запрос для дин.списка, чтобы все столбцы перестраивало
   arsik
 
6 - 11.07.19 - 15:47
(3) Я конечно не секу в УФ и динамических списках, но сходу вот такой вариант возможен.
https://i.imgur.com/jJYNgiD.png
https://i.imgur.com/zffjID4.png

дСписок.Параметры.УстановитьЗначениеПараметра("Страна", Справочники.СтраныМира.Россия);
дСписок.Параметры.УстановитьЗначениеПараметра("Родитель", ВыбранныйРодитель);

   VSpicy
 
7 - 11.07.19 - 15:48
(4) К сожалению это уже давно рабочий вариант, просто встал вопрос о поиске (фильтрации) по водителям.
   Garykom
 
8 - 11.07.19 - 15:59
(7) Сама подумай вот тебе надо отбором показать только Иванова, скрыв прочих.
Иванов только во 2-й колонке, значит в ней будет одно значение а другие все надо удалить.

А что делать с другими "колонками"? Удалять или оставлять "не Ивановых"?
А учитывая что одна строка это сразу 4 колонки это легкий белый пушистый полярный
   Garykom
 
9 - 11.07.19 - 16:00
(8) *Сам
   ptiz
 
10 - 11.07.19 - 16:26
(0) Формируй сводное поле-строку из наименований всех четырех водителей. Поиск привязывай к ней.
 
 Рекламное место пустует
   VSpicy
 
11 - 11.07.19 - 16:29
(8) Работать должно по методу "ОтборСтрок".
Выбрал "Иванова" - только его и показывать во всех столбцах где он прописан.
   VSpicy
 
12 - 11.07.19 - 16:33
Мне  посоветовали сделать 4 поиска отдельно по каждому полю Водитель, а результат вывести в единый массив строк.
Но так как я начинающий кодер, не особо понимаю как это реализовать и что прописать в "Процедуре ПоискПоВодителюПриИзменении"?
   VSpicy
 
13 - 11.07.19 - 17:00
(10) А можно код, для примера?
   ptiz
 
14 - 11.07.19 - 17:31
(13) В запросе сделай поле вида: "ЕСТЬNULL(Водитель1.наименование, "") + ЕСТЬNULL(Водитель2.Наименование, "") ... КАК ВодительДляПоискаНаименование"
   VSpicy
 
15 - 12.07.19 - 11:06
(11) Значит таким образом не получится...?
Путем отбора строк...?
   catena
 
16 - 12.07.19 - 11:18
(15)Почему?

ОтборСтрок (RowFilter)
Примечание:
При программном изменении табличной части отбор нужно переустанавливать, чтобы для измененных строк отбор отработал.
Отбор выполняется по условию вхождения значения. Например, если в колонке есть ячейки со значением "Строка 1", "Строка 2", ... "Строка 10", "Строка 11", ... и устанавливается отбор по значению "Строка 1", то в таблицу будут отобраны строки со значениями "Строка 1", "Строка 10", "Строка 11" и т.д. "
   VSpicy
 
17 - 12.07.19 - 12:22
(16) Это я в курсе - видел в справочнике...
А можно маленький пример: отбор строк через поле "Поиск по водителю" http://prntscr.com/odlie7
   arsik
 
18 - 12.07.19 - 12:26
(17) Создаешь в отборе группу "ИЛИ". Добавляешь подчиненные Водитель1 = Ссылка, Водитель2 = Ссылка и тд.
   VSpicy
 
19 - 12.07.19 - 12:27
(18) Это в конфигураторе или режиме предприятие?
   VSpicy
 
20 - 12.07.19 - 12:28
(18) У меня УФ.
   VSpicy
 
21 - 12.07.19 - 13:12
(18) Для одного столбца так:  СписокСтрокНаФорме.ОтборСтрок = Новый ФиксированнаяСтруктура("Водитель_1", ПоискПоВодителю); 
а для 4 столбцов тогда как?
   catena
 
22 - 12.07.19 - 13:22
   VSpicy
 
23 - 12.07.19 - 13:37
(22) Спасибо большое!!!


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует