Отказ от модальности. Баг в типовых конфигурациях

25.09.14

Задачи пользователя - Адаптация типовых решений

Не буду расписывать про сам отказ от модальности. Думаю если Вы это читаете, то уже знаете о чем речь. Дело в том, что при рефакторинге некоторых обработок я столкнулся с багом, который, как мне кажется есть почти во всех типовых конфигурациях.

Предположим, что во внешней обработке на форме в событии "ПриОткрытии" использовалась комбинация "Ответ = Вопрос(...)", которую в результате рефакторинга заменили на "ПоказатьВопрос(Новый ОписаниеОповещения(...), ...)". Если эту обработку открыть через "Файл -> Открыть...", то код нормально отрабатывает, вопрос задается и ответ на вопрос обрабатывается. Если же эту обработку поместить в "Дополнительные отчеты и обработки", то в этом случае при открытии обработки вопрос "моргает" (появляется и тут же исчезает). Я не случайно выделил в тексте название события, так как если использовать "ПоказатьВопрос" уже в открытой форме обработки (например, по кнопке), то он работает нормально.

Решил проблему следующим образом:

&НаКлиенте
Процедура ПриОткрытии(Отказ)

    ПодключитьОбработчикОжидания("ПроцедураОбработчикаОжидания", 1, Истина);

КонецПроцедуры

&НаКлиенте
Процедура ПроцедураОбработчикаОжидания()

    ОписаниеОповещения = Новый ОписаниеОповещения("ВопросПриОткрытии", ЭтотОбъект);
    ПоказатьВопрос(ОписаниеОповещения, "Текст вопроса", РежимДиалогаВопрос.ДаНет);

КонецПроцедуры

&НаКлиенте
Процедура ВопросПриОткрытии(РезультатВопроса, ДополнительныеПараметры) Экспорт

    // Текст процедуры

КонецПроцедуры

См. также

Табличная часть в доп. реквизитах и формирование таблиц в шаблоне docx для 1С:ДО 3.0

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    4452    9    4    

18

Расширение для 1С:УНФ. Автоматическое снятие резервов в Заказах покупателей

Логистика, склад и ТМЦ Адаптация типовых решений Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    2953    4    0    

19

Создать на основании - своя кнопка (БСП). Проблема двух подменю Создать на основании

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    1282    dimanich70    6    

13

Доработка отчета "Связанные документы" (структура подчиненности) для вывода объектов из любого расширения

Адаптация типовых решений Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

Доработка типового отчета "Связанные документы" позволяет просто и быстро расширять состав объектов для построения структуры подчиненности документов, используя объекты основной конфигурации и любых расширений.

1 стартмани

27.10.2023    1994    13    avmartynov    10    

43

Печать непроведенных документов для УТ, КА, ERP. Настройка печати по пользователям, документам и печатным формам

Пакетная печать Печатные формы Адаптация типовых решений Универсальные функции Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Абонемент ($m)

Расширение для программ 1С:Управление торговлей, 1С:Комплексная автоматизация, 1С:ERP, которое позволяет распечатывать печатные формы для непроведенных документов. Можно настроить, каким пользователям, какие конкретные формы документов разрешено печатать без проведения документа.

2 стартмани

22.08.2023    2071    21    progmaster    7    

3
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. SeiOkami 3423 25.09.14 07:17 Сейчас в теме
Только я не понял, зачем показывать вопрос подключением обработчика ожидания?
2. alm_ilya 25 25.09.14 08:58 Сейчас в теме
Потому что если сразу написать "ПоказатьВопрос", то окно с вопросом просто моргнёт и всё. Прочитайте внимательнее описание проблемы, попробуйте воспроизвести, сразу станет понятно. Может быть Вы найдёте другой способ решения?!
3. snic 125 25.09.14 09:11 Сейчас в теме
Тоже самое с "ОткрытьФорму", если расположить в "ПриОткрытии".
Сначала открывается вызываемая форма, а потом форма объекта.
Так же использовал обработчик ожидания с параметром 0,3 сек.
4. b1958 11 26.09.14 16:59 Сейчас в теме
А как решить похожий баг, возникающий при отказе от модальности?

Во внешней обработке на форме в событии "ПередЗакрытием" использовалась Помещен оператор "ПоказатьВопрос(Новый ОписаниеОповещения(...), ...), вместо просто "Вопрос(...".

В результате форма закрывается, а вопрос остается ждать ответа. И не понятно к какой форме он был задан. По-моему здесь самое правильное, чтобы форма закрывалась только после ответа на вопрос. А как это реализовать?

5. alm_ilya 25 26.09.14 23:25 Сейчас в теме
(4) b1958, вот здесь есть статья, в которой решается такая проблема в задаче №2. Пробовали так?
b1958; zoytsa; +2 Ответить
6. zoytsa 27.09.14 09:01 Сейчас в теме
(5) спасибо, статья детально описывает несколько вариантов решения!
7. b1958 11 01.10.14 17:02 Сейчас в теме
(5) Спасибо за ссылку. Надо пробовать.
А как 1С-цы решают эту проблему? Как в статье?
Есть ли в типовых конфигурациях варианты?
8. b1958 11 02.10.14 14:46 Сейчас в теме
(5) Еще раз спасибо! Удалось получить нужный результат: форма не закрывается, пока не получен ответ на вопрос.
12. PerlAmutor 129 26.05.19 09:01 Сейчас в теме
(5) Ссылка перестала работать.
13. Denis_CFO 48 26.05.19 09:06 Сейчас в теме
(12) вот: " "/news/отказ-от-модальных-окон-в-1с-8-3/
ИС почему-то кириллицу в названии сайта "режет".
14. PerlAmutor 129 26.05.19 09:08 Сейчас в теме
(13) ИС её ломает. Вместо адреса сервера там "%20"
15. Denis_CFO 48 26.05.19 09:10 Сейчас в теме
(14) вот и я уже третий раз пытаюсь написать. курсы-по-1с_рф
это что за глюк сайта...
СтрЗаменить("курсы-по-1с_рф", "_", ".");
PerlAmutor; +1 Ответить
16. Xershi 1474 26.05.19 10:05 Сейчас в теме
(15) это алгоритм ИС режет ссыль, так как ресурс коммерческий ака конкурент))
18. Denis_CFO 48 26.05.19 10:23 Сейчас в теме
(16)
ака конкурент
так надо пользователю альтернативу дать на ИС и никто туда ходить не будет. Но это не про ИС :)
Проще ссылки резать :).
Привет, кстати :)
Дмитрий74Чел; +1 Ответить
19. Xershi 1474 26.05.19 10:26 Сейчас в теме
(18) привет. Дорджи пока лучше не придумал=))
Дмитрий74Чел; +1 Ответить
9. PiccaHut001 02.10.14 15:20 Сейчас в теме
(4) b1958, с рефакторингом 1с, как всегда, облажалась.
10. Yashazz 4709 03.10.14 11:47 Сейчас в теме
Ну, моделирование события "ПослеОткрытия" вообще много что помогает сделать, полезная штука. В ряде случаев, особенно при работе с разными асинхронами (не только псевдо-модальными), стартующими при открытии, это единственный выход.
11. Lapitskiy 1057 07.06.15 12:20 Сейчас в теме
все гениальное просто.
Да, и по ссылке тоже полезная инфа.
17. Xershi 1474 26.05.19 10:07 Сейчас в теме
Ну тут не баг, а скорее не запланированная функциональность. Какой вопрос при открытии? Форма еще не открыта, а только открывается. Если написать в ТП, то думаю и через файл порежут.
20. vladir 114 22.09.20 16:41 Сейчас в теме
Спасибо огромное!!! Понадобилось использовать ПоказатьВопрос(...) при открытии доп. внешней обработки. По Вашей методе отрабатывает так как надо!
Оставьте свое сообщение