AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.08.2005, 16:36   #1  
TanyaV_imported is offline
TanyaV_imported
Участник
 
66 / 10 (1) +
Регистрация: 25.04.2005
Thumbs up
Такая проблема: при формировании печатной формы документа (счет-фактура, заказ и т.п.) бывают случаи когда Название (Description + Description 2) товара или ресурса не влазит по длине в строку. Поле MultiLine установлено в TRUE. Перенос текста видно, если заранее установить нужную высоту поля. Клиент хочет, чтобы строка имела высоту в зависимости от длины Названия.

Что посоветуете?

PS вариант "веревка с мылом" не предлагать!
Старый 01.08.2005, 16:41   #2  
Eugeny_F is offline
Eugeny_F
Участник
 
371 / 30 (2) +++
Регистрация: 18.11.2003
Адрес: Москва
Можно создать 2 секции. Одна высотой в 1 строчку, другая - в 2. Перед выводом записи анализировать ее размер и в зависимости от него выводить ту или иную секцию.
За это сообщение автора поблагодарили: mira (1).
Старый 01.08.2005, 17:10   #3  
Yuriy is offline
Yuriy
Участник
 
150 / 10 (1) +
Регистрация: 25.02.2003
Адрес: Москва
Вариант Евгения едиственен! В отчетах свойство MultyLine не работает.
__________________
Вот такие, брат, дела!
Старый 01.08.2005, 17:16   #4  
Галина is offline
Галина
Участник
 
1,132 / 28 (3) +++
Регистрация: 01.07.2003
Цитата:
Сообщение от Yuriy
Вариант Евгения едиственен! В отчетах свойство MultyLine не работает.
Вот это да-как это не работает? Всегда работало еще со 2 версии. Вопрос - как у вас не работает? В чем это выражается?
Старый 01.08.2005, 17:28   #5  
Eugeny_F is offline
Eugeny_F
Участник
 
371 / 30 (2) +++
Регистрация: 18.11.2003
Адрес: Москва
Подтверждаю. Multiline в отчетах очень даже работает. Просто он работает не так, как в Excel, где можно задать выравнивание по высоте.
Multiline в Navision просто дает возможность выводить поле (переменную) в несколько строчек.
Старый 01.08.2005, 17:52   #6  
Yuriy is offline
Yuriy
Участник
 
150 / 10 (1) +
Регистрация: 25.02.2003
Адрес: Москва
Извините, ошибся.
Имелось ввиду, что это свойство не переносит слова по частям, для чего на одном из проектов была специально написана функция, которая правильно переносила слова по слогам.
__________________
Вот такие, брат, дела!
Старый 01.08.2005, 18:15   #7  
TanyaV_imported is offline
TanyaV_imported
Участник
 
66 / 10 (1) +
Регистрация: 25.04.2005
Цитата:
Сообщение от Eugeny_F
Можно создать 2 секции. Одна высотой в 1 строчку, другая - в 2. Перед выводом записи анализировать ее размер и в зависимости от него выводить ту или иную секцию.
попробую...спасибо
Старый 01.08.2005, 18:45   #8  
TanyaV_imported is offline
TanyaV_imported
Участник
 
66 / 10 (1) +
Регистрация: 25.04.2005
на одну секцию в тригер onPreSection() повесила:
Код:
IF STRLEN(SalesLine1.Description+SalesLine1."Description 2")>30  THEN
    CurrReport.SHOWOUTPUT := FALSE
ELSE CurrReport.SHOWOUTPUT := TRUE;
на второй секции - наоборот

в результате выводит весь отчет либо с одной секцией либо с другой.
можно ли добится включением первой или второй секции для каждой конкретной записи?
Старый 01.08.2005, 18:48   #9  
Галина is offline
Галина
Участник
 
1,132 / 28 (3) +++
Регистрация: 01.07.2003
Цитата:
Сообщение от TanyaV
на одну секцию в тригер  onPreSection() повесила:
Код:
IF STRLEN(SalesLine1.Description+SalesLine1."Description 2")>30  THEN
    CurrReport.SHOWOUTPUT := FALSE
ELSE CurrReport.SHOWOUTPUT := TRUE;
на второй секции - наоборот

в результате выводит весь отчет либо с одной секцией либо с другой.
можно ли добится включением первой или второй секции  для каждой конкретной записи?
А наоборот - что условие поменяли или showoutput поменяли ?
Старый 01.08.2005, 18:57   #10  
TanyaV_imported is offline
TanyaV_imported
Участник
 
66 / 10 (1) +
Регистрация: 25.04.2005
showoutput поменяла

я уже разобралась
всё работает для каждой записи
просто на неудачном примере проверяла перед этим
спасибо
Старый 02.08.2005, 10:16   #11  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
<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  
TanyaV_imported is offline
TanyaV_imported
Участник
 
66 / 10 (1) +
Регистрация: 25.04.2005
не сочла
Старый 03.08.2005, 13:49   #13  
DA_NEAL is offline
DA_NEAL
Участник
Аватар для DA_NEAL
Лучший по профессии 2017
Лучший по профессии 2009
 
788 / 54 (3) ++++
Регистрация: 05.08.2002
Адрес: Королев
В принципе можно еще завести отдельную секцию по табличке целое. Определять сколько строк может занять вывод названия и фильтровать по этому количеству. Тогда можно делать любое кол-во строк в названии.
__________________
Want to believe...
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:35.