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

Программное добавление реквизита на общую форму

Программное добавление реквизита на общую форму
Я
   ac13
 
11.04.19 - 14:44
Есть обработка с реквизитом "Установлен" (Булево).
Есть общая форма "Форма2".
Как из обработки поместить на эту общую форму реквизит "Установлен"?
 
 
   spiller26
 
1 - 11.04.19 - 14:52
(0) Что значит "поместить"? - опишите последовательность действий. "Форма2" будет вызываться из обработки или параллельно висеть сама по себе?
   ac13
 
2 - 11.04.19 - 14:59
(1) вызываться оз обработки
Есть Форма.Объект. Надо сначала добавить реквизит для объекта формы, а потом вывести его на форму
Длеаю так
Рек = Форма.Объект.Добавить();
Рек.Имя = "Установлен";

Выдает ошибку "Метод объекта не обнаружен Добавить"
   Euguln
 
3 - 11.04.19 - 15:02
Кури СП
ИзменитьРеквизиты(<ДобавляемыеРеквизиты>, <УдаляемыеРеквизиты>)
   ac13
 
4 - 11.04.19 - 15:04
Так тоже не работает

Элемент = Форма.Элементы.Добавить("Установлен", Тип("Булево"), Форма);
Элемент.ПутьКДанным = ЭтотОбъект.Установлен;
   ac13
 
5 - 11.04.19 - 15:09
(3) ничего не изменилось
ИмяРеквизита     = "Установлен";
Путь             = "";
НовыйРек         = Новый РеквизитФормы(ИмяРеквизита, Новый ОписаниеТипов("Булево"), Путь, ИмяРеквизита);
МассивРеквизитов = Новый Массив;
МассивРеквизитов.Добавить(НовыйРек);
Форма.ИзменитьРеквизиты(МассивРеквизитов);
   Euguln
 
6 - 11.04.19 - 15:21
(5) теперь элемент добавляй.
Элемент.ПутьКДанным = "Установлен";
   ac13
 
7 - 11.04.19 - 16:11
ИмяРеквизита     = "Установлен";
Путь             = "";
НовыйРек         = Новый РеквизитФормы(ИмяРеквизита, Новый ОписаниеТипов("Булево"), Путь, ИмяРеквизита);
МассивРеквизитов = Новый Массив;
МассивРеквизитов.Добавить(НовыйРек);
Форма.ИзменитьРеквизиты(МассивРеквизитов);

Элемент = Форма.Элементы.Добавить("Поле", Тип("ПолеФормы"), Форма);
Элемент.Вид = ВидПоляФормы.ПолеВвода;
Элемент.ПутьКДанным = "Установлен";


ничего не появилось,
Если что прописываю в процедуре ПриСозданииНаСервере
   Euguln
 
8 - 11.04.19 - 16:23
ПриСозданииНаСервере где и что такое Форма?
   1Сергей
 
9 - 11.04.19 - 16:30
   ac13
 
10 - 11.04.19 - 17:19
(8) ПриСозданииНаСервере в модуле объекта обработки
Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт
   1Сергей
 
11 - 11.04.19 - 17:22
(10)

//Форма.ИзменитьРеквизиты(МассивРеквизитов);

ИзменитьРеквизиты(МассивРеквизитов);

//Элемент = Форма.Элементы.Добавить("Поле", Тип("ПолеФормы"), Форма);

Элемент = Элементы.Добавить("Поле", Тип("ПолеФормы"));
   ac13
 
12 - 11.04.19 - 17:32
(11) это когда в модуле формы прописываешь, а мне надо реквизит добавить из модуля обработки из которой эту форму открывать буду
   1Сергей
 
13 - 11.04.19 - 17:33
(12) а вот с этим тогда что делать?

НовыйРек         = Новый РеквизитФормы(ИмяРеквизита, Новый ОписаниеТипов("Булево"), Путь, ИмяРеквизита);
   ac13
 
14 - 11.04.19 - 17:34
тогда вопрос - как из модуля обработки можно разместить реквизит на общей форме? и вообще можно ли?
   Euguln
 
15 - 11.04.19 - 17:36
(10) жесть. А как вызываешь?
   ac13
 
16 - 11.04.19 - 17:41
можно обойтись без реквизита. у меня есть сохраненная пользовательская настройка отчета. когда открываю эту настройку, нужно менять запрос в процедуре ПриКомпоновкеРезультата. как это сделать? я так понимаю, что ПриКомпоновкеРезультата никак нельзя определить какую именно настройку ты открыл. выполнить это нужно без добавление реквизитов и параметров
   Euguln
 
17 - 11.04.19 - 17:44
(16) Так, давай сначала, что надо сделать?
   ac13
 
18 - 11.04.19 - 17:47
(17) есть типовой отчет, для которого сохранены варианты настрок (в пользовательском режиме).
в процедуре ПриКомпоновкеРезультата нужно определить какой вариант настройки открыт
   singlych
 
19 - 11.04.19 - 18:34
(18)
ПриКомпоновкеРезультата:

Настройки = КомпоновщикНастроек.ПолучитьНастройки();
Сообщить(Настройки.ДополнительныеСвойства.ВариантНаименование);
Сообщить(Настройки.ДополнительныеСвойства.КлючВарианта);

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