|
Как красиво отказать ПриОткрытии() | ☑ | ||
---|---|---|---|---|
0
Shved_72
01.09.16
✎
15:57
|
надо спросить при открытии документа "Хочешь или нет?"
если Нет то не открывать. но при созданииНаСервере не доступны клиентские оповещения а приОткрытии используя асинхронные оповещения форма уже открыта и обратно не возвращается, а в обработчике оповщения заркыть нельзя. чо не так со мной? |
|||
1
Nuobu
01.09.16
✎
15:57
|
Назначить другую форму основной.
|
|||
2
Irbis
01.09.16
✎
15:58
|
ПередОткрытием надо отказывать. А neen уже боржом не поможет
|
|||
3
Shved_72
01.09.16
✎
16:01
|
(2) нет такого предпопредленного события
|
|||
4
aleks_default
01.09.16
✎
16:02
|
ПриОткрытии есть параметр Отказ
|
|||
5
Nuobu
01.09.16
✎
16:02
|
(0) Так же вариант спрашивать на той форме, где оно открывается.
|
|||
6
Fish
01.09.16
✎
16:03
|
(0) Делай свой обработчик команды открытия. Сначала вопрос, а потом уже открытие формы.
|
|||
7
Shved_72
01.09.16
✎
16:07
|
(4) есть, но в не есть вызов
ПоказатьВыборЭлемента(ПослеВыбораЭлемента,"Хочешь?",ТекВид); форма открывается и потом рисуется форма выбора, после выбора переходит в оповещение ПослеВыбораЭлемента и соответсвтенно в ПриОткрытии уже не возвращется для установки Отказа. да и поздно уже коли форма открыта. по асинхронной логике так оно и логично вроде все диалоги идут паралельным лесом и не мешают далать задним дела задним фоном. но как же всетаки отказать крисиво через асинхрон. Процедуры имеющие отказ это только ПриОткрытии и ПриСозданииНаСервере вроде. |
|||
8
Nuobu
01.09.16
✎
16:14
|
Моих постов, что, совсем не видно?
|
|||
9
Deon
01.09.16
✎
16:15
|
(8) Мне вот тоже вариант в (1) больше всех нравится
|
|||
10
Deon
01.09.16
✎
16:16
|
Кстати, можно попробовать событием менеджера документа - ОбработкаПолученияФормы()
Подменяем форму на свою маленькую с вопросом |
|||
11
Jokero
01.09.16
✎
16:18
|
(8) правильный ответ как всегда в (1), но до 100 тема по любому доберется))
|
|||
12
Shved_72
01.09.16
✎
16:45
|
(8) ок. а это единственный вариант?
а через одну форму и ее методы ПриСозданииНаСервере и ПриОткрытии никак чтоли? |
|||
13
Nuobu
01.09.16
✎
16:54
|
(12) Можно.
В главной форме создаёшь переменную, которую можно проверить в "ПриОткрытии". Она будет заполняться из "ПриСозданииНаСервере". Заполняться она будет из дополнительногоПараметра, который ты передашь из другой формы. План следующий: В "ПриОткрытии", если параметр не передан, то "Отказ = Истина;" и Открывай форму "Нравится", "Хочу" и т.д.. Эта форма по кнопке будет открывать форму документа и передавать туда параметр. Дальше в твоей форме документа в "приСозданииНаСервере" отлавливаешь параметр и заполняешь реквизит формы, чтобы потом его проверить в "приОткрытии". О как завернул! |
|||
14
Shved_72
01.09.16
✎
16:58
|
Блин. Я думал уф это красиво
|
|||
15
Nuobu
01.09.16
✎
16:59
|
(13) "Переменная на форме" имелось ввиду "Реквизит формы"
|
|||
16
Nuobu
01.09.16
✎
17:00
|
(14) Это ты еще не дублировал кнопки "Записать" и "провести", чтобы к ним прицепить диалоговые модальные окна.
|
|||
17
aleks_default
01.09.16
✎
17:01
|
А че в обработчике оповещения закрыть-то нельзя?
|
|||
18
Shved_72
01.09.16
✎
17:04
|
(17) Да можно. Но не кашерно форме мелькать когда не надо
|
|||
19
Shved_72
01.09.16
✎
17:06
|
Тогда уж перехватить открытие ваще левой общей формой спросить Оно тебе надо?
|
|||
20
aleks_default
01.09.16
✎
17:10
|
По мне так не красиво что-то спрашивать при открытии формы и в зависимости от ответа открывать или нет. Вот ни разу такой надобности не было. Имхо это не нужно.
|
|||
21
Nuobu
01.09.16
✎
17:21
|
(20) А, блин, точно: если уж пользователь жмакнул на кнопку, то ясно, что он точно хочет глянуть, что там в форме.
|
|||
22
Deon
01.09.16
✎
17:25
|
Короче, поэкспериментировал. Вот так работает:
&НаКлиенте Процедура ПриОткрытии(Отказ) Если НЕ ОткрыватьБезВопроса Тогда Отказ = Истина; Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопроса", ЭтаФорма); ПоказатьВопрос(Оповещение, "Открыть документ?", РежимДиалогаВопрос.ДаНет, 0); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПослеЗакрытияВопроса(Результат, Параметры) Экспорт Если Результат = КодВозвратаДиалога.Да Тогда ОткрыватьБезВопроса = Истина; ЭтаФорма.Открыть(); КонецЕсли; КонецПроцедуры |
|||
23
EvgeniuXP
01.09.16
✎
17:31
|
(0) ты ж не девушка :) открывай всё
|
|||
24
Fragster
гуру
01.09.16
✎
17:57
|
(22) вот это чудо
|
|||
25
Fragster
гуру
01.09.16
✎
17:57
|
мне кажется, это ошибка платформы
|
|||
26
Fragster
гуру
01.09.16
✎
17:57
|
не должно так работать :)
|
|||
27
Deon
01.09.16
✎
18:08
|
(26) Вообще, я хотел проверить, что будет после ответа на вопрос, когда формы уже нет. А она, оказывается, есть )
|
|||
28
Shved_72
01.09.16
✎
18:19
|
А ещё рассказывали есть какие то расширения а в них дескрипторы #Перед.
Может так красивей |
|||
29
Fragster
гуру
01.09.16
✎
18:25
|
(28) мимо
|
|||
30
Рэйв
01.09.16
✎
18:47
|
(0)Да позови ты уже эту бухгалтершу на свидание,нуб:-)
|
|||
31
Рэйв
01.09.16
✎
18:48
|
хочешь или нет, какая романтика!:-)
|
|||
32
Torquader
01.09.16
✎
23:24
|
(27) Форма есть, пока на неё ссылается хоть одна переменная.
Можно сделать проще - закрыть форму, если отказались от открытия. Ну или, самый простой вариант - открывать не саму форму, а форму вопроса, из которой уже открывать основную форму. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |