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

Adding a "Print Specials" button in MICROS 3700

Status
Not open for further replies.

mkepling

Technical User
Aug 8, 2015
2
US
How would one configure a button for the home sign in screen that would print a list of specials, 86ed items, etc. so that servers could access information easily? How would you link up and update the button? Thanks!
 
I would look into a SIM script for that or use the info screen buttons to display and not print or use the mail SIM to send a message.
 
Can you elaborate on the info screen buttons? I’ve been looking for an option to give access to such a screen, or to enable a pop-up screen when a server/bartender signs in to display updated info since last login, such as 86d items, draft changes.
Thanks!
 
What you want sounds simple but it would actually require a good bit of work.
You would need to have a module that access the database and retrieve menu items that you determine are "special". Then return these to the workstation where they can be displayed or printed.

You cant do this with standard functionality but you could customize something.

I could do this. You can contact me via my website below.

Do you want some custom SIM scripts developed. Contact me via my website
 
Here is a SIM that uses the 'Information Screens' (POS Configurator -> System -> Information Screens). You just fill in one of the information screens, and this is set to print it. It can also be given a screen that it pops up whenever someone clocks into the system; like a message of the day for your servers.

So create an information screen and put your list of specials in it (then all you have to do is update this in POS Configurator when they change). Then take the object number of the information screen and set in helpscreenprint variable below. Setup a button linked to the interface with this SIM, inquiry 1.

For a way to print 86-ed items, Micros has that built into the system as a 40 column report. Just give them a button linked to that.

Code:
///////////////////////////////////////////////////////////////////////////////////////////////////
//CLOCK IN/OUT MESSAGE AND PRINT SPECIALS
//SIM BY BRAD KENDRICK
//MICROS SYSTEMS NEW ORLEANS
//
//
//
//PUT THE OBJECT NUMBER OF THE INFORMATION SCREEN YOU WANT TO DISPLAY WHEN AN EMPLOYEE CLOCKS IN
//ON LINE 41 AND THE SAME FOR CLOCK OUT ON LINE 42
//IF YOU DON'T WANT THE EVENT TO DISPLAY THEN SET TO 0
//
//EVENT INQ 1 IS A BUTTON YOU CAN PUT ON ANY TOUCHSCREEN THAT WILL PRINT THE OBJECT NUMBER HELP SCREEN
//THAT YOU CAN DEFINE ON LINE 43. BE AWARE THAT IF THE MANAGER ON DUTY PUTS TO MANY CHARACTERS
//ON ANY LINE OF THE INFORMATION SCREEN IT WILL WRAP TO THE NEXT LINE. 36 CHARACTERS ARE THE MAX BEFORE WORD WRAP.
//
//INQ 1 REQUIERS DBISQL ACCESS. I SET THE DEFAULT USER ID TO SUPPORT AND THE PASSWORD TO SUPPORT
//IF THIS NEEDS TO CHANGE DO SO ON LINE 107
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
var   helpscreenclockin		:n10 = 1  //PUT THE OBJECT NUMBER OF THE HELPSCREEN FOR CLOCKIN HERE 
var	helpscreenclockout	:n10 = 0  //PUT THE OBJECT NUMBER OF THE HELPSCREEN CLOCKOUT HERE
var 	helpscreenprint		:n10 = 2 //PUT THE OBJECT NUMBER OF THE HELPSCREEN TO PRINT HERE
var     hODBCDLL        : N12 = 0
var     emp_lname       : A16
var     emp_fname       : A12



//THIS EVENT DISPLAYS THE HELP SCREEN YOU DEFINED EARLIER ON CLOCK IN
event clockin
	if helpscreenclockin > 0
	loadkybdmacro makekeys (helpscreenclockin)
        loadkybdmacro key(1, 655370)
	else
	endif

endevent

//THIS EVENT DISPLAYS THE HELP SCREEN YOU DEFINED EARLIER ON CLOCK OUT
event clockout
	if helpscreenclockout > 0
	loadkybdmacro makekeys (helpscreenclockout)
        loadkybdmacro key(1, 655370)
	else
	endif

endevent

//THIS EVENT WILL PRINT THE HELP SCREEN YOU DEFINED FOR THE USER 
EVENT INQ: 1
var a_count 	:n2
var infoline[10]:a60
var constatus   : N9
var sql_cmd     : A2000
var infor_seq	:n10
var infor_obj	:n10
var last_update	:a40
var last_date	:a40
var info_name	:a60
var currentday  :n2
var currentmonth:n2
var currentyear :n2
var month	:a6
var hour	:n2
var minute	:n2
var AMPM	:a2
var current_year:a2
var min_ute	:a2
var current_day :a2




call findmonth

 if (@instandalonemode <> 1) or (@inbackupmode <> 1)
         if hODBCDLL = 0
            DLLLoad hODBCDLL, "MDSSysUtilsProxy.dll"
         endif

         if hODBCDLL = 0
            exitwitherror "Failed to load MDSSysUtilsProxy.dll"
         endif
         DLLCALL_CDECL hODBCDLL, sqlIsConnectionOpen(ref constatus)
         if constatus =  0
             DLLCALL_CDECL hODBCDLL, sqlInitConnection("micros","ODBC;UID=support;PWD=support", "")
         endif

        
		format sql_cmd as "Select * from micros.info_screen_def where obj_num = ", helpscreenprint

		DLLCALL_CDECL hODBCDLL, sqlGetRecordSet(sql_cmd)
			  
 		DLLCALL_CDECL hODBCDLL, sqlGetLastErrorString(ref sql_cmd)
		if (sql_cmd <> "")
                 window 10, 70
                 display 1, 5, mid(sql_cmd,   1, 60)
                 display 2, 5, mid(sql_cmd,  61, 60)
                 display 3, 5, mid(sql_cmd, 121, 60)
                 ErrorMessage "Error from SQL"
           else
           DLLCALL_CDECL hODBCDLL, sqlGetFirst(ref sql_cmd)
           if sql_cmd = ""
                  ErrorMessage "NO HELP SCREEN FOUND WITH THIS NUMBER "
                  ExitCancel
           else
		             while sql_cmd <> ""
                          splitQ sql_cmd, ";", infor_seq, infor_obj,info_name, infoline[1], infoline[2],infoline[3],infoline[4],infoline[5],infoline[6],infoline[7],infoline[8],infoline[9],infoline[10],last_update,last_date
                          DLLCALL_CDECL hODBCDLL, sqlGetNext(ref sql_cmd)

	startprint @chk

 	
	printline info_name
	printline "--------------------------------"
	printline "       ",month, current_day,"'",current_year," ", hour,":", min_ute,AMPM
	printline "--------------------------------"
	printline infoline[1]
	printline infoline[2]
 	printline infoline[3]
	printline infoline[4]
	printline infoline[5]
	printline infoline[6]
	printline infoline[7]
	printline infoline[8]
	printline infoline[9]
	printline infoline[10]
	endprint


           endif
         endif



   endif




DLLfree hODBCDLL

ENDEVENT


sub findmonth


hour = @hour
minute = @minute
currentday = @day
currentmonth = @month
currentyear = @year

if currentyear < 10
	format current_year as"0",currentyear
	else
	format current_year as "", currentyear
	endif

if minute < 10
	format min_ute as "0", minute
	else
	format min_ute as "", minute
	endif

if currentday < 10
	format current_day as "0", currentday
	else
	format current_day as "", currentday
	endif

if currentmonth = 1
	month = "JAN"
	else
	if currentmonth = 2
	month = "FEB"
	else
	if currentmonth = 3
	month = "MAR"
	else
	if currentmonth = 4
	month = "APR"
	else
	if currentmonth = 5
	month = "MAY"
	else
	if currentmonth = 6
	month = "JUN"
	else
	if currentmonth = 7
	month = "JUL"
	else
	if currentmonth = 8
	month = "AUG"
	else
	if currentmonth = 9
	month = "SEP"
	else
	if currentmonth = 10
	month = "OCT"
	else
	if currentmonth = 11
	month = "NOV"
	else
	if currentmonth = 12
	month = "DEC"
	else
	endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif

if hour = 13
	hour = 1
	AMPM = "PM"
	else
	if hour = 14
	hour = 2
	AMPM = "PM"
	else
	if hour = 15
	hour = 3
	AMPM = "PM"
	else
	if hour = 16
	hour =4
	AMPM = "PM"
	else
	if hour = 17
	hour = 5
	AMPM = "PM"
	else
	if hour = 18
	hour = 6
	AMPM = "PM"
	else
	if hour = 19
	hour = 7
	AMPM = "PM"
	else
	if hour = 20
	hour = 8
	AMPM = "PM"
	else
	if hour = 21
	hour = 9
	AMPM = "PM"
	else
	if hour = 22
	hour = 10
	AMPM = "PM"
	else
	if hour = 23
	hour = 11
	AMPM = "PM"
	else
	if hour = 0
	hour = 12
	AMPM = "AM"
	else
	if hour = 12
	AMPM = "PM"
	else
	AMPM = "AM"
	endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif



endsub
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top