Вход | Регистрация

1С:Предприятие ::

Метки: 

Таблица Значений Цвет Ячейки

Я
   Увэрли
 
23.01.18 - 12:15
Добрый день, прошу помочь в решении вот такой задачи.

В таблице значений хочу изменить цвет конкретной ячейки или текста в ней используя событие ПриАктивизацииЯчейки() [событиеПриВыводеСтроки() не интересует]. Может кто сталкивался подскажите)?
 
 
   Вафель
 
1 - 23.01.18 - 12:16
у активных ячеек всегда синий цвет и ничсего с этим не поделаешь
   Увэрли
 
2 - 23.01.18 - 12:19
Меня интересует цвет текста в ячейке.Как его поменять?
   Ц_У
 
3 - 23.01.18 - 12:21
(0) в где?
условноеоформление
   Tatitutu
 
4 - 23.01.18 - 12:29
(0) Скажи для чего тебе это нужно ? Конечный результат, что ты хочешь в итоге сделать.

вот как вариант в MAGAZKA (настройка для пользователей)

http://magazkat.ru/forum/pismabezotveta/2665-podskazhite-kak-izmenit-tsvet-aktivnoj-stroki-v-dokumentakh
   Увэрли
 
5 - 23.01.18 - 12:35
Tatitutu
Есть ТЗ  с данными на форме уже заполненная.При работе с этой ТЗ пользователь анализируя данные в этой таблице при необходимости должен поменять цвет текста в конкретной ячейке.
   Михаил Козлов
 
6 - 23.01.18 - 12:40
(5) Вам нужно где-то запоминать менял ли пользователь цвет в ячейке (булевый реквизит для каждой ячейки) и в зависимости от этого флага "красить" в ПриПолученииДанных.
   Радим1987
 
7 - 23.01.18 - 12:42
Только Условноеоформление, при активации нельзя вызвать серверные процедуры поэтому надо будет Оповещением
   Вафель
 
8 - 23.01.18 - 12:43
(6) можно и через условное оформление
   Tatitutu
 
9 - 23.01.18 - 12:46
(5) уже хорошо. Поменял цвет ячейки на КРАСНЫЙ
дальше что - это должно сохраниться или каким образом обработаться - для чего ИЗМЕНЯТЬ ЦВЕТ
   Увэрли
 
10 - 23.01.18 - 12:52
Tatitutu
Да совершенно верно .Дальше я обойду циклом ТЗ и в зависимости от цвета данные суммируются.
 
 Рекламное место пустует
   Радим1987
 
11 - 23.01.18 - 12:53
Процедура УстановитьУсловноеОформление(Форма,Номер,Значение)
        
        Элементы = Форма.Элементы;     
        Элемент = Форма.УсловноеОформление.Элементы.Добавить();
        Элемент.Использование = Истина;
        
        ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
        ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(ЭлементПоле.Имя);
        ПолеЭлемента.Использование = Истина;
            
        ОтборЭлемента =  Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Форма.Объект.ТАБЧАСТЬ.НомерСтроки");
        ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
        ОтборЭлемента.ПравоеЗначение = Номер;
        ОтборЭлемента.Использование = ИСТИНА;     
        

        ОтборЭлемента = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Форма.Объект.ТАБЧАСТЬ."+ЭлементПоле.Имя+"");
        ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; 
        ОтборЭлемента.ПравоеЗначение = Значение;    
        ОтборЭлемента.Использование = Истина;            

        Элемент.Оформление.УстановитьЗначениеПараметра("ЦветФона",WebЦвета.Пшеничный);         
КонецПроцедуры
   Радим1987
 
12 - 23.01.18 - 12:57
&НаКлиенте
Процедура ПриАктивизации(Элемент) 
    
    ТекСтр = Элементы.ТАБЧАсТЬ.ТекущиеДанные;
    ВыполнитьОбработкуОповещения(Новый ОписаниеОповещения("ПриАктивизацииЗаверешение",ЭтотОбъект,Новый Структура("Форма,Элемент,НомерСтроки",Форма,Элемент,ТекСтр.НомерСтроки)));    
    
КонецПроцедуры 

&НаКлиенте
Процедура ПриАктивизацииЗаверешение(Результат,ДополнительныеПараметры) Экспорт  
    УстановитьУсловноеОформление(ДополнительныеПараметры.Форма,ДополнительныеПараметры.Элемент,ДополнительныеПараметры.НомерСтроки)
КонецПроцедуры 


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

        Элемент.Оформление.УстановитьЗначениеПараметра("ЦветФона",WebЦвета.Пшеничный);     
            
КонецПроцедуры
   Михаил Козлов
 
13 - 23.01.18 - 12:58
(10) В ТЗ цвета нет.
   Радим1987
 
14 - 23.01.18 - 12:59
Если он отображен на форме то это уже не ТЗ а Таблица
   Увэрли
 
15 - 23.01.18 - 13:06
Радим1987 спасибо!
Но это для управляемых форм ,а для обычных если.
   oslokot
 
16 - 23.01.18 - 13:11
(15) ОФ это делается в ПриПолученииДанных() (6) в оформлениях ячеек
   Михаил Козлов
 
17 - 23.01.18 - 13:31
Возможно я не ошибаюсь, но мне кажется, речь должна идти не о том, как поменять цвет в ячейке, а где и как хранить признак того, что цвет изменен.
Например, во вспомогательной ТЗ, с колонками: номер строки, номер столбца.
   Увэрли
 
18 - 23.01.18 - 13:40
Михаил Козлов может быть вы и правы.Я пока ещё об этом не думал.

У меня сейчас вот какая задача.К Вам пришли 2 накладные от поставщиков.Я их обработал и загрузил в ТЗ где одна колонка общая как Номенклатура 2 остальные это Цены этих поставщиков.При этом я уже при выводе на Форму подсветил минимальные цены.Но пользователь когда анализирует на Форме эти данные должен изменить цвет например не минимальной(которая уже подсвечена) Цены (из этих 2 а максимальной) "ему так нужно".Вот в чем задача сейчас.
   Михаил Козлов
 
19 - 23.01.18 - 14:01
(18) Ну так и заведите данные нужного типа для запоминания, где пользователь не согласился ("поменял цвет").
При ПолученииДанных будет "красить" ячейку по этим данным.
При каком-то действии пользователя - модифицировать эти данные.
Общий принцип: отталкиваться от данных, а не их представления.
Например, в качестве локатора, где пользователь решил изменить "цвет" - массив с номерами строк.
При ПолученииДанных лезете в этот массив и, если находите - красите в другой цвет.
При каком-то действии пользователя, означающем его желание изменить цвет - добавляете или удаляете из этого массива номер строки.
   Увэрли
 
20 - 24.01.18 - 00:41
Михаил Козлов Спасибо! понял о чем Вы написали.


Список тем форума
Рекламное место пустует Рекламное место пустует
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки - вот настоящая работа.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует