Имя: Пароль:
1C
 
Поменять цвет текста в ячейке макета
↓ (Волшебник 13.12.2024 12:34)
0 Nivator
 
12.12.24
23:15
Всем здравствуйте!
Подскажите как поменять цвет ячейки в зависимости от условия?
Мой код:
Колонка = 7;
    Пока Колонка <> 9 Цикл                                                          
        Стр = 1;
        Пока Стр <> ВсегоСтрок Цикл
            ОбластьЯчейка = Результат.Область("R" + Стр + "|C" + Колонка);
            Если ОбластьЯчейка.Текст = "Пустой" Тогда
                Результат.Область("R" + Стр + "|C" + Колонка).ЦветТекста= WebЦвета.Черный;
            КонецЕсли;                                                    
            Стр = Стр + 1;
        КонецЦикла;
        Колонка = Колонка + 1;
    КонецЦикла;

Цвет текста не меняется. Что не так делаю?
1 Nivator
 
12.12.24
23:16
(0) Смотрю точкой останова :
Результат.Область("R" + Стр + "|C" + Колонка).ЦветТекста
Значение - стиль: Цвет штампа ЭП Тип - Цвет

Мне получается нужно задавать стиль? А не веб цвет?
2 DrShad
 
12.12.24
23:18
можно я промолчу...
3 Nivator
 
12.12.24
23:21
(2) Ну я только начал, не ругайтесь
4 Nivator
 
12.12.24
23:25
(3) И вообще я сначала в глобальном поиске посмотрел, там так заполняют цвет
ОбластьРасшифровкиЯчейки.ЦветТекста = ЦветТекстаГиперссылки
5 Nivator
 
12.12.24
23:26
(4) Но у меня так тоже не отрабатывает, почему?
6 Nivator
 
12.12.24
23:40
(0) Так тоже никак
Результат.Область("R" + Стр + "|C" + Колонка).ЦветТекста = Новый Цвет(123,234,345);
7 DrShad
 
12.12.24
23:42
а Результат это что вообще?
8 Nivator
 
12.12.24
23:50
(7) ТабличныйДокумент
9 DrShad
 
12.12.24
23:52
(8) ну а где ты хочешь увидеть изменения?
10 Nivator
 
12.12.24
23:58
(9) Это мой отчет ,который выполняется программно без СКД. По условию мне нужно выделять цветом текст.
Получается я нажимаю сформировать и по этому условию

Если ОбластьЯчейка.Текст = "Пустой" Тогда
у меня должны цифры окрасится в мой цвет, желтый
11 DrShad
 
13.12.24
00:00
(10) чукча не читатель, чукча писатель?

еще раз где ты хочешь увидеть изменения?
12 DrShad
 
13.12.24
00:05
подсказываю - табличный документ ты глазами не видишь
13 Nivator
 
13.12.24
00:05
(11) в отчете, в ячейках, в тексте
где ячейка с текстом  "Пустой", их текст красить в желтый
14 Nivator
 
13.12.24
00:06
(12) А что мне тогда красить?
15 DrShad
 
13.12.24
00:07
в отчете на форме у тебя поле табличного документа

совсем другой объект
16 DrShad
 
13.12.24
00:08
(14) воспитание мне не позволит сказать )))
17 Nivator
 
13.12.24
00:14
(15) ну да, но красить то его как?
Я не прошу же чего то сложного. Если знаете подскажите. Все форумы облазил - ответа нет. Сюда пришел уже отчаявшись, так и тут ответа не могу найти(
18 DrShad
 
13.12.24
00:17
есть три варианта:
1. менять цвет в момент добавления области
2. менять ТД до вывода на форму
3. менять поле ТД на форме
19 DrShad
 
13.12.24
00:17
ты же изменил ТД и никому не показал, но хочешь увидеть
20 Nivator
 
13.12.24
00:23
(19) Дело даже не в показать.
Если смотреть отладкой, в этой строке:
Результат.Область("R" + Стр + "|C" + Колонка).ЦветТекста = ЦветаСтиля.ГиперссылкаЦвет;

После ее прохождения цвет не меняется
21 DrShad
 
13.12.24
00:26
как ты создаешь ТД? а то в теме ты вообще собираешься макет менять, который статичен
22 Nivator
 
13.12.24
00:28
(21) Я его не создаю, он на форме
23 DrShad
 
13.12.24
00:29
на форме ПолеТабличногоДокумента
24 Nivator
 
13.12.24
00:33
(23) Ну я создаю только на форме реквизит с типом "ТабличныйДокумент" и его в последствии заполняю
25 Nivator
 
13.12.24
09:33
Кто нибудь может подсказать?
26 Волшебник
 
13.12.24
09:38
Чёрный или жёлтый?
27 Nivator
 
13.12.24
09:56
Результат.Область("R" + Стр + "|C" + Колонка).ЦветТекста = ЦветаСтиля.ГиперссылкаЦвет;

После ее прохождения цвет не меняется в отладке даже
28 Волшебник
 
13.12.24
10:02
Значит тип не совпадает
29 shuhard
 
13.12.24
10:04
(25) легко - используй отладчик (с)
30 Stepashkin
 
13.12.24
10:12
Здравствуйте. Попробуйте поменять ЦветФона.
Результат.Область("R" + Стр + "|C" + Колонка).ЦветФона = WebЦвета.Лосось;
31 Stepashkin
 
13.12.24
10:13
Результат - это у вас что?
32 Nivator
 
13.12.24
12:00
(31) Табличный документ
33 Волшебник
 
13.12.24
12:01
(32) а может поле табличного документа?
34 Nivator
 
13.12.24
12:03
В итоге разобрался, вся проблема была в обращении к области

Сейчас добил код, получилось так:

ВсегоКолонок = Результат.ШиринаТаблицы;
ВсегоСтрок = Результат.ВысотаТаблицы;

Колонка = 6;
Пока Колонка <> ВсегоКолонок Цикл
Стр = 1;
Пока Стр <> ВсегоСтрок Цикл
  ОбластьЯчейка = Результат.Область(Стр, Колонка, Стр, Колонка);
  Если ОбластьЯчейка.Текст = "⁃⁃⁃" Тогда
   ОбластьЯчейка.ЦветТекста = WebЦвета.Черный;
  КонецЕсли;                                                    
  Стр = Стр + 1;
КонецЦикла;
Колонка = Колонка + 1;                          
КонецЦикла;
35 DrShad
 
13.12.24
12:08
(34) вся проблема в описании проблемы
ты же так и не изменил ячейку макета, как хотел в теме
36 Stepashkin
 
13.12.24
12:22
(35) Ага. Хотел менять цвет ячейки, в итоге поменял текст.
37 Stepashkin
 
13.12.24
12:23
(34) ...добил код... бедный код
38 Stepashkin
 
13.12.24
12:25
(32) Тогда может понятливей будет Табличный документ называть ТабДок или ТабличныйДокумент. А то потом хер разбери, что у вас Результат. Может это у вас результат похода на трон в уборной.
39 Волшебник
 
13.12.24
12:34
(34) противоречит (10)

Если ОбластьЯчейка.Текст = "Пустой" Тогда
у меня должны цифры окрасится в мой цвет, желтый
40 Волшебник
 
13.12.24
12:34
(34) Ваш код — говно.