Repeating Pages on Crystal Reports for Label Printing

SOLVED

I am attempting to move some of our label printing to crystal reports. I can successfully print labels but, is there a way in Crystal Reports to have a group section repeat X amount of times based on an equation? For example, lets say I have 1 line item on an order and I calculate that there will be 80 boxes worth of product. I want to create a crystal report that will look to my equation that determines the # of boxes and for this example creates an 80 page crystal report. That way when it is printed I will get the proper amount of labels. I know that I can base groups on equations and I feel that there must be a way to have information repeat X amount of times. Any ideas on how this could be accomplished?

  • 0

    Will setting the Print Receipt Labels in Product Line Maintenance to "By Item" not work?

    Joe

  • 0
    verified answer

    Yes, Google it. There is a way but it has been so long I forgot. How to do it is out in the wild. For label printing I use Bartender which has this as built in feature.

  • 0 in reply to BigLouie

    I have googled it with all the phrasing variations I can think of and wasn't able to find anything out there. I'm sure it exists but I guess I am phrasing my question wrong... Based on your suggestion I got a 30 day trial of Bartender, and created an access database with SQL pass-through queries for the data I need... So I now have a new question, I am able to specify the # of labels I print based on a database field which is great. I can calculate the number of boxes I'll have for each line item. My issue is that on these specific labels I am printing the customer's part # for that line item on each label.

    An example order might look like this:

    Line Item 1: Customer part # ABC - 20 boxes

    Line Item 2: Customer part # XYZ - 10 boxes

    So I want to print 30 labels, the first 20 of which have line item 1's customer part number of ABC and the remaining 10 would have line item 2's customer part number of XYZ.

    My initial thought was to specify in the access database or within bartender to look at line item 1 and print the 20 boxes, then create a second label format which would be identical except that it would look at line item 2 and print the 10 boxes. Then I could use the Batch Maker to print both print jobs. I am totally new to Bartender and this approach seems messy to me, especially considering that for this customer I could have anywhere between 1 to 15 line items on an order.

    My reasoning for needing to accomplish this:

    We are currently printing these labels out of Starship which uses packaging scenarios and calculates the amount of boxes we need, so the method works but it means that the person responsible for printing these labels has to go into every individual order, wait for the order to load, then print the labels. On top of that because Starship creates an individual print job for each label it prints the labels print very slowly. So if you print 100 labels you have 100 individual print jobs which print slowly even on our Zebra label printer which has the capability to print very fast. So on top of load time to pull the orders in to Starship we are also tying up an important production label printer. On a busy day we may have 30 orders for this customer which is can add up to 1000's of labels, especially when some products take multiple labels per box.

  • 0 in reply to Jon_K

    When you tell it to look at a field and print the number it should print out 20 for line 1 and 10 for line 2 with no problem.

  • 0 in reply to BigLouie

    BigLouie, you're correct. I tried it out and it is working just as I need it to. I put this into production this morning and so far so good. I am wondering if there is a way to enter a range of orders to print or a way to enter a list of them. We often have batches of 30-40 orders that need labels printed. Currently when you print I have it prompt for a single order number, I am aware that I can have it prompt again after it is done printing and that is an OK solution but I'd love to be able to enter a range or a list.

    I tried doing this at the query level by saying SalesOrderNo <= ?Start Sales Order Number AND SalesOrderNo >= ?End Sales Order Number. When trying to enter a range this way I get a no records found error message unless my beginning and ending sales order number is the same. Any thoughts?

  • 0 in reply to Jon_K

    Putting it into the query is the correct way. Note that the sales order number is a 7 digit figure so although your number maybe only 5 you had to pad out the number. So if the number is 12345 you have to enter 0012345

  • 0 in reply to BigLouie

    Through the normal Database Connection Setup section I chose the option I described above which resulted in the following SQL (beginning omitted):

    WHERE `SalesOrderNo` <= '?Start Sales Order Number' AND `SalesOrderNo` >= '?End Sales Order Number'

    This did not work, I continually got a no records found error message.

    If there is a way to do this without changing the SQL I did not notice one.

    I changed the ending of the SQL statement to:

    WHERE `SalesOrderNo` BETWEEN  '?Start Sales Order Number' AND '?End Sales Order Number'

    And it works like a charm. I did notice that above and beyond needing to enter the full 7 digits of an order number, as mentioned by BigLouie, that it is also case sensitive. For example, our EDI orders begin with the uppercase letter E but Bartender would not load data if I used a lowercase e instead.

    Now to decide which version I need, I accomplished everything I needed in the Professional version but it seems that the automation versions have a ton of flexibility if I wanted to try and programmatically print labels. I'd hate to purchase the lower version and regret it later...

  • 0 in reply to Jon_K
    With the Automated versions you can actually write a small script to print a label in Bartender and attach it to a button on the Sage 100 menu bar