Имя: Пароль:
1C
 
Просьба проверить как работает ПоказатьВопрос
0 WED
 
10.10.19
10:47
Платформа 8.3.15.1489.

Код:

        Обработчик = Новый ОписаниеОповещения("ОбработчикПослеВопроса", ЭтотОбъект);
        ТекстВопроса = "Текст вопроса";
        СписокКнопок = Новый СписокЗначений;
        СписокКнопок.Добавить(КодВозвратаДиалога.ОК, "Ага");
        СписокКнопок.Добавить(КодВозвратаДиалога.Отмена, "Не-а");
        ПоказатьВопрос(Обработчик, ТекстВопроса, СписокКнопок, 5, КодВозвратаДиалога.ОК,, КодВозвратаДиалога.ОК);


Прошу проверить наличие бага:
Если окно вопроса закрывается по таймауту, то Результат всегда равен КодВозвратаДиалога.Отмена, а не тому, что установлено в ПоказатьВопрос(...)
1 vicof
 
10.10.19
10:50
С чего это баг?
2 vicof
 
10.10.19
10:50
Вася не нажал ни одну кнопку, значит отменить все.
3 Василий Алибабаевич
 
10.10.19
10:50
(0) Это нормально. Для того, чтобы детерминировать выбор, пользователь ДОЛЖЕН нажать соответствующую кнопку.
Выход времени ожидания за пределы таймаута должен означать, что пользователь не решился сделать выбор. А значит операция выбора отменена.
4 WED
 
10.10.19
10:52
(1) (3)
Не нормально, ибо зачем тогда задаётся кнопка тайм-аута?

согласно синтаксис-помощнику:
ПоказатьВопрос(<ОписаниеОповещенияОЗавершении>, <ТекстВопроса>, <Кнопки>, <Таймаут>, <КнопкаПоУмолчанию>, <Заголовок>, <КнопкаТаймаута>)

последний параметр отвечает именно за результат по таймауту и до 8.3.15 он точно отрабатывал как положено.
5 pechkin
 
10.10.19
10:55
по идее должно быть неопределено
6 pechkin
 
10.10.19
10:56
в данном случае вообще не может быть кнопки отмены, так соства кнопок кастомный
7 WED
 
10.10.19
11:02
(5) По чьей идее? В синтаксис-помощнике описание не изменилось!
(6) При стандартном наборе (например, при РежимДиалогаВопроса.ДаНет) поведение абсолютно такое же - возвращает Отмена
8 vicof
 
10.10.19
11:39
Если надо выполнять какие-то действия без участия пользователя, придуманы регламентные и фоновые задания
9 WED
 
10.10.19
11:42
(8) Не понял как это связано с постом.
10 vicof
 
10.10.19
11:42
(9) Зачем выполнять какие-то действия, если пользователя нет у компа?
11 WED
 
10.10.19
11:47
(10) Мой вопрос связан с тем, что изменилось поведение платформы и теперь оно не совпадает с описанием и именно это я прошу проверить.
А разговаривать о трактовке и способе обработки неверного поведения смысла не вижу никакого.
12 vicof
 
10.10.19
12:08
(11) Напиши в 1С
13 hhhh
 
10.10.19
12:17
(11) а это читал в синтакс помощнике?

<КнопкаТаймаута> (необязательный)
Тип: Произвольный.
Определяет кнопку (по типу кнопки или по связанному с ней значению), на которой отображается количество секунд, оставшихся до истечения таймаута.
14 WED
 
10.10.19
18:36
(13) Конечно читал. И всегда по таймауту возвращалось именно то, что указано как "КнопкаТаймаута" в ПоказатьВопрос(..). А вот обновились на 8.3.15 и вылез описанный баг - всегда возвращается КодВозвратаДиалога.Отмена
15 WED
 
10.10.19
18:37
(12) Напишу. Просто хотелось сначала убедиться, что это не только у меня "лыжи не едут" :)
16 pechkin
 
10.10.19
18:42
в СП вообщето написано
В случае закрытия диалога по истечении времени ожидания возвращается значение Таймаут.
17 pechkin
 
10.10.19
18:44
кнопка таймаута, это не то что будет возвращаться, а то где будет часы тикать
18 WED
 
10.10.19
19:11
(17) Читаем внимательно в СП про результат вызова:

<ОписаниеОповещенияОЗавершении> (обязательный)
Тип: ОписаниеОповещения.
Содержит описание процедуры, которая будет вызвана после закрытия окна ввода значения со следующими параметрами:
<РезультатВопроса> - результат выбора пользователя: значение системного перечисления или значение, связанное с нажатой кнопкой. В случае закрытия диалога по истечении времени - значение Таймаут,

Последнее предложение говорит, что по таймауту результат именно то, что задано как КнопкаТаймаута, а значит платформа работает неверно.
19 WED
 
10.10.19
19:16
Хотя возможно я неверно трактую понятие "значение Таймаут" и с этого релиза это КодВозвратаДиалога.Отмена, хотя раньше и был именно КнопкаТаймаута в параметрах ПоказатьВопрос(...)
20 WED
 
10.10.19
19:19
У кого есть под рукой платформа 8.3.12 - загляните, пожалуйста, в синтаксис-помощник на предмет изменения описания в части возвращаемого значения у ПоказатьВопрос()
21 RomaH
 
naïve
11.10.19
06:58
(0) 1565 - аналогичное поведение
22 RomaH
 
naïve
11.10.19
06:59
(0) в документации описания изменения по таймауту не нашел...
23 azt-yur
 
11.10.19
07:53
Релиз 8.3.13.1644 в РезультатВопроса возвращается КодВозвратаДиалога.Таймаут, в СП (18) так и написано
24 azt-yur
 
11.10.19
07:57
(23) 8.3.15.1565 также возвращается КодВозвратаДиалога.Таймаут
25 azt-yur
 
11.10.19
08:01
(24) и 8.3.12.1616 также. Не знаю где вы Отмену видели, дальше эксперименты заканчиваю ), больше релизов под рукой нет
26 RomaH
 
naïve
11.10.19
08:25
27 RomaH
 
naïve
11.10.19
08:32
очередной писатель

https://dl.dropboxusercontent.com/s/r5lcq05jriqpfxj/2019-10-11_08h31_28.png?dl=0

синхронный и асинхронный вызовы работают по разному
28 azt-yur
 
11.10.19
08:42
(27) проверял именно в асинхронном вызове, результат Таймаут. Сейчас картинку сброшу
29 azt-yur
 
11.10.19
08:45
30 azt-yur
 
11.10.19
08:47
может влияет режим совместимости базы? Проверял на ERP Режим совместимости = Версия 8.3.12
31 RomaH
 
naïve
11.10.19
08:49
(30) значит режим совместимости
(0) пиши в 1С
32 azt-yur
 
11.10.19
08:56
(31) ага, в чистой базе возвращает Отмена
33 WED
 
11.10.19
11:10
(31) (32)

Спасибо большое!