/// <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();
}
}
留言列表