Имя: Пароль:
1C
 
Проверка Табличного документа
0 Margo95
 
04.10.20
09:41
Добрый день, у меня есть Справочники из которых вся информация попадает в ТЗ, после сортируется, добавляется в макет в нужные поля и выводится, подскажите пожалуйста, как мне после каждого вывода проверять, вывод по строке
в ТЗ 3 строки, 1)юр Адрес, 2) Банк, 3)ДатаСоздания, так же у меня есть 2 константы с типом ссылка на справочник, мне нужно после каждого вывода в Поле табличного документа, Проверить по второй колонке, соответствует ли банк указанному в константе,Если да, то перекрасить все 3 строки(в каждой колонке) в красный цвет, но из-за того, что у меня константа имеет тип Ссылка, то я не совсем понимаю, как мне это реализовать?
1 lodger
 
04.10.20
09:47
значит, надо определить раскраску перед тем как выводить строку в табдок.
2 Margo95
 
04.10.20
09:50
Вот код, который выводит нужные значения в поле табличного документа, но я не совсем все равно понимаю, что мне и куда дописать, чтобы у меня после совпадение Константы.Банки

Окрашивались полностью 3 колонки в  красный цвет


Для каждого эл из ТЗБанки Цикл
        ОбластьСтрока.Параметры.ЮрАдрес = эл.ЮрАдрес;
        ОбластьСтрока.Параметры.Банк = эл.Банк;
        ОбластьСтрока.Параметры.ДатаСоздания = эл.ДатаСоздания;
        ПолеТД.Вывести(ОбластьСтрока);                                
    КонецЦикла;
3 lodger
 
04.10.20
09:57
ЗнаениеКонстантыБанки = "тут ты как то получаешь свои Константы.Банки";
Для каждого эл из ТЗБанки Цикл
        ОбластьСтрока.Параметры.ЮрАдрес = эл.ЮрАдрес;
        ОбластьСтрока.Параметры.Банк = эл.Банк;
        ОбластьСтрока.Параметры.ДатаСоздания = эл.ДатаСоздания;
Если эл.Банк = ЗнаениеКонстантыБанки Тогда
ОбластьСтрока.ЦветФона = WebЦвета.Красный;
Конецесли;
ПолеТД.Вывести(ОбластьСтрока);                                
    КонецЦикла;
4 Margo95
 
04.10.20
10:02
(3) Так я уже пыталась, я сделала Перем КБанки = Константы.Банки.Получить();  в этой переменной у меня хранится банк, который мне нужен, но если я делаю через Если эл.Банк = КБанки, то у меня не будет срабатывать условный оператор, потому что у меня изначально Константа имеет тип СсылкаСправочник.Банки
5 lodger
 
04.10.20
10:04
а эл.Банк это что?
6 Margo95
 
04.10.20
10:05
(5) Данные из колонки "Банк" в ТЗ
7 Margo95
 
04.10.20
10:09
(5) ЮрАдрес , Банк и ДатаСоздания , это 3 колонки в моей ТЗ, я перебором ТЗ, заношу их в нужные поля в макете, но при выводе или добавлении нужного мне банка, который находится в константе (Банки(Тип Ссылка на справочник)), мне нужно окрасить строку в красный цвет
8 Margo95
 
04.10.20
10:16
Получилось сделать так, чтобы находился нужный мне Банк, но теперь ошибка, что Поле объекта не обнаружено (ЦветФона), теперь вопрос, а как мне покрасить нужную строку?
9 Margo95
 
04.10.20
10:27
Есть те кто могут подсказать, как мне в итоге покрасить строку, не зная её области?
10 lodger
 
04.10.20
10:27
(8)
ну тогда
ОбластьСтрока.Область("Строка или как там у тебя область строки называется").ЦветФона = WebЦвета.Красный;
11 lodger
 
04.10.20
10:27
еще как альтернатива
Область(<НомерПервойСтроки>, <НомерПервойКолонки>, <НомерПоследнейСтроки>, <НомерПоследнейКолонки>)
12 Margo95
 
04.10.20
10:32
(10) Область не найдена: Наименование Банка - это ошибка, которую будет выдавать код, после перебора, как дойдёт до нужного мне банка
13 Margo95
 
04.10.20
10:34
(11) такой способ знаю, но к сожалению он мне не подходит, так как я точно не знаю, где именно будет нужный мне банк
14 Margo95
 
04.10.20
10:41
у меня 3 раза встречается это наименование банка, 2 раза в шапке и 1 раз в нужном мне списке отсортированном, но если я пытаюсь сделать через НайтиТекст, то он окрашивает Строку которая находится самая первая, а нужно в табличном документен и также окрасить еще слева и справа на том же уровне
15 Margo95
 
04.10.20
10:49
(10) Ладно, все равно спасибо за помощь, поищу дальше может что-то еще в интернете получится найти
16 lodger
 
04.10.20
11:14
(13) знаешь, в пределах ОбластьСтрока у тебя номер строки =1, а колонки сама в табдоке глянь.
17 Margo95
 
04.10.20
11:59
(16) Не совсем поняла, можно пример пожалуйста? вообще я не могу если честно до сих пор понять, как окрасить строку не только в Колонке Банк, но и в первой и третьей колонке, то-есть чтобы ЮрАдрес - Банк - Дата создания были красного цвета именно на нужном банке
18 Margo95
 
04.10.20
12:03
(16) Потому что если я использую, ОбластьСтрока.Область(1,1), то у меня окрашиваются нужные колонки, но и все остальные, которые находятся ниже
19 RomanYS
 
04.10.20
12:12
(18) Всё правильно. ОбластьСтрока - это кусок макета. Либо ей явно задавать цвет перед каждым выводом, либо красить после вывода уже в результирующем ТД.
20 Cthulhu
 
04.10.20
12:12
(18): перед выводом секции - запоминай цвет фона, после вывода - восстанавливай:
БылЦветФонаСекции = ОбластьСтрока.ЦветФона;
ОбластьСтрока.ЦветФона = WebЦвета.Красный;
Конецесли;
ПолеТД.Вывести(ОбластьСтрока);
ОбластьСтрока.ЦветФона = БылЦветФонаСекции;
21 Margo95
 
04.10.20
14:53
Спасибо за советы, помогло, разобралась
Независимо от того, куда вы едете — это в гору и против ветра!