Сообщений в теме: 9
#1
Отправлено 26 Май 2014 - 13:56
Доброго дня. Подскажите, возможно ли реализовать такой умный поиск (или фильтр)? Имеется таблица рейсов с полем связи на таблицу маршрутов, таблица маршрутов связана с таблицей остановок. Как мне вывести список рейсов, указав определенные точки маршрута?
#2
Отправлено 26 Май 2014 - 13:59
Нет, такой возможности в программе нет, поиск идет только по полям самой таблицы.
#3
Отправлено 26 Май 2014 - 16:22
Печально, конечно, но как же мне быть? Я пишу конфигурацию для продажи проездных билетов, нужно выводить доступные рейсы при вводе даты и точек отправления и назначения. Есть идеи каким макаром это сделать? Нужен динамический фильтр с запросом значений. Неужели нет такого механизма?
#4
Отправлено 26 Май 2014 - 17:06
Добавьте вычисляемые поля, в которые будут подтягиваться данные по точкам в зависимости от выбранного маршрута. Других вариантов нет.
#5
Отправлено 26 Май 2014 - 23:06
То ли я не догоняю,то ли вы меня не так поняли. Есть рейс "№1", он ездит по маршруту "A-B-C", где A, B, C это остановки. А человеку нужен билет из точки А в точку В. Поэтому ему нужно куда-то вписать эти точки и нажать кнопку "найти нужные рейсы". Короче говоря, нужен динамический фильтр с запросом значений. Я сделал фильтр в таблице с рейсами:
Резюме. Динамические фильтры это жизненно необходимый для полноценной работы механизм. Лично я жду его появления с большим нетерпением.
Поиск же работает с динамическими данными, но не может делать запросы к другим таблицам. Фильтр может делать такие запросы, но только с постоянными значениями. Надо как-то совместить.
`Рейс` in (select рейс from ЦЕНЫ where Откуда = 1 and Куда = 2)1 и 2 это id остановок, названия полей привел схематично. Так вот мне нужна возможность задавать откуда и куда при каждом поиске. Я думал в сторону всплывающего окна с запросом, но яваскрипт в режиме таблицы не работает, так что больше вариантов нет.
Резюме. Динамические фильтры это жизненно необходимый для полноценной работы механизм. Лично я жду его появления с большим нетерпением.
Поиск же работает с динамическими данными, но не может делать запросы к другим таблицам. Фильтр может делать такие запросы, но только с постоянными значениями. Надо как-то совместить.
#6
Отправлено 27 Май 2014 - 09:26
Что вы подразумеваете под динамическими фильтрами, не совсем понял? В чем разница с существующими фильтрами?
Что касается точек в поиске через вычисляемые поля: можно вывести список всех точек по маршруту в вычисляемое поле через перевод строки к примеру, и искать по ним через "содержит". Соглашусь, что это не совсем идеальный вариант, но лучше чем ничего. А лучше всего (на данный момент) сделать отдельное свое представление с формой поиска по точкам и выводить данные поиска там. Недостаток - то что потребует программирования и небольшой верстки, но зато работать будет именно так как вам надо.
Что касается точек в поиске через вычисляемые поля: можно вывести список всех точек по маршруту в вычисляемое поле через перевод строки к примеру, и искать по ним через "содержит". Соглашусь, что это не совсем идеальный вариант, но лучше чем ничего. А лучше всего (на данный момент) сделать отдельное свое представление с формой поиска по точкам и выводить данные поиска там. Недостаток - то что потребует программирования и небольшой верстки, но зато работать будет именно так как вам надо.
#7
Отправлено 27 Май 2014 - 10:54
CbCoder (27 Май 2014 - 09:26) писал:
Что вы подразумеваете под динамическими фильтрами, не совсем понял? В чем разница с существующими фильтрами?
`Рейс` in (select рейс from ЦЕНЫ where Откуда = $value1 and Куда = $value2)
#8
Отправлено 27 Май 2014 - 10:56
Что касается отдельной формы поиска через представление, я тоже думал в этом направлении, но мне не хватает материалов для освоения этого дела. Не поделитесь ссылками на примеры? А то в документации довольно скудно об этом написано.
#9
Отправлено 27 Май 2014 - 14:03
Riddick (27 Май 2014 - 10:54) писал:
Разница в том, что в фильтрах задаются постоянные значения полей, а нужно, чтобы пользователь эти значения вводил каждый раз сам, как при поиске. Это и есть динамический фильтр. Например:
`Рейс` in (select рейс from ЦЕНЫ where Откуда = $value1 and Куда = $value2)
`Рейс` in (select рейс from ЦЕНЫ where Откуда = $value1 and Куда = $value2)
Подумаем над этим. Тут загвоздка в том, что это актуально только в случае подобных вложенных (или иных нетривиальных) запросов, а они все таки делаются достаточно редко в КБ, в том числе и потому что требуют знаний SQL (тогда как простой запрос может кто угодно мастером собрать), а в случае простого запроса эти переменные не нужны - для этого есть стандартный поиск. Но сама мысль интересная.
Riddick (27 Май 2014 - 10:56) писал:
Что касается отдельной формы поиска через представление, я тоже думал в этом направлении, но мне не хватает материалов для освоения этого дела. Не поделитесь ссылками на примеры? А то в документации довольно скудно об этом написано.
Примеры есть в отчетах стандартной конфигурации. В целом же в документации информация исчерпывающая, т.к. суть представления - просто ваш свободный код. Если же загвоздка в запросах к БД - информации полно на форуме по ним. Можно также здесь почитать.
#10
Отправлено 05 Июль 2014 - 13:50
Вот в версии 2.0.2 сделали как раз то, о чем я тут писал, поиск по подтаблицам. Для начала вполне неплохо, но на перспективу этот поиск можно сделать не только по подтаблицам, но и по остальным таблицам. Это будет тот случай, когда мы джойним несколько таблиц, задаем условия выборки и выводим нужные поля. Правда в этом случае поля будут одни и те же, т.е. той таблицы, в которой осуществляем поиск.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных













