foreach my $entry (@{ $self->controller->data }) {
my $object = $entry->{object};
- next unless $self->check_name($entry);
- next unless $self->check_language($entry);
- next unless $self->check_business($entry);
- next unless $self->check_payment($entry);
+ $self->check_name($entry);
+ $self->check_language($entry);
+ $self->check_business($entry);
+ $self->check_payment($entry);
$self->handle_cvars($entry);
+ next if @{ $entry->{errors} };
+
if ($vcs_by_number{ $object->$numbercolumn }) {
$entry->{object}->$numbercolumn('####');
} else {
return unless @{ $self->controller->data };
foreach my $entry (@{ $self->controller->data }) {
- next unless $self->check_buchungsgruppe($entry);
- next unless $self->check_type($entry);
- next unless $self->check_unit($entry);
- next unless $self->check_price_factor($entry);
- next unless $self->check_payment($entry);
- next unless $self->check_packing_type($entry);
- next unless $self->check_partsgroup($entry);
- $self->check_existing($entry);
+ $self->check_buchungsgruppe($entry);
+ $self->check_type($entry);
+ $self->check_unit($entry);
+ $self->check_price_factor($entry);
+ $self->check_payment($entry);
+ $self->check_packing_type($entry);
+ $self->check_partsgroup($entry);
+ $self->check_existing($entry) unless @{ $entry->{errors} };
$self->handle_prices($entry) if $self->settings->{sellprice_adjustment};
$self->handle_shoparticle($entry);
$self->handle_translations($entry);
my ($self, $entry) = @_;
my $bg = $self->bg_by->{id}->{ $entry->{object}->buchungsgruppen_id };
- die "Program logic error" if !$bg;
+ $bg ||= SL::DB::Buchungsgruppe->new(inventory_accno_id => 1, income_accno_id_0 => 1, expense_accno_id_0 => 1);
my $type = $self->settings->{parts_type};
if ($type eq 'mixed') {