Имя: Пароль:
1C
1С v8
1с 8.2. Управляемые формы. Программно получить отбор, установленный юзером.
,
0 Подводный Таракан
 
13.04.16
09:05
Есть на форме таблица значений. При создании на сервере она заполняется данными. Затем пользователь устанавливает в ней некий отбор. Вопрос - как поймать программно установку данного отбора и как получить таблицу значений уже с установленным отбором?
1 butterbean
 
13.04.16
09:07
кури ОтборСтрок
2 Подводный Таракан
 
13.04.16
09:16
(1) поставил отбор в форме, смотрю отладчиком:
Элементы.СписокПеределов.ОтборСтрок = неопределено
3 Подводный Таракан
 
13.04.16
09:31
ОтборСтрок - это как я понимаю для программной установки отбора, а мне нужно отловить отбор, который установил пользователь в этой таблице значений на форме
4 Ёхан Палыч
 
13.04.16
09:52
Кури Список.Отбор
5 Ёхан Палыч
 
13.04.16
09:54
Для каждого ЭлементОтбора Из Список.Отбор.Элементы Цикл
        Если ЭлементОтбора.Использование Тогда
         ......
        КонецЕсли;
    КонецЦикла;
6 Pro-tone
 
13.04.16
09:57
(0) у тебя скорее всего не таблица значений, а динамический список
7 Подводный Таракан
 
13.04.16
10:00
(6) Нет, у меня именно таблица значений на форме

(4) Это доступно с какого релиза? У меня 8.2.19.116.
8 Ёхан Палыч
 
13.04.16
10:06
(7) это применительно к динамическому списку, а тз не знаю как там...
9 Pro-tone
 
13.04.16
10:07
(7) в УФ не бывает таблицы значений на формах, есть ДанныеФормыКоллекция
10 Подводный Таракан
 
13.04.16
10:15
(9) Да, реквизит - таблица значений, а на форме - ДанныеФормыКоллекция.

Т.е. это только для дин списка получается?
11 Ёхан Палыч
 
13.04.16
10:19
а у ДанныеФормыКоллекция разве есть отбор на форме для пользователя?
12 Pro-tone
 
13.04.16
10:20
(10) Список.Отбор - да, для ДанныеФормыКоллекция - это отбор строк
13 Подводный Таракан
 
13.04.16
10:26
(12) Поле объекта не обнаружено (Отбор)
14 Подводный Таракан
 
13.04.16
10:30
(12) а как использовать отбор строк для ДанныеФормыКоллекция ?
15 Подводный Таракан
 
13.04.16
10:32
При установленном отборе на форме - смотрю в отладчике:
Элементы.СписокПеределов.ОтборСтрок - неопределено.
16 butterbean
 
13.04.16
10:34
(15) интерактивно он видимо не устанавливается, делай свою кнопку для установки ОтборСтрок или изменения самой таблицы значений отображаемой на форме
17 Pro-tone
 
13.04.16
10:34
(15) а что в твоем понятии есть "установленный отбор на форме"? кнопка нажатая какая? так провались отладчиком в ее обработчик. скрин дай! по ходу у тебя обычное приложение подозреваю вообще
18 Подводный Таракан
 
13.04.16
10:49
(17) http://i9.pixs.ru/storage/3/5/8/Skrinotbor_7611909_21524358.png

вот, обыкновенный отбор через "найти". Пользователь встает на колонку и набирает символы
19 Pro-tone
 
13.04.16
11:04
(18) если отбор строк неопределено в этом режиме, то создай поле поиска, пусть юзверь туда вбивает, привяжи к нему отбор строк
20 Drac0
 
13.04.16
11:21
(0) Используй ПроверитьСтроку(), чтобы отсеить те строки, которые не выводятся пользователю (за счет фильтров, отборов, поиска). Но событие ты не отловишь (ЕМНИП, то это событие планируется добавить в будущих релизах).
21 Drac0
 
13.04.16
11:24
+(20) Только учти, что в Веб-клиенте (в тонком и толстом нормально) ПроверитьСтроку() не работает корректно до до релиза 8.3.7.
22 Подводный Таракан
 
13.04.16
12:31
(20) да, вроде то, что нужно. только еще возникла проблема, почему то после установки отборов количество строк в Элементы.СписокПеределов - все время увеличивается...

т.е. если в "СписокПеределов" - постоянно 10 строк, то в "Элементы.СписокПеределов" - строки идут не с 0 по 9, а к примеру с 15 по 24 и т.д. увеличивается если несколько раз отбирать...
23 Drac0
 
13.04.16
13:57
(22) Индекс и Идентификатор строки - это разные вещи. Будь внимателен, где и что выводится. Если перезаполнять таблицу, то идентификаторы будут новые даны строкам.
24 Подводный Таракан
 
13.04.16
14:54
(23) да, так и есть... пришлось извратиться через переменную, которая хранит номер первой строки в элементах.

спасибо всем, кто помогал, особенно Drac0, ответ в (20) натолкнул на правильную идею, а дальше сам доделал.