Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

УФ - добавление реквизита на форму

УФ - добавление реквизита на форму
Я
   ДенисЧ
 
10.11.20 - 16:10
Вроде примитивный код

    ДобавляемыеРеквизиты=Новый Массив();
    НовыйРеквизит= Новый РеквизитФормы("КодМастерДанных",
                                    Новый ОписаниеТипов("Строка"),
                                        "",
                                        "Код мастер-данных",
                                        Истина);
    ИзменитьРеквизиты(ДобавляемыеРеквизиты);
    
    Элемент = Элементы.Добавить("КодМастерДанных",Тип("ПолеФормы"));
    Элемент.Вид = ВидПоляФормы.ПолеВвода;
    Элемент.ПутьКДанным= "КодМастерДанных";
    Элемент.Видимость=Истина;
    Элемент.ТолькоПросмотр = Истина;

Всё это в ПриСозданииНаСервере формы элемента справочника. КодМастерДанных - реквизит справочника.

Говорит
Ошибка при установке значения атрибута контекста (ПутьКДанным)
Недопустимое значение

В другом справочнике такой же код, с разницей в имени реквизита и самом справочнике (даже тип такой же) - работает...

Что я упустил?
   Жан Пердежон
 
1 - 10.11.20 - 16:20
разве не "Объект.КодМастерДанных"?
   Жан Пердежон
 
2 - 10.11.20 - 16:21
да и зачем тебе реквизит формы, если это реквизит справочника?
   Windyhead
 
3 - 10.11.20 - 16:23
(0) плюсану к (2). Добавляй только элемент на форму , ревизит же есть уже в объекте
   Жан Пердежон
 
4 - 10.11.20 - 16:23
начинаю подозревать, что у ДенисЧ аккаунт на мисте угнали
   ДенисЧ
 
5 - 10.11.20 - 16:45
(2) А как я его на форму выведу?
В другом же месте работает...
(4) я всегда утверждал и буду утверждать - уф зло, криво сделанное.
   Жан Пердежон
 
6 - 10.11.20 - 16:49
(5) чтобы вывести - нужно только элемент добавить на форму, реквизит у тебя уже есть...
   ДенисЧ
 
7 - 10.11.20 - 16:56
С объект. сработало...
   kumena
 
8 - 10.11.20 - 17:04
> С объект. сработало...

Настало время продавать СП дениске!

Если путь задаешь "Объект.ИмяРеквизита" то это путь к реквизиту объекта, а если просто "ИмяРеквизита", то это путь к реквизиту форму.
   spiller26
 
9 - 10.11.20 - 17:05
У меня так срабатывает без вопросов        
ДобавляемыеРеквизиты = Новый Массив;
        Реквизит_абтНастройкаУчетаФЗ275 = Новый РеквизитФормы("абтНастройкаУчетаФЗ275", Новый ОписаниеТипов("Строка"),, "Учет ФЗ-275");
        ДобавляемыеРеквизиты.Добавить(Реквизит_абтНастройкаУчетаФЗ275);
        ЭтаФорма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
        //Группа

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

        абтНастройкаУчетаФЗ275 = ЭтаФорма.Элементы.Добавить("абтНастройкаУчетаФЗ275", Тип("ПолеФормы"), ГруппаНастрайкаУчетаФЗ);
        абтНастройкаУчетаФЗ275.Вид = ВидПоляФормы.ПолеНадписи;
        абтНастройкаУчетаФЗ275.ПутьКДанным = "абтНастройкаУчетаФЗ275";
        абтНастройкаУчетаФЗ275.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
        абтНастройкаУчетаФЗ275.Гиперссылка = Истина;
        абтНастройкаУчетаФЗ275.РастягиватьПоГоризонтали = Истина;
        абтНастройкаУчетаФЗ275.УстановитьДействие("Нажатие", "абтНастройкаУчетаФЗ275Нажатие");
   kumena
 
10 - 10.11.20 - 17:06
+8 у тебя не было реквизита формы, к которому ты путь написал, и их тоже можно программно создавать.
   spiller26
 
11 - 10.11.20 - 17:07
(9) В моём случае это реквизит формы.
   ДенисЧ
 
12 - 10.11.20 - 17:32
Я ж говорю - в соседнем справочнике - всё работало без объектов всяких, я оттуда скопировал...
   Жан Пердежон
 
13 - 10.11.20 - 17:49
(12) там значит реквизит не сохраняется в базе, либо еще доп.кода куча
   ДенисЧ
 
14 - 10.11.20 - 17:51
(13) И реквизит сохранялся... Вроде бы... Хотя надо проверить...
Кучи кода точно нет, форма типовая, с одной функцией создания реквизита на форме.

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