|
Как на клиенте открыть форму нового документа, созданного на сервере | ☑ | ||
---|---|---|---|---|
0
bahtik
06.12.12
✎
12:18
|
Здравствуйте!
Подскажите, пожалуйста, как мне на клиенте открыть форму нового документа, созданного на сервере: &НаСервереБезКонтекста Процедура СерверСформироватьЗаявкуНаЗакупку(Период, Склад) Док = Документы.ЗаявкаНаЗакупку.СоздатьДокумент(); //Установка реквизитов документа ... КонецПроцедуры // СформироватьЗаявкуНаЗакупку(Склад) &НаКлиенте Процедура СформироватьЗаявкуНаЗакупку(Команда) СерверСформироватьЗаявкуНаЗакупку(Период, Склад); КонецПроцедуры |
|||
1
vicof
06.12.12
✎
12:19
|
ОткрытьФорму()
и кури ее параметры |
|||
2
vicof
06.12.12
✎
12:20
|
тока открывать надо на клиенте
|
|||
3
vicof
06.12.12
✎
12:20
|
ссылку с сервера вернуть
|
|||
4
bahtik
06.12.12
✎
12:21
|
То, что ОктрытьФорму(), я понимаю, а вот как именно того документа? Ссылки то у него еще нет...
|
|||
5
vicof
06.12.12
✎
12:22
|
(4) Документа тоже еще нет. И что ты открывать собрался?
|
|||
6
bahtik
06.12.12
✎
12:23
|
(5) Т.е. я не могу открыть форму нового, еще не записанного документа? Не верится что-то...
|
|||
7
Водяной
06.12.12
✎
12:24
|
Попробуй так:
&НаСервереБезКонтекста Процедура СерверСформироватьЗаявкуНаЗакупку(Период, Склад,Док) Док = Документы.ЗаявкаНаЗакупку.СоздатьДокумент(); //Установка реквизитов документа ... КонецПроцедуры // СформироватьЗаявкуНаЗакупку(Склад) &НаКлиенте Процедура СформироватьЗаявкуНаЗакупку(Команда) Перем Док; СерверСформироватьЗаявкуНаЗакупку(Период, Склад,Док); ОткрытьЗначение(док); КонецПроцедуры |
|||
8
vicof
06.12.12
✎
12:26
|
Давай сначал, нахрена тебе все это нужно?
|
|||
9
bahtik
06.12.12
✎
12:27
|
(7) "Док", как объект, не передашь на сервер и обратно. А ссылки еще нет.
|
|||
10
bahtik
06.12.12
✎
12:28
|
(8) Нужно просто сформировать новый документ и отобразить его форму на экране. Если это можно сделать как-то по другому, подскажите, как.
|
|||
11
bahtik
06.12.12
✎
12:30
|
Может я вообще не тем путем пошел? Может не нужно создавать объект, а просто окрыть форму и заполнить ее?
|
|||
12
bahtik
06.12.12
✎
12:30
|
...И все это на клиенте.
|
|||
13
bahtik
06.12.12
✎
12:30
|
Как правильно это делается, может кто-нибудь подсказать?
|
|||
14
Водяной
06.12.12
✎
12:31
|
(9) конечно, передается не объект а структура содержащая данные формы
|
|||
15
ll13
06.12.12
✎
12:32
|
||||
16
К_Дач
06.12.12
✎
12:33
|
Форма и документ-объект существуют отдельно. Если ты на сервере изменил объект, тебе нужно и форму тоже обновить. У формы есть главный реквезит (жирным выделен). Через него форма связана с данными на сервере. Передавай структуру и превращай ее в данные формы
|
|||
17
К_Дач
06.12.12
✎
12:34
|
(14) опредил))
|
|||
18
yuch
06.12.12
✎
12:36
|
Токо сейчас в логову пришло:
НачатьТранзакцию(); Ссылка = ФункцияВызывающаяНаСеререИЗаполняющаРеквизитыСЗаписать(); Параметр = Новый Структура("Ключ", Ссылка); ОткрытьФорму("ФорманНашегоДокмента",Параметры); ОтменитьТранзакцию(); |
|||
19
vicof
06.12.12
✎
12:36
|
(18) не логову, а в логово
|
|||
20
bahtik
06.12.12
✎
12:36
|
(16) "Через него форма связана с данными на сервере"
Как я понимаю, связана она через Объект.Ссылка. Вот в этом у меня загвоздка - ссылки нет, как мне их связать? Или в данном случае не нужно связывать? И тогда я на сервере создаю объект, заполняю его, потом передаю все заполненные данные на клиент, заполняю форму на клиенте, а потом при записи создается совершенно другой объект... Так? |
|||
21
yuch
06.12.12
✎
12:37
|
(20) Не придирайтесь к очепяткам уважаемый.
Хоть и прикольно получилось))) |
|||
22
ll13
06.12.12
✎
12:38
|
(20) Тебе в (15) все написал.
|
|||
23
vicof
06.12.12
✎
12:38
|
(20) СоздатьДокумент() создает объект в оперативной памяти, а записать помещает его в базу данных на жестком диске.
|
|||
24
bahtik
06.12.12
✎
12:38
|
(15) Все, почитал, все ясно. Спасибо!
|
|||
25
bahtik
06.12.12
✎
12:40
|
(23) Но в данном случае это все же не будет один и тот же объект, если я правильно понимаю...
|
|||
26
К_Дач
06.12.12
✎
12:42
|
(20) ну тебе же дали ссылку уже. Читай внимательно. Получаешь форму. Получаешь ее основной реквизит. Заполняешь этот реквизит на сервере так, как тебе надо. Передаешь уже заполненную структуру (именно структуру) в реквизит формы. Открываешь форму, наслаждаешься
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |