Machines are a way you can extend and customise the processing in Fieldpine POS, reports and other places. A machine performs a dedicated function, such as fetching product information, or calculating tax totals, or even deciding if discount vouchers can be applied to a sale.
PosGreen is able to directly call machines as symbols, or processing commands.
Machines can be placed on the User Interface to provide constant feedback to the user
screen example control define total(Voucher Valid: %data.machine.(name(CanVoucherApply) pin(101,15966)).pin200%) font(arial,26,bold) noborder at(6,678,225,708) rgb(300,0,0) end
<fpscript name="machine_example_1"> // First create the machine and set the input pins. Sale is automatically loaded set t = machine(name(CanVoucherApply) pin(101,15966) pin(107,"31-mar-2015")) // Now just read the output pins we are interested in if (%t.pin200%) then message(99,1,No problems - no voucher OR acceptable) else if (%t.pin204% == 22) message(99,1,Voucher has expired) endif </fpscript>
PosGreen includes an interactive machine viewer. This allows you to constantly run a machine and observe its operation while changing other things in the POS. This can dramatically lower testing time by allowing you to interactively try various combinations without having to fully complete them in all cases.
Method 1 uses the POS Designer tool. Select "View" "Machines" from the designer panel.
Method 2 allows you to issue a POS-Command to display a single machine. You may issue the command multiple times and display several machines at once. The PosCommand is:
debug(machine,name(...) pin(...) pin(...) )