Autor Thema: Mehrere Lieferadressen pro Kunde  (Gelesen 7101 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline admin

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 544
  • Lob: 10
Mehrere Lieferadressen pro Kunde
« am: Februar 26, 2014, 16:17:50 »
Es kann notwendig sein für einen Kunden mehrere Lieferadressen zu hinterlegen. Z.B. Wenn dieser Kunde mehrere Filialen hat und es soll direkt an die Filiale  geliefert werden.
In einem solchen Fall müssen für den Kunden mehrere Lieferadressen hinterlegt sein, damit er  ohne Neueingabe die entsprechende Adresse auswählen kann.
Diese Adressen werden in der relativ neuen Tabelle ADR gespeichert.
Die Auswahl erfolgt über eine Selectbox . Nach der Auswahl werden die Werte in die L-Adressfelder kopiert.

Beispiel:

<!--spmacro:module(shipping)

# Mögliche Lieferaddressen anbieten und in die Lieferfelder übertragen
sub select {
    my $pre = ssp::db_get_prefix();
    my $ADR = $pre . 'ADR';
    my $read = 0;
my $kundennr = ssp::get_var_user('KDNRWAWI');
my $out;
    my $sql = qq|SELECT LFDNR, ADDRESSNR, KUNDENNR, ADRTYPE, ANREDE, VORNAME, NAME, FIRMA, ORT, PLZ, STRASSE
FROM $ADR WHERE KUNDENNR = '$kundennr'  ORDER BY PLZ ASC;|;

    $read = ssp::readSQLData($sql,'LFDNR', 'ADDRESSNR','KUNDENNR','ADRTYPE','ANREDE','VORNAME','NAME','FIRMA','ORT','PLZ','STRASSE');
    if ($read == -1) {
       main::syserr("error: " . ssp::get_last_sqlerr());
    }
if ($read == 0) { return;} # Keine Daten

# Bei Änderung Werte in die Lieferfelder schreiben
my $jsout = qq|<script type="text/javascript">
jQuery().ready( function() {
jQuery("#adrselect").change(function() {
var i = jQuery("#adrselect").val();
jQuery('#orderform input[name="LFDNR"]').val(liefer[i][0]);
jQuery('#orderform input[name="LPLZ"]').val(liefer[i][1]);
jQuery('#orderform input[name="LORT"]').val(liefer[i][2]);
jQuery('#orderform input[name="LFIRMA"]').val(liefer[i][3]);
jQuery('#orderform input[name="LNAME"]').val(liefer[i][4]);
jQuery('#orderform input[name="LVORAME"]').val(liefer[i][5]);
jQuery('#orderform input[name="LSTRASSE"]').val(liefer[i][6]);
});
});
var liefer = new Array();\n|;

# Select aufbauen
$out .= qq|
</td>
<td style="margin-top:5px;"><b>Lieferadressen vorbelegen</b></td>
<td>
<select style="width:230px;" id="adrselect">\n|;
for ($i = 0; $i < $read; ++$i) {
my $lfdnr = ssp::get_var_db('LFDNR',$i);
my $plz = ssp::get_var_db('PLZ',$i);
my $ort = trans(ssp::get_var_db('ORT',$i));
my $firma = trans(ssp::get_var_db('FIRMA',$i));
my $name  = trans(ssp::get_var_db('NAME',$i));
my $vorname  = trans(ssp::get_var_db('VORNAME',$i));
my $strasse  = trans(ssp::get_var_db('STRASSE',$i));
$jsout .= qq|liefer[$i] = new Array ("$lfdnr","$plz","$ort","$firma","$name","$vorname","$strasse");\n|;

$out .= qq|<option value="$i">($lfdnr) $plz $ort $firma $name $vorname $strasse</option>\n|;
}
$out .= qq|</select>\n|;
$jsout .= qq|</script>\n|;
main::mprint "\n\n$jsout\n\n$out";
}





Linkback: https://www.shoppilot.net/pf/index.php?topic=1684.0

Offline Ingolf

  • Newbie
  • *
  • Beiträge: 24
  • Lob: 0
Re: Mehrere Lieferadressen pro Kunde
« Antwort #1 am: September 04, 2015, 14:00:10 »
Gibt es ein Beispiel für diese Anwendung?
Danke


xx
mehrere Lieferadressen je Kunde

Begonnen von Ingolf

2 Antworten
5603 Aufrufe
Letzter Beitrag September 23, 2016, 22:46:39
von Ingolf
xx
mehrere Bedingungen in exclude_zahlart

Begonnen von dobra

0 Antworten
6035 Aufrufe
Letzter Beitrag August 23, 2012, 13:21:32
von dobra
xx
neuer Kunde in Auftragsliste?

Begonnen von dobra

2 Antworten
5511 Aufrufe
Letzter Beitrag August 30, 2007, 12:33:01
von dobra
xx
KdNr geändert, Kunde doppelt angelegt

Begonnen von jg

2 Antworten
6281 Aufrufe
Letzter Beitrag April 13, 2003, 18:35:03
von jg