[Gelöst][RTC] - Client Absturz wenn Error im Subscriber

Bild Microsoft Dynamics NAV 2016

[Gelöst][RTC] - Client Absturz wenn Error im Subscriber

Beitragvon elTorito » 6. März 2020 16:34

Hi,

in einem Table Event Subscriber auf T36 wĂĽrde ich gerne im OnBeforeModify, OnBeforeInsert, OnBeforeDelete Abfragen ob der benutzer dies darf,
abhängig von ein boolean in der Benutzer Einrichtung.

Der Fehler kommt wie gewĂĽnscht, aber danach schieĂźt der Client sich weg:

Code: Alles auswählen
LOCAL [EventSubscriber] SalesOrderHeader_OnBeforeModify(VAR Rec : Record "Sales Header";VAR xRec : Record "Sales Header";RunTrigger : Boolean)
CheckSalesOrderPermission(Rec);

LOCAL [EventSubscriber] SalesOrderHeader_OnBeforeDelete(VAR Rec : Record "Sales Header";RunTrigger : Boolean)
CheckSalesOrderPermission(Rec);

LOCAL [EventSubscriber] SalesOrderHeader_OnBeforeInsert(VAR Rec : Record "Sales Header";RunTrigger : Boolean)
CheckSalesOrderPermission(Rec);

LOCAL CheckSalesOrderPermission(VAR SalesOrder : Record "Sales Header")
  IF NOT (SalesOrder."Document Type" IN [SalesOrder."Document Type"::Order]) THEN BEGIN
    EXIT;
  END ELSE BEGIN
    UserSetup.GET(USERID);
    IF NOT UserSetup.GET(USERID) THEN
      ERROR(txtUserSetupNotFound,USERID)
    ELSE BEGIN
      IF UserSetup."Sales Order Read only" THEN
        ERROR(txtUserNotAllowed);
    END;
  END;
END;


Die Meldung NAV Client funktioniert nicht mehr bringt mir folgende Problemdetails:
Problemereignisname: CLR20r3
Problemsignatur 01: Microsoft.Dynamics.Nav.Client
Problemsignatur 02: 9.0.46621.0
Problemsignatur 03: 57a2518a
Problemsignatur 04: Microsoft.Dynamics.Framework.UI
Problemsignatur 05: 9.0.46621.0
Problemsignatur 06: 57a2516e
Problemsignatur 07: 24a9
Problemsignatur 08: 91
Problemsignatur 09: System.NullReferenceException


Bevor ich den Code nun in die Table implementiere wĂĽrde ich gerne wissen was da passiert , bestimmt ein Antipattern erwischt :-?
Hat jemand eine Idee?

Vielen Dank
Zuletzt geändert von elTorito am 6. März 2020 21:26, insgesamt 1-mal geändert.
gruĂź Peter
Die letzten Worte eines Dieselfahrers: "lieber tot als Schub verlieren" Dieselfahrverbot
(Oo)=*=(oO)
Benutzeravatar
elTorito
 
Beiträge: 1044
Registriert: 16. Juni 2006 17:57
Wohnort: Viersen
Realer Name: Peter Karsten
Arbeitsort: Viersen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.60 ... NAV2009 -> NAV2018

Re: [RTC] - Client Absturz wenn Error im Subscriber

Beitragvon fiddi » 6. März 2020 16:44

Hallo,

als erstes würde ich mal abfragen ob der Record TEMPORARAY ist. Denn in NAV werden Records auch mal temporär genutzt. Da sollte man nicht mir irgendwelchen Berechtigungsfehlern dazwischen funken.

Außerdem könnte man deine Abfrage dem System überlassen, indem du entsprechende Berechtigungen vergibst.

Dann solltest du dich entscheiden, ob du UserSetup.Get mit oder ohne IF aufrufen willst. :wink:

Ansonsten kann ich allerdings auch keinen direkten Fehler entdecken.

GruĂź Fiddi
Wer aufhört besser zu werden, hat aufgehört gut zu sein. (frei nach Philip Rosenthal)
Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
fiddi
Moderator
Moderator
 
Beiträge: 7096
Registriert: 9. Juni 2008 10:13
Realer Name: Hans Heinrich Fiddelke
Arbeitsort: Bremen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2.6-aktuell

Re: [RTC] - Client Absturz wenn Error im Subscriber

Beitragvon sweikelt » 6. März 2020 16:48

hi,

was sagt denn der Debugger - springt er ggf. rein?

weiterhin:
Code: Alles auswählen
 UserSetup.GET(USERID);
    IF NOT UserSetup.GET(USERID) THEN

macht keinen Sinn
Benutzeravatar
sweikelt
Microsoft Partner
Microsoft Partner
 
Beiträge: 1781
Registriert: 18. November 2010 10:15
Wohnort: Oschatz
Realer Name: Stephan Weikelt
Arbeitsort: Berlin
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 3-2018 | D365BC

Re: [RTC] - Client Absturz wenn Error im Subscriber

Beitragvon elTorito » 6. März 2020 17:09

Bekommt man es denn mit Zugriffsrechte hin dass man Sales Quote anlegen und bearbeiten kann, aber Sales Order nur lesen?
Auf Table 36 kann man ja nur einmal die Rechte vergeben.

Das Phänomen (Client stürzt ab) tritt übrigens nur auf wenn ich F5 aktualisieren drücke.
Wenn der fehler erscheint und ich ESC drĂĽcke wird gefragt ob die Ă„nderungen verworfen werden sollen und alles ok.

Debugger springt an beim Error, wenn ich danach F5 drĂĽcke ist sofort alles weg.

ISTEMPORARY Abfrage hilft auch nicht.
gruĂź Peter
Die letzten Worte eines Dieselfahrers: "lieber tot als Schub verlieren" Dieselfahrverbot
(Oo)=*=(oO)
Benutzeravatar
elTorito
 
Beiträge: 1044
Registriert: 16. Juni 2006 17:57
Wohnort: Viersen
Realer Name: Peter Karsten
Arbeitsort: Viersen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.60 ... NAV2009 -> NAV2018

Re: [RTC] - Client Absturz wenn Error im Subscriber

Beitragvon fiddi » 6. März 2020 17:33

Brechtigungen könnte man über die Page machen.
Wer aufhört besser zu werden, hat aufgehört gut zu sein. (frei nach Philip Rosenthal)
Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
fiddi
Moderator
Moderator
 
Beiträge: 7096
Registriert: 9. Juni 2008 10:13
Realer Name: Hans Heinrich Fiddelke
Arbeitsort: Bremen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2.6-aktuell

Re: [RTC] - Client Absturz wenn Error im Subscriber

Beitragvon elTorito » 6. März 2020 17:57

Über die Pages ginge es evtl., aber wie? Der User soll Angebote Erstellen können, aber Aufträge nur Durchblättern.

Wenn ich TableData 36 die Permissions CRUD gebe, und die Page 41auch CRUD, und P42 (VK Aufträge) bekommt keine Rechte, kann der Benutzer trotzdem Aufträge anlegen und modifizieren.
Eine Page 0 gibt es nicht
gruĂź Peter
Die letzten Worte eines Dieselfahrers: "lieber tot als Schub verlieren" Dieselfahrverbot
(Oo)=*=(oO)
Benutzeravatar
elTorito
 
Beiträge: 1044
Registriert: 16. Juni 2006 17:57
Wohnort: Viersen
Realer Name: Peter Karsten
Arbeitsort: Viersen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.60 ... NAV2009 -> NAV2018

Re: [RTC] - Client Absturz wenn Error im Subscriber

Beitragvon elTorito » 6. März 2020 19:10

Hmm. Das Problem habe ich nun auch wenn ich den Code in die Tabelle in die OnModify,OnInsert, OnDelete Trigger einfĂĽge .
Vermute langsam mit dem Client stimmt was nicht
gruĂź Peter
Die letzten Worte eines Dieselfahrers: "lieber tot als Schub verlieren" Dieselfahrverbot
(Oo)=*=(oO)
Benutzeravatar
elTorito
 
Beiträge: 1044
Registriert: 16. Juni 2006 17:57
Wohnort: Viersen
Realer Name: Peter Karsten
Arbeitsort: Viersen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.60 ... NAV2009 -> NAV2018

Re: [RTC] - Client Absturz wenn Error im Subscriber

Beitragvon fiddi » 6. März 2020 19:12

Manchmal hilft der gute alte "Compile All"
Wer aufhört besser zu werden, hat aufgehört gut zu sein. (frei nach Philip Rosenthal)
Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
fiddi
Moderator
Moderator
 
Beiträge: 7096
Registriert: 9. Juni 2008 10:13
Realer Name: Hans Heinrich Fiddelke
Arbeitsort: Bremen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2.6-aktuell

Re: [RTC] - Client Absturz wenn Error im Subscriber

Beitragvon elTorito » 6. März 2020 21:26

Bingo!!

Bei Table 6660 gab es nicht Synchrone Metdaten....

Nun funzt die Rechte Abfrage wie gewĂĽnscht, im Subscriber und auch in der Table.

Falls doch noch jemand weiĂź wie man den Fall mit Permissions abbilden kann gerne her damit.

Vielen Dank und schönes Wochenende
gruĂź Peter
Die letzten Worte eines Dieselfahrers: "lieber tot als Schub verlieren" Dieselfahrverbot
(Oo)=*=(oO)
Benutzeravatar
elTorito
 
Beiträge: 1044
Registriert: 16. Juni 2006 17:57
Wohnort: Viersen
Realer Name: Peter Karsten
Arbeitsort: Viersen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.60 ... NAV2009 -> NAV2018


ZurĂĽck zu NAV 2016

Wer ist online?

Mitglieder in diesem Forum: Unbekannter FeedReader, Unbekannter Robot und 1 Gast

cron