In order to allow me to focus on Consulting (click here) and Courses (click here), I continue to review all posts here in the Forums, but, in general, I'm only personally responding to posts that I mark as #AcumaticaTnT (click here). For Questions (click here), others may respond, or you can post over at Community.Acumatica.com (click here).
Questions Custom Pallet Labels
We conduct VMI (vendor managed inventory) for several customers. We have to label each pallet we ship with the cusomter's "location ID" so it can be properly/easily taken to the correct location.
I think I am going to create a table tied to customer "locations" in Acumatica. That way, if I ship the same product to different locations of the same customer, I can store unique "location ID's".
Ex: Customer 123
Delivery Address 1, Item 123, Rack 1A
Delivery Address 2, Item 123, Rack 5B
What I need is the ability to print a custom pallet label during the picking/shipping process. In the example, a report that pulls the correct Rack Location based on 1) Customer, 2) Customer Location, and 3) the item.
Of course there are other obstacles to over come as how many labels to print based on quantity. I think I can do that with an attribute or a custom "pallet qty" field.
My reason for reaching out is two fold:
1) Has anyone done something similar and has a better solution.
2) The main reason: I don't know where to begin making a report that references the pick ticket data, pulls the correct Rack Location data and prints a pallet tag/label. Should I lean on Report Designer, try and incorporate/modify Acumatica's shipping label functionality or something else.
I've done a few projects like this, You'll want to modify the report delegate to loop on whichever page you want to print from to loop through the number and type of report you want to use. I've used the following command:
ex = PXReportRequiredException.CombineReport(ex, reportID, parameters);
reportID is a string with the report name, parameters a list of strings with whatever you need for the report, in your case customer, location, item id.
This will bundle all the reports together, you just keep calling that to add more reports. You can keep adding reports to that exception object and it'll print the whole bundle as a big single pdf.
You'll have to learn report writer to do something like this, you'll also need to have a decent idea of how the database is laid out to get the data you want. If you can write an SQL query that pulls all the correct data in a way you want, it can be replicated in the report writer.
I didn't know of any better solutions so I just had to do it myself.
I made a post a while back in this thread https://www.augforums.com/forums/acumatica-generic-inquiries/gi-with-2-or-more-different-values that goes over creating an Attribute that is just a series of numbers 1-10 or more. In that post, I was going over how it can be used to union 2 completely unrelated data sets together. I bring this up because if treated a little differently, it could help you accomplish your "Quantity" of labels issue.
For your setup, you'll need to import a bunch of details into your MYPIVOT attribute, just incrementing integers. The number of them will NEED to be equal to or higher than the largest qty of labels you would like to print. Once you have this, the easy part can happen. In your report designer, you will want to join into your attribute table ON [Table.PalletQty] >= [CSAttributeDetail.SortOrder] And [CSAttributeDetail.AttributeID] ='MYPIVOT'.
For your result, say you have 3 records: R1, PalletQty = 5; R2, PalletQty = 3; R3, PalletQty = 15;
Assuming you added at least 15 details to your attribute, your ResultSet feeding your report would be something like:
Record, PalletQty, SortOrder
R1, 5, 1
R1, 5, 2
R1, 5, 3
R1, 5, 4
R1, 5, 5
R2, 3, 1
R2, 3, 2
R2, 3, 3
R3, 15, 1
R3, 15, 2
R3, 15, 3
R3, 15, 4
R3, 15, 5
R3, 15, 6
R3, 15, 7
R3, 15, 8
R3, 15, 9
R3, 15, 10
R3, 15, 11
R3, 15, 12
R3, 15, 13
R3, 15, 14
R3, 15, 15
You can get a duplicate of your label for each Qty you want in your PalletQty using this.
@timrodman, here is a different scenario for the int attribute, where you can duplicate a result a number of times based on a shifting "Qty" field.