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


1С:Предприятие :: 1С:Предприятие 8 общая

Раскрасить поле формы

Раскрасить поле формы
Я
   nAPACEHAK
 
06.02.18 - 14:53
Доброго всем

Подскажите, плз, как раскрасить поле формы при создании/изменении дока?

например, на доке есть поле Контрагент
Выбираем контрагента и в зависимости от условия, поле формы меняло цвет.

Если при открытии то работает. а при изменении/создании нового как?

спс

Процедура ВыделитьКонтрагента(Контрагент)
    Если ЛояльныйКлиент(Контрагент) Тогда
        ЭлементыФормы.Контрагент.ЦветФона = WebЦвета.БледноЗеленый;
    Иначе
        ЭлементыФормы.Контрагент.ЦветФона = Новый Цвет;    
    КонецЕсли;
    
КонецПроцедуры
 
 
   drcrasher
 
1 - 06.02.18 - 14:57
событие приИзменении()
   Tolia_2016
 
2 - 06.02.18 - 15:01
Стиль:ВырвиГлаз.
   Tolia_2016
 
3 - 06.02.18 - 15:02
Лояльные, бледно-зеленые контры.
   nAPACEHAK
 
4 - 06.02.18 - 15:20
(1) стоит в ПриИзменении () и в ПриОткрытии ()

ПриОткрытии работает ПриИзменении - цвет не меняется, хотя в эту процедуру заходит и попадает на ЭлементыФормы.Контрагент.ЦветФона = WebЦвета.БледноЗеленый;

(3) мне скажут рыжим - будет рыжим ))))
   nAPACEHAK
 
5 - 06.02.18 - 15:22
После изменения, по точке останова на последней строке ПриИзменении () в отладчике элементыформы.Контрагент.ЦветФона Значение зелёного, но на форме у него обычный цвет
   drcrasher
 
6 - 06.02.18 - 15:27
(5) ну можно ещё попробовать обновить форму
   _Дайвер_
 
7 - 06.02.18 - 15:30
(6) +++
   nAPACEHAK
 
8 - 06.02.18 - 15:33
(6) ну примерно до сюда я додумался, не могу сообразить как. подскажите?
   Mankubus
 
9 - 06.02.18 - 15:34
(8) обновить()
   _Дайвер_
 
10 - 06.02.18 - 15:34
(8) ЭтаФорма.Прочитать();
 
 Рекламное место пустует
   nAPACEHAK
 
11 - 06.02.18 - 15:40
(9) ЭтаФорма.Обновить () - ничего не изменилось
(10) ЭтаФорма.Прочитать () - ??? забыл сказать. Обычные формы
   nAPACEHAK
 
12 - 06.02.18 - 16:11
(10) может я чего то не догоняю....
Создаем новый док, заполняем контрагента (не красится), след.шагом ЭтаФорма.Прочитать ()
Она ж вроде опять вместо введенного контрагента пустую ссылку вставит (для несохраненного дока)
   drcrasher
 
13 - 06.02.18 - 16:36
прочитать() не надо, это повторная загрузка из базы
   drcrasher
 
14 - 06.02.18 - 16:42
так, мне было скучно.

в (0) код странный, так что добавь примерно следующее:

Процедура Реквизит1ПриИзменении(Элемент)
    Если Реквизит1 = 1 Тогда
        ЭлементыФормы.Реквизит1.ЦветФонаПоля = WebЦвета.Красный;
    Иначе
        ЭлементыФормы.Реквизит1.ЦветФонаПоля = Новый Цвет;
    КонецЕсли; 
    
    Обновить();
КонецПроцедуры
   drcrasher
 
15 - 06.02.18 - 16:48
а вообще, я бы сделал чуть иначе: хороший контрагент - рядом рисуем галочку зелёную, проблемный контрагент - красный крестик, не выбран - ничего не рисуем.
и понятна, и секса с кодом меньше
   nAPACEHAK
 
16 - 06.02.18 - 16:57
(15) Спасибо за наводку!
   nAPACEHAK
 
17 - 06.02.18 - 17:05
(14) Если Вы про условие - то там ф-я булево возвращает

Процедура ВыделитьКонтрагента(Контрагент)
    Если ЛояльныйКлиент(Контрагент) Тогда
        ЭлементыФормы.Контрагент.ЦветФона = WebЦвета.БледноЗеленый;
    Иначе
        ЭлементыФормы.Контрагент.ЦветФона = Новый Цвет;    
    КонецЕсли;
    Обновить ();
КонецПроцедуры 

Процедура КонтрагентПриИзменении(Элемент) Экспорт
    ВыделитьКонтрагента(Контрагент);
КонецПроцедуры

На последней строке точка останова. в отладчике 
ЭлементыФормы.Контрагент.ЦветФона = зеленый
на форме .... обычный цвет фона
   nAPACEHAK
 
18 - 06.02.18 - 17:10
Процедура ВыделитьКонтрагента(Контрагент)
    Если ЛояльныйКлиент(Контрагент) Тогда
        ЭлементыФормы.Контрагент.ЦветФона = WebЦвета.БледноЗеленый;
        ЭлементыФормы.тКонтрагент.ЦветТекста = WebЦвета.БледноЗеленый; 
    Иначе
        ЭлементыФормы.Контрагент.ЦветФона = Новый Цвет;    
        ЭлементыФормы.тКонтрагент.ЦветТекста = Новый Цвет;
    КонецЕсли;
    Обновить ();
КонецПроцедуры 

надпись красится а поле нет
может поле как обновить надо?
   nAPACEHAK
 
19 - 06.02.18 - 17:10
тКонтрагент - надпись
   drcrasher
 
20 - 06.02.18 - 17:17
я не буду переписывать твой код, просто обрати внимание на **ЦветФонаПоля**
   Fragster
 
22 - 06.02.18 - 17:21
А что, условное оформление не модно?
   drcrasher
 
23 - 06.02.18 - 17:31
(22) толстый клиент
   nAPACEHAK
 
24 - 06.02.18 - 17:33
(20) бинго!
только вот теперь наоборот )))) 
Одна и таже проц. вызывается в конце ПриОткрытии () и ПриИзменении ()
Результат разный 
http://prntscr.com/iax368
изменение
http://prntscr.com/iax3o9
открытие
   drcrasher
 
25 - 06.02.18 - 17:35
ну меняй и цвет фона и цвет поля. а лучше иконку рядом вешай
   nAPACEHAK
 
26 - 06.02.18 - 17:38
(25) Спасибо. всё получилось

ИМХО с иконкой поприятнее было бы, но кого кроме меня и Вас это интересует ))))


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