Имя: Пароль:
1C
1С v8
Как наложить фильтр на справочник?
0 Philipp121995
 
16.05.17
17:30
Есть справочник "ФизЛица". В списке справочника нужно по команде показывать только элементы, у которых в регистре сведений установлено свойство "Плательщик"(булево). (1с 8.3 управляемая форма)
1 Лефмихалыч
 
16.05.17
17:31
Все функции...настройка списка... отбор
2 Лефмихалыч
 
16.05.17
17:32
если включить элемент отбора в пользовательские настройки, то (вероятнее всего) этот элемент прямо на форму списка выведется автоматом
3 Philipp121995
 
16.05.17
17:35
(1) Но как этот отбор связать с регистром сведений? Нужно выводить только те элементы, которые отмечены в регистре.
4 Лефмихалыч
 
16.05.17
17:37
ааа...
без конфигуратора - ни как.
С конфигуратором - добавляешь соединение в запрос динамического списка и отбирай по чём хочешь
5 Philipp121995
 
16.05.17
17:43
(4) Вот именно это я и хотел сделать, но не получилось.
Написал вот так:
Список.ТекстЗапроса = "свой запрос";
Но почему-то он не работает. Похоже что он не заменяет запрос на мой, не пойму что там происходит.
6 Лефмихалыч
 
16.05.17
17:53
(5) не надо это делать кодом. Это надо делать мышью
7 Philipp121995
 
16.05.17
17:57
(6) Как? Мне нужно чтобы по умолчанию отображался весь список, а при нажатии на кнопку показать только результат запроса.
8 Лефмихалыч
 
16.05.17
18:04
(7) ну, так и добавь левое соединение, а не внутреннее, на закладке "Схема компоновки" в конструкторе выключи галку "Обязательное" для таблицы регистра и в выборку по умолчанию поля регистра не добавляй.
9 Philipp121995
 
16.05.17
18:19
(8) Да причем тут левое (внутреннее) соединение? Нельзя что ли по команде полностью изменить запрос, который выводит этот список и вывести все что угодно? И как это сделать? И что происходит при Список.ТекстЗапроса = "Новый(какой угодно) свой запрос")?
10 Philipp121995
 
16.05.17
19:16
(8) Спасибо за ответы. Я понял свою ошибку. Создаю две разные формы списка справочника Теперь другой вопрос: как при нажатии на кнопку открыть вторую форму списка?
11 Philipp121995
 
16.05.17
20:24
Вопрос решен. Сделал так: создал дополнительную форму списка (ФормаСписка1) и изменил запрос его динамического списка нужным образом и добавил измененные запросом реквизиты на форму. Потом из первой формы нажатием кнопки организовал вывод второй формы (ОткрытьФорму("Справочник.ФизическиеЛица.Форма.ФормаСписка1");
12 Лефмихалыч
 
16.05.17
21:01
(9) (10) (11) больше ни когда ни чего не программируй. Пожалуйста. Это не твое.
13 Лефмихалыч
 
16.05.17
21:06
замес левого соединения в том, что тебе не надо ни чего ни где заменять и не нужны ни какие команды - пользователь просто пользуется штатной настройкой списка и настраивает все так, как хочет.
Надо только в конфигураторе открыть форму, открыть палитру свойств динамического списка, включить галку "произвольный запрос" и написать тривиальный запрос, в котором будет соединение справочника с регистром. Основной таблицей динамического списка сделать справочник. В доступные поля компоновки (это в конструкторе запроса делается) добавить всё из справочника и все, что нужно, из регистра.

а не вот это вот всё копрокодище поганое (11) (10). Велосипед, костыли, говно и палки. Фу - так делать.