Печатные формы WORD из БСП. Ограничение редактирование.

1. Kvark5d 18.09.23 11:35 Сейчас в теме
По применению шаблонов печатных форм WORD из БСП есть куча статей, примеров и т.д. Но вот столкнулся со следующей задачей и решение найти не получается - сформировать проект договора где пользователи могли бы изменять только ограниченный набор полей.
Необходимо чтобы в сформированном файле сохранялись настройки ограничения редактирования, в частности области где разрешено редактирование. Не получается.
В шаблоне устанавливаю ограничение, выбираю области разрешенные для редактирования. В сформированном документе ограничение редактирования сохраняется, а вот области разрешенные для редактирования слетают. Т.е. весь документ нельзя редактировать.
Хочу разобраться это косяк БСП или мой косяк и в каком направлении копать.
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. пользователь 18.09.23 13:14
Сообщение было скрыто модератором.
...
3. Kvark5d 18.09.23 15:08 Сейчас в теме
(2) не знаю, что у Вас там смешалось, но вполне логично предположить что, если уж БСП отлично справляется с форматированием, стилями, параметрами страницы и прочим, то и настройки ограничения редактирования она может переносить из шаблона.
4. пользователь 18.09.23 15:10
Сообщение было скрыто модератором.
...
5. Kvark5d 18.09.23 15:46 Сейчас в теме
(4) в БСП это называется: Разработка печатных форм с использованием макетов в формате офисных документов Office Open XML
6. пользователь 18.09.23 15:59
Сообщение было скрыто модератором.
...
7. Kvark5d 21.09.23 16:23 Сейчас в теме
Оказывается БСП в плане использования макетов Ворд умеет намного больше, чем описано в документации. Надо только немного постараться.
Моя личная задача - сформировать заполненный проект договора по шаблону Ворда в котором пользователи смогли бы изменять только некоторые поля.
Опытным путем я выяснил, что:
1. Установка ограничения редактирования и пароль проставляются в файле word/settings.xml.
Там строка типа <w:documentProtection w:edit="readOnly"... />
БСП эту строку просто переносит. Поэтому ничего менять не нужно.
2. Текст который можно редактировать указывается в файле word/document.xml
перед ним ставится:
<w:permStart w:id="123" w:edGrp="everyone" />
после него
<w:permEnd w:id="123" />
Чтобы эти строки переносились необходимо в модуле УправлениеПечатьюСлужебный отредактировать процедуру РазбитьТекстШаблонаНаОбласти
перед строкой
Если ЧтениеНачалаЛюбогоБлокаКромеПараграфа(СтруктураРазбораXML, ЧтениеXML) И ТекущийУровень = УровеньТэгаБлок Тогда


вставить:
Если (ЧтениеXML.Имя = "w:permStart" ИЛИ ЧтениеXML.Имя = "w:permEnd") Тогда 
		ВозобновитьЗаписьВПоток(СтруктураРазбораXML, "Абзац" + УровеньАбзаца);
КонецЕсли;


проверено на БСП 3.1.7
Оставьте свое сообщение
Вакансии
Консультант 1С ERP
Москва
зарплата от 200 000 руб. до 250 000 руб.
Полный день

Аналитик 1C
Москва
зарплата от 200 000 руб. до 240 000 руб.
Полный день

Старший программист 1С
Москва
зарплата от 120 000 руб. до 250 000 руб.
Полный день

Руководитель группы разработки 1С
Москва
зарплата от 500 000 руб.
Полный день

Разработчик 1С (от middle до senior), до 300 К gross
Санкт-Петербург
зарплата от 195 000 руб. до 300 000 руб.
Полный день