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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.07.2007, 15:23   #1  
xenikk is offline
xenikk
Axapta Retail User
Аватар для xenikk
Axapta Retail User
 
30 / 10 (1) +
Регистрация: 20.06.2007
Адрес: Moscow
Цитата:
Сообщение от miklenew Посмотреть сообщение
Не понял что именно меняется динамически высота строк или их количетсво. А вы точно пользуетесь ProgrammableSection. Что-то я не помню, чтоб она не правильно переносила. С ней newPage не нужен.
1) В зависимости от документа, высчитывается количество строк
2) при отрисовке строки проверка на высоту строки, если текс не умещается - он переносится, таким образом высота строки увеличивается.
3) А строки в дизайне находятся в Body: LinesBody
Старый 26.07.2007, 15:49   #2  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от xenikk Посмотреть сообщение
3) А строки в дизайне находятся в Body: LinesBody
Вы похоже пользуетесь AutoDesignSpec (генератором), а перекрываете fetch. Может стоили бы делать через Generarted Design. К сожаленью никогда AutoDesignSpec не пользовался, мож там есть такая багофича. С границами играться не рекомендую в Аксапте отчёты работают плохо, там можете много граблей собрать.
Старый 26.07.2007, 16:01   #3  
xenikk is offline
xenikk
Axapta Retail User
Аватар для xenikk
Axapta Retail User
 
30 / 10 (1) +
Регистрация: 20.06.2007
Адрес: Moscow
Цитата:
Сообщение от miklenew Посмотреть сообщение
Вы похоже пользуетесь AutoDesignSpec (генератором), а перекрываете fetch. Может стоили бы делать через Generarted Design. К сожаленью никогда AutoDesignSpec не пользовался, мож там есть такая багофича. С границами играться не рекомендую в Аксапте отчёты работают плохо, там можете много граблей собрать.
Делаю как раз в Generarted Design. Методы перекрыты class declaration, fetch, init.

Вот код на сейчас - на данном этапе печатаются строчки до конца листа...и дальше не переносятся вообще (( т.е. аксапта обрывает список на одном листе
X++:
                select tmpHeader;


                Header. data(tmpHeader);
                element.send(tmpHeader);
                //шапка отчета

                this.execute(7);
                //шапка таблицы
                while
                    select
                        tmpLines order by itemName 
                //динамические строки
                {

                        lineNum ++;
                        Lines.data(tmpLines);
                        element.send(tmpLines);

                pageHeight = element.printerPageHeight();
                pageHeight -= element.currentYmm100()/145;

                if((pageHeight) <= 0.35)
                    element.newPage();
                //здесь я пытаюсь сделать проверку на границы листа, однако не получается(
                }
                //далее печать остальных секций, с ними ошибок не возникло
                element.newPage();
                this.execute(2);
                element.newPage();
                this.execute(8);
AXAPTA отображает отчет хорошо, а печатается из нее не очень, как я уже писал выше обрывает последнюю строчку.

Последний раз редактировалось xenikk; 26.07.2007 в 16:06.
Старый 26.07.2007, 16:08   #4  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от xenikk Посмотреть сообщение
Делаю как раз в Generarted Design.
Странно в нём секции body у меня вообще нет. А чё не хотите, через programmablesection сделать. Пробежали по вашей tmp таблице вызвали execute этой секции. Я покрайней мере таких глюков в ней не находил.
Старый 26.07.2007, 16:44   #5  
xenikk is offline
xenikk
Axapta Retail User
Аватар для xenikk
Axapta Retail User
 
30 / 10 (1) +
Регистрация: 20.06.2007
Адрес: Moscow
Всем спасибо)) Все заработало))
X++:
pageHeight = element.design().printerPageHeight();
X++:
             while
                    select
                        tmpLines order by itemName
                {

                        lineNum ++;
                        Lines.data(tmpLines);
                        element.send(tmpLines);

                restHeight = element.currentYmm100();

                if((pageHeight - restHeight) < 1000)
                    element.newPage();
                }
Отдельное спасибо моему коллеге)
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ширина секции в отчете symba DAX: Программирование 2 06.06.2008 17:46
Фин отчеты: может ли работать по нескольким компаниям сразу Arahnid DAX: Функционал 3 30.05.2007 17:46
Финансовые отчеты. Отбор счетов. ax_f DAX: Функционал 3 15.12.2005 20:34
Отчеты по клиентам Anastasiya DAX: Функционал 2 19.03.2005 12:11
Авансовые отчеты - Копировать из источников mpa DAX: Функционал 11 05.04.2004 09:42
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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