Имя: Пароль:
1C
1С v8
Раскрасить строку ТП при изменении данных программно
0 Альбатрос
 
27.03.14
11:01
Соббсно, сабж. Как сделать при выводе строки я в курсе.

Изменяю данные ТЗ обработки, хочу раскрасить строки ТП при этом изменении:

    Для н = 0 По МассивСтрок.Количество() - 1 цикл
        МассивСтрок[н].РасходРеал = МассивСтрок[н].ОстНач+МассивСтрок[н].ПриходПост+МассивСтрок[н].ВозвратПост;
        МассивСтрок[н].РасходИтог = МассивСтрок[н].РасходРеал+МассивСтрок[н].РасходВозвр;
        МассивСтрок[н].ОстКон = 0;
// вот тут хотелось бы раскрасить
    КонецЦикла;

Как это сделать?
1 Ёпрст
 
27.03.14
11:10
в ПриПолученииДанных крась.. делов то
2 Альбатрос
 
27.03.14
11:10
Что-то все молчат ))) я думал вопрос прост.
Поясню: МассивСтрок хранит ссылки на строки ТЗ обработки. Как видно из кода, я меняю значения в этих строках. Как мне определить эту же строку в ТП и раскрасить ее? Может, какое предопределенное событие можно поймать и там к оформлению строки обратиться?
3 Альбатрос
 
27.03.14
11:11
(1) Строк много. Тормозить не будет?
4 mortal
 
27.03.14
11:14
>>хочу раскрасить строки ТП

мдя... только я об этом подумал? ;)..
5 Альбатрос
 
27.03.14
11:15
(1) Не, не канает. Нужно раскрашивать только по коду из (0)
6 Альбатрос
 
27.03.14
11:16
(4) Это все ваше интернет влияние ))))
7 ДенисЧ
 
27.03.14
11:17
(5) А 1с плевать на то, что тебе нужно :-)
8 Альбатрос
 
27.03.14
11:18
(7) То есть не получится?
9 Ёпрст
 
27.03.14
11:18
(3) не будет
10 Ёпрст
 
27.03.14
11:19
(8) получится.
Не вижу препятствий красить строки в ПриПолученииДанных.
11 Ёпрст
 
27.03.14
11:20
свои "крашенные" строки можешь хранить где угодно в переменной, в ПриПолученииДанных - красить их, если они выводятся в этот момент на экранчике.. усё.
12 Альбатрос
 
27.03.14
11:22
(11) Да, так проканает наверное. Ща попробую.
13 Альбатрос
 
27.03.14
11:52
(11) Мля, чота не выходит. Пробую так:
Процедура ОсновнаяПриПолученииДанных(Элемент, ОформленияСтрок)
    Если МассивЗеленых.Найти(Элемент.ТекущаяСТрока) <> Неопределено тогда
        ОформлениеСтроки = ОформленияСтрок.Получить(Элемент.ТекущиеДанные.НомерСтроки-1);
        ОформлениеСтроки.ЦветФона = Новый Цвет(154,205,50);
    КонецЕсли;
КонецПроцедуры
14 Альбатрос
 
27.03.14
11:53
МассивЗеленых содердит ссылки на строки ТЗ
15 Альбатрос
 
27.03.14
11:55
{Форма.Форма.Форма(409)}: Ошибка при вызове метода контекста (Получить)
        ОформлениеСтроки = ОформленияСтрок.Получить(Элемент.ТекущиеДанные.НомерСтроки);
по причине:
Значение индекса выходит за границы диапазона
16 1dvd
 
27.03.14
11:56
(13)

Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
17 Альбатрос
 
27.03.14
11:58
(16) Так проблема еще в том, что:
МассивЗеленых.Найти(Элемент.ТекущаяСТрока)
Всегда возвращает 0. А не должен так то.
18 Альбатрос
 
27.03.14
12:03
Так попробовал:

    Если МассивЗеленых.Найти(Элемент.ТекущиеДанные) <> Неопределено тогда
        Для каждого ОформлениеСтроки из ОформленияСТрок цикл
            Если ОформлениеСТроки.ДанныеСТроки = Элемент.ТекущиеДанные тогда
                 ОформлениеСтроки.ЦветФона = Новый Цвет(154,205,50);
            КонецЕсли;    
    КонецЦикла;
    КонецЕсли;
19 Альбатрос
 
27.03.14
12:03
Теперь цвет фона устанавливается на нужную строку, но тут же сбрасывается, если я , к примеру, щелкну на другую строку
20 Альбатрос
 
27.03.14
12:05
(19) Поправочка. если я прокручу, чтоб строка скрылась из вида и обратно на нее вернусь
21 Альбатрос
 
27.03.14
12:13
(11) (16) Спасибо, победил:

    Для каждого ОформлениеСтроки из ОформленияСТрок цикл
        Если МассивЗеленых.Найти(ОформлениеСТроки.ДанныеСТроки) <> Неопределено тогда
            ОформлениеСтроки.ЦветФона = Новый Цвет(154,205,50);
        КонецЕсли;    
    КонецЦикла;