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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.02.2012, 17:36   #1  
yahenz is offline
yahenz
Участник
 
12 / 10 (1) +
Регистрация: 27.12.2011
Адрес: Челябинск
? Отключить диалог отчета
Добрый день!

Подскажите, пожалуйста, как при запуске отчета отключить диалог выбора параметров?
И как тогда передать параметр программно?

Спасибо!
Старый 11.02.2012, 20:06   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
За отображение диалога отвечает метод promt(). Если вы вызываете отчёт из кода, просто не вызывайте этот метод. Параметры печати можно задать через printJobSettings.
Смотрите так же Как подавить стандартный progressbar при формировании встроенного отчёта?
За это сообщение автора поблагодарили: yahenz (1).
Старый 11.02.2012, 21:07   #3  
yahenz is offline
yahenz
Участник
 
12 / 10 (1) +
Регистрация: 27.12.2011
Адрес: Челябинск
Спасибо, попробую.
Старый 12.02.2012, 00:00   #4  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Добавлю, если необходимо запретить вывод диалога с запросом и параметрами печати у стандартного отчета (тот который расположен в АОТ в ветке Reports), тогда необходимо свойство отчета Interactive установить в "No" (по умолчанию там стоит "Yes").
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
За это сообщение автора поблагодарили: Pustik (3), S.Kuskov (3), yahenz (1).
Старый 20.02.2012, 18:37   #5  
yahenz is offline
yahenz
Участник
 
12 / 10 (1) +
Регистрация: 27.12.2011
Адрес: Челябинск
Post
Цитата:
Сообщение от lev Посмотреть сообщение
Добавлю, если необходимо запретить вывод диалога с запросом и параметрами печати у стандартного отчета (тот который расположен в АОТ в ветке Reports), тогда необходимо свойство отчета Interactive установить в "No" (по умолчанию там стоит "Yes").
Видимо, чего-то я упустил. Отключить диалог с параметрами печати посредством установки свойства Interactive в No удалось, но следом вызывается еще один диалог с выбором критериев отбора. Его-то мне и надо отключить, т.к. критерий отбора я формирую программно в методе fetch(), примерно так:
X++:
public boolean fetch()
{
  QueryRun qr;
  QueryBuildRange rangeVendInvoice;
  Boolean ret;
  qr = new QueryRun(element);
     rangeVendInvoice=element.query().dataSourceTable(tablenum(VendInvoiceJour)).addRange(fieldnum(VendInvoiceJour, InvoiceId));
  rangeVendInvoice.value("МойКритерийОтбора");
  rangeVendInvoice.status(RangeStatus::LOCKED);

  if (qr.prompt() && element.prompt())
  {
    while (qr.next())
    {
        VendInvoiceJour_1= qr.get(tableNum(VendInvoiceJour));
        VendInvoiceTrans_1= qr.get(tableNum(VendInvoiceTrans));
        if (!VendInvoiceJour_1)
        {
            ret = false;
            break;
        }
        if (qr.changed(tableNum(VendInvoiceJour)))
        {
             element.send(VendInvoiceJour_1, 1);
        }
        if (qr.changed(tableNum(VendInvoiceTrans)))
        {
            element.send(VendInvoiceTrans_1, 2);
         }
    }
    ret = true;
  }
  else
  ret = false;
  return ret;
}
Пробовал перекрыть метод dialog() и закомментить super(), но не помогло.
Как же быть тогда?

П.С. Отчет вызывается через menu item.
Старый 20.02.2012, 18:42   #6  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
у Query в отчете есть такое же свойство Interactive.

ну и методы у вас... бедный fetch

Последний раз редактировалось Wamr; 20.02.2012 в 18:48.
За это сообщение автора поблагодарили: lev (3).
Старый 20.02.2012, 20:53   #7  
yahenz is offline
yahenz
Участник
 
12 / 10 (1) +
Регистрация: 27.12.2011
Адрес: Челябинск
Цитата:
Сообщение от Wamr Посмотреть сообщение
у Query в отчете есть такое же свойство Interactive.

ну и методы у вас... бедный fetch
Ну я делал по примеру описанному в книге "MORPHX IT Введение в язык программирования в Axapta X++ и среду разработки MorphX", т.к. другого способа не нашел.
Старый 20.02.2012, 21:34   #8  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от yahenz Посмотреть сообщение
Видимо, чего-то я упустил. Отключить диалог с параметрами печати посредством установки свойства Interactive в No удалось, но следом вызывается еще один диалог с выбором критериев отбора. Его-то мне и надо отключить, т.к. критерий отбора я формирую программно в методе fetch(), примерно так:
X++:
public boolean fetch()
{
  QueryRun qr;
  QueryBuildRange rangeVendInvoice;
  Boolean ret;
  qr = new QueryRun(element);
     rangeVendInvoice=element.query().dataSourceTable(tablenum(VendInvoiceJour)).addRange(fieldnum(VendInvoiceJour, InvoiceId));
  rangeVendInvoice.value("МойКритерийОтбора");
  rangeVendInvoice.status(RangeStatus::LOCKED);

  if (qr.prompt() && element.prompt())
  {
    while (qr.next())
    {
        VendInvoiceJour_1= qr.get(tableNum(VendInvoiceJour));
        VendInvoiceTrans_1= qr.get(tableNum(VendInvoiceTrans));
        if (!VendInvoiceJour_1)
        {
            ret = false;
            break;
        }
        if (qr.changed(tableNum(VendInvoiceJour)))
        {
             element.send(VendInvoiceJour_1, 1);
        }
        if (qr.changed(tableNum(VendInvoiceTrans)))
        {
            element.send(VendInvoiceTrans_1, 2);
         }
    }
    ret = true;
  }
  else
  ret = false;
  return ret;
}
Пробовал перекрыть метод dialog() и закомментить super(), но не помогло.
Как же быть тогда?

П.С. Отчет вызывается через menu item.
что то я не понял, Вы отключить диалоги хотите??
а зачем тогда вот эти строчки в fetch()?
X++:
if (qr.prompt() && element.prompt())
  {...
  }
т.е. я удивлен что в начале кто то с помощью программрования накалбасил вывод диалогов в методе fetch(), а потом кто то эти диалоге отключает, только уже свойствами...
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 20.02.2012, 21:39   #9  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Если отчет "обернут" в класс RunBaseReport, т.е. используется класс-наследник от этого класса, где в методе lastValueElementName() указано имя вызываемого отчета, то

1. Для подавления вывода кнопки "Выбрать" в диалоговом окне следует перекрыть метод showQuerySelectButton() и вернуть из него false не вызывая super(). Или, более "грубый" способ, аналогичным образом перекрыть метод showQueryValues()

2. Для изменения запроса в зависимости от настроек, сделанных пользователем необходимо перекрыть метод run() и в нем ДО вызова super() выполнить модификации Query, полученного через

queryRun.Query()

переменная queryRun - это глобальная переменная всех классов наследников от RunBaseReport, в которой, по умолчанию, содержится Query взятый из указанного в методе lastValueElementName() отчета.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: alex55 (3).
Старый 23.02.2012, 20:58   #10  
yahenz is offline
yahenz
Участник
 
12 / 10 (1) +
Регистрация: 27.12.2011
Адрес: Челябинск
Всех благодарю за участие! Разобрался, все работает!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Infolog при печати отчета samolalex DAX: Программирование 9 09.09.2010 18:49
Как отключить диалог kalex_a DAX: Программирование 6 18.11.2008 08:10
Как изменить заголовок окна предв.просмотра отчета Владимир Максимов DAX: Программирование 6 03.07.2006 15:34
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Формирование отчета с динамически изменяемым числом столбцов. rumpleteazer DAX: Программирование 1 06.09.2002 11:25

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

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

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