Выделения шрифта в макете WORD

1. Asuneft 3 18.10.22 13:46 Сейчас в теме
Внешняя печатная форма в шаблон word через БСП.

Когда то в 7.7 работала такая конструкция :

Если Основание = 1 Тогда
			Word.Selection.Find.Execute("{27}",0,0,0,0,0,1,1,1,,0,,,,0);  
	 		Word.Selection.Font.Bold = 9999998;     //Жирный
	 		Word.Selection.Font.Underline = 1;          //Подчеркнутый   
		КонецЕсли;


Как подобное можно сделать в 8.3?
Данные для заполнения макета добавляются через Структуру.

ДанныеПечати.Вставить("_27",ТекстОснование_1_1);
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. a1ex4ndr 5 19.10.22 08:32 Сейчас в теме
Так то методы от Word'а, так что если он их еще поддерживает, то должно работать.
3. Asuneft 3 19.10.22 08:35 Сейчас в теме
(2) как такое сделать через БСП?
4. a1ex4ndr 5 19.10.22 08:45 Сейчас в теме
5. Asuneft 3 19.10.22 08:46 Сейчас в теме
6. a1ex4ndr 5 19.10.22 08:46 Сейчас в теме
Сразу в макете формат никак оформить?
7. Asuneft 3 19.10.22 08:46 Сейчас в теме
9. Asuneft 3 19.10.22 08:47 Сейчас в теме
(7) в макете есть список , и в зависимости от поля в документе один из элементов списка выделяется.
19. Zevzm 19.10.22 09:52 Сейчас в теме
(9) А сколько элементов в списке (возможных сочетаний)? Может быть проще завести несколько макетов?
21. Asuneft 3 19.10.22 10:03 Сейчас в теме
(19) 7, можно и через области сделать, только не "красиво" это.
8. a1ex4ndr 5 19.10.22 08:47 Сейчас в теме
(5) БСП то причем? Методы Word'а...
10. Asuneft 3 19.10.22 08:48 Сейчас в теме
(8) БСП же умеет в шаблон выводить
11. a1ex4ndr 5 19.10.22 08:51 Сейчас в теме
элементы списка как выводишь?
12. Asuneft 3 19.10.22 08:52 Сейчас в теме
(11) через

1.5 Настоящий трудовой договор носит срочный характер. Основанием для заключения срочного договора является:
- {v8 _27}
- {v8 _31}
- {v8 _32}
- {v8 _24}
- {v8 _25}
- {v8 _33}
- {v8 _34}
13. a1ex4ndr 5 19.10.22 08:54 Сейчас в теме
Это кусок шаблона, заполняешь как? Заполнить?
14. Asuneft 3 19.10.22 08:56 Сейчас в теме
(13) нет, через структуру в функции Функция ПолучитьДанныеОбъекта(МассивОбъектов)


Затем через функции БСП

Функция ПолучитьДанныеПечати(Знач МассивДокументов, Знач МассивИменМакетов) Экспорт

ДанныеПоВсемОбъектам = Новый Соответствие;

Для Каждого ОбъектСсылка Из МассивДокументов Цикл
ДанныеОбъектаПоМакетам = Новый Соответствие;
Для Каждого ИмяМакета Из МассивИменМакетов Цикл
ДанныеОбъектаПоМакетам.Вставить(ИмяМакета, ПолучитьДанныеОбъекта(ОбъектСсылка));
КонецЦикла;
ДанныеПоВсемОбъектам.Вставить(ОбъектСсылка, ДанныеОбъектаПоМакетам);
КонецЦикла;
.....
КонецФункции
15. a1ex4ndr 5 19.10.22 09:02 Сейчас в теме
Через поиск тогда, видимо:
Функция ВыполнитьЗамену(знач Object, Параметр, Значение)
  СтрокаПоиска = "[" + Параметр + "]";
  СтрокаЗамены = Строка(Значение);
//Необходимо выделить областей, в которой мы осуществляем замену
  Object.Select();
//Получаем выделенную область
  Selection = Object.Application.Selection;
//Найдем все вхождения параметра и заменим его на нужное нам значение
  FindObject = Selection.Find;
  FindObject.ClearFormatting();
  Пока FindObject.Execute(СтрокаПоиска) Цикл
    Если ПустаяСтрока(СтрокаЗамены) Тогда
      Selection.Delete();
    Иначе
      Selection.TypeText(СтрокаЗамены);
    КонецЕсли;
  КонецЦикла;
//Отменим выделение
  Selection.Collapse();
КонецФункции

Уже получив выделенную область можно отредактировать стиль текста, шрифт и т.д.

//Редактирование шрифта
 Selection.Font
//Редактирование цвета
 Selection.HighlightColorIndex
Показать
16. Asuneft 3 19.10.22 09:11 Сейчас в теме
(15) через уже постобработку макета из БСП?
17. Zevzm 19.10.22 09:15 Сейчас в теме
(16) А если попробовать в структуру параметров передать вместо Строки ФорматированнуюСтроку?
ФормСтрока1 = Новый ФорматированнаяСтрока("Очередное предупреждение!!!",ШрифтДляСтроки,ЦветСтиль);
20. Asuneft 3 19.10.22 10:02 Сейчас в теме
18. a1ex4ndr 5 19.10.22 09:18 Сейчас в теме
Зависит от того как вставляется, попробовать то можно)))
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот