$form->{PRICEGROUPS} = selectall_hashref_query($form, $dbh, $query);
#find not used pricegroups
$form->{PRICEGROUPS} = selectall_hashref_query($form, $dbh, $query);
#find not used pricegroups
$form->{"klass_$i"} = "$name->{id}";
$form->{"pricegroup_id_$i"} = "$name->{id}";
$form->{"pricegroup_$i"} = "$name->{pricegroup}";
$form->{"klass_$i"} = "$name->{id}";
$form->{"pricegroup_id_$i"} = "$name->{id}";
$form->{"pricegroup_$i"} = "$name->{pricegroup}";
if ($form->{makemodel}) {
$query = qq|SELECT m.make, m.model FROM makemodel m | .
qq|WHERE m.parts_id = ?|;
if ($form->{makemodel}) {
$query = qq|SELECT m.make, m.model FROM makemodel m | .
qq|WHERE m.parts_id = ?|;
$sth = $dbh->prepare($query);
$sth->execute(@values) || $form->dberror("$query (" . join(', ', @values) . ")");
$sth = $dbh->prepare($query);
$sth->execute(@values) || $form->dberror("$query (" . join(', ', @values) . ")");
FROM chart c, partstax pt
WHERE (pt.chart_id = c.id) AND (pt.parts_id = ?)|;
$sth = prepare_execute_query($form, $dbh, $query, conv_i($form->{id}));
FROM chart c, partstax pt
WHERE (pt.chart_id = c.id) AND (pt.parts_id = ?)|;
$sth = prepare_execute_query($form, $dbh, $query, conv_i($form->{id}));
$form->{"klass_$i"} = "$pg->{id}";
$form->{"price_$i"} = $form->format_amount($myconfig, $form->{"price_$i"}, -2);
$form->{"pricegroup_id_$i"} = "$pg->{id}";
$form->{"klass_$i"} = "$pg->{id}";
$form->{"price_$i"} = $form->format_amount($myconfig, $form->{"price_$i"}, -2);
$form->{"pricegroup_id_$i"} = "$pg->{id}";
do_query($form, $dbh, qq|DELETE FROM translation WHERE parts_id = ?|, conv_i($form->{id}));
if ($form->{language_values} ne "") {
do_query($form, $dbh, qq|DELETE FROM translation WHERE parts_id = ?|, conv_i($form->{id}));
if ($form->{language_values} ne "") {
my ($language_id, $translation, $longdescription) = split(/--\+\+--/, $item);
if ($translation ne "") {
$query = qq|INSERT into translation (parts_id, language_id, translation, longdescription)
my ($language_id, $translation, $longdescription) = split(/--\+\+--/, $item);
if ($translation ne "") {
$query = qq|INSERT into translation (parts_id, language_id, translation, longdescription)
if ($form->{"IC_tax_$item"}) {
$query =
qq|INSERT INTO partstax (parts_id, chart_id)
if ($form->{"IC_tax_$item"}) {
$query =
qq|INSERT INTO partstax (parts_id, chart_id)
- $stw = prepare_execute_query($form, $dbh, $query, $accno_id);
+ my $stw = prepare_execute_query($form, $dbh, $query, $accno_id);
$form->{taxaccount} .= "$ptr->{accno} ";
if (!($form->{taxaccount2} =~ /\Q$ptr->{accno}\E/)) {
$form->{"$ptr->{accno}_rate"} = $ptr->{rate};
$form->{taxaccount} .= "$ptr->{accno} ";
if (!($form->{taxaccount2} =~ /\Q$ptr->{accno}\E/)) {
$form->{"$ptr->{accno}_rate"} = $ptr->{rate};
# and yes, that expression is designed to hold that array of regexes only once, so the map is kinda messy, sorry about that.
# ToDO: implement proper functional sorting
# Nette Idee von Sven, gibt aber Probleme wenn die Artikelnummern groesser als 32bit sind. Korrekt waere es, dass Sort-Natural-Modul zu nehmen
# and yes, that expression is designed to hold that array of regexes only once, so the map is kinda messy, sorry about that.
# ToDO: implement proper functional sorting
# Nette Idee von Sven, gibt aber Probleme wenn die Artikelnummern groesser als 32bit sind. Korrekt waere es, dass Sort-Natural-Modul zu nehmen
#$form->{sort} = join ', ', map { push @select_tokens, $_; ($table_prefix{$_} = "substring(partnumber,'[") . $_ } qw|^[:digit:]]+') [:digit:]]+')::INTEGER|
# if $form->{sort} eq 'partnumber';
#$form->{sort} = join ', ', map { push @select_tokens, $_; ($table_prefix{$_} = "substring(partnumber,'[") . $_ } qw|^[:digit:]]+') [:digit:]]+')::INTEGER|
# if $form->{sort} eq 'partnumber';
push @select_tokens, @qsooqr_flags if $bsooqr;
push @select_tokens, @deliverydate_flags if $bsooqr && $form->{l_deliverydate};
push @select_tokens, $q_assembly_lastcost if ($form->{searchitems} eq 'assembly') && $form->{l_lastcost};
push @select_tokens, @qsooqr_flags if $bsooqr;
push @select_tokens, @deliverydate_flags if $bsooqr && $form->{l_deliverydate};
push @select_tokens, $q_assembly_lastcost if ($form->{searchitems} eq 'assembly') && $form->{l_lastcost};
push(@assemblies, $item);
do_statement($form, $sth, $query, conv_i($item->{id}));
push(@assemblies, $item);
do_statement($form, $sth, $query, conv_i($item->{id}));
$ref->{assemblyitem} = 1;
map { $ref->{$_} /= $ref->{factor} || 1 } qw(sellprice listprice lastcost);
push(@assemblies, $ref);
$ref->{assemblyitem} = 1;
map { $ref->{$_} /= $ref->{factor} || 1 } qw(sellprice listprice lastcost);
push(@assemblies, $ref);
$where .= qq| AND p.id IN (SELECT DISTINCT parts_id FROM makemodel WHERE $column ILIKE ?|;
push(@where_values, '%' . $form->{$column} . '%');
}
$where .= qq| AND p.id IN (SELECT DISTINCT parts_id FROM makemodel WHERE $column ILIKE ?|;
push(@where_values, '%' . $form->{$column} . '%');
}
- my ($result) = selectfirst_array_query($from, $dbh, $query, @where_values);
+ my ($result) = selectfirst_array_query($form, $dbh, $query, @where_values);
qq|UPDATE parts SET $column = $column $operator ?
WHERE id IN
(SELECT p.id
FROM parts p
LEFT JOIN partsgroup pg ON (p.partsgroup_id = pg.id)
WHERE $where)|;
qq|UPDATE parts SET $column = $column $operator ?
WHERE id IN
(SELECT p.id
FROM parts p
LEFT JOIN partsgroup pg ON (p.partsgroup_id = pg.id)
WHERE $where)|;
- my $result = do_query($from, $dbh, $query, $value, @where_values);
+ my $result = do_query($form, $dbh, $query, $value, @where_values);
while (1) {
do_statement($form, $sth, $query, $accno_id);
while (1) {
do_statement($form, $sth, $query, $accno_id);
last unless ($ref && $ref->{"is_valid"} &&
!grep({ $_ == $ref->{"new_chart_id"} } @visited_accno_ids));
$accno_id = $ref->{"new_chart_id"};
last unless ($ref && $ref->{"is_valid"} &&
!grep({ $_ == $ref->{"new_chart_id"} } @visited_accno_ids));
$accno_id = $ref->{"new_chart_id"};