Ограничение прав пользователя при работе с документами MS Word в 1С:Предприятие 8
Карпов П.
12.04.2017
50 понравилось
411 просмотров

Ограничение прав пользователя при работе с документами MS Word в 1С:Предприятие 8

В процессе работы с конфигурациями «1С:Предприятие 8» у пользователей возникает потребность просматривать созданные документы, первоисточники, шаблоны и макеты печатных форм. К подобным документам относятся файлы «Microsoft Word (MS Word)». При этом в некоторых ситуациях следует ограничить действия пользователей при работе с открываемыми документами.

Рассмотрим способ ограничения права изменения и сохранения документов «MS Word» в среде «1С:Предприятие 8».

Для примера нам понадобится внешняя обработка. Прежде всего, опишем функционал выбора файла, который необходимо открыть. Для этого в клиентском методе воспользуемся конструктором «ДиалогВыбораФайла» с режимом «Открытие» и фильтром по расширениям документов «MS Word» (рис. 1).

Рис.1. Программный код конструктора открытия файла.

После выбора сохраним полный путь к файлу в переменной «ПутьКФайлу».

Далее подключим объект «MS Word» при помощи конструктора «COM-объекта». Добавим в набор открытых документов полученный путь к файлу (рис. 2).

Рис. 2. Программный код конструктора объекта «MS Word».

В событии «DocumentBeforeSave» реализуем первую часть функционала ограничения прав работы с документом, а именно запретим сохранять открытый документ. Установим обработчик события «Перед сохранением документа» и опишем метод, который будет вызываться в 1С при наступлении указанного события (рис. 3).

У вас есть вопрос, нужна помощь консультанта?

Оставьте номер телефона и мы перезвоним!

Рис. 3. Программный код обработчика события «DocumentBeforeSave» объекта «MS Word».

В случае разработки функционала для управляемого приложения в клиент-серверном варианте важно, чтобы метод-обработчик события «DocumentBeforeSave» был описан с инструкцией препроцессора «На клиенте». Параметры процедуры соответствуют стандартным параметрам обработчика события «DocumentBeforeSave» объекта «Microsoft Word». Среди прочих нас интересует «Cancel (Отказ)», его установим в значение «Истина», что позволит нам отменить попытку сохранения документа. Это действие сопроводим сообщением пользователю непосредственно в «MS Word» (рис. 4).

Рис. 4. Служебное сообщение о запрете сохранения в открытом документе «MS Word».

Перейдем ко второй части реализации ограничений действий пользователя, а именно ограничения возможности редактирования документа. Для этого будем открывать документ из «1С:Предприятия 8» в режиме «Только для чтения». Реализовать указанный режим открытия нам позволит метод «Protect» (рис. 5).

Рис. 5. Программный код метода программной защиты документа «MS Word».

В качестве входных параметров метода «Protect»передадим необходимый и достаточный для нашей задачи набор значений. Первый параметр – режим блокировки документа установим в значение «3» - это режим «Только для чтения». Вторым параметром зададим случайный пароль, заданный с помощью генератора случайных чисел. Если существует потребность разблокировки объекта, можно указать конретное значение пароля. После открытия документа служебным сообщением оповестим пользователя о том, что документ открыт в ограниченном режиме (рис. 6).

Рис. 6. Служебное сообщение о том, что документ  «MS Word» открыт в режиме «Только для чтения».

Таким образом, в данной статье был рассмотрен способ ограничения действий пользователя в при открытии документов «Microsoft Word» при работе с конфигурациями «1С:Предприятие 8».

Эта статья помогла вам?

Теги:

Комментарии ( 0 )

Оставить комментарий