在写一个自动生成销售订单行的小程序,大部分物料的数量都是预先定义好的,可以让用户定义一个BOM,直接根据BOM生成销售订单行就可以了,有一个物料需要从几个物料中选择,于是我想在创建之前弹出一个窗口,让用户选择,又想到了Dialog这个类,唯一的问题是,如果直接用
dialog.addField(TypeId(ItemId));
添加字段,不会过滤,那么全部的物料都出来了,实际上用户只需要从有限的几个物料中选择,所以要想办法过滤掉才对,于是想到了重载Lookup的做法。步骤如下:
1.创建一个类AlxInventTableDialogHelper
添加一个类变量Dialog,用于把Dialog变量传入类AlxInventTableDialogHelper,供在重载后的Lookup方法中调用。并添加一个方法,用来封装对Dialog变量的读写。
Dialog parmDialog(Dialog _dialog = dialog)
{
    ;
    dialog 
= _dialog;
    
return dialog;
}
添加一个方法,重载lookup方法:
);

    tableLookup.parmCallingControl(callingControl);
    tableLookup.parmQuery(q);

    tableLookup.performFormLookup();

}
2.使用上面的类创建Dialog
);
    dialog.formRun().controlMethodOverloadObject(dialogHelper);


    dialog.run();
}
效果如下:
【项目实施随笔】依然Dialog
这样就只会显示 001 组的物料了。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-02
  • 2021-09-29
  • 2021-10-16
  • 2021-11-24
  • 2021-12-28
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-12
  • 2022-12-23
  • 2021-11-07
  • 2022-12-23
相关资源
相似解决方案