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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.01.2006, 19:44   #1  
Jox is offline
Jox
Developer
Аватар для Jox
 
112 / 24 (1) +++
Регистрация: 26.07.2005
Адрес: Питер
? Запуск пакетника без формы
В общем проблемка такая...

Создал наследник RunBaseBatch.
В InitParmDefault установил знач. по умолч. для закладки Пакет.

Создал MenuItem.

Создал кнопку на форме - все круто.

Только, как теперь сделать так, чтобы Run не срабатывал, а ставилось задание в очередь?

PHP код:
// Метод на форме
void clicked()
{
    
PurchPlanningBatch  calcNeeds = new PurchPlanningBatch();
    
Args                args = new Args();
    ;

    
super();

    
calcNeeds.setDataSource(DeliverySchedule_ds);
    
calcNeeds.setDayOutStart(DayOutStartDate.dateValue());
    
calcNeeds.setDayOutEnd(DayOutEndDate.dateValue());
    
calcNeeds.setNeedsEndDate(NeedsEndDate.dateValue());
    
calcNeeds.run(); // Что надо вместо Run() вызвать, чтобы задание в пакетник положилось?


PHP код:
public void initParmDefault()
{
    
BatchInfo   bi;
    
InventParameters    params InventParameters::find();
    ;

    
bi this.batchInfo();
    
bi.parmGroupId(params.PurchPlanBatchGroupId);
    
bi.parmPriority(params.PurchPlanBatchPriority);
    
bi.parmBatchExecute(NoYes::Yes);
    
super();
}

public 
void run()
{
    ;

    
super();

    
this.calcNeeds(); //  Выполняется, зраза сразу же а нада - потом в очереди :(

Старый 24.01.2006, 20:13   #2  
Antant is offline
Antant
Участник
 
82 / 17 (1) ++
Регистрация: 03.12.2005
может перекрыть в классе runBaseBatch метод prompt:
PHP код:
public boolean prompt()
{
    if (! 
super())
    {
        if (
dialogCanceled && this.batchInfo())
            
this.batchInfo().parmBatchExecute(false);

        return 
false;
    }

    
// benchmark start
    
if (BMMainControl::inAction())
    {
        if (
BMMainControl::batchEnabled())
        {
            
this.batchInfo().parmBatchExecute(true);
            
this.batchInfo().doBatch();
            return 
false;
        }

    }
    
// benchmark end

    // <-- здесь установка программно наименования пакета и галки для постановки в очередь)

    
if (this.batchInfo() && (this.batchInfo().parmBatchExecute() || this.mustGoBatch()))
    {
        
this.batchInfo().doBatch();
        return 
false;
    }

    return 
true;

Старый 25.01.2006, 08:21   #3  
Jox is offline
Jox
Developer
Аватар для Jox
 
112 / 24 (1) +++
Регистрация: 26.07.2005
Адрес: Питер
Нет это не помогло, т.к. мне необходимо передать, несколько параметров в RunBaseBatch.
Я попробую написать классец заполняющийся значениями на форме и использующийся уже в пакетнике...
А пакетнику передам инициализированный экземпляр этого класса через Args.Caller();
Надяюсь получится, если что - отпишусь
Старый 25.01.2006, 09:47   #4  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Поставьте вместо вызова Run() вызов doBatch()
X++:
//    calcNeeds.run(); 
    calcNeeds.batchInfo().doBatch();
__________________
Axapta v.3.0 sp5 kr2
Старый 25.01.2006, 10:52   #5  
Jox is offline
Jox
Developer
Аватар для Jox
 
112 / 24 (1) +++
Регистрация: 26.07.2005
Адрес: Питер
Запустить пакет без открытия окна RunBaseBatch удалось, а вот передать параметры как-то до вызова calcNeeds.batchInfo().doBatch(); не получилось (
Старый 25.01.2006, 11:32   #6  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Параметры запуска пакетного задания?

Перед doBatch() сделайте вызов calcNeeds.initParmDefault()
__________________
Axapta v.3.0 sp5 kr2
Старый 25.01.2006, 12:07   #7  
Jox is offline
Jox
Developer
Аватар для Jox
 
112 / 24 (1) +++
Регистрация: 26.07.2005
Адрес: Питер
С параметрами непосредственно пакетного задания все в порядке, а вот с моими параметрами, находящимися на другой закладке - преоблема...
Старый 25.01.2006, 12:27   #8  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
А у вас в методах Pack() и Unpack() реализовано сохранение/восстановление ваших параметров?
__________________
Axapta v.3.0 sp5 kr2
Старый 25.01.2006, 12:33   #9  
Jox is offline
Jox
Developer
Аватар для Jox
 
112 / 24 (1) +++
Регистрация: 26.07.2005
Адрес: Питер
PHP код:
class PurchPlanningBatch extends RunBaseBatch
{
    
date                dayOutStartDate;
    
date                dayOutEndDate;
    
date                needsEndDate;
    
DeliverySchedId     schedId;
    
DeliverySchedule    DeliverySchedule;
    
InventNeedsCalc     inventNeedsCalc;

    
DialogField         dfOutStart;
    
DialogField         dfOutEnd;
    
DialogField         dfNeedsEnd;
    
DialogField         dfSchedId;

    
#define.CurrentVersion(1)
    #localmacro.CurrentList
        
dayOutStartDate
        
dayOutEndDate
        
needsEndDate
        
schedId
    
#endmacro
}

public 
container pack()
{
    return [
#CurrentVersion,#CurrentList];
}

public 
boolean unpack(container packedClass)
{
    
Version version runbase::getVersion(packedClass);
    ;

    switch (
version)
    {
        case 
#CurrentVersion:
            
[version,#CurrentList] = packedClass;
            
break;
        default:
            return 
false;
    }

    return 
true;

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Создание Lookup формы Maxim Gorbunov DAX: База знаний и проекты 9 26.06.2007 16:44
Запуск формы Акавешка DAX: Программирование 6 03.08.2005 12:30
запуск формы в Ахаpta сторонним приложением mpogorelov DAX: Программирование 16 05.10.2004 15:37
Ввод данных в формы без мышки Pegiy DAX: Функционал 5 08.04.2004 17:02
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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