Имя: Пароль:
1C
1С v8
Оформление колонок таб поля форматом строк таб поля
0 Boudybuilder
 
11.12.13
18:03
Есть таб поле с колонками Колонка1 , Колонка2 , ....

Есть таб поле со строками где я выставляю соответсвия по колонкам:
Номенклатура - Колонка2
Код          - Колонка1

как их раскаршивать?!

При изменении поля я вкурил как , и делаю так :

Процедура НачалоВыбора(Элемент,СтандартнаяОбработка) Экспорт
    
    СписокКолонок = Новый СписокЗначений;
    Для Каждого ТекКолонка Из ТабПоле.Колонки Цикл
        СписокКолонок.Добавить().Представление = ТекКолонка.Заголовок;
    КонецЦикла;
    
    Выбрали = СписокКолонок.ВыбратьЭлемент("Выберите соответствие",);
    
    Если Выбрали <> Неопределено Тогда
        Если Элемент.Значение <> "" Тогда //
            Если ЭлементыФормы.ТабПоле.Колонки.Количество() > 0 Тогда
                Колонка = ЭлементыФормы.ТабПоле.Колонки[Элемент.Значение];
                Если Колонка <> Неопределено Тогда
                    Колонка.ЦветФонаПоля   = WebЦвета.Белый;
                    Колонка.ЦветТекстаПоля = WebЦвета.Черный;
                КонецЕсли;
            КонецЕсли;
        КонецЕсли;
        Элемент.Значение = Выбрали.Представление; //Выбрали соответсвие
        Если ЭлементыФормы.ТабПоле.Колонки.Количество() > 0 Тогда // По выбранному соответсвию найдем колонку и выставим по нему Цвет
            Колонка = ЭлементыФормы.ТабПоле.Колонки[Элемент.Значение];
            Если Колонка <> Неопределено Тогда
                Колонка.ЦветФонаПоля   = Элемент.ЦветФона;
                Колонка.ЦветТекстаПоля = Элемент.ЦветТекста;
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;
    
КонецПроцедуры

Но бывает что загружаю поле с колонками  , а потом загружается поле с соответсвиями... Как перебрать все строки и вытащить форматы и присвоить их колонкам... Не пойму...
1 yurec_k
 
11.12.13
18:39
условное оформление
2 Boudybuilder
 
11.12.13
20:50
(1)У меня обычная форма. Не покатит.

Вот осуществил так...

    
При выборе значения в строке поля соответсвий колонок.

Если Выбрали <> Неопределено Тогда
        Если Элемент.Значение <> "" Тогда //
            Если ЭлементыФормы.ТабПоле.Колонки.Количество() > 0 Тогда
                Колонка = ЭлементыФормы.ТабПоле.Колонки[Элемент.Значение];
                Если Колонка <> Неопределено Тогда
                    Колонка.ЦветФонаПоля   = WebЦвета.Белый;
                    Колонка.ЦветТекстаПоля = WebЦвета.Черный;
                КонецЕсли;
            КонецЕсли;
        КонецЕсли;
        Элемент.Значение = Выбрали.Представление; //Выбрали соответсвие
КонецЕсли;



И


Процедура СоответствиеКолонокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    
    Если ДанныеСтроки.ИмяКолонки = "Наименование" Тогда
        ОформлениеСтроки.ЦветФона = WebЦвета.Аквамарин;
    ИначеЕсли ДанныеСтроки.ИмяКолонки = "Код" Тогда
        ОформлениеСтроки.ЦветФона = WebЦвета.АкварельноСиний;
    ИначеЕсли ДанныеСтроки.ИмяКолонки = "Артикул" Тогда
        ОформлениеСтроки.ЦветФона = WebЦвета.АнтикБелый;
    ИначеЕсли ДанныеСтроки.ИмяКолонки = "Штрихкод" Тогда
        ОформлениеСтроки.ЦветФона = WebЦвета.Бежевый;
    ИначеЕсли ДанныеСтроки.ИмяКолонки = "Цена" Тогда
        ОформлениеСтроки.ЦветФона = WebЦвета.БледноЗолотистый;
    ИначеЕсли ДанныеСтроки.ИмяКолонки = "Ссылка" Тогда
        ОформлениеСтроки.ЦветТекста = WebЦвета.Синий;
    КонецЕсли;
    
    Если ЭлементыФормы.ТабПоле.Колонки.Количество() > 0 Тогда // По выбранному соответсвию найдем колонку и выставим по нему Цвет
        Если НЕ ПустаяСтрока(ДанныеСтроки.КолонкаСоответствия) Тогда
            Колонка = ЭлементыФормы.ТабПоле.Колонки[ДанныеСтроки.КолонкаСоответствия];
            Если Колонка <> Неопределено Тогда
                Колонка.ЦветФонаПоля   = ОформлениеСтроки.ЦветФона;
                Колонка.ЦветТекстаПоля = ОформлениеСтроки.ЦветТекста;
            КонецЕсли;
        КонецЕсли;
         ЭлементыФормы.ТабПоле.ОбновитьСтроки();
    КонецЕсли;
    
    
КонецПроцедуры
3 Boudybuilder
 
11.12.13
20:50
Все работает супер , но как то громоздко , как мне кажется...
4 Boudybuilder
 
11.12.13
20:55
Но тут еще вопрос по ТабПолю

Есть колонка "АртикулНоменклатурыКонтрагента" и колонка "Артикул". Мне надо проверить на равенство этих значений в строках. И если не идентичны , то выделить строку красным цветом... В какое событие засунуть процедуру по сравнению?
5 kosts
 
11.12.13
21:07
ПриВыводеСтроки