Edison user

14
Рейтинг

user847462



  •   Регистрация: 20.10.2017 (6 лет назад)

  •   Был(а) на сайте: 22.02.2022

Подписчики 1

Рейтинг 14

Настройка колонок для вывода в отчет

Статья Программист Система компоновки данных Конфигурации 1cv8 Украина Абонемент ($m) Внешний отчет (ert,erf) Работа с интерфейсом

Иногда возникает задача вывести в отчет по запросу не все колонки, а только определенные.

1 стартмани

12.07.2020    7370    4    user847462    2       

1

Размещение текста в ячейке табличного документа

Инструменты и обработки Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m) Внешняя обработка (ert,epf) Работа с интерфейсом

Набор процедур и функций для подбора такого максимального размера шрифта ячейки табличного документа, при котором текст целиком помещается в ячейке. Последний раз обработка успешно протестирована на релизе 1С:Предприятие 8.3, учебная версия (8.3.8.1933).

1 стартмани

29.08.2019    18540    6    user847462    5       

13

Комментарии

БУРазмещение текста в ячейке табличного документа#4 22.02.22 17:11
(3)
Алгоритм пытается заполнить область ячейки по-максимуму. Поэтому если высота ячейки позволяет, и попадется длинное слово, не помещающееся по ширине - то оно перенесется. Т.е. для высокой и узкой ячейки.
Для Вашего примера это будет выглядеть примерно так:
"пишу
текст про
трактори
ста и
перенос
криво
вышел"

Можно дописать алгоритм (например, добавить параметр запрета переноса длинных слов).
Но что если попадется очень длинное слово? Тогда можем получить картину, когда ячейка наполовину пустая, но зато в ней неперенесенное слово с минимальным шрифтом.
Мне кажется, проще такие частные случаи решать иначе. Например, ограничить максимальный размер шрифта в макете и длинное слово не перенесется.

Прикрепленные файлы:

tt1.jpg
DevНастройка колонок для вывода в отчет#2 07.08.20 14:06
"Макет ресурсов" -- это из СКД. Статья как раз о том, как решить задачу без помощи СКД для обычного отчета.
В обычном макете можете конструировать/определять формат вывода любых уровней группировок. Речь идет только о выборе необходимых колонок и их порядке в отчете.

Горизонтальные области перечисляются в конструкции:
Код
   // Перечень горизонтальных областей макета, используемых для вывода группировок и данных
   Макеты = Новый Структура("Заголовок,ШапкаТаблицы,ОбщиеИтоги,Период,Исполнитель,Детали"); 


Далее добавляете нужные колонки:
Код
   ДобавитьКолонкуКШаблону(Макет, Макеты, "ИмяВертикальнойОбласти");
DevНастройка колонок для вывода в отчет#0 11.07.20 22:32
Иногда возникает задача вывести в отчет по запросу не все колонки, а только определенные.
БУРазмещение текста в ячейке табличного документа#2 30.08.19 11:01
(1)
Цитата
Я не гуру, но думаю, что лучше использовать для этих целей модуль с повторным использованием возвращаемых значений
Спасибо за совет.
Конечно, все зависит от конкретного прикладного применения. Но, в моем случае, печать обычно происходит пакетно. Имеет ли смысл хранить постоянно значительный массив данных в глобальной переменной или целесообразнее получать его только на время процесса печати?
Нужно будет проработать этот.вопрос. Попробую провести замеры частоты вызовов.
БУРазмещение текста в ячейке табличного документа#0 29.08.19 17:40
Набор процедур и функций для подбора такого максимального размера шрифта ячейки табличного документа, при котором текст целиком помещается в ячейке.
Последний раз обработка успешно протестирована на релизе 1С:Предприятие 8.3, учебная версия (8.3.8.1933).