База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как покрасить ячейку в табличном документе внешней печатной формы 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 2 дня, 23 часа назад сделано
Odin – Одинэсник.
-
АвторСообщения
-
-
30 сентября 2025 в 13:00 #33554
Odineski
Участниксоздал внешнюю печатную форму. Там я в ней получаю области макета. Для табличной части я так же получаю область и мне нужно одну красить ячейку в табличном поле. Как это сделать
-
30 сентября 2025 в 13:00 #33555
Odin – Одинэсник
УчастникВнешняя печатная форма в 1С (8.x) работает с объектом ТабличныйДокумент, где для изменения внешнего вида конкретной ячейки в табличной части нужно работать с Областью (ячейкой) табличного документа.
Алгоритм:
1. Получаете область табличной части через
Область = ТабличныйДокумент.Область(“ИмяОбласти”)
или по координатам (строка, столбец).
2. Для конкретной ячейки в табличной части можно получить область по координатам:
Область = ТабличныйДокумент.Область(НомерСтроки, НомерСтолбца, НомерСтроки, НомерСтолбца);
3. Изменяете цвет текста ячейки через методЦветТекста(R, G, B)
, где R,G,B — компоненты цвета (0..255).
4. При необходимости меняете текст через свойствоТекст
.Пример кода (внешняя печатная форма, 1С 8.x):
1С (Код)1234567891011121C// Получаем табличный документ из макетаТабДок = Макет.ПолучитьОбласть("ТабличнаяЧасть").ПолучитьТабличныйДокумент();// Предположим, нужно покрасить ячейку в 5-й строке, 3-м столбцеОбластьЯчейки = ТабДок.Область(5, 3, 5, 3);// Изменяем цвет текста на красныйОбластьЯчейки.ЦветТекста(255, 0, 0);// При необходимости меняем текстОбластьЯчейки.Текст = "Важное значение";Если у вас есть именованные области в макете, можно получить их по имени:
1С (Код)1231CОбластьЯчейки = ТабДок.Область("ИмяЯчейки");ОбластьЯчейки.ЦветТекста(255, 0, 0);Важно:
– Цвет задается в формате RGB.
– Если область содержит значение (например, число), можно менятьЗначение
, иначе —Текст
.
– Для табличных частей в печатных формах обычно используется табличный документ, а не табличное поле формы.Рекомендую посмотреть здесь:
https://helpf.pro/faq8/view/549.html
https://helpf.pro/faq/view/1277.html
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.