push(@{ $form->{paymentaccount} }, $description);
push(@{ $form->{paymentdate} }, $form->{"datepaid_$i"});
push(@{ $form->{paymentsource} }, $form->{"source_$i"});
+ push(@{ $form->{paymentmemo} }, $form->{"memo_$i"});
$form->{paid} += $form->parse_amount($myconfig, $form->{"paid_$i"});
}
if (!$form->{employee_id}) {
$form->get_employee($dbh);
}
-
+
$form->{defaultcurrency} = $form->get_default_currency($myconfig);
($null, $form->{department_id}) = split(/--/, $form->{department});
$amount = $netamount + $tax;
# save AR record
+ #erweiterung fuer lieferscheinnummer (donumber) 12.02.09 jb
+
$query = qq|UPDATE ar set
invnumber = ?, ordnumber = ?, quonumber = ?, cusordnumber = ?,
transdate = ?, orddate = ?, quodate = ?, customer_id = ?,
curr = ?, department_id = ?, payment_id = ?, taxincluded = ?,
type = ?, language_id = ?, taxzone_id = ?, shipto_id = ?,
employee_id = ?, salesman_id = ?, storno_id = ?, storno = ?,
- cp_id = ?, marge_total = ?, marge_percent = ?,
+ cp_id = ?, marge_total = ?, marge_percent = ?,
globalproject_id = ?, delivery_customer_id = ?,
- transaction_description = ?, delivery_vendor_id = ?
+ transaction_description = ?, delivery_vendor_id = ?,
+ donumber = ?
WHERE id = ?|;
@values = ( $form->{"invnumber"}, $form->{"ordnumber"}, $form->{"quonumber"}, $form->{"cusordnumber"},
- conv_date($form->{"invdate"}), conv_date($form->{"orddate"}), conv_date($form->{"quodate"}), conv_i($form->{"customer_id"}),
- $amount, $netamount, $form->{"paid"}, conv_date($form->{"datepaid"}),
+ conv_date($form->{"invdate"}), conv_date($form->{"orddate"}), conv_date($form->{"quodate"}), conv_i($form->{"customer_id"}),
+ $amount, $netamount, $form->{"paid"}, conv_date($form->{"datepaid"}),
conv_date($form->{"duedate"}), conv_date($form->{"deliverydate"}), '1', $form->{"shippingpoint"},
$form->{"shipvia"}, conv_i($form->{"terms"}), $form->{"notes"}, $form->{"intnotes"},
$form->{"currency"}, conv_i($form->{"department_id"}), conv_i($form->{"payment_id"}), $form->{"taxincluded"} ? 't' : 'f',
$form->{"type"}, conv_i($form->{"language_id"}), conv_i($form->{"taxzone_id"}), conv_i($form->{"shipto_id"}),
- conv_i($form->{"employee_id"}), conv_i($form->{"salesman_id"}), conv_i($form->{storno_id}), $form->{"storno"} ? 't' : 'f',
+ conv_i($form->{"employee_id"}), conv_i($form->{"salesman_id"}), conv_i($form->{storno_id}), $form->{"storno"} ? 't' : 'f',
conv_i($form->{"cp_id"}), 1 * $form->{marge_total} , 1 * $form->{marge_percent},
- conv_i($form->{"globalproject_id"}), conv_i($form->{"delivery_customer_id"}),
+ conv_i($form->{"globalproject_id"}), conv_i($form->{"delivery_customer_id"}),
$form->{transaction_description}, conv_i($form->{"delivery_vendor_id"}),
+ $form->{"donumber"}, #das entsprechende feld lieferscheinnummer aus der html-form 12.02.09 jb
conv_i($form->{"id"}));
do_query($form, $dbh, $query, @values);
-
+
if($form->{"formname"} eq "credit_note") {
for my $i (1 .. $form->{rowcount}) {
$query = qq|UPDATE parts SET onhand = onhand - ? WHERE id = ?|;
do_query($form, $dbh, $query, @values);
}
}
-
+
if ($form->{storno}) {
$query =
qq!UPDATE ar SET
$main::lxdebug->enter_sub();
my ($dbh, $form, $id, $totalqty, $basefactor, $row) = @_;
+
+ $basefactor ||= 1;
+
$form->{taxzone_id} *=1;
my $transdate = $form->{invdate} ? $dbh->quote($form->{invdate}) : "current_date";
my $taxzone_id = $form->{"taxzone_id"} * 1;
# total expenses and inventory
# sellprice is the cost of the item
- my $linetotal = $form->round_amount(($ref->{sellprice} * $qty) / $basefactor, 2);
+ my $linetotal = $form->round_amount(($ref->{sellprice} * $qty) / ( $basefactor || 1 ), 2);
if (!$main::eur) {
$ref->{expense_accno} = ($form->{"expense_accno_$row"}) ? $form->{"expense_accno_$row"} : $ref->{expense_accno};
my $id = conv_i($form->{id});
# retrieve invoice
+ #erweiterung um das entsprechende feld lieferscheinnummer (a.donumber) in der html-maske anzuzeigen 12.02.2009 jb
+
$query =
qq|SELECT
a.invnumber, a.ordnumber, a.quonumber, a.cusordnumber,
a.language_id, a.delivery_customer_id, a.delivery_vendor_id, a.type,
a.transaction_description,
a.marge_total, a.marge_percent,
- e.name AS employee
+ e.name AS employee, a.donumber
FROM ar a
LEFT JOIN employee e ON (e.id = a.employee_id)
WHERE a.id = ?|;
my $transdate = $form->{deliverydate} ? $dbh->quote($form->{deliverydate})
: $form->{invdate} ? $dbh->quote($form->{invdate})
: "current_date";
-
+
my $taxzone_id = $form->{taxzone_id} *= 1;
$taxzone_id = 0 if (0 > $taxzone_id) || (3 < $taxzone_id);
LEFT JOIN chart c ON (c.id = t.chart_id)
WHERE t.id IN
(SELECT tk.tax_id FROM taxkeys tk
- WHERE tk.chart_id = (SELECT id FROM chart WHERE accno = ?)
+ WHERE tk.chart_id = (SELECT id FROM chart WHERE accno = ?)
AND startdate <= date($transdate)
ORDER BY startdate DESC LIMIT 1)
ORDER BY c.accno|;
# get customer
$query =
qq|SELECT
- c.id AS customer_id, c.name AS customer, c.discount, c.creditlimit, c.terms,
+ c.id AS customer_id, c.name AS customer, c.discount as customer_discount, c.creditlimit, c.terms,
c.email, c.cc, c.bcc, c.language_id, c.payment_id,
c.street, c.zipcode, c.city, c.country,
c.notes AS intnotes, c.klass as customer_klass, c.taxzone_id, c.salesman_id,
my $where = qq|NOT p.obsolete = '1'|;
my @values;
- foreach my $column (qw(p.partnumber p.description pgpartsgroup)) {
+ foreach my $column (qw(p.partnumber p.description pgpartsgroup )) {
my ($table, $field) = split m/\./, $column;
next if !$form->{"${field}_${i}"};
$where .= qq| AND lower(${column}) ILIKE ?|;
push @values, '%' . $form->{"${field}_${i}"} . '%';
}
+ #Es soll auch nach EAN gesucht werden, ohne Einschränkung durch Beschreibung
+ if ($form->{"partnumber_$i"} && !$form->{"description_$i"}) {
+ $where .= qq| OR (NOT p.obsolete = '1' AND p.ean = ? )|;
+ push @values, $form->{"partnumber_$i"};
+ }
+
if ($form->{"description_$i"}) {
$where .= qq| ORDER BY p.description|;
} else {
my $i = 0;
while (my $ptr = $stw->fetchrow_hashref('NAME_lc')) {
- # if ($customertax{$ref->{accno}})
+ # if ($customertax{$ref->{accno}})
if (($ptr->{accno} eq "") && ($ptr->{rate} == 0)) {
$i++;
$ptr->{accno} = $i;
} else {
- $form->{"sellprice_$i"} = $pkr->{price};
+# this sub should not set anything and only return. --sschoeling, 20090506
+# $form->{"sellprice_$i"} = $pkr->{price};
}
} elsif ($pkr->{price} == $pkr->{default_sellprice}) {