SambaPOS 5.2.11 Beta Release

It appears to work fine for me. Can you PM me a backup?

Inventory tag seems to work perfect for setting a barcode and then using that barcode to scan new inventory purchases :smile:

1 Like

What are the names of these new fields?

Thanks,

Somil

Not sure if this is just new in 5.2.11, but the handling of zero price products has changed. This is a bug as you can no longer set a zero priced product to 1.00 price when the amount is entered on the number pad.

EDIT: It is also ignoring any number pad values less than 1, for example 0.01, 0.5, 0.99 are all ignored and the price remains at -

Product:

In v5.2.11 (incorrectly handled):

In v5.2.3 (correctly handled):

3 Likes

@gsreddy thank you very much for the backup. How can I reproduce the issue?

The new field is TSD.<state name>. It gives last state change duration in minutes.

For example TSD.Status gives minutes passed since last Status change. It primarily implemented to find tickets that remained locked for more than 15 minutes but it might be useful for other cases too.

1 Like

I have got the following error now 3 times when making changes to existing Order Tag Groups. I changed the Order Tag Group name, mappings, deleted and added order tags all in one step, then got this error when saving. Repeating the same process again appears to work, so not certain what exactly caused it, but it happened 3 times (not on the same order tag group).

The Order Tag Groups were first imported from another database via Database Tools import.

-----------------------------
[General Info]

Application: SambaPOS
Version:     5.2.11
Region:      en
DB:          SQ
Machine:     MARK-PC
User:        Mark
Date:        19/08/2018
Time:        17:18

User Explanation:

Mark said ""
-----------------------------

[Exception Info 1]

Top-level Exception
Type:        System.Reflection.TargetInvocationException
Message:     Exception has been thrown by the target of an invocation.
Source:      mscorlib
Stack Trace: at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   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)

Inner Exception 1
Type:        System.InvalidOperationException
Message:     The operation failed: The relationship could not be changed because one or more of the foreign-key properties is non-nullable. When a change is made to a relationship, the related foreign-key property is set to a null value. If the foreign-key does not support null values, a new relationship must be defined, the foreign-key property must be assigned another non-null value, or the unrelated object must be deleted.
Source:      EntityFramework
Stack Trace: at System.Data.Entity.Core.Objects.ObjectContext.PrepareToSaveChanges(SaveOptions options)
   at System.Data.Entity.Core.Objects.ObjectContext.SaveChangesInternal(SaveOptions options, Boolean executeInExistingTransaction)
   at System.Data.Entity.Core.Objects.ObjectContext.SaveChanges(SaveOptions options)
   at System.Data.Entity.Internal.InternalContext.SaveChanges()
   at System.Data.Entity.Internal.LazyInternalContext.SaveChanges()
   at System.Data.Entity.DbContext.SaveChanges()
   at Samba.Infrastructure.Data.SqlData.EFWorkspace.CommitChanges()
   at Samba.Presentation.Common.ModelBase.EntityCollectionViewModelBase`2.<.ctor>b__0_3(EventParameters`1 x)
   at Microsoft.Practices.Prism.Events.EventSubscription`1.InvokeAction(Action`1 action, TPayload argument)
   at Microsoft.Practices.Prism.Events.EventSubscription`1.<>c__DisplayClass2.<GetExecutionStrategy>b__0(Object[] arguments)
   at Microsoft.Practices.Prism.Events.EventBase.InternalPublish(Object[] arguments)
   at Microsoft.Practices.Prism.Events.CompositePresentationEvent`1.Publish(TPayload payload)
   at Samba.Presentation.Services.Common.ExtensionMethods.Publish[TEventsubject](TEventsubject eventArgs, String eventTopic, Action expectedAction)

-----------------------------

[Assembly Info]

mscorlib, 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
DevExpress.Xpf.LayoutControl.v16.2, Version=16.2.6.0
System.Xml, Version=4.0.0.0
DevExpress.Xpf.Grid.v16.2, Version=16.2.6.0
System, Version=4.0.0.0
DevExpress.Xpf.Grid.v16.2.Core, Version=16.2.6.0
WindowsBase, Version=4.0.0.0
System.Xaml, Version=4.0.0.0
PresentationFramework, 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.6.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
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.6.0
NCalc, Version=1.3.8.0
WindowsInput, Version=1.0.4.0

-----------------------------

[System Info]

Operating System
-Microsoft Windows 10 Pro
--CodeSet = 1252
--CSDVersion = 
--CurrentTimeZone = 60
--FreePhysicalMemory = 8040156
--OSArchitecture = 64-bit
--OSLanguage = 2057
--ServicePackMajorVersion = 0
--ServicePackMinorVersion = 0
--Version = 10.0.17134

Machine
-MARK-PC
--Manufacturer = Gigabyte Technology Co., Ltd.
--Model = To be filled by O.E.M.
--TotalPhysicalMemory = 17068531712
--UserName = Mark-PC\Mark

-----------------------------


@VehbiEmiroglu why we’re ignoring 1 here?

I’ll be glad to know if you can find a reproducible path.

I tried, but every time it worked second time. It appeared to only happen the first time I edited the order tag group in the new database, which makes me think it may have been related to something invalid that was imported?

@emre I’ve enabled detailed logging for the database while I make more changes to order tags, I assume you can get more details from the steps from your logging server then?

I’m afraid logging won’t give a clue about the reason of the issue. I don’t know how can I explain that but It looks like an issue related with deleting order tags in a specific way. For example in an unexpected order of operations.

Edit: I checked it but Imported tags does not have something different than manually inserted tags. That is probably an unhandled combination of editing / cloning / deleting of order tags.

Edit2: I’m still trying to reproduce that. That error message means a child item remained parentless. It is probably an order tag but mappings may also be the reason of that error. Error message does not give enough detail.

1 Like

One of the example :Add juice to order you will notice the issue

1 Like

Oh OK, seems like I already solved it (partly) while fixing something else, that’s why I didn’t noticed it at first look. It greatly helped me to find another potential bug. Thank you very much. It will work fine on next update.

1 Like

I don’t understand. May be we look this in to a DB backup. Something different from our DB’s. @markjw Can you send us ?

@VehbiEmiroglu it does the same thing for me. We don’t need a backup.

Normally we expect quantity to be null when order added through graphql. SambaPOS determines the quantity. If user types a quantity (1 or something else) on numberpad we set that value as quantity. For zero priced products we use that value as price. However in sourcecode I saw an addition that checks the quantity and use it as price if value is greater than 1. Do you remember why we did that change?

It will work fine on next update. Also added a new feature to add multiple zero priced products by using X separator.

2018-08-20_13-44-56

1 Like

I uploaded new version of Beta 5.2.11. @markjw Especially this order tag problem. Please update and give feedback. Thanks.

2 Likes

Here I posted a small example for updateEntity.

2 Likes

Regarding this request:

I added <height x>content<height> tags to format individual button heights.

For example I can change settle button Header.

and it appears like…

PS: May not work for all buttons but fulfills the original request.

4 Likes

Thanks emre!! And thanks for all the updates and big fixes your working through so quick!!

Feels like the forums back again :grinning:

7 Likes