Имя: Пароль:
1C
1С v8
При открытии другой формы этой же обработки реквизиты обработки пропадают
0 IvanGorbunov
 
27.01.19
12:27
Добрый день, есть обработка (отчет с моим табличным документом), у нее есть две формы - основная и форма настроек. Форму настроек открываю так:

    ФормаНастроек = ПолучитьФорму(СтрЗаменить(ЭтаФорма.ИмяФормы, "ФормаОтчета", "ФормаНастроек"),, ЭтаФорма);

После этого в форме настроек в процедуре ПриОоткрытии() все ранее заполненные реквизиты "Отчет.Какой-то реквизит" пустые.
Если смотреть на РеквизитФормыВЗначение("Отчет"), там тоже эти реквизиты пусты.

Почему реквизиты обработки не видны другой форме этой же обработки?
1 s_newbi
 
27.01.19
12:31
потому что обработка не хранит значения реквизитов в базе и по сути это реквизиты формы с более простым доступом
если б это был записанный! документ, то в разных формах можно было б видеть значение реквизита
2 IvanGorbunov
 
27.01.19
12:36
(1) понял, спасибо
3 Фрэнки
 
27.01.19
12:57
(2) он не совсем точно дал объяснение. Верней - совсем неточно.

Фишка в том, что у тебя формы обработки создаются как разные экземпляры объектов. Поэтому, когда пытаешься присвоить значения реквизитов формы в реквизиты объекта, а затем думаешь, что этот объект у тебя один и тот же, то фокус неудачен - объекты разные. Нужно извратиться каким-то образом, чтоб форма настроек вызывалась в основной формы с наследованием того же самого объекта, который создан при открытии основной формы объекта.