оглавление  Почему возникает ошибка "Использование модальных окон в данном режиме запрещено"?

Почему не работает команда Сообщить?

Проблема

При использовании команды Сообщить есть нюанс, с которым обязательно сталкиваются все ученики школы: в некоторых случаях эта команда не срабатывает.

Нет, она, конечно, срабатывает. Но мы не успеваем увидеть результаты её работы, так как она выводится не в главном окне.

А дело вот в чём. Если в нашей программе вызывается одна из следующих команд ВвестиЧисло, ВвестиДату, ВвестиСтроку, то следующие команды Сообщить мы просто не успеваем увидеть.

Вызов перечисленных команд приводит к тому, что перед пользователем появляется отдельное окно (для ввода информации), которое ломает стандартный механизм вывода сообщений через команду Сообщить. В этом случае результаты команды Сообщить выводятся не в главное, а в диалоговое окно, которое закрывается сразу после ввода значения.

Простой способ решения

Поэтому я всем ученикам рекомендую следующее: если в вашем коде встречается одна из команд ВвестиЧислоВвестиДатуВвестиСтроку, вместо сообщить используйте команду ОткрытьЗначение:

Число = 0;
ВвестиЧисло(Число);
ОткрытьЗначение(Число);

Если такие команды у вас не встречаются, то смело используйте более привычную и удобную команду Сообщить:

Число = 123;
Сообщить(Число);

Правильный способ решения

Либо поместите в модуль управляемого приложения событие ПриНачалеРаботыСистемы и пишите весь наш учебный код в нём. Это событие вызывается уже после того как создано главное окно 1С.

Вот пример:

Процедура ПриНачалеРаботыСистемы()
    Число = 0;
    ВвестиЧисло(Число, "Пожалуйста, введите число");
    Сообщить(Число);
КонецПроцедуры

Если вам непонятна форма написания события ПриНачалеРаботыСистемы, то вероятно вы ещё не дошли до уроков на процедуры и функции. Почему эта процедура называется событием? Потому что её вызывает сама платформа при наступлении определенного момента, в данном случае после создания главного окна приложения.

С уважением,
Владимир Милькин

  оглавление  Почему возникает ошибка "Использование модальных окон в данном режиме запрещено"?