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