Bartender - Picklist Label

We have a need to print picking labels to put on the components during kitting before it goes to the floor. I was thinking of creating a SSRS report and create an auto print routing to print to the zebra printer. However, has anyone done something similar with bartender and can provide some insight?

Here’s a whole thread about me figuring out how to write out drop files for bartender. Works great for what we do. You should be able to modify what’s there to what you want to do if you have a C# experience.

Thanks Brandon. I will take a look.

I followed along on that thread. We now have a button on our sales order screen to print multiple labels that goes out with our picking lists which are printed at the same time (although a different button). It works well.

We do the same thing at my company. I’ve actually built everything that way and I don’t really know how Epicor and Bartender are supposed to interact otherwise.

Just saw this thread and thought I’d add that we have done this via an SQL stored procedure as well. We output a bartender text file that the integration services picks up to create a label to be added to our drawings. This allows the floor to match the drawing back to a traveler if they get separated.

@jeowings would you be allowed to share your SP? Always interested in new ideas to look at. Thanks,

To do this you use C# and call a couple of stored procedures in a side cart database on our server. In this side cart database, we call Epicor tables and build output. The C# code calls these two different stored procedures. The results are fed into a .BT file output to the proper integration folder on the Bartender server.

Code from first SP which builds the Bartender command line structure. You can use a variable for the printer workstation for Bartender, or just create different SPs.

select β€˜%BTW% /AF=β€œC:\Bartender\Documents\JobReleaseTag.btw” /D="" /PRN=β€œNAS-LBL53” /DBTEXTHEADER=3 /R=3 /P’ as [BartenderCommander]
UNION ALL
select β€˜%END%’ as [BartenderCommander]

Code from the second SP which builds the record that is printed on the tag. You can see the first query just builds the column titles. The second query after the union actually gets data from Epicor, and an external releasing tool we have.

select β€˜"_JobTitle"’ as [JobTitle]
,’"_JobNum"’ as [JobNum]
,’"_WBSJobNum"’ as [WBSJobNum]
,’"_PartNum"’ as [Partnum]
,’"_RevisionNum"’ as [RevisionNum]
,’"_PartDescription"’ as [PartDescription]
,’"_DrawingNumber"’ as [DrawingNumber]
,’"_DrawingRevision"’ as [DrawingRevision]
,’"_DueDate"’ as [DueDate]
,’"_ProdQty"’ as [Qty]
,’"_Created"’ as [Created]
,’"_Printed"’ as [Printed]

UNION ALL

select distinct β€˜"’ + β€˜Job Release / ’ + A1.JobNum + β€˜"’ as [JobTitle]
,’"’ + A1.JobNum + β€˜"’ as [JobNum]
,’"’ + ISNULL(A2.WBSJobNum,’’) + β€˜"’ as [WBSJobNum]
,’"’ + A1.PartNum + β€˜"’ as [Partnum]
,’"’ + A1.RevisionNum + β€˜"’ as [RevisionNum]
,’"’ + A1.PartDescription + β€˜"’ as [PartDescription]
,’"’ + A1.DrawingNumber_c + β€˜"’ as [DrawingNumber]
,’"’ + A1.DrawingRevision_c + β€˜"’ as [DrawingRevision]
,’"’ + ISNULL(CAST(CAST(A1.DueDate as date) as nvarchar(11)),’’) + β€˜"’ as [DueDate]
,’"’ + CAST(CAST(A1.ProdQty as float) as nvarchar(100)) + β€˜"’ as [Qty]
,’"’ + ISNULL(A2.RelEng,’’) + β€˜"’ as [Created]
,’"’ + @Printed + β€˜"’ as [Created]

from EpicorDatabase.dbo.JobHead with (nolock) A1
left outer join β€œSidecartdatabase”.dbo.vJobRelation A2 on A1.JobNum = A2.JobNum and A1.PartNum = A2.PartNum

where A1.JobNum = @JobNum

1 Like

Interesting Josh. Can you provide the C# to call out the stored procedure as well? Would love to try this as well.