Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Установить цвет текста в таблице
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
Vofka
Привет!
Как устаноить цвет текста в ячейке таблицы?
Окончательный вариант (который не работает, но на который хотябы не ругается система):

Пока Док.ПолучитьДокумент() = 1 Цикл
                              // .....
            текСекц = Таб.ПолучитьСекцию("Документ");
            текОбл = текСекц.Область("R10C4");
            Если Проведен = "да" Тогда
                текОбл.ЦветТекста(Зеленый);
                текОбл.Полужирный(1);
            Иначе
                текОбл.ЦветФона(Красный);
            КонецЕсли;
            Таб.ВывестиСекцию("Документ");
                              // .....
КонецЦикла;


В одном стандартном отчете это делается так:

текСекц = Т.ПолучитьСекцию("Счет");
            текОбл = текСекц.ОсталосьСчет;
            Если ПустоеЗначение(ТаблЗапрПоРег.Счет) = 1 Тогда
            ИначеЕсли (ОсталосьСНДС < 0) или (ОсталосьНДС < 0) Тогда
                // выписано больше чем требуется - красным
                текОбл.ЦветТекста(Красный);
            ИначеЕсли (ОсталосьСНДС <> 0) или (ОсталосьНДС <> 0) Тогда
                // выписано меньше - зеленым
                текОбл.ЦветТекста(Зеленый);
            КонецЕсли;
            Т.ВывестиСекцию(текСекц);


Но я не могу понять что такое "ОсталосьСчет".
Batchir
Пробуй раскрасить после вывода строки

Пока Док.ПолучитьДокумент() = 1 Цикл
            // .....
            текСекц = Таб.ПолучитьСекцию("Документ");
            текОбл = текСекц.Область("R10C4");
            Таб.ВывестиСекцию("Документ");
            Если Проведен = "да" Тогда
                текОбл.ЦветТекста(Зеленый);
                текОбл.Полужирный(1);
            Иначе
                текОбл.ЦветФона(Красный);
            КонецЕсли;
            // .....
КонецЦикла;
Vofka
Результат прежний (выводит не раскрашеный текст)
Batchir
А если попробывать вывести секцию, потом получить её область и раскрасить?
Таб.ВывестиСекцию("Документ");
ВысТабл = Таб.ВысотаТаблицы();
текОбл = Таб.Область("R"+ВысТабл+"C4");
текОбл.ЦветФона(255,0,0);
Vofka
текСекц = Таб.ПолучитьСекцию("Документ");
Таб.ВывестиСекцию(текСекц);
текОбл = текСекц.Область("R10C4");
текОбл.ЦветФона(Зеленый);


Не работает sad.gif

И кто-то может сказать, что такое "ОсталосьСчет" (из 1-го поста)?
Zaval
Цитата(Vofka @ 19.05.10, 14:33) необходимо зарегистрироваться для просмотра ссылки
И кто-то может сказать, что такое "ОсталосьСчет" (из 1-го поста)?



Область секции. Обратиться таким образом можно только по имени.
Велика сила СПsmile.gif
Vofka
Zaval,
Т.е. в моем случае, я понимаю, это выглядит так:
текСекц = Таб.ПолучитьСекцию("Документ");
текОбл = текСекц.R10C4;


Если да, то ты ошибаешься, т.к. 1С ругается на строчку "текОбл = текСекц.R10C4": ...не обнаружен агрегатный объект...
Zaval
По имени
Выдели область, Таблица - Имена, обзови как-нибудь - Присвоить. По адресу не работает.
Vofka
Zaval, оно smile.gif
dmiter
Цитата
Не знаю чего не работает?
текСекц = Таб.ПолучитьСекцию("Документ");
Таб.ВывестиСекцию(текСекц);
текОбл = текСекц.Область("R10C4");
текОбл.ЦветФона(Зеленый);


Не работает sad.gif

И кто-то может сказать, что такое "ОсталосьСчет" (из 1-го поста)?


Но я делаю так: (для меня проще)
Таб.ВывестиСекцию("Документ");
лНомерСтрокиТаблицы=Таб.ВысотаТаблицы();
Таб.Область(лНомерСтрокиТаблицы,4,лНомерСтрокиТаблицы,4).ЦветФона(Зеленый);
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.