map { $form->{$_} = $form->parse_amount($myconfig, $form->{$_}) }
qw(rop weight listprice sellprice gv lastcost);
- my $makemodel = (($form->{make_1}) || ($form->{model_1})) ? 1 : 0;
+ my $makemodel = ($form->{make_1} || $form->{model_1} || ($form->{makemodel_rows} > 1)) ? 1 : 0;
$form->{assembly} = ($form->{item} eq 'assembly') ? 1 : 0;
if ($form->{"item"} ne "assembly") {
$subq_expense =
- qq|(SELECT bg.expense_accno_id_0
- FROM buchungsgruppen bg
- WHERE bg.id = | . conv_i($form->{"buchungsgruppen_id"}, 'NULL') . qq|)|;
+ qq|(SELECT tc.expense_accno_id
+ FROM taxzone_charts tc
+ WHERE tc.buchungsgruppen_id = | . conv_i($form->{"buchungsgruppen_id"}, 'NULL') . qq| and tc.taxzone_id = 0)|;
} else {
$subq_expense = "NULL";
}
buchungsgruppen_id = ?,
payment_id = ?,
inventory_accno_id = $subq_inventory,
- income_accno_id = (SELECT bg.income_accno_id_0 FROM buchungsgruppen bg WHERE bg.id = ?),
+ income_accno_id = (SELECT tc.income_accno_id FROM taxzone_charts tc WHERE tc.taxzone_id = 0 and tc.buchungsgruppen_id = ?),
expense_accno_id = $subq_expense,
obsolete = ?,
image = ?,
$query = qq|INSERT INTO prices (parts_id, pricegroup_id, price) VALUES(?, ?, ?)|;
$sth = prepare_query($form, $dbh, $query);
- # insert price records only if different to sellprice
for my $i (1 .. $form->{price_rows}) {
my $price = $form->parse_amount($myconfig, $form->{"price_$i"});
- next unless $price && ($price != $form->{sellprice});
+ next unless $price;
@values = (conv_i($form->{id}), conv_i($form->{"pricegroup_id_$i"}), $price);
do_statement($form, $sth, $query, @values);
$main::lxdebug->leave_sub();
- return wantarray ? @{ $form->{parts} } : $form->{parts};
+ return @{ $form->{parts} };
}
sub _create_filter_for_priceupdate {
SELECT
p.id, p.inventory_accno_id AS is_part,
bg.inventory_accno_id,
- bg.income_accno_id_$form->{taxzone_id} AS income_accno_id,
- bg.expense_accno_id_$form->{taxzone_id} AS expense_accno_id,
+ tc.income_accno_id AS income_accno_id,
+ tc.expense_accno_id AS expense_accno_id,
c1.accno AS inventory_accno,
c2.accno AS income_accno,
c3.accno AS expense_accno
FROM parts p
LEFT JOIN buchungsgruppen bg ON p.buchungsgruppen_id = bg.id
+ LEFT JOIN taxzone_charts tc on bg.id = tc.buchungsgruppen_id
LEFT JOIN chart c1 ON bg.inventory_accno_id = c1.id
- LEFT JOIN chart c2 ON bg.income_accno_id_$form->{taxzone_id} = c2.id
- LEFT JOIN chart c3 ON bg.expense_accno_id_$form->{taxzone_id} = c3.id
- WHERE p.id IN ($in)
+ LEFT JOIN chart c2 ON tc.income_accno_id = c2.id
+ LEFT JOIN chart c3 ON tc.expense_accno_id = c3.id
+ WHERE
+ tc.taxzone_id = '$form->{taxzone_id}'
+ and
+ p.id IN ($in)
SQL
my $sth_tax = prepare_query($::form, $dbh, <<SQL);