Shop Floor Hardware Setup / Network Print to Bartender

Hi Everyone,

Has anyone got any experience with Bartender and network printing? We are implementing shop floor right now our setup is as follows:

  • Android Samsung A8 Tablets for production using Web based MES
  • Bluetooth Datalogic scanners attached to each tablet
  • Wifi Zebra printers networked via wireless to server with edgeagent running on the server
    *Zebra TC22 hand scanners for picking/warehouse running epicor android mobile warehouse.

So we purchased Bartender 2022 for designing and running all the labels we require for purchase receipts, production and quality. We are using operational tags to replace our current job cards/need for job travellers.

I can print using network print options to test an output if the file is an SSRS report but i cannot use network print to print a bartender label (i should be able to select the network printer that will then map this into the output BT file and subsequently then print to the network printer via the integration builder.) I will eventually look at some auto print directives but the user will need to be able to override the printer if the one nearest isnt working or is busy etc and there will be around 20+ shop floor label printers.

How do i get around this if Epicor will only allow network print when SSRS is selected?

Many thanks for your help and Merry Christmas to you all :slight_smile:

List item

Luke, did you ever find the solution to this?

What exactly are you looking to do Kevin?

Our Workstation/Printers seem to not be working as I think it should. We’re running Kinetic 2023.2, Kinetic forms. The main thing is when the Bartender file is generated, the PRN parameter is blank. My understanding and experience from the past is that should pull from the default Device from the Workstation we’re attached to.

From MES, I’m ending activity, entering a quantity, and clicking the Tags button. On the tags screen, I’m entering a “quantity per” which is giving me the number of tags and quantity per label. Example: if I have a quantity of 50 with a per container of 20, then I get 2 tags of 20 and 1 tag of 10. When I want to print this, the NETWORK PRINT icon is grayed out.

Based on the post above, I copied the Bartender report style to a new style, simply changed the type from Bartender to SQL Server Reporting. When I change to that report style, the NETWORK PRINT icon shows up. So, if I have a report style defined as Bartender, doesn’t appear I can use network printers. If I choose a network printer, my understanding was that’s where it got the network path that it uses for the PRN parameter on the first line of the BT file it generates for Bartender.

1 Like

Ok, I’m gonna admit to a little Tom-Foolery.

I can’t help with this, as back when we implemented Bartender, we went completely custom and don’t use any of Epicor’s methods.

I just wanted you to explain in detail so someone else could help.
(And maybe I’d learn something along the way… I’m a little selfish :wink:)

Sorry :heart:

1 Like

Kevin,

OK, same Tom-Foolery here. I’ve pretty much always gone the custom route when printing to Bartender. I’ve added a button to the screen and kicked off some custom code to create the BT file directly. Added logic where I’ve figured out the printer and/or the label format file, etc. I’m trying to stay with the canned logic.

I was hoping to stick with canned logic here. In this case, we’re wanting to utilize the Epicor “Tags” screen where the user is allowed to specify the label quantities they want. I’ll probably challenge them on their need for the tags screen where they can specify label quantities. How often are they going to complete a 100 pieces and they want 3 labels of 25, two 10’s and a 5? If I just give them a “per container” and they get labels of that quantity with any remainder on the last, might have to go that custom route.

Trying very hard to NOT CUSTOMIZE.

1 Like

I feel ya. I just find Epicor’s built in stuff pretty limiting.

We switched over mainly for JSON, and future REST integrations.

1 Like

You might be dead on the water there. I have Fridays off soi can take a look then. If you want to provide me any other specifics, pm me.

What edition of Bartender?

If you want to go simple custom then you can take a look at the Bartender REST API.

1 Like

So I must remind myself not to reply to posts in the middle of the night on my phone.
This might be of some use.

1 Like

Crap like this is why I went custom:
My stuff works. This is junk.

Wait, that’s my code!!!

Just kidding. But that does look like the way you had to do things back in Vantage 8/9. Ahhh, the good old days. When BPM’s were still super procedures and to get something done you had to go to Plan B, Plan C, and then Plan D because the tools weren’t working like they were supposed to. And a call to Tech Support to report a problem with the tools got immediately forwarded to CSG. But I digress.

lol, the code isn’t the problem anyway.

Something with the auto print widget.

Then something with the workstation too, hell I don’t know.

I’m gonna throw some code to call it myself and be done with it until something else breaks.

Hi Kevin,

The solution was unfortunately a CSG customisation put in place via Epicor during implementation (which is still on going)

Its been a real challenge to get something as simple as being able to select a printer to print which has been extreamly frustrating - surely something as basic as this should be more straight forward?

We basically now have a print button and a drop down list of printers populated from printer maintenance on any of the screens where we need to create a product label.

Its taken a long time to get it working but it now is thankfully.

It’s a different approach, but may be worth thinking about if you have still had no joy.

I use Zebra designer to design the label and then print to file to get the printer code.

I have then written an Epicor function that combines the output from a BAQ with the printer code

File.AppendAllText(sourcefile, @“^XA” + Environment.NewLine);
File.AppendAllText(sourcefile, @“^MMT” + Environment.NewLine);
File.AppendAllText(sourcefile, @“^PW472” + Environment.NewLine);
File.AppendAllText(sourcefile, @“LL201” + Environment.NewLine);
File.AppendAllText(sourcefile, @“^LS0” + Environment.NewLine);
File.AppendAllText(sourcefile, @“^FT18,50^A0N,27,28^FH^CI28^FD” + linedesc + “^FS^CI27” + Environment.NewLine);
File.AppendAllText(sourcefile, @“^FT18,86^A0N,27,28^FH^CI28^FD” + rowSNo[“Calculated_PartRevNum”] + " " + rowSNo[“SerialNo_JobNum”] + “^FS^CI27” + Environment.NewLine);

Once the file has been created, I then copy the file to network Zebra printer assigned to the workstation.

File.Copy(sourcefile, destfile, true);

The function is called from application studio using the erp-function widget.

We tried the bartender way, but we are typically printing 1000 serial numbers at a time and we didn’t find it scalable in terms of time taken to print the labels off.

3 Likes

What model zebra printers were you using as a matter of interest?

Zebra ZT411 4 Inch Industrial Label Printer (ZT400 Series)