您的位置:首页 > 其它

RecordInsertList 和 RecordSortList用法示例

2016-08-24 13:48 671 查看


RecordInsertList:
static void CopyItemInfoRIL(Args _args)

{

    InventTableinventTable;

    InventSuminventSum;

    InsertInventTableInventSumRTinsertInventTableInventSumRT;

    RecordInsertListril;

    ttsBegin;

    ril = newRecordInsertList(tableNum(InsertInventTableInventSumRT));

    while selectItemId,AltItemid from inventTable where inventTable.ItemId == '1001'

        joinPhysicalValue,PostedValue from inventSum

        whereinventSum.ItemId == inventTable.ItemId

    {

        insertInventTableInventSumRT.ItemId= inventTable.ItemId;

        insertInventTableInventSumRT.AltItemId= inventTable.AltItemId;

        insertInventTableInventSumRT.PhysicalValue= inventSum.PhysicalValue;

        insertInventTableInventSumRT.PostedValue= inventSum.PostedValue;

        // Insertrecords if package is full

        ril.add(insertInventTableInventSumRT);

    }

    ril.insertDatabase();

    ttsCommit;

    selec tcount(RecId) from insertInventTableInventSumRT;

    info(int642str(insertInventTableInventSumRT.RecId));

}

RecordSortList:
public static server void CopyItemInfoRSL()

{

    InventTable inventTable;

    InventSum inventSum;

    InsertInventTableInventSumRT insertInventTableInventSumRT;

    RecordSortedList rsl;

    ttsBegin;

    rsl = new RecordSortedList(tableNum(InsertInventTableInventSumRT));

    rsl.sortOrder(fieldNum(InsertInventTableInventSumRT,PostedValue));

    while select ItemId,AltItemid from inventTable where inventTable.ItemId == '1001'

    join PhysicalValue,PostedValue from inventSum

    where inventSum.ItemId == inventTable.ItemId

    {

        insertInventTableInventSumRT.ItemId = inventTable.itemId;

        insertInventTableInventSumRT.AltItemId = inventTable.AltItemId;

        insertInventTableInventSumRT.PhysicalValue = inventSum.PhysicalValue;

        insertInventTableInventSumRT.PostedValue = inventSum.PostedValue;

        rsl.ins(insertInventTableInventSumRT);

    }

    rsl.insertDatabase();

    ttsCommit;

    select count(RecId) from insertInventTableInventSumRT;

    info(int642str(insertInventTableInventSumRT.RecId));

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Dynamics AX 2012