close
    /// <summary>
    /// 在POST Run時用新method 取代本來的method
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    [FormEventHandler(formStr(WMSJournalTable), FormEventType::PostRun)]
    public static void WMSJournalTable_OnPostRun(xFormRun sender, FormEventArgs e)
    {
        FormDateControl   formCtrl = sender.design().controlName(formControlStr(WMSJournalTable, WMSJournalTrans_DGS_ExpDate));
        formCtrl.registerOverrideMethod(methodStr(FormDateControl, jumpRef), methodStr(DGS_WMSJournalTableForm_Extension, DGS_ExpDate_jumpRefId), sender);

        FormFunctionButtonControl   formMenuCtrl = sender.design().controlName(formControlStr(WMSJournalTable, PostJournal));
        formMenuCtrl.registerOverrideMethod(methodStr(FormFunctionButtonControl, clicked), methodStr(DGS_WMSJournalTableForm_Extension, PostJournal_clicked), sender);
    }

 

另外開一個extension:

[ExtensionOf(formStr(WMSJournalTable))]
final class DGS_WMSJournalTableForm_Extension
{
    public void DGS_ExpDate_jumpRefId(FormControl _formControl)
    {
        InventBatch     inventBatch;
        MenuFunction    menuFunction;
        Args            args = new Args();

        TmpPdsBatchSelect TmpPdsBatchSelect;

   //     InventDim InventDim = InventDim::find(wmsJournalTrans.inventdimId);

        if (!TmpPdsBatchSelect)
        {    
            ttsbegin;        
            TmpPdsBatchSelect.ItemId =       wmsJournalTrans.itemid;
            TmpPdsBatchSelect.InventBatchId = wMSJournalTable.inventTransRefId;
            TmpPdsBatchSelect.insert();
            ttscommit;
        }

        if (!TmpPdsBatchSelect)
        {
            return;
        }

        args.record(TmpPdsBatchSelect);
        menuFunction = new MenuFunction(menuitemDisplayStr(InventBatch), MenuItemType::Display);     
        menuFunction.run(args);
    }

    public void PostJournal_clicked(FormControl _formControl)
    {
        info('hihi');

        WMSJournalTrans wmsJournalTrans1;

        while select forupdate wmsJournalTrans1 where wmsJournalTrans1.journalId == wMSJournalTable.journalId
        {
            ttsbegin;
            if(wmsJournalTrans1.qty==0)
            {
                wmsJournalTrans1.delete();
            }
            ttscommit;
        }

        wmsJournalTrans1.clear();
        
        select firstonly wmsJournalTrans1 where wmsJournalTrans1.journalId == wMSJournalTable.journalId;
        if(wmsJournalTrans1)
        {
            _sender.clicked();
            //super();
            //MenuFunction    menuFunction;
            //Args            args = new Args();

            //args.record(wMSJournalTable);
            //menuFunction = new MenuFunction(menuItemActionStr(WMSJournalPost), MenuItemType::Action);
            //menuFunction.run(args);
        }
        else
        {
            wMSJournalTable.selectforUpdate(true);
            wMSJournalTable.delete();

            Error("Deleted Item Arrival %1, as no Qty to Post!");
        }

        wMSJournalTable_ds.executeQuery();
    }

}
arrow
arrow
    全站熱搜

    lionlionchopper 發表在 痞客邦 留言(0) 人氣()