|   |   | 
| 
 | Управляемые формы | ☑ | ||
|---|---|---|---|---|
| 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) - это косяк) посмеялись     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |