|
Вопрос по управляемым формам. | ☑ | ||
---|---|---|---|---|
0
Triumph
29.07.11
✎
14:59
|
Имеется обработка с двумя формами, одна из них основная, из основной вызываю вторую форму:
Процедура СменаУстановщика(Команда) ПолучитьФорму("Обработка.АРМ.форма.ФормаСменыУстановщика"); //ф = ЗаполнитьСменуУстановщика(ф); Результат = ОткрытьФормуМодально("Обработка.АРМ.форма.ФормаСменыУстановщика"); КонецПроцедуры |
|||
1
Ненавижу 1С
гуру
29.07.11
✎
14:59
|
прекрасно
|
|||
2
Wobland
29.07.11
✎
15:00
|
Форма=ПолучитьФорму()
Результат=Форма.ОткрытьМодально() не? |
|||
3
Wobland
29.07.11
✎
15:00
|
(0) кстати, да, это ты хвастаешься?
|
|||
4
Triumph
29.07.11
✎
15:01
|
(0)в открывшейся форме реквизиты объекта которые были заполнены - пустые, как открыть эту форму в контексте текущей обработки, чтобы увидеть заполненные реквизиты объекта?
|
|||
5
Ник второй
29.07.11
✎
15:01
|
Передать параметры формы. СП отняли ?
|
|||
6
almar
29.07.11
✎
15:02
|
(4) Передать в Параметрах
|
|||
7
Triumph
29.07.11
✎
15:02
|
(1)браузер чегото подвис, а тут так оперативненько налетели желающие помочь)
|
|||
8
Ник второй
29.07.11
✎
15:03
|
(7) Поможем , еще нагоним и еще поможем.
|
|||
9
Triumph
29.07.11
✎
15:05
|
Насчет параметров, можно пример?как их передать если там ссылочные типы?
|
|||
10
Triumph
29.07.11
✎
15:28
|
Вообщем ничего не сдвинулось,делаю так:
&НаКлиенте Процедура СменаУстановщика(Команда) ПараметрыФормы = новый Структура("Карта, СтарыйУстановщик",Объект.НайденнаяКарта,Объект.ТекущийУстановщик); Результат = ОткрытьФормуМодально("Обработка.АРМ.форма.ФормаСменыУстановщика",ПараметрыФормы); КонецПроцедуры У ФормаСменыУстановщик есть реквизиты формы Карта и СтарыйУстановщик, но они не заполняются:( Как быть? |
|||
11
Axel2009
29.07.11
✎
15:43
|
реквизиты формы которые в плюсике у Объект? или реквизит формы, который сам добавлял?
|
|||
12
anastasia1188
29.07.11
✎
15:45
|
1-ый вариант: посмотри ДанныеЗаполнения при передачи формы.
2-ой вариант: у открытой формы модально прописать: Процедура ПриСозданииНаСервере() Карта = Параметры.Карта; КонецПроцедуры |
|||
13
Triumph
29.07.11
✎
16:10
|
(11) реквизиты объекта(да в плюсике),а не формы
(12) спс 2ой вариант получилось,хм не знал про такую приблуду "Параметры".. казалось они при передаче должны прописаться атоматом,по крайней мере так в примерах к книге "Разработка управляемого интерфейса" делалось но там они простых типов... И все таки вопрос у меня остался, как указать открываемой форме что она должна открыться в контексте текущей обработки? ведь если реквизитов у меня на порядок больше чем 2 то это проблема прописывать их все в структуру и передавать, хочу обращаться через "Объект." к уже заполненным реквизитам. |
|||
14
Axel2009
29.07.11
✎
16:15
|
(13) а реквизиты автоматом заполняются по пути данных. если бы ты не в плюсике сделал реквизиты - заполнилось бы автоматом. не знаю насколько корректным будет прописать в параметрах ОбъектКарта. может и пропишется..
|
|||
15
GROOVY
29.07.11
✎
16:17
|
(13) В открываемою форму передавай параметр "Объект". Все заполнится.
|
|||
16
Axel2009
29.07.11
✎
16:20
|
(15) ну там не Карта, а НайденнаяКарта..
|
|||
17
Axel2009
29.07.11
✎
16:21
|
ПараметрыФормы = Новый Структура("Объект", Новый Структура);
ПараметрыФормы.Объект.Вставить("Карта", Объект.НайденнаяКарта); ПараметрыФормы.Объект.Вставить("СтарыйУстановщик", Объект.ТекущийУстановщ); так если? |
|||
18
Triumph
29.07.11
✎
16:51
|
Вообще это все странно.. через параметры конечно можно работать,но это лишние телодвижения.Зачем тогда в открываемой не основной форме пустой реквизит Объект? какой мне прок от него,по новой заполнять?
|
|||
19
Axel2009
29.07.11
✎
16:52
|
(18) 1с телепатией не страдает..
|
|||
20
GROOVY
29.07.11
✎
16:56
|
В первой форме:
ОткрытьФорму("Обработка.Обработка1.Форма.ДругаяФорма", Новый Структура("Объект",Объект)); В второй форме: &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ЗаполнитьЗначенияСвойств(Объект, Параметры.Объект); КонецПроцедуры |
|||
21
GROOVY
29.07.11
✎
16:59
|
+20 но что то мне не нравится такой метод... Если реквизиты обработки будут хранить существенный объем данных или иметь мутабельные значения наверно все упадет.
|
|||
22
Kookish
29.07.11
✎
17:03
|
(21) Поэтому, когда мне понадобилось сделать что-то подобное с двумя формами на один документ, я просто скрыл все ее элементы и отобразил другие. При возврате вертаю все на место.
|
|||
23
Kookish
29.07.11
✎
17:07
|
Что-то вроде:
&НаКлиенте Процедура ПеревернутьФорму() Если Элементы.Группа1.Видимость Тогда ЭтаФорма.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиФормы.Нет; Элементы.Группа1.Видимость = Ложь; .... ЭтаФорма.Заголовок = "Бла-бла-бла" + Объект.Дата; Иначе ЭтаФорма.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиФормы.Авто; Элементы.Группа1.Видимость = Истина; ... УправлениеФормой(ЭтаФорма); КонецЕсли; КонецПроцедуры И вот так: &НаКлиенте Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка) Если ЭтаФорма.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиФормы.Нет Тогда Отказ = Истина; ПеревернутьФорму(); КонецЕсли; КонецПроцедуры |
|||
24
GROOVY
29.07.11
✎
17:11
|
Если бы это была форма документа или чего то другого, не обработки, то через ключ ее элементарно можно было бы открыть. А у обработки нет такого свойства в параметрах.
|
|||
25
Kookish
29.07.11
✎
17:13
|
(24) Я так сделал для документа, т. к. про ключ не знал тогда. Да и сейчас не знаю :)
|
|||
26
Triumph
29.07.11
✎
17:20
|
(24) вот вот, по ключу получается все прекрасно если справочник или документ
|
|||
27
Kookish
29.07.11
✎
17:20
|
(24) Примерно так?:
ОткрытьФорму("Документ.МойЛюбимый.ФормаВторая", Новый Структура("Ключ", Объект.Ссылка)); И больше ничего не надо? |
|||
28
Kookish
29.07.11
✎
17:21
|
(26) Тогда (23) может помочь.
|
|||
29
Triumph
29.07.11
✎
17:24
|
(26), не спасибо,я очень ленив для таких выкрутасов8)
|
|||
30
Triumph
29.07.11
✎
17:27
|
(28) к тому же такой финт в тонком может вылиться в нехилые тормоза)
|
|||
31
Kookish
29.07.11
✎
17:29
|
(30) С чего бы?
С точки зрения производительности это наиболее оптимальный вариант. Обращений к серверу минимум. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |