How to make the Inventory Item Label (IN619200) to

2019-02-28 13:20发布

问题:

Out-of-box Acumatica Inventory Item Label report (IN619200) is designed to print multiple labels for the line item on the receipt only when the item is serialized. We will be modifying report that will allow user to select a receipt number and have the system generate the number of labels based on the quantity received for each item regardless if they are serialized or not

回答1:

We will be modifying out-of-box Inventory Label Report (IN619200), which would print each label per quantity received rather just one for all quantity for non-serialized stock item.

We need a user table and need to populate it with data.

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

Where 1000 could be max possible value for unit per item.

Now Create DAC (Data Access Class) for UsrNumber and publish customization so that DAC can be used in report.

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
    }
}

Now modify Inventory Label Report (IN619200) in Acumatica Report designer and include a relation as below in Schema Builder.

Download Deployment Package