Формулировка проблемы: на момент реализации данной задачи в системе имеется несколько вариантов печати форм: HTML, PDF, ODT, DOCX и DOC. Все перечисленные варианты доступны через контекстное меню по нажатию на стрелочку справа от кнопки "Печать". По нажатию же на саму кнопку "Печать" доступна печать только в формате HTML. Необходима возможность предварительной настройки печати по умолчанию.
Решение: необходимо расширить настройки печатного представления новой опцией «Печать по умолчанию», которая представляет собой выпадающий список со значениями:
Последнее действие
(выбран по умолчанию)
HTML
далее идет список включенных форматов печати
Конкретный формат, выбранный в данной настройке, соответствует тому, в каком формате будет происходить печать формы по нажатию непосредственно на кнопку "Печать".
Пункт «Последнее действие», в свою очередь, соответствует тому формату, по которому происходила печать данной формы в данном браузере данным пользователем в последний раз. Если последнее действие еще отсутствует, то производится печать в формате HTML.
Кроме того, если у формы отсутствует настроенное печатное представление, нажатие непосредственно на кнопку "Печать", как и ранее, производит печать формы в HTML.
Альтернативный поток событий: в качестве печати по умолчанию выбран пункт, который отключают в настройке формата печати. В этот момент необходимо выдавать браузерное окно с сообщением:
Был отключен формат печати %ЗНАЧЕНИЕ%, который использовался в печати по умолчанию. Будет произведен сброс значения до стандартного "Последнее действие". Продолжить?
Подтверждение действия - «Печать по умолчанию» принимает значение
Последнее действие
и действие выполняется, отмена
действия - методолог остается на экране печатного представления,
изменения не принимаются.
Действия при обновлении системы.
При обновлении системы во всех формах, где настроено печатное
представление, добавится новая настройка «Печать по умолчанию» со
значением по умолчанию Последнее действие6
.
Примеры использования.
Условия для всех примеров использования:
Наличие Формы1 с печатным представлением (включены все форматы печати PDF, ODT, DOCX, DOC), Реестра1 на основе данной формы.
Наличие Методолога, Пользователя1, Пользователя2.
У Пользователя1 и Пользователя2 есть права доступа на Реестр1.
Пример №1.
Методолог авторизуется в конфигураторе и открывает на редактирование Форму1.
Методолог переходит в печатное представление и в настройке «Печать по умолчанию» выбирает PDF.
Пользователь1 авторизуется в клиентской части и открывает Реестр1.
Пользователь1 создает новую запись реестра, сохраняет данные и переходит в режим просмотра формы.
Пользователь1 нажимает на кнопку «Печать» (не на стрелочку справа).
Ожидаемая реакция: форма распечаталась в формате PDF.
Пользователь2 выполняет шаги, аналогичные пунктам 3-5.
Ожидаемая реакция: форма распечаталась в формате PDF.
Пример №2.
Методолог авторизуется в конфигураторе и открывает на редактирование Форму1.
Методолог переходит в печатное представление и в настройке «Печать по умолчанию» выбирает вариант «Последнее действие».
Пользователь1 авторизуется в клиентской части и открывает Реестр1.
Пользователь1 создает новую запись реестра, сохраняет данные и переходит в режим просмотра формы.
Пользователь1 нажимает на кнопку «Печать» (не на стрелочку справа).
Ожидаемая реакция: форма распечаталась в формате HTML, т.к. для Пользователя1 последнее действие еще отсутствует.
Пользователь1 снова создает новую запись реестра, сохраняет данные и переходит в режим просмотра формы.
Пользователь1 нажимает на стрелочку кнопки «Печать» и выбирает пункт «DOCX».
Ожидаемая реакция: форма распечаталась в формате DOCX.
Пользователь1 еще раз создает новую запись реестра, сохраняет данные и переходит в режим просмотра формы.
Пользователь1 нажимает на кнопку «Печать» (не на стрелочку справа).
Ожидаемая реакция: форма распечаталась в формате DOCX, а не HTML.
Пользователь2 выполняет шаги, аналогичные пунктам 3-5.
Ожидаемая реакция: форма распечаталась в формате HTML, т.к. для Пользователя2 последнее действие еще отсутствует.