Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations biv343 on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Micros 3700 - Check Info on Runner Chit

Status
Not open for further replies.
Jan 27, 2014
145
Is there a way to get the check info (from chk_info_dtl) to print on runner chits after bumping from a KDS?

The expo printer assigned for the chits is set to print the check info, but it doesn't actually happen. I can probably write a SIM to pull the info using SQL and stuff it in a header or trailer, but wanted to see if there was a direct route first.
 
You want it to happen specifically after being bumped for the EXPO KDS?
 
Correct. The only things I've been able to customize on that chit have been header and trailer so far.
 
Er, to restate, any time a runner chit prints - not just when the Expo KDS bumps it.

Working on a SIM, but I'm not having any luck getting the Expo printer to use the new trailer definition (or even indicate it's trying to process the SIM in 3700d.log).

 
What does your code looking like?

Something like this should work...

put @@CUST_TRLR in trailer and an event like this:

Code:
EVENT PRINTER_TRAILER: CUST_TRLR

	var info_lines : a40[ 16 ]
	Call GetInfoLines( info_lines )

	var i : N1 = 1
	while info_lines[ i ] <> "" and i < 17
		@trailer[ i ] = info_lines[ i ]
		i = i + 1
	endwhile

ENDEVENT

SUB GETINFOLINES( REF OUTPUT_ARRAY )

	... populate info lines

ENDSUB
 
Pretty close (minus the SQL stuff) - but should it be PRINTER_TRAILER or PRINT_TRAILER? The one working trailer SIM we have is the latter.
 
I see the issue now - the Expo printer is linked as a device (not an order device) from the Kitchen setup screen and the KDSes themselves. That explains why the trailer I attached to the order device never fires.

Guessing I'll need to hook the ISL in via another event, as PRINT_TRAILER doesn't seem to be cutting it...

 
Ok, I've got this sorted a bit more now.

Looks like KDS devices will only natively print info found in chk_dtl, columns remote_order_device_info1 through 5. So what I'll need to do is create a trigger on chk_info_dtl to transfer line_01-5 over into the remote order columns in chk_dtl, and then enable the Remote Order Device print formats for the KDS units. ISL was definitely the wrong route here.



 
For anyone else needing it, here's the trigger that worked for me.
Drop the order_type_seq IF/THEN if you need it to fire for all order types, and organize the mapping from chk_info_dtl to chk_dtl fields as your database requires.

ALTER TRIGGER "t_chk_dtl_PRE_UPD_1" BEFORE INSERT, UPDATE
ORDER 1 ON "micros"."chk_dtl"
REFERENCING NEW AS "NEW"
FOR EACH ROW
BEGIN
DECLARE @line_03 CHAR(32);
DECLARE @line_04 CHAR(32);
DECLARE @line_05 CHAR(32);
IF "NEW".order_type_seq = '5' THEN
SELECT line_03, line_04, line_05 INTO @line_03, @line_04, @line_05 FROM MICROS.chk_info_dtl where chk_seq = "NEW".chk_seq;
SET "NEW".remote_order_device_info_line1 = @line_03;
SET "NEW".remote_order_device_info_line2 = @line_04;
SET "NEW".remote_order_device_info_line3 = @line_05;
END IF;
END
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top