Динамический отбор по табличной части управляемой формы

1. Sergey_SP 16.12.11 09:51 Сейчас в теме
Добрый день.

Есть табличная часть, в ней есть ключевое поле, как сделать чтобы скажем при нажатии на кнопку или еще по какому событию устанавливался отбор по этому полю?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. SPID 16.12.11 10:14 Сейчас в теме

ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ИмяПоляОтбора");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ЭлементОтбора.ПравоеЗначение = ЗначениеПоляОтбора;
Показать


Возможно еще вначале Вам необходимо очищать отборы
adhocprog; +1 Ответить
9. info1i 223 25.03.14 15:32 Сейчас в теме
(2) SPID, Это для динамического списка, а не для табличной части документа - там этого нет. Если же делать динамический список, заполняющийся запросом из табличной части, тогда придется еще делать отдельно кнопки добавления, редактирования, удаления самой табличной части.
romankoav; adhocprog; +2 Ответить
3. Sergey_SP 16.12.11 11:46 Сейчас в теме
4. 1cUserAndrew 63 16.12.11 16:25 Сейчас в теме
Чет я не совсем понял...
Речь идет о табличной части (документа, например)???
Или о динамическом списке (в форме списка документов, например)???

Попутно возник вопрос: в табличной части (именно в ней) можно ли делать отбор в управляемом приложении???
В обычном, знаю, можно...
5. a_alenkin 16.12.11 18:17 Сейчас в теме
Если нету - могу продать синтакс-помощник

Расширение таблицы формы для табличных частей (Form table extension for tabular sections)
ОтборСтрок (RowFilter)
Использование:

Чтение и запись.
Описание:

Тип: Неопределено; ФиксированнаяСтруктура.
Позволяет установить отбор по значению колонки.
В качестве ключа используется имя реквизита табличной части, а в качестве значения - значение, по которому осуществляется отбор.
Чтобы снять отбор нужно присвоить свойству либо значение Неопределено, либо пустую ФиксированнаяСтруктура.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент.
Изменение свойства на клиенте может потребовать обращения к серверу.
ViteG; 1cUserAndrew; +2 2 Ответить
7. info1i 223 25.03.14 14:49 Сейчас в теме
(5) a_alenkin, ФиксированнаяСтруктура ищет по строке, поэтому результат может быть не совсем верный и ограничен самим типом. Но как сделать отбор, при котором в качестве значения передается список?
6. 1cUserAndrew 63 17.12.11 12:02 Сейчас в теме
Спасибо, просветили!
Попробовал...Отбор и правда устанавливается.
А вот отключить что-то не получилось. Присваивал и "Неопределено", и "Новый ФиксированнаяСтруктура". И на клиенте, и на сервере. Не фурычит.
Ну да ладно.
Если нету - могу продать синтакс-помощник

Спасибо, оказывается, у меня есть :))
adhocprog; +1 Ответить
8. Boneman 298 25.03.14 15:05 Сейчас в теме
(6) 1cUserAndrew,
очистка отбора (подставь свои элементы)
&НаКлиенте
Процедура ОчиститьОтбор(Команда)
	этаформа.Список.Отбор.Элементы.Очистить();
КонецПроцедуры
adhocprog; info1i; +2 Ответить
10. 1cUserAndrew 63 29.03.14 13:56 Сейчас в теме
(8) Boneman, речь шла, во-первых, давно :) Во-вторых, о табличной части, а не о динамическом списке.
Там, видимо, был небольшой косячок в платформе, потому что с выходом новых релизов все исправилось. теперь все ОК, - чтобы отключить отбор, надо свойству "ОтборСтрок" присвоить значение Неопределено. Как, собственно, и написано в синтакс-помощнике :)
11. Tata86 24.08.16 08:02 Сейчас в теме
Хорошо. А как используя отбор строк допустим отобрать значения в списке или не в списке, не равно.
kazakkk; adhocprog; vork27; Ankare; VasilevaHelen; bow; +6 Ответить
14. rinat_alp2 61 07.02.18 12:38 Сейчас в теме
(11) Можно через "Условное оформление" управляемой формы отключить видимость полей строк в табличной части управляемой формы по условиям "в списке" и "не в списке".
adhocprog; nayd; +2 Ответить
12. jmi 2 19.07.17 14:44 Сейчас в теме
Рабочий пример:

Если ОтбиратьСтроки И Элементы.ТипыКонтейнеров.ТекущиеДанные<>Неопределено Тогда    
		Элементы.КонтейнерыФакт.ОтборСтрок = Новый ФиксированнаяСтруктура("ИдентификаторСтроки", Элементы.ТипыКонтейнеров.ТекущиеДанные.ИдентификаторСтроки);
Иначе
	Элементы.КонтейнерыФакт.ОтборСтрок = НЕопределено;
КонецЕсли;
Necronicus360; dimisa; adhocprog; creatermc; user870159; It-developer; +6 Ответить
13. Ivon 674 14.11.17 12:42 Сейчас в теме
(12) Если таким образом отбор делается по нестроковым полям, то все работает отлично. При отборе на строковое поле отбор делается по вхождению строки, а не по равенству. Например, при задании значения отбора 2, мы получим в результате отбора и 2 и 12 и 32.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот