Backoffice Errors

Account List Frozen or Unresponsive resulting in having to terminate Backoffice manually.

Problem / Symptoms:

 

Generally, this issue is encountered when upgrading to 4.6.X.X,

This is caused by an Account that is a Parent of itself.

 

The most common cause is an old import of accounts prior to 4.6 where errors could be made in the Account import process resulting in bugged accounts within Backoffice.

 

 

Diagnosis:

 

There is normally two tell signs that there is an account that does not conform to the rules of accounts.

 

Backoffice is extremely slow on startup and navigation and when checking Task Manager you should notice that Backoffice is using double or triple the amount of memory.

When viewing a full list of 'Sub Accounts' of the Base Account Group or Hide List or Account Profile and the results never show after a period of time. There is an endless loop happening because an Account is a Parent of itself.

  

This can also be seen by profiling the SQL Database. when doing the account group selection as you will see the SQL Profiler will loop the same AccountID over and over until Backoffice is forced to quit.

 

Solution/resolution:

 

The easiest way to fix this issue is to identify the ParentID that is not being listed / Show in Backoffice under the account view

 You can do this by running the following query via SSMS

 

 

 'Select distinct parentid from Account'

 

 

This should generate a list of ParentID's that you can then compare against the account groups displayed in Backoffice.

 

Camden Account Groups

Parent ID

 

select distinct parentid from Account

Christmas 2019

58

 

2

 

 

 

Christmas 2020

1269

 

3

 

 

 

Clubs & Sponsorship

33

 

5

 

 

 

Delivery/Pickup

5

 

8

 

 

 

Deposit

3

 

16

 

 

 

Hump Club

29

 

29

 

 

 

internal Accounts

8

 

33

 

 

 

Members

130

 

58

 

 

 

Senior Management

16

 

99

 

 

 

Staff

2

 

130

 

 

 

Staff Food Accounts

99

 

766

 

 

 

Your order Guests

766

 

776

 

 

 

 

 

 

1269

 

 

 

 

Once you identify the affected ParentID / Account you can simply make a new account group called  'Errored Accounts' and move all the affected accounts to the newly created group

 

update Account

set ParentID = 'NewAccountGroupID'

where parentid = 'ErrorredAccountGroupID (Example 776)'