Описание проблемы:
Обнаружены косяки в коде, которые нужно срочно исправить и чтобы этот код заработал у пользователей.
Если с первым, как правило, проблем нет, то донести информацию до пользователей не всегда просто. Обзванивать всех можно устать, корпоративный чат читают далеко не все, а на типовое окно с просьбой перезапустить программу откликаются только самые ответственные товарищи, которых не так уж и много.
При решение проблемы поставлены следующие ограничения:
1. Достучаться до пользователей из 1С.
2. Не применять силовые методы. Например, окончание сеанса вне зависимости от желания пользователя.
Решение проблемы:
Изменить типовой период проверки динамического обновления с 20 минут, на не комфортный для пользователя.
Для этого был добавлен регистр сведений "ДинамическоеОбновлениеВажное", с изменением "Дата", и ресурсом "ПериодПроверки", изменена процедура "НачатьПроверкуДинамическогоОбновленияИБ"
Процедура НачатьПроверкуДинамическогоОбновленияИБ()Экспорт //++ // если обновление важно, можно заколебать пользователя окном предложения перезапуска //// проверка дин. обновления конфигурации каждые 20 мин. //ПодключитьОбработчикОжидания("ОбработчикОжиданияПроверкиДинамическогоИзмененияИБ", 20 * 60); ПериодПроверки = 20; СТ_СерверПривилегированный.ДинамическоеОбновлениеВажное(ПериодПроверки); ПодключитьОбработчикОжидания("ОбработчикОжиданияПроверкиДинамическогоИзмененияИБ", ПериодПроверки * 60); //-- КонецПроцедуры
и добавлена процедура "СТ_ДинамическоеОбновлениеВажное"
Процедура ДинамическоеОбновлениеВажное(ПериодПроверки) Экспорт Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СТ_ДинамическоеОбновлениеВажное.Дата, | СТ_ДинамическоеОбновлениеВажное.ПериодПроверки |ИЗ | РегистрСведений.СТ_ДинамическоеОбновлениеВажное КАК СТ_ДинамическоеОбновлениеВажное |ГДЕ | СТ_ДинамическоеОбновлениеВажное.Дата = &Дата"; Запрос.УстановитьПараметр("Дата", НачалоДня(ТекущаяДата())); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда ПериодПроверки = Выборка.ПериодПроверки; КонецЕсли; КонецПроцедуры
Теперь в пользовательском режиме можно выбрать как сильно вы хотите заколебать пользователя, если он никак не хочет реагировать на окно предложения перезапуска программы.
Во вложении обработка. В ней те же процедуры, что и в статье. Скачивать не обязательно.
Тестировалось на конфигурации КА 1., платформе 8.2.19.130.