Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 65e5f16a

Von Peter Schulgin vor fast 11 Jahren hinzugefügt

  • ID 65e5f16ab7ec7bb55ef7130665f96112e0f92f77
  • Vorgänger 64a2d791
  • Nachfolger 21509ce4

Sammelrechnung: Auftragsnummer und Bestelnummer aus Lieferscheinen übernehmen
Behebt #1784
Beim erstellen einer Rechnung aus mehreren Lieferscheinen werden nun die jeweiligen
Auftragsnummern und "Bestellnummer der Kunden" als Leerzeichengetrennte Liste
in die Rechnung übernommen (analog zu Lieferscheinnummern).

Unterschiede anzeigen:

SL/DO.pm
63 63
  my $vc = $form->{vc} eq "customer" ? "customer" : "vendor";
64 64

  
65 65
  my $query =
66
    qq|SELECT dord.id, dord.donumber, dord.ordnumber,
66
    qq|SELECT dord.id, dord.donumber, dord.ordnumber, dord.cusordnumber,
67 67
         dord.transdate, dord.reqdate,
68 68
         ct.${vc}number, ct.name, dord.${vc}_id, dord.globalproject_id,
69 69
         dord.closed, dord.delivered, dord.shippingpoint, dord.shipvia,
......
415 415
  my $rc = $dbh->commit();
416 416

  
417 417
  $form->{saved_donumber} = $form->{donumber};
418

  
418
  $form->{saved_ordnumber} = $form->{ordnumber};
419
  $form->{saved_cusordnumber} = $form->{cusordnumber};
420
  
419 421
  Common::webdav_folder($form);
420 422

  
421 423
  $main::lxdebug->leave_sub();
......
604 606
  $sth = prepare_execute_query($form, $dbh, $query, @do_ids);
605 607

  
606 608
  delete $form->{"${vc}_id"};
609
  my $pos = 0;
610
  $form->{ordnumber_array} = ' ';
611
  $form->{cusordnumber_array} = ' ';
607 612
  while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
608 613
    if ($form->{"${vc}_id"} && ($ref->{"${vc}_id"} != $form->{"${vc}_id"})) {
609 614
      $sth->finish();
......
614 619

  
615 620
    map { $form->{$_} = $ref->{$_} } keys %$ref if ($ref);
616 621
    $form->{donumber_array} .= $form->{donumber} . ' ';
622
    $pos = index($form->{ordnumber_array},' ' . $form->{ordnumber} . ' ');
623
    if ($pos == -1) {
624
      $form->{ordnumber_array} .= $form->{ordnumber} . ' ';
625
    }
626
    $pos = index($form->{cusordnumber_array},' ' . $form->{cusordnumber} . ' ');
627
    if ($pos == -1) {
628
      $form->{cusordnumber_array} .= $form->{cusordnumber} . ' ';
629
    }
617 630
  }
618 631
  $sth->finish();
619 632

  
620 633
  $form->{donumber_array} =~ s/\s*$//g;
634
  $form->{ordnumber_array} =~ s/ //;
635
  $form->{ordnumber_array} =~ s/\s*$//g;
636
  $form->{cusordnumber_array} =~ s/ //;
637
  $form->{cusordnumber_array} =~ s/\s*$//g;
621 638

  
622 639
  $form->{saved_donumber} = $form->{donumber};
640
  $form->{saved_ordnumber} = $form->{ordnumber};
641
  $form->{saved_cusordnumber} = $form->{cusordnumber};
623 642

  
624 643
  # if not given, fill transdate with current_date
625 644
  $form->{transdate} = $form->current_date($myconfig) unless $form->{transdate};

Auch abrufbar als: Unified diff