Доброго времени. Хочу в бух 2.0 сделать на форме списка счетов на оплату сделать выделение цветом, как в 3.0, это просто в целях собственной образованности. Но не могу понять как.

Создал в документе реквизит "Оплата", сделал для него перечисления "Оплачен", "Не оплачен", "Оплачен частично".
Затем при записи счета проверяю сумму связанного документа поступления на расчетный счет, если она равна, то соответственно ставится "Оплачен", если сумма меньше, то "Оплачен частично", ну и если нет документа, то "Не оплачен". Все работает, но хотелось бы выделить все это дело цветом, например если оплачен, то цвет текста зеленый, если не оплачен то красный. Как это делается?

В 3.0 есть общий модуль где все это прописано, но в 2.0 такого нет.
Пишут что нужно использовать процедуру "ПриПолученииДанных", но я не понял как ей пользоваться. Просветите, пожалуйста, неграмотного.

Вот код подстановки реквизитов:

```1c
    СуммаПоступления = ПолучитьПоступление(ЭтотОбъект.Ссылка);

    Если СуммаПоступления = ЭтотОбъект.СуммаДокумента Тогда

    ЭтотОбъект.Оплата = Перечисления.ОплатаСчета.Оплачен;

    ИначеЕсли СуммаПоступления < ЭтотОбъект.СуммаДокумента Тогда

    ЭтотОбъект.Оплата = Перечисления.ОплатаСчета.ОплаченЧастично;

    Иначе

    ЭтотОбъект.Оплата = Перечисления.ОплатаСчета.НеОплачен;

    КонецЕсли;
```

```1c
    Функция ПолучитьПоступление(СсылкаНаДокумент)

    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | ПоступлениеНаРасчетныйСчет.Ссылка КАК Поступление,
    | ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.СчетНаОплату.Ссылка,
    | ПоступлениеНаРасчетныйСчет.СуммаДокумента КАК СуммаПоступления
    |ИЗ
    | Документ.ПоступлениеНаРасчетныйСчет.РасшифровкаПлатежа КАК ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеНаРасчетныйСчет КАК ПоступлениеНаРасчетныйСчет
    | ПО ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.Ссылка = ПоступлениеНаРасчетныйСчет.Ссылка
    |ГДЕ
    | ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.СчетНаОплату.Ссылка = &СсылкаНаДокумент
    | И ПоступлениеНаРасчетныйСчет.Проведен = ИСТИНА
    | И ПоступлениеНаРасчетныйСчет.ПометкаУдаления = ЛОЖЬ";
    Запрос.УстановитьПараметр("СсылкаНаДокумент", СсылкаНаДокумент);

    Выборка = Запрос.Выполнить().Выбрать();
    СуммаДок = 0;

    Пока Выборка.Следующий() Цикл
    СуммаДок = СуммаДок + Выборка.СуммаПоступления;
    КонецЦикла;

    Возврат СуммаДок;

    КонецФункции
```
---
Нет. Ты привязываешь событие ПриВыводестроке() к твоему табличному полю.
А 1с сама его позовёт, когда решит порисовать на форме.

А ещё лучше ПриПолученииДанных() использовать. Тормозов меньше будет
---
У тебя список документов-то куда выводится? Вот у этого поля и ищи "ПриПолученииДанных"
---
Можно. Используй

```1c
    ОформлениеСтроки.Ячейки.ИмяКолонки.ЦветТекста = WebЦвета.Зеленый;
```
---
В управляемых формах правой кнопкой мышки на корне формы
выбирай "Свойства" и там в "Условном оформлении" можно много чего настроить.
---
А если не управляемые формы?
---
А в обычных формах в процедуре "ПриВыводеСтроки"

```1c
    Если ДанныеСтроки.Оплата = Перечисления.ОплатаСчета.Оплачен Тогда
    ОформлениеСтроки.ЦветТекста = WebЦвета.Зеленый;
    ОформлениеСтроки.ЦветФона = WebЦвета.СветлоНебесноГолубой;
    ИначеЕсли
    ...
    КонецЕсли;
```

Хочешь цвет текста меняй, хочешь - цвет фона.
---
При получении данных строки условное оформление, правда будет притормаживать, если управляемое тогда 2.
---
вот я на это наткнулся, но не понял как это использовать, а что значит будет притормаживать? Очень сильно?
---
А как это сделать правильно? То есть
У меня есть строка

```1c
    ЭтотОбъект.Оплата = Перечисления.ОплатаСчета.Оплачен;
```

После этого я должен вызвать процедуру ПриВыводеСтроки(Что должно передаваться в параметр оформление строки, и что должно идти в ДанныеСтроки. Вот это я не понимаю.
---
Нет. Ты привязываешь событие ПриВыводестроке() к твоему табличному полю.
А 1с сама его позовёт, когда решит порисовать на форме.

А ещё лучше ПриПолученииДанных() использовать. Тормозов меньше будет
---
Ну у меня тут не таблично поле, а поле ввода в форме списка и там нет такого события. Или я что то не так понял?
---
У тебя список документов-то куда выводится? Вот у этого поля и ищи "ПриПолученииДанных"
---
Спасибо огромное.
---
ну создай еще один столбец (реквизит) - статус оплаты (когда он равен 1) - то есть оплачен, настрой в форме условное оформление, когда между 0 и 1 тогда - частично, 0 - неоплачен - логично ведь
---
Строка красится, а есть возможность красить не строку, а колонки?
---
Можно. Используй

```1c
    ОформлениеСтроки.Ячейки.ИмяКолонки.ЦветТекста = WebЦвета.Зеленый;
```