Мешают окна и оповещения в 1С: что отключается, а что нет
Содержание
Убрать всплывающее окно в 1С можно тремя способами: снять флажок в настройках программы, устранить причину сообщения (например, остаток или незаполненный реквизит) или отключить показ окна в коде через расширение конфигурации . Какой путь выбрать, зависит от того, кто показывает окно: платформа, типовая конфигурация или доработка вашего программиста.
Сначала определите тип окна. Оповещение в правом нижнем углу, вопрос с кнопками «Да/Нет» и сообщение внизу формы отключаются по-разному. Ниже — по каждому случаю отдельно, от безопасных настроек к правке кода.
Какие бывают всплывающие окна в 1С и кто их показывает
В интерфейсе «Такси» (платформа 8.3) встречаются пять видов окон. У каждого свой источник и свой способ отключения.
| Что видит пользователь | Кто показывает | Как убрать |
|---|---|---|
| 🔔 Плашка в правом нижнем углу, исчезает сама | Оповещение пользователя (платформа или код) | Стандартное — никак; своё — в коде |
| ❓ Окно с вопросом и кнопками «Да», «Нет», «Отмена» | Код конфигурации | Флажок в настройках, если он предусмотрен, или код |
| 💬 Строки внизу формы документа | Сообщения пользователю | Устранить причину |
| 🚀 Окна при запуске: новости, описание изменений, напоминания | Типовая конфигурация | Флажки в самих окнах и в персональных настройках |
| 🌐 Предупреждение браузера о блокировке окон | Браузер | Разрешить всплывающие окна для адреса базы |
Стандартная плашка «Изменение» или «Создание», которая появляется после записи документа, — поведение платформы. Отдельной настройки для неё нет, через несколько секунд она гаснет сама. Тратить время на её отключение не стоит.
Отключение всплывающих окон в настройках программы
Начните с настроек. Это безопасно, не требует прав администратора и действует только для вашего пользователя.
Персональные настройки пользователя
В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) есть форма «Персональные настройки». Проще всего найти её через поиск по меню: нажмите на лупу в шапке программы и введите слово «персональные».
Что там обычно настраивается:
- ✅ подтверждение при завершении работы программы — снимите флажок, и вопрос «Завершить работу?» пропадёт;
- ✅ показ окна с описанием изменений после обновления;
- ✅ поведение напоминаний пользователя.
Набор флажков зависит от конфигурации и её релиза. Если нужного пункта нет, значит, окно управляется из другого места.
Окна при запуске
Новости, описание изменений программы, предложения подключить интернет-поддержку обычно открываются при старте. Многие из них содержат флажок вида «Больше не показывать» прямо внизу окна. Отметьте его и закройте окно.
Если окно с описанием изменений появляется после каждого обновления, это нормально. Оно показывается один раз на релиз и больше не возникает до следующего обновления.
Часть стартовых окон отключить нельзя, и это правильно:
- ⚠️ предупреждение о рекомендуемой версии платформы — пропадёт после обновления платформы до указанного номера или выше;
- ⚠️ проверка легальности получения обновления — обязательный шаг после обновления конфигурации;
- ⚠️ запрос на продолжение обновления информационной базы — без него программа не перейдёт к работе.
Параметры клиента
Платформенные параметры открываются через Главное меню → Сервис → Параметры. Там настраивается, например, режим открытия форм: во вкладках внутри главного окна или в отдельных окнах. При открытии во вкладках формы перестают «выпрыгивать» поверх программы, и экран выглядит спокойнее.
Сообщения при проведении документов: убираем причину
Строки, которые появляются внизу формы при проведении, — не реклама и не лишний шум. Программа так сообщает, почему документ не проведён или проведён с замечаниями. Отключать их нельзя, нужно исправить данные.
Типичные тексты и что с ними делать:
Недостаточно ...илиНе хватает остатка ...— по складу или счёту меньше, чем вы списываете. Проверьте поступления и дату документа: часто приход оформлен более поздним числом, чем отгрузка.Поле "..." не заполнено— щёлкните по сообщению дважды, курсор встанет на нужное поле.Дата запрета изменения данных— период закрыт. Изменить дату запрета может только пользователь с правами администратора.- Вопрос
Данные были изменены. Сохранить изменения?при закрытии формы — вы что-то поменяли и не записали. Нажмите «Да», если правки нужны.
Когда контроль остатков можно ослабить
В Бухгалтерии 3.0 есть флажок, который разрешает списание запасов при отсутствии остатков по данным учёта. Он находится в разделе Администрирование → Проведение документов. С ним документы проводятся без ошибок по остаткам, а учёт уходит в минус.
Включайте его только осознанно: отрицательные остатки потом придётся разбирать, иначе себестоимость будет посчитана неверно. Для разовой проблемы правильнее найти и провести недостающий приход.
Сообщения при групповом проведении
Обработка групповой перепроводки документов собирает все замечания в одном месте. Не закрывайте их не глядя: каждое сообщение указывает на конкретный документ. Если строк сотни, скопируйте их в текстовый файл и разберите по группам.
Запуск 1С без диалогов: пакетный режим и фоновые задания
Когда 1С работает без человека — регламентная выгрузка, обмен по расписанию, автоматическое обновление, — любое окно с вопросом останавливает процесс. Некому нажать «ОК», и задача висит.
Параметры командной строки
Для запуска без лишних окон у 1cv8.exe есть параметры:
| Параметр | Что делает |
|---|---|
/DisableStartupDialogs | Не показывает стартовые диалоги, в том числе окно выбора пользователя |
/DisableStartupMessages | Подавляет стартовые предупреждения платформы |
/DisableSplash | Не показывает заставку при запуске |
/Out | Пишет служебные сообщения в указанный текстовый файл |
Пример bat-файла для ночного запуска обработки:
@echo off
set V8="C:\Program Files\1cv8\<версия>\bin\1cv8.exe"
%V8% ENTERPRISE /F"D:\Bases\Buh" /N"Робот" /P"пароль" ^
/DisableStartupDialogs /DisableStartupMessages /DisableSplash ^
/Out"D:\Logs\night.log"
Пароль в bat-файле лежит открытым текстом. Создайте для автоматического запуска отдельного пользователя с минимальными правами и закройте доступ к папке со скриптом.
Эти параметры убирают окна платформы. Вопросы, которые задаёт код конфигурации, они не подавят: их нужно убирать в самом коде (см. следующий раздел).
Фоновые и регламентные задания
Фоновое задание выполняется на сервере, где нет экрана и нет пользователя. Поэтому в таком коде вообще нельзя вызвать вопрос или предупреждение: методы Вопрос, ПоказатьВопрос, ПоказатьПредупреждение доступны только на клиенте.
Что происходит с сообщениями:
- 💬
Сообщить()иСообщениеПользователю.Сообщить()в фоновом задании не показываются, а накапливаются в самом задании; - 📥 запустивший код может забрать их методом
ПолучитьСообщенияПользователю()объекта фонового задания; - 📋 у регламентного задания забирать некому, поэтому важные события пишут в журнал регистрации.
Как убрать всплывающее окно в коде конфигурации
Если окно добавил программист, отключается оно только программно. Перед любой правкой кода сделайте резервную копию базы и проверяйте изменения на копии, а не на рабочей базе.
Какие методы показывают окна
Найдите место, откуда появляется окно. Для этого в конфигураторе выполните глобальный поиск (Правка → Глобальный поиск) по тексту из окна или по именам методов:
ПоказатьОповещениеПользователя— плашка в углу экрана;ПоказатьПредупреждение— окно с одной кнопкой «ОК»;ПоказатьВопрос— окно с выбором ответа;ОткрытьФорму— если всплывает целая форма.
Если найти по тексту не удаётся, запустите отладку и остановите выполнение в момент появления окна. В стеке вызовов будет видна процедура-источник.
Правка через расширение, а не в основной конфигурации
Не снимайте типовую конфигурацию с поддержки ради одного окна. Это усложнит каждое обновление. Используйте расширение конфигурации: в нём процедуру можно заменить или дополнить, не трогая типовой код.
Пример: в общем модуле есть процедура, которая показывает оповещение после выгрузки. В расширении перехватываем её и вызываем оригинал только при включённой настройке:
&НаКлиенте
&Вместо("ПоказатьРезультатВыгрузки")
Процедура МоеРасширение_ПоказатьРезультатВыгрузки(ТекстРезультата)
Если НЕ ПоказыватьОповещенияОВыгрузке() Тогда
Возврат;
КонецЕсли;
ПродолжитьВызов(ТекстРезультата);
КонецПроцедуры
Функция ПоказыватьОповещенияОВыгрузке() — ваша: она может читать константу или пользовательскую настройку. Так окно не удаляется навсегда, а становится управляемым. Если завтра кто-то попросит вернуть оповещения, хватит одного флажка.
Аннотация &Вместо с вызовом ПродолжитьВызов() работает для процедур модулей. Имя процедуры в аннотации должно совпадать с исходным буквально.
Общий код для клиента и фона
Если одна и та же серверная процедура вызывается и из формы, и из фонового задания, проверьте, где она выполняется. Текущий сеанс знает, фоновое ли это задание:
Функция ЭтоФоновоеЗадание()
Сеанс = ПолучитьТекущийСеансИнформационнойБазы();
Возврат Сеанс.ПолучитьФоновоеЗадание() <> Неопределено;
КонецФункции
В фоне вместо сообщения пишите запись в журнал регистрации, интерактивно — сообщайте пользователю.
Модальные окна и режим модальности
У конфигурации есть свойство «Режим использования модальности». В современных конфигурациях оно установлено в «Не использовать»: модальные методы вроде Вопрос() и Предупреждение() тогда вызывают ошибку, а вместо них применяются немодальные ПоказатьВопрос и ПоказатьПредупреждение.
Если старая доработка выдаёт ошибку про модальные окна, проблема не в окне, а в коде. Его переписывают на немодальные вызовы. Переключать свойство конфигурации обратно ради старой обработки не стоит: это ломает работу в веб-клиенте.
Журнал регистрации вместо всплывающих окон
Хороший приём для любой автоматизации: не показывать окно, а записать событие в журнал регистрации. Пользователя ничего не отвлекает, а администратор видит всю историю.
Запись делается одной строкой:
ЗаписьЖурналаРегистрации("Обмен.ЗагрузкаКонтрагентов",
УровеньЖурналаРегистрации.Предупреждение,
,
,
"Не найден контрагент с ИНН " + ИНН);
Советы по записи:
- 🏷 имя события задавайте с точкой-разделителем (
Обмен.ЗагрузкаКонтрагентов), чтобы потом фильтровать по началу строки; - 📶 уровень выбирайте по сути:
Информациядля штатных шагов,Предупреждениедля пропусков,Ошибкадля сбоев; - 🧾 в комментарий пишите то, что поможет найти проблему: номер документа, ИНН, код товара.
Где смотреть записи:
| Где | Путь |
|---|---|
| Бухгалтерия 3.0, ЗУП 3.1, УТ 11 | Администрирование → Поддержка и обслуживание → Журнал регистрации |
| Конфигуратор | Администрирование → Журнал регистрации |
В журнале отфильтруйте записи по событию и уровню. Ошибки за ночь видны за минуту, без единого всплывающего окна днём.
Всплывающие окна в веб-клиенте и тонком клиенте
Тонкий клиент
В тонком клиенте окна открываются внутри главного окна программы или поверх него. Оповещения появляются в правом нижнем углу окна 1С. Все способы из разделов выше работают без изменений.
Частая жалоба — форма открывается отдельным окном и теряется за другими программами. Переключите режим открытия форм на вкладки в Сервис → Параметры, и формы будут стабильно открываться внутри программы.
Веб-клиент
В браузере у всплывающих окон появляется второй хозяин — сам браузер. Он может блокировать новые окна, и тогда отчёт или печатная форма не открывается вовсе.
Что сделать:
- Найдите значок блокировки всплывающих окон в адресной строке браузера.
- Разрешите всплывающие окна для адреса вашей базы.
- Обновите страницу.
Ещё одно окно в веб-клиенте — предложение установить расширение для работы с файлами. Если вы загружаете и выгружаете файлы, его лучше установить: без расширения часть операций с файлами недоступна. Если файлы не нужны, окно можно закрыть.
Разрешайте всплывающие окна только для адреса своей базы, а не для всех сайтов подряд.
В веб-клиенте модальные окна не поддерживаются браузером так, как в Windows. Поэтому старые доработки с модальными вызовами здесь чаще ломаются, а не просто показывают лишнее окно.
Частые вопросы
Можно ли отключить всплывающие окна для всех пользователей сразу?
Почему окно вернулось после обновления конфигурации?
Окно с вопросом появляется у робота-пользователя ночью. Что делать?
/DisableStartupDialogs и /DisableStartupMessages уберут окна платформы. Вопрос из кода конфигурации они не подавят — его нужно обойти в коде, проверяя, что сеанс работает без пользователя.