Доработка представлена в виде расширения. Расширение реализует подсистему "Стартовые окна" с одной командой, открывающей настройки подсистемы. Настройки очень просты и представляют из себя выбор одного из вариантов работы:
- Отключить
- Закрепленные избранные - ссылки, закрепленные в панели избранного (выделены жирным)
- Фиксированный список - ручной ввод навигационных ссылок
- Открытые окна - восстановление ранее открытых окон
При запуске происходит попытка перейти по требуемым навигационным ссылкам. В случае ошибки форма просто не открывается, а случай фиксируется в журнале регистрации. Т.к. подсистема работает при запуске системы, то для защиты от случая, когда из-за какой-либо ошибки мы не можем запустить систему в принципе, предусмотрен параметр запуска, отключающий подсистему - "ОтключитьСтартовыеОкна".
"Закрепленные избранные" и "Фиксированный список" работают очевидно, мы просто берем уже сохраненные в настройках ссылки и открываем их при запуске.
При закрытии приложения 1С запрещены серверные вызовы, поэтому сохранить данные об открытых окнах в этот момент проблематично (Проблематично не значит невозможно. Можно использовать например сохранение в локальные файлы, но хочется использовать ХранилищеНастроек). Как отловить открытие и закрытие окон тоже не пришло в голову. Поэтому список открытых окон сохраняется в настройках через обработчик ожидания в модуле приложения каждые N секунд. Интервал сохранения так же задается через настройки.
Никаких зависимостей не требуется. Ссылка на код: https://github.com/KrasnoshchekovPavel/1c_automatic_window_opening
Примечание: подсистема исключительно экспериментальная и в большей степени предназначена для отладки и не претендует на лучшие технические решения. Буду очень рад вашим комментариям, а именно как бы вы реализовали сохранение открытых окон при закрытии 1С.
Разработано и протестировано на версии платформы: 8.3.27.1606. Режим совместимости расширения 8.3.14.
Вступайте в нашу телеграмм-группу Инфостарт