Изменение текста запроса динамического списка после создания формы #595943


#0 by Humandra
Добрый день! А вот такой вопрос имеется: 1) есть форма списка справочника, у нее есть динамический список с произвольным запросом. 2) есть необходимость, в случае если пользователь в этой форме нажал пару кнопок, фильтровать записи справочника по условию, сформированному при нажатии этих кнопок 3) а если пользователь ничего не нажимал - то показывать все записи 4) при этом отбор наш должен производится не в условии запроса ГДЕ, а посредством ВНУТРЕННЕГО СОЕДИНЕНИЯ с временной таблицей, так как значения для отбора в ней и хранятся, и их может быть достаточно много для того, чтобы отбор В (IN) работал быстро. Лучше было бы просто подменять текст запроса, если кнопки нажаты - подставляем в запрос соединение. Если не нажаты - ничего не подставляем. 5) Структура возвращаемых колонок и основная таблица не изменяются Внимание, вопрос: как реализовать подмену запроса? Как я поняла, есть свойство Список.ТекстЗапроса, доступное для записи. Заменила текст запроса после нажатия на кнопке, вызвала Элементы.Список.Обновить; Но такое ощущение, что текст запроса не поменялся. Надо еще что-то где-то вызвать, или то что я хочу, вообще не поддерживается динамическими списками?
#1 by Humandra
ТекстЗапроса, естественно, меняю в серверной процедуре...
#2 by Fish
Не то?
#3 by Humandra
О, блин. Похоже нашла в чем проблема - обновлять надо на клиенте. :) Так вроде почти работает, на запрос правда ругается, но это уже мелочи :)
#4 by Humandra
Не, не то. Там как раз отбор по списку значений, а если в списке значений элементов почти столько же сколько в самой фильтруемой таблице, то отбор В плохо будет работать. А скуль вроде бы не оптимизирует это, кажется.
#5 by Humandra
Рано радовалась. Заработало на тексте запроса, хоть и измененном, но имеющих те же параметры, что и не измененные текст запроса. А мне надо после открытия формы и определенных действий пользователя - добавить параметр. 1С ругается на новый параметр, мол "Неверный параметр" и "ошибка при получении запроса. :( Опять таки вопрос: это так и должно быть, и 1С не может изменять список параметров динамически, или это я что-то не знаю?
#6 by oleg_ma
Добавить в первоначальный вариант запроса нужный параметр, но не использовать в запросе. Лишний параметр 1с переварит:). Затем заменяем текст запроса и используем добавленный параметр:)
#7 by Humandra
При более детальном исследовании, выяснилось, что проблема была даже не в том, что параметр, а в том что этот параметр - ТаблицаЗначений для временной таблицы, а, увы, динамические списки, оказывается, временные таблицы не поддерживают :(((
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С