Имя: Пароль:
1C
1С v8
Веб-клиент не хочет красить заголовок поля
,
0 Wobland
 
14.09.12
17:17
На форме есть два поля ввода, хочу управлять цветом их заголовков. В тонком клиенте всё выглядит прилично, в веб-клиенте - чёрным. Пытался руками установить цвет третьего поля - работает. А программно никак. Что я делаю не так?


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   ЦветУдачи=WebЦвета.ТемноГрифельноСиний;
   ЦветПоражения=WebЦвета.Томатный;
//оба - реквизиты формы типа цвет
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
   ОбновитьИндикациюНайденности();
КонецПроцедуры

&НаКлиенте
Процедура ОбновитьИндикациюНайденности(ПоискПоНаименованию=Истина)
   ПоискатьКонтрагентаТупо(ПоискПоНаименованию);
   НужныйЦвет=?(ЗначениеЗаполнено(Объект.Контрагент), ЦветУдачи, ЦветПоражения);
   Элементы.НаименованиеДляПоиска.ЦветТекстаЗаголовка=НужныйЦвет;
   Элементы.ТелефонДляПоиска.ЦветТекстаЗаголовка=НужныйЦвет;
   ЭтаФорма.ОбновитьОтображениеДанных();
КонецПроцедуры
1 Wobland
 
14.09.12
17:23
да фих с ними, с реквизитами формы, это я перемудрил. в чём же дело?

&НаКлиенте
Процедура ОбновитьИндикациюНайденности(ПоискПоНаименованию=Истина)
   ПоискатьКонтрагентаТупо(ПоискПоНаименованию);
   НужныйЦвет=?(ЗначениеЗаполнено(Объект.Контрагент), WebЦвета.ТемноГрифельноСиний, WebЦвета.Томатный);
   Элементы.НаименованиеДляПоиска.ЦветТекстаЗаголовка=НужныйЦвет;
   Элементы.ТелефонДляПоиска.ЦветТекстаЗаголовка=НужныйЦвет;
   ЭтаФорма.ОбновитьОтображениеДанных();
КонецПроцедуры
2 vmv
 
14.09.12
17:24
(0) в условное оформление пихай, веб-клиент пока костыльно "дружит" со палитрой свойств элементов формы и с условным оформлением в том числе, но с последним лучше.

правда если ты на вебе начнешь юзать свойства доступность, видимость в УО, то обнаружишь вагончик пичалек, но не стоит впадать в уныние - 1С флагман ноу-хау. Всякие тма парусы, Р3 и прочая шушера нервно покуривают в сторонке)
3 Wobland
 
14.09.12
17:27
(2) условное оформление элемента формы - это что?

мож, другая идея есть.. нашли контрагента - надо дать юзеру знать об этом. ну не предупреждение ж делать. менять текст заголовка? как-то не очень
4 vmv
 
14.09.12
17:29
(1) гули - выход есть, но я счас поражен ленью
5 Wobland
 
14.09.12
17:30
(4) миста - лучший гугл, доказано непрофессионалами ;)
6 vmv
 
14.09.12
17:32
(3) описанная вами задача - это именно задача УО с условием

охренеть я так вежлив, самому проивно)
7 Wobland
 
14.09.12
17:33
ага, нашёл, спасибо за направление
ЭтаФорма.УсловноеОформление.
8 vmv
 
14.09.12
17:37
есть еще данные заголовка группы, данные подвала и прочая хрень - обычно я туда пихаю простые(единичные) отборы, данные выбора и пр. - юзеры довольны название группы и значение выбора в одном флаконе

Хреновая группа формы (ООО Рогачи) -----------------

нящно
9 Wobland
 
14.09.12
18:24
сдаётся мне, хочу я какую-то ересь. или нет? как бы два условия забабашить? или на форме руками задать цвет по умолчанию будет идеологически и единственно верно? без комментариев не работает:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   НовыйЭлементУО=УсловноеОформление.Элементы.Добавить();
   ОформлениеУОЕсть=НовыйЭлементУО.Оформление.Элементы.Найти("ЦветТекста");
   ОформлениеУОЕсть.Значение=WebЦвета.ЦианТемный;
   ОформлениеУОЕсть.Использование=Истина;
   //ОформлениеУОНет=НовыйЭлементУО.Оформление.Элементы.Найти("ЦветТекста");
   //ОформлениеУОНет.Значение=WebЦвета.Томатный;
   //ОформлениеУОНет.Использование=Истина;
   
   ОтборУОЕсть=НовыйЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
   ОтборУОЕсть.ВидСравнения=ВидСравненияКомпоновкиДанных.Заполнено;
   ОтборУОЕсть.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Объект.Контрагент");
   ОтборУОЕсть.Использование=Истина;
   //ОтборУОНет=НовыйЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
   //ОтборУОНет.ВидСравнения=ВидСравненияКомпоновкиДанных.НеЗаполнено;
   //ОтборУОНет.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Объект.Контрагент");
   //ОтборУОНет.Использование=Истина;

   ПолеУО=НовыйЭлементУО.Поля.Элементы.Добавить();
   ПолеУО.Использование=Истина;
   ПолеУО.Поле=Новый ПолеКомпоновкиДанных("НаименованиеДляПоиска");


и ещё вопрос: как именно заголовок покрасить? в НовыйЭлементУО.Оформление.Элементы при отладке глазами не вижу цвет заголовка
10 vmv
 
14.09.12
18:32
(9) я ваще не втыкаю в суть проблеми - поднимашь после уик-енда
11 Wobland
 
14.09.12
18:37
да я ещё на выходных тут потусуюсь. собссно, для того, чтоб работало, как мне хочется, остаётся понять, как покрасить заголовок поля, а не его текст:
НовыйЭлементУО.Оформление.Элементы.Найти("ЦветТекста");
12 vmv
 
14.09.12
18:53
ЦветФонаЗаголовка

- при создании формы
- при модификации данных формы с условием

ты чо гонищь, напрягаешь мне извилену!
13 Wobland
 
14.09.12
18:59
ОформлениеКомпоновкиДанных (DataCompositionAppearance)

Описание:

Коллекция элементов оформления компоновки данных. Для оформления используются следующие элементы оформления:
1. ЦветФона(BackColor) - тип значения Цвет;
2. ЦветТекста(TextColor) - тип значения Цвет;

ну и так далее без цвета заголовка

или не там смотрю?
14 Wobland
 
14.09.12
19:00
ДенисЧ, призываю тебя!
15 Wobland
 
14.09.12
19:02
а про ЦветФонаЗаголовка мой СП говорит только
Описание:

Тип: Цвет.
Содержит цвет фона заголовка. При размещении в таблице определяет цвет фона шапки.
16 vmv
 
14.09.12
19:04
(15) давай до сведания, я в неадеквате, но верю в твой гений
17 Wobland
 
14.09.12
19:36
ох уж мне эти управляемые формы... сделал отдельные надписи под заголовки. плюс пришлось делать мощный секас с группами, чтоб всё разместить красиво. всем спасибо, результат выглядит так:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   НовыйЭлементУО=УсловноеОформление.Элементы.Добавить();
   НовыйЭлементУО.Использование=Истина;
   
   ЭлементОтбора=НовыйЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
   ЭлементОтбора.Использование=Истина;
   ЭлементОтбора.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Объект.Контрагент");
   ЭлементОтбора.ВидСравнения=ВидСравненияКомпоновкиДанных.НеЗаполнено;
   
   НовоеПоле=НовыйЭлементУО.Поля.Элементы.Добавить();
   НовоеПоле.Использование=Истина;
   НовоеПоле.Поле=Новый ПолеКомпоновкиДанных("НадписьКонтрагент");
   НовоеПоле=НовыйЭлементУО.Поля.Элементы.Добавить();
   НовоеПоле.Использование=Истина;
   НовоеПоле.Поле=Новый ПолеКомпоновкиДанных("НадписьТелефон");
   
   НовыйЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.Коралловый);
18 Wobland
 
15.09.12
08:42
а сегодня утром спокойно пошёл в свойства формы и нашёл там настройку этого условного оформления в визуальном режиме..
19 Пеппи
 
15.09.12
08:47
утро вечера мудренее © :)
2 + 2 = 3.9999999999999999999999999999999...