Табличное поле (источник данных ТЗ) как применить стандартный отбор? #120302


#0 by VVi3ard
Есть форма, на ней ТабличноеПоле в него помещаются данные которые перед этим выбраны запросом: Нужно прикрутить к этому табличному полю стандартный элемент отбора: (отбор по значению в текущей колонке, установить отбор и.т.д.) было бы очень классно не писать кучу запросов, а одним большим, выгрузить в  Табличное поле затем задавать отборы по различным условиям...
#1 by defender1
если ты делаешь это предположим в обработке, тогда просто создай в этой самой обработке табл часть (ТЧ), её выложи на форму, её заполняй, а отбор делай ЭлементыФормы.ТЧ.ОтборСтрок...
#2 by Лошадка
кому в рыло?
#3 by VVi3ard
Лошадка не понял? defender1 Проблема в том что это будет Программное управление фильтром (т.е. мне нужно будет устанавливать разные условия программно). Цель именно в том чтобы такую фишку сделать имено в ТАБЛИЧНОМ ПОЛЕ чтобы пользователь мог отсортировать список как ему надо, легко удалить ненужные строки, и даже изменить существующие данные. т.е. хочется чтобы было так как в "Журнале докментов" и если я в качестве источника данных для табличного поля указываю например регистр то всё нормально фильтры работают, а вот если указываю результаты своего запроса то кнопки фильтра неактивны...
#4 by defender1
так как я описал можно и просто разместить панель связать её с ТЧ и добавить туда стандартную кнопку отбора... и будет как в журнале :-)
#5 by VVi3ard
defender1 Я в 1С новенький поэтому пока путаюсь, хочу уточнить что вы подразумеваете под словом "панель" и что под "ТЧ" ("просто разместить панель связать её с ТЧ") В Design mode мне доступны 2 компонента. 1. Табличное Поле. 2. Поле табличного документа. ещё есть "панель" в которой я указываю компонент в свойстве "Источник действий" В моём случае на форме водержится ТабличноеПоле в котором находятся данные полученые в результате запроса. Я поместил на форму также "Панель" указал как "Источник действий"- "ТабличноеПоле1" Нажал правой кнопкой на "Панели" выбрал "Заполнить значения", на неё появились кнопки сортировки и редактирования. А вот кнопки фильтра не появились. У табличного поля свойство "Тип значения" выставлено в "Таблица значений" Если я в "Тип значения" выбираю отличное от "Таблица значений" (например ставлю "СправочникСписок.Адреса" то естественно  кнопки появляются.
#6 by defender1
Так же как у документов и справочников у обработок и отчетов можно создавать табл части, так вот создаёшь ТЧ и табл поле связываешь не с ТЗ а с этой ТЧ и панель для этого табл поля создаёшь правильно понимаешь, что источник нужно указать... и вот там как раз есть отбор и сортировка...
#7 by VVi3ard
defender1 Спасибо большое получилось. Теперь возникла другая проблема. Где найти отфильтрованный список. т.е. я задал отбор у меня осталось 12 строчек как мне получить доступ к этим строчкам? если я пишу что то типа: КонецЦикла То в не зависимости от того установлен отбор или нет выводится всё содержимое ТЧ.
#8 by defender1
Синтаксис: НайтиСтроки(<Параметры отбора>) Параметры: <Параметры отбора> (обязательный) Тип: Структура. Задает условия поиска: ключ структуры определяет имя колонки, по которой будет осуществляться поиск, а значение структуры - искомое значение. Возвращаемое значение: Тип: Массив. Массив из строк табличной части, соответствующих заданному условию поиска. Замечание! Массив хранит ссылки на строки табличной части, то есть при изменении строки в табличной части, значение в массиве тоже будет изменено. Описание: Осуществляет поиск строк табличной части, соответствующих заданному условию поиска. Примечание: Метод эффективно использовать для выборки неуникальных значений. Пример:
#9 by VVi3ard
Этож что получается всё что я делал практически зря? А я блин губу раскатал... Думаль пользователь отбором сделает всё что ему надо. А я потом по его выборке пробегу и обработаю. А так мне нужно будет получить тот отбор что установил юзер. Получается: ОтфильтрованаяТЧ=ТЧ.НайтиСтроки(ЭлементыФормы.ТП.ОтборСтрок) И потом работать с "ОтфильтрованаяТЧ" оригинально... А может всётаки есть способ добратся к тому что видит юзер у себя на форме в ТП к которому применён отбор? Было бы красивее....
#10 by VVi3ard
ага... ОтфильтрованаяТЧ=ТЧ.НайтиСтроки(ЭлементыФормы.ТП.ОтборСтрок) не работает так как "ЭлементыФормы.ТП.ОтборСтрок" это не "Параметры отбора" а "отбор" Блин неужели руками придётся формировать структуру "параметрыОтбора" основываясь на "Отборе" который ввёл юзер?
#11 by defender1
угу, именно
#12 by VVi3ard
и вообще я щас въехал в НайтиСтроки(ПараметрыОтбора); судя по всему он работает только на = а мне нужно выбирать строки в которых значения >,<,<>, и.т.д. вобщем нашёл у ТП такое свойство. ЭлементыФормы.ТП.ВыделенныеСтроки Если ничего другого не найду то буду перед обработкой выделять все строки потом копировать их в ТЗ и обрабатывать. Но вобще не пойму неужели 1Совцам было сложно добавить к ТП Своство "РезультатОтбора" ведь насколько бы легче было?
#13 by VVi3ard
Блииин... я повешусь! Оказывается у ТП нет метода SelectAll. Нужно "Просить пользователя" чтобы он выделил все строки... а это уже баг... Хотя можнопревратить его в фичу... Точно! напишу в инструкции "Для вашего удобства была введена возможность обработки только выбранных вами строк. Теперь вам не придётся подбирать условия для фильтра, достаточно лишь выбрать из списка Абонентов которых вы хотите обработать!" Эх... пошёл дальше "ваять" Спасибо огромное defender1
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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