Имя: Пароль:
1C
1С v8
Как открывать одну и ту же форму нового документа?
,
0 Zhora_Vlg
 
11.05.12
15:32
Пишу вот так.

Форма = ПолучитьФорму("Документ.ЗакрытиеЗаказовПокупателей.ФормаОбъекта",, ЭтаФорма, ЭтаФорма.УникальныйИдентификатор);

Каждый раз новая форма возвращается, а мне нужно одну и туже открывать.
Что я делаю не так?
1 mikecool
 
11.05.12
15:35
сохранить гденить УИД и передавать его, но яхз
2 Zhora_Vlg
 
11.05.12
15:40
так он одинаковый всегда, я в отладчике проверял
3 Zhora_Vlg
 
11.05.12
15:41
это я про "ЭтаФорма.УникальныйИдентификатор"
4 Zhora_Vlg
 
11.05.12
15:41
а УИД новой формы, мне чем поможет, яхз
5 Zhora_Vlg
 
11.05.12
15:44
В СП написано.

Описание:

Получает форму или управляемую форму. Перед получением осуществляется поиск уже открытой такой же формы.
Поиск осуществляется по типу формы, значениям ключевых параметров формы, владельцу формы, пользовательскому ключу уникальности.
6 Zhora_Vlg
 
11.05.12
15:46
тип формы не меняется
владелец не меняется
ключ уникальности не меняется
параметры не передаю

форма открывается всегда новая
7 Zhora_Vlg
 
11.05.12
15:46
открываю из управляемой формы отчета обычную форму документа
8 mikecool
 
11.05.12
15:47
(6) попробуй при первом открытии получить Ключ и передавать его в параметры
9 Reset
 
11.05.12
15:52
Понятно же, разные объекты не могут быть открыты в одной форме. Каждый раз при вызове создается новый объект и возвращается для него форма.
10 Defender aka LINN
 
11.05.12
15:54
(5) У тебя форма каждый раз НОВОГО объекта.
11 Zhora_Vlg
 
11.05.12
15:56
(9,10) тогда новый вопрос, где мне хранить переменную с объектом?
12 Zhora_Vlg
 
11.05.12
15:57
в реквизитах управляемой формы не получается
13 Zhora_Vlg
 
11.05.12
15:57
глобальных переменных тоже нет
14 Diversus
 
11.05.12
16:07
Форма = ПолучитьФорму("Документ.ЗакрытиеЗаказовПокупателей.ФормаОбъекта",, ЭтаФорма, Новый УникальныйИдентификатор());
15 Zhora_Vlg
 
11.05.12
16:10
(14) это ещё зачем так?
16 Zhora_Vlg
 
11.05.12
16:53
Переделал, с сохранением объекта, все равно новую открывает.

&НаСервере
Процедура ДобавитьСтрокуЗакрытияЗаказов(ЗначениеРасшифровки)
   
   ДокОбъект = ДанныеФормыВЗначение(Док, Тип("ДокументОбъект.ЗакрытиеЗаказовПокупателей"));
   Если ДокОбъект = Неопределено Тогда
       ДокОбъект = Документы.ЗакрытиеЗаказовПокупателей.СоздатьДокумент();
       ЗначениеВДанныеФормы(ДокОбъект, Док);
   КонецЕсли;
   Форма = ДокОбъект.ПолучитьФорму("ФормаДокумента", ЭтаФорма, ЭтаФорма.УникальныйИдентификатор);
   
   Если форма.Открыта() Тогда
       Форма.Активизировать();
   Иначе
       Форма.Открыть();
   КонецЕсли;
   СтрокаЗаказы = Форма.Заказы.Добавить();
   СтрокаЗаказы.ЗаказПокупателя = ЗначениеРасшифровки;

КонецПроцедуры // ДобавитьСтрокуЗакрытияЗаказов()
17 Zhora_Vlg
 
11.05.12
16:54
(9,10) Подскажите, чего сейчас не так?
18 Defender aka LINN
 
11.05.12
17:26
Какова цель вообще?
19 Zhora_Vlg
 
11.05.12
17:29
Из отчета по заказам, мышкой заполнять документ закрытие заказов.
20 Zhora_Vlg
 
11.05.12
17:29
при этом пока пользователь не решить провести документ, записывать его не нужно
21 Zhora_Vlg
 
11.05.12
17:30
у меня получилось, только если записать документ
22 Zhora_Vlg
 
11.05.12
17:30
отчет на СКД с управляемой формой
23 Zhora_Vlg
 
11.05.12
17:30
закрытие заказов стандартное из УТ10
24 Kuein
 
11.05.12
17:36
(21) Если после записи документа все получилось, то может быть использовать ПолучитьСсылкуНового() для еще не записанного документа и оперировать полученным GUID? Предложение высказано в режиме бреда, так как с УФ я знаком не очень.
25 mikecool
 
11.05.12
17:37
один раз получил форму и меняй ей видимость, по типу "hide - view" или как это в дельфи писалось )
не надо получать то, что уже раз получено
26 Zhora_Vlg
 
11.05.12
17:41
(25) а я не могу разобраться, где мне хранить объект форма, в реквизитах такой объект не храниться
27 mikecool
 
11.05.12
17:42
(26) в смысле, где его хранить?
если тебе надо между сервером и клиентом передавать - передавать структуру-коллекцию, заполняй ее данными любую новую форму
иначе - просто скрывай от пользователю форму и показывай когда нужно
28 Zhora_Vlg
 
11.05.12
17:46
ну вот форму я создал в серверной процедуре, заполнил, как только процедура отработала переменная уничтожается и снова эту же форму я не могу получить
29 Zhora_Vlg
 
11.05.12
17:47
нужно где то хранить переменную с объектом форма, а где? если только во временном хранилище
30 Zhora_Vlg
 
11.05.12
17:48
а показывать, прятать в этом нет нужды, она не мешается
31 Zhora_Vlg
 
11.05.12
17:52
(25) "не надо получать то, что уже раз получено"
что бы снова не получать, нужно где то хранить
32 Zhora_Vlg
 
11.05.12
18:41
Сделал через "Временное хранилище". Все работает.
Всем спасибо.
Ошибка? Это не ошибка, это системная функция.