E-Mail Feld in FRMV_BANSP (Ansprechpartner) Übernahme
Moderator: SYNERPY
-
- Beiträge: 149
- Registriert: Mi Mär 04, 2009 10:45 am
E-Mail Feld in FRMV_BANSP (Ansprechpartner) Übernahme
Moinsen zusammen,
wir nutzen die o.a. Maske im Direktaufruf zur Eingabe diverser Ansprechpartner.
Wenn man jetzt eine E-Mailadresse des Ansprechpartners eingibt und danach rechts eine Adresse, Kundenadresse oder Lieferantenadresse zuweist, dann überschreibt er bei Übernahme das E-Mail Feld mit der E-Mail aus dem Adressstamm (meist info@...).
Dies möchte ich unterbinden, komme aber nicht weiter.
Wenn ich die Maske im Designer öffne und im Objektinspektor die PROC0001 aufrufe, finde ich ja dort Übernahmeparameter, ist das der richtige Ansatz?
Viele Grüße
Thomas
wir nutzen die o.a. Maske im Direktaufruf zur Eingabe diverser Ansprechpartner.
Wenn man jetzt eine E-Mailadresse des Ansprechpartners eingibt und danach rechts eine Adresse, Kundenadresse oder Lieferantenadresse zuweist, dann überschreibt er bei Übernahme das E-Mail Feld mit der E-Mail aus dem Adressstamm (meist info@...).
Dies möchte ich unterbinden, komme aber nicht weiter.
Wenn ich die Maske im Designer öffne und im Objektinspektor die PROC0001 aufrufe, finde ich ja dort Übernahmeparameter, ist das der richtige Ansatz?
Viele Grüße
Thomas
Software-Version: 6.6.10.0
DB-Version: AVERP2018.03
Server: Windows 10 Pro Intel Xeon E3-1230v6 - 16GB RAM
50 User
DB-Version: AVERP2018.03
Server: Windows 10 Pro Intel Xeon E3-1230v6 - 16GB RAM
50 User
-
- Beiträge: 589
- Registriert: Mi Apr 16, 2008 7:51 am
Hallo,
wie ist denn bei Ihnen der Arbeitsablauf an dieser Stelle ? Wir gehen in der Art vor, dass zuerst der Kunde angewählt wird, dann geht es über das Menü 'Unterprogramme' in die Maske BANSP. Wenn hier jetzt ein neuer Datensatz zum Kunden angelegt wird, übernimmt das System die eMail-Adresse des Kunden. Diese wird abgeändert und beim Speichern des Satzes bleibt sie in der korrekten Form erhalten ...
wie ist denn bei Ihnen der Arbeitsablauf an dieser Stelle ? Wir gehen in der Art vor, dass zuerst der Kunde angewählt wird, dann geht es über das Menü 'Unterprogramme' in die Maske BANSP. Wenn hier jetzt ein neuer Datensatz zum Kunden angelegt wird, übernimmt das System die eMail-Adresse des Kunden. Diese wird abgeändert und beim Speichern des Satzes bleibt sie in der korrekten Form erhalten ...
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: 149
- Registriert: Mi Mär 04, 2009 10:45 am
Moinsen Geri12,
so kann man es auch machen.
Wir haben momentan sehr viele Kontaktdaten, die wir prüfen und ggf. im Adressstamm einpflegen. Dazu nutzen wir die maske -wie schon erwähnt- im Direktaufruf.
Und bei der Eingabe starten wir links oben und geben eben auch die E-Mail Adresse schon ein, bevor wir die Adress-nr. oder Kunden-nr. oder Lieferanten-nr. über F2 rechts zuweisen.
Ich dachte mir, es wäre doch eine Kleinigkeit, die Übernahmeparameter so einzustellen, dass diese Eingabe nicht überschrieben wird.
Gruß
Thomas
so kann man es auch machen.
Wir haben momentan sehr viele Kontaktdaten, die wir prüfen und ggf. im Adressstamm einpflegen. Dazu nutzen wir die maske -wie schon erwähnt- im Direktaufruf.
Und bei der Eingabe starten wir links oben und geben eben auch die E-Mail Adresse schon ein, bevor wir die Adress-nr. oder Kunden-nr. oder Lieferanten-nr. über F2 rechts zuweisen.
Ich dachte mir, es wäre doch eine Kleinigkeit, die Übernahmeparameter so einzustellen, dass diese Eingabe nicht überschrieben wird.
Gruß
Thomas
Software-Version: 6.6.10.0
DB-Version: AVERP2018.03
Server: Windows 10 Pro Intel Xeon E3-1230v6 - 16GB RAM
50 User
DB-Version: AVERP2018.03
Server: Windows 10 Pro Intel Xeon E3-1230v6 - 16GB RAM
50 User
-
- Beiträge: 589
- Registriert: Mi Apr 16, 2008 7:51 am
Hallo Thomas,
ja, ist wirklich nur eine Kleinigkeit. Allerdings würde ich das Kopieren nicht ganz verbieten, sondern nur in den Fällen, in denen im Feld 'eMail' schon was drinnen steht.
Somit würde in PROC0001 aus der Zeile ......nun die beiden Zeilen ...
Und das sollte es schon gewesen sein ...
ja, ist wirklich nur eine Kleinigkeit. Allerdings würde ich das Kopieren nicht ganz verbieten, sondern nur in den Fällen, in denen im Feld 'eMail' schon was drinnen steht.
Somit würde in PROC0001 aus der Zeile ...
Code: Alles auswählen
E_EMAIL.Field.Value := AsString(MySQL.FieldByName('EMAIL'));
Code: Alles auswählen
if (E_EMAIL.Field.AsString = '') then
E_EMAIL.Field.Value := AsString(MySQL.FieldByName('EMAIL'));
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: 149
- Registriert: Mi Mär 04, 2009 10:45 am
Hallo Geri12,
bis zum PROC001 habe ich mich auch schon vorgekämpft und das ausklammern mit // hat auch schon funktioniert. Das war mein erster Ansatz.
Dein Vorschlag ist natürlich noch viel besser, ich bekomme dann allerdings folgende Fehlermeldung vom Pascal-Interpreter:
Information:
Aktuelle Variablenwerte:
MyID = 358
MySQL = 19512108
sFrom = 'FROM BADR B '
Error:
Laufzeitfehler: 10000 (Zeile: 26)
"Komponente nicht gefunden"
Laufzeitfehler: 10000 (Zeile: 26)
"Komponente nicht gefunden"
Auch ein end; nach der zweiten Zeile macht es nicht besser....grübel, grübel...
Viele Grüße
Thomas
bis zum PROC001 habe ich mich auch schon vorgekämpft und das ausklammern mit // hat auch schon funktioniert. Das war mein erster Ansatz.
Dein Vorschlag ist natürlich noch viel besser, ich bekomme dann allerdings folgende Fehlermeldung vom Pascal-Interpreter:
Information:
Aktuelle Variablenwerte:
MyID = 358
MySQL = 19512108
sFrom = 'FROM BADR B '
Error:
Laufzeitfehler: 10000 (Zeile: 26)
"Komponente nicht gefunden"
Laufzeitfehler: 10000 (Zeile: 26)
"Komponente nicht gefunden"
Auch ein end; nach der zweiten Zeile macht es nicht besser....grübel, grübel...
Viele Grüße
Thomas
Software-Version: 6.6.10.0
DB-Version: AVERP2018.03
Server: Windows 10 Pro Intel Xeon E3-1230v6 - 16GB RAM
50 User
DB-Version: AVERP2018.03
Server: Windows 10 Pro Intel Xeon E3-1230v6 - 16GB RAM
50 User
-
- Beiträge: 589
- Registriert: Mi Apr 16, 2008 7:51 am
Hallo Thomas,
kann es sein, dass es hier einen Teil Deines Quellcodes gekostet hat ? Der Fehler tritt anscheinend dort auf, wo vorher noch alles in Ordnung war. Hier noch mal den kompletten Code meiner A14-Maske ...
Noch ein Hinweis: Wo ein Ende ist, ist immer auch ein Anfang. Sprich: Wenn Du END benutzt, dann musst Du auch ein BEGIN benutzen:
oder ...
Bei Benutzung von ELSE immer auf den Strichpunkt achten: der letzte Befehl vor dem ELSE ist ohne Strichpunkt ...
kann es sein, dass es hier einen Teil Deines Quellcodes gekostet hat ? Der Fehler tritt anscheinend dort auf, wo vorher noch alles in Ordnung war. Hier noch mal den kompletten Code meiner A14-Maske ...
Code: Alles auswählen
Begin
// verschiedene Felder als Vorbelegung aus der Kunde, Lieferant oder Adresse
// HS 2008-08-02
MyID := 0;
sFrom := '';
if (LB_TABELLE.Caption = 'BKUNDE') then
begin
MyID := AsInteger(q_1.FieldByName('BKUNDE_ID_LINKKEY'));
sFrom := 'FROM BKUNDE A ';
end
else if (LB_TABELLE.Caption = 'BLIEF') then
begin
MyID := AsInteger(q_1.FieldByName('BLIEF_ID_LINKKEY'));
sFrom := 'FROM BLIEF A ';
end
else if (LB_TABELLE.Caption = 'BADR') then
begin
MyID := AsInteger(q_1.FieldByName('BADR_ID_LINKKEY'));
sFrom := 'FROM BADR B ';
end;
if (MyID > 0) and (sFrom <> '') then
begin
// SQL zusammenbauen, ja nach Kunde, Lieferant oder Adresse
MySQL := frmdata.Universal;
MySQL.SQL.Text := 'SELECT B.EMAIL, B.TELVOR, B.TELANSCH, B.TELVOR3, B.TELANSCH3, B.TELVOR4, B.TELANSCH4, B.FAXVOR, B.FAXANSCH, B.WEBSITE ' +
sFrom;
if (LB_TABELLE.Caption <> 'BADR') then
MySQL.SQL.Text := MySQL.SQL.Text + ' LEFT OUTER JOIN BADR B ON A.BADR_ID_ADRNR = B.ID';
if (LB_TABELLE.Caption <> 'BADR') then
MySQL.SQL.Text := MySQL.SQL.Text + ' WHERE A.ID = :MyID'
else
MySQL.SQL.Text := MySQL.SQL.Text + ' WHERE B.ID = :MyID';
MySQL.ParamByName('MyID', MyID);
MySQL.open();
if (E_EMAIL.Field.AsString = '') then
E_EMAIL.Field.Value := AsString(MySQL.FieldByName('EMAIL'));
E_TEL_VOR.Field.Value := AsString(MySQL.FieldByName('TELVOR'));
E_DURCHWAHL.Field.Value := AsString(MySQL.FieldByName('TELANSCH'));
E_PRIV_VOR.Field.Value := AsString(MySQL.FieldByName('TELVOR3'));
E_TELPRIVAT.Field.Value := AsString(MySQL.FieldByName('TELANSCH3'));
E_MOBIL_VOR.Field.Value := AsString(MySQL.FieldByName('TELVOR4'));
E_TELMOBIL.Field.Value := AsString(MySQL.FieldByName('TELANSCH4'));
E_FAXVOR.Field.Value := AsString(MySQL.FieldByName('FAXVOR'));
E_TELFAX.Field.Value := AsString(MySQL.FieldByName('FAXANSCH'));
E_WEBSITE.Field.Value := AsString(MySQL.FieldByName('WEBSITE'));
MySQL.close();
end;
End;
Code: Alles auswählen
IF ... THEN
BEFEHL;
Code: Alles auswählen
IF ... THEN
BEGIN
BEFEHL;
END;
Code: Alles auswählen
IF ... THEN
BEFEHL
ELSE
BEFEHL;
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: 149
- Registriert: Mi Mär 04, 2009 10:45 am
Hallo Geri,
Du bist mein Held für heute, danke es funktioniert.
Ich weiss nicht woran es lag, ich habe das jetzt exakt so formatiert wie Du es hast, als mit Leerzeile oben und unten und eingerückt die beiden Zeilen.
Ich hatte im Hintergrund die Maske geöffnet und habe zum Testen auf Daten Aktualisieren geklickt, vielleicht gab es da irgendwie einen Konflikt.
Alles bestens soweit, merci noch einmal...
Viele Grüße
Thomas
Du bist mein Held für heute, danke es funktioniert.
Ich weiss nicht woran es lag, ich habe das jetzt exakt so formatiert wie Du es hast, als mit Leerzeile oben und unten und eingerückt die beiden Zeilen.
Ich hatte im Hintergrund die Maske geöffnet und habe zum Testen auf Daten Aktualisieren geklickt, vielleicht gab es da irgendwie einen Konflikt.
Alles bestens soweit, merci noch einmal...
Viele Grüße
Thomas
Software-Version: 6.6.10.0
DB-Version: AVERP2018.03
Server: Windows 10 Pro Intel Xeon E3-1230v6 - 16GB RAM
50 User
DB-Version: AVERP2018.03
Server: Windows 10 Pro Intel Xeon E3-1230v6 - 16GB RAM
50 User