Алгоритм работы расширения:
Если в персональных настройках пользователя установлен флаг "При запуске восстанавливать ранее открытые окна", то:
- при запуске системы открываем список форм из прошлого сеанса
- запускаем обработчик ожидания, который раз в 30 секунд записывает список открытых на данный момент форм.
Если флаг снимается, то отключаем обработчик ожидания.
Технические детали:
- Так как с версии платформы 8.3.8 невозможно сделать серверный вызов при завершении работы системы (чтобы записать список открытых окон на момент завершения сеанса), то пришлось использовать обработчик ожидания, который сравнивает список открытых окон и тех, которые уже сохранены в базе.
- Для меня было удивлением, что в типовых конфигурациях, на основе БСП (например, УТ, БП, ЗУП) используются разные формы "Персональных настроек пользователя", в том числе, с отличающимися алгоритмами сохранения настроек. Пришлось программно добавлять настройку на форму и искать общие методы для сохранения настроек.
Работа расширения проверена на конфигурациях:
- Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.94.17)
- Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.18.46)
- Управление торговлей, редакция 11 (11.4.13.187) (должно работать также для КА и ERP).