Минимальная высота строки табличного документа

01.10.23

Разработка - Работа с интерфейсом

Если установить для строки табличного документа свойство АвтоВысота, то уже нельзя задать минимальную высоту, а иногда это нужно.

Скачать исходный код

Наименование Файл Версия Размер
Минимальная высота строки табличного документа.:
.epf 66,39Kb
0
.epf 66,39Kb Скачать

Наверное, каждый  делал печатные формы в 1С, и многие делали прайс-листы с картинками. 

Вот и я столкнулся с проблемой красивого формирования прайс-листа. Дело в том, что нужно сделать прайс-лист с картинками для разнообразного товара. При этом длина наименования товара или описания может сильно различаться. 

У строки табличного документа есть великолепное свойство "АвтоВысотаСтроки" . и даже можно задать максимальную высоту. Если длина описания товара большая и поставить в свойствах "РазмещениеТекста" ячейки "Переносить" - то в результате высота строки увеличится, текст будет отражаться корректно и картинка поместится в нужную ячейку.  Однако, если длина описания маленькая, то при выставленном свойстве "АвтоВысотаСтроки" высота получившейся строки может равняться высоте только одной строки текста и картинка в соседней ячейке уменьшится по высоте, чтобы вписаться в высоту строки. При этом картинка становится "нечитаемой" и  весь прайс выглядит "коряво".

В идеале решением данной проблемы могло бы служить свойство минимальная высота строки, однако такого свойства у области ячеек нет и, кроме всего, мы не можем прочитать  высоту строки при установленном свойстве "АвтоВысотаСтроки". 

Из всего это следует, что нам нужно как-то ограничить минимальную высоту строки для красивого вывода прайс-листа с картинками. 

Как это можно сделать?

В самом макете устанавливаем минимальную высоту строки в которой корректно отображаются картинки. А в обработке вывода строки будем проверять, вписывается ли наш текст в установленную высоту или нет. 

Проще всего проверить это так:

1. Считываем текущую высоту строки;

2. Устанавливаем высоту строки равную 0 и устанавливаем  свойство "АвтоВысотаСтроки" в Истина.

3. Сверяем с высотой из 1 п. Если высота увеличилась - то оставляем все как есть, а если уменьшилась - то возвращаем высоту назад, как мы указали при создании макета.

		ТабличныйДокумент.Вывести(ОбластьСтрокаТаблицыТовары);  
		
		Область = ТабличныйДокумент.ОБласть(ТабличныйДокумент.ВысотаТаблицы,1,ТабличныйДокумент.ВысотаТаблицы,1);
	    Рулетка = ТабличныйДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Текст);    

	    Рулетка.Расположить(Область);    

		ВысотаСтроки = Область.ВысотаСтроки;

		Высота1 = Рулетка.Высота;          

		Область.ВысотаСтроки = 0;
		Область.АвтоВысотаСтроки = Истина;

		Высота2 = Рулетка.Высота;    

		Если Высота2<Высота1 тогда        
			Область.АвтоВысотаСтроки = Ложь;
			Область.ВысотаСтроки = ВысотаСтроки;
		КонецЕсли;


 

На мой взгляд получился достаточно просто и не ресурсоемкий способ. 

Пример обработки вы можете скачать ниже.

Платформа 8.3.14.

Минимальная высота строки табличного документа

См. также

Управление дашбордами

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    17200    23    4    

37

Новогоднее оформление для 1С

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    11691    776    elcoan    47    

108

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.

2 стартмани

10.04.2023    10221    157    acces969    31    

120

Модель состояния для MVC

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    4216    kalyaka    4    

31

Условное оформление элементов форм в пользовательском режиме 1С (управление видимостью и доступностью элементов форм)

Работа с интерфейсом Платформа 1С v8.3 Платные (руб)

Подсистема условного оформления элементов форм (далее подсистема) предназначена для настройки оформления элементов форм (видимость, доступность, цвет фона, цвет текста и прочее) в пользовательском режиме 1С. Также подсистему возможно использовать для ограничения доступа к реквизитам формы для определенных пользователей (или групп пользователей).

6000 руб.

18.01.2022    9111    1    2    

6

Программный интерфейс для доработки форм

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Реализовал простой способ программного создания новых элементов, команд и реквизитов на форме.

25.11.2021    10020    AtamanovYS    19    

141
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Erne100 286 05.02.24 16:59 Сейчас в теме
Иногда достаточно увеличить размер шрифта в одной из пустых ячеек.
Прикрепленные файлы:
Оставьте свое сообщение