Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 6e083cb8

Von Bernd Bleßmann vor mehr als 5 Jahren hinzugefügt

  • ID 6e083cb8df993623e4810599ba9d50b035ccb250
  • Vorgänger 8cbcd244
  • Nachfolger da8e5472

Neuer Workflow Lieferantenauftrag->Kreditorenbuchung

Für jedes Aufwandskonto der Positionen im Lieferantenauftrag wird eine
Zeile in der Kreditorenbuchung erstellt. Gebucht wird standardmäßig
auf des entsprechende Aufwandskonto. In der Mandantenkonfiguration
kann unter Standardkonten ein Konto ausgewählt werden, auf das dann
alle Zeilen gebucht werden.
Die Steuern werden übernommen, sofern diese für das ausgewählte
Aufwandskonto gültig sind. Ansonsten wird die Default-Steuer für das
Aufwandskonto gesetzt.
Der Quellauftrag wird geschlossen, wenn der Betrag aller
Kreditorenbuchungen, die aus Workflows aus dem Quellauftrag entstanden
sind, gleich dem Betrag des Quellauftrags ist.

Unterschiede anzeigen:

SL/Controller/Order.pm
48 48
__PACKAGE__->run_before('check_auth');
49 49

  
50 50
__PACKAGE__->run_before('recalc',
51
                        only => [ qw(save save_as_new save_and_delivery_order save_and_invoice print send_email) ]);
51
                        only => [ qw(save save_as_new save_and_delivery_order save_and_invoice save_and_ap_transaction
52
                                     print send_email) ]);
52 53

  
53 54
__PACKAGE__->run_before('get_unalterable_data',
54
                        only => [ qw(save save_as_new save_and_delivery_order save_and_invoice print send_email) ]);
55
                        only => [ qw(save save_as_new save_and_delivery_order save_and_invoice save_and_ap_transaction
56
                                     print send_email) ]);
55 57

  
56 58
#
57 59
# actions
......
648 650
  $_[0]->workflow_sales_or_purchase_order();
649 651
}
650 652

  
653
# workflow from purchase order to ap transaction
654
sub action_save_and_ap_transaction {
655
  my ($self) = @_;
656

  
657
  my $errors = $self->save();
658

  
659
  if (scalar @{ $errors }) {
660
    $self->js->flash('error', $_) foreach @{ $errors };
661
    return $self->js->render();
662
  }
663

  
664
  my $text = $self->type eq sales_order_type()       ? $::locale->text('The order has been saved')
665
           : $self->type eq purchase_order_type()    ? $::locale->text('The order has been saved')
666
           : $self->type eq sales_quotation_type()   ? $::locale->text('The quotation has been saved')
667
           : $self->type eq request_quotation_type() ? $::locale->text('The rfq has been saved')
668
           : '';
669
  flash_later('info', $text);
670

  
671
  my @redirect_params = (
672
    controller => 'ap.pl',
673
    action     => 'add_from_purchase_order',
674
    id         => $self->order->id,
675
  );
676

  
677
  $self->redirect_to(@redirect_params);
678
}
679

  
651 680
# set form elements in respect to a changed customer or vendor
652 681
#
653 682
# This action is called on an change of the customer/vendor picker.
......
1695 1724
          call      => [ 'kivi.Order.save', 'save_and_invoice', $::instance_conf->get_order_warn_duplicate_parts ],
1696 1725
          checks    => [ 'kivi.Order.check_save_active_periodic_invoices' ],
1697 1726
        ],
1727
        action => [
1728
          t8('Save and AP Transaction'),
1729
          call      => [ 'kivi.Order.save', 'save_and_ap_transaction', $::instance_conf->get_order_warn_duplicate_parts ],
1730
          only_if   => (any { $self->type eq $_ } (purchase_order_type()))
1731
        ],
1732

  
1698 1733
      ], # end of combobox "Workflow"
1699 1734

  
1700 1735
      combobox => [

Auch abrufbar als: Unified diff