End of day reconciliation

##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}')]

4 Likes