В своей статье
Выполняем задания, смотрим лист согласования! я поднимала вопрос о способах визирования документов на этапе согласования. Хотелось бы продолжить тему согласования, тем более что она не полностью раскрыта. Неотъемлемой частью этого важного процесса является
работа с замечаниями согласующих лиц. Вот известные способы оформления замечаний:
- примечания в тексте документа;
- исправления в тексте документа;
- писать замечания в текст задания;
У каждого из этих способов, есть свои достоинства и недостатки. И для каждого проекта аналитики выбирают свой вариант.
Мы не стали придумывать велосипед, просто автоматизировали установку защиты текста документа от редактирования с разрешением вставки примечаний.
Используется это в типовом маршруте, где согласуются договорные документы (документы приложения Microsoft Word). На этапе согласования у согласующих есть возможность
только лишь добавлять примечания в тексты документов. На этапе доработки документа инициатором защита документа отключается.
В итоге такой способ гарантирует:
- Неизменность текста документа на этапе согласования.
- Согласующие выносят замечания механизмом примечаний Word. Что удобно не только согласующим, но и инициатору (когда на этапе доработки ему необходимо разобраться, кто и какое замечание высказал).
И так, что нужно сделать, чтобы это заработало у вас:
- В первую очередь нужно запретить создавать для договорных документов несколько действующих версий, так как согласовываться будет действующая версия документа. Это можно сделать в справочнике «Виды электронных документов»
- В ТМ добавляем блок-сценарий до блоков согласования. В вычислении пишем код, который включает защиту для каждого согласуемого документа:
Параметры = Work.WorkFlowParams
СогласуемыеДокументы = Параметры.ValueByName("СогласуемыеДокументы")
Индекс=0
while (Индекс < СогласуемыеДокументы.Count)
ДокИнф = СогласуемыеДокументы.Values(Индекс)
ДокИД = ДокИнф.ID
УстановкаЗащитыОтРедактирования(ДокИД;TRUE)
Индекс = Индекс + 1
endwhile
В нашем ТМ одновременно могут согласовываться несколько договорных документов. Поэтому для хранения ссылок согласуемых документов используем параметр с типом коллекция электронных документов («Согласуемые документы»).
Защита документа происходит в функции УстановкаЗащитыОтРедактирования. В качестве первого параметра в функцию передаем ИД документа (ДокИД), второй параметр – отметка, что документ нужно защитить от редактирования (TRUE).
- Отключаем защиту перед теми блоками, где должна быть возможность редактирования текста документа. Для этого добавляем в ТМ такой же блок-сценарий перед этими блоками, как и в п.2, но значение отметки в функции меняем на FALSE (
УстановкаЗащитыОтРедактирования(ДокИД;FALSE)).
- Обязательно перед блоками-сценариями, где происходит установка и снятие защиты от редактирования, забрать у пользвателей права на изменение для всех согласуемых документов.
- Так как вычисление блоков-сценариев в ТМ идет от пользователя IS-Builder System User, то нужно на сервере сеансов DIRECTUM установить приложение Microsoft Word, и сделать пользователя, от которого запускается процесс WorkFlow администратором этого сервера.
- Создать на сервере сеансов DIRECTUM папку, например на диске С, «Документы DIRECTUM» (в эту папку будут временно экспортироваться документы). И записываем путь к этой папке в константе «Путь».
Все нужные функции для этого прилагаю.
Функции установки защиты документа от редактирования.rar (4,64 Кб)