|
Вопрос перед открытием внешней обработки | ☑ | ||
---|---|---|---|---|
0
Масянька
21.08.19
✎
14:21
|
День добрый!
Внешняя обработка (УФ). Как задать вопрос и в зависимости от ответа - открывать форму или нет? Спасибо. |
|||
1
Euguln
21.08.19
✎
14:26
|
ПриОткрытии (OnOpen)
Синтаксис: ПриОткрытии(<Отказ>) Параметры: <Отказ> Тип: Булево. Признак отказа от открытия формы. Если в теле процедуры-обработчика установить данному параметру значение Истина, то открытие формы произведено не будет. Значение по умолчанию: Ложь. Описание: Возникает на клиенте при открытии формы, до показа окна пользователю. Следует учитывать, что открытие в данном обработчике другой формы влечет за собой сначала активацию открываемой формы, а затем активацию текущей формы. |
|||
2
Масянька
21.08.19
✎
14:28
|
(1) А вопрос-то где задавать?
|
|||
3
НадюшаЯЯ
21.08.19
✎
14:30
|
Сначала открывать форму вопроса, затем если да открывать форму обработки
|
|||
4
Ёпрст
21.08.19
✎
14:30
|
(2) в этой проце
|
|||
5
Ёпрст
21.08.19
✎
14:30
|
если ответ отрицательный, отказ = истина
|
|||
6
Масянька
21.08.19
✎
14:30
|
(3) Не понял...
|
|||
7
Масянька
21.08.19
✎
14:31
|
(5) Ты добрый - кинь примером, плиз...
У меня уже крыша едет от оповещений... |
|||
8
1Садовник
21.08.19
✎
14:32
|
(2) во внешней обработке сделай 2 формы. Первая с вопросом - всегда открывается при запуске. Вторую форму показывай только если правильно ответили в 1й форме.
|
|||
9
Масянька
21.08.19
✎
14:32
|
(5) У меня вот:
&НаКлиенте Процедура ПриОткрытии(Отказ) ЗаголовокВопроса = "Внимание!"; ТекстВопроса = "Данная обработка изменяет данные. |Рекомендуется сделать архив информационной базы. |Продолжать?"; Оповещение = Новый ОписаниеОповещения("Продолжать", ЭтотОбъект, Параметры); ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Нет, ЗаголовокВопроса); КонецПроцедуры Дальше - затык... |
|||
10
unbred
21.08.19
✎
14:35
|
у обработки может быть не одна форма,прикинь)
|
|||
11
НадюшаЯЯ
21.08.19
✎
14:36
|
(9) этот код не поможет вам. Т.к нужна модальность чтобы все сработало, а вопрос вы задаете немодальный а значит процедура при открытии сработает
|
|||
12
Масянька
21.08.19
✎
14:37
|
(10) Да ладно...
|
|||
13
RomanYS
21.08.19
✎
14:37
|
(9) Если синхронные вызовы запрещены, то проще сделать(8)
|
|||
14
Масянька
21.08.19
✎
14:37
|
(11) А какой поможет?
|
|||
15
НадюшаЯЯ
21.08.19
✎
14:37
|
в (8) более подробно все описано
|
|||
16
НадюшаЯЯ
21.08.19
✎
14:37
|
(14) поможет создание двух форм, одна первая будет копировать форму вопроса, а вторая открываться по кнопке "Да"
|
|||
17
Cyberhawk
21.08.19
✎
14:39
|
(11) Поможет - в обработчик оповещения передать форму и там ее же и закрывать
|
|||
18
Масянька
21.08.19
✎
14:40
|
(17) А можно попросить код?
|
|||
19
Масянька
21.08.19
✎
14:40
|
+ (18) Хоть приблизительно...
|
|||
20
Cyberhawk
21.08.19
✎
14:40
|
(18) Можно
|
|||
21
RomanYS
21.08.19
✎
14:41
|
(17) Это не соответствует ТЗ))) Форма же откроется. Закрывать не честно)
|
|||
22
НадюшаЯЯ
21.08.19
✎
14:41
|
(18) &НаКлиенте
Процедура ПриОткрытии(Отказ) ЗаголовокВопроса = "Внимание!"; ТекстВопроса = "Данная обработка изменяет данные. |Рекомендуется сделать архив информационной базы. |Продолжать?"; Оповещение = Новый ОписаниеОповещения("Продолжать", ЭтотОбъект, Параметры); ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Нет, ЗаголовокВопроса); КонецПроцедуры &НаКлиенте Процедура Продолжать(Результат, Параметры) Экспорт Если Результат = КодВозвратаДиалога.Нет Тогда Закрыть(); КонецЕсли; КонецПроцедуры |
|||
23
НадюшаЯЯ
21.08.19
✎
14:42
|
Не могу понять, что у вас вызывает затруднение
|
|||
24
Ёпрст
21.08.19
✎
14:43
|
на вот, балуйся
&НаКлиенте Процедура ПриОткрытии(Отказ) Если НЕ ОткрыватьБезВопроса Тогда Отказ = Истина; Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопроса", ЭтаФорма); ПоказатьВопрос(Оповещение, "Открыть документ?", РежимДиалогаВопрос.ДаНет, 0); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПослеЗакрытияВопроса(Результат, Параметры) Экспорт Если Результат = КодВозвратаДиалога.Да Тогда ОткрыватьБезВопроса = Истина; ЭтаФорма.Открыть(); КонецЕсли; КонецПроцедуры |
|||
25
Cyberhawk
21.08.19
✎
14:44
|
(21) Ну тогда чтоб совсем честно - отказ в ПриОткрытии в зависимости от переменной / реквизита формы, первый раз отказ = истина, потом если на вопрос ответили правильно то снова ОткрытьФорму.
Но это ебля какая-то. |
|||
26
Cyberhawk
21.08.19
✎
14:45
|
Если строго-настрого нельзя показывать форму, поверх которой задается вопрос, тогда конечно же через две формы кошернее
|
|||
27
Ёпрст
21.08.19
✎
14:45
|
||||
28
НадюшаЯЯ
21.08.19
✎
14:47
|
(25) почему бы и не поебаться?)
|
|||
29
RomanYS
21.08.19
✎
14:50
|
(25) в (21) конечно шутка. Но если (24) работает, то "е.ля" минимальная. Хотя выглядит конечно странновато.
|
|||
30
Ёпрст
21.08.19
✎
14:53
|
(29) работает
|
|||
31
RomanYS
21.08.19
✎
14:57
|
(30) ОткрыватьБезВопроса реквизит формы или переменная объявленная на клиенте? Хотя, наверное, оба варианта должны тогда работать
|
|||
32
Масянька
21.08.19
✎
15:04
|
(30) Как всегда - огромное спасибо!
Будешь в наших краях - маякни. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |