Имя: Пароль:
1C
 
Установка высоты строк по максимальному значению.
Ø (Kassern 07.12.2021 12:29)
0 NaRaz
 
05.12.21
08:20
Всем привет. Решаю задачу:
Есть ВПФ, в ней выводитятся строки, строки заполняются данными, у строк в макете установлено значение автовысота = Истина. В итоге получается, что строки имеют разную высоту, какая то больше, какая то меньше, нужно сделать высоту по максимальной.

ВремТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("ПФ_MXL_МойМакет");
Область= Макет.ПолучитьОбласть("ОБластьСтрока");

ОбластьВычисления = ВремТабДок.Вывести(Область);
Надпись = ВремТабДок.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Текст);
Надпись.Расположить(ОбластьВычисления);
Если Надпись.Высота > МаксимальнаяВысотаСтроки Тогда
МаксимальнаяВысотаСтроки = Надпись.Высота;
КонецЕсли;
//ВремТабДок.Рисунки.Удалить(Надпись);

В итоге получается, что Надпись.Высота =0. Картинка выводится в левый верхний угол всегда. Чет не пойму что я делаю не так. Как мне поместить картинку в текущую строку, а не в левый верхний угол?
1 NaRaz
 
05.12.21
08:24
И да, параметры области я заполняю перед тем как добавить картинку, т.е. туда помещаю нужный мне текст.
2 NaRaz
 
05.12.21
10:11
Похоже на мисте выходные появились, раньше тут кодили 24/7/365
3 acht
 
05.12.21
10:15
(2) Следующим постом от тебя должно быть "ну что, никто не встречался что-ли". Не подведи.
5 acht
 
05.12.21
10:30
(4) > обожаю
Ну вот видишь, как тебе удачно ответ зашел. Не стесняйся, продолжай - ты ведь здесь именно за этим. Клавиши только поаккуратней нажимай, у тебя опечаток много.
6 NaRaz
 
05.12.21
10:40
(5) забаньте провокатора
7 ДенисЧ
 
05.12.21
10:41
(4) "веризжать "
У меня тут где-то орфографический словарь завалялся...
Нннада?
8 acht
 
05.12.21
10:44
(4) > начинай веризжать что банить надо
...
(6) > забаньте провокатора

Милотааааа...
9 Мимохожий Однако
 
05.12.21
10:46
Если удастся определить высоту картинки, то присвой эту высоту для строки с надписью. В коде не видно информации о размещаемой картинке.
10 Мимохожий Однако
 
05.12.21
10:51
С просторов интернета...
//вывод картинки в область табличного документа
Рисунок = ОбластьДетальныхЗаписей.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
Рисунок.Верх = 2;//5;
Рисунок.Высота = 10;
Рисунок.Ширина = 10;
Рисунок.Лево = 5;
Рисунок.РазмерКартинки = РазмерКартинки.Пропорционально;
Рисунок.Линия=Новый Линия(ТипЛинииРисункаТабличногоДокумента.НетЛинии);
НайдСтрока=СпрФайлов.Найти(ВыборкаДетальныеЗаписи.Номенклатура,"ВладелецФайла");
Если НЕ НайдСтрока=Неопределено Тогда
Попытка
ДвоичныеДанныеФайла=ПрисоединенныеФайлы.ПолучитьДвоичныеДанныеФайла(НайдСтрока.Ссылка);
Рисунок.Картинка = Новый Картинка(ДвоичныеДанныеФайла);
Исключение
//Сообщить(ВыборкаДетальныеЗаписи.Представление+":? "+ОписаниеОшибки());   //для отладки
КонецПопытки;        
КонецЕсли;
ТабДок.Вывести(ОбластьДетальныхЗаписей);
11 NaRaz
 
05.12.21
11:31
(10) это работа с картинками. Это не то. Мне надо в выводимую строку добавить картинку для измерения её высоты. Потом удалить картинку
12 NaRaz
 
05.12.21
23:34
up может у кого то есть пример рабочий как эта штука работает?
13 NaRaz
 
06.12.21
18:48
up может у кого то есть пример рабочий как эта штука работает?
14 Ёпрст
 
06.12.21
19:25
Проще получить область макета, через коллекцию рисунки добавить свой рисунок и посмотреть высоту, потом уже, вывести эту область.
Если рисунок нужно выводить в результирующую табличку, то проще играться с ТабличныйДок.ВысотаТаблицы для определения последней собласти таб дока и уже в нее кидать рисунок
15 NaRaz
 
07.12.21
11:14
(14) Спасибо большое. Но можно пример как это делается?
16 NaRaz
 
07.12.21
11:42
Если в эту область добавлять рисунок, то получается фигня, и высота рисунка = 0
Область= Макет.ПолучитьОбласть("ОБластьСтрока");
17 Мимохожий Однако
 
07.12.21
11:58
Сделай максимальную фиксированную высоту для всех выводимых строк, которую можно определить эмпирически.
18 acht
 
07.12.21
12:02
Подождем момента осознания, что высота строки и размеры рисунка задаются в разных единицах измерений.
19 NaRaz
 
07.12.21
12:02
(17) Это план Б. Заказчик как бы говорит, что это не красиво, т.к. не всегда нужна такая высота, а иногда и ее не зватает
20 NaRaz
 
07.12.21
12:03
(18) Я вкурсе.
21 NaRaz
 
07.12.21
12:05
Как же тогда решается задача, что бы вывести строки макета по максимальной высоте?
22 acht
 
07.12.21
12:07
Устраивается гуру-тест, в бложике пишется статья с наездами на 1С и восхвалением себя.
23 NaRaz
 
07.12.21
12:09
(22) Ага, там перед восхвалением пусто будет? или описание алгоритма?
24 acht
 
07.12.21
12:10
(23) Это уж как напишешь.
26 NaRaz
 
07.12.21
12:15
Теперь по теме, есть у кого то идеи как сделать высоту строки по максимальной?
27 DrShad
 
07.12.21
12:16
ты бы хоть скрин выкинул что не так с высотами
29 Kassern
 
07.12.21
12:20
30 Kassern
 
07.12.21
12:24
когда вы ставите автовысоту строк, то высота у вас будет по умолчанию 0. Попробуйте отключить автовысоту и программно для выведенной области указывать высоту строки. Можно попробовать вычислить максимальную высоту по размеру вставляемого объекта, либо по количеству символов в области.
31 NaRaz
 
07.12.21
12:26
(30) Вот сейчас я уже склоняюсь к тому, что надо считать количество символов в строке и прибавлять количество переносов строки и в каждую ячейку строки добавлять нужное количество нужных символов
32 NaRaz
 
07.12.21
12:27
Всем спасибо за обсуждение, тролям Fuck you, хорошим людям прекрасного дня и удачи в карьере
Основная теорема систематики: Новые системы плодят новые проблемы.