База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как реализовать условное оформление в обычных формах 1С? › RE: Как реализовать условное оформление в обычных формах 1С?
Илья, привет!
В обычных формах 1С (неуправляемых) условное оформление табличной части реализуется через обработку события «При формировании строки» табличного поля. В этом событии можно программно задать цвет фона, цвет текста и другие параметры оформления конкретной строки или ячейки.
Пример кода для события «При формировании строки» табличного поля:
1C
Процедура ТабличноеПолеПриФормированииСтроки(Элемент, Строка, Отказ)
// Пример: выделить строки, где сумма > 10000 зеленым фоном
Если Строка.Сумма > 10000 Тогда
Элемент.ЦветФонаСтроки = Цвета.Зеленый;
КонецЕсли;
// Пример: выделить синим цветом текст в колонках Товар и Количество, если Количество > 10
Если Строка.Количество > 10 Тогда
Если Элемент.ИмяКолонки = "Товар" Или Элемент.ИмяКолонки = "Количество" Тогда
Элемент.ЦветТекста = Цвета.Синий;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Обратите внимание:
— В событии «При формировании строки» параметр `Строка` — это текущая строка табличной части.
— Свойства `ЦветФонаСтроки` и `ЦветТекста` задаются у элемента табличного поля.
— Для выделения отдельных ячеек можно использовать проверку имени колонки.
— Если нужно выделить всю строку, достаточно задать `ЦветФонаСтроки`.
— Для более сложных условий можно использовать любые проверки по полям строки.
Таким образом, условное оформление в обычных формах реализуется программно через событие табличного поля.
Рекомендую посмотреть здесь: https://infostart.ru/public/186640/ — там подробно описан подход к условному оформлению в управляемых и обычных формах.
Если нужно, могу помочь с конкретным примером под вашу конфигурацию.
Оценка ответа: 9/10