чтобы поменять в них шрифт, цвет, и т. д.
Или по другому поменять цвет текста сразу всего таб. документа.
Процедура СписокФоновыхЗаданийПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
Если ДанныеСтроки.СостояниеЗадания = СостояниеФоновогоЗадания.Активно Тогда
ОформлениеСтроки.Шрифт = Новый Шрифт(ШрифтыСтиля.ШрифтТекста,,, Истина);
ИначеЕсли ДанныеСтроки.СостояниеЗадания = СостояниеФоновогоЗадания.Завершено Тогда
ИначеЕсли ДанныеСтроки.СостояниеЗадания = СостояниеФоновогоЗадания.ЗавершеноАварийно Тогда
ОформлениеСтроки.ЦветТекста = Новый Цвет(255, 0, 0);
ИначеЕсли ДанныеСтроки.СостояниеЗадания = СостояниеФоновогоЗадания.Отменено Тогда
ОформлениеСтроки.ЦветТекста = Новый Цвет(128, 128, 128);
КонецЕсли;
Если ДанныеСтроки.Регламентное <> "" Тогда
ОформлениеСтроки.Ячейки[0].Картинка = БиблиотекаКартинок.РегламентноеЗадание;
ОформлениеСтроки.Ячейки[0].ОтображатьКартинку = Истина;
КонецЕсли;
КонецПроцедуры
Например:
ИмяОбласти = "R1C1:R"+Формат(ДокументРезультат.ВысотаТаблицы,"ЧН=; ЧГ=")+"C"+Формат(ДокументРезультат.ШиринаТаблицы,"ЧН=; ЧГ=");
Область = ДокументРезультат.Область(ИмяОбласти);
Область.ГраницаСправа = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 2);
Область.ЦветФона = WebЦвета.Белый;
alex040269, вы ничего не спутали?
Вот навскиду код, который обходит табличный документ. С ячейками я не заморачивался, думаю разберетесь:
Для а = 1 по ТабличныйДокумент.ВысотаТаблицы Цикл
Ячейка = ТабличныйДокумент.Область(а,1,а,1).Текст; // посмотрите описание функции в СП, станет понятно как ячейки перебрать
КонецЦикла;
ИмяОбласти = "R1C1:R"+Формат(ТабДокумент.ВысотаТаблицы,"ЧН=; ЧГ=")+"C"+Формат(ТабДокумент.ШиринаТаблицы,"ЧН=; ЧГ=");
Область = ТабДокумент.Область(ИмяОбласти);
//Область.ГраницаСправа = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 2);
//Область.ЦветФона = WebЦвета.Белый;
Область.ЦветТекста = ВыбранныйЦвет;
Для а = 1 по ТабличныйДокумент.ВысотаТаблицы Цикл
Ячейка = ТабличныйДокумент.Область(а,1,а,1).Текст; // посмотрите описание функции в СП, станет понятно как ячейки перебрать
КонецЦикла;
Для а = 1 по ТабличныйДокумент.ВысотаТаблицы Цикл
Ячейка = ТабличныйДокумент.Область(а,1,а,1).Текст; // посмотрите описание функции в СП, станет понятно как ячейки перебрать
КонецЦикла;
Vofka @ 26.09.12, 9:36
,
буду очень признателен, если укажите как сделать обход ячеек по области и соответствующую проверку на заполнение, а то несколько часов мучаюсь с тем, что закрашиваются строки табличной части намного шире того что надо. Не могу понять в чем дело?
ИмяОбласти = "R19C2:R"+Формат(ТабДокумент.ВысотаТаблицы,"ЧН=; ЧГ=")+"C"+Формат(ТабДокумент.ШиринаТаблицы,"ЧН=; ЧГ=");
Область = ТабДокумент.Область(ИмяОбласти);
Область.ЦветФона = Цвет;
Petre @ Сегодня, 10:22
,
Так их там и нет как таковых.
Проблема решена дублированием области строки и раскрашиванием в самом макете соответствующих ячеек по совету программиста 1с с многолетним стажем. Им же было сказано, что раскрашивание программно не ведет к нужному результату, всегда берется количество ячеек для раскрашивания по максимуму, т. е. хоть в коде и указано ШиринаТаблицы, берется максимальное количество ячеек со всех областей форматирования, и что только дублирование и соответствующее раскрашивание приводит к нужному результату. Всем спасибо.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua