|
Передача параметров через метод Оповестить
| ☑ |
0
creator_mc
16.09.15
✎
11:49
|
Можно ли произвести сохранение полученных данных через метод "Оповестить" ?
в первой форме
&НаКлиенте
Процедура ПараметрыНоменклатурыПриИзменении(Элемент)
Оповестить("НужныйАртикул",Объект.Артикул,ЭтаФорма);
КонецПроцедуры
во второй форме
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия = "НужныйАртикул" Тогда
Объект.АртикулНоменклатуры = Параметр
КонецЕсли
КонецПроцедуры
|
|
1
Остап Сулейманович
16.09.15
✎
11:52
|
(0) Можно. Только Оповестить живет исключительно на Клиенте и позволит передавать только данные доступные на нем же. Можно передать ссылку. Но нельзя передать объект.
|
|
2
SeraFim
16.09.15
✎
11:53
|
Разрешаю
|
|
3
creator_mc
16.09.15
✎
11:54
|
(1)сохранить то нужно только переданное значение
>Можно передать ссылку.
пример можете скинуть ?
|
|
4
Остап Сулейманович
16.09.15
✎
11:57
|
(3) Так у тебя у самого вполне рабочий пример. Зачем тебе еще?
|
|
5
SeraFim
16.09.15
✎
11:58
|
кстати, важный момент, обжегся в начале изучения 1С по незнанию.
Не забудь, что иногда (зависит от задачи) нужно проконтролировать, в какой форме должно сработать оповещение.
К примеру, будет у тебя открыто 3 формы №2. Так вот при оповещении из формы №1 оповестятся ВСЕ 3 формы №2.
|
|
6
creator_mc
16.09.15
✎
12:01
|
(5) Как этого избежать ?
Есть ли варианты ?
|
|
7
SeraFim
16.09.15
✎
12:11
|
(6) зависит от задачи.
Вообще можно какой-то ключ таскать. То есть при открытии формы1 из формы 2 мы передаем ключ. Потом при оповещении форма1 передает этот же ключ и все формы2 проверяют - тот ли это ключ. Так определяется та самая форма2, которая открыла форму1.
Но вообще оповещение создано немножко для других целей. Для передачи каких-то значений между формами есть обработчики выбора. Моя задачка, к примеру, правильно решалась именно через выбор.
|
|
8
creator_mc
16.09.15
✎
12:35
|
(7)Метод ОбработкаВыбора не подходит между двумя справочниками с разными формами. Пришлось пробовать через метод Оповестить.
|
|