Имя: Пароль:
1C
1С v8
Программно добавленная надпись пропадает в УФ
,
0 Eastert
 
04.06.18
11:48
при открытии документа создаю поле ввода и надпись

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    
    ДобавитьКонтралыДляОплатыБонусами();

КонецПроцедуры

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

//потом если при каком-то событии надо обратиться к Элементы.ОстатокБонусныхБалловЗаголовок, то программа пишет ошибку "Поле объекта не обнаружено (ОстатокБонусныхБалловЗаголовок)".

//но при обращении к СуммаОплатыБонусами, ошибки нет
1 PR
 
04.06.18
11:49
Ух ты че бывает
Как победил?
2 Eastert
 
04.06.18
11:50
(1) ?
3 Cyberhawk
 
04.06.18
11:53
"Контралы", однако...
4 DrShad
 
04.06.18
11:53
а где их добавление на форму?
5 Eastert
 
04.06.18
11:54
(4) ну вот например

ПолеФормы = Элементы.Добавить("СуммаОплатыБонусами", Тип("ПолеФормы"), Элементы.ГруппаДатаОтгрузкиНеОтгружатьЧастями);
6 Eastert
 
04.06.18
11:55
(5) причем СуммаОплатыБонусами отображается и работает нормально, но надпись ОстатокБонусныхБалловЗаголовок и не отображется и форма ее не видит
7 Вафель
 
04.06.18
11:55
может нужно ПриСозданииНаСервере?
8 DrShad
 
04.06.18
11:56
(5) это не оно
9 Eastert
 
04.06.18
11:56
(7) пробовал и там, все тоже самое
10 Вафель
 
04.06.18
11:56
Надпись без данных - это не поле формы
11 Eastert
 
04.06.18
11:56
(8) ну а почему поле ввода видно все же?
12 Eastert
 
04.06.18
11:56
(10) а какие данные у надписи?
13 Cyberhawk
 
04.06.18
11:56
Потому что ты пади не к элементу коллекции ЭУ обращаешься, а к свойству объекта (формы)
14 Вафель
 
04.06.18
11:56
либо нужно к реквизиту привязывать, либо нормальную надпись добавлять
15 Вафель
 
04.06.18
11:57
(12) добавь надпись руками, посмотри в отладчике
16 PR
 
04.06.18
11:57
(2) Ты бы лучше знак вопроса в (0) где-нибудь поставил
17 Eastert
 
04.06.18
12:06
Разобрался, надо вот это

    ПолеФормы = Элементы.Добавить("ОстатокБонусныхБалловЗаголовок", Тип("ПолеФормы"), Элементы.ГруппаДатаОтгрузкиНеОтгружатьЧастями);
    ПолеФормы.Вид                       = ВидПоляФормы.ПолеНадписи;
    ПолеФормы.Заголовок                 = "из возможных";
    ПолеФормы.Доступность               = Истина;
    ПолеФормы.ТолькоПросмотр            = Ложь;

Заменить на вот это:

    ПолеФормы = Элементы.Добавить("ОстатокБонусныхБалловЗаголовок", Тип("ДекорацияФормы"), Элементы.ГруппаДатаОтгрузкиНеОтгружатьЧастями);
    ПолеФормы.Вид                       = ВидДекорацииФормы.Надпись;
    ПолеФормы.Заголовок                 = "из возможных";
18 Eastert
 
04.06.18
12:07
(17) Тип("ПолеФормы") на Тип("ДекорацияФормы") и ВидПоляФормы.ПолеНадписи на ВидДекорацииФормы.Надпись
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн