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