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


1С:Предприятие ::

Метки: 

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

Я
   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) Есть доступ, не переживайте



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