|
v7: Передача значений через Контекст | ☑ | ||
---|---|---|---|---|
0
Ыщъ
25.12.13
✎
15:15
|
Обработка1 с реквизитом "МестоХранения" вызывает Обработку2, передает ей Контекст:
ОткрытьФорму("Отчет", Контекст, КаталогИБ() + "ExtForms\SelectCell.ert"); В Обработке2: Процедура Выбрать() МХ = СокрП(Откуда.МестоХранения); Если ПустаяСтрока(МХ) = 0 Тогда МХ = МХ + ","; КонецЕсли; МХ = МХ + Ячейка.Код; Откуда.МестоХранения = МХ; Форма.Закрыть(); КонецПроцедуры //--------------------------------------------------------------------------------------- Процедура ПриОткрытии() Откуда = Форма.Параметр; Сформировать(); КонецПроцедуры; В итоге: В Обработка2 МестоХранения = "" Значение появляется в момент повторного вызова Обработка2. Модально открывать Обработка2 нельзя. Что делать? |
|||
1
Fedor-1971
25.12.13
✎
15:19
|
Как вариант: передай код склада, зачем весь контекст гонять?
|
|||
2
Ыщъ
25.12.13
✎
15:20
|
(1) Как передать?
|
|||
3
acanta
25.12.13
✎
15:20
|
Загонять все передаваемые параметры в список значений и передавать контекстом его.
|
|||
4
palpetrovich
25.12.13
✎
15:22
|
так наверное
ОткрытьФорму("Отчет", МестоХранения, КаталогИБ() + "ExtForms\SelectCell.ert"); |
|||
5
Fedor-1971
25.12.13
✎
15:23
|
ОткрытьФорму("Отчет", МестоХранения.Код...
|
|||
6
Ыщъ
25.12.13
✎
15:28
|
Проблема в том, что немодально Обработка1 не ждёт отработки Обработки2 и двигает дальше.
Попытка передать через глобальную переменную с циклом ожидания вешает всё. глБуферОбмена = "ВыбратьЯчейку"; ОткрытьФорму("Отчет", Контекст, КаталогИБ() + "ExtForms\SelectCell.ert"); Пока глБуферОбмена = "ВыбратьЯчейку" Цикл мПауза(1); КонецЦикла; МестоХранения = глБуферОбмена; Форма Обработка2 открывается и всё - висяк |
|||
7
Ыщъ
25.12.13
✎
15:30
|
+(6)
В Обработка2 ГлБуферОбмена = МХ; вместо: Откуда.МестоХранения = МХ; |
|||
8
Ыщъ
25.12.13
✎
15:38
|
Дух Ёпрста кто умеет вызывать?
Покамлайте, плз. |
|||
9
КонецЦикла
25.12.13
✎
16:27
|
Вообще непонятно в чем проблема...
В ТиС есть масса примеров всяких открытий всяких обработок Обработка2 - Это служебная обработка? Какая на нее возложена функция? |
|||
10
Ыщъ
25.12.13
✎
16:33
|
(9) Вернуть в Обработка1 выбранную ячейку ТРВД на форме Обработка2
|
|||
11
ADirks
25.12.13
✎
16:35
|
(0) ВК предлагать?
|
|||
12
acanta
25.12.13
✎
16:46
|
ОткрытьПодбор()
ВыполнитьВыбор() было? |
|||
13
acanta
25.12.13
✎
16:48
|
+ОбработкаПодбора() при этом обработки сохраняют связь кто кого вызвал и контексты тоже по-моему работают..Немодально. можно заказать множественный подбор - т.е. вообще не закрывать вторую.
|
|||
14
Хряк
25.12.13
✎
16:54
|
Процедура Выбрать()
МХ = СокрП(Откуда.МестоХранения); Если ПустаяСтрока(МХ) = 0 Тогда МХ = МХ + ","; КонецЕсли; МХ = МХ + Ячейка.Код; Откуда.МестоХранения = МХ; Форма.Откуда.Обновить();//!!!!! Форма.Закрыть(); КонецПроцедуры |
|||
15
fedoss
25.12.13
✎
16:55
|
(14) Откуда.Форма.Обновить();
|
|||
16
Хряк
25.12.13
✎
16:55
|
блин
Откуда.Форма.Обновить(); |
|||
17
КонецЦикла
25.12.13
✎
17:43
|
(10) Выбор интерактивный? Почему тогда не модально открыть?
|
|||
18
GreyK
25.12.13
✎
17:55
|
(0) Догадайся с трёх раз зачем в глобальнике ТиС существует функция ГлВзятьКонтекст().
|
|||
19
Эльниньо
25.12.13
✎
18:47
|
(17) Модально не покажет ТРВД.
|
|||
20
Злопчинский
25.12.13
✎
20:07
|
(6) > Проблема в том, что немодально Обработка1 не ждёт отработки Обработки2 и двигает дальше.
. ничего подобного. . //--------------------------------------------------------------------------------------- Процедура ПриОткрытии() Откуда = Форма.Параметр; СтатусВозврата(0); //собака порылась!!1 Сформировать(); //всякие действия вычислительные КонецПроцедуры; В итоге родительская обработка вызовет дочку - отработает ПриОткрытии() вернется в родительскую - родительская только после этого пойдет дальше |
|||
21
Эльниньо
25.12.13
✎
21:57
|
(18) Не тот случай.
|
|||
22
Ыщъ
26.12.13
✎
11:50
|
(20) Всё бы хорошо, но мне в дочке надо произвести некие действия:
Процедура Выбрать() на кнопке. Помогло (15). Спасибо. Ларчик просто открывался, а я дятел. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |