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

Micros 3700 SIM MI event: Add/remove/add condiments?

Status
Not open for further replies.

John_WG2

Programmer
Sep 19, 2016
5
0
0
US
Hi!

I am working on a SIM interface project for the Micros 3700. I'm using the MI (menu item) event to read each menu item that is added to an order, and outputting XML to a display.

My problem:
1. I get menu item details for each button or macro press.
2. I get menu item details for condiments (a SLU group) if a NON-default condiment is added ("ADD Rainbow Sprinkles")
3. I get menu item details for condiments if a DEFAULT condiment is removed ("NO Choco Sprinkles")
(Default condiments are displayed as "stay-down" buttons in the SLU group)
4. If I add a non-default condiment, and then ("oops, no, I don't want peanuts, I want almonds...") I remove the non-default condiment, I do NOT get an MI event.
5. Similarly, if I remove a default condiment, and then re-add it ("Wait, no--I DO want rainbow sprinkles"), I do NOT get an MI event.
6. In either case 4, or case 5, my XML output (and the display) continues to include condiments that the user doesn't expect to be there.
7. If I add any other item (including another non-default condiment) I get a subsequent MI event--and the details for that event are correct (the added-then-removed condiment is gone).

Is this an issue with the Micros POS system configuration? (That is, I can set a value with the POS Configurator to cause the remove/re-add default item problem to go away?)

Failing that, is there another event I can listen to that lets me identify that the condiment list has changed?

Thanks!

John M.
 
I am not sure on how you are getting what is shown in the detail check area, but what you can do is any time a menu item is added you can use the Event MI and have it read through the detail check area and export it's contents, see examples below.

Code:
// If you want to catch everything in the Detail area
Event MI
    for i = 1 to @NUMDTLT		// @NUMDTLR = Number of Detail Entries this Service Round
		// You can then export based on each detail line item; Order it any way.
		infomessage @DTL_QTY[i], "   ", @DTL_NAME[i], "    $ ", @DTL_TTL[i]		// Output: Quantity, Name, Price

    endfor

EndEvent

--OR--

Code:
// If you want to Catch only Menu Items
Event MI
    for i = 1 to @NUMDTLT		// @NUMDTLR = Number of Detail Entries this Service Round
		if @DTL_TYPE[i] = "M" 	// M = Menu Item; I = Check Information Detail; D = Discount Name; S = Service Charge; T = Tender Media; R = Reference Number; C = CA Detail
			// You can then export based on each detail line item
			infomessage @DTL_QTY[i], "   ", @DTL_NAME[i], "    $ ", @DTL_TTL[i]		// Output: Quantity, Name, Price
			
		endif
    endfor

EndEvent

@DTL_TYPE[] function can be one of the following.
I = Check Information Detail
M = Menu Item
D = Discount Name
S = Service Charge
T = Tender Media
R = Reference Number
C = CA Detail

You can catch different items through these, be it Menu Items (like the example above), or Tenders and such.

Something to keep in mind when using UseSortedDetail and UseStdDetail commands, These can cause issues with the way the script counts and such. For this instance, I haven't used them.
UseSortedDetail = Consolidated detail is accessible.
UseStdDetail = Raw detail is accessible.
These are added to the begining of the script or below the [for i = 1 to @NUMDTLT] statement.
 
Thanks very much for your reply.

I am using the MI event to identify menu items. The issue is with condiments that are added with that menu item. When a default condiment is removed, and THEN added back in, the MI event does not fire.

1. Add a menu item ("Two Scooper Deluxe")
2. The menu item includes default condiments ("Choco Sprinkles" and "Waffle Cone - Med")
3. The customer wants a different condiment--"Rainbow Sprinkles"
[ol a]
[li] The cashier clicks on "Plain" (removing the Choco Sprinkles, but not the Waffle Cone, which is persistent)[/li]
[li] The customer changes her mind--and the cashier then re-adds the Choco Sprinkles[/li]
[li] Because a default condiment has been re-added, no MI event occurs[/li]
[/ol]
Any ideas on how to identify that the default condiment has been re-added?
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top