Реквизиты объекта в дополнительной форме #703288


#0 by Ookami
Доброго времени суток! 8.2, управляемые формы. Есть внешняя обработка с реквизитом. У обработки есть несколько форм, у всех в качестве основного реквизита по-умолчанию указан Объект. В основной форме устанавливаю значение реквизита объекта: &НаСервере После этого по нажатию кнопки открывается дополнительная форма, в которой, помимо прочего, происходит обращение к реквизиту объекта, но его значение Неопределено. Обращаться к реквизиту пробовал и напрямую через Объект.Риквизит, и через РеквизитФормыВЗначение("Объект").Реквизит, результат один и тот же. Что я делаю не так? Пните в нужном направлении, пожалуйста.
#1 by Ookami
при обращении к реквизитам объекта из основной формы - все заполнено теми значениями, которыми и должно. Проблема только при открытии дополнительной формы
#2 by Fedor-1971
Точно заполняешь реквизит Объекта, а не формы объекта? Попробуй заполнять так: Объект.Реквизит=нужное значение
#3 by Defender aka LINN
А для нафига объект туда-сюда преобразовывать, чтобы серверу было чем заняться?
#4 by Ookami
Попробовал, без изменений Вероятно, не до конца понимаю сакральный смысл РеквизитФормыВЗначение
#5 by Fedor-1971
а как форму открываешь?
#6 by Ookami
#7 by Ookami
И вот на этом месте я задумался о том что открываю неправильно =)
#8 by alexei366
Тебе не кажется что Объект-Обработка не имеет "отображение в базе данных" и соответственно данные при открытии других форм не считываются с базы. Это же религия)))
#9 by alexei366
Ты его не записываешь, у обрабоки нет понятия Ссылки и т.д
#10 by Ookami
я видимо что-то упустил в этой жизни. Есть объект (обработка) исполняющаяся в среде, и пока она исполняется - все данные, касающиеся ее работы, висят в памяти. Закрыли обработку - потеряли данные, это логично. Но пока она работает - доступ к ним должен быть.
#11 by Defender aka LINN
Он и есть. Что тебя смущает?
#12 by alexei366
Ну вот ты открываешь доп форму, что ты туда передаешь чтоб 1С поняла что это тотже объект что и в основной? Я так думаю ничего
#13 by Ookami
смущает написанное в и Если обработка при открытии своей второй формы не в состоянии передать ей свои реквизиты - смысл вообще тогда в этих реквизитах?
#14 by Ookami
я к этому и пришел в , вопрос в том как при открытии формы сказать что это форма того же объекта
#15 by alexei366
Передавай Объект в доп форму и там заполняй реквизиты "местного объета", можеш используя метаданные объекта с обходом реквизитов) наверно так. Я реквизиты обработки использую в серверных процедурах и функциях.
#16 by alexei366
Или попробуй вдруг сработает. Получаешь доп форму и в её экспортную процедуру передаешь объект основной формы, там переходишь на серверную процедуру и там попробывать ЗначениеВРеквизитФормы(ОбработкаОсновнойОбъект, "Объект");
#17 by Defender aka LINN
Напиши код и передавай что угодно. А у другой формы объект тоже другой.
#18 by Ookami
гонять весь объект между формами кажется мне плохой идеей. Но нашел такой вариант решения: Тогда реквизиты объекта доступны через владельца: ВладелецФормы.Объект
#19 by alexei366
Ну удачи тебе с поиском хорошей идеи)))
#20 by anton_mgn
Возможно прощк вместо открытия разных форм менять страницы на панели одной формы.
#21 by Ookami
задача решена использованием владельца формы, спасибо на основной форме уже итак много страниц, тем более открываемое окно может существовать одновременно в нескольких экземплярах Всем спасибо, проблема решена
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С