如何使库存项目标签 (IN619200) 为收到的每个项目打印一个标签?
How to make the Inventory Item Label (IN619200) to print one label per unit of each item received?
开箱即用 Acumatica Inventory Item Label
报告 (IN619200
) 旨在仅在项目序列化时为收据上的行项目打印多个标签。我们将修改报告,允许用户 select 收据编号,并让系统根据每个项目收到的数量生成标签数量,无论它们是否序列化
我们将修改开箱即用的库存标签报告 (IN619200),它将根据收到的数量打印每个标签,而不是为非序列化库存项目的所有数量打印一个标签。
我们需要一个用户 table 并且需要用数据填充它。
CREATE TABLE UsrNumbers(Number INT PRIMARY KEY);
GO
INSERT UsrNumbers
SELECT TOP 1000 ROW_NUMBER() OVER (ORDER BY name) FROM sys.all_columns;
其中 1000
可能是每件商品的最大可能值。
现在为 UsrNumber
创建 DAC (Data Access Class)
并发布定制,以便 DAC
可以在报告中使用。
using System;
using PX.Data;
namespace InventoryLabelReportExtPkg
{
[Serializable]
public class UsrNumbers : IBqlTable
{
#region Number
[PXDBInt(IsKey = true)]
[PXUIField(DisplayName = "Number")]
public virtual int? Number { get; set; }
public abstract class number : IBqlField { }
#endregion
}
}
现在在 Acumatica 报表设计器中修改库存标签报表 (IN619200),并在架构生成器中包含如下关系。
开箱即用 Acumatica Inventory Item Label
报告 (IN619200
) 旨在仅在项目序列化时为收据上的行项目打印多个标签。我们将修改报告,允许用户 select 收据编号,并让系统根据每个项目收到的数量生成标签数量,无论它们是否序列化
我们将修改开箱即用的库存标签报告 (IN619200),它将根据收到的数量打印每个标签,而不是为非序列化库存项目的所有数量打印一个标签。
我们需要一个用户 table 并且需要用数据填充它。
CREATE TABLE UsrNumbers(Number INT PRIMARY KEY);
GO
INSERT UsrNumbers
SELECT TOP 1000 ROW_NUMBER() OVER (ORDER BY name) FROM sys.all_columns;
其中 1000
可能是每件商品的最大可能值。
现在为 UsrNumber
创建 DAC (Data Access Class)
并发布定制,以便 DAC
可以在报告中使用。
using System;
using PX.Data;
namespace InventoryLabelReportExtPkg
{
[Serializable]
public class UsrNumbers : IBqlTable
{
#region Number
[PXDBInt(IsKey = true)]
[PXUIField(DisplayName = "Number")]
public virtual int? Number { get; set; }
public abstract class number : IBqlField { }
#endregion
}
}
现在在 Acumatica 报表设计器中修改库存标签报表 (IN619200),并在架构生成器中包含如下关系。