Serial Numbers printing on Invoice & Packing Slip

We have a customization that assigns serial numbers at the time of shipment. The user enters the starting serial number and the number of units for each line in the shipment.

The serial numbers print for each line on both the Invoice and Packing slip.

The problem is we can have 100’s of serial numbers for each line and I’ve been asked to modify the SSRS reports to print only the starting and ending serial numbers in each group.

Since the field on the report is calculated to DspSerialNumber, I’m not quite sure how to go about modifying the report.

Appreciate any direction or ideas.

Wonder if this is a single string for all the serial numbers

  • and serial numbers are the same length?

If so, maybe you could build an expression…something like this?
=Left(Fields!SerialsUDString.Value, 9) + " thru " + Right(Fields!SerialsUDString.Value, 9)

Hello.
We only deal with a very limited number of serial numbers at the time here so I’ve no example to call up and just say, do this. In a previous life we would have plenty of the situations like what you describe, but the requirement was to print them all, because the customer needed that to match with receipts. In that case too, the finished goods were not always guaranteed to be in some consecutive range. So, sorry, nothing that really helps from there either.

Have you tried anything yet? Like maybe use of the ‘First’ and the ‘Last’ functions?

First function in a paginated report - Microsoft Report Builder & Power BI Report Builder | Microsoft Docs

Last function in a paginated report - Microsoft Report Builder & Power BI Report Builder | Microsoft Docs

This could probably get you most of the way there, except you’d really have to understand what the business process is when generating invoices / packing slips. For example, if you were batch printing invoices such that a single report spanned multiple invoices and serial number ranges, the First and Last won’t help you. Then you’d pretty well be forced to be more crafty in recreating the ‘serial range’ - which I think if I had to do, I would be looking at taking some piece of the serial number on the page, and then adding to it the quantity of the line. Similar to how it is built in the first place.

I’m not sure where to figure that out? I know the fields on the Pack Slip form are using a CallcontexBPMData.ShortChar01 and Number01 - The BPM was a consultant customization. The user enters the first number in the Shortchar01 field and the number of units in the Number01 field. I think the BPM then assigns the serial numbers in between. Not sure of that either since I can’t locate the BPM.

I’m not clear on if the report was customized or if this is out of the box expression on the field.

Thank you Michael - I’m going to try that First and Last function with the packing slip. We do batch print invoices so maybe I can try your 2nd suggestion on the invoice.

Unfortunately, those field expressions look more like what @bordway was describing for you, in that the single field has a bunch of them all concatenated together. On both the Packing slip report and the AR Invoice report, it only seems to create space for up to 7 groups of serial numbers. I have not ever tried to reverse engineer what it is doing here, but it looks like this is what is going on. I think maybe by placing background color behind alternating sections where those serials are, it could help identify which output is what.
image

1 Like