##Widgets
##Cashout Count Report
[Cashout Report:1, 1, 1, 1, 1]
>>Tender|Count|(-Float)|Account|+/-
Cash|[=F(TN('{SETTING:USDcountTotal}'),'0.00')]|[=F(TN('{SETTING:USDcountTotal}')-TN('{SETTING:USDfloat}'),'0.00')]|[=F(TN('{ACCOUNT TOTAL:Cash}'),'0.00')]|[=F(TN('{SETTING:USDcountTotal}')-TN('{SETTING:USDfloat}')-TN('{ACCOUNT TOTAL:Cash}'),'0.00')]
CC|[=F(TN('{SETTING:CCUSDcountTotal}'),'0.00')]|-|[=F(TN('{ACCOUNT TOTAL:Credit Card}'),'0.00')]|[=F(TN('{SETTING:CCUSDcountTotal}')-TN('{ACCOUNT TOTAL:Credit Card}'),'0.00')]
>>TOTALS|Count|(-Float)|Account|+/-
Cash + CC|[=F(TN('{SETTING:CCUSDcountTotal}')+TN('{SETTING:USDcountTotal}'),'0.00')]|[=F( TN('{SETTING:USDcountTotal}')-TN('{SETTING:USDfloat}') + TN('{SETTING:CCUSDcountTotal}'),'0.00')]|[=F(TN('{ACCOUNT TOTAL:Cash}')+TN('{ACCOUNT TOTAL:Credit Card}'),'0.00')]|[=F(TN('{SETTING:USDcountTotal}')-TN('{SETTING:USDfloat}') + TN('{SETTING:CCUSDcountTotal}') - (TN('{ACCOUNT TOTAL:Cash}')+TN('{ACCOUNT TOTAL:Credit Card}'),'0.00')]
##Label Widget Text
<font Consolas><size 12>
x 100 = {CALL:str.pad('{SETTING:USDcount100}','left',5," ")}
x 50 = {CALL:str.pad('{SETTING:USDcount50}','left',5," ")}
x 20 = {CALL:str.pad('{SETTING:USDcount20}','left',5," ")}
x 10 = {CALL:str.pad('{SETTING:USDcount10}','left',5," ")}
x 5 = {CALL:str.pad('{SETTING:USDcount5}','left',5," ")}
x 1 = {CALL:str.pad('{SETTING:USDcount1}','left',5," ")}
-------------
{CALL:str.pad('{SETTING:USDcountTotal}','left',5," ")}
- {CALL:str.pad('{SETTING:USDfloat}','left',5," ")}
-------------
{CALL:str.pad('{SETTING:USDbalance}','left',5," ")}</size></font>
##Automation Command Button Widget Caption
<font Consolas><block 0,0,0,0 #333333 right 30>USD:</block><block 0,0,0,0 #222222 right 80>[=F(TN('{SETTING:USDfloat}'),'0.00')]</block></font>
##JScript
Name:StringFunctions
Handler: str
function pad(s,d,l,c) {
// s : input string
// d : direction - left or right pad
// l : length of output string
// c : pad character (0," ")
// ensure the input is a string, not a number
s = ''+s+'';
var outstring = "";
var padding = "";
// build string padding
padding=Array(l+1).join(c);
// pad the input right or left
if (d=='right') {
outstring = (s+padding).substring(0,padding.length);
} else {
outstring = (padding+s).slice(0-padding.length);
}
return outstring;
}
##Actions
###Update Program Setting
###Execute Automation Command

##Rules
###CO Set USD Count
Name: CO Set USD Count
Event: Automation Command Executed
Constraints:
Execute Rule if Matches
Automation Command Name
Contains CO Set USD Count
CO Set Count Value
CountName: [='USDcount' + TN('[:AutomationCommandName]'.substr(17,3))]
Count: [=[:CommandValue] * TN('[:AutomationCommandName]'.substr(17,3))]
CO Set Count Value
CountName: USDcountTotal
Count: [=TN('{SETTING:USDcount500}')+TN('{SETTING:USDcount100}')+TN('{SETTING:USDcount50}')+TN('{SETTING:USDcount20}')+TN('{SETTING:USDcount10}')+TN('{SETTING:USDcount5}')+TN('{SETTING:USDcount1}')]
CO Set Count Value
CountName: USDbalance
Count: [=TN('{SETTING:USDcountTotal}')-TN('{SETTING:USDfloat}')]
###CO Set Float Value
Name: CO Set Float Value
Event: Automation Command Executed
Constraints:
Execute Rule if Matches
Automation Command Name
Equals CO Set Float Value
CO Set Float Value
FloatName: [:CommandValue]float
Amount: [?Enter Float value for USD;;200;OCN]
CO Set Count Value
CountName: [:CommandValue]balance
Count: [=TN('{SETTING:[:CommandValue]countTotal}')-TN('{SETTING:[:CommandValue]float}')]