|
Как отрыть управляемую форму в тонком клиенте? | ☑ | ||
---|---|---|---|---|
0
SherifSP
23.03.17
✎
21:30
|
Здравствуйте друзья, изучаю управляемые формы и столкнулся с проблемой открытия формы, буду благодарен за дельный совет.
&НаКлиенте Процедура СоздатьДокумент(Команда) СоздатьДокументНаСервере(); КонецПроцедуры &НаСервере Процедура СоздатьДокументНаСервере() НовыйДок = Документы.РеализацияТоваровУслуг.СоздатьДокумент(); НовыйДок.ОбработкаЗаполнения(Объект.Ссылка, Истина); ФормаДок = НовыйДок.ПолучитьФорму("ФормаДокумента"); ФормаДок.Открыть(); КонецПроцедуры |
|||
1
wertyu
23.03.17
✎
21:31
|
неправильно
|
|||
2
SherifSP
23.03.17
✎
21:31
|
(1) А как нужно?
|
|||
3
wertyu
23.03.17
✎
21:35
|
ОткрытьФорму(НазваниеФормы, ПараметрыФормы)
|
|||
4
SherifSP
23.03.17
✎
21:38
|
(3) Эта функция доступна только на клиенте
|
|||
5
SherifSP
23.03.17
✎
21:39
|
(3) У меня не получается вернуть НовыйДок с сервера на клиент
|
|||
7
H A D G E H O G s
23.03.17
✎
21:40
|
&НаКлиенте
Процедура ОткрытьФормуНового(Команда) Форма = ПолучитьФорму("Документ.ПродажаТоваровУслуг.Форма.ФормаДокумента"); ДанныеФормы = Форма.Объект; ЗаполнитьНаСервере(ДанныеФормы); КопироватьДанныеФормы(ДанныеФормы, Форма.Объект); Форма.Открыть(); КонецПроцедуры &НаСервере Процедура ЗаполнитьНаСервере(НовыйОбъект) НовыйОбъект.Контрагент = Справочники.Контрагенты.НайтиПоКоду("000000005"); КонецПроцедуры |
|||
8
SherifSP
23.03.17
✎
21:46
|
(7)
{Документ.СчетНаОплатуПокупателю.Форма.ФормаДокумента.Форма(307)}: Ошибка при вызове метода контекста (СоздатьДокументНаСервере) СоздатьДокументНаСервере(ДанныеФормы); по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Текст: false |
|||
9
SherifSP
23.03.17
✎
21:47
|
&НаКлиенте
Процедура СоздатьДокумент(Команда) ФормаДок = ПолучитьФорму("Документ.РеализацияТоваровУслуг.Форма.ФормаДокументаОбщая"); ДанныеФормы = ФормаДок.Объект; СоздатьДокументНаСервере(ДанныеФормы); //КопироватьДанныеФормы(ДанныеФормы, Форма.Объект); ФормаДок.Открыть(); КонецПроцедуры &НаСервере Процедура СоздатьДокументНаСервере(НовыйДок) НовыйДок = Документы.РеализацияТоваровУслуг.СоздатьДокумент(); НовыйДок.ОбработкаЗаполнения(Объект.Ссылка, Истина); КонецПроцедуры |
|||
10
PuhUfa
23.03.17
✎
22:33
|
Делать начальное заполнение в
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) КонецПроцедуры уже не модно? |
|||
11
H A D G E H O G s
23.03.17
✎
23:27
|
(9) ты написал дичь. Разбирайся
|
|||
12
AlvlSpb
24.03.17
✎
00:30
|
(0) НаКлиенте у вас почти все правильно. Должно быть так:
&НаКлиенте Процедура СоздатьДокумент(Команда) ФормаДок = ПолучитьФорму("Документ.РеализацияТоваровУслуг.Форма.ФормаДокументаОбщая"); ДанныеФормы = ФормаДок.Объект; СоздатьДокументНаСервере(ДанныеФормы); КопироватьДанныеФормы(ДанныеФормы, ФормаДок.Объект); ФормаДок.Открыть(); КонецПроцедуры а на сервере кое чего не хватает (кстати, можно НаСерверБезКонтекста) &НаСервереБезКонтекста Функция ЗаполнитьДокументНаСервере(ДанныеФормы); Док = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.РеализацияТоваровУслуг")); Док = Документы.РеализацияТоваровУслуг.СоздатьДокумент(); ЗначениеВДанныеФормы(Док,ДанныеФормы); Единственное, не могу проверить ваш путь к форме "Документ.РеализацияТоваровУслуг.Форма.ФормаДокументаОбщая" Если верный, то все заработает |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |