Версия для печати темы (https://pro1c.org.ua/index.php?s=daf3511344d6ba32b66e46c67899ac4a&showtopic=46999)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Программное заполнение реквизитов формы

Автор: Insider12 02.08.18, 13:50

Добрый день, как при открытии формы заполнить ее реквизиты?
Допустим числовой реквизит формы "РеквизитЧисло".
Вот так вот недоступно для записи:

Элементы.РеквизитЧисло = 1;

Вот так вот - недопустимое значение второго параметра:
ЗначениеВРеквизитФормы(1, "РеквизитЧисло");


Сейчас речь идет именно о реквизитах формы, а не реквизитах объекта, но также нужно узнать как заполняются реквизиты объекта.

Это вообще как-то возможно в управляемых формах - заполнить поле формы значением программно?)

Автор: Petre 02.08.18, 14:06

Insider12 @ Today, 13:50 * ,
Передавайте в форму параметры, а "ПриСозданииНаСервере" заполняйте параметрами реквизиты.

Автор: Bernet 02.08.18, 14:11

Insider12 @ Сегодня, 14:50 * ,
Если форма открывается откуда-то и надо оттуда передать значение то примерно так:
В форме откуда вызывается:

СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("ИМЯПАРАМЕТРА", ЗНАЧЕНИЕПАРАМЕТРА);

ОткрытьФорму("ВАШАФОРМА", СтруктураПараметров);


В форме где нужно установить значение, в событии "ПриСозданииНаСервере"
Если Параметры.Свойство("ИМЯПАРАМЕТРА") Тогда
         ЭтаФорма.ВАШРЕКВИЗИТ = Параметры.ИМЯПАРАМЕТРА;
КонецЕсли;


Если же просто нужно установить значение по умолчанию, то все просто, при создании на сервере обращаетесь к реквизитам формы, а не элементам (как это делали вы)
ЭтаФорма.ВАШРЕКВИЗИТ = ЗНАЧЕНИЕ;

Автор: Insider12 02.08.18, 14:24

Bernet @ Сегодня, 15:11 * ,
Какой кошмар (это я про себя), действительно, ЭтаФорма.МОЙРЕКВИЗИТ.
С этим понятно, но вот в случае когда МОЙРЕКВИЗИТ - так называется реквизит объекта, а на форме просто его соотвествущее поле с путем данных к этому реквизиту, то помоему тут пишет ошибку "Поле объекта не обнаружено МОЙРЕКВИЗИТ"

Insider12 @ Сегодня, 15:18 * ,
Все решил, в случае, если это реквизит объекта, то ЭтаФорма.Объект.МОЙРЕКВИЗИТ

Автор: sava1 02.08.18, 14:34

этаФорма можно похерить...

Автор: Bernet 02.08.18, 16:01

Insider12 @ Сегодня, 15:24 * ,
Если реквизит это реквизит формы а не объекта, то через ЭтаФорма.ИмяРеквизита или просто ИмяРеквизита, если реквизит объекта то Объект.ИмяРеквизита

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua