Имя: Пароль:
1C
1С v8
Получить наложенный фильтр на таблицу значений УФ
0 yanejsh
 
05.08.13
16:02
Есть таблица значений, созданная программно, на форме обработки.
Там у каждой строки есть галочки, отмечена строка или нет.
Пользователь может стандартной комбинацией Ctrl-F наложить поиск-отбор на ТЗ.
как отмечать галочками только то, что заложено в отборе?
Как получить отбор который пользователь установил через Ctrl-F?
1 yanejsh
 
05.08.13
16:17
ап
2 yanejsh
 
06.08.13
00:11
а
3 Либерал
 
06.08.13
00:28
отбор кажется никак... но можно попробовать выделить все отобранные строки через Ctrl-A, а их уже можно получить массивом и расставить галочки
4 Dethmont
 
06.08.13
01:06
Для Сч=0 По Таблица.Количество()-1 Цикл
   Если Элементы.Таблица.ПроверитьСтроку(Таблица[сч]) Тогда
      МожноСтавитьГалку = Истина;
   КонецЕсли;
КонецЦикла;
5 yanejsh
 
06.08.13
09:30
У таблицыФормы нет метода Количество()
Как перебрать строки у таблицыформы?
6 mzelensky
 
06.08.13
09:42
(5) Что в твоем понимании "Таблица формы" ? И как ты к ней обращаешься?!
7 yanejsh
 
06.08.13
09:48
>Что в твоем понимании "Таблица формы" ?
ну это же тип такой есть: "ТаблицаФормы". У нее есть метод ПроверитьСтроку(<Строка>)
Он меня наверное устроил бы.
Если удалось как-то добраться до строки.

Обращаюсь так
Этаформа.Элементы.ГруппаЗакладок.ТекущаяСтраница.ПодчиненныеЭлементы[ИмяТаблицы]
8 mzelensky
 
06.08.13
09:52
(7) "Этаформа.Элементы.ГруппаЗакладок.ТекущаяСтраница.ПодчиненныеЭлементы[ИмяТаблицы]" - жесть...

И либо я совсем отстал от жизни, либо нет такого типа "ТаблицаФормы".
9 yanejsh
 
06.08.13
09:56
ТаблицаФормы (FormTable)
Свойства:


Методы:

ДанныеСтроки (RowData)
ДобавитьСтроку (AddRow)
ЗакончитьРедактированиеСтроки (EndEditRow)
ИзменитьСтроку (ChangeRow)
Обновить (Refresh)
ПолучитьДействие (GetAction)
ПроверитьСтроку (CheckRow)
Развернут (Expanded)
Развернуть (Expand)
Свернуть (Collapse)
СкопироватьСтроку (CopyRow)
УстановитьДействие (SetAction)

События:

Описание:

Элемент управляемой формы, предназначенный для отображения и редактирования реквизитов формы табличных типов.

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

Тонкий клиент, веб-клиент, сервер, толстый клиент.
10 George Wheels
 
06.08.13
10:07
(9) ТаблицаФормы это элемент формы. У него есть ПутьКДанным. А это твоя ТаблицаЗначений. У ТаблицыЗначений есть метод Количество().
11 mzelensky
 
06.08.13
10:26
(10) во-во, о чем я и говорю. Работать нуна через данные, а не элементы форм.
12 yanejsh
 
06.08.13
10:33
(11) как получить наложенный отбор? см (0)
13 yanejsh
 
06.08.13
10:44
(10) это конечно я могу получить
Но получить строку таблицыФормы, даже зная ее номер - я не могу
14 George Wheels
 
06.08.13
10:51
(13) Количество() из таблицы значений даст количество строк в ТаблицеФормы. Далее идешь по ТаблицеФормы и меняешь Оформление.
15 yanejsh
 
06.08.13
10:55
>идешь по ТаблицеФормы
как?
16 George Wheels
 
06.08.13
11:28
Вот вариант (не того, что я писал выше).


Поменять цвет поля в зависимости от условия.

УсловноеОформление.Элементы.Очистить();

ЭлементУО = УсловноеОформление.Элементы.Добавить();
ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.ЗеленаяЛужайка); (вместо цвета фона выберешь нужный вариант)

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

ОформляемоеПоле = ЭлементУО.Поля.Элементы.Добавить();
ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("ТаблицаФормыПоле");