Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 02022dc2

Von Jan Büren vor fast 10 Jahren hinzugefügt

  • ID 02022dc2c7dca5f12d37feb3c4edbb1c7b7dad36
  • Vorgänger 273b5e04
  • Nachfolger b067e974

orderitems persistent machen.
bei vorlage als und position löschen entsprechend die ids löschen, sodass
diese beim speichern des neuen beleges, bzw. beim neu erstellen der positionen
erzeugt werden.
Folgende Szenarien geprüft:
Von Angebot:
> erneuern i.O.
> mittlere Position löschen i.O.
> als neu speichern i.O.
> Speichern, Löschen, neue Pos i.O.
> Angebot -> Auftrag i.O.
Rücksprünge von:
> Auftrag > Angebot (quotation in io.pl!) i.O.
> Lieferantenauftrag > Verkaufsauftrag i.O.
> Lieferantenauftrag > Lieferantenanfrage i.O.
> Verkaufs-Rechnung -> Auftrag (keine orderitems vorhanden) i.O.

Unterschiede anzeigen:

bin/mozilla/io.pl
760 760
                sellprice_pg pricegroup_old price_old price_new unit_old ordnumber donumber
761 761
                transdate longdescription basefactor marge_total marge_percent
762 762
                marge_price_factor lastcost price_factor_id partnotes
763
                stock_out stock_in has_sernumber reqdate);
763
                stock_out stock_in has_sernumber reqdate orderitems_id);
764 764

  
765 765
  my $ic_cvar_configs = CVar->get_configs(module => 'IC');
766 766
  push @flds, map { "ic_cvar_$_->{name}" } @{ $ic_cvar_configs };
......
917 917

  
918 918
  _check_io_auth();
919 919

  
920
  # we are coming from *_order and convert to quotation
921
  # it seems that quotation is only called if we have a existing order
922
  if ($form->{type} =~  /(sales|purchase)_order/) {
923
    delete $form->{"orderitems_id_$_"} for 1 .. $form->{"rowcount"};
924
  }
920 925
  if ($form->{second_run}) {
921 926
    $form->{print_and_post} = 0;
922 927
  }
bin/mozilla/oe.pl
1612 1612

  
1613 1613
  $form->{saveasnew} = 1;
1614 1614
  map { delete $form->{$_} } qw(printed emailed queued delivered closed);
1615
  delete $form->{"orderitems_id_$_"} for 1 .. $form->{"rowcount"};
1615 1616

  
1616 1617
  # Let kivitendo assign a new order number if the user hasn't changed the
1617 1618
  # previous one. If it has been changed manually then use it as-is.
......
1810 1811

  
1811 1812
  # reset
1812 1813
  map { delete $form->{$_} } qw(id subject message cc bcc printed emailed queued customer vendor creditlimit creditremaining discount tradediscount oldinvtotal delivered ordnumber);
1814
  delete $form->{"orderitems_id_$_"} for 1 .. $form->{"rowcount"};
1813 1815

  
1814 1816
  # if purchase_order was generated from sales_order, use  lastcost_$i as sellprice_$i
1815 1817
  # also reset discounts
......
1817 1819
    for my $i (1 .. $form->{rowcount}) {
1818 1820
      $form->{"sellprice_${i}"} = $form->{"lastcost_${i}"};
1819 1821
      $form->{"discount_${i}"}  = 0;
1822
      delete $form->{"orderitems_id_$_"};
1820 1823
    };
1821 1824
  };
1822 1825

  

Auch abrufbar als: Unified diff