Everyone doing having a good Tech Conference.
Low on coffee.
Okay.
But I gotta show it just a show of hands asist my other sessions as well. Who is really excited about what you've seen in Eecs, 7, so far like on the keynote.
Good.
Some shaky hands.
That's really good good.
This session will be just as exciting.
Now Per will take it away.
All right.
So it's a time to get started.
It's the last table so get in.
Yeah, hello. Welcome to the session about labels and the the new Warehouse Management module that was released as part of the 3 valleys.
My name is Per Lykke Lynnerup. And with me, I have Zach Greenvoss for us.
And we're both working from the development center in Copenhagen.
Soup and here I'm.
I'm Danish.
In the sugar here a moment so I guess not so I hope that you all can understand what I'm saying.
The agenda for the session.
Is that we would like to?
First of all uh explain?
How?
It is possible to enable label printing.
And.
Some things that is obvious that needs to be done.
And all things that I hope we will show you what needs to be done to.
Have that capability.
So.
The session will be.
That we need to.
Make sure we have connections off printing devices has to do that.
And how to be able to look it up in the actual ex uh application.
Then will briefly touch upon the.
How the language?
The ascii characters will flow from Eecs so the printing devices.
Trust and explain the Super programming language.
And then we'll make demos for in pounds a flow a purchase order label printing scenario.
And this will make the more foreign outbound process.
Sales or printing doing um.
The execution of the processing of the work with the mobile device.
And then explain in case you want some Carrion separation for that process.
So that's kind of the functional explanation was I was a calf.
As a program manager.
That's what I know of.
So after that sack.
With an engineer will go into details about.
Everything that I will show how Earth is that possible.
And explain all the details about the tables classes.
The kind of.
Explanation about
In case you want to do some customisations extensions, so label printing house that on.
So we hope that after the session will all go back.
Try this out and see this is actually great.
So with that, yeah, well let's start the story of the console. So so iconv the label printing story the scenario for this session.
So the real business needs for this company.
Is that we would like to print out?
Silver shipping container code are these.
When we do a purchaser receiving process within our main distribution center of our company.
So the warehouse workers.
take against orders with a mobile device.
Items arriving from different vendors.
I would like to print out labels.
An associate these labels on license plates.
Before we put away payment. Sorry.
So that's the impound story.
When it comes the outbound.
We will make a?
Sales order process.
And for that one will swell would like to print labels.
But this time it's
Defined based on the carrier that we want to use for the shipment.
And I hope that.
Story.
Can be used in whatever business requirements that you have in the real world?
So how to and Abel.
Label printing.
Well.
The first.
Settings.
Needed this.
Actually, 2 very small parameters.
As part of the ex configuration.
So be able to connect to the printer drivers to devices.
On site server and client side.
There's 2 check box with says connect printers on the server when it comes to the configuration file server on yet see.
And for the client-side allow clients to connect to printers on this server.
So this soup check box.
Some of this is.
And able and you.
Start the application.
You can now look up.
The windows device drivers that have been installed within eecs.
Last counter.
Small.
Look up.
You see here.
That would be possible we can make the connection so these devices.
Now.
What kind of communication is it then?
That we are.
Able to soup to do next.
Basically um.
It's just ascii characters.
It's it's characters that would be sent to that driver that you select.
And as you can see on the slide.
This example this using the same programming bankers, which is what will use for this table cause I mean, typically the most printer drivers.
Will be capable of understanding this language?
So will also you that's for the table.
And uh we'll explain every single.
Meaning.
Sorry of these characters.
During the session, so you are familiar with the language I'm sorry will not.
Just be the weather is just text being sent out.
Right and and the device driver.
Printer driver will of course, be able to take all of these.
Strengths.
Characters.
And make a label off.
So.
What is needed?
In case we would like to.
Make the inbound scenario.
First.
Yeah, we need to.
Neither device we need a printer or some kind.
And we need to install the driver for it.
My best on.
We.
May want to use some kind of label to science software.
And well typically.
You get that uh.
As part of the purchase of the device.
In our case, we did not afford to buy a device so uh. We just install the driver.
And we use just a simulator.
To show what will be printed.
So.
With the label to sign application.
You're going to sign and whatever more or less advanced layout of your labels.
And then you can take the export this say programming language.
And paste this into ex.
So that's 1 way to get the signed on.
And then get the output.
And paste that into lakes.
I will show.
How that
Done.
So first.
We install the driver.
In our case, we have selected uh one of the many us several friends. Of course, it could be any kind of device.
That understand this case this kind of language.
And uh what with on is that?
On the printer promises.
Add AA port.
For this device.
Rather than printing directly, um so this device, we print to a text file.
When using this driver.
So whatever output is been sense of this windows trial.
Will be sent to a text file?
Now this is just band that.
How you can you can do that?
So.
We will look like something like this.
What you see here is uh?
Actually found this a sea Bream later.
Well, I'm cross our fingers that this site is still online when doing a live demo.
Um but this is really what would be sent as characters through the printing device driver.
And that one will then be able to print out what you see on the right side.
So.
As you can see that.
Characters at least I can see here is not.
Coat uh specific for.
For kind of understanding what happens so we could see here if I key in France also.
Tech.
Conf.
On new shipping company and I go down here and say we draw on this.
More later site we found well to change the.
The title.
Um up here.
Affecting what what?
What I just typed on it so that's kind of the the idea.
What in eecs as well?
We got all these weird ascii characters pasted and what some specific places within that we actually have some feels we would like to change.
Right to make this these variables to be.
We try to pick step change those values, depending on the process we're printing from.
That's the whole of the about this.
So install some kind of.
Labeled the science software this case.
All this for free it's uh say bra again.
Use any kind of device software for that.
Any big is this is just drag and drop a concept, and you can.
Make a fixed text variables.
Print, a bar coding etc.
And where we then print this one, so otherwise it will generate this text file.
With these weird characters in it.
What we do?
With this text.
Is that we go into a ex?
We open the
Warehouse management modules.
We go down on the set up.
And.
Document routing document routing layout.
And then we paste this.
These characters.
Answer this text box.
And it sure man see.
Actually, already did.
So this was actually the the label I just showed you before with a bar code.
This is an?
Just one.
She was sure constrain occur already 18 tickets.
And the blue part I'm mark here.
Is the feels that would like to change the value of phone?
And it's already done, I'll just mark this one here and then I right click here and there, we see, there's a whole list.
Of Field values that you can put in.
That would be the value being changed during printing operation.
And sack will come into details about.
Whereas this actually populated and how can you use this? List the feels as part of your label print?
Just be aware that's a?
Long as the feels that may or may not make sense depending on the process joint.
I mean, if you are receiving for instance, a purchase order.
Probably not have the custom account number populated.
So.
But at least then the.
The vendor is part of that process and you can use that as part of your labor printing.
So now, what we have achieved is that we have generated the simple.
Label.
Concerning of one par core of a certain format.
And for those of you are familiar with.
Just one standard.
These 2 Ciro's in front means that this is actually something called a filler shipping container code ide, which represents.
Some very special preformatted constraints about how this label needs to look like.
So that we also need to, and Abel somewhere.
And we pay so this for uh.
These characters.
In 2 ex part of the document.
Leah.
Label now.
So now we have actual label.
Which is right is a pre printed and we will replace the number? What a license plate ide during that process?
So.
Now we have.
The label, but when are we going to print it?
And, which I mean, you typically have several label. The science define so well in the process that with the side.
Which of these label layouts we want to use?
And you do that uh under something called document routing.
So, in this form.
Its first for more.
Defined per order type so this case, we look through the purchase order.
And you find that in this case for specific warehouse.
And at the bottom I say something hit this one, I want to use this.
Printer device with this layout we just have create.
That you can see on the top.
This one is carry the find.
So you can have several layouts define those.
And friends is make some vendor specific labels as an example.
Let's don't do.
How it looks?
And the real.
Implementation so again on the set up just above the one we all fall.
We got the document uh running settings.
And you
You're going to have several one choose if you want to as you can see this one is capable of finding based on the.
The connection problems with it, um the the drive us for the photo printers.
And then your selected they are in the second column.
We almost there.
It wasn't that much setup.
But.
We also need to inform the system about.
When to call this.
Document routing layout final label and do the print.
For this in pound example for receiving purchase order.
This.
Is enabled as part of the mobile device menu items and those of you that been part of the many sessions especially the one selected around or mobile device.
With no that's a lot of program ances on these mobile device menu items.
And one of them being print label.
For some of.
The creation types, we, we have our of the box.
So with this small checkbox, saying that would like to print out label.
It will call down fine this layout and then pretty gnarly.
The thing I've done down here is a Swan for this demo also generate my license plate.
Yes.
Yeah, so the question was about.
Also generation of batch numbers.
Furcy wait we did.
Make some additional functionality for.
Being capable of processing the also generation of bats numbers during the receiving.
So we might who grew up after this one to ensure that we have nail down exactly your business and I'm.
Okay, but there are the insi- await additional capabilities for.
Also generation of passionate.
Not for this one.
This one will not I mean, you can't pull off the best number if it's part of the comments of details about the list of fields that are populated as part of the printing process.
Okay.
Just a small load on on this one that's for the license plate receiving process.
I mean, this is why the use of you have an an essay in advance shipping notification you will say, well, I since well, then probably already have.
Label.
And I actually do a license plate, receiving process.
But in case not that the user for something else.
See wait you can now enabled the license plate printing, which would also be able to print out all the Nested license place. All the cases the inner packages handling units as part of this process just a small note.
What was introduced as part of suet swap?
I don't think I need to open this one and show you what it looks exactly like this. I hope otherwise Matt Damon will not work.
And you're all probably familiar with the way to find the mobile device menu item.
But.
I did check the small parameter that I want to also generate the license plate ide.
And the format in this.
Control should check Conf.
Story was that we want to generate a?
Assess the cecop.
So.
For that we need a?
Company.
Prefix Ide.
And that needs to be defined.
And you do that as part of the warehouse management parameters.
So, in this case this is our company prefix.
We also need to um.
Make sure that our number sequence.
Is to find so we don't?
Generate so many characters for this specific specific format.
In this case if you take this one out in this one and you end up you need 9 characters.
For this former.
And the last thing is that?
This is small.
At this long thing is it's number for for free a fall in the sequence of numbers. There needs to be defined, which indicate what kind of of uh packing type this license plate is.
And you can actually find that number as part of the unit sequence group.
So for a pallet the number will become zero.
When we generate the?
Code for this label.
If you're interested in this specific.
Format I encourage you to to to go and have a look at that the.
Just one.
I mean, everything is the Hutt's document about.
How this format is supposed to look like?
Yeah, check ticket was the question so check ticket will be also generated with this setup.
When it comes to the bar code itself.
It really depends on uh first of all of our 2 kind of things to the needs to be considered about check tickets right.
For the outbound process needs to consider the label software use whether that is in able for generating the to check ticket itself during the printing.
If so disabled at across exit will actually generate for you.
The second thing that needs to consider is the when bar code scanning if you use a device?
Of a certain type right you can also enables the device is based on the reading of the bar codes whether they are supposed to make the check ticket verification or not, and whether they are supposed to pass on to check ticket to set up so we need to consider how your devices and able for for breeding. Tobacco's as well. But it all depends on I mean? What kind of devices using right if it's directly.
I'm just.
Note that the more is always Skype keyboard and sephirah. Frye versus not be the case for for warehouse device. You know of course, not, experienced that kind of of issues, but
So when we have enabled this one in uh in the application.
Wow, that's it now we actually ready to process.
This.
So we go now and receive the processor.
I will see that during that will hit the menu item figure out when it's a print.
Go and look through our.
Set up that we did for the document routing figure that we have a label to the sign and then they will send this all of these ascii characters out so the device.
Just before that.
It will make sure to take this license plate at the field.
And then assign a new number which also generate.
Isn't that exciting?
Guess not.
So let's.
Let's see we already have a purchase order.
For an eye some a social one.
So I'll just.
Take this number goes for my.
Mobile device.
And use the purchase receipt menu item.
And I'll barcode scan.
You saw on.
Barcode scan.
The park or for the item.
And now receive in this case.
One pallet.
Of um.
Of this item to receive the palate.
And obviously this wanted did not have.
At any uh information up front about.
From a license paid receiving perspective based on the package structure, so I have really nothing to scan. I need to print it out.
With.
I hope you'll remember that when I printed.
I was.
Not printing device or Sprint or file.
And he'll go this is our label right.
Our.
Controller a control see carpet.
And I'll go to this.
You want to control a control be.
And then I'll hit.
The read robot and.
And here you see the label.
That, it will look like on the device being printed.
And this 1 by the way you see see that now. I obviously did not enabled it to print a check ticket so.
The bar code itself may or may not.
Can send the check ticket but at least the text is not?
So what needs of course, verify what are your processes to include the check ticket are not part of this?
Whenever we print, a label.
You can find the label.
On the West Management Inquiry.
License plate labels.
Let's see this is the list off of the labels there was a.
Have been generated on this machine list.
And as we see that the many feels the mayor, not may or may not be filled out depending on the process shown.
Remember this was a purchase order receiving process and therefore it only was capable of pulling in the feels real data so that process.
Um, I just you see the number here this is actually the license plate.
Number that was generated based on the set up with it.
Okay makes sense.
Questions so far.
Now.
That's good.
Yeah.
So question was about the Nested license plates.
Right.
For the Nested license plates.
Out of the box will only be kind of support for the license grade receiving process.
So it's like you have this package structure, the find those who are not familiar with that it's basically the ascent.
You can of course, create those informations manually with the parent. The Nested so the outer and inner.
Handling units.
That will not contain all the of these informations currently.
So.
Person again about the license plate, receiving menu item with the print check box. It will print up the parent. License plate and all the Nested license penalties. But it will not contain information about all the items that may or may not be part of of these cases in a package is so in case you have a parent license plate concerning 2. Nested license plates. Allies this license plate one contains 2 items.
You will not get in this label printing in city information that you have these 2 items in it. That's not support.
So if that's needed, it, you need so at that.
So that basically ends the in bound process we did.
And able our system.
To look up our devices.
Added.
A label to sign an ex.
Made the route for it at the menu item to print.
And we got the printing out.
So what about the outbound well.
When all comes all its?
Is really the same?
At least seen from the.
In able men off the layout of off of it and the routing.
When it comes to that.
But for this um.
Story in this session.
Well.
We would like to print this carry a specific label.
And uh.
This have a look how that could be done.
We already got the driver installed and so that's fine and the layout such well is the same.
I just change the format a little bit.
I need to do a need to include some addresses, but also would like a park.
So I don't want to go and show that the cause. It's all something you doing? Whatever label design software that you want and then just paste that code into a tax.
What's a lot more interesting?
is?
How do we then enabled that?
In case this is was a
Carya specifically label, We want to print.
And how do we tell the system that's that's what must happen?
And for this time, Oh, well, I've created a.
Create a new uh.
Shipping carrier.
Um you press worshippers cone.
And I assign a service for this Carey.
And now with this service. I also get a mode of delivery.
Which I can use?
On my customer in city so basically this is a simple thing. This customer always uses. This carrier so I can default. Mike area based on my mode of delivery.
Right this could also be done from a transformer.
Let's just happen to know someone then.
Um we simply just say whenever it goes a ship for this customer will use this model theory and thereby we know this is to carry a?
And that will be the fall on the sales on.
So that was the first time there was just too.
May not needing so key and that on the sales or.
With that is done.
Well.
I need to create AA need to tell the system.
Um that whenever I use.
This kind of process I need to print.
Another label, then we just signed.
So let's go and take over that.
It's again in the document routing.
Oh, close the
License plate printing.
So I got lost connection.
Yeah, I'm sorry about that.
Yeah. Let me talk so the.
It's good, I don't have it on powerful right we on again.
Very good.
Yes, connections back good so.
Warehouse management again uh.
Document routing but this time is not purchase order we want to.
Process we want to look into the sales order.
So I created a new routing in city.
As you can see.
I've specified a specific area so whenever.
This carrier is used.
This will be hit and then we will use.
The layout.
So did not show you across.
But it looks like this that explains everything right.
Yeah, well it explains at least something now. I hope you can see that I have a lot of feels water addresses from into name etc.
At least open I hope.
Imagine these fields will be.
Replaced when I print this label.
Okay.
So.
We need one more thing.
For the operon process. I do not use the mobile device menu items, so this side when Sookie golf this printing.
I use the word templates.
So for God look works templates sales order processing.
I have to find.
One pick ship.
And in the middle of this one.
That's a print.
Okay, so this Prince.
This is the one the triggers.
Go search.
In the routing.
And hopefully find something then look at.
Which label layout and device needs to be printed so and then process that uh send this? Do the mapping of fields and send it out of the rice.
So.
That's was what we need we have actually now enabled.
Do outbound printing.
For this carry a specific label.
Yes.
Okay, so question was.
Number of labels. I assume when you say that you mean packets one out of 3.
Yes.
Sack will currents with uh well, I'm a joke. It will be a customization. I'm sorry about that. We don't. I mean somewhere in the system. You will need to capture that this is packets of one hour of ex right.
Um.
We don't have that.
So, but I'm sure after the technical preview of this one.
Even you can go in code.
Yes.
Yeah, yeah.
So I'm not familiar whether we can trigger set that up uh so the question was about if you want to print to um in that case, uh I don't.
Yeah, manually of course, you can do it for that.
You can't find that as a as a setting in the language okay.
Right.
I mean?
Put in 2 of them and then it will print it out Russia. But I guess the The This is will probably so used to uh.
Sebrae program lanxess onsite through this twice and they will that's a good answer right.
Sorry.
So the feed by washer kind of Control Forex Well, you can at least make the Browning say in case you want to use this running in case not use another running like so but okay. But that's thanks for that, so we're ready to process this um.
Are quickly go back just to?
To show that what we have is a?
Sales order, um containing out again one line to make this simple pieces of 100. I'll go and release.
This sales order.
What's well?
And I hope you enjoyed some of the sessions about what process will then keygen carino that just before this one.
Are not going to those details? What I can tell is that everything is been set up to be?
Generated.
So hopefully when I log in.
On my device.
And go to my outbound sales speaking.
They will go on say fine you need to pick this item from this location.
And yeah, I'm sorry, but I really don't remember all of these numbers so our barcode scanned this now.
You saw it right.
And even heard it.
So and then.
Let's pause here.
They cause and have a look at the work.
Because what happen well.
We obviously hit the work template.
Created the work, etc doing the way processing an eye process to pick from this location.
And identify a pick this panel.
And then
This was the last pic there was only one.
We hit the next line work item, which was the print.
So now.
It's going out on the printer and I can say that.
Put it on my license or my pen to write a license plate.
So let's go this is our printer, the text file.
I will.
Control a soul, she cover this.
Go so our printer throw-away solvit.
And then
Redraw.
And what you can see here is.
This was the shipping label with all these we're characters. The thing we could see was that I added some address information from and to.
As you can see I spend a lot of time out, doing that the sign for this Dame Alright This is now.
Go use a one of these, um any software to sign packages to make really beautiful labels write ups specific formats. When you purchased this one. You get them out of the box for free. I mean that the the layout. At least right and you copy paste that can replace the feels as part of uh within eecs.
So.
This was the labor with generated got printed, which was carry a specific driven in case uh.
Carry a Narc area didn't like this beautiful layout so I needed to spend some more time on that.
So that kind of and that the outbound process. I do, though just want to mention uh saccharin method for that. We do as well have uh a reap print capabilities as part of the mobile device menu item.
When you look into this one, it kind of the falls the last printed license plate.
But of course.
You can you can just?
I mean, I was almost uh, saying that you can just park or scan. The license plate and then there will be rampant it. But it's probably not have the license plate ready, so you either look it up here, then and then press the the okay bottom together printed and I will.
Look up and find this license plate ide that was key, then um.
In this field and then use all of the feels that was populated.
Get processed look up on the routing decide okay. This needs to go through this printer with this layout and then just kick off this printing once more.
Okay.
This was the label we just printed.
Before during the Peking.
So.
Who have time? Yes, within right uh mobile device menu item?
And then if you attended the session.
With sack you would know the reprint is not creating work.
All processing work so that buys the fine is an indirect mode type in this list reprint label.
Okay.
Yep.
Good question I guess the first.
I haven't tried it.
We will write that down.
Find out.
I hope is from the point.
Cause if you have radios.
Plan might so that would make sense.
Yeah.
So uh uh the question was about how to this, I was print that goes depending on worker or this sold uh all I mean, so.
If it's a question about the work, a you would use the Curry.
And look up in case worker equals.
This then use this printer device with Prince there this printer.
I feel like what you're describing could be solved with the routing that we showed so a anki should check that one wrong kind of more advanced Ferreri functionality on top of the.
Documen routing any field that is populated as part of this printing.
You can you can use to look up and then figure out whether you pass this to device a device be? I guess that's the best chance I can give you?
Okay.
Yes.
Yes yes.
Okay.
I think we uh.
Moves say this was the end for for the functional and then run through the more technical privatizations and then take the remaining questions at the end.
And may also hereafter decision.
Great thank you very much pair.
So again I'm Zach and engineer, they started Copenhagen and I'm going to walk you through some of the technical details. What pair just described to us and specifically with this idea of you need to extend what we've shown you need to add things in that are not supported right now where would you go in eecs to make that happen that's what I want you in the next 30 minutes to to get out of this.
So.
There are really 3 big.
He says 3 big components to this label printing API that you need to understand or be comfortable with. There's the license plate label table itself, which is what pair showed and will take a look at in Eecs, but it's it is a table with all of these fields that are the substitution fields that we use.
There are then 2 classes.
Use that license plate label build class, which is what ultimately pushes data into that table and does for the core workflow there and then the document routing.
Which is really what? When we have looking at that document running layout it's the one that's sort of having that having that logic to figure out you know which which document should I apply. It's the one that actually drives the substitution process and sends it to the printer driver itself.
So these these 3 classes and classes in one table. Really what and if you guys wanted to build some sort of customized solution. This is this is where I'd start with you.
Okay, so we looked at that license plate label table. These are the columns are the fields in that table.
Which means that this is sort of the full universe of possibilities for substitution fields out-of-the-box in Seaway?
Now I pair had mentioned depending on the different workflow that you sort of get into when you are actually doing printing. Some of these might not be populated some of these might not make sense to be populated.
And in some of them.
You might need things that are In addition to these fields.
So we'll talk about how you could extend this table. Add new fields where that would where that would apply that logic. And so incidentally if you were to like pair should if we were to right click on that layout.
And that will big list of fields. They get shown that is a 11 match between the columns in this table.
What you get shown in that that menu there that right click menu?
So the document routing we're just document routing class has 3 key methods in it.
So the init menu fields is the one that is going to populate that list the substitution list.
The print document sort of the The one that based on the name of the you know what it does, but it's sort of pulls all this stuff together, it finds the route figures out how to do the actual translation and sends it to the printer and then that translate method is what actually does the substitution right so, based on the uh? What's been in the document routing layout? What's on the work line or aware of the data is coming from you know get those together and then the finally sending it to the printer sends the final tzipi, Eller Ascii characters that have combined with your data to the printer driver.
Okay.
So, like I said if you right click in here, you get this list of substitution fields.
That's coming from this, this table that we've been talking about.
Yeah.
So.
The question is doesn't account for the customer language at all.
We're going to we're going to look at the code and we can take a look and see. I don't know off the top my head I think.
I think the answer that I can't even give you what, I think so. We'll take a look and see.
So this menu fields.
This is the This is the sum total of this code is not a complicated method itself. I've tried to highlight what I consider to be part of the interesting pieces.
2 washed outside so all that it's doing what I'm trying to show here is that it's looping over this license plate label table over the fields in here and it's it's going through there in every field unless it's like a system fielders, not visible. It's adding it to this list. And so the key takeaway here. I'm trying to show is that by adding a field to this table like if you needed to add your own custom field that you need to get on your printing labels this will already pick that field up.
And allow it to be used in Eecs.
So just adding it to that table.
This thing will get run and it will be it will be available to you.
Likewise, the translate method is also very simple. It's ultimately just taking substitution fields taking data for the pushing those together.
You can't really see my my highlighting very well, but this is the line here. This replace line an ex plus plus it's taking the format that we use just this sort of simple substitution field format in taking the data stuffing it in there and then just looping continuing that looking for other replacement fields.
Okay.
So what I want to show is say that you know, we have um. We have a requirement that our labels show, if something is fragile or not, and so in Dizzy Piell. We have, we have coded in such a way that if there's a certain flag set that we're going to print like broken glass. Whatever that icon is that indicates it's a fragile item, but we don't. If you look through those columns. We don't have fragile code as a substitution field to send to a label.
So let's walk through the steps to be required to add that to the system.
That's not good.
So.
We are.
An ex.
Quickly go into.
More effects, I've created a project here with those 33 pieces of this label. API we have the license point label license plate label, a table and then those 2. Those 2 classes themselves.
You can see.
We talked about so the license plate label as all these different fields, the same fields. We've been talking about.
What I've done and it was uh it was better to do this beforehand it on-the-fly the way that my the way I type. You can see that I've added this fragile code column here and so this could be.
Your code that you've added in and it doesn't matter that it's you know it could be on on a layer above. This we could add this fragile code in I've given it a name and.
Label I've just done type this in you would probably use labels but.
So I put that in there.
And then if we went to.
Document routing layouts.
We were.
Needing to change this layout, adding this into the busy piell, we could now see that we have fragile code.
Which is not part of see lately? This is not shipped out of the boxes only exist because I added that to that table and that in it menuitems pick that up when it ran and put it here.
If I selected it.
Then it would add the replacement field here?
Into that label.
The label format.
Okay, clear.
Easy.
Okay, so I think the next question that I would ask is okay. That's all fine. It's in the label, but how do we put data into that new field?
I mean that's that's the next step. So to understand that we're going to have to talk a little bit about the framework responsible for getting data into that license plate label.
Table.
So.
This is this is sort of the work flow is the workflow responsible for populating that table ultimately comes somewhere at the top-level. There's awork execute display class in it, depending on the workflow that you're currently in the middle of when you do this printing. It depends on what class you're actually going to be executing in what context really executing in but regardless of that it will do these next steps that will create a new license plate label build which is class. We talked about to create a new one of those classes.
And then you will call build license plate labels on that class will call that method on that class.
And then we will have a decision to make it will need to talk about.
Get back to that so.
And one in one aspect you're in work execute display get step. You can see the 2 steps. I talked about here. You have that, creating the new license plate label build passing in a work line work ide and then calling that build license plate label.
So how would you like where with this get kicked off so remember pair showed in his excellent demo he showed having the work lines in the work template. It was defining a print step and so when we actually like going through and um.
Calculating the different work lines that is way you get you have this case statement figuring out what type work type. You're doing the work print type, you would end up in this code.
Conversely and the other way pair shown.
You would be inside, one of these work execute display derived classes, so work execute. Display Peel Line receiving or work execute display teos item receiving.
Then.
You are executing code that checks to see if that print label button is checked so if you remember.
Pair showed we have this print label option.
So 2 different ways of getting.
These this build class created and ultimately.
You know ultimately, it matters because different data is in the knee up into the final substitution fields.
Okay, so that we talked about.
Creating this.
And you notice we sorta talked about 2 different ways of creating it really matters because inside of this build license plate labels were either going to call insert single label print line or insert single label menu item.
It depends on how you got creator like where you are in that workflow thing from the names, it's fairly obvious if you came from that print from the work template so you have a print line and you're going to be this is going to be executed insert single label print line. If you were defined as a menu item. With that print check box. You're going to call insert single label menu item.
Important piece to know is that different fields in that table are populated differently, depending on which one of these 2 methods are executed.
So, like this is the core logic insert single label menu item.
So you can see we populate like quantity.
Based on the work line the quantity of the work.
See we get the unit ide do big conversion to get the inventory quantity.
This is it's going through figuring out the data in pushing it into that.
That label table.
If you are.
Print line.
This is the code.
It's slightly different.
Highlighted it kind of hard to see um, but you can see in this case, we actually populate.
The order number I've tried to highlight the ones that are different order number aligned number, the item. Ide we set the 2 in the from address purchased the customer purchase order so these things are slightly different? What what I really want to make sure that you understand is if you were going to be building your own solutions like we're going to be building this fragile code solution. You need to know where in the workflow that this is going to get kicked off so you know where to put your custom code like you know if you're going to put some code down here that populates that fragile code. You need to know where you guys going to define it as a work line in your work templates or you're going to define it as a custom menu item option is that which way you're going to go with that.
So I've tried to talk about like you have sort of those, 2 big choices to make. Obviously, the work template itself is very flexible. You can put it where you need to in that process, but also ends up like pair showed with these work lines, you actually see it as print work line. When you're done when it after creates that work.
If it's if it's a menu item.
Then it it could be maybe more deeply integrated into that Workflow because it's not necessarily happening at the end of your pics. Alright or at the end of wherever that you know the work lines that you've defined it could be happening in the middle of something and like in the middle of the receiving process that label could be printing exactly where you needed it to be printing. Those this sort of the tradeoffs that you need to think about.
Okay, so we have that.
Fragile code that we've added to that table so now let's go. Look how we would then populate that.
So so uh.
For the sake of this demo. I've defined uh. I'll show you real quick, but I've defined fragile as?
A custom filter code.
If we look at.
Product that we have.
Scroll down to this filter code you can see that I've defined this one as fragile.
Obviously, there's different ways to do this. This is this is what I chose to do for this demo and then if we come back over to.
More effects.
And we look at this license plate label build class.
You can see that we have those 2 insert single label menu item and insert single label print line.
If we look at the uh.
Frontline class.
See here this is the code that I showed earlier on this line. This is what's populating those license plate label.
Um that license plate label row.
You can see what I've added down here. This is sort of my custom code here very exciting.
So I'm just checking to see if this item that we are dealing with has that filter code. Fragile if it is. I'm setting over this is a new column that we've added into this table as a partner customization customer customization added this in and I'm setting and I'm just I'm supposing that my Tzipi El code with then use. This is true or false statements. Maybe I'd settle one or 2, depending and it would be able to then make a decision.
Dizzy piell level that it needs to print that label or not print that our print that icon or not print that icon that it's fragile.
That makes sense.
Not in good good.
So uh.
To answer the question, we had earlier around sort of localization or what gets printed. I think the the answer is that it's This is where you would need to look to see things needed to get change if you needed to print different things. This is the code that you would take a look at because this is what populates that license plate label table.
Which then gets use when we do that final substitution?
Okay.
Right.
So I think this point we love to uh.
Answer any additional questions that you might have various links here to blog posts and other information that we have that sort of support what we've talked about here.
If there's anything that uh pair. I can help us. We will be around the rest of this time and obviously rest the conference.
Yeah.
Uh uh that's a good question. Uh if we should try to repeat what we can make a work step that kind of need to be triggered from the mobile device.
Um.
No confirmation step, yeah, I would be a so, so at the end, though.
Yeah, I mean, you could make a additional step.
Where you just basically after the last pic say okay?
Was then I'll semester would goes for the next line? Which will do their pride? That's
All right.
My new can I don't know if you're familiar with this custom uh steps. I mean, you can that's really just like the prints.
We go.
Take a look at the work template.
I mean, one way.
To deal with this, the work sometime.
Would be to make one you here.
And save Cup custom step.
And um.
I get like this.
Sorry this one is to go on.
Move up one.
So.
That could be one way.
And then you could um at even if you want to.
You know you can key in actual additional information and save those data with will not be the case of this will basically just been okay, and you can write a small comment actually say okay to print.
And and that that will then.
Check uh kind of holding position like that.
Now then you don't need to code anything at least right.
Yes, and I was like I was already coding.
Yeah, go ahead.
You'd end up using the document routing.
Like that you'd have to have something in the query, then could read what you're talking about read this sort of custom field. This bar code that needs to be scanned at that point we need to read that and then use the query to figure out which printer to look at.
Yes.
Anything else.
So question was about the full pardon, which will split.
Kind of work and take really have new head us kind of, say, we have something remaining that needs to be processed.
And the thing that we already have picked will.
Kind of need to be put as the next step.
So the print working off at that process as soon as the final pick is kinda completed on the work, then we'll basic jumps on our next work line.
Which will then be the print on this case it will ask print okay? Are and then after your press okay it will print.
So that when that has been printed it will ask you to put for this work.
Someone else all the same user.
Is something you can define way. I want to keep the same user for the remaining as part of the menu item setting.
Or someone else just pick up the remaining uh on kind of a new work.
Okay and that one will be a copy of using the same work template of the need to pick and print and put.
Okay.
Is there a question back there in this?
So the I mean, the text file that was generated here was just because of the set up the pair did with the driver.
Yeah, I mean, no no not that I was just uh.
For a Windows driver just so we could show in this demo, the text file getting generated so that.
That's kind of important to understand that the only thing about using kind of make a new pool and write down so text file a civil rights.
I mean, you will not use that you will direct this to the device itself, which will take care of this printing.
I mean, but that being said, we have seen uh partners and customers intentionally print kind of like this print to network shares print print actual files and then have a something else pick those up and actually print them You know just just to.
Yeah.
That would be very driver specific would be outside of Eecs so.
Okay.
But uh
If for no more questions then.
Thank you very much for attending the session. Please 2 remember fill out the evaluation that that's really helpful for for Arsenal. Next time we have hopefully we can do it even better job making you even happier.
So thank you very much thank.
