Разбиение текста объединённых строк в макете на страницы
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4)Проблема в том, что высота строк в тексте и высота строк макета разные. Для текста был выбран Шрифт диалогов и меню, Шрифт диалогов и меню, 8, у высоты строк макета автовысота. В результате строки макета разрезали некоторые строки текста по вертикали. Это и происходило при выводе на печать: часть строки текста на одной странице, которая помещалась в строку макета, часть на другой странице.
(5) С одной стороны непонятно, но с другой я сталкивался с некоторыми косяками с макетом при редактировании.
В общем, нужно будет поправить - все дело в нем. Проверяй также как он будет выглядеть у пользователя (при открытом макете > Файл - Предварительный просмотр) - это все можно посмотреть в самом конфигураторе.
P.S. а задать один шрифт, один размер и свойство "РазмещениеТекста" в значение "Переносить" не пробовали?
В общем, нужно будет поправить - все дело в нем. Проверяй также как он будет выглядеть у пользователя (при открытом макете > Файл - Предварительный просмотр) - это все можно посмотреть в самом конфигураторе.
P.S. а задать один шрифт, один размер и свойство "РазмещениеТекста" в значение "Переносить" не пробовали?
(7) Несколько выше вы написали, что у вас объединены строки. Попробуйте в коде установить АвтоМасштаб документу.
Пример:
Еще поясните, что значит
Точнее, непонятно, о каком тексте идет речь. По сути, разницы нет какой текст вы хотите разместить у себя в макете, так как все настройки выведенного текста регулируются самими ячейками, куда выводится текст, в которых вы и задаете шрифт, цвет и т.д.
Думаю, вы где-то что-то упустили.
P.S. пришлите скриншот вашего макета в конфигураторе и готовый макет в Предприятии.
Пример:
ТабДок.АвтоМасштаб = Истина;
Еще поясните, что значит
высота строк в тексте и высота строк макета разные
Точнее, непонятно, о каком тексте идет речь. По сути, разницы нет какой текст вы хотите разместить у себя в макете, так как все настройки выведенного текста регулируются самими ячейками, куда выводится текст, в которых вы и задаете шрифт, цвет и т.д.
Думаю, вы где-то что-то упустили.
P.S. пришлите скриншот вашего макета в конфигураторе и готовый макет в Предприятии.
(8)
В макете весь текст занесён в правую верхнюю ячейку области. Затем выделены ячейки области и объединены. Высота строк текста и строк таблицы различная. Если выделить строку таблицы, то некоторые строки разрезают строки текста.
Еще поясните, что значит
высота строк в тексте и высота строк макета разные
высота строк в тексте и высота строк макета разные
В макете весь текст занесён в правую верхнюю ячейку области. Затем выделены ячейки области и объединены. Высота строк текста и строк таблицы различная. Если выделить строку таблицы, то некоторые строки разрезают строки текста.
Прикрепленные файлы:
(9) Тут проблема в объединенных ячейках.
Разместите текст, по возможности, в одной ячейке для которой свойство "РазмещениеТекста" поставьте в значение "Переносить".
Неизвестно, что у вас вверху и внизу - если где-нибудь текст "пересекается" с другими ячейками, в которых свои значения (находятся на одной строке), тогда там, по необходимости, вставляйте часть своего текста, чтобы скорректировать красоту.
А таким образом, как у вас ячейки не объединяют. Полагаю, что вы изначально опасались, что текст выходит вправо за границу и/или при печати не отображается полностью и вы решили объединить ячейки.
Upd: если вы не только по вертикали, но и по горизонтали объединяли, а не раздвигали колонку (опять-таки, не видно из куска скриншота), тогда сделайте объединение только по горизонтали со свойством "РазмещениеТекста" этой объединенной ячейки равным "Переносить".
Разместите текст, по возможности, в одной ячейке для которой свойство "РазмещениеТекста" поставьте в значение "Переносить".
Неизвестно, что у вас вверху и внизу - если где-нибудь текст "пересекается" с другими ячейками, в которых свои значения (находятся на одной строке), тогда там, по необходимости, вставляйте часть своего текста, чтобы скорректировать красоту.
А таким образом, как у вас ячейки не объединяют. Полагаю, что вы изначально опасались, что текст выходит вправо за границу и/или при печати не отображается полностью и вы решили объединить ячейки.
Upd: если вы не только по вертикали, но и по горизонтали объединяли, а не раздвигали колонку (опять-таки, не видно из куска скриншота), тогда сделайте объединение только по горизонтали со свойством "РазмещениеТекста" этой объединенной ячейки равным "Переносить".
(10)Текст размещён в одной, правой верхней ячейке, размещение текста установлено в значение Переносить. Затем объединён диапазон ячеек, в которых этот текст должен быть выведен. Высота строк в диапазоне не совпадает с высотой строк таблицы. Параметра межстрочный интервал у текста нет.
Прикрепленные файлы:
(11)Как вариант, перед печатью получать текст из этой ячейки и вручную разбить его на разные строки макета, например, по символу переноса строки. И выводить в макет печати уже эти строки.
Пример:
Пример:
МассивСтрок = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ИсходныйТекст,Символы.ПС);
Для Каждого ЭлМас Из МассивСтрок Цикл
СтрокаЗаписки = Макет.ПолучитьОбласть("СтрокаЗаписки");
СтрокаЗаписки.Параметры.ТекстЗаписки = ЭлМас;
ТабДокРезультат.Вывести(СтрокаЗаписки);
КонецЦикла;
(11) На скриншотах видать, что вы объединили еще и по ВЕРТИКАЛИ, а этого делать не надо. Объедините только по горизонтали. Я у себя только что вашу ситуацию разыграл при различных вариантах. Раз текст на 14 строке, так и объедините ТОЛЬКО ОДНУ 14 строку ПО ГОРИЗОНТАЛИ(не обязательно полностью - это уже зависит от ВИДИМОЙ вами ШИРИНЫ, то есть какую ширину текста вы хотите видеть)
(14) Ну в таком случае, только самому по частям разбивать текст в макете или...
1. В макете просто берете ячейку или объединенную горизонтальную строку, устанавливаете у нее свойство заполнение в значение "Параметр", "обзываете" этот параметр, к примеру "ВыводимыйТекст" и присваиваете всей строке имя (даете название области) (выделить строку, нажимаете CTRL+Shift+N и называете свою область, к примеру "ОбластьСтроки").
2. Весь текст можно поместить, скажем, в текстовый документ, созданный в том же конфигураторе или внешней обработке в виде макета. И с него читать построчно, проверяя его вывод, влезает или нет методом "ТабДок.ПроверитьВывод(Область)", если влезает, тогда выводить строку, если не влезает, тогда добавляете горизонтальный разделитель страниц (ТабДок.ВывестиГоризонтальныйРазделительСтраниц())
Пример:
И тогда все ровно у вас встанет. Работая через конфигуратор, вы сами будете все контролировать.
1. В макете просто берете ячейку или объединенную горизонтальную строку, устанавливаете у нее свойство заполнение в значение "Параметр", "обзываете" этот параметр, к примеру "ВыводимыйТекст" и присваиваете всей строке имя (даете название области) (выделить строку, нажимаете CTRL+Shift+N и называете свою область, к примеру "ОбластьСтроки").
2. Весь текст можно поместить, скажем, в текстовый документ, созданный в том же конфигураторе или внешней обработке в виде макета. И с него читать построчно, проверяя его вывод, влезает или нет методом "ТабДок.ПроверитьВывод(Область)", если влезает, тогда выводить строку, если не влезает, тогда добавляете горизонтальный разделитель страниц (ТабДок.ВывестиГоризонтальныйРазделительСтраниц())
Пример:
Если Не ТабДок.ПроверитьВывод(ВыводимаяОбласть) Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
И тогда все ровно у вас встанет. Работая через конфигуратор, вы сами будете все контролировать.
(16) Возможно это особенности принтеров. Но по идее, свойство табличного документа "Автомасштаб" в значении "Истина" должно помочь. Как вариант, можно будет попробовать отдельно поработать с определенный принтером, например:
Если ТабДок.ИмяПринтера = "New printer HP" Тогда
ТабДок.Автомасшитаб = Ложь;
ТабДок.МасштабПечати = 125;
ТабДок.ПолеСверху = 10;
ТабДок.ПолеСлева = 10;
КонецЕсли;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот