![]() |
|
УсловноеОформление - заполнение списка | ☑ | ||
---|---|---|---|---|
0
mulder_mulder
09.07.15
✎
18:59
|
Добрый день.
Пришлось разукрашивать таблицу. В итоге,в общем, надо забить в условное оформление порядка 180 строк, плюс в каждой, записи ещё изменить порядка 9 параметров. Причём, людям может не понравится цвет, или условие, и придётся В РУЧНУЮ менять эти горы, что не свойственно современным требованиям. Встал вопрос заполнения списка "УсловноеОформление". Дата так, что бы этот список остался в конфигкрации, а не исчез после закрытия программы. Как и чем его заполнить, мне известно, а вот как достучаться до списка конфигурации, не знаю. За ранее благодарен. |
|||
1
Лодырь
09.07.15
✎
19:00
|
делай програмно
|
|||
2
mulder_mulder
09.07.15
✎
19:01
|
Да, так-же не желательно, каждый раз его создавать при открытии формы.
|
|||
3
mulder_mulder
09.07.15
✎
19:02
|
Я и хочу программно. Но мне не дадут сохранить данные а форму на будущее. (1)
|
|||
4
Лодырь
09.07.15
✎
19:03
|
(2) почему нежелательно?
|
|||
5
Casey1984
09.07.15
✎
19:08
|
(0) а не может один человек сказать "хочу зелёный", а другой "даёшь фиолетовый в крапинку"?
|
|||
6
mulder_mulder
09.07.15
✎
19:10
|
Потому что хочется иметь как можно меньше рукописного кода.
Хочу просто заполнить справочник, и к этому касаться. (4) (5) Да, так и будет. Завтра они захотят всё на оборот, или шрифт другой. ) |
|||
7
mulder_mulder
09.07.15
✎
19:10
|
(5) Чего бы мне взбрело в голову, разукрашивать таблицу всеми цветами радуги :)
|
|||
8
mulder_mulder
09.07.15
✎
19:11
|
(4) Значит нельзя программно изменить списки формы?
|
|||
9
Casey1984
09.07.15
✎
19:13
|
(8) почему нельзя?
|
|||
10
mulder_mulder
09.07.15
✎
19:17
|
(9) И как?
|
|||
11
mulder_mulder
09.07.15
✎
19:27
|
В том и проблема, что никак не сделать.
Ладно, будем делать программно, и создавать каждый раз заново. |
|||
12
Лодырь
09.07.15
✎
19:40
|
(11) Настрой 1 раз руками и запиши результат куданибудь (например в XML и запихни в хранилище). Потом восстанавливай когда нужно. Ну или ты можешь развлечься выгрузкой конфы в файлы, посмотреть на них внимательно, сгенерировать кусок файла с УО и заменить руками. Потом собрать конфу заново.
|
|||
13
mulder_mulder
09.07.15
✎
21:35
|
(12) Понятно, интересно, но сложновато пока для меня это. :)
Решил создавать правила каждый раз при создании формы. Что я делаю не так? Функция СоздатьПравилаУсловногоОфрмленияДляФормы() УФ = Этаформа.УсловноеОформление; уф.Элементы.Добавить(); уф1 = уф.Элементы.Получить(уф.Элементы.Количество()-1); уф1.Оформление.УстановитьЗначениеПараметра("цветФона", "255,0,0"); уф1.Оформление.УстановитьЗначениеПараметра("цветФона", "255,0,0"); ЭлементОтбора = уф1.Отбор.Элементы.Добавить(тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных ("этаформа.Таблица53хНедельногоГрафика.Нед1"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Содержит; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = "<<Завершено>>"; уф1.Поля.Элементы.Добавить(); уф1.Поля.ПолучитьОбъектПоИдентификатору(0).Поле = "нед1"; уф1.Поля.ПолучитьОбъектПоИдентификатору(0); КонецФункции // СоздатьПравилаУсловногоОфрмленияДляФормы() В последник трёх строчках пока ошибка. как мне правильно добавить поле, которое является колонкой в таблице под именем "нед1".? |
|||
14
mulder_mulder
09.07.15
✎
22:11
|
Нашёл в чём была ошибка. Но всё равно не работает. Не окрашивает.
ОформляемоеПоле = уф1.Поля.Элементы.Добавить(); //ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("Нед1"); |
|||
15
mulder_mulder
09.07.15
✎
22:39
|
Уже сделал по: http://catalog.mista.ru/public/181336/
Всё правильно, ни на что не ругается. ЭлементОформления = этаформа.УсловноеОформление.Элементы.Добавить(); // Установка значения элемента УО ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Красный); ЭлементОформления.Использование = Истина; // Создаем условие отбора ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("этаформа.Таблица53хНедельногоГрафика.Нед1"); // имя поля ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Содержит; // либо задаем свой //**** Значение для отбора ЭлементОтбора.ПравоеЗначение = "1"; ЭлементОтбора.Использование = Истина; //Добавим поля оформления, если ничего не добавлять, то система применит оформления ко всей строке: // Создаем поля оформления ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить(); ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("Таблица53хНедельногоГрафика.нед1"); ПолеОформления.Использование = Истина; А всё равно не закрашивает квадрат. |
|||
16
mulder_mulder
09.07.15
✎
23:59
|
В общем, вот так будет правильно.
Я забыл разрешить правилу работать, плюс конфигуратор заглючил. Мучился, мучился, Выбило ошибку, перезапустил прорамму - заработало. Первый раз такое. ЭлементОформления = УсловноеОформление.Элементы.Добавить(); ЭлементОформления.Использование = Истина; // Установка значения элемента УО ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Красный); ЭлементОформления.Использование = Истина; // Создаем условие отбора ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Таблица53хНедельногоГрафика.нед1"); // имя поля ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; // либо задаем свой ЭлементОтбора.ПравоеЗначение = "1"; ЭлементОтбора.Использование = Истина; //Добавим поля оформления, если ничего не добавлять, то система применит оформления ко всей строке: // Создаем поля оформления ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить(); ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("Нед1"); ПолеОформления.Использование = Истина; |
|||
17
mulder_mulder
10.07.15
✎
14:07
|
Продолжаем тему.
А как созданный список правил экспортировать в хранилище, а потом его применять из хранилища к таблицам? А то при генерации окна происходит более 175 вызовов сервера, что нагружает сильно. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |