I am getting an error message when I go and cash out the sale. An error message shows up in regards to print job, template, etc.
Application: SambaPOS
Version: 5.3.6
Region: en
DB: SQ
Machine: DESKTOP-89D8A78
User: USER
Date: 10/7/2021
Time: 1:40 PM
User Explanation:
USER said “”
[Exception Info 1]
Top-level Exception
Type: System.NullReferenceException
Message: Object reference not set to an instance of an object.
Source: Samba.Services
Stack Trace: at Samba.Services.ActionProcessors.PrinterModule.ExecutePrintJob.Process(ActionData actionData, RuleExecutionContext context) in C:\Users\Vehbi\Documents\Source\Repos\sambapos-v5-pro\Samba.Services\ActionProcessors\PrinterModule\ExecutePrintJob.cs:line 46
at Samba.Services.Common.RuleActionTypeRegistry.ProcessAction(String actionType, ActionData actionData, RuleExecutionContext context) in C:\Users\Vehbi\Documents\Source\Repos\sambapos-v5-pro\Samba.Services\Common\RuleActionTypeRegistry.cs:line 39
at Samba.Services.Implementations.AutomationModule.AutomationService.ProcessAction(String actionType, ActionData actionData, RuleExecutionContext context) in C:\Users\Vehbi\Documents\Source\Repos\sambapos-v5-pro\Samba.Services\Implementations\AutomationModule\AutomationService.cs:line 42
at Samba.Services.Implementations.AutomationModule.ActionDataBuilder.<>c__DisplayClass13_0.b__0() in C:\Users\Vehbi\Documents\Source\Repos\sambapos-v5-pro\Samba.Services\Implementations\AutomationModule\ActionDataBuilder.cs:line 76
at System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority, CancellationToken cancellationToken, TimeSpan timeout)
at System.Windows.Threading.Dispatcher.Invoke(Action callback)
at Samba.Services.Implementations.AutomationModule.ActionDataBuilder.InvokeWith(AppState appState, RuleExecutionContext context) in C:\Users\Vehbi\Documents\Source\Repos\sambapos-v5-pro\Samba.Services\Implementations\AutomationModule\ActionDataBuilder.cs:line 84
at Samba.Services.Implementations.AutomationModule.RuleExecutor.ExecuteWithoutLogging(Object ruleData) in C:\Users\Vehbi\Documents\Source\Repos\sambapos-v5-pro\Samba.Services\Implementations\AutomationModule\RuleExecutor.cs:line 125
at Samba.Services.Implementations.AutomationModule.RuleExecutor.ExecuteWith(Object dataParameter) in C:\Users\Vehbi\Documents\Source\Repos\sambapos-v5-pro\Samba.Services\Implementations\AutomationModule\RuleExecutor.cs:line 62
at Samba.Services.Implementations.AutomationModule.NotificationService.NotifyEvent(String eventName, Object dataParameter, AppState appState) in C:\Users\Vehbi\Documents\Source\Repos\sambapos-v5-pro\Samba.Services\Implementations\AutomationModule\NotificationService.cs:line 26
at Samba.Services.Implementations.TicketModule.TicketServiceBase.AddPayment(Ticket ticket, PaymentType paymentType, Account account, Decimal amount, Decimal tenderedAmount, String description, AppState appState, Action1 onError) in C:\Users\Vehbi\Documents\Source\Repos\sambapos-v5-pro\Samba.Services\Implementations\TicketModule\TicketServiceBase.cs:line 500 at Samba.Presentation.Services.Implementations.TicketModule.TicketService.AddPayment(Ticket ticket, PaymentType paymentType, Account account, Decimal amount, Decimal tenderedAmount, String description, Action
1 onError)
at Samba.Presentation.ClientLibrary.Modules.PosModule.Payments.PaymentEditor.UpdateTicketPayment(PaymentType paymentType, IList1 changePayments, Account paymentAccount, Decimal paymentDueAmount, Decimal paidAmount, Decimal tenderedAmount, String description) in C:\Users\Vehbi\Documents\Source\Repos\sambapos-v5-pro\Samba.Presentation.ClientLibrary\Modules\PosModule\Payments\PaymentEditor.cs:line 106 at Samba.Presentation.ClientLibrary.Modules.PosModule.Payments.PaymentEditorViewModel.SubmitPaymentAmount(PaymentType paymentType, IList
1 changePayments, Account paymentAccount, Decimal paymentDueAmount, Decimal tenderedAmount, String description) in C:\Users\Vehbi\Documents\Source\Repos\sambapos-v5-pro\Samba.Presentation.ClientLibrary\Modules\PosModule\Payments\PaymentEditorViewModel.cs:line 207
at Samba.Presentation.ClientLibrary.Modules.PosModule.Payments.PaymentEditorViewModel.SubmitPayment(PaymentType paymentType) in C:\Users\Vehbi\Documents\Source\Repos\sambapos-v5-pro\Samba.Presentation.ClientLibrary\Modules\PosModule\Payments\PaymentEditorViewModel.cs:line 162
at Samba.Presentation.ClientLibrary.Modules.PosModule.Payments.PaymentEditorViewModel.OnMakePayment(PaymentType paymentType) in C:\Users\Vehbi\Documents\Source\Repos\sambapos-v5-pro\Samba.Presentation.ClientLibrary\Modules\PosModule\Payments\PaymentEditorViewModel.cs:line 109
at Microsoft.Practices.Prism.Commands.DelegateCommand`1.<>c__DisplayClass6.<.ctor>b__2(Object o)
at Microsoft.Practices.Prism.Commands.DelegateCommandBase.Execute(Object parameter)
at Microsoft.Practices.Prism.Commands.DelegateCommandBase.System.Windows.Input.ICommand.Execute(Object parameter)
at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
[Assembly Info]
mscorlib, Version=4.0.0.0
System, Version=4.0.0.0
Samba.Services, Version=5.3.7816.39267
Samba.Domain, Version=5.3.7816.39266
Samba.Infrastructure.Data, Version=5.3.7816.39266
System.ComponentModel.Composition, Version=4.0.0.0
Samba.Presentation.Services, Version=5.3.7816.39270
System.Core, Version=4.0.0.0
PresentationCore, Version=4.0.0.0
WindowsBase, Version=4.0.0.0
PresentationFramework, Version=4.0.0.0
DevExpress.Xpf.LayoutControl.v17.2, Version=17.2.13.0
System.Xml, Version=4.0.0.0
DevExpress.Xpf.Grid.v17.2, Version=17.2.13.0
DevExpress.Xpf.Grid.v17.2.Core, Version=17.2.13.0
System.Xaml, Version=4.0.0.0
Samba.Infrastructure, Version=5.3.7816.39262
Microsoft.Practices.Prism, Version=4.0.0.0
System.Runtime.Serialization, Version=4.0.0.0
Microsoft.Practices.Prism.MefExtensions, Version=4.0.0.0
DevExpress.Xpf.Core.v17.2, Version=17.2.13.0
System.Windows.Forms, Version=4.0.0.0
System.Drawing, Version=4.0.0.0
Samba.Persistance, Version=5.3.7816.39267
Stateless, Version=1.0.0.0
PropertyTools, Version=2012.4.14.1
Samba.Localization, Version=5.3.7816.39263
ReachFramework, Version=4.0.0.0
EntityFramework, Version=6.0.0.0
FluentValidation, Version=3.4.0.0
NCalc, Version=1.3.8.0
Microsoft.CSharp, Version=4.0.0.0
Omu.ValueInjecter, Version=2.3.0.0
Microsoft.Practices.ServiceLocation, Version=1.0.0.0
DevExpress.Data.v17.2, Version=17.2.13.0
WindowsInput, Version=1.0.4.0
[System Info]
Operating System
-Microsoft Windows 10 Enterprise LTSC
–CodeSet = 1252
–CSDVersion =
–CurrentTimeZone = -240
–FreePhysicalMemory = 5568344
–OSArchitecture = 64-bit
–OSLanguage = 1033
–ServicePackMajorVersion = 0
–ServicePackMinorVersion = 0
–Version = 10.0.17763
Machine
-DESKTOP-89D8A78
–Manufacturer = O.E.M
–Model = RB-P105G6/P105G7
–TotalPhysicalMemory = 8480018432
–UserName = DESKTOP-89D8A78\USER
Now I checked the printer is correct and template looks good as well.
Template
[LAYOUT]
-- General layout
<EC>
<div style="font-size:28px;text-align:center;font-weight:bold;font-family:'Helvetica'">SLIDDERS PIZZA</div>
<div style="font-size:13px;text-align:center;font-family:'Helvetica'">9650 Universal Blvd<br>Orlando<br> Florida 34819<br>(407) 930-3004<br></div>
<div style="font-size:15px;text-align:center;font-weight:bold;font-family:'Helvetica'">Like us on FaceBook.</div>
<div style="margin:0 0 0 0;padding:0 0 0 0;border:3 0 0 0;border-color:black">
<div style="font-size:20px;font-weight:normal;text-align:left;font-family:'Helvetica'">ORDER # {TICKET NO}</div>
<div style="font-size:17px;font-weight:normal;text-align:left;font-family:'Helvetica'">{ENTITIES}</div>
<div style="font-size:17px;font-weight:bold;text-align:left;font-family:'Helvetica'">‌</div>
<div style="font-size:15px;text-align:left;font-family:'Calibri'">{NOTE}</div>
<div style="font-size:25px;font-weight:bold;text-align:right;font-family:'Helvetica'">[Table: [{ENTITY NAME:Table}]]</div>
<div style="margin:0 0 0 0;padding:0 0 0 0;border:1 0 0 0;border-color:black">
<div style="font-size:13px;font-weight:bold;text-align:left;font-family:'Helvetica'">
<table>
<tr>
<td width="25">Qty</td>
<td width="180">Item</td>
<td width="38" align=right>Price</td>
</tr>
</table>
</div>
<div style="margin:0 0 0 0;padding:0 0 0 0;border:1 0 0 0;border-color:black">
{ORDERS}
<div style="font-size:15px;text-align:center;font-family:'Helvetica'"><br/>{TICKET QUANTITY SUM} Item(s)</div>
<div style="font-size:15px;font-weight:bold;text-align:justify;font-family:'Calibri'">
<table>
<tr>
<td align="left">Subtotal</td><td align="right">${PLAIN TOTAL}</td>
</tr>
</table>
</div>
{DISCOUNTS}
[<div style="font-size:15px;font-weight:normal;text-align:justify;font-family:'Calibri'">
<table>
<tr>
<td align="left">Discount</td><td align "right">-${ORDER TAG TOTAL:Seafood & Crab Boil Discount}</td>
</tr>
</table>
</div>]
[<div style="font-size:15px;font-weight:normal;text-align:justify;font-family:'Calibri'">
<table>
<tr>
<td align="left">Line Discount</td><td align "right">-$[=F(TN('{ORDER TAG TOTAL:Discount Item Custom Value}')*-1+TN('{ORDER TAG TOTAL:Price Override}')*-1+TN('{ORDER TAG TOTAL:Discount Item Custom Percent}')*-1,'0.00')]</td>
</tr>
</table>
</div>]
[<div style="font-size:15px;font-weight:normal;text-align:justify;font-family:'Calibri'">
<table>
<tr>
<td align="left">Transaction Discount</td><td align "right">-$[=F(TN('{CALCULATION TOTAL:Discount Ticket Total Percent}')*-1,'0.00')]</td>
</tr>
</table>
</div>]
[<div style="font-size:15px;font-weight:normal;text-align:justify;font-family:'Calibri'">
<table>
<tr>
<td align="left">Staff Discount 10%</td><td align "right">-$[=F(TN('{CALCULATION TOTAL:Staff Discount}')*-1,'0.00')]</td>
</tr>
</table>
</div>]
[<div style="font-size:15px;font-weight:normal;text-align:justify;font-family:'Calibri'">
<table>
<tr>
<td align="left">Owner Discount 100%</td><td align "right">-$[=F(TN('{CALCULATION TOTAL:Manager Discount}')*-1,'0.00')]</td>
</tr>
</table>
</div>]
[<div style="font-size:15px;font-weight:normal;text-align:justify;font-family:'Calibri'">
<table>
<tr>
<td align="left">Loyalty Discount 10%</td><td align "right">-$[=F(TN('{CALCULATION TOTAL:Loyalty Discount}')*-1,'0.00')]</td>
</tr>
</table>
</div>]
[<div style="font-size:15px;font-weight:bold;text-align:justify;font-family:'Calibri'">
<table>
<tr>
<td align="left">Discount Total</td><td align "right">-$[=F(TN('{ORDER TAG TOTAL:Discount Item Custom Value}')*-1+TN('{ORDER TAG TOTAL:Discount Item Custom Percent}')*-1+TN('{ORDER TAG TOTAL:Price Override}')*-1+TN('{CALCULATION TOTAL:Discount Ticket Total Percent}')*-1+TN('{CALCULATION TOTAL:Staff Discount}')*-1+TN('{CALCULATION TOTAL:Manager Discount}')*-1+TN('{CALCULATION TOTAL:Loyalty Discount}')*-1,'0.00')]</td>
</tr>
</table>
</div>
<F>-]
{TAXES}
<div style="font-weight:bold;margin:0 0 0 0;padding:0 0 0 0;border:1 0 0 0;border-color:black">
<div style="font-size:22px;font-weight:bold;text-align:justify;font-family:'Calibri'">
<table>
<tr>
<td align="left">Total</td><td align "right">${TICKET TOTAL}</td>
</tr>
</table>
</div>
{PAYMENTS}
<div style="font-size:15px;font-weight:bold;text-align:justify;font-family:'Calibri'">
<table>
<tr>
<td align="left">Tendered Total</td><td align="right">${TENDERED TOTAL}</td>
</tr>
</table>
</div>
<div style="font-size:15px;font-weight:bold;text-align:justify;font-family:'Calibri'">
<table>
<tr>
<td align="left">Change</td><td align="right">${CHANGE TOTAL}</td>
</tr>
</table>
<table>
<tr>
<td align="left">{TICKET TAG:GCN}</td>
<td align="right">{TICKET TAG:GCB}</td>
</tr>
</table>
</div>
</div>
<F>
<F>
<div style="font-size:15px;font-weight:bold;text-align:center;font-family:'Calibri'">
<L00>Thank You
</div>
<div style="margin:0 0 0 0;padding:0 0 0 0;border:3 0 0 0;border-color:black">
<div style=font-size:13px;text-align:left;font-family:'Calibri'">{TICKET TYPE} via {:CURRENTTERMINAL} {USER NAME}</div>
<div style=font-size:13px;text-align:left;font-family:'Calibri'">{TICKET NO} {TICKET DATE} {TIME}</div>
<table border="1">
bottom of receipt bottom of receipt bottom of receipt bottom of receipt bottom of receipt bottom of receipt
{ENTITIES}
[DISCOUNTS]
<div style="font-size:15px;font-weight:bold;text-align:justify;font-family:'Calibri'">
<table>
<tr>
<td align="left">{CALCULATION NAME} {CALCULATION AMOUNT}%</td><td align="right">${CALCULATION TOTAL}</td>
</tr>
</table>
</div>
[PAYMENTS]
<div style="font-size:15px;font-weight:bold;text-align:justify;font-family:'Calibri'">
<table>
<tr>
<td align="left">{PAYMENT NAME}</td>
<td align="right">${TENDERED}</td>
</tr>
<tr>
<td align="left">{TICKET TAG:GCN}</td>
<td align="right">{TICKET TAG:GCB}</td>
</tr>
</table>
</div>
[ORDERS]
-- Default format for orders
<div style="font-weight:normal;font-size:13px;text-align:right;font-family:'Calibri'">
<table>
<tr>
<td width="25" align=center><span style="font-weight:bold">{QUANTITY}</span></td>
<td width="135" align=left><span style="font-weight:bold">{PRODUCT NAME} {PORTION} {SORTED ORDER TAGS}</span></td>
<td width="38"> ${PRICE}</td>
<td width="5">‌</td>
<td width="38"><span style="font-weight:bold">${TOTAL AMOUNT}</span></td>
</tr>
</table>
</div>
[ORDERS:Gift]
-- Format for gifted orders
<div style="font-weight:normal;font-size:13px;text-align:right;font-family:'Calibri'">
<table>
<tr>
<td width="25" align=center><span style="font-weight:bold">{QUANTITY}</span></td>
<td width="140" align=left><span style="font-weight:bold">{NAME}</span></td>
<td width="45"> ${PRICE}</td>
<td width="1">‌</td>
<td width="40"><span style="font-weight:bold">FREE</span></td>
</tr>
</table>
</div>
{SORTED ORDER TAGS}
[ORDERS:Void]
-- Do not print
[SORTED ORDER TAGS]
-- Format for order tags
[<div style="font-size:12px;text-align:left;font-family:'Calibri'">
<table>
<tr>
<td width="25">***</td>
<td width="190">Line Discount: {ORDER STATE:DStatus}</td>
<td width=45 align=right>-£[=F(TN('{ORDER TAG TOTAL:Discount Item Custom Value}')+TN('{ORDER TAG TOTAL:Discount Item Custom Percent}')*-1),'0.00']</td>
</tr>
</table>
</div>]
[<div style="font-size:10px;text-align:left;font-family:'Calibri'">
<table>
<tr>
<td width="25">***</td>
<td width="190">Price Override: {ORDER STATE:PStatus}</td>
<td width=45 align=right>-£[=F(TN('{ORDER TAG TOTAL:Price Override}')*-1),'0.00']</td>
</tr>
</table>
</div>]
<div style="font-size:13px;text-align:left;font-family:'Calibri'">
<table>
<tr>
<td width="25">‌</td>
<td width="140" align=left>[={ORDER TAG QUANTITY}>1?'{ORDER TAG QUANTITY} x ':'']{ORDER TAG NAME} {ORDER TAG NOTE}</td>
<td width="45" align=right><span style="font-weight:normal">[${ORDER TAG TOTAL PRICE}]</span></td>
<td width="40">{ITEM TAG:Receipt Name} </td>
<td width="40">‌</td>
</tr>
</table>
[TAXES]
<div style="font-size:15px;font-weight:bold;text-align:justify;font-family:'Calibri'">
<table>
<tr>
<td align="left">Tax</td><td align="right">${TAX AMOUNT}</td>
</tr>
</table>
</div>
[ENTITIES:TablesDONOTUSE]
-- Table entity format
<L00>{ENTITY NAME}
[ENTITIES:Customer]
-- Customer entity format
<div>Customer: {ENTITY NAME} {ENTITY DATA:Phone}</div>
Now I looked at the actions and rules but from what I can see it should work but it does not.
Open drawer on cash transaction rule.
Drawer Kick Action.
Any suggestions?