|
Передача данных между управляемыми формами | ☑ | ||
---|---|---|---|---|
0
Wefast
17.08.15
✎
11:38
|
В форме1 пишу:
ПараметрыФормы = ОткрытьФормуМодально("Документ.КА_ГрафикПлатежей.Форма.ПараметрыДляЗаполнения"); Во второй форме заполняю реквизиты и жму ОК &НаКлиенте Процедура ОК(Команда) Структура = Новый Структура; Структура.Вставить("СуммаОдногоПлатежаТело",СуммаОдногоПлатежаТело); Структура.Вставить("СуммаОдногоПлатежаПроцент",СуммаОдногоПлатежаПроцент); ЭтаФорма.Закрыть(Структура); КонецПроцедуры В общем так все работает. Вопрос в том как сделать так чтобы при простом закрытии формы ничего не происходило Есть сделать событие ПриЗакрытие на клиенте. Но что там написать, ведь оно срабатывает и при нажатии на кнопку ОК. Нагородить конечно можно всякого, но уверен есть стандартное решение |
|||
1
Cube
17.08.15
✎
11:44
|
Для начала, забудь про модальность: Перевод на управляемые формы
|
|||
2
Господин ПЖ
17.08.15
✎
11:46
|
в данном случае модальность ничего не меняет
|
|||
3
SeraFim
17.08.15
✎
11:52
|
При простом закрытии форма закрывается с Неопределено.
то есть при простом закрытии будет вызвано ЭтаФорма.Закрыть(Неопределено) |
|||
4
Enterprise
17.08.15
✎
12:06
|
(0)
Процедура ОткрытьВторуюФорму() Описание = Новый ОписаниеОповещения("ЗакрытиеВторойФормы", ЭтаФорма); ОткрытьФорму("Документ.КА_ГрафикПлатежей.Форма.ПараметрыДляЗаполнения",,,,,,Описание); КонецПроцедуры &НаКлиенте Процедура ЗакрытиеВторойФормы(Результат, Параметры) Экспорт Если Результат = Неопределено Тогда //значит просто закрыли Иначе //нажали ОК КонецЕсли; КонецПроцедуры Во второй форме оставить всё как есть. P.S. Не проверял |
|||
5
Wefast
17.08.15
✎
12:09
|
Да уже дошел до этого сам посмотрев через отладку что там к чему. Спасибо.
А вот ссылка на срач про модальные окна не помогла. Единственная причина сделать не через модальное окно это то что 1С пишет что откажется в итоге от них |
|||
6
Wefast
17.08.15
✎
12:11
|
(4) эти процедуры какие то события? или к чему они привязаны. У меня там сейчас одна процедура а понадобится 3 и зачем?
|
|||
7
Господин ПЖ
17.08.15
✎
12:12
|
(6) отказ от модальных окон... надо указать событие которое сработает при закрытии формы, т.к. выполнение кода "не останавливается"
|
|||
8
Enterprise
17.08.15
✎
12:14
|
(6) Почему 3? Просто добавится еще одна процедура
|
|||
9
Cube
17.08.15
✎
12:15
|
(5) То есть, делать правильно, это не для тебя? Тебе, тогда, на клюшках надо программировать.
Вон, в (4) уже весь код написан без использования модальности. Но ты его не осилил, потому что не в теме... |
|||
10
Wefast
17.08.15
✎
13:50
|
Я все еще не пойму куда что написать.
Вставил обе эти процедуры в моуль первой формы Вызвал первую процедуру из процедуры кноки по которой у меня она должна вызываться. И вот что пишет: Ошибка инициализации модуля: Документ.КА_ГрафикПлатежей.Форма.ФормаДокумента.Форма по причине: {Документ.КА_ГрафикПлатежей.Форма.ФормаДокумента.Форма(73,22)}: Тип не определен (ОписаниеОповещения) Описание = Новый <<?>>ОписаниеОповещения("ЗакрытиеВторойФормы", ЭтаФорма); Я не пойму сам механизм данного кода. Если как я писал. То я переменной присвоил результат, что возвращала вторая форма при закрытие. И все, с этим я и работал. Тут же что то не очевидное для меня. В какой момент мне вызывать ЗакрытиеВторойФормы? Так же после первой к примеру? (9) ну я тут и написал потому что хочу правильно сделать. |
|||
11
Wefast
17.08.15
✎
14:11
|
В общем заработало и я таки разобрался в этом коде.
|
|||
12
Enterprise
17.08.15
✎
15:57
|
(11) Красавчик
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |