X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/6a12a968761127af91e9da8db7579be2836bcaaa..040b466d09c01e86a65dca2c04aadcda22af3e7b:/SL/Controller/CsvImport/Base.pm diff --git a/SL/Controller/CsvImport/Base.pm b/SL/Controller/CsvImport/Base.pm index b896d9930..8544cf79d 100644 --- a/SL/Controller/CsvImport/Base.pm +++ b/SL/Controller/CsvImport/Base.pm @@ -146,7 +146,7 @@ sub init_all_languages { sub init_all_bank_accounts { my ($self) = @_; - return SL::DB::Manager::BankAccount->get_all; + return SL::DB::Manager::BankAccount->get_all_sorted( query => [ obsolete => 0 ] ); } sub init_payment_terms_by { @@ -200,8 +200,8 @@ sub check_vc { } if (!$entry->{object}->$id_column) { - my $vc = $self->vc_by->{number}->{customers}->{ $entry->{raw_data}->{customernumber} } - || $self->vc_by->{number}->{vendors}->{ $entry->{raw_data}->{vendornumber} }; + my $vc = ($entry->{raw_data}->{customernumber} && $self->vc_by->{number}->{customers}->{ $entry->{raw_data}->{customernumber} }) + || ($entry->{raw_data}->{vendornumber} && $self->vc_by->{number}->{vendors}->{ $entry->{raw_data}->{vendornumber} }); $entry->{object}->$id_column($vc->id) if $vc; } @@ -522,11 +522,12 @@ sub clean_fields { sub _save_history { my ($self, $object) = @_; - if (any { $_ eq $self->controller->{type} } qw(parts customers_vendors orders)) { + if (any { $self->controller->{type} && $_ eq $self->controller->{type} } qw(parts customers_vendors orders ar_transactions)) { my $snumbers = $self->controller->{type} eq 'parts' ? 'partnumber_' . $object->partnumber : $self->controller->{type} eq 'customers_vendors' ? ($self->table eq 'customer' ? 'customernumber_' . $object->customernumber : 'vendornumber_' . $object->vendornumber) : $self->controller->{type} eq 'orders' ? 'ordnumber_' . $object->ordnumber + : $self->controller->{type} eq 'ar_transactions' ? 'invnumber_' . $object->invnumber : ''; my $what_done = $self->controller->{type} eq 'orders' ? 'sales_order'