Event "bei Kopplung Vertreter_PLZ"
Event "bei Kopplung Vertreter/PLZ"
Dieser Event wird aufgerufen, sobald die automatische Zuweisung der Vertreternummer stattfindet (bei einer Änderung der Haupt- bzw. Lieferanschrift im Kundenstamm/Auftragskopf).
Der Event wird nur bei vorhandener Lizenz für das Vertreter-Modul sowie aktiver PLZ-Automatik aufgerufen (Allg. Parameter - Kunden/Vertrieb - Seite 1).
Beispiel
CODE
| nEvtNo:P1, nMode:P2, oTable:P3, nAddressMode:P4, cAgentField:P5,
nOldAgentNo:P6, nNewAgentNo:P7, lShowMsg:P8, oForm, oCmb_action, oChk_msg,
oEdt_vertnr, oBtn_ok, oEdt_info, cRes |
// nMode : Modus zeigt an, in welcher Tabelle die Änderung erfolgt
// 1 = DAB000 (Kunden-Stamm)
// 2 = DAB050 (Kunden Auftrags-Kopfsatz)
// oTable : Tabellenobjekt (je nach nMode DAB000 oder DAB050)
// nAddressMode : Modus zeigt an, für welche PLZ/Ort die Vertreter-Zuweisung erfolgt
// 1 = Hauptanschrift
// 2 = Lieferanschrift
// cAgentField : Feldname in welchem die Vertreter-Nr. gespeichert ist
// in DAB000 möglich "VERTRETER", "VERTRETER1" bis "VERTRETER9"
// in DAB050 möglich "VERTRETER"
// nOldAgentNo : Vertreter-Nr. vor der Änderung (nur lesend)
// nNewAgentNo : neue Vertreter-Nr. welche automatisch ermittelt wurde
// lShowMsg : Nachricht über Änderung der Vertreter-Nr. ausgeben?
function CreateForm()
oForm := CreateObject('TFormEx', '', Application),
oForm.OrigCapt := 'Event: "bei Kopplung Vertreter/PLZ" ',
oForm.Width := 220,
oForm.Height := 260,
oForm.Position := PoMainFormCenter,
oCmb_action := CreateObject('TBeCombo', '', oForm, oForm),
oCmb_action.Left := 6,
oCmb_action.Top := 6,
oCmb_action.Width := 200,
oCmb_action.Items := {'Automatik',
'Keine Änderung zulassen (alte Vert.Nr)',
'Vertreter-Nr. aus Eingabefeld übernhemen'},
oCmb_action.ItemIndex := 0,
oEdt_vertnr := CreateObject('TBeEdit', '', oForm, oForm),
oEdt_vertnr.Left := 6,
oEdt_vertnr.Top := 35,
oEdt_vertnr.Width := 200,
oEdt_vertnr.Text := '2006',
oChk_msg := CreateObject('TCheckBox', '', oForm, oForm),
oChk_msg.Left := 6,
oChk_msg.Top := 63,
oChk_msg.Width := 200,
oChk_msg.Caption := 'Meldung anzeigen',
oChk_msg.Checked := lShowMsg,
oBtn_ok := CreateObject('TBitBtn', '', oForm, oForm),
oBtn_ok.Left := 6,
oBtn_ok.Top := 87,
oBtn_ok.Width := 200,
oBtn_ok.Kind := 1,
oEdt_info := CreateObject('TBeEdit', '', oForm, oForm),
oEdt_info.AutoSize := false,
oEdt_info.WantReturns := true,
oEdt_info.WordWrap := true,
oEdt_info.Align := alBottom,
oEdt_info.Height := 110,
oEdt_info.Font.Name := 'Courier New',
end,
//******************************************************************************
StartSeq
// Formular erzeugen
CreateForm(),
// Parameter auslesen
oEdt_info.text := 'nEvtNo: ' + str(nEvtNo) + crlf +
'nMode: ' + str(nMode) + crlf +
'nAddressMode: ' + str(nAddressMode) + crlf +
'cAgentField: ' + cAgentField + crlf +
'nOldAgentNo: ' + str(nOldAgentNo) + crlf +
'nNewAgentNo: ' + str(nNewAgentNo) + crlf +
'lShowMsg: ' + str(lShowMsg),
// Formular anzegeigen
ShowModal(oForm),
// Aktion auswerten
case oCmb_action.ItemIndex
of 0 :: cRes := nNewAgentNo,
of 1 :: cRes := nOldAgentNo,
of 2 :: cRes := val(oEdt_vertnr.text),
otherwise
cRes := nNewAgentNo,
endcase,
// Meldung anzeigen ja/nein?
cRes := {cRes,oChk_msg.checked},
Always
DestroyObject( oForm ),
StopSeq,
cRes