Ausdruck trotz AUFTRAG_JN=N, LIEFERUNG_JN=N (erl.)
Moderator: SYNERPY
-
- Beiträge: 589
- Registriert: Mi Apr 16, 2008 7:51 am
Ausdruck trotz AUFTRAG_JN=N, LIEFERUNG_JN=N (erl.)
Hallo
Das System reagiert im Moment folgendermaßen, getestet mit AvERP2008-A.14 und AvERP2009-A.06 ...
Falls beim Kunden eingestellt ist, dass keine Aufträge mehr erstellt werden dürfen (BKUNDE.AUFTRAG_JN = N), dann wird diese Info dem Sachbearbeiter beim Anlegen eines neuen Auftrags angezeigt. Nichtsdestotrotz kann ein Auftrag angelegt und im Original ausgedruckt werden.
Falls beim Kunden eingestellt ist, dass keine Lieferscheine mehr erstellt werden dürfen (BKUNDE.LIEFERSCHEIN_JN = N), dann wird diese Info dem Sachbearbeiter beim per-Hand-Anlegen eines neuen Lieferscheins angezeigt und das Anlegen des Lieferscheins abgebrochen. Nichtsdestotrotz ignoriert das Utility "Lieferschein erzeugen" leider die entsprechende Einstellung und legt unbeirrt Lieferscheine an.
Zudem kann es passieren, dass ein Kunde keine Lieferungen mehr erhalten darf, aber ein offener Lieferschein im System angelegt ist (z.B. über o.g. Utility). Momentan kann dann ein Original-Lieferschein ausgedruckt werden, und erst nach der Abfrage "War der Ausdruck OK ?" und der Antwort "J" kommt von der Datenbank eine Fehlermeldung Aber dann hält der Sachbearbeiter schon einen Original-Lieferschein in der Hand. Die Fehlermeldung ist dann schnell vergessen ...
Hier wäre es doch wohl besser, den Ausdruck an dieser Stelle z.B. nur als Testdruck zuzulassen. Dann könnte kein Mitarbeiter einen "unerlaubten" Auftrag / Lieferschein ausdrucken, selbst wenn dieser schon im System angelegt ist.
Dafür allerdings eine Nachfrage: Wie / wo kann man in AvERP grundsätzlich eine solche Abfrage vor einem Ausdruck einprogrammieren ?
Das System reagiert im Moment folgendermaßen, getestet mit AvERP2008-A.14 und AvERP2009-A.06 ...
Falls beim Kunden eingestellt ist, dass keine Aufträge mehr erstellt werden dürfen (BKUNDE.AUFTRAG_JN = N), dann wird diese Info dem Sachbearbeiter beim Anlegen eines neuen Auftrags angezeigt. Nichtsdestotrotz kann ein Auftrag angelegt und im Original ausgedruckt werden.
Falls beim Kunden eingestellt ist, dass keine Lieferscheine mehr erstellt werden dürfen (BKUNDE.LIEFERSCHEIN_JN = N), dann wird diese Info dem Sachbearbeiter beim per-Hand-Anlegen eines neuen Lieferscheins angezeigt und das Anlegen des Lieferscheins abgebrochen. Nichtsdestotrotz ignoriert das Utility "Lieferschein erzeugen" leider die entsprechende Einstellung und legt unbeirrt Lieferscheine an.
Zudem kann es passieren, dass ein Kunde keine Lieferungen mehr erhalten darf, aber ein offener Lieferschein im System angelegt ist (z.B. über o.g. Utility). Momentan kann dann ein Original-Lieferschein ausgedruckt werden, und erst nach der Abfrage "War der Ausdruck OK ?" und der Antwort "J" kommt von der Datenbank eine Fehlermeldung Aber dann hält der Sachbearbeiter schon einen Original-Lieferschein in der Hand. Die Fehlermeldung ist dann schnell vergessen ...
Hier wäre es doch wohl besser, den Ausdruck an dieser Stelle z.B. nur als Testdruck zuzulassen. Dann könnte kein Mitarbeiter einen "unerlaubten" Auftrag / Lieferschein ausdrucken, selbst wenn dieser schon im System angelegt ist.
Dafür allerdings eine Nachfrage: Wie / wo kann man in AvERP grundsätzlich eine solche Abfrage vor einem Ausdruck einprogrammieren ?
Zuletzt geändert von Geri12 am Fr Aug 14, 2009 8:58 am, insgesamt 1-mal geändert.
Gruß
Geri12
Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
Geri12
Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
Guten Morgen,
die Einstellung Auftrag J/N unterbindet den Wechsel vom Angebot zum Auftrag.
In der "Auftragsverwaltung" findet diese Prüfung im Gegensatz zur "Angebots- und Auftragsverwaltung"nicht statt.
Einen Originaldruck ggf. folgendermassen unterbinden:
Auswahl Testdruck J/N im OnFormShow abhängig von BKUNDE.AUFTRAG_JN = 'N' mit 'J' und enabled := false vorbelegen.
Gruß
die Einstellung Auftrag J/N unterbindet den Wechsel vom Angebot zum Auftrag.
In der "Auftragsverwaltung" findet diese Prüfung im Gegensatz zur "Angebots- und Auftragsverwaltung"nicht statt.
Einen Originaldruck ggf. folgendermassen unterbinden:
Auswahl Testdruck J/N im OnFormShow abhängig von BKUNDE.AUFTRAG_JN = 'N' mit 'J' und enabled := false vorbelegen.
Gruß
-
- Beiträge: 589
- Registriert: Mi Apr 16, 2008 7:51 am
Hallo SYN26,
vielen Dank für Ihre Antwort.
... ja wenn ich denn wüsste , wie ich im OnFormShow an die BKUNDE_ID herankomme, um folgende Abfrage zu starten ...Die selbe Art an die BKUNDE_ID heranzukommen wie ich es in einer Maske mache funktioniert beim Ausdruck doch nicht. Oder stehe ich hier nur irgendwo auf dem Schlauch ?
Geht das über die Eigenschft sLoopProcedure ?
Könnten Sie mir hier bitte ein kurzes Beispiel geben, wie das zu lösen ist, in der Programmierdokumentation habe ich leider nichts gefunden ?!
vielen Dank für Ihre Antwort.
Und Aufträge per Hand anlegen ? Und ausdrucken ? Hier scheint mir die Logik nicht durchgängig, da sollte in meinen Augen dann wirklich alles geblockt werden.die Einstellung Auftrag J/N unterbindet den Wechsel vom Angebot zum Auftrag. In der "Auftragsverwaltung" findet diese Prüfung im Gegensatz zur "Angebots- und Auftragsverwaltung"nicht statt.
Genau so würde ich auch vorgehen, wenn ...Einen Originaldruck ggf. folgendermassen unterbinden:
Auswahl Testdruck J/N im OnFormShow abhängig von BKUNDE.AUFTRAG_JN = 'N' mit 'J' und enabled := false vorbelegen.
... ja wenn ich denn wüsste , wie ich im OnFormShow an die BKUNDE_ID herankomme, um folgende Abfrage zu starten ...
Code: Alles auswählen
iBKUNDE_ID := ???; // WIE KOMME ICH AN DIE HERAN ?
sLIEFERUNG_JN := sNein;
//
mySQL := FrmData.Universal;
mySQL.SQL.Text := 'SELECT LIEFERUNG_JN '+
'FROM BKUNDE '+
'WHERE ID = :BKUNDE_ID';
mySQL.ParamByName('BKUNDE_ID',iBKUNDE_ID);
mySQL.Open();
sLIEFERUNG_JN := AsString(mySQL.FieldByName('LIEFERUNG_JN'));
mySQL.Close();
//
MASKEDIT_1.Text := sJa; // Testdruck = J
MASKEDIT_1.enabled := false; // Eingabe gesperrt
//
if (sLIEFERUNG_JN = sJa) then
MASKEDIT_1.enabled := true;
Geht das über die Eigenschft sLoopProcedure ?
Könnten Sie mir hier bitte ein kurzes Beispiel geben, wie das zu lösen ist, in der Programmierdokumentation habe ich leider nichts gefunden ?!
Gruß
Geri12
Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
Geri12
Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
Hallo
wird im nächsten Release parametrisiert werden müssen.
Den Kunden lesen Sie aus der zugrundeliegenden View aus:
Gruß
wird im nächsten Release parametrisiert werden müssen.
Den Kunden lesen Sie aus der zugrundeliegenden View aus:
Code: Alles auswählen
B := lbFormName.Caption;
Z := Application.FindComponent(B);
iBKUNDE_ID := AsInteger(z.Q_1.FieldByName('BKUNDE_ID_KUNR'));
sLIEFERUNG_JN := sNein;
//
mySQL := FrmData.Universal;
mySQL.SQL.Text := 'SELECT LIEFERUNG_JN '+
...
-
- Beiträge: 589
- Registriert: Mi Apr 16, 2008 7:51 am
Hallo SYN26,
an den Seriendruck habe ich auch schon (mit schlechtem Gewissen) gedacht. Zum Glück macht das bei uns niemand, aber auf jeden Fall wäre es erst dann vollständig, wenn es auch dort abgefangen würde. Aber Sie wissen ja, wie das ist - wenn der Ausdruck ohne vorherige Ankündigung nur als Testdruck erscheint, dann ist die Auftregung wieder mal groß.
Andererseits könnte man in dem Fall ja ein Textobjekt ausdrucken, in dem steht, dass DIESER Ausdruck eigentlich gar nicht laufen dürfte
an den Seriendruck habe ich auch schon (mit schlechtem Gewissen) gedacht. Zum Glück macht das bei uns niemand, aber auf jeden Fall wäre es erst dann vollständig, wenn es auch dort abgefangen würde. Aber Sie wissen ja, wie das ist - wenn der Ausdruck ohne vorherige Ankündigung nur als Testdruck erscheint, dann ist die Auftregung wieder mal groß.
Andererseits könnte man in dem Fall ja ein Textobjekt ausdrucken, in dem steht, dass DIESER Ausdruck eigentlich gar nicht laufen dürfte
Gruß
Geri12
Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
Geri12
Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
-
- Beiträge: 589
- Registriert: Mi Apr 16, 2008 7:51 am
Hallo,
nur der Vollständigkeit halber, falls es jemand einbauen möchte ...
Bei uns habe ich die Abfrage gleich auf das Feld FAKTSPERRE mit ausgedehnt, aber das ist auch schnell wieder rausgestrichen
Ausdruck FRDCMAUSMB_B, OnFormShow (ganz an den Schluß setzen)
Ausdruck FRDCMLISMB, OnFormShow (ganz an den Schluß setzen)
FRUBAUF_NACH_BRLS (= Utility "Lieferschein erstellen")
-> In PROC0001 ist schon alles einprogrammiert, aber ausgeREMt, also die Auskommentierungszeichen einfach entfernen
FRUBAUF_NACH_BRRCP (= Utility "Lieferschein und Rechnung erstellen")
-> dito (entweder ebenfalls freischalten oder den entspr. Block von FRUBAUF_NACH_BRLS hierhin kopieren)
FRUBAUF_ANG_AUFT (= Utility "Angebot -> separater Auftrag")
-> auch hier in PROC0001 entspr. einbauen
FRMV_BAUF_B_ (= Maske "Auftragsverwaltung")
-> in PROC0011 entspr. einbauen
Zu den letzten beiden kann ich Euch leider keinen Quellcode mehr mitgeben, da habe ich schon zu viel erweitert und es wäre sehr mühsam, das alles nochmals auseinander zu klamüsern ...
nur der Vollständigkeit halber, falls es jemand einbauen möchte ...
Bei uns habe ich die Abfrage gleich auf das Feld FAKTSPERRE mit ausgedehnt, aber das ist auch schnell wieder rausgestrichen
Ausdruck FRDCMAUSMB_B, OnFormShow (ganz an den Schluß setzen)
Code: Alles auswählen
B := lbFormName.Caption;
Z := Application.FindComponent(B);
iBKUNDE_ID := AsInteger(z.Q_1.FieldByName('BKUNDE_ID_KUNR'));
sAUFTRAG_JN := sNein;
sFAKTSPERRE := sJa;
//
my2SQL := FrmData.Universal;
my2SQL.SQL.Text := 'SELECT AUFTRAG_JN, FAKTSPERRE '+
'FROM BKUNDE '+
'WHERE ID = :BKUNDE_ID';
my2SQL.ParamByName('BKUNDE_ID',iBKUNDE_ID);
my2SQL.Open();
sAUFTRAG_JN := AsString(my2SQL.FieldByName('AUFTRAG_JN'));
sFAKTSPERRE := AsString(my2SQL.FieldByName('FAKTSPERRE'));
my2SQL.Close();
//
if ((sAUFTRAG_JN = sNein) OR (sFAKTSPERRE = sJa)) then
begin
MessageBox('Dieser Kunde ist für Aufträge / Auftragsdrucke gesperrt !',Self.Caption,0+64);
Self.Close();
end;
Code: Alles auswählen
B := lbFormName.Caption;
Z := Application.FindComponent(B);
iBKUNDE_ID := AsInteger(z.Q_1.FieldByName('BKUNDE_ID_LINKKEY'));
sLIEFERUNG_JN := sNein;
sFAKTSPERRE := sJa;
//
my2SQL := FrmData.Universal;
my2SQL.SQL.Text := 'SELECT LIEFERUNG_JN, FAKTSPERRE '+
'FROM BKUNDE '+
'WHERE ID = :BKUNDE_ID';
my2SQL.ParamByName('BKUNDE_ID',iBKUNDE_ID);
my2SQL.Open();
sLIEFERUNG_JN := AsString(my2SQL.FieldByName('LIEFERUNG_JN'));
sFAKTSPERRE := AsString(my2SQL.FieldByName('FAKTSPERRE'));
my2SQL.Close();
//
if ((sLIEFERUNG_JN = sNein) OR (sFAKTSPERRE = sJa)) then
begin
MessageBox('Dieser Kunde ist für Lieferscheine / Lieferscheindrucke gesperrt !',Self.Caption,0+64);
Self.Close();
end;
-> In PROC0001 ist schon alles einprogrammiert, aber ausgeREMt, also die Auskommentierungszeichen einfach entfernen
FRUBAUF_NACH_BRRCP (= Utility "Lieferschein und Rechnung erstellen")
-> dito (entweder ebenfalls freischalten oder den entspr. Block von FRUBAUF_NACH_BRLS hierhin kopieren)
FRUBAUF_ANG_AUFT (= Utility "Angebot -> separater Auftrag")
-> auch hier in PROC0001 entspr. einbauen
FRMV_BAUF_B_ (= Maske "Auftragsverwaltung")
-> in PROC0011 entspr. einbauen
Zu den letzten beiden kann ich Euch leider keinen Quellcode mehr mitgeben, da habe ich schon zu viel erweitert und es wäre sehr mühsam, das alles nochmals auseinander zu klamüsern ...
Gruß
Geri12
Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
Geri12
Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14