Revision 6e083cb8
Von Bernd Bleßmann vor mehr als 5 Jahren hinzugefügt
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
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.