![]() |
#1 |
Участник
|
![]()
Такая проблема: при формировании печатной формы документа (счет-фактура, заказ и т.п.) бывают случаи когда Название (Description + Description 2) товара или ресурса не влазит по длине в строку. Поле MultiLine установлено в TRUE. Перенос текста видно, если заранее установить нужную высоту поля. Клиент хочет, чтобы строка имела высоту в зависимости от длины Названия.
Что посоветуете? PS вариант "веревка с мылом" не предлагать! ![]() |
|
![]() |
#2 |
Участник
|
Можно создать 2 секции. Одна высотой в 1 строчку, другая - в 2. Перед выводом записи анализировать ее размер и в зависимости от него выводить ту или иную секцию.
|
|
|
За это сообщение автора поблагодарили: mira (1). |
![]() |
#3 |
Участник
|
Вариант Евгения едиственен! В отчетах свойство MultyLine не работает.
__________________
Вот такие, брат, дела! |
|
![]() |
#4 |
Участник
|
Цитата:
Сообщение от Yuriy
Вариант Евгения едиственен! В отчетах свойство MultyLine не работает.
|
|
![]() |
#5 |
Участник
|
Подтверждаю. Multiline в отчетах очень даже работает. Просто он работает не так, как в Excel, где можно задать выравнивание по высоте.
Multiline в Navision просто дает возможность выводить поле (переменную) в несколько строчек. |
|
![]() |
#6 |
Участник
|
Извините, ошибся.
![]() Имелось ввиду, что это свойство не переносит слова по частям, для чего на одном из проектов была специально написана функция, которая правильно переносила слова по слогам.
__________________
Вот такие, брат, дела! |
|
![]() |
#7 |
Участник
|
Цитата:
Сообщение от Eugeny_F
Можно создать 2 секции. Одна высотой в 1 строчку, другая - в 2. Перед выводом записи анализировать ее размер и в зависимости от него выводить ту или иную секцию.
|
|
![]() |
#8 |
Участник
|
на одну секцию в тригер onPreSection() повесила:
Код: IF STRLEN(SalesLine1.Description+SalesLine1."Description 2")>30 THEN CurrReport.SHOWOUTPUT := FALSE ELSE CurrReport.SHOWOUTPUT := TRUE; в результате выводит весь отчет либо с одной секцией либо с другой. можно ли добится включением первой или второй секции для каждой конкретной записи? |
|
![]() |
#9 |
Участник
|
Цитата:
Сообщение от TanyaV
на одну секцию в тригер onPreSection() повесила:
Код: IF STRLEN(SalesLine1.Description+SalesLine1."Description 2")>30 THEN CurrReport.SHOWOUTPUT := FALSE ELSE CurrReport.SHOWOUTPUT := TRUE; в результате выводит весь отчет либо с одной секцией либо с другой. можно ли добится включением первой или второй секции для каждой конкретной записи? |
|
![]() |
#10 |
Участник
|
showoutput поменяла
я уже разобралась всё работает для каждой записи просто на неудачном примере проверяла перед этим спасибо |
|
![]() |
#11 |
NavAx
|
<div class='CALtop'>C/AL</div><div class='CAL'>CurrReport.SHOWOUTPUT := (STRLEN(SalesLine1.Description + SalesLine1."Description 2") <= 30);</div>
Простите, не сдержался ![]() В таком виде гораздо лучше читается. Не сочтите за наезд.
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
![]() |
#12 |
Участник
|
не сочла
![]() |
|
![]() |
#13 |
Участник
|
В принципе можно еще завести отдельную секцию по табличке целое. Определять сколько строк может занять вывод названия и фильтровать по этому количеству. Тогда можно делать любое кол-во строк в названии.
__________________
Want to believe... |
|