ОтборСтрока - отбираем строки по вхождению в наименование.
Для формы создаем условное оформление, где
1. Оформление: Видимость = ЛОЖЬ
2. Условие: (ОтборСтрока Заполнено И <Таблица>.Наименование Не содержит ОтборСтрока)
3. Оформляемые поля: <Таблица>
4. Представление: <Таблица>ВидимостьСтроки
//Этот кусок кода всталяем в конец процедуры при создании на сервере\\
//Заполняем поля услового оформления (каждую колонку таблицы)\\
Для каждого текЭлементУО Из УсловноеОформление.Элементы Цикл
//проверяем, что элемент УО - это установка видимости строки
Если Найти(текЭлементУО.Представление, "ВидимостьСтроки") > 0 Тогда
текЭлементФормы = Элементы[СокрЛП(текЭлементУО.Поля)];
текЭлементУО.Поля.Элементы.Очистить();
ДобавитьПодчиненныеЭлементыДляУО(текЭлементФормы, текЭлементУО);
КонецЕсли;
КонецЦикла;
//ПРОЦЕДУРА ДОБАВЛЯЕТ ПОЛЯ УСЛОВНОГО ОФОРМЛЕНИЯ ДЛЯ ВИДИМОСТИ СТРОКИ\\
Процедура ДобавитьПодчиненныеЭлементыДляУО(ЭлементФормы, ЭлементУО)
Попытка
Для каждого текПодчиненныйЭлемент Из ЭлементФормы.ПодчиненныеЭлементы Цикл
ДобавитьПодчиненныеЭлементыДляУО(текПодчиненныйЭлемент, ЭлементУО);
КонецЦикла;
Исключение
Если ЭлементФормы.Видимость Тогда
ОформляемоеПоле = ЭлементУО.Поля.Элементы.Добавить();
ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(ЭлементФормы.Имя);
КонецЕсли;
КонецПопытки;
КонецПроцедуры
//ЧТОБЫ НЕ БЫЛО СКАЧКОВ ВИДИМОСТИ ПОЛЕЙ ДЕРЕВА, ТЕКУЩУЮ СТРОКУ НАДО СБРАСЫВАТЬ\\
//ВСТАВляем В ПРОЦЕДУРУ "ПРИ ИЗМЕНЕНИИ" УЛОВИЯ ОТБОРА//
Элементы.<Таблица>.ТекущаяСтрока = Неопределено;
Для формы создаем условное оформление, где
1. Оформление: Видимость = ЛОЖЬ
2. Условие: (ОтборСтрока Заполнено И <Таблица>.Наименование Не содержит ОтборСтрока)
3. Оформляемые поля: <Таблица>
4. Представление: <Таблица>ВидимостьСтроки
//Этот кусок кода всталяем в конец процедуры при создании на сервере\\
//Заполняем поля услового оформления (каждую колонку таблицы)\\
Для каждого текЭлементУО Из УсловноеОформление.Элементы Цикл
//проверяем, что элемент УО - это установка видимости строки
Если Найти(текЭлементУО.Представление, "ВидимостьСтроки") > 0 Тогда
текЭлементФормы = Элементы[СокрЛП(текЭлементУО.Поля)];
текЭлементУО.Поля.Элементы.Очистить();
ДобавитьПодчиненныеЭлементыДляУО(текЭлементФормы, текЭлементУО);
КонецЕсли;
КонецЦикла;
//ПРОЦЕДУРА ДОБАВЛЯЕТ ПОЛЯ УСЛОВНОГО ОФОРМЛЕНИЯ ДЛЯ ВИДИМОСТИ СТРОКИ\\
Процедура ДобавитьПодчиненныеЭлементыДляУО(ЭлементФормы, ЭлементУО)
Попытка
Для каждого текПодчиненныйЭлемент Из ЭлементФормы.ПодчиненныеЭлементы Цикл
ДобавитьПодчиненныеЭлементыДляУО(текПодчиненныйЭлемент, ЭлементУО);
КонецЦикла;
Исключение
Если ЭлементФормы.Видимость Тогда
ОформляемоеПоле = ЭлементУО.Поля.Элементы.Добавить();
ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(ЭлементФормы.Имя);
КонецЕсли;
КонецПопытки;
КонецПроцедуры
//ЧТОБЫ НЕ БЫЛО СКАЧКОВ ВИДИМОСТИ ПОЛЕЙ ДЕРЕВА, ТЕКУЩУЮ СТРОКУ НАДО СБРАСЫВАТЬ\\
//ВСТАВляем В ПРОЦЕДУРУ "ПРИ ИЗМЕНЕНИИ" УЛОВИЯ ОТБОРА//
Элементы.<Таблица>.ТекущаяСтрока = Неопределено;
Комментариев нет:
Отправить комментарий