При работе с резервными копиями и тестовыми базами данных «1С:Предприятие 8.3» разработчики и администраторы часто сталкиваются с крайне назойливой проблемой: при каждом запуске программы поверх рабочего стола всплывает модальное окно с предложением подключить интернет-поддержку пользователей. На рабочих базах эта служба, как правило, уже настроена и успешно функционирует. Однако на тестовых копиях вводить лицензионные данные не только бессмысленно, но иногда и небезопасно. Попытки просто закрыть это окно приводят лишь к тому, что при следующем сеансе оно появляется снова. При регулярном обслуживании таких систем автоматическое архивирование, обновление и тестирование баз 1С по расписанию сокращает время на рутинные технические операции.
В этой статье мы подробно разберем, почему возникает данная проблема, проанализируем стандартные механизмы платформы и предложим несколько эффективных способов полного отключения этого окна раз и навсегда — от простых административных лайфхаков до профессиональной доработки конфигурации через расширение. Если после внесения правок или миграции требуется проверить целостность данных, автоматическая сверка бухгалтерских и налоговых проводок между базами 1С через COM-соединение обеспечит быстрый поиск расхождений.
Выясним причину такого поведения системы. Когда база данных копируется на другой сервер или запускается в локальном режиме, механизмы защиты «Библиотеки стандартных подсистем» (БСП) распознают изменение параметров среды. Чтобы не допустить рассинхронизации данных с боевыми сервисами Портала ИТС, система автоматически блокирует активное соединение интернет-поддержки. В результате признак подключения сбрасывается, и платформа при старте начинает настойчиво требовать от пользователя повторную авторизацию.
Попытки отключить уведомление стандартным интерактивным путем часто терпят неудачу. Проанализируем причину: настройки показа уведомлений хранятся индивидуально для каждого пользователя информационной базы. Если мы применим код только для текущей учетной записи, другие специалисты (или фоновые процессы) все равно будут вызывать появление окна.
Рассмотрим правильный программный код, который можно запустить через внешнюю обработку. Этот код обходит список всех зарегистрированных пользователей в базе данных и принудительно записывает параметры отключения интернет-поддержки в ХранилищеОбщихНастроек на 10 лет вперед.
Разберем этот пример по шагам:
ДатаВБудущем = ТекущаяДата() + 365 * 24 * 60 * 60 * 10; // Отключаем напоминание на 10 лет вперед
ВыбПользователи = ПользователиИнформационнойБазы.ПолучитьПользователей();
Для Каждого Пользователь Из ВыбПользователи Цикл
// Записываем признак отключения повторных попыток автоподключения
ХранилищеОбщихНастроек.Сохранить("ИнтернетПоддержкаПользователей", "ПовторитьПопыткуПодключенияПриСтартеПрограммы", Ложь, , Пользователь.Имя);
// Отключаем обязательный показ формы авторизации при запуске системы
ХранилищеОбщихНастроек.Сохранить("ИнтернетПоддержкаПользователей", "ВсегдаПоказыватьПриСтартеПрограммы", Ложь, , Пользователь.Имя);
// Устанавливаем дату, до которой система гарантированно не будет беспокоить пользователя
ХранилищеОбщихНастроек.Сохранить("ИнтернетПоддержкаПользователей", "НеНапоминатьОбАвторизацииДо", ДатаВБудущем, , Пользователь.Имя);
КонецЦикла;
Важный нюанс: если в вашей тестовой базе еще не создано ни одного пользователя (список пуст), платформа проигнорирует настройки хранилища и все равно попытается инициировать подключение. В такой ситуации перед запуском кода обязательно создайте хотя бы одного фиктивного пользователя с административными правами.
Если вы работаете в современной конфигурации, созданной на управляемых формах БСП, наиболее корректным решением будет использование штатного программного интерфейса (API) самой библиотеки. Разработчики БСП предусмотрели экспортные методы, которые не просто меняют локальные настройки пользователей, но и корректно очищают кэш лицензий, удаляют ненужные фоновые задания и останавливают запросы к серверам обновлений.
Для программного сброса авторизации и отключения назойливых окон мы можем вызвать следующие процедуры из нашей внешней обработки:
ИнтернетПоддержкаПользователейВызовСервера.ВыйтиИзИПП() — выполняет полноценный выход из системы интернет-поддержки пользователей, стирая сохраненные авторизационные данные текущего сеанса.ПодключениеСервисовСопровождения.ОтключитьИнтернетПоддержкуПользователей() — глобально отключает все подсистемы сопровождения, очищая служебные регистры сведений, такие как КэшТестовыхПериодов и ИдентификаторыЗапросовНаПодключение.Применение этих методов гарантирует, что конфигурация перейдет в полностью локальное состояние без попыток отправки фоновых запросов во внешнюю сеть.
Один из участников форума предложил перехватить форму авторизации через расширение и прописать в ее событии ПриОткрытии команду ЭтаФорма.Закрыть();. Однако такой подход имеет эстетический недостаток: окно на долю секунды все равно будет промелькивать на экране, раздражая пользователя.
Посмотрим на ситуацию шире и решим проблему более профессионально. Вместо закрытия уже открытой формы мы заблокируем сам процесс старта проверки интернет-поддержки. Для этого выполним следующие шаги:
ИнтернетПоддержкаПользователейКлиент.СтартоватьМеханизм).&Вместо и полностью переопределим ее поведение.В коде расширения мы напишем следующее:
&Вместо("СтартоватьМеханизм")
Процедура Расш1_СтартоватьМеханизм()
// Полностью блокируем запуск механизма проверки
Возврат;
КонецПроцедуры
Внедрение такого расширения навсегда избавит пользователей тестовой базы от появления окон авторизации, так как код инициализации подсистемы просто не будет выполняться платформой при старте программы.
Разработчики фирмы «1С» тоже обратили внимание на эту проблему. В современных редакциях типовых конфигураций (например, в «1С:Бухгалтерия 8», начиная с версии 3.0.173) появился штатный переключатель, позволяющий администраторам полностью отключить внешние интернет-вызовы.
Чтобы воспользоваться этой функцией без программирования, выполните следующие действия:
После активации этой опции программа перестанет опрашивать серверы обновлений, и назойливое окно авторизации больше не появится при запуске системы.
Если у вас нет прав на внесение изменений в код базы данных, нет возможности устанавливать расширения или вы просто хотите решить проблему максимально быстро, воспользуйтесь проверенным обходным путем.
Когда при запуске базы в очередной раз появится окно ввода логина и пароля для интернет-поддержки, введите в соответствующие поля заведомо неверные (выдуманные) авторизационные данные и нажмите кнопку подключения. Система отправит запрос, получит от сервера Портала ИТС ошибку авторизации и зафиксирует этот сбой в своем кэше. Модальное окно закроется, а уведомление об ошибке будет тихо висеть на начальной странице или запишется в журнал регистрации, больше не отвлекая вас всплывающими окнами при каждом открытии программы.
Мы детально разобрали пять эффективных способов борьбы с назойливым окном интернет-поддержки пользователей в копиях баз «1С:Предприятие». Выберите наиболее подходящий для вашей ситуации вариант: используйте тонкую программную настройку ХранилищеОбщихНастроек, применяйте штатные механизмы БСП или заблокируйте вызовы через расширение конфигурации. Это позволит сделать работу с тестовыми базами и резервными копиями комфортной и быстрой.