|
Раскрасить поле формы | ☑ | ||
---|---|---|---|---|
0
nAPACEHAK
06.02.18
✎
14:53
|
Доброго всем
Подскажите, плз, как раскрасить поле формы при создании/изменении дока? например, на доке есть поле Контрагент Выбираем контрагента и в зависимости от условия, поле формы меняло цвет. Если при открытии то работает. а при изменении/создании нового как? спс Процедура ВыделитьКонтрагента(Контрагент) Если ЛояльныйКлиент(Контрагент) Тогда ЭлементыФормы.Контрагент.ЦветФона = WebЦвета.БледноЗеленый; Иначе ЭлементыФормы.Контрагент.ЦветФона = Новый Цвет; КонецЕсли; КонецПроцедуры |
|||
1
drcrasher
06.02.18
✎
14:57
|
событие приИзменении()
|
|||
2
Tolia_2016
06.02.18
✎
15:01
|
Стиль:ВырвиГлаз.
|
|||
3
Tolia_2016
06.02.18
✎
15:02
|
Лояльные, бледно-зеленые контры.
|
|||
4
nAPACEHAK
06.02.18
✎
15:20
|
(1) стоит в ПриИзменении () и в ПриОткрытии ()
ПриОткрытии работает ПриИзменении - цвет не меняется, хотя в эту процедуру заходит и попадает на ЭлементыФормы.Контрагент.ЦветФона = WebЦвета.БледноЗеленый; (3) мне скажут рыжим - будет рыжим )))) |
|||
5
nAPACEHAK
06.02.18
✎
15:22
|
После изменения, по точке останова на последней строке ПриИзменении () в отладчике элементыформы.Контрагент.ЦветФона Значение зелёного, но на форме у него обычный цвет
|
|||
6
drcrasher
06.02.18
✎
15:27
|
(5) ну можно ещё попробовать обновить форму
|
|||
7
_Дайвер_
06.02.18
✎
15:30
|
(6) +++
|
|||
8
nAPACEHAK
06.02.18
✎
15:33
|
(6) ну примерно до сюда я додумался, не могу сообразить как. подскажите?
|
|||
9
Mankubus
06.02.18
✎
15:34
|
(8) обновить()
|
|||
10
_Дайвер_
06.02.18
✎
15:34
|
(8) ЭтаФорма.Прочитать();
|
|||
11
nAPACEHAK
06.02.18
✎
15:40
|
(9) ЭтаФорма.Обновить () - ничего не изменилось
(10) ЭтаФорма.Прочитать () - ??? забыл сказать. Обычные формы |
|||
12
nAPACEHAK
06.02.18
✎
16:11
|
(10) может я чего то не догоняю....
Создаем новый док, заполняем контрагента (не красится), след.шагом ЭтаФорма.Прочитать () Она ж вроде опять вместо введенного контрагента пустую ссылку вставит (для несохраненного дока) |
|||
13
drcrasher
06.02.18
✎
16:36
|
прочитать() не надо, это повторная загрузка из базы
|
|||
14
drcrasher
06.02.18
✎
16:42
|
так, мне было скучно.
в (0) код странный, так что добавь примерно следующее: Процедура Реквизит1ПриИзменении(Элемент) Если Реквизит1 = 1 Тогда ЭлементыФормы.Реквизит1.ЦветФонаПоля = WebЦвета.Красный; Иначе ЭлементыФормы.Реквизит1.ЦветФонаПоля = Новый Цвет; КонецЕсли; Обновить(); КонецПроцедуры |
|||
15
drcrasher
06.02.18
✎
16:48
|
а вообще, я бы сделал чуть иначе: хороший контрагент - рядом рисуем галочку зелёную, проблемный контрагент - красный крестик, не выбран - ничего не рисуем.
и понятна, и секса с кодом меньше |
|||
16
nAPACEHAK
06.02.18
✎
16:57
|
(15) Спасибо за наводку!
|
|||
17
nAPACEHAK
06.02.18
✎
17:05
|
(14) Если Вы про условие - то там ф-я булево возвращает
Процедура ВыделитьКонтрагента(Контрагент) Если ЛояльныйКлиент(Контрагент) Тогда ЭлементыФормы.Контрагент.ЦветФона = WebЦвета.БледноЗеленый; Иначе ЭлементыФормы.Контрагент.ЦветФона = Новый Цвет; КонецЕсли; Обновить (); КонецПроцедуры Процедура КонтрагентПриИзменении(Элемент) Экспорт ВыделитьКонтрагента(Контрагент); КонецПроцедуры На последней строке точка останова. в отладчике ЭлементыФормы.Контрагент.ЦветФона = зеленый на форме .... обычный цвет фона |
|||
18
nAPACEHAK
06.02.18
✎
17:10
|
Процедура ВыделитьКонтрагента(Контрагент)
Если ЛояльныйКлиент(Контрагент) Тогда ЭлементыФормы.Контрагент.ЦветФона = WebЦвета.БледноЗеленый; ЭлементыФормы.тКонтрагент.ЦветТекста = WebЦвета.БледноЗеленый; Иначе ЭлементыФормы.Контрагент.ЦветФона = Новый Цвет; ЭлементыФормы.тКонтрагент.ЦветТекста = Новый Цвет; КонецЕсли; Обновить (); КонецПроцедуры надпись красится а поле нет может поле как обновить надо? |
|||
19
nAPACEHAK
06.02.18
✎
17:10
|
тКонтрагент - надпись
|
|||
20
drcrasher
06.02.18
✎
17:17
|
я не буду переписывать твой код, просто обрати внимание на **ЦветФонаПоля**
|
|||
22
Fragster
гуру
06.02.18
✎
17:21
|
А что, условное оформление не модно?
|
|||
23
drcrasher
06.02.18
✎
17:31
|
(22) толстый клиент
|
|||
24
nAPACEHAK
06.02.18
✎
17:33
|
(20) бинго!
только вот теперь наоборот )))) Одна и таже проц. вызывается в конце ПриОткрытии () и ПриИзменении () Результат разный http://prntscr.com/iax368 изменение http://prntscr.com/iax3o9 открытие |
|||
25
drcrasher
06.02.18
✎
17:35
|
ну меняй и цвет фона и цвет поля. а лучше иконку рядом вешай
|
|||
26
nAPACEHAK
06.02.18
✎
17:38
|
(25) Спасибо. всё получилось
ИМХО с иконкой поприятнее было бы, но кого кроме меня и Вас это интересует )))) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |