Восстановление открытых окон прошлого сеанса работы

По завершении работы в 1С хочу с утра продолжать работать с теми же окнами, если остались задачи на утро.

Не знаю как и у кого, а мне нравится функция у некоторых браузеров — открытие окон с прошлого сеанса. Вот придумал свою простую обработку. Так как при завершении работы фирма 1С запретила любые серверные вызовы для записи и хранения в хранилище БД (предложенный вариант с обработчиком ожидания и запросом на сохранение мне не нравится — слишком много надо "тыкать"), то сохраняю файлом в каталог временных файлов пользователя. Достаточно в процедуру при начале работы системы и перед завершением работы системы сделать запись/открытие списка открытых форм. Каких либо нагрузок на запись текстового файла быть не может. Привожу пример с расширением, которое можно добавить в 1с, единственное условие  — снять галку "Безопасность" у расширения. Сделал для УФ тонкий клиент, кто хочет может доработать код для Веб клиента (типовой для БП 3.0 закомментировал в модуле). В Расширении лишь в модуле управляемого приложения:

Перем ИмяКаталогаВременныхФайловОкна Экспорт;

&После("ПриНачалеРаботыСистемы")
Процедура окна_ПриНачалеРаботыСистемы() Экспорт
окна_ОбщийМодуль.ПриНачалеРаботыСистемы();
КонецПроцедуры

&Вместо("ПередЗавершениемРаботыСистемы")
Процедура окна_ПередЗавершениемРаботыСистемы(Отказ, ТекстПредупреждения)
окна_ОбщийМодуль.ПередЗавершениемРаботыСистемы();
КонецПроцедуры

и один общий модуль.

Имя файла берется из типовой функции СтрокаСоединенияИнформационнойБазы() которое для серверных и файловых баз почти уникально.

Создавалась и тестировалась на платформе 1С:Предприятие 8.3 (8.3.13.1513), Конфигурация Бухгалтерия предприятия, редакция 3.0 (3.0.67.72).

Изменение: при начале работы системы смотрю на уже открытые окна (реклама бух и т.п.) и исключаю их вывод в список

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *