|
Управляемые формы | ☑ | ||
---|---|---|---|---|
0
Pandoch
07.11.13
✎
13:40
|
Добрый день! У меня есть обработка. Нужно по нажатию кнопки создать документ, заполнить его некоторыми данными, после открыть форму этого документа управляемую, для дозаполнения табличной части документа интерактивно данными и уже после этого проводить. Возникли проблемы с клиент-серверным взаимодействием. Каков общий механизм обработки таких ситуаций? Дело в том что данные в документ созданный заполняются, после выполнения метода из модуля обработки,т.е. нужно заходить в функцию на сервере, чтобы использовать метод РевизитФормыВЗначение:
Модуль = РеквизитФормыВЗначение("Объект"); Ответ = Модуль.Инициализация(); Если Ответ Тогда ЗначениеВРеквизитФормы(Модуль, "Объект"); Результат = Модуль.HotelAvail(); //теперь тут надо создать документ и заполнить его данными из "Результата" КонецЕсли; Если я создам документ здесь, на сервере - открыть форму не получается. как это сделать? |
|||
1
zak555
07.11.13
✎
13:42
|
> Модуль.Инициализация();
> Модуль.HotelAvail(); что тут ? |
|||
2
Pandoch
07.11.13
✎
13:46
|
(1) - это функции обработки. Там совершается обмен сообщениями soap и в "Результате" я получаю объектXDTO, данными из которого нужно заполнить документ
|
|||
3
GROOVY
07.11.13
✎
13:48
|
Передаешь все данные заполнения через параметры формы и используешь метод глобального контекста "ОткрытьФорму". на клиенте.
|
|||
4
Pandoch
07.11.13
✎
14:08
|
(3) можно поподробнее, как это реализуется
|
|||
5
Pandoch
07.11.13
✎
15:09
|
Мне предложили заполнить значения "Результата" в массив структур и заполнить документ-открыть форму из клиента. Но на клиенте не хочет выполнять
ДокументПубликации = Документы.БИТ_Отель_ПубликацияКатегорий_TL.СоздатьДокумент(); Пишет, что Переменная не определена (Документы). С клиента нельзя создавать документы? |
|||
6
Pandoch
07.11.13
✎
15:09
|
Мне предложили заполнить значения "Результата" в массив структур - и отправить этот массив с сервера на клиент
|
|||
7
Холодильник
07.11.13
✎
15:11
|
(5) с клиента нельзя создавать документы.
можешь передавать параметры в форму дока, в форме дока их обрабатывать при созд на сервере |
|||
8
Pandoch
07.11.13
✎
15:17
|
(7) мне нужно, заполнив некоторые параметры документа после этого его открыть для интерактивной работы еще (нужно руками еще вводить некоторые параметры), после этого проводить только.Т.е. надо форму открыть. А ее открыть можно только на клиенте. Я не могу понять как организовать это взаимодействие сервер-клиент
|
|||
9
Salimbek
07.11.13
✎
15:35
|
(8) У меня почти такой же вопрос возник, но т.к. еще много других задач, эту отложил "в долгий ящик", но за темой послежу )))
|
|||
10
Холодильник
07.11.13
✎
15:36
|
(8) ну а чем проблема создать и заполнить док на сервере, а на клиенте открыть его форму
|
|||
11
GROOVY
07.11.13
✎
15:36
|
(8) Тебе же уже дважды ответили. В метод "ОткрытьФОрму" передавай параметры заполнения.
|
|||
12
Холодильник
07.11.13
✎
15:36
|
+ ОткрытьЗначение(МойДок) на клиенте
|
|||
13
sapphire
07.11.13
✎
15:37
|
(0) На нимбостарте статья на днях была. Лень постить.
|
|||
14
GROOVY
07.11.13
✎
15:37
|
(12) А если юзер в итоге откажется от записи документа?
|
|||
15
sapphire
07.11.13
✎
15:37
|
(11) О.. Я думал ты тоже на нимбостарте :)
|
|||
16
GROOVY
07.11.13
✎
15:37
|
(15) Я тут.
|
|||
17
Pandoch
07.11.13
✎
15:38
|
(9) решила проблему так:
ФормаНового = ПолучитьФорму("Документ.БИТ_Отель_ПубликацияКатегорий_TL.Форма.ФормаДокумента"); ДанныеФормы = ФормаНового.Объект; //так буду иметь доступ к данным документа для заполнения МассивПоКатегориям = ПубликацияКатегорий(); //здесь получаю массив структур, который получаю на сервере функцией публикация категорий Для каждого Категория Из МассивПоКатегориям Цикл СтрокаПоКатегории = ДанныеФормы.Категории.Добавить(); СтрокаПоКатегории.Обозначение = Категория.Обозначение; СтрокаПоКатегории.Категория = Категория.Количество; СтрокаПоКатегории.Вместимость = Категория.Вместимость; КонецЦикла; ФормаНового.Открыть(); |
|||
18
Холодильник
07.11.13
✎
15:39
|
(14) пусть делает, что хочет. открывается форма ОБЪЕКТА
|
|||
19
DexterMorgan
07.11.13
✎
15:51
|
(17) фейспалм
Расширение управляемой формы для документа (Managed form extension for documents) ЗначенияЗаполнения (FillingValues) Описание: Тип: Структура. Параметры заполнения нового объекта. Ключ структуры - имя реквизита формы, значение - заполняемое значение. |
|||
20
DexterMorgan
07.11.13
✎
15:53
|
(7) Зачем их обрабатывать в форме документа?
|
|||
21
GROOVY
07.11.13
✎
15:55
|
(18) Если объект не записан?
|
|||
22
GROOVY
07.11.13
✎
15:56
|
Прикольно читать, как один не читает что ему советуют, а другой, видимо по незнанию, предлагает решения из обычных форм.
|
|||
23
DexterMorgan
07.11.13
✎
15:59
|
(22) Это кому сообщение?
|
|||
24
Rovan
гуру
07.11.13
✎
16:03
|
(17) можно так
СтрокаПоКатегории = ДанныеФормы.Категории.Добавить(); ЗаполнитьЗначенияСвойств( СтрокаПоКатегории, Категория); |
|||
25
GROOVY
07.11.13
✎
16:04
|
(23) Мысли вслух.
|
|||
26
DexterMorgan
07.11.13
✎
16:05
|
(24)
СтрокаПоКатегории.Категория = Категория.Количество; |
|||
27
DexterMorgan
07.11.13
✎
16:05
|
(25) Кого то же имел ввиду?)
|
|||
28
Холодильник
07.11.13
✎
16:07
|
(21)
Синтаксис: ОткрытьЗначение(<Значение>) Параметры: <Значение> (обязательный) Тип: Произвольный. Значение любого типа, который может быть показан системой в диалоге. |
|||
29
GROOVY
07.11.13
✎
16:08
|
(28) Я в курсе. И что туда передать если объект не записан?
|
|||
30
DexterMorgan
07.11.13
✎
16:08
|
ЗначенияЗаполнения = Новый Структура();
ЗначенияЗаполнения.Вставить("Обозначение", Категория.Обозначение); ЗначенияЗаполнения.Вставить("Категория", Категория.Количество); ЗначенияЗаполнения.Вставить("Вместимость", Категория.Вместимость); ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", ЗначенияЗаполнения) ОткрытьФорму("Документ.БИТ_Отель_ПубликацияКатегорий_TL.Форма.ФормаДокумента", ПараметрыФормы); |
|||
31
Холодильник
07.11.13
✎
16:12
|
(29) объект
|
|||
32
GROOVY
07.11.13
✎
16:13
|
(31) Прикладной объект на клиенте? Это как?
|
|||
33
Холодильник
07.11.13
✎
16:14
|
(32) никак)
ну можно через реквизит формы изголиться |
|||
34
GROOVY
07.11.13
✎
16:15
|
(33) Не получится.
|
|||
35
Pandoch
07.11.13
✎
16:48
|
(26) - это косяк) посмеялись
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |