Druckersteuerung

Bild Microsoft Dynamics NAV 2016

Druckersteuerung

Beitragvon tutter » 19. Januar 2021 23:33

Hallo an alle,

ich habe ein Problem mit der Druckersteuerung. Wir nutzen stark ausgeprägt die Druckerausoptionen.
Somit hat ein Nutzer fĂĽr einen Report einen Drucker hinterlegt.
Nun ist es leider eingetreten das diverse Nutzer zwischen Standorten "springen". In einen anderen Standort ist ein anderer Drucker hinterlegt fĂĽr den selben Report.
So mĂĽsste in den Druckerausoptionen jeweils pro vollzogenen Wechsel der Drucker pro Report ausgetauscht werden.
Die Frequenz der Wechsel ist teilweise sehr hoch. Somit ist das handling nicht möglich.

Am liebsten wĂĽrde ich den Drucker in der passenden Tabelle im SQL Server stets per Skript befĂĽllen aber davon wird stets allgemein abgeraten.
Direkte Nav-Powershell-Befehle habe ich auch nicht gefunden.

Wie würdet oder wie löst ihr das Problem?
tutter
 
Beiträge: 21
Registriert: 12. Januar 2016 15:48

Re: Druckersteuerung

Beitragvon enh » 20. Januar 2021 00:07

Der Anwender könnte ja beim Anmelden seinen Standort eingeben und aufgrunddessen wird die Druckerauswahl entsprechend geändert. Bin in NAV 2016 nicht so firm, da gab es glaube ich noch nicht das Event System an das man sich hängen könnte (OnAfterCompanyOpen oder sowas in der Art). Und in Rollencenter Pages darf man nichts programmieren. Was auf jeden Fall ginge wäre eine Page Action in die Rollencenter Seite zu hängen die das übernimmt, wenn dieser teilautomatisierte Ansatz genügt. Für weitergehende Automatisierung wäre die Frage woran man erkennen kann von welchem Standort aus sich der Anwender anmeldet.
enh
 
Beiträge: 2330
Registriert: 5. Februar 2014 15:42
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: Druckersteuerung

Beitragvon Kowa » 20. Januar 2021 01:25

enh hat geschrieben:Bin in NAV 2016 nicht so firm, da gab es glaube ich noch nicht das Event System […]

NAV 2016 war die erste Version mit Events.
Integration Events in Microsoft Dynamics NAV 2016
GruĂź, Kai

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, Messenger oder Telefon! DafĂĽr ist dieses Forum da.

Download: Dynamics NAV Object Text Explorer (Alternativlink). MVP Alumni
Benutzeravatar
Kowa
Moderator
Moderator
 
Beiträge: 7835
Registriert: 17. Juni 2005 17:32
Wohnort: Bremen
Realer Name: Kai Kowalewski
Arbeitsort: Osterholz-Scharmbeck
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: BC, NAV 2018 bis Navision 2.01

Re: Druckersteuerung

Beitragvon Raik Zobel » 21. Januar 2021 17:45

Hi!

Folgendes wäre möglich:

Du benötigst ein neues Feld in der Printer Selection Tabelle (78). Nennen wir es Location.
Das gleiche Feld benötigst du in der User Setup Tabelle (91).

Der Primärschlüssel der Tabelle 78 müsste um das Location-Feld erweitert werden. (Damit man mehr als einmal BenutzerID='' und Berichts-ID=0 anlegen kann. Nämlich für jeden eigenen Standort. Gepflegt werden die Drucker dann also nicht mehr nach Benutzer-ID, sondern hauptsächlich über die Location. ALso z.B.: Benutzer='', Berichts-ID=0, Standort=Büro, Druckername=A --> Alle Benutzer mit Standort "Büro" im Benutzersetup drucken alle Belege auf Printer A)

Das Feld könnte ein Optionsfeld sein, welches alle Möglichen Standorte enthält oder auch auf eine Hintergrundtabelle zeigen, wo dynamisch Standorte gepflegt werden können. Ich empfehle Zweiteres.
Gib den Benutzern eine Möglichkeit (z.B. über eine eigene BenutzersetupPage) den Wert des Location-Feldes, welches zur Benutzereinrichtungstabelle gehört, einzustellen.

Pflege deine Drucker, zusammen mit den gewĂĽnschten Standorten, in der Tabelle 78.

Passe die Codeunit 1 Function FindPrinter so an, dass erst nach dem im UserSetup hinterlegten Standort gesucht wird. In etwa so:

Code: Alles auswählen
IF NOT PrinterSelection.GET(UserSetup.Location,USERID,ReportID) THEN
  IF NOT PrinterSelection.GET(UserSetup.Location,'',ReportID) THEN
    IF NOT PrinterSelection.GET(UserSetup.Location,USERID,0) THEN
      IF PrinterSelection.GET(UserSetup.Location,'',0) THEN;


Bleibt das Ergebnis leer, könnte jetzt noch die Standardprogrammierung folgen. Aber Achtung: Aufgrund der Primärschlüsseländerung, kannste das nicht mehr mit dem GET machen, sondern eher so:

Code: Alles auswählen
IF NOT FindPrinterByNavStandard(PrinterSelection,USERID,ReportID) THEN
  IF NOT FindPrinterByNavStandard(PrinterSelection,'',ReportID) THEN
    IF NOT FindPrinterByNavStandard(PrinterSelection,USERID,0) THEN
      IF FindPrinterByNavStandard(PrinterSelection,'',0) THEN;


Wobei die FindPrinterByNavStandard dann so ausschaut:

Code: Alles auswählen
FindPrinterByNavStandard(VAR PrinterSelection : Record "Printer Selection";UserID : Code[50];ReportID : Integer) : Boolean

CLEAR(PrinterSelection);

PrinterSelection.SETRANGE("User ID",UserID);
PrinterSelection.SETRANGE("Report ID",ReportID);
IF PrinterSelection.FINDFIRST THEN
  EXIT(TRUE);

EXIT(FALSE)



GrĂĽĂźe
Benutzeravatar
Raik Zobel
 
Beiträge: 279
Registriert: 4. März 2013 13:43
Realer Name: Raik Zobel
Arbeitsort: Leipzig
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.00SP3, 2013R2, 2016

Re: Druckersteuerung

Beitragvon fiddi » 21. Januar 2021 17:54

Hallo,

als einfachstes würde ich erst mal prüfen, ob man den Ausdruck nicht auf den Standarddrucker am Arbeitsplatz de jeweiligen Anwerders machen kann, dann benötigt man gar keine Einrichtung.

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: 7091
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


ZurĂĽck zu NAV 2016

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast