当用户在 PO Receipt Screen 的 Bin/lot/Serial 子屏幕中按下Generate时,我想操纵批次和序列的生成。
我想用我自己的代码插入批次的行,但我找不到生成代码在 BLC 左右的位置。
我的理解是 LSPOReceiptLine 类是负责生成批次的类,但我无法在源代码中找到它来覆盖其功能或创建子类,因为我看不到 LSPOReceiptLine 的构造函数。
当用户在 PO Receipt Screen 的 Bin/lot/Serial 子屏幕中按下Generate时,我想操纵批次和序列的生成。
我想用我自己的代码插入批次的行,但我找不到生成代码在 BLC 左右的位置。
我的理解是 LSPOReceiptLine 类是负责生成批次的类,但我无法在源代码中找到它来覆盖其功能或创建子类,因为我看不到 LSPOReceiptLine 的构造函数。
这是我的解决方案
public class POReceiptExt: PXGraphExtension<POReceiptEntry>
{
public LSPOReceiptLineExt lsselect;
}
public class LSPOReceiptLineExt : LSPOReceiptLine
{
public LSPOReceiptLineExt(PXGraph graph):
base(graph)
{
}
public override IEnumerable GenerateLotSerial(PXAdapter adapter)
{
//Doing magic here
return base.GenerateLotSerial(adapter);//Remove this line if you don't want to call base method.
}
}
然后使用 UI 自定义方法,将所有 LSPOReceiptLine 文本替换为 LSPOReceiptLineExt。希望它可以帮助