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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.11.2009, 20:09   #1  
dynamax is offline
dynamax
Участник
 
62 / 11 (1) +
Регистрация: 28.09.2009
ProjInvoice. Суммы печатаются на первой страницы?
Я не часто работаю с отчетами, поэтому может быть простой вопрос.

Кто-нибудь сталкивался с проблемой. У отчета ProjInvoice суммы печатаются на первой странице. DAX 2009.

Хотя смотря этот код:

X++:
 if (element.page() != 1)
            {
                printFooter         = this.totalsPage(FirstLast::Last, true);
                printFooterPayment  = this.totalsPage(FirstLast::Last, true);
                printFooterEuro     = this.totalsPage(FirstLast::Last, (ProjFormletterParameters::find().PrintEuroAmount && CompanyInfo::find().EuroCurrencyCode));
                printGiro           = this.totalsPageGiro(FirstLast::Last, showFooterGiro);
            }
все должно быть нормально.

Не подскажите в чем дело?
Старый 12.11.2009, 08:48   #2  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
предположение:
может где то ещё есть код, который выводит суммы?
поищите поиском по отчету метод totalsPage
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 12.11.2009, 08:50   #3  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
а ещё, а в каком месте выполняется указанный вами код? может на момент его выполнения element.page() уже не равен одному (или ещё не равен)
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 12.11.2009, 11:08   #4  
dynamax is offline
dynamax
Участник
 
62 / 11 (1) +
Регистрация: 28.09.2009
Цитата:
Сообщение от lev Посмотреть сообщение
а ещё, а в каком месте выполняется указанный вами код? может на момент его выполнения element.page() уже не равен одному (или ещё не равен)
Код выполняется в fetch(). Если страниц больше чем одна, debuger заходит в этот блок.
Старый 12.11.2009, 11:15   #5  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Ну, как я погляжу, вы скопировали только часть этого кода:

X++:
            if (element.page() != 1)
            {
                printFooter         = this.totalsPage(FirstLast::Last, true);
                printFooterPayment  = this.totalsPage(FirstLast::Last, true);
                printFooterEuro     = this.totalsPage(FirstLast::Last, (ProjFormletterParameters::find().PrintEuroAmount && CompanyInfo::find().EuroCurrencyCode));
                printGiro           = this.totalsPageGiro(FirstLast::Last, showFooterGiro);
            }
            else
            {
                printFooter         = true;
                printFooterPayment  = true;
                printFooterEuro     = ProjFormletterParameters::find().PrintEuroAmount && CompanyInfo::find().EuroCurrencyCode;
                printGiro           = showFooterGiro;
            }
То есть, для страницы != 1, печатать или не печатать футеры определяется из метода, а для первой страницы - безусловно true.
Правда я в логику работы не влазил - отчет большой. Но исходя из этого блока кажется, что достаточно будет изменить true на false
За это сообщение автора поблагодарили: dynamax (1).
Старый 12.11.2009, 13:44   #6  
dynamax is offline
dynamax
Участник
 
62 / 11 (1) +
Регистрация: 28.09.2009
Для первой страницы выполняется этот код:

X++:
printFooter             = this.totalsPage(FirstLast::First, true);
                printFooterPayment      = this.totalsPage(FirstLast::First, true);
                printFooterEuro         = this.totalsPage(FirstLast::First, this.printEuroTotals());
                printFooterPrepaid      = this.totalsPage(FirstLast::First, showFooterPrepaid);
                printFooterPrepaidEuro  = this.totalsPage(FirstLast::First, showFooterPrepaidEuro);
                printDocuHeader         = false;
                printGiro               = this.totalsPageGiro(FirstLast::First, showFooterGiro);
я его закоментировал. Суммы теперь не печатаются вообще. Хотя этот блок исполняется:

X++:
if (element.page() != 1)
            {
                printFooter         = this.totalsPage(FirstLast::Last, true);
                printFooterPayment  = this.totalsPage(FirstLast::Last, true);
                printFooterEuro     = this.totalsPage(FirstLast::Last, (ProjFormletterParameters::find().PrintEuroAmount && CompanyInfo::find().EuroCurrencyCode));
                printGiro           = this.totalsPageGiro(FirstLast::Last, showFooterGiro);
            }
            else
            {
                printFooter         = true;
                printFooterPayment  = true;
                printFooterEuro     = ProjFormletterParameters::find().PrintEuroAmount && CompanyInfo::find().EuroCurrencyCode;
                printGiro           = showFooterGiro;
            }
Старый 13.11.2009, 17:52   #7  
dynamax is offline
dynamax
Участник
 
62 / 11 (1) +
Регистрация: 28.09.2009
всё дело в том, что в настройках для форм в разном стояло: Итоги: Первая. надо поставить последняя и все!
За это сообщение автора поблагодарили: Lemming (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Расхождение суммы проводки по поставщику и сопоставленной суммы petr DAX: Функционал 2 15.10.2008 23:31
Суммы по двум таблицам ice DAX: Программирование 17 28.04.2008 15:53
Алгоритм расчета общей суммы kashperuk DAX: Программирование 31 05.09.2007 22:37
Корректировка суммы налога в закупке ymv2000 DAX: Функционал 4 26.10.2006 09:19
В кассовой книге не печатаются суммы больше 1000000 mad_pilot DAX: Функционал 10 29.01.2003 10:58

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

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

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