health
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Health] Gnu health Web Client record display problem


From: Edgar Hagenbichler
Subject: Re: [Health] Gnu health Web Client record display problem
Date: Mon, 29 Jan 2018 21:29:16 +0100

Hi all,

Raphael Reumayr (develissimo.com) from Austria found a solution to the problem.

 

THANK YOU VERY MUCH, RAPHAEL!

 

All the best

Edgar

Problem: SAO:  No Records in the browser displayed. While the Tryton-Client displays all records.

Solution: In debugging output one sees:

#################### Version Tryton - Client ##################

[Mon Jan 29 10:13:13 2018] INFO:trytond.protocols.dispatcher:<class 'trytond.pool.party.party'>.search(*([['is_person', '=', True]], 0, 1000, None, {'language_direction': 'ltr', 'date_format': '%d.%m.%Y', 'groups': [1, 4, 3, 6, 10, 8, 7, 9, 5, 2], 'employee': None, 'company.rec_name': 'Impuls', 'company': 1, 'locale': {'grouping': [3, 3, 0], 'decimal_point': ',', 'date': '%d.%m.%Y', 'thousands_sep': '.'}, 'language': 'de'}), **{}) from address@hidden//dbimpuls/
[Mon Jan 29 10:13:13 2018] DEBUG:trytond.protocols.dispatcher:Result: [8, 7, 2, 3]
[Mon Jan 29 10:13:13 2018] INFO:werkzeug:192.168.0.229 - - [29/Jan/2018 10:13:13] "POST /dbimpuls/ HTTP/1.1" 200 -
[Mon Jan 29 10:13:13 2018] INFO:trytond.protocols.dispatcher:<class 'trytond.pool.party.party'>.read(*([8, 2, 3, 7], ['lang', 'code', 'name', 'is_institution', 'is_pharmacy', 'code_readonly', 'is_healthprof', 'is_patient', 'is_insurance_company', 'lastname', 'active', 'is_person', 'replaced_by', 'tax_identifier', 'ref', 'deceased', 'lang.rec_name', 'replaced_by.rec_name', 'tax_identifier.rec_name', 'rec_name', '_timestamp'], {'language_direction': 'ltr', 'date_format': '%d.%m.%Y', 'groups': [1, 4, 3, 6, 10, 8, 7, 9, 5, 2], 'employee': None, 'company.rec_name': 'Impuls', 'company': 1, 'locale': {'grouping': [3, 3, 0], 'decimal_point': ',', 'date': '%d.%m.%Y', 'thousands_sep': '.'}, 'language': 'de'}), **{}) from address@hidden//dbimpuls/
....


#################### Version SAO ###################

[Mon Jan 29 10:13:31 2018] INFO:trytond.protocols.dispatcher:<class 'trytond.pool.party.party'>.search(*([['is_person', '=', True]], 0, 0, None, {'language_direction': 'ltr', 'groups': [1, 4, 3, 6, 5, 2], 'company.rec_name': 'Impuls', 'employee': None, 'company': 1, 'language': None}), **{}) from address@hidden//dbimpuls/
[Mon Jan 29 10:13:31 2018] INFO:trytond.protocols.dispatcher:<class 'trytond.pool.party.party'>.search_count(*([['is_person', '=', True]], {'language_direction': 'ltr', 'groups': [1, 4, 3, 6, 5, 2], 'company.rec_name': 'Impuls', 'employee': None, 'company': 1, 'language': None}), **{}) from address@hidden//dbimpuls/
[Mon Jan 29 10:13:31 2018] DEBUG:trytond.protocols.dispatcher:Result: []
[Mon Jan 29 10:13:31 2018] INFO:werkzeug:192.168.0.245 - - [29/Jan/2018 10:13:31] "POST /dbimpuls/ HTTP/1.0" 200 -
[Mon Jan 29 10:13:31 2018] DEBUG:trytond.protocols.dispatcher:Reset session failed
Traceback (most recent call last):
File "/home/gnuhealth/gnuhealth/tryton/server/trytond-4.2.8/trytond/protocols/dispatcher.py", line 192, in _dispatch
Session.reset(request.authorization.get('session'))
File "/home/gnuhealth/gnuhealth/tryton/server/trytond-4.2.8/trytond/ir/session.py", line 65, in reset
cls.write(sessions, {})
File "/home/gnuhealth/gnuhealth/tryton/server/trytond-4.2.8/trytond/model/modelsql.py", line 937, in write
where=red_sql))
psycopg2.extensions.TransactionRollbackError: could not serialize access due to concurrent update

GRÜN = Wert aus tryton config (record limit)    ROT = das Limit welche von SAO an den trytond übermittelt wird. 0 als Limit liefert 0 Ergebnisse. 

Tryton-Client: Mon Jan 29 10:13:13 2018] INFO:trytond.protocols.dispatcher:<class 'trytond.pool.party.party'>.search(*([['is_person', '=', True]], 0, 1000,

SAO-Web: [Mon Jan 29 10:13:31 2018] INFO:trytond.protocols.dispatcher:<class 'trytond.pool.party.party'>.search(*([['is_person', '=', True]], 0, 0,

Getestet via:

/home/gnuhealth/gnuhealth/tryton/server/trytond-4.2.8/trytond/model# vim modelsql.py

@classmethod
def search(cls, domain, offset=0, limit=None, order=None, count=False,query=False):
if(limit==None):
    raise ValueError('Limit is None! ')
#byRaph
limit=200
pool = Pool()

FUNKTIONIERT + Erkenntnis, ja limit ist tatsächlich auch hier bereits 'None' ~ 0!

Weitere Erkenntnis, trytond ist sicher nicht die Ursache, es wird bereits via Browser so durch SAO-Web übermittelt.

cid:image001.png@01D39940.6EA01D20

Somit müssen wir zusehen, dass der korrekte 'limit' Value von SAO bis zum trytond gelangt!

Lösung/Workaround womit man mal so hoffe ich gut leben kann:

  • in sao/dist alle Files mit 
  • "rm *" löschen
  • vim src/action.js

#ca. bei Line 100 folgendes abändern. (workaround, da wohl action.limit immer zu 0 führt.)
if (action.limit !== null) {
++ params.limit = Sao.config.limit;
-- //params.limit = action.limit;            <= auskommentieren.
} else {
params.limit = Sao.config.limit;
}

Info: mit F5 die Seite neu Laden + natürlich einloggen bevor die Änderungen wirksam werden. Systemctl restart gnuhealth IST NICHT NÖTIG!!!


reply via email to

[Prev in Thread] Current Thread [Next in Thread]