![]() |
|
Условное оформление | ☑ | ||
---|---|---|---|---|
0
Начинающий_13
19.08.20
✎
09:52
|
Здравствуйте.
График работы Оформляю ТЧ документа. Когда один месяц все красит правильно, когда больше месяцев, частично правильно. Где намудрил? Не вижу ошибки? &НаСервере Процедура ОформитьГрафикРаботыСервер() ПредпраздничныйДень = ЦветаСтиля.маЦветДеньНеделиПредпраздничныйДень; ПраздничныйДень = ЦветаСтиля.маЦветДеньНеделиПраздничныйДень; РабочийДень = ЦветаСтиля.маЦветДеньНеделиРабочийДень; НерабочийДень = ЦветаСтиля.маЦветДеньНеделиНерабочийДень; ВыходнойДень = ЦветаСтиля.маЦветДеньНеделиВыходнойДень; ////очищаем ранее назначенные элементы оформления УсловноеОформление.Элементы.Очистить(); СтруктураКолонкиИмена = Новый Структура; СтруктураКолонкиИменаНеУчаствуют = Новый Структура; ТаблицаДанныеГрафикаРаботы = Объект.ДанныеГрафикаРаботы.Выгрузить(); Для каждого Колонка Из ТаблицаДанныеГрафикаРаботы.Колонки Цикл Для каждого СтрокаТаблицы Из ТаблицаДанныеГрафикаРаботы Цикл Для ДеньЧисло = 1 По СтрокаТаблицы.МесяцКоличествоДней Цикл Если Колонка.Имя = "ВидДня"+СокрЛП(ДеньЧисло) Тогда //КолонкиИмена.Добавить(Колонка.Имя); СтруктураКолонкиИмена.Вставить(Колонка.Имя, СтрокаТаблицы["ВидДня"+ДеньЧисло] ); КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; Для каждого КолонкаИмя Из СтруктураКолонкиИмена Цикл //// Структура //добавляем новый элемент условного оформления ЭлементУО = УсловноеОформление.Элементы.Добавить(); ////устанавливаем само оформление //ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФона", ПредпраздничныйДень); Для каждого СтрокаТаблицы Из ТаблицаДанныеГрафикаРаботы Цикл Для ДеньЧисло = 1 По СтрокаТаблицы.МесяцКоличествоДней Цикл Если СтрокаТаблицы["ВидДня"+ДеньЧисло]= Перечисления.ВидыДнейПроизводственногоКалендаря.Предпраздничный и КолонкаИмя.Значение = Перечисления.ВидыДнейПроизводственногоКалендаря.Предпраздничный Тогда ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФона", ПредпраздничныйДень); ИначеЕсли СтрокаТаблицы["ВидДня"+ДеньЧисло]= Перечисления.ВидыДнейПроизводственногоКалендаря.Праздник И КолонкаИмя.Значение = Перечисления.ВидыДнейПроизводственногоКалендаря.Праздник Тогда ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФона", ПраздничныйДень); ИначеЕсли СтрокаТаблицы["ВидДня"+ДеньЧисло]= Перечисления.ВидыДнейПроизводственногоКалендаря.Рабочий И КолонкаИмя.Значение = Перечисления.ВидыДнейПроизводственногоКалендаря.Рабочий Тогда ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФона", РабочийДень); ИначеЕсли СтрокаТаблицы["ВидДня"+ДеньЧисло]= Перечисления.ВидыДнейПроизводственногоКалендаря.Суббота И КолонкаИмя.Значение = Перечисления.ВидыДнейПроизводственногоКалендаря.Суббота Тогда ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФона", ВыходнойДень); ИначеЕсли СтрокаТаблицы["ВидДня"+ДеньЧисло]= Перечисления.ВидыДнейПроизводственногоКалендаря.Воскресенье И КолонкаИмя.Значение = Перечисления.ВидыДнейПроизводственногоКалендаря.Воскресенье Тогда ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФона", ВыходнойДень); ИначеЕсли СтрокаТаблицы["ВидДня"+ДеньЧисло]= Перечисления.ВидыДнейПроизводственногоКалендаря.Нерабочий И КолонкаИмя.Значение = Перечисления.ВидыДнейПроизводственногоКалендаря.Нерабочий Тогда ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФона", ВыходнойДень); КонецЕсли; КонецЦикла; КонецЦикла; //добавляем условие ЭлементУсловия = ЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); //что сравниваем //ЭлементУсловия.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДанныеГрафикаРаботы."+КолонкаИмя.Ключ); ЭлементУсловия.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(КолонкаИмя.Ключ); //как сравниваем ЭлементУсловия.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; //с чем сравниваем ЭлементУсловия.ПравоеЗначение = Новый ПолеКомпоновкиДанных("ДанныеГрафикаРаботы."+КолонкаИмя.Ключ); //ЭлементУсловия.ПравоеЗначение = Новый ПолеКомпоновкиДанных(КолонкаИмя.Ключ); //оформляемые поля ОформляемоеПоле = ЭлементУО.Поля.Элементы.Добавить(); ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("ДанныеГрафикаРаботы"+КолонкаИмя.Ключ); КонецЦикла; КонецПроцедуры |
|||
1
Волшебник
19.08.20
✎
10:03
|
Нужно устанавливать оформление всегда, а не только по условию
|
|||
2
Начинающий_13
19.08.20
✎
10:08
|
Подробней... Я разные обходы порядки и при исполнении условий все оформления вроде ставил. Не получается
|
|||
3
Жан Пердежон
19.08.20
✎
11:00
|
предлагаешь по коду догадываться, что у тебя в строках, а что в колонках?
|
|||
4
Жан Пердежон
19.08.20
✎
11:04
|
если в строках месяца, то и в условии отбор по месяцу должен быть, а у тебя там фигня какая-то бестолковая
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |