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 strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Micros 3700 Print all open checks 1

Status
Not open for further replies.

drvcrash

ISP
Nov 7, 2003
21
US
Im looking for a way to make a button to print all open checks in the system. Any one know a way or have a sim to do this?
 
What do you mean by print all open checks? Print the full details for them, or just a list of check numbers?
For just a list of check numbers, you probably have an 'Open Check Report' somewhere in there you can run. If you want the full customer receipt for them all that is something a bit different.
 
Yes im looking for the full check. This is basically for disaster planning. Loss of power type of problem . with my old digtial dining I had a large apc on a couple terminals and printers so if the power went out a manager could go over and hit a button to print out all the open checks so we didn't lose everything if it was an extended outage
 
I could write something to do it with a SIM, but to run, it would need at least one terminal, the server, and the switch up. The only way to really do this easily that I can think of is to basically check for any open checks and call Reprint (or some similar function at least) on them. Unfortunately, the only way to really do that is to open an SQL connection from the terminal to the server, so the switch and server would still need to be on so that they can talk. Want a SIM to do that?
 
The SIM was actually pretty easy to write given that I'm just recycling my sql subroutines at this point.

For it to work you have to have a Print and Stay In tender/media (just like the regular Print tender/media, just uncheck the Send Order under the Service TTL tab, and check the Override employee signout under the same tab. In the case of my image, it is tender 506. Let me know if you want the full SIM for this.. when you run it it is pretty trippy since it has to first open the check, so your screen does some flashing, though it seems pretty fast.

Code:
//change this variable to your Print and stay in tender/media sequence
var print_tender : N4  = 506

event inq:1
	Call LoadSQL

	var sql_cmd : A2000

	var OpenChecks : N4
	format sql_cmd as 		"SELECT COUNT( chk_num ) ", 		"FROM micros.chk_dtl ", 		"WHERE chk_open = 'T'"
	Call sql_query( sql_cmd )
	OpenChecks = sql_cmd

	format sql_cmd as 		"SELECT chk_num ", 		"FROM micros.chk_dtl ", 		"WHERE chk_open = 'T'"
	Call sql_recordset( sql_cmd )

	var i : N4
	for i = 1 to OpenChecks
		DLLCALL_CDECL sql_h, sqlGetNext( ref sql_cmd )
		loadkybdmacro key(1, 327684), makekeys( sql_cmd ), @KEY_ENTER, @KEY_ENTER, key(9, print_tender)
	endfor

endevent
 
Bleh.. it stripped out the formatting...


Code:
//change this variable to your Print and stay in tender/media sequence
var print_tender : N4  = 506

//do not change
var sql_h : N12 = 0

event inq:1
	Call LoadSQL

	var sql_cmd : A2000

	var OpenChecks : N4
	format sql_cmd as
		"SELECT COUNT( chk_num ) ",
		"FROM micros.chk_dtl ",
		"WHERE chk_open = 'T'"
	Call sql_query( sql_cmd )
	OpenChecks = sql_cmd

	format sql_cmd as
		"SELECT chk_num ",
		"FROM micros.chk_dtl ",
		"WHERE chk_open = 'T'"
	Call sql_recordset( sql_cmd )

	var i : N4
	for i = 1 to OpenChecks
		DLLCALL_CDECL sql_h, sqlGetNext( ref sql_cmd )
		loadkybdmacro key(1, 327684), makekeys( sql_cmd ), @KEY_ENTER, @KEY_ENTER, key(9, print_tender)
	endfor
 
You know, but I never even asked... are you using Micros? And which version? I just heard 'SIM' and assumed Micros.
 
I really wish I could delete my posts.. its in the subject. Heh... *facepalm*
 
yes Micros 4.11 Im looking for a print and tender but I dont see anything called that
here are some i have. I can just make a new one is there any options other than the two you said it needs?

printntend.JPG
 
Print and Stay is likely the right one. Does it work by printing the check and then taking you back to your table screen?


I have a shared dropbox folder I've been storing SIMs in.


Its the Print All Open Checks folder.

In POS Configurator, go to your interfaces and create a new one. Title it whatever you want, just select that it is a TCP and SIM. Download pmsX.isl, and rename the X to whatever number the interface is (so if it is interface #7, change it to pms7.isl). Open the file with Notepad and edit print_tender to your Print and Stay, so it should look like:

var print_tender : N4 = 110

Put it in D:\MICROS\Res\Pos\Etc and then copy it to your CAL folders (D:\Micros\Res\CAL\WS#\Files\CF\Micros\Etc) as well.

In touchscreen designer, on your manager screen, add a button with PMS/SIM Inquire for the category and choose the interface you just created. Set it to inquiry 1. Let me know how that goes.. I'm testing the SIM on a virtual machine with no printer connected, so all I can tell is that it appears to be opening all the checks and attempting to print them.
 
Thanks you are the man. It works great. Micros was telling me it couldn't be done.
 
Cool. Nice to know it works given that I can't really test it, heh. Let me know if anything unexpected crops up.
 
I did few test during lunch when there were checks open by 3 servers and the bar. I looks as it only prints what is in the rev center your in. Also for some reason it doesn't print the checks of one of my servers when it prints the other two in the same rev center which doesn't really make any sense.

Im gonna poke around to see if anything is different for her

 
You have multiple revenue centers running? Cause, yeah, that would make quite the difference. I would have to change it around so that it specifies the revenue center before trying to pickup the check. I just so rarely see places with multiple revenue centers I made an assumption.
 
Ok... from what I can find, there is only really one way to do this, short of programming a print subroutine myself..
You would have to have a user who is assigned to only one revenue center, but can view other employees checks. The SIM would then flip to that person when it get to that revenue center. They couldn't be assign to multiple revenue centers though because I can see no way to specify which revenue center I want to enter.
 
Also, while the employee it used to print would have to be assigned to only one revenue center, the workstation you ran the sim from would have to have 'allow multiple rvc' checked.
 
I have confirmed, that so long as you provide the SIM with a list of manager sign in for each revenue center, that you can get it working. The sim just flips between managers as it goes... not an ideal solution, but I can't find anything in the (rather limited I admit) documentation on changing revenue centers from a SIM.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top