Всем добрый день.
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();
}