Имя: Пароль:
1C
1С v8
Подсветка полей в табличной части
0 d3N4eGG
 
03.01.12
18:55
Добрый День,

Есть две табличные части связанных определённым способом.

Нужно при выборе строки в первой табличной части подсвечивать связанные с ней строки во второй табличной части.

Каким образом можно реализовать подсветку? Именно подсветку! Отбор строк не подходит.

Спасибо.
1 Sereja
 
03.01.12
18:59
В ПриПолученииДанных() изменить ОформлениеСтроки ?
2 d3N4eGG
 
04.01.12
13:20
Оформление строки? Типо ЦветФона или что-то из этого? Тогда он всю колонку расскрашивает.
3 Zolotko
 
04.01.12
13:22
а ты выбирай текущие данные
4 Пришел в тапках
 
04.01.12
13:46
Оформление строки предлагали?
5 d3N4eGG
 
04.01.12
14:51
Можно ли сделать Оформление строки в процедуре ПриАктивизации строки в табличной части?
6 d3N4eGG
 
04.01.12
15:36
Сделал через Условное оформление.
Оно привязано к реквизиту, он у каждой строки в т.ч. разный.
Условное оформление срабатывает только первый раз, когда открываешь базу.

Как обновлять Условное оформление?
7 d3N4eGG
 
04.01.12
16:15
Люди добрые, помогите :D
8 Kreont
 
04.01.12
16:18
Впихни в ПриВыводеСтроки: пример
Процедура НачисленияПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
.....
           Если Выборка.ПричинаИзмененияСостояния = Перечисления.ПричиныИзмененияСостояния.ПриемНаРаботу Тогда
               // Прийом
               ОформлениеСтроки.ЦветФона = Новый Цвет(152, 251, 152);
           ИначеЕсли Выборка.ПричинаИзмененияСостояния = Перечисления.ПричиныИзмененияСостояния.Увольнение Тогда
               // Звільнення
               ОформлениеСтроки.ЦветФона = Новый Цвет(233, 150, 122);
           Иначе
               // Переміщення
               ОформлениеСтроки.ЦветФона = Новый Цвет(238, 232, 170);
           КонецЕсли;
9 d3N4eGG
 
04.01.12
16:24
Делаю на 8.2 - управляемое приложение/управляемая форма. На сколько я понимаю, тут нет ПриВыводеСтроки. Мне нужно при нажатии на строку в одной т.ч. чтоб раскрашивались строки во второй табличной части связанные с первой по GUID.

Сделал через Условное оформление формы, но оформляется только раз при открытии формы.

Как сделать чтоб условное оформление обновлялось ПРИ КАЖДОЙ АКТИВИЗАЦИИ СТРОКИ?
10 Kreont
 
04.01.12
16:30
СписокПриАктивизацииСтроки
не оно?
11 d3N4eGG
 
04.01.12
16:32
ну ка поподробнее :D
12 Kreont
 
04.01.12
16:36
выбери таб.часть первую и подбери нужный обработчик :)
мож все включить и через сообщить(имя самого обработчика) и ищи нужный.
13 sergeante
 
04.01.12
16:59
(9) тебе надо чтобы снова была перепрочитана вторая ТЧ, чтобы сработал обработчик ПриВыводеСтроки. При активизации строки во второй ТЧ устанавливай отбор и тут же отменяй его. Думаю так должно сработать
14 kosts
 
04.01.12
17:05
Может поможет ОбновитьОтображениеДанных()
15 ChAlex
 
04.01.12
17:06
У меня работает Условное оформление вида:

Операции.GUID Содержит Нормы.GUID. (вместо содержит можно было и равно, но уже не помню почему, но когда-то не срабатывало, так и осталось)

Операция и Нормы - 2 таблицы, GUID - колонки в этх таблицах (ключи, по которым связываются таблицы).

Оформляемое поле - ОперацииОперация.


Больше ничего не требуется
16 d3N4eGG
 
04.01.12
17:13
(15) У меня не работает.

Две табличные части:
1) Выставленные счета
2) Оплаченные счета

&НаКлиенте
Процедура ОплаченныеСчетаПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
Если НоваяСтрока тогда
СтрокаТабличнойЧасти = Элементы.ВыставленныеСчета.ТекущиеДанные;
РедактируемаяСтрока  = Элементы.ОплаченныеСчета.ТекущиеДанные;
РедактируемаяСтрока.ИдентификаторДокумента = СтрокаТабличнойЧасти.ИдентификаторДокумента;
КонецЕсли;    
КонецПроцедуры
17 sergeante
 
04.01.12
17:13
(0) ну иле так:

Процедура ТабличнаяЧасть1ПриАктивизацииСтроки(Элемент)
   ЭлементыФормы.ТабличнаяЧасть2.ОбновитьСтроки()
КонецПроцедуры

Процедура ТабличнаяЧасть2ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)

   если ДанныеСтроки тогда
   ОформлениеСтроки.... = ...
   конецесли;

КонецПроцедуры
18 d3N4eGG
 
04.01.12
17:13
блин, не то закинул (16) не читайте :D
19 ChAlex
 
04.01.12
17:18
(16) ну не знаю, я НИКАКИХ манипуляций не делаю. Хоть и есть процедура ПриАктивацииСтроки -  но там совершенно к этому делу не относящееся. Даже ради принципа закоментировал. Таблицы подготовлены заранее, при пожготовке таблиц сгенерированы GUID в обоих таблицах. И все. При перемещении по первой у меня во второй подсвечиваются соответсвующие строки
20 d3N4eGG
 
04.01.12
17:20
(17) Платформа 8.2, упр. приложение =/ нет ПриВыводеСтроки и тп.

&НаКлиенте
Процедура ВыставленныеСчетаПриАктивизацииСтроки(Элемент)
 ТекСчет = Элементы.ВыставленныеСчета.ТекущиеДанные.ИдентификаторДокумента;
 Элементы.ОплаченныеСчета.Обновить();
КонецПроцедуры

По реквизиту ТекСчет происходит Условное оформление. Хоть меняю строки в т.ч. светится только те, которые относятся к первой строке, так как при открытии формы она.. ну.. первая
21 d3N4eGG
 
04.01.12
17:34
Ладно, а если кодом прописать Условное оформление.

&НаСервере
Процедура ОформлениеСтрок(Значение)
   
 ЭтаФорма.УсловноеОформление.Элементы.Очистить();
 ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
 ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
 ОформляемоеПоле.Поле = Элементы.ОплаченныеСчета;
 ЭементУсловногоОформления.Поля.Элементы.Добавить(Элементы.ОплаченныеСчета);
 ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
 ЭлементОтбора.ЛевоеЗначение =   Объект.ОплаченныеСчета.ИдентификаторДокумента;    
 ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;    
 ЭлементОтбора.ПравоеЗначение = Значение;        ЭлементУсловногоОформления.Оформление.УстановитьЗначенеПараметра("ЦветФона", WebЦвета.Зеленый);
   
КонецПроцедуры


Что значит вот эта строка?
ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

и правильно ли это
ОформляемоеПоле.Поле = Элементы.ОплаченныеСчета;
22 d3N4eGG
 
04.01.12
17:36
Вызываем вот отсюда

&НаКлиенте
Процедура ВыставленныеСчетаПриАктивизацииСтроки(Элемент)
   
 ТекСчет =  Элементы.ВыставленныеСчета.ТекущиеДанные.ИдентификаторДокумента;
 Элементы.ОплаченныеСчета.Обновить();
 ОформлениеСтрок(ТекСчет);

КонецПроцедуры
23 d3N4eGG
 
04.01.12
17:39
Все! РАЗОБРАЛСЯ!
24 1с-кин
 
18.01.12
13:39
(21) > Что значит вот эта строка?
ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
- тип отбора добавил, он теперь доступен будет.
Закон Брукера: Даже маленькая практика стоит большой теории.