19.08.2013, 18:23 | #1 |
Участник
|
Несколько отчетов в одном вьювере
Есть отчет, его можно вызвать по нескольким выбранным в форме записям, скажем, для простоты - выбираем несколько наклыдных и по ним выводим данные. Каждая накладная может содержать несколько страниц. Каждая новая накладная начинается с новой страницы. То есть по сути это несколько отчетов в одном
Все было хорошо, но сегодня пользователи попросили нумерацию страниц... то есть Накладная1 стр 1 из 2, Накладная1 стр 1 из 2, Накладная2 стр 1 из 3 и тд. И вот ума не приложу, как можно вычислить сколько страниц в этом однос отчете занимает конкретная накладнаяю PageNum() возвращает общее количество страниц документа... Самый очевидный вариант - втупую поделить количество строк накладной на количество строк кот можно уместить на 1 на листе, но это как-то некрасиво( Element.reset() открывает новый экземпляр просмотрщика, а это как раз не нужно( Хотелось бы в идеале в одном просмотрщике суметь открыть несколько отчетов. Это возможно? Можно еще как-то решить задачу? Ax2009 RU2 |
|
20.08.2013, 08:46 | #2 |
MCP
|
|
|
20.08.2013, 12:26 | #3 |
Участник
|
Спасибо, но это совсем не то, о чем я спрашиваю
|
|
20.08.2013, 16:17 | #4 |
Участник
|
Цитата:
Поскольку Аксапта в начале формирования отчета не знает сколько у нее будет страниц, и уж тем более страниц по накладным, как в Вашем случае, попробуйте прогнать отчет в 2 захода. Цель первого: посчитать кол-во страниц для каждой накладной. Цель второго: вывести это на экран. Для простоты восприятия создал Отчет. Прицепил к его датасорсу, ну допустим InventTable, сгенерил автодизайн -> body с двумя полями ItemId,ItemName. В методах отчета X++: public class ReportRun extends ObjectRun { boolean calcpages; } X++: public void run() { //1 прогон calcpages = true; super(); //2 прогон calcpages = false; Element.reset(); super(); } X++: public void executeSection() { super(); if (calcpages ) { ....... //вот здесь можно считать страницы по накладным ....... } }
__________________
-Ты в гномиков веришь? -Нет. -А они в тебя верят, смотри, не подведи их. Последний раз редактировалось Pustik; 20.08.2013 в 16:54. |
|