Поднятая тема может и редко встречается, но все же бывают моменты когда в муниципальных, бюджетных и других учреждениях хоть убей, но нужны в печатных формах полуторные интервалы.
Сделать можно вставляя текст через строку, где каждая вторая и будет этим интервалом, но данное решение редко возможно, потому что (как к примеру в моем случае) в тексте много параметров разной длины и предугадать размещение совершенно не возможно.
Решил проблему следующим способом:
На макете для одного выводимого раздела создал две области:
1) Тут уже либо параметром одним весь тест загоняем, либо шаблоном, но условие такое, что текст будет в одной ячейке
2) Область с двумя строками (1 - обычной высоты, 2 - для интервала), в первой строке у нас всего один параметр и назовем его к примеру "Текст";
Далее получаем первую область ("ТекстПриказа1" к примеру) и заполняем параметры. Область выводим в другой ТабличныйДокумент
Получаем из другого ТаблчиногоДокумента заполненное значение параметра, в цикле ищем пробелы, режем строки и выводит вторую область ("ТекстПриказа2")
Пример кода:
/// выводим область во второй табличный документ ТабДокумент2.Вывести(Область); /// читаем заполненную строку СтрокаЗаполнения = ТабДокумент2.ПолучитьОбласть(1, 1).ТекущаяОбласть.Текст; ДлинаДо = СтрДлина(СтрокаЗаполнения); Отрезать = 1; /// отрезаем и выводим то, что меньше 75 символов - по умолчанию считал такой длину строки (можно меньше) Пока ДлинаДо > 75 Цикл Если ДлинаДо > 75 Тогда сч = 75; Иначе сч = ДлинаДо; КонецЕсли; Пока НЕ сч = 0 Цикл Если КодСимвола(СтрокаЗаполнения, сч) = 32 Тогда сч1 = сч; сч = 0; Иначе сч = сч-1; КонецЕсли; КонецЦикла; Область = Макет.ПолучитьОбласть("ТекстПриказа2"); СтрокаЗаполнения1= Лев(СтрокаЗаполнения, сч1); ЗаполнитьСтроку = СтрокаЗаполнения1+ Символ(32)+"ненужныенеотображаемыеобязательныеишниесимволы безвторогословавообщеникакнезабиваетячейку"; Область.Параметры.Текст = ЗаполнитьСтроку; ТабДокумент.Вывести(Область); Отрезать = ДлинаДо - сч1; СтрокаЗаполнения = Прав(СтрокаЗаполнения, Отрезать); ДлинаДо = СтрДлина(СтрокаЗаполнения); КонецЦикла; /// выводим то, что осталось Область = Макет.ПолучитьОбласть("ТекстПриказа2"); ЗаполнитьСтроку = СтрокаЗаполнения ; Область.Параметры.Текст= ЗаполнитьСтроку; ТабДокумент.Вывести(Область);
Поясениня:
При формировании строки "Заполнить строку" после пробела вставляем два слова большой длины, эти два слова у нас перенесутся, но не отобразятся
Во второй области необходимо соответствующе настроить первую строку - чтобы прижимала книзу текст и переносила, но высоту строки не увеличивала