Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Обычные формы. Изменить шрифт строки ТЧ при активизации строки другой ТЧ по соответствию

Обычные формы. Изменить шрифт строки ТЧ при активизации строки другой ТЧ по соответствию
Я
   Mechanik21
 
15.10.19 - 10:16
На форме есть две табличные части. Между ними есть соответствие. Задача: сделать так, чтобы при активизации строки верхней тч шрифт соответствующих нижних строк становился жирным. Соответствие определяется полем "ключ", которое есть у каждой строки. например, строке 1 верхней ТЧ соответствует три строки из нижней ТЧ, значит у трёх нижних строк ключ будет равен 1. Оформление вроде как на обычных формах можно менять только при выводе строки, но даже ставя условие на ключ, я получаю жирной всю нижнюю таблицу независимо от активной строки в верхней. Как достучаться до шрифта строки?
 
 
   ДенисЧ
 
1 - 15.10.19 - 10:29
При выводе строки проверяй соответствие данных выбранной вверху строки и тогда только жирни шрифт. Если не соответствует - тогда разжирняй.
   Йохохо
 
2 - 15.10.19 - 10:38
(1) хлебников и хармс сменили позу)
   Mechanik21
 
3 - 15.10.19 - 10:42
вот так не работает
Процедура КорректировкаРасшифровкаПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    
    Если ЭлементыФормы.КорректировкаОсновная.ТекущиеДанные <> Неопределено Тогда
        Для каждого Стр Из КорректировкаРасшифровка Цикл
            Если Стр.Ключ = ЭлементыФормы.КорректировкаОсновная.ТекущиеДанные.Ключ Тогда
                ОформлениеСтроки.Шрифт = Новый Шрифт(,,Истина);
            Иначе
                ОформлениеСтроки.Шрифт = Новый Шрифт(,,Ложь);
            КонецЕсли;
        КонецЦикла;
    КонецЕсли;
    
КонецПроцедуры

   Фрэнки
 
4 - 15.10.19 - 10:45
(3) насколько я помню из своего опыта - нужно брать готовый шрифт из оформления и в нем что-то изменять, а ты создаешь прямо Новый, а это не сработает.
   hhhh
 
5 - 15.10.19 - 10:47
(3) приколист.

вот это
 Для каждого Стр Из КорректировкаРасшифровка Цикл

что за хрень?
   catena
 
6 - 15.10.19 - 10:52
(3)Оформление нужно делать через оформление.
   ДенисЧ
 
7 - 15.10.19 - 10:57
(6) Чта? Ещё скажи - через условное...
   catena
 
8 - 15.10.19 - 11:01
(7)При чем тут условное? Через ОформлениеСтроки, а не через перебор ТЧ
   D_E_S_131
 
9 - 15.10.19 - 11:01
1. При Активизации строки "Верхней ТЧ" нужно вызвать обновление строк "Нижней ТЧ".
2. Для "Нижней ТЧ" прописать процедура события "ПриВыводеСтроки".
3. В этой процедуре и устанавливаешь новый шрифт, проверяя значение в текущей строки в "Верхней ТЧ".
   ДенисЧ
 
10 - 15.10.19 - 11:05
(8)
Процедура КорректировкаРасшифровкаПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
....
                ОформлениеСтроки.Шрифт = Новый Шрифт(,,Истина);

Или я чего-то не понял?
   catena
 
11 - 15.10.19 - 11:09
(10)        Для каждого Стр Из КорректировкаРасшифровка Цикл
                ОформлениеСтроки.Шрифт = Новый Шрифт(,,Истина);
   palpetrovich
 
12 - 15.10.19 - 11:12
пользуй ПриПолученииДанных 
https://its.1c.ru/db/metod8dev#content:2805:hdoc
   mistеr
 
13 - 15.10.19 - 11:20
Отбор надо делать, а не жирный шрифт. И все надуманные проблемы уйдут, ибо в платформе все предусмотрено.
   Mechanik21
 
14 - 15.10.19 - 11:40
Спасибо всем
особенно (9) и (12) помогли
   Mechanik21
 
15 - 15.10.19 - 11:41
(9) а как вызвать обновление строк нижней тч?
   Mechanik21
 
16 - 15.10.19 - 11:42
а, затупил
ЭлементыФормы.КорректировкаРасшифровка.ОбновитьСтроки();
помогло

Список тем форума
Рекламное место пустует  Рекламное место пустует
Программист всегда исправляет последнюю ошибку.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.