|
Изменение текста запроса динамического списка после создания формы | ☑ | ||
---|---|---|---|---|
0
Humandra
15.02.12
✎
14:57
|
Добрый день!
А вот такой вопрос имеется: 1) есть форма списка справочника, у нее есть динамический список с произвольным запросом. 2) есть необходимость, в случае если пользователь в этой форме нажал пару кнопок, фильтровать записи справочника по условию, сформированному при нажатии этих кнопок 3) а если пользователь ничего не нажимал - то показывать все записи 4) при этом отбор наш должен производится не в условии запроса ГДЕ, а посредством ВНУТРЕННЕГО СОЕДИНЕНИЯ с временной таблицей, так как значения для отбора в ней и хранятся, и их может быть достаточно много для того, чтобы отбор В (IN) работал быстро. Лучше было бы просто подменять текст запроса, если кнопки нажаты - подставляем в запрос соединение. Если не нажаты - ничего не подставляем. 5) Структура возвращаемых колонок и основная таблица не изменяются Внимание, вопрос: как реализовать подмену запроса? Как я поняла, есть свойство Список.ТекстЗапроса, доступное для записи. Заменила текст запроса после нажатия на кнопке, вызвала Элементы.Список.Обновить(); Но такое ощущение, что текст запроса не поменялся. Надо еще что-то где-то вызвать, или то что я хочу, вообще не поддерживается динамическими списками? |
|||
1
Humandra
15.02.12
✎
15:10
|
ТекстЗапроса, естественно, меняю в серверной процедуре...
|
|||
2
Fish
15.02.12
✎
15:12
|
||||
3
Humandra
15.02.12
✎
15:12
|
О, блин. Похоже нашла в чем проблема - обновлять надо на клиенте. :) Так вроде почти работает, на запрос правда ругается, но это уже мелочи :)
|
|||
4
Humandra
15.02.12
✎
15:14
|
(2) Не, не то. Там как раз отбор по списку значений, а если в списке значений элементов почти столько же сколько в самой фильтруемой таблице, то отбор В плохо будет работать. А скуль вроде бы не оптимизирует это, кажется.
|
|||
5
Humandra
16.02.12
✎
10:05
|
Рано радовалась.
Заработало на тексте запроса, хоть и измененном, но имеющих те же параметры, что и не измененные текст запроса. А мне надо после открытия формы и определенных действий пользователя - добавить параметр. 1С ругается на новый параметр, мол "Неверный параметр" и "ошибка при получении запроса. :( Опять таки вопрос: это так и должно быть, и 1С не может изменять список параметров динамически, или это я что-то не знаю? |
|||
6
oleg_ma
16.02.12
✎
10:18
|
Добавить в первоначальный вариант запроса нужный параметр, но не использовать в запросе. Лишний параметр 1с переварит:). Затем заменяем текст запроса и используем добавленный параметр:)
|
|||
7
Humandra
16.02.12
✎
10:35
|
При более детальном исследовании, выяснилось, что проблема была даже не в том, что параметр, а в том что этот параметр - ТаблицаЗначений для временной таблицы, а, увы, динамические списки, оказывается, временные таблицы не поддерживают :(((
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |