Sambapos error message

Hello,
I have recently added a few rules that work perfectly fine. Except that everytime i switch from a TICKET to CUSTOMER SEARCH SCREEN all my buttons disappear and if i type anything in customer search the pos crashes.

However, If i toogles between entity screen then the CUSTOMER SEARCH SCREEN refreshes and the problem is resolved

Can someone please help me figure out the issue here.

My normal screen looks like this:

but when i switch from a TICKET to CUSTOMER SEARCH SCREEN:

Please find below error message:


[General Info]

Application: SambaPOS
Version: 5.2.22
Region: en
DB: SQ
Machine: KITCHEN
User: dell
Date: 11/12/2019
Time: 8:21 PM

User Explanation:

dell said “”

[Exception Info 1]

Top-level Exception
Type: System.NullReferenceException
Message: Object reference not set to an instance of an object.
Source: Samba.Presentation.ClientLibrary
Stack Trace: at Samba.Presentation.ClientLibrary.Modules.EntityModule.EntitySearchResultViewModel.get_NameDisplay() in C:\Users\vehbi\Source\Repos\sambapos-v5-pro\Samba.Presentation.ClientLibrary\Modules\EntityModule\EntitySearchResultViewModel.cs:line 41
at (Object )
at DevExpress.Data.Access.DataListDescriptor.FastPropertyDescriptor.GetValue(Object component)
at DevExpress.Xpf.Grid.SimpleBindingProcessor.GetValue(Object row)
at DevExpress.Xpf.Grid.DisplayMemberBindingCalculator.SimpleBindingStrategy.GetValue(Int32 rowHandle, Int32 listSourceRowIndex)
at DevExpress.Xpf.Grid.DisplayMemberBindingCalculator.GetValue(Int32 rowHandle, Int32 listSourceRowIndex)
at DevExpress.Xpf.Grid.GridControl.DevExpress.Xpf.Data.IDataProviderEvents.GetUnboundData(Int32 listSourceRowIndex, String fieldName, Object value)
at DevExpress.Xpf.Data.GridDataProvider.DevExpress.Data.IDataControllerData.GetUnboundData(Int32 listSourceRow, DataColumnInfo column, Object value)
at DevExpress.Data.Access.UnboundPropertyDescriptor.GetValueFromRowNumber(Int32 rowNumber)
at DevExpress.Data.Access.UnboundPropertyDescriptor.GetValue(Object component)
at DevExpress.Data.Helpers.BaseListDataControllerHelper.GetRowValue(Int32 listSourceRow, Int32 column, OperationCompleted completed)
at DevExpress.Data.DataController.GetRowValue(Int32 controllerRow, Int32 column, OperationCompleted completed)
at DevExpress.Data.BaseListSourceDataController.GetRowValue(Int32 controllerRow, Int32 column, OperationCompleted completed)
at DevExpress.Data.DataController.GetRowValue(Int32 controllerRow, DataColumnInfo column, OperationCompleted completed)
at DevExpress.Xpf.Data.GridDataProvider.GetRowValue(Int32 rowHandle, DataColumnInfo info)
at DevExpress.Xpf.Data.GridDataProvider.GetRowValue(Int32 rowHandle, String fieldName)
at DevExpress.Xpf.Grid.GridControl.GetCellValueCore(Int32 rowHandle, String fieldName)
at DevExpress.Xpf.Grid.Native.VisualDataTreeBuilder.GetCellValue(RowData rowData, String fieldName)
at DevExpress.Xpf.Grid.GridCellData.GetValue()
at DevExpress.Xpf.Grid.GridCellData.UpdateValue(Boolean forceUpdate)
at DevExpress.Xpf.Grid.GridDataBase.OnDataChanged()
at DevExpress.Xpf.Grid.GridColumnData.OnDataChanged()
at DevExpress.Xpf.Grid.GridDataBase.set_Data(Object value)
at DevExpress.Xpf.Grid.Native.VisualDataTreeBuilder.UpdateCellData(RowData rowData, GridCellData cellData, ColumnBase column)
at DevExpress.Xpf.Grid.RowData.UpdateCellData(ColumnBase column, GridColumnData cellData)
at DevExpress.Xpf.Grid.RowData.b__14(ColumnBase col, GridColumnData cellData)
at DevExpress.Xpf.Grid.RowData.IterateNotNullDataCore[TData](Dictionary2 cache, Action2 updateMethod)
at DevExpress.Xpf.Grid.RowData.<>c__DisplayClass5.b__4()
at DevExpress.Xpf.Core.Locker.DoLockedAction(Action action)
at DevExpress.Xpf.Grid.RowData.IterateNotNullData(Action`2 updateMethod)
at DevExpress.Xpf.Grid.RowData.UpdateDataCore(ColumnBase column, Int32 listSourceRowIndex)
at DevExpress.Xpf.Grid.RowData.UpdateData()
at DevExpress.Xpf.Grid.RowData.RefreshData()
at DevExpress.Xpf.Grid.RowData.AssignFrom(RowsContainer parentRowsContainer, NodeContainer parentNodeContainer, RowNode rowNode, Boolean forceUpdate)
at DevExpress.Xpf.Grid.RowData.RowDataReusingStrategy.AssignFrom(RowsContainer parentRowsContainer, NodeContainer parentNodeContainer, RowNode rowNode, Boolean forceUpdate)
at DevExpress.Xpf.Grid.Native.SynchronizationQueues.SynchronizeUnsynchronizedNodes()
at DevExpress.Xpf.Grid.Native.VisualDataTreeBuilder.AfterSynchronization()
at DevExpress.Xpf.Grid.Native.DataTreeBuilder.SynchronizeMasterNode()
at DevExpress.Xpf.Grid.MasterNodeContainer.OnItemsGenerated()
at DevExpress.Xpf.Grid.NodeContainer.GenerateItems(Int32 count)
at DevExpress.Xpf.Grid.MasterNodeContainer.GenerateItems(Int32 count)
at DevExpress.Xpf.Grid.MasterNodeContainer.b__0()
at DevExpress.Xpf.Core.Locker.DoLockedAction(Action action)
at DevExpress.Xpf.Grid.MasterNodeContainer.ReGenerateItemsCore()
at DevExpress.Xpf.Grid.DetailNodeContainer.ReGenerateMasterRootItems()
at DevExpress.Xpf.Grid.DataControlBase.UpdateRowsCore(Boolean updateColumnsViewInfo, Boolean updateDataObjects)
at DevExpress.Xpf.Grid.GridControl.VisualClientUpdater.Update()
at DevExpress.Xpf.Editors.DelegateAction.DevExpress.Xpf.Editors.IAction.Execute()
at DevExpress.Xpf.Editors.ImmediateActionsManager.b__0()
at DevExpress.Xpf.Core.Locker.DoLockedAction(Action action)
at DevExpress.Xpf.Editors.ImmediateActionsManager.ExecuteActions()
at DevExpress.Xpf.Grid.DataPresenterBase.ExecuteImmediateActions()
at DevExpress.Xpf.Grid.DataPresenterBase.OnLayoutUpdated(Object sender, EventArgs e)
at System.Windows.ContextLayoutManager.fireLayoutUpdateEvent()
at System.Windows.ContextLayoutManager.UpdateLayout()
at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)
at System.Windows.Media.MediaContext.InvokeOnRenderCallback.DoWork()
at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
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=1.0.0.0
Samba.Domain, Version=1.0.0.0
Samba.Infrastructure.Data, Version=1.0.0.0
System.ComponentModel.Composition, Version=4.0.0.0
Samba.Presentation.Services, Version=1.0.0.0
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.v16.2, Version=16.2.13.0
System.Xml, Version=4.0.0.0
DevExpress.Xpf.Grid.v16.2, Version=16.2.13.0
DevExpress.Xpf.Grid.v16.2.Core, Version=16.2.13.0
System.Xaml, Version=4.0.0.0
Samba.Infrastructure, Version=1.0.0.0
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.v16.2, Version=16.2.13.0
System.Windows.Forms, Version=4.0.0.0
System.Drawing, Version=4.0.0.0
Samba.Persistance, Version=1.0.0.0
Stateless, Version=1.0.0.0
PropertyTools, Version=2012.4.14.1
Samba.Localization, Version=1.0.0.0
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.v16.2, Version=16.2.13.0
WindowsInput, Version=1.0.4.0


[System Info]

Operating System
-Microsoft Windows 10 Pro
–CodeSet = 1252
–CSDVersion =
–CurrentTimeZone = 240
–FreePhysicalMemory = 7251284
–OSArchitecture = 64-bit
–OSLanguage = 1033
–ServicePackMajorVersion = 0
–ServicePackMinorVersion = 0
–Version = 10.0.17763

Machine
-KITCHEN
–Manufacturer = Dell Inc.
–Model = OptiPlex 790
–TotalPhysicalMemory = 10612686848
–UserName = KITCHEN\dell


You will have to share with us screenshots of the rules you setup.

Hello,
Thanks alot for your reply.

I configured rules for Delivery Address popup.

I have two change ticket entity changed rule for Reservation ticket and Delivery Ticket

Hello,
another screenshot of the error message.

Hello,
I would really appreciate your support with this.

I cant operate with the POS crashing like this

Thanks

Well for one you need to choose Matches all for a couple of those. I am not quite following what you built here. You have chained a lot of automation.

Hello,
Thanks Jesse for you reply.

What do you mean by choose matches all ?

I have configured delivery address pop selection.

Popup is configured with Ticket entity changed event.

Condition is IF deliverAdress tag is empty THEN print to kitchen does not execute. And a message appears.

What I am trying to achieve is that if deliver address is not selected then ticket should not print to kitchen

If you have an easier way if implementing this then I would really appreciate you sharing it with me.

Thanks

Matches is like and SO LONG AS each constraint is different. If you have two similar first parts then that is treated as or.

Ie command=x, tag=y, tag=z would equait to;

command=x AND (tag=y OR tag=z) when using matches

command=x AND tag=y AND tag=z when using matches all.

Thanks alot for the explanation

I’ll try using matches all where possible.

It depends on the rule. Many times it will be the same result where each constraint expression is different other times it needs to be changed where there are similar.
Time is an example it often needs changing.
If you want rule for between 6 and 8 you need matches all with larger than 6 and less than 8 as if its or it’s always one or the other

Agreed…It soley depends on the rule. But going with is hell full of difficulties and uncertainities. Focussing is a primary thing anyhow.