AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 30.03.2021, 17:56   #1  
Metrofun is offline
Metrofun
Участник
 
72 / 10 (1) +
Join Date: 27.04.2020
? Вывод последней строки программируемой секции на новой странице в отчёте
Всем добрый день.
Axapta 3.0.

Есть в отчёте две программируемых секции, назовём MasterSection и SlaveSection. SlaveSection фиксированный высоты, данные выводятся один раз.
Нужно чтобы, если данные из SlaveSection выводятся на новой странице, выводилась последняя строка из предыдущей программируемой секции MasterSection.
Код ниже (фрагмент с условием).
Проблема в следующем, если при расчёте
((element.design().printerPageHeight() - element.currentYmm100()) < curMasterSectionHeight последняя строка выводится на текущей странице, а вроде должна автоматически переносится на новую страницу.
Пример:
element.design().printerPageHeight() = 28850
element.currentYmm100() = 26950
curMasterSectionHeight = 2025
element.design().printerPageHeight() - element.currentYmm100() = 1900 < curMasterSectionHeight = 2025, т.е. вывод по идее должен быть на новой странице, а выводится на текущей.
После вывода element.design().printerPageHeight() = 28979

X++:
                curMasterSectionHeight = FieldMasterSection.heightOfWordWrappedString100mm("Выводимый текст");
                if (((element.design().printerPageHeight() - element.currentYmm100()) >= curMasterSectionHeight) &&
                   (element.design().printerPageHeight() - element.currentYmm100()) < (curMasterSectionHeight + SlaveSection.height100mm()))
                {
                    element.newPage();
                }
Old 31.03.2021, 16:33   #2  
smailik is offline
smailik
Участник
smailik's Avatar
 
250 / 70 (3) ++++
Join Date: 10.04.2012
Location: Москва
Если я правильно понял, то MasterSection может быть больше чем на одном листе.
Как вариант можно попробовать вот что:
Создать PragrammableSection выполнить её в форме последней строки из MasterSection.
При execute SlaveSection смотреть печатается они полностью на новом листе или нет.
Если да, то вызвать execute PragrammableSection.
Если нет, то нет
Old 31.03.2021, 21:46   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1792 (66) ++++++++
Join Date: 28.04.2007
Location: Калуга
Quote:
Originally Posted by Metrofun View Post
вывод по идее должен быть на новой странице, а выводится на текущей.
А если и в этом случае все равно вручную вызывать newPage? Будут какие-то негативные эффекты? По идее не должно.

Уберите первое условие, оставьте только второе
X++:
                curMasterSectionHeight = FieldMasterSection.heightOfWordWrappedString100mm("Выводимый текст");
                if (//((element.design().printerPageHeight() - element.currentYmm100()) >= curMasterSectionHeight) &&
                   (element.design().printerPageHeight() - element.currentYmm100()) < (curMasterSectionHeight + SlaveSection.height100mm()))
                {
                    element.newPage();
                }
 

Similar Threads
Thread Thread Starter Forum Replies Last Post
Вывод информации на ПОСЛЕДНЕЙ страничке отчета в AX4 HorrR DAX: Программирование 6 19.05.2011 23:36
Ширина секции в отчете symba DAX: Программирование 2 06.06.2008 17:46
Двойное отображение секции в отчете SSlavon DAX: Программирование 1 26.04.2005 14:42
Как сделать, чтобы в отчете каждый новый документ печатался с новой страницы? Николай DAX: Функционал 2 09.08.2004 13:22
Повторяющиеся строки в отчете... MIkeFW DAX: Программирование 3 05.09.2003 10:23

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 10:21.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.