Reklamationsformular beschädigt?
Moderator: SYNERPY
-
- Beiträge: 77
- Registriert: Do Okt 18, 2007 9:00 am
- Wohnort: Senden
Reklamationsformular beschädigt?
Hallo zusammen,
Noch ein eher lästiges Problem:
Beim Anlegen von Reklamationen (V_BREKL) passiert beim Verlassen des Feldes Projektnummer daß das Feld Lieferadresse mit der Projektnummer gefüllt wird. . Fast unnötig zu erwähnen daß es natürlich keine Adresse mit dieser Nummer gibt. Weiterhin ist das Formular unwillig zu erkennen, dass die eingegebene Projektposition schon vorhanden ist und macht dann immer den Projektpositionsdialog auf. Dort ist das Projekt und die Projektposition beim Suchen derselbigen auch problemlos gefunden worden. In anderen Formularen (z.B. Angebot) funktioniert es tadellos. Vielleicht ist auch nur diese Fromular verwanzt.
Noch ein wenig zum Hintergrund: Wir haben für jedes Projekt mittels einer Vorlage mehrere Positionen angelegt um bestimmte Bereiche wie Neuanlage (10), Ersatzteilgeschäft(100), Reklamation(800), etc. separat erfassen zu können.
Ich hoffe ich habe mich halbwegs verständlich ausgedrückt; nach zwei Tagen probiererei an desem Problem wird man .
Danke im Voraus für Rettung in der Not.
Euer Dirk
Noch ein eher lästiges Problem:
Beim Anlegen von Reklamationen (V_BREKL) passiert beim Verlassen des Feldes Projektnummer daß das Feld Lieferadresse mit der Projektnummer gefüllt wird. . Fast unnötig zu erwähnen daß es natürlich keine Adresse mit dieser Nummer gibt. Weiterhin ist das Formular unwillig zu erkennen, dass die eingegebene Projektposition schon vorhanden ist und macht dann immer den Projektpositionsdialog auf. Dort ist das Projekt und die Projektposition beim Suchen derselbigen auch problemlos gefunden worden. In anderen Formularen (z.B. Angebot) funktioniert es tadellos. Vielleicht ist auch nur diese Fromular verwanzt.
Noch ein wenig zum Hintergrund: Wir haben für jedes Projekt mittels einer Vorlage mehrere Positionen angelegt um bestimmte Bereiche wie Neuanlage (10), Ersatzteilgeschäft(100), Reklamation(800), etc. separat erfassen zu können.
Ich hoffe ich habe mich halbwegs verständlich ausgedrückt; nach zwei Tagen probiererei an desem Problem wird man .
Danke im Voraus für Rettung in der Not.
Euer Dirk
-
- Beiträge: 95
- Registriert: Do Aug 23, 2007 1:54 pm
Sehr geehrter Herr Tiefenbach,
zur Korrektur der Vorbelegung der abw. Lieferadresse des Lieferanten aus der Projektnummer spielen Sie bitte dieses Skript in Ihre Datenbank ein.
Für die Behebung des zweiten Problems müßten Sie mir Ihre Datenbankversion (AVERP - Hauptemenü -> Hilfe -> Info -> GDB-Version) nennen.
Gruß,
Syn20
zur Korrektur der Vorbelegung der abw. Lieferadresse des Lieferanten aus der Projektnummer spielen Sie bitte dieses Skript in Ihre Datenbank ein.
Für die Behebung des zweiten Problems müßten Sie mir Ihre Datenbankversion (AVERP - Hauptemenü -> Hilfe -> Info -> GDB-Version) nennen.
Gruß,
Syn20
-
- Beiträge: 77
- Registriert: Do Okt 18, 2007 9:00 am
- Wohnort: Senden
Hallo,
Danke für die schnelle Antwort. Repariert das Skript das Formular oder/und bereinigt es die Einträge in der Datenbank (wäre nicht nötig da wir diese falsche Lieferadresse immer von Hand löschen bevor wir speichern können da es diese "Adresse" ja nicht gibt)?
Unsere Datenbankversion: AVERP2009-A.07
Danke
Dirk
Danke für die schnelle Antwort. Repariert das Skript das Formular oder/und bereinigt es die Einträge in der Datenbank (wäre nicht nötig da wir diese falsche Lieferadresse immer von Hand löschen bevor wir speichern können da es diese "Adresse" ja nicht gibt)?
Unsere Datenbankversion: AVERP2009-A.07
Danke
Dirk
-
- Beiträge: 95
- Registriert: Do Aug 23, 2007 1:54 pm
Sehr geehrter Herr Tiefenbach,
es ist möglich, dass durch manuelles Anpassen der Projektpositionsnummer, die führenden Leerzeichen der laufenden Nummer gelöscht werden. Dies würde die von Ihnen beschriebenen Probleme, allerdings auch in Masken wie Angebot / Auftrag, verursachen.
Prüfen Sie deshalb bitte die Projekt-Pos.-Nr. der Position(en), die Sie in der Reklamationsverwaltung zuweisen wollen.
Gruß,
Syn20
es ist möglich, dass durch manuelles Anpassen der Projektpositionsnummer, die führenden Leerzeichen der laufenden Nummer gelöscht werden. Dies würde die von Ihnen beschriebenen Probleme, allerdings auch in Masken wie Angebot / Auftrag, verursachen.
Prüfen Sie deshalb bitte die Projekt-Pos.-Nr. der Position(en), die Sie in der Reklamationsverwaltung zuweisen wollen.
Gruß,
Syn20
-
- Beiträge: 77
- Registriert: Do Okt 18, 2007 9:00 am
- Wohnort: Senden
Wieder danke für die schnelle Antwort.
Leider hat beides nicht geholfen:
Das Skript habe ich eingespielt, aber es wird jetz die Projektnummer beim Verlassen des Feldes in die Lieferscheinnummer kopiert.
Die Positionsnummer habe ich geprüft, die sind alle mit den entsprechenden Leerzeichen vorab. Es funktioniert gar keine Positionsnummer, egal welche ich nehme. In der Angebotsverwaltung ist es mit meiner Positionsnummer kein Problem.
Was kann ich tun um dem Problem auf die Spur zu kommen? Sollte ich im Designer was prüfen? Und wenn ja, wo in dem Formular? Oder das ganze Fromular ersetzen?
Ich bin ratlos
Danke
Dirk
Leider hat beides nicht geholfen:
Das Skript habe ich eingespielt, aber es wird jetz die Projektnummer beim Verlassen des Feldes in die Lieferscheinnummer kopiert.
Die Positionsnummer habe ich geprüft, die sind alle mit den entsprechenden Leerzeichen vorab. Es funktioniert gar keine Positionsnummer, egal welche ich nehme. In der Angebotsverwaltung ist es mit meiner Positionsnummer kein Problem.
Was kann ich tun um dem Problem auf die Spur zu kommen? Sollte ich im Designer was prüfen? Und wenn ja, wo in dem Formular? Oder das ganze Fromular ersetzen?
Ich bin ratlos
Danke
Dirk
-
- Beiträge: 95
- Registriert: Do Aug 23, 2007 1:54 pm
Sehr geehrter Herr Tiefenbach,
das Skript wurde aktualisiert. Der Kontext, der in unserem aktuellen Datenbankstand für die Projektposition verwendet, wird war bei Ihnen schon belegt. Bitte laden Sie das Skript erneut über den oben genannten Link.
Bitte prüfen Sie des weiteren folgendes:
1. Das OnExit Event des Felds E_BPROJPO_MASKENKEY sollte folgenden Code enthalten:
2. die Domain des Felds BPROJPO_MASKENKEY der View V_BREKL sollte D_MASKENKEY_10R sein.
Gruß,
Syn20
das Skript wurde aktualisiert. Der Kontext, der in unserem aktuellen Datenbankstand für die Projektposition verwendet, wird war bei Ihnen schon belegt. Bitte laden Sie das Skript erneut über den oben genannten Link.
Bitte prüfen Sie des weiteren folgendes:
1. Das OnExit Event des Felds E_BPROJPO_MASKENKEY sollte folgenden Code enthalten:
Code: Alles auswählen
// LS: 2010-03-04 PF
BPROJPO_ID := AsInteger(Q_1.FieldByName('BPROJPO_ID'));
// Status der Position
if ((E_BPROJPO_MASKENKEY.Field.AsString <> E_BPROJPO_MASKENKEY.Field.OldAsString) and (BPROJPO_ID > 0)) then
begin
MySQL := frmData.Universal;
MySQL.SQL.Text := 'SELECT STATUS FROM BPROJPO WHERE ID = :BPROJPO_ID';
MySQL.ParamByName('BPROJPO_ID', BPROJPO_ID);
MySQL.open();
sSTATUS := AsString(MySQL.FieldByName('STATUS'));
MySQL.close();
if (sSTATUS = 'TF') then
begin
if (messagebox(LB_STATUSTF.caption, self.caption, 4+256) <> 6) then
begin
MyFeld := q_1.FieldByName('BPROJPO_ID');
MyFeld.AsInteger := 0;
q_1.RelationIDFeld('BPROJPO_ID');
end;
end;
end;
Gruß,
Syn20
-
- Beiträge: 77
- Registriert: Do Okt 18, 2007 9:00 am
- Wohnort: Senden
Hallo,
das geht ja wirklich super schnell hier. Erstmal Danke dafür.
Das mit dem Skript habe ich gemacht und das scheint zu funktionieren. Super.
Allerdings sieht mein OnExit Event aber deutlich anders aus:
Ihre Prozedur ist von 2010 das kann ja eigentlich in dieser "alten" Version der Datenbank nicht drin sein.
Die Domain von BPROJPO_MASKENKEY stimmt.
Sollte ich die Prozedur mit Ihrer neuen Variante überschreiben?
Es bleibt spannend, aber es geht voran.
Danke
Dirk
das geht ja wirklich super schnell hier. Erstmal Danke dafür.
Das mit dem Skript habe ich gemacht und das scheint zu funktionieren. Super.
Allerdings sieht mein OnExit Event aber deutlich anders aus:
Code: Alles auswählen
Begin
// LS: 2008-10-01 HS
sJa := copy(frmdata.sJaNein,1,1);
iBMAND_ID := AsInteger(q_1.FieldByName('BMAND_ID'));
iBPROJ_ID := AsInteger(q_1.FieldByName('BPROJPO_BPROJ_ID'));
MySQL := frmData.Universal;
MySQL.SQL.Text := 'SELECT AUTOPROJPOS FROM BMAND WHERE ID = :BMAND_ID';
MySQL.ParamByName('BMAND_ID', iBMAND_ID);
MySQL.open();
sAUTOPROJ := AsString(MySQL.FieldByName('AUTOPROJPOS'));
MySQL.close();
if (sAUTOPROJ = sJa) then
begin
MySQL.SQL.Text := 'SELECT FIRST 1 ID AS "ID", STATUS FROM BPROJPO WHERE BPROJ_ID_LINKKEY = :BPROJ_ID ORDER BY MASKENKEY';
// Versuch DTI MySQL.SQL.Text := 'SELECT ID AS "ID", STATUS FROM BPROJPO WHERE BPROJ_ID_LINKKEY = :BPROJ_ID AND MASKENKEY = " 800" ORDER BY MASKENKEY';
MySQL.ParamByName('BPROJ_ID', iBPROJ_ID);
MySQL.open();
iBPROJPO_ID := AsInteger(MySQL.FieldByName('ID'));
sSTATUS := AsString(MySQL.FieldByName('STATUS'));
MySQL.close();
if (iBPROJPO_ID > 0) then
begin
if (sSTATUS = 'TF') then
begin
if (messagebox(LB_STATUSTF.caption, self.caption, 4+256) = 6) then
begin
M := q_1.FieldByName('BPROJPO_ID');
M.Value := iBPROJPO_ID;
q_1.RelationIdFeld('BPROJPO_ID');
end;
end
else
begin
M := q_1.FieldByName('BPROJPO_ID');
M.Value := iBPROJPO_ID;
q_1.RelationIdFeld('BPROJPO_ID');
end;
end;
end;
End;
Die Domain von BPROJPO_MASKENKEY stimmt.
Sollte ich die Prozedur mit Ihrer neuen Variante überschreiben?
Es bleibt spannend, aber es geht voran.
Danke
Dirk
-
- Beiträge: 95
- Registriert: Do Aug 23, 2007 1:54 pm
Sehr geehrter Herr Tiefenbach,
verwenden Sie bitte das aktuelle OnExit-Skript.
Des weiteren spielen Sie bitte folgendes Skript 2 in eine Testdatenbank ein.
das Skript führt folgende Aktionen aus:
- ändert den Update-Trigger der Projektposition, so dass die Positionsnummer immer 10 Zeichen lang ist
- korrigiert alle bestehenden Projektpositionsnummern
- ändert die Relation der Projektposition in der Reklamationsverwaltung, so dass ausschließlich Positionen zu dem vorher erfassten Projekt ausgewählt werden können
Gruß,
Syn20
verwenden Sie bitte das aktuelle OnExit-Skript.
Des weiteren spielen Sie bitte folgendes Skript 2 in eine Testdatenbank ein.
das Skript führt folgende Aktionen aus:
- ändert den Update-Trigger der Projektposition, so dass die Positionsnummer immer 10 Zeichen lang ist
- korrigiert alle bestehenden Projektpositionsnummern
- ändert die Relation der Projektposition in der Reklamationsverwaltung, so dass ausschließlich Positionen zu dem vorher erfassten Projekt ausgewählt werden können
Gruß,
Syn20
-
- Beiträge: 77
- Registriert: Do Okt 18, 2007 9:00 am
- Wohnort: Senden