From: Sven Schöling Date: Wed, 30 Dec 2009 15:26:04 +0000 (+0100) Subject: Merge branch 'ir_templates' X-Git-Tag: release-2.6.1beta1~72 X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/commitdiff_plain/9bd3030a376850c427c102c6e0c54f19bd19332e?hp=-c Merge branch 'ir_templates' Conflicts: SL/OP.pm --- 9bd3030a376850c427c102c6e0c54f19bd19332e diff --combined SL/CP.pm index e29622fb3,64fd988c5..b7e6241de --- a/SL/CP.pm +++ b/SL/CP.pm @@@ -164,9 -164,9 +164,9 @@@ sub get_openinvoices my $query = qq|SELECT a.id, a.invnumber, a.transdate, a.amount, a.paid, a.curr | . - qq|FROM $arap a | . + qq|FROM $arap a | . qq|WHERE (a.${vc}_id = ?) AND (a.curr = ? $curr_null) AND NOT (a.amount = paid)| . - qq|ORDER BY a.id|; + qq|ORDER BY a.id|; my $sth = prepare_execute_query($form, $dbh, $query, conv_i($form->{"${vc}_id"}), $form->{currency}); @@@ -304,7 -304,7 +304,7 @@@ sub process_payment qq|INSERT INTO acc_trans (trans_id, chart_id, transdate, amount, | . qq| cleared, fx_transaction) | . qq|VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, ?, ?)|; - @values = (conv_i($form->{"id_$i"}), $paymentaccno, + @values = (conv_i($form->{"id_$i"}), $paymentaccno, conv_date($form->{datepaid}), ($amount * $ml * -1), '0', '1'); do_query($form, $dbh, $query, @values); @@@ -345,7 -345,7 +345,7 @@@ # update AR/AP transaction $query = qq|UPDATE $arap SET $paid, datepaid = ? WHERE id = ?|; - @values = (conv_date($form->{datepaid}), conv_i($form->{"id_$i"})); + @values = (conv_date($form->{datepaid}), conv_i($form->{"id_$i"})); do_query($form, $dbh, $query, @values); # saving the history $form->{id} = $form->{"id_$i"}; @@@ -358,12 -358,15 +358,12 @@@ } } - # record a AR/AP with a payment - if ($form->round_amount($paymentamount, 2) > 0) { - $form->{invnumber} = ""; - OP::overpayment("", $myconfig, $form, $dbh, $paymentamount, $ml, 1); - } - my $rc; if ($form->round_amount($paymentamount, 2) < 0) { - $dbh->rollback; + # Hier werden negativen Zahlungseingänge abgefangen + # Besser: in Oberfläche schon prüfen + # Zahlungsein- und ausgänge sind immer positiv + $dbh->rollback; $rc = 0; } if ($form->round_amount($paymentamount, 2) == 0) { diff --combined SL/IC.pm index 9cd3ed740,54cca39dd..080aedffe --- a/SL/IC.pm +++ b/SL/IC.pm @@@ -497,8 -497,8 +497,8 @@@ sub save if (($form->{"make_$i"}) || ($form->{"model_$i"})) { $query = qq|INSERT INTO makemodel (parts_id, make, model) | . - qq|VALUES (?, ?, ?)|; - @values = (conv_i($form->{id}), conv_i($form->{"make_$i"}), $form->{"model_$i"}); + qq|VALUES (?, ?, ?)|; + @values = (conv_i($form->{id}), conv_i($form->{"make_$i"}), $form->{"model_$i"}); do_query($form, $dbh, $query, @values); } @@@ -511,7 -511,7 +511,7 @@@ $query = qq|INSERT INTO partstax (parts_id, chart_id) VALUES (?, (SELECT id FROM chart WHERE accno = ?))|; - @values = (conv_i($form->{id}), $item); + @values = (conv_i($form->{id}), $item); do_query($form, $dbh, $query, @values); } } @@@ -525,8 -525,8 +525,8 @@@ if ($form->{"qty_$i"} != 0) { $form->{"bom_$i"} *= 1; $query = qq|INSERT INTO assembly (id, parts_id, qty, bom) | . - qq|VALUES (?, ?, ?, ?)|; - @values = (conv_i($form->{id}), conv_i($form->{"id_$i"}), conv_i($form->{"qty_$i"}), $form->{"bom_$i"} ? 't' : 'f'); + qq|VALUES (?, ?, ?, ?)|; + @values = (conv_i($form->{id}), conv_i($form->{"id_$i"}), conv_i($form->{"qty_$i"}), $form->{"bom_$i"} ? 't' : 'f'); do_query($form, $dbh, $query, @values); } } @@@ -937,7 -937,9 +937,9 @@@ sub all_parts #my $order_clause = " ORDER BY $form->{sort} $sort_order"; - my $limit_clause = " LIMIT 100" if $form->{top100}; + my $limit_clause; + $limit_clause = " LIMIT 100" if $form->{top100}; + $limit_clause = " LIMIT " . $form->{limit} * 1 if $form->{limit} * 1; #=== joins and complicated filters ========# @@@ -1060,6 -1062,8 +1062,8 @@@ } $main::lxdebug->leave_sub(); + + return wantarray ? @{ $form->{parts} } : $form->{parts}; } sub _create_filter_for_priceupdate { @@@ -1442,7 -1446,7 +1446,7 @@@ sub follow_account_chain qq| cnew.accno | . qq|FROM chart c | . qq|LEFT JOIN chart cnew ON c.new_chart_id = cnew.id | . - qq|WHERE (c.id = ?) AND NOT c.new_chart_id ISNULL AND (c.new_chart_id > 0)|; + qq|WHERE (c.id = ?) AND NOT c.new_chart_id IS NULL AND (c.new_chart_id > 0)|; $sth = prepare_query($form, $dbh, $query); while (1) { diff --combined SL/OE.pm index 3f7dbaa75,b731dc1cc..b1e1f9f30 --- a/SL/OE.pm +++ b/SL/OE.pm @@@ -43,20 -43,6 +43,6 @@@ use SL::IC use strict; - =head1 NAME - - OE.pm - Order entry module - - =head1 DESCRIPTION - - OE.pm is part of the OE module. OE is responsible for sales and purchase orders, as well as sales quotations and purchase requests. This file abstracts the database tables C and C. - - =head1 FUNCTIONS - - =over 4 - - =cut - sub transactions { $main::lxdebug->enter_sub(); @@@ -957,22 -943,6 +943,6 @@@ sub retrieve return $rc; } - =item retrieve_simple PARAMS - - simple OE retrieval by id. does not look up customer, vendor, units or any other stuff. only oe and orderitems. - - my $order = retrieve_simple(id => 2); - - $order => { - %_OE_CONTENT, - orderitems => [ - %_ORDERITEM_ROW_1, - %_ORDERITEM_ROW_2, - ... - ] - } - - =cut sub retrieve_simple { $main::lxdebug->enter_sub(); @@@ -1227,13 -1197,13 +1197,13 @@@ sub order_details } $query = qq|SELECT p.partnumber, p.description, p.unit, a.qty, | . - qq|pg.partsgroup | . - qq|FROM assembly a | . - qq| JOIN parts p ON (a.parts_id = p.id) | . - qq| LEFT JOIN partsgroup pg ON (p.partsgroup_id = pg.id) | . - qq| WHERE a.bom = '1' | . - qq| AND a.id = ? | . $sortorder; - @values = ($form->{"id_$i"}); + qq|pg.partsgroup | . + qq|FROM assembly a | . + qq| JOIN parts p ON (a.parts_id = p.id) | . + qq| LEFT JOIN partsgroup pg ON (p.partsgroup_id = pg.id) | . + qq| WHERE a.bom = '1' | . + qq| AND a.id = ? | . $sortorder; + @values = ($form->{"id_$i"}); $sth = $dbh->prepare($query); $sth->execute(@values) || $form->dberror($query); @@@ -1307,37 -1277,37 +1277,70 @@@ sub project_description return $value; } +########################## +# Get data for the submitted order id +# from database +# +sub get_order_data_by_ordnumber { + $main::lxdebug->enter_sub(); + + my $self = shift; + my %params = @_; + + Common::check_params(\%params, qw(ordnumber)); + + my $form = $main::form; + my %myconfig = %main::myconfig; + my $dbh = $form->get_standard_dbh(); + + my @values = ($params{ordnumber}); + + # We query the database for the fields we need using the submitted "ordnumber" + my $query = <leave_sub(); + + return $result; +} + 1; + + __END__ + + =head1 NAME + + OE.pm - Order entry module + + =head1 DESCRIPTION + + OE.pm is part of the OE module. OE is responsible for sales and purchase orders, as well as sales quotations and purchase requests. This file abstracts the database tables C and C. + + =head1 FUNCTIONS + + =over 4 + + =item retrieve_simple PARAMS + + simple OE retrieval by id. does not look up customer, vendor, units or any other stuff. only oe and orderitems. + + my $order = retrieve_simple(id => 2); + + $order => { + %_OE_CONTENT, + orderitems => [ + %_ORDERITEM_ROW_1, + %_ORDERITEM_ROW_2, + ... + ] + } + + =back + + =cut diff --combined bin/mozilla/cp.pl index e0c567934,94f82e694..51624331c --- a/bin/mozilla/cp.pl +++ b/bin/mozilla/cp.pl @@@ -32,6 -32,7 +32,6 @@@ #====================================================================== use SL::CP; -use SL::OP; use SL::IS; use SL::IR; @@@ -144,17 -145,17 +144,17 @@@ sub form_header $form->format_amount(\%myconfig, $form->{exchangerate}); if ($form->{forex}) { $exchangerate = qq| - - | . $locale->text('Exchangerate') . qq| - {exchangerate}>$form->{exchangerate} - + + | . $locale->text('Exchangerate') . qq| + {exchangerate}>$form->{exchangerate} + |; } else { $exchangerate = qq| - - | . $locale->text('Exchangerate') . qq| - {exchangerate}> - + + | . $locale->text('Exchangerate') . qq| + {exchangerate}> + |; } } @@@ -339,9 -340,9 +339,9 @@@ sub list_invoices - - - + + + |; $column_data{invnumber} = @@@ -404,7 -405,7 +404,7 @@@ $j++; $j %= 2; print qq| - + |; map { print "$column_data{$_}\n" } @column_index; print qq| @@@ -465,7 -466,7 +465,7 @@@ sub form_footer $format .= qq|
$invoice
$invoice