summaryrefslogtreecommitdiff
path: root/LedgerSMB/IS.pm
diff options
context:
space:
mode:
Diffstat (limited to 'LedgerSMB/IS.pm')
-rw-r--r--LedgerSMB/IS.pm43
1 files changed, 25 insertions, 18 deletions
diff --git a/LedgerSMB/IS.pm b/LedgerSMB/IS.pm
index 0a7d6486..724dc4f2 100644
--- a/LedgerSMB/IS.pm
+++ b/LedgerSMB/IS.pm
@@ -1081,27 +1081,34 @@ sub post_invoice {
$dbh, "invoice", "allocated",
qq|id = $ref->{id}|, $qty * -1
);
+ my $linetotal = $qty*$ref->{sellprice};
$allocated += $qty;
+ $query = qq|
+ INSERT INTO acc_trans
+ (trans_id, chart_id, amount,
+ transdate, project_id, invoice_id)
+ VALUES (?, ?, ?, ?, ?, ?)|;
+ my $sth1 = $dbh->prepare($query);
+ $sth1->execute(
+ $form->{id}, $form->{"expense_accno_id_$i"},
+ $linetotal, $form->{transdate},
+ $form->{"project_id_$i"}, $ref->{id}
+ ) || $form->dberror($query);
+
+ $linetotal = (-1)*$linetotal;
+ $query = qq|
+ INSERT INTO acc_trans
+ (trans_id, chart_id, amount,
+ transdate, project_id, invoice_id)
+ VALUES (?, ?, ?, ?, ?, ?)|;
+ $sth1 = $dbh->prepare($query);
+ $sth1->execute(
+ $form->{id}, $form->{"inventory_accno_id_$i"},
+ $linetotal, $form->{transdate},
+ $form->{"project_id_$i"}, $ref->{id}
+ ) || $form->dberror($query);
last if ( ( $totalqty += $qty ) >= 0 );
}
-
- $query = qq|
- INSERT INTO acc_trans
- (trans_id, chart_id, amount,
- transdate, project_id)
- VALUES (?, ?, ?, ?, ?)|;
- my $sth = $dbh->prepare($query);
- $sth->execute(
- $form->{id},
- $form->{"expense_accno_id_$i"},
- $total_inventory, $form->{transdate},
- $form->{"project_id_$i"}
- ) || $form->dberror($query);
-
- $total_inventory = (-1)*$total_inventory;
- $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, project_id) VALUES (?, ?, ?, ?, ?)|;
- $sth = $dbh->prepare($query);
- $sth->execute($form->{id}, $form->{"inventory_accno_id_$i"}, $total_inventory, $form->{transdate}, $form->{"project_id_$i"} ) || $form->dberror($query);
}
}
}