如何使库存项目标签(IN619200)为每件收到的每件商品打印一个标签?

时间:2017-12-18 16:10:20

标签: c# acumatica acumatica-kb

开箱即用的Acumatica Inventory Item Label报告(IN619200)旨在仅在项目序列化时为收据上的订单项打印多个标签。我们将修改报告,允许用户选择收据编号,并让系统根据每个项目收到的数量生成标签数量,无论它们是否已序列化

1 个答案:

答案 0 :(得分:3)

我们将修改开箱即用的库存标签报告(IN619200),该报告将按照收到的每个数量打印每个标签,而不是仅为非序列化库存项目的所有数量打印一个。

我们需要一个用户表,需要用数据填充它。

CREATE TABLE UsrNumbers(Number INT PRIMARY KEY);
GO 
INSERT UsrNumbers 
SELECT TOP 1000 ROW_NUMBER() OVER (ORDER BY name) FROM sys.all_columns;

1000可能是每件商品的最大可能值。

现在为DAC (Data Access Class)创建UsrNumber并发布自定义,以便在报告中使用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),并在Schema Builder中包含如下关系。

enter image description here

Download Deployment Package