Показать сообщение отдельно
Старый 05.02.2008, 19:00   #10  
petr is offline
petr
Участник
Соотечественники
 
561 / 201 (8) ++++++
Регистрация: 30.05.2005
Адрес: Швейцария
Вообщем, у меня так:

X++:
static void Job7(Args _args)
{
    TotalsTrans TotalsTrans;
    TotalsTrans TotalsTmp;
    ;
    TotalsTmp.setTmp();

    insert_recordset TotalsTmp (ItemId,Qty,InventLocationId)
    select ItemId, sum(Qty), InventLocationId from TotalsTrans
    group by ItemId, InventLocationId
    where TotalsTrans.SalesDate >= 01\01\2008
    && TotalsTrans.SalesDate <= systemDateGet();
}
валится клиент.

Если убрать insert_recordset, то работает:
X++:
static void Job8(Args _args)
{
    TotalsTrans TotalsTrans;
    TotalsTrans TotalsTmp;
    ;
    TotalsTmp.setTmp();

    //insert_recordset TotalsTmp (ItemId,Qty,InventLocationId)
    while select ItemId, sum(Qty), InventLocationId from TotalsTrans
    group by ItemId, InventLocationId
    where TotalsTrans.SalesDate >= 01\01\2008
    && TotalsTrans.SalesDate <= systemDateGet()
    {
        TotalsTmp.ItemId = TotalsTrans.ItemId;
        TotalsTmp.InventLocationId = TotalsTrans.InventLocationId;
        TotalsTmp.Qty = TotalsTrans.Qty;
        TotalsTmp.insert();
    }

}
Почему я считаю, что insert_recordset не уместен для временной таблицы? Т.к. он все равно не даст выигрыша (преимущество insert_recordset в том, что он может исполняться на сервере БД), в случае временной таблице - она все равно либо на АОСе либо на клиенте.

P.S. DAX4.0 SP2WE