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

Программное создание реквизита произвольной формы

Программное создание реквизита произвольной формы
Я
   ER1337
 
19.12.17 - 11:03
Вечер в хату, господа девелоперы :D Всех с наступающим!
Сегодня такой вопрос. Нужно программно создать реквизит произвольной формы с типом "Динамический список". Делаю так:
    МассивРеквизитов = Новый Массив;
    МассивРеквизитов.Добавить(Новый РеквизитФормы("СписокТаблица", Новый ОписаниеТипов("ДинамическийСписок"),,"Поле таблицы"));
    ЭтаФорма.ИзменитьРеквизиты(МассивРеквизитов);

Останавливается с ошибкой "Метод объекта не обнаружен (ИзменитРеквизиты)". Куда копать? По логике вещей, реквизит должен добавляться через этот метод. Пробовал выпонлять действия в процедуре на сервере, результат тот же
   Lexey_
 
1 - 19.12.17 - 11:09
(0) ИзменитРеквизиты
   xxTANATORxx
 
2 - 19.12.17 - 11:14
(0)боюсь спросить кому вы делаете доработки, если у вас заход на форум начинается с таких фраз
   GANR
 
3 - 19.12.17 - 11:20
(2) прошу заметить - 1998 года рождения
   ER1337
 
4 - 19.12.17 - 11:22
(3) Кушать всем хочется :) И вообще говоря, это уже почти 20 лет
   GANR
 
5 - 19.12.17 - 11:23
(0) Начни с просмотра значений переменных в отладчике и просмотра описаний их типов в синтаксис помощнике. Стек вызовов глянь - на сервере этот метод выполняется или на клиенте. Доступен ли метод ИзменитьРеквизиты на клиенте/на сервере.
   nordbox
 
6 - 19.12.17 - 11:23
(4) и что?
   silent person
 
7 - 19.12.17 - 11:24
Пробовал выпонлять действия в процедуре на сервере


Синтаксис:

ИзменитьРеквизиты(<ДобавляемыеРеквизиты>, <УдаляемыеРеквизиты>) 

Доступность:

Сервер, мобильное приложение(сервер).


Надо не пробовать, а делать.
   vde69
 
Модератор
8 - 19.12.17 - 11:25
Ошибка в описании ошибки :)


в ошибке - ИзменитРеквизиты
в коде - - ИзменитьРеквизиты
   ER1337
 
9 - 19.12.17 - 11:26
(8) Опечатался, вручную писал
   Lexey_
 
10 - 19.12.17 - 11:28
(0) форма управляемая?
   ER1337
 
11 - 19.12.17 - 11:28
(10) Да
   nordbox
 
12 - 19.12.17 - 11:28
(9) скрин сделай и в студию
   ER1337
 
13 - 19.12.17 - 11:33
(12) Скрин чего?
   nordbox
 
14 - 19.12.17 - 11:33
&НаСервере
МассивРеквизитов = Новый Массив;
МассивРеквизитов.Добавить(..................<твои художества>
ИзменитьРеквизиты(МассивРеквизитов);
   hhhh
 
15 - 19.12.17 - 11:36
(13) да, проверь, есть там немного повыше строчка &НаСервере ?
   Franchiser
 
16 - 19.12.17 - 11:38
Эта форма не нужно
   ER1337
 
17 - 19.12.17 - 11:38
   Lexey_
 
18 - 19.12.17 - 11:40
(17) процедуры объявлять не умеешь
   ER1337
 
19 - 19.12.17 - 11:42
(18) Не допечатал просто, поленился, суть то в другом
   vde69
 
Модератор
20 - 19.12.17 - 11:42
(17) в 1с при описании процедур/функций после имени обязательно должна быть скобка, у тебя ее нет...
   Lexey_
 
21 - 19.12.17 - 11:45
(19) в чем же суть?
   nordbox
 
22 - 19.12.17 - 11:45
(19) >>Не допечатал просто
в программировании нет такого понятия,
1с еще телепатическими способностями не наделена
   silent person
 
23 - 19.12.17 - 11:45
(17) ну молодец, реквизит формы добавил. А теперь добавь его к элементам формы.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    //Вставить содержимое обработчика

    ШрифтШапки = Новый Шрифт("Verdana", 20,Истина);
    МассивЭлементов = Новый Массив();
    МассивЭлементов.Добавить("Первое ");
    МассивЭлементов.Добавить(Новый ФорматированнаяСтрока("второе ",ШрифтШапки));
    МассивЭлементов.Добавить("третье ");
    МассивЭлементов.Добавить(Новый ФорматированнаяСтрока("четвертое",ШрифтШапки));
    Реквизит1 = Новый ФорматированнаяСтрока(МассивЭлементов);
    
    
    МассивРеквизитов = Новый Массив;
    МассивРеквизитов.Добавить(Новый РеквизитФормы("Реквизит2", Новый ОписаниеТипов("ФорматированнаяСтрока"),,));
    ЭтаФорма.ИзменитьРеквизиты(МассивРеквизитов);
    
    ЭтаФорма.Реквизит2 = Новый ФорматированнаяСтрока(МассивЭлементов);    
    НовыйЭлемент = Элементы.Добавить("Реквизит2", Тип("ПолеФормы"));
    НовыйЭлемент.ПутьКДанным = "Реквизит2";
КонецПроцедуры

Реквизит2 - добавлен полностью программно.
   vde69
 
Модератор
24 - 19.12.17 - 11:46
там опечатался, тут не допечатал... короче растет новое поколение ....

ты это самое, давай сюда не заготовку выкладывай а конкретную проблему...

а то сейчас похоже
хирург звонит другу - у меня проблема, я печень не могу найти у клиента.
Друг - фотку скинь
Хирург - вот фотка трепанации черепа, но суть не в этом
   silent person
 
25 - 19.12.17 - 11:49
а вообще вот https://its.1c.ru/db/pubmanagedui#content:247:hdoc

Добавление динамического списка
....
Теперь эти же самые действия выполним программно, из встроенного языка.
   nordbox
 
26 - 19.12.17 - 11:51
(17) из того что там написал

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

(25) Ты думаешь у него доступ есть?
хотя на 7 дней оформит сам
   ER1337
 
27 - 19.12.17 - 11:53
(26) Есть доступ, не переживайте


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