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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.08.2013, 18:23   #1  
IKA is offline
IKA
Участник
 
359 / 65 (3) ++++
Регистрация: 15.03.2006
Несколько отчетов в одном вьювере
Есть отчет, его можно вызвать по нескольким выбранным в форме записям, скажем, для простоты - выбираем несколько наклыдных и по ним выводим данные. Каждая накладная может содержать несколько страниц. Каждая новая накладная начинается с новой страницы. То есть по сути это несколько отчетов в одном

Все было хорошо, но сегодня пользователи попросили нумерацию страниц... то есть Накладная1 стр 1 из 2, Накладная1 стр 1 из 2, Накладная2 стр 1 из 3 и тд.

И вот ума не приложу, как можно вычислить сколько страниц в этом однос отчете занимает конкретная накладнаяю PageNum() возвращает общее количество страниц документа...
Самый очевидный вариант - втупую поделить количество строк накладной на количество строк кот можно уместить на 1 на листе, но это как-то некрасиво(
Element.reset() открывает новый экземпляр просмотрщика, а это как раз не нужно(

Хотелось бы в идеале в одном просмотрщике суметь открыть несколько отчетов. Это возможно? Можно еще как-то решить задачу?


Ax2009 RU2
Старый 20.08.2013, 08:46   #2  
kornix is offline
kornix
MCP
MCBMSS
Злыдни
Ex AND Project
 
414 / 146 (5) +++++
Регистрация: 24.02.2009
Адрес: Санкт-Петербург
Похожее обсуждалось тут
Плюс можно посмотреть Page numbers in report
Старый 20.08.2013, 12:26   #3  
IKA is offline
IKA
Участник
 
359 / 65 (3) ++++
Регистрация: 15.03.2006
Спасибо, но это совсем не то, о чем я спрашиваю
Старый 20.08.2013, 16:17   #4  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от IKA Посмотреть сообщение
Element.reset() открывает новый экземпляр просмотрщика, а это как раз не нужно(
Ax2009 RU2
А почему? После вывода надо выгрузить в PDF? Пользователям хлопотно?
Поскольку Аксапта в начале формирования отчета не знает сколько у нее будет страниц, и уж тем более страниц по накладным, как в Вашем случае, попробуйте прогнать отчет в 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();
}
в методе executeSection body :
X++:
public void executeSection()
{
     super();
     if (calcpages )
    {
       ....... 
       //вот здесь можно считать страницы по накладным
       .......  
    }
}
Думаю, что для накладных это будет не так просто как в тестовом отчетике, но вообщем идея такая. Откроется конечно два вьюера, но во втором будут все накладные и посчитаны страницы. А первый можно, например, закрыть в конце с помощью WinApi.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.

Последний раз редактировалось Pustik; 20.08.2013 в 16:54.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Увеличить скорость отчётов AP-1055D DAX: Прочие вопросы 26 01.03.2012 12:00
несколько стран в одном приложении IKA DAX: Функционал 11 22.03.2010 13:36
Несколько порталов DAX2009 на одном сервере shogel DAX: База знаний и проекты 7 16.02.2010 18:58
Несколько табличек в одном отчете Oz DAX: Программирование 2 20.02.2004 11:03
Объединить несколько полей таблицы в одном поле Grid-а на форме? storer DAX: Программирование 2 12.11.2003 14:08

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

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

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