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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.11.2005, 21:47   #1  
ZeninOleg is offline
ZeninOleg
Участник
 
9 / 10 (1) +
Регистрация: 12.03.2007
Добрый день, у меня может довольно глупый вопрос.....
Мне надо запостить набор заказов, для этого существует Отчет 296, только тпри запуске выдается форма, которую надо заполнить. Мне же надо чтобы программа сама вызывала этот Отчет когда надо и передавала ему параметры(Начальную дату и конечную, все остальные параметры будут постоянными, хотя их тоже надо передавать). Кто-нибудь такое делал? Поделитесь идеями, пожалуйста, а то тупик......

И в догонку, нужно еще на каждый такой запуск(Batch) формировать один Invoice на каждого покупателя(складывать все заказы в один Invoice), это реально?
Старый 17.11.2005, 10:50   #2  
Kirvisniemi is offline
Kirvisniemi
Moderator
 
342 / 13 (1) ++
Регистрация: 21.12.2004
А что, вот так нельзя сделать:

SalesHeader.SETRANGE("Posting Date",Date1,Date2);
...
REPORT.RUN(296,FALSE,FALSE,SalesHeader);

?
Старый 17.11.2005, 17:26   #3  
ZeninOleg is offline
ZeninOleg
Участник
 
9 / 10 (1) +
Регистрация: 12.03.2007
Так можно сделать, но только для даты, а как быть с теми опциями, которые расположены на Request Form, такие как Invoice, Ship и тд? Также не понятно, что делать если Отчет основан на нескольких Data Items....
Старый 17.11.2005, 17:30   #4  
Kirvisniemi is offline
Kirvisniemi
Moderator
 
342 / 13 (1) ++
Регистрация: 21.12.2004
Тогда создавать кодюнит с SingleInstance=Yes и передавать все что нужно через него (ну или использовать уже существующие, такие как 417 (Start Company Notes), 423 (Change Log Management), 5065 и т.п.).

Т.е. процесс вызова отчета будет такой (предлагаю примерный вариант):

- заводим в кодюните функции для установки и получения параметров, скажем SetValues и GetValues
- при вызове отчета пишем
MyCodeunit.SetValues(...)
REPORT.RUN(296,FALSE,FALSE);
- сам репорт модернизируем так, чтобы он брал параметры через GetValues
Старый 17.11.2005, 17:36   #5  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
Ежели остальные параметры будут постоянными, то можно на OnInitReport их заполнить или на OnOpenForm в реквестформе.
Ежели таки не постоянными, то как Tyrex говорит.
Ну или в отчет можно напихать функций типа SetParameter(), объявить отчет, как переменную, вызвать сначала для него эти сеттеры, а потом уже его запускать...
__________________
"Моей лошадке ядрышком полмордочки снесло..."
А.В.Суворов, письма к дочери
Старый 17.11.2005, 17:45   #6  
Kirvisniemi is offline
Kirvisniemi
Moderator
 
342 / 13 (1) ++
Регистрация: 21.12.2004
Цитата:
Сообщение от Дуд
Ну или в отчет можно напихать функций типа SetParameter(), объявить отчет, как переменную, вызвать сначала для него эти сеттеры, а потом уже его запускать...
Только в этом случае будет открываться реквест форма, а т.к. отчет стандартный, выставлять свойство UseReqForm в No у него нельзя
Старый 17.11.2005, 18:26   #7  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
Дык вроде речь и была о параметрах на реквестформе
__________________
"Моей лошадке ядрышком полмордочки снесло..."
А.В.Суворов, письма к дочери
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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