Merge branch 'master' of github.com:kivitendo/kivitendo-erp
authorNiclas Zimmermann <niclas@kivitendo-premium.de>
Tue, 26 Feb 2013 15:30:04 +0000 (16:30 +0100)
committerNiclas Zimmermann <niclas@kivitendo-premium.de>
Tue, 26 Feb 2013 15:30:04 +0000 (16:30 +0100)
SL/AP.pm
SL/AR.pm
SL/DB/Invoice.pm
SL/DB/MetaSetup/AccTransaction.pm
SL/GL.pm
SL/IR.pm
SL/IS.pm
SL/SEPA.pm
sql/Pg-upgrade2/add_chart_link_to_acc_trans.sql [new file with mode: 0644]
sql/Pg-upgrade2/add_fkey_tax_id_to_acc_trans.sql

index 03a21e3..54abcd1 100644 (file)
--- a/SL/AP.pm
+++ b/SL/AP.pm
@@ -209,24 +209,28 @@ sub post_transaction {
         # insert detail records in acc_trans
         $query =
           qq|INSERT INTO acc_trans | .
-          qq|  (trans_id, chart_id, amount, transdate, project_id, taxkey, tax_id)| .
+          qq|  (trans_id, chart_id, amount, transdate, project_id, taxkey, tax_id, chart_link)| .
           qq|VALUES (?, (SELECT c.id FROM chart c WHERE c.accno = ?), | .
-          qq|  ?, ?, ?, ?, ?)|;
+          qq|  ?, ?, ?, ?, ?,| .
+          qq| (SELECT c.link FROM chart c WHERE c.accno = ?))|;
         @values = ($form->{id}, $form->{AP_amounts}{"amount_$i"},
                    $form->{"amount_$i"}, conv_date($form->{transdate}),
-                   $project_id, $form->{"taxkey_$i"}, conv_i($form->{"tax_id_$i"}));
+                   $project_id, $form->{"taxkey_$i"}, conv_i($form->{"tax_id_$i"}),
+                   $form->{AP_amounts}{"amount_$i"});
         do_query($form, $dbh, $query, @values);
 
         if ($form->{"tax_$i"} != 0) {
           # insert detail records in acc_trans
           $query =
             qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, | .
-            qq|  project_id, taxkey, tax_id) | .
+            qq|  project_id, taxkey, tax_id, chart_link) | .
             qq|VALUES (?, (SELECT c.id FROM chart c WHERE c.accno = ?), | .
-            qq|  ?, ?, ?, ?, ?)|;
+            qq|  ?, ?, ?, ?, ?,| .
+            qq| (SELECT c.link FROM chart c WHERE c.accno = ?))|;
           @values = ($form->{id}, $form->{AP_amounts}{"tax_$i"},
                      $form->{"tax_$i"}, conv_date($form->{transdate}),
-                     $project_id, $form->{"taxkey_$i"}, conv_i($form->{"tax_id_$i"}));
+                     $project_id, $form->{"taxkey_$i"}, conv_i($form->{"tax_id_$i"}),
+                     $form->{AP_amounts}{"tax_$i"});
           do_query($form, $dbh, $query, @values);
         }
 
@@ -235,7 +239,7 @@ sub post_transaction {
 
     # add payables
     $query =
-      qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, taxkey, tax_id) | .
+      qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, taxkey, tax_id, chart_link) | .
       qq|VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, | .
       qq|        (SELECT taxkey_id FROM chart WHERE accno = ?),| . 
       qq|        (SELECT tax_id| . 
@@ -244,9 +248,11 @@ sub post_transaction {
       qq|                          FROM chart| . 
       qq|                          WHERE accno = ?)| . 
       qq|         AND startdate <= ?| . 
-      qq|         ORDER BY startdate DESC LIMIT 1))|;
+      qq|         ORDER BY startdate DESC LIMIT 1),| .
+      qq|        (SELECT c.link FROM chart c WHERE c.accno = ?))|;
     @values = ($form->{id}, $form->{AP_amounts}{payables}, $form->{payables},
-               conv_date($form->{transdate}), $form->{AP_amounts}{payables}, $form->{AP_amounts}{payables}, conv_date($form->{transdate}));
+               conv_date($form->{transdate}), $form->{AP_amounts}{payables}, $form->{AP_amounts}{payables}, conv_date($form->{transdate}),
+               $form->{AP_amounts}{payables});
     do_query($form, $dbh, $query, @values);
   }
 
@@ -290,7 +296,7 @@ sub post_transaction {
                             2);
       if ($form->{payables}) {
         $query =
-          qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, project_id, taxkey, tax_id) | .
+          qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, project_id, taxkey, tax_id, chart_link) | .
           qq|VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, ?, | .
           qq|        (SELECT taxkey_id FROM chart WHERE accno = ?),| .
           qq|        (SELECT tax_id| . 
@@ -299,10 +305,12 @@ sub post_transaction {
           qq|                          FROM chart| . 
           qq|                          WHERE accno = ?)| . 
           qq|         AND startdate <= ?| . 
-          qq|         ORDER BY startdate DESC LIMIT 1))|;
+          qq|         ORDER BY startdate DESC LIMIT 1),| .
+          qq|        (SELECT c.link FROM chart c WHERE c.accno = ?))|;
         @values = ($form->{id}, $form->{AP_payables}, $amount,
                    conv_date($form->{"datepaid_$i"}), $project_id,
-                   $form->{AP_payables}, $form->{AP_payables}, conv_date($form->{"datepaid_$i"}));
+                   $form->{AP_payables}, $form->{AP_payables}, conv_date($form->{"datepaid_$i"}),
+                   $form->{AP_payables});
         do_query($form, $dbh, $query, @values);
       }
       $form->{payables} = $amount;
@@ -310,7 +318,7 @@ sub post_transaction {
       # add payment
       my $gldate = (conv_date($form->{"gldate_$i"}))? conv_date($form->{"gldate_$i"}) : conv_date($form->current_date($myconfig));
       $query =
-        qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, gldate, source, memo, project_id, taxkey, tax_id) | .
+        qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, gldate, source, memo, project_id, taxkey, tax_id, chart_link) | .
         qq|VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, ?, ?, ?, ?, | .
         qq|        (SELECT taxkey_id FROM chart WHERE accno = ?), | . 
         qq|        (SELECT tax_id| .
@@ -319,11 +327,13 @@ sub post_transaction {
         qq|                          FROM chart| . 
         qq|                          WHERE accno = ?)| . 
         qq|         AND startdate <= ?| . 
-        qq|         ORDER BY startdate DESC LIMIT 1))|;
+        qq|         ORDER BY startdate DESC LIMIT 1),| .
+        qq|        (SELECT c.link FROM chart c WHERE c.accno = ?))|;
       @values = ($form->{id}, $form->{"AP_paid_account_$i"}, $form->{"paid_$i"},
                  conv_date($form->{"datepaid_$i"}), $gldate, $form->{"source_$i"},
                  $form->{"memo_$i"}, $project_id, $form->{"AP_paid_account_$i"},
-                 $form->{"AP_paid_account_$i"}, conv_date($form->{"datepaid_$i"}));
+                 $form->{"AP_paid_account_$i"}, conv_date($form->{"datepaid_$i"}),
+                 $form->{"AP_paid_account_$i"});
       do_query($form, $dbh, $query, @values);
 
       # add exchange rate difference
@@ -332,7 +342,7 @@ sub post_transaction {
                             ($form->{"exchangerate_$i"} - 1), 2);
       if ($amount != 0) {
         $query =
-          qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, fx_transaction, cleared, project_id, taxkey, tax_id) | .
+          qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, fx_transaction, cleared, project_id, taxkey, tax_id, chart_link) | .
           qq|VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, 't', 'f', ?, | .
           qq|        (SELECT taxkey_id FROM chart WHERE accno = ?), | .
           qq|        (SELECT tax_id| . 
@@ -341,11 +351,13 @@ sub post_transaction {
           qq|                          FROM chart| . 
           qq|                          WHERE accno = ?)| . 
           qq|         AND startdate <= ?| . 
-          qq|         ORDER BY startdate DESC LIMIT 1))|;
+          qq|         ORDER BY startdate DESC LIMIT 1),| .
+          qq|        (SELECT c.link FROM chart c WHERE c.accno = ?))|;
         @values = ($form->{id}, $form->{"AP_paid_account_$i"}, $amount,
                    conv_date($form->{"datepaid_$i"}), $project_id,
                    $form->{"AP_paid_account_$i"},
-                   $form->{"AP_paid_account_$i"}, conv_date($form->{"datepaid_$i"}));
+                   $form->{"AP_paid_account_$i"}, conv_date($form->{"datepaid_$i"}),
+                   $form->{"AP_paid_account_$i"});
         do_query($form, $dbh, $query, @values);
       }
 
@@ -357,7 +369,7 @@ sub post_transaction {
 
       if ($amount != 0) {
         $query =
-          qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, fx_transaction, cleared, project_id, taxkey, tax_id) | .
+          qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, fx_transaction, cleared, project_id, taxkey, tax_id, chart_link) | .
           qq|VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, 't', 'f', ?, | .
           qq|        (SELECT taxkey_id FROM chart WHERE accno = ?)| .
           qq|        (SELECT tax_id| . 
@@ -366,13 +378,14 @@ sub post_transaction {
           qq|                          FROM chart| . 
           qq|                          WHERE accno = ?)| . 
           qq|         AND startdate <= ?| . 
-          qq|         ORDER BY startdate DESC LIMIT 1))|;
-        @values = ($form->{id}, ($amount > 0) ?
-                   $form->{fxgain_accno} : $form->{fxloss_accno},
+          qq|         ORDER BY startdate DESC LIMIT 1),| .
+          qq|        (SELECT c.link FROM chart c WHERE c.accno = ?))|;
+        @values = ($form->{id}, 
+                   ($amount > 0) ? $form->{fxgain_accno} : $form->{fxloss_accno},
                    $amount, conv_date($form->{"datepaid_$i"}), $project_id,
-                   ($amount > 0) ?
-                   $form->{fxgain_accno} : $form->{fxloss_accno},
-                   ($amount > 0) ? $form->{fxgain_accno} : $form->{fxloss_accno}, conv_date($form->{"datepaid_$i"}));
+                   ($amount > 0) ? $form->{fxgain_accno} : $form->{fxloss_accno},
+                   ($amount > 0) ? $form->{fxgain_accno} : $form->{fxloss_accno}, conv_date($form->{"datepaid_$i"}),
+                   ($amount > 0) ? $form->{fxgain_accno} : $form->{fxloss_accno});
         do_query($form, $dbh, $query, @values);
       }
 
index a953af4..7958495 100644 (file)
--- a/SL/AR.pm
+++ b/SL/AR.pm
@@ -172,25 +172,25 @@ sub post_transaction {
         my $project_id = conv_i($form->{"project_id_$i"});
 
         # insert detail records in acc_trans
-        $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, project_id, taxkey, tax_id)
-                     VALUES (?, (SELECT c.id FROM chart c WHERE c.accno = ?), ?, ?, ?, ?, ?)|;
+        $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, project_id, taxkey, tax_id, chart_link)
+                     VALUES (?, (SELECT c.id FROM chart c WHERE c.accno = ?), ?, ?, ?, ?, ?, (SELECT c.link FROM chart c WHERE c.accno = ?))|;
         @values = (conv_i($form->{id}), $form->{AR_amounts}{"amount_$i"}, conv_i($form->{"amount_$i"}), conv_date($form->{transdate}), $project_id,
-                   conv_i($form->{"taxkey_$i"}), conv_i($form->{"tax_id_$i"}));
+                   conv_i($form->{"taxkey_$i"}), conv_i($form->{"tax_id_$i"}), $form->{AR_amounts}{"amount_$i"});
         do_query($form, $dbh, $query, @values);
 
         if ($form->{"tax_$i"} != 0) {
           # insert detail records in acc_trans
-          $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, project_id, taxkey, tax_id)
-                       VALUES (?, (SELECT c.id FROM chart c WHERE c.accno = ?), ?, ?, ?, ?, ?)|;
+          $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, project_id, taxkey, tax_id, chart_link)
+                       VALUES (?, (SELECT c.id FROM chart c WHERE c.accno = ?), ?, ?, ?, ?, ?, (SELECT c.link FROM chart c WHERE c.accno = ?))|;
           @values = (conv_i($form->{id}), $form->{AR_amounts}{"tax_$i"}, conv_i($form->{"tax_$i"}), conv_date($form->{transdate}), $project_id,
-                     conv_i($form->{"taxkey_$i"}), conv_i($form->{"tax_id_$i"}));
+                     conv_i($form->{"taxkey_$i"}), conv_i($form->{"tax_id_$i"}), $form->{AR_amounts}{"tax_$i"});
           do_query($form, $dbh, $query, @values);
         }
       }
     }
 
     # add recievables
-    $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, taxkey, tax_id)
+    $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, taxkey, tax_id, chart_link)
                  VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, (SELECT taxkey_id FROM chart WHERE accno = ?),
                  (SELECT tax_id 
                   FROM taxkeys 
@@ -198,9 +198,10 @@ sub post_transaction {
                                    FROM chart 
                                    WHERE accno = ?) 
                   AND startdate <= ? 
-                  ORDER BY startdate DESC LIMIT 1))|;
+                  ORDER BY startdate DESC LIMIT 1),
+                 (SELECT c.link FROM chart c WHERE c.accno = ?))|;
     @values = (conv_i($form->{id}), $form->{AR_amounts}{receivables}, conv_i($form->{receivables}), conv_date($form->{transdate}),
-                $form->{AR_amounts}{receivables}, $form->{AR_amounts}{receivables}, conv_date($form->{transdate}));
+                $form->{AR_amounts}{receivables}, $form->{AR_amounts}{receivables}, conv_date($form->{transdate}), $form->{AR_amounts}{receivables});
     do_query($form, $dbh, $query, @values);
 
   } else {
@@ -237,7 +238,7 @@ sub post_transaction {
 
       if ($amount != 0) {
         # add receivable
-        $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, project_id, taxkey, tax_id)
+        $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, project_id, taxkey, tax_id, chart_link)
                      VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, ?, (SELECT taxkey_id FROM chart WHERE accno = ?),
                      (SELECT tax_id 
                       FROM taxkeys 
@@ -245,8 +246,11 @@ sub post_transaction {
                                        FROM chart 
                                        WHERE accno = ?) 
                       AND startdate <= ? 
-                      ORDER BY startdate DESC LIMIT 1))|;
-        @values = (conv_i($form->{id}), $form->{AR}{receivables}, $amount, conv_date($form->{"datepaid_$i"}), $project_id, $form->{AR}{receivables}, $form->{AR}{receivables}, conv_date($form->{"datepaid_$i"}));
+                      ORDER BY startdate DESC LIMIT 1),
+                     (SELECT c.link FROM chart c WHERE c.accno = ?))|;
+        @values = (conv_i($form->{id}), $form->{AR}{receivables}, $amount, conv_date($form->{"datepaid_$i"}), $project_id, $form->{AR}{receivables}, $form->{AR}{receivables}, conv_date($form->{"datepaid_$i"}),
+        $form->{AR}{receivables});
+
         do_query($form, $dbh, $query, @values);
       }
 
@@ -255,7 +259,7 @@ sub post_transaction {
         my $project_id = conv_i($form->{"paid_project_id_$i"});
         my $gldate = (conv_date($form->{"gldate_$i"}))? conv_date($form->{"gldate_$i"}) : conv_date($form->current_date($myconfig));
         $amount = $form->{"paid_$i"} * -1;
-        $query  = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, gldate, source, memo, project_id, taxkey, tax_id)
+        $query  = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, gldate, source, memo, project_id, taxkey, tax_id, chart_link)
                      VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, ?, ?, ?, ?, (SELECT taxkey_id FROM chart WHERE accno = ?),
                      (SELECT tax_id 
                       FROM taxkeys 
@@ -263,16 +267,17 @@ sub post_transaction {
                                        FROM chart 
                                        WHERE accno = ?) 
                       AND startdate <= ? 
-                      ORDER BY startdate DESC LIMIT 1))|;
+                      ORDER BY startdate DESC LIMIT 1),
+                     (SELECT c.link FROM chart c WHERE c.accno = ?))|;
         @values = (conv_i($form->{id}), $form->{AR}{"paid_$i"}, $amount, conv_date($form->{"datepaid_$i"}), $gldate, $form->{"source_$i"}, $form->{"memo_$i"}, $project_id, $form->{AR}{"paid_$i"},
-                    $form->{AR}{"paid_$i"}, conv_date($form->{"datepaid_$i"}));
+                    $form->{AR}{"paid_$i"}, conv_date($form->{"datepaid_$i"}), $form->{AR}{"paid_$i"});
         do_query($form, $dbh, $query, @values);
 
         # exchangerate difference for payment
         $amount = $form->round_amount( $form->{"paid_$i"} * ($form->{"exchangerate_$i"} - 1) * -1, 2);
 
         if ($amount != 0) {
-          $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, fx_transaction, cleared, project_id, taxkey, tax_id)
+          $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, fx_transaction, cleared, project_id, taxkey, tax_id, chart_link)
                        VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, 't', 'f', ?, (SELECT taxkey_id FROM chart WHERE accno = ?),
                        (SELECT tax_id 
                         FROM taxkeys 
@@ -280,9 +285,10 @@ sub post_transaction {
                                          FROM chart 
                                          WHERE accno = ?) 
                         AND startdate <= ? 
-                        ORDER BY startdate DESC LIMIT 1))|;
+                        ORDER BY startdate DESC LIMIT 1),
+                       (SELECT c.link FROM chart c WHERE c.accno = ?))|;
           @values = (conv_i($form->{id}), $form->{AR}{"paid_$i"}, $amount, conv_date($form->{"datepaid_$i"}), $project_id, $form->{AR}{"paid_$i"},
-                    $form->{AR}{"paid_$i"}, conv_date($form->{"datepaid_$i"}));
+                    $form->{AR}{"paid_$i"}, conv_date($form->{"datepaid_$i"}), $form->{AR}{"paid_$i"});
           do_query($form, $dbh, $query, @values);
         }
 
@@ -291,7 +297,7 @@ sub post_transaction {
 
         if ($amount != 0) {
           my $accno = ($amount > 0) ? $form->{fxgain_accno} : $form->{fxloss_accno};
-          $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, fx_transaction, cleared, project_id, taxkey, tax_id)
+          $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, fx_transaction, cleared, project_id, taxkey, tax_id, chart_link)
                        VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, 't', 'f', ?, (SELECT taxkey_id FROM chart WHERE accno = ?),
                        (SELECT tax_id 
                         FROM taxkeys 
@@ -299,8 +305,9 @@ sub post_transaction {
                                          FROM chart 
                                          WHERE accno = ?) 
                         AND startdate <= ? 
-                        ORDER BY startdate DESC LIMIT 1))|;
-          @values = (conv_i($form->{id}), $accno, $amount, conv_date($form->{"datepaid_$i"}), $project_id, $accno, $accno, conv_date($form->{"datepaid_$i"}));
+                        ORDER BY startdate DESC LIMIT 1),
+                       (SELECT c.link FROM chart c WHERE c.accno = ?))|;
+          @values = (conv_i($form->{id}), $accno, $amount, conv_date($form->{"datepaid_$i"}), $project_id, $accno, $accno, conv_date($form->{"datepaid_$i"}), $accno);
           do_query($form, $dbh, $query, @values);
         }
       }
index dd26532..77d6769 100644 (file)
@@ -170,16 +170,21 @@ sub _post_add_acctrans {
   my ($self, $entries) = @_;
 
   my $default_tax_id = SL::DB::Manager::Tax->find_by(taxkey => 0)->id;
+  my $chart_link;
 
   while (my ($chart_id, $spec) = each %{ $entries }) {
     $spec = { taxkey => 0, tax_id => $default_tax_id, amount => $spec } unless ref $spec;
+    $chart_link = SL::DB::Manager::Chart->find_by(id => $chart_id)->{'link'};
+    $chart_link ||= '';
+
     SL::DB::AccTransaction->new(trans_id   => $self->id,
                                 chart_id   => $chart_id,
                                 amount     => $spec->{amount},
                                 tax_id     => $spec->{tax_id},
                                 taxkey     => $spec->{taxkey},
                                 project_id => $self->globalproject_id,
-                                transdate  => $self->transdate)->save;
+                                transdate  => $self->transdate,
+                                chart_link => $chart_link)->save;
   }
 }
 
index 29d5c35..db89491 100644 (file)
@@ -27,6 +27,7 @@ __PACKAGE__->meta->setup(
     itime          => { type => 'timestamp', default => 'now()' },
     mtime          => { type => 'timestamp' },
     tax_id         => { type => 'integer', not_null => 1 },
+    chart_link     => { type => 'text', not_null => 1 },
   ],
 
   primary_key_columns => [ 'acc_trans_id' ],
@@ -41,6 +42,11 @@ __PACKAGE__->meta->setup(
       class       => 'SL::DB::Project',
       key_columns => { project_id => 'id' },
     },
+
+    tax => {
+      class       => 'SL::DB::Tax',
+      key_columns => { tax_id => 'id' },
+    },
   ],
 );
 
index cb7f346..10d6ee1 100644 (file)
--- a/SL/GL.pm
+++ b/SL/GL.pm
@@ -157,11 +157,11 @@ sub post_transaction {
     if ($amount != 0) {
       $query =
         qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate,
-                                  source, memo, project_id, taxkey, ob_transaction, cb_transaction, tax_id)
+                                  source, memo, project_id, taxkey, ob_transaction, cb_transaction, tax_id, chart_link)
            VALUES (?, (SELECT id FROM chart WHERE accno = ?),
-                   ?, ?, ?, ?, ?, ?, ?, ?, ?)|;
+                   ?, ?, ?, ?, ?, ?, ?, ?, ?, (SELECT link FROM chart WHERE accno = ?))|;
       @values = (conv_i($form->{id}), $accno, $amount, conv_date($form->{transdate}),
-                 $form->{"source_$i"}, $form->{"memo_$i"}, $project_id, $taxkey, $form->{ob_transaction} ? 't' : 'f', $form->{cb_transaction} ? 't' : 'f', conv_i($form->{"tax_id_$i"}));
+                 $form->{"source_$i"}, $form->{"memo_$i"}, $project_id, $taxkey, $form->{ob_transaction} ? 't' : 'f', $form->{cb_transaction} ? 't' : 'f', conv_i($form->{"tax_id_$i"}), $accno);
       do_query($form, $dbh, $query, @values);
     }
 
@@ -169,12 +169,16 @@ sub post_transaction {
       # add taxentry
       $query =
         qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate,
-                                  source, memo, project_id, taxkey, tax_id)
+                                  source, memo, project_id, taxkey, tax_id, chart_link)
            VALUES (?, (SELECT chart_id FROM tax WHERE id = ?),
-                   ?, ?, ?, ?, ?, ?, ?)|;
+                   ?, ?, ?, ?, ?, ?, ?, (SELECT link 
+                                         FROM chart 
+                                         WHERE id = (SELECT chart_id 
+                                                     FROM tax 
+                                                     WHERE id = ?)))|;
       @values = (conv_i($form->{id}), conv_i($form->{"tax_id_$i"}),
                  $tax, conv_date($form->{transdate}), $form->{"source_$i"},
-                 $form->{"memo_$i"}, $project_id, $taxkey, conv_i($form->{"tax_id_$i"}));
+                 $form->{"memo_$i"}, $project_id, $taxkey, conv_i($form->{"tax_id_$i"}), conv_i($form->{"tax_id_$i"}));
       do_query($form, $dbh, $query, @values);
     }
   }
index bd8bd59..48c5134 100644 (file)
--- a/SL/IR.pm
+++ b/SL/IR.pm
@@ -269,27 +269,37 @@ sub post_invoice {
 
             # allocated >= 0
             # add entry for inventory, this one is for the sold item
-            $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, taxkey, tax_id) VALUES (?, ?, ?, ?, (SELECT taxkey_id FROM chart WHERE id = ?),
-                                (SELECT tax_id 
+            $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, taxkey, tax_id) VALUES (?, ?, ?, ?,
+                               (SELECT taxkey_id 
+                                FROM taxkeys 
+                                WHERE chart_id= ?
+                                AND startdate <= ?
+                                ORDER BY startdate DESC LIMIT 1),
+                               (SELECT tax_id 
                                 FROM taxkeys 
-                                WHERE chart_id= (SELECT id  
-                                                 FROM chart 
-                                                 WHERE accno = ?) 
+                                WHERE chart_id= ?
                                 AND startdate <= ?
-                                ORDER BY startdate DESC LIMIT 1))|;
-            @values = ($ref->{trans_id},  $ref->{inventory_accno_id}, $linetotal, $ref->{transdate}, $ref->{inventory_accno_id}, $ref->{inventory_accno_id}, $ref->{transdate});
+                                ORDER BY startdate DESC LIMIT 1),
+                               (SELECT chart_link FROM chart WHERE id = ?))|;
+            @values = ($ref->{trans_id},  $ref->{inventory_accno_id}, $linetotal, $ref->{transdate}, $ref->{inventory_accno_id}, $ref->{transdate}, $ref->{inventory_accno_id}, $ref->{transdate}, 
+                       $ref->{inventory_accno_id});
             do_query($form, $dbh, $query, @values);
 
 # add expense
-            $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, taxkey, tax_id) VALUES (?, ?, ?, ?, (SELECT taxkey from tax WHERE chart_id = ?),
+            $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, taxkey, tax_id) VALUES (?, ?, ?, ?,
+                                (SELECT taxkey_id 
+                                 FROM taxkeys 
+                                 WHERE chart_id= ?
+                                 AND startdate <= ? 
+                                 ORDER BY startdate DESC LIMIT 1),
                                 (SELECT tax_id 
                                  FROM taxkeys 
-                                 WHERE chart_id= (SELECT id  
-                                                  FROM chart 
-                                                  WHERE accno = ?) 
+                                 WHERE chart_id= ?
                                  AND startdate <= ? 
-                                 ORDER BY startdate DESC LIMIT 1))|;
-            @values = ($ref->{trans_id},  $ref->{expense_accno_id}, ($linetotal * -1), $ref->{transdate}, $ref->{expense_accno_id}, $ref->{expense_accno_id}, $ref->{transdate});
+                                 ORDER BY startdate DESC LIMIT 1),
+                                (SELECT chart_link FROM chart WHERE id = ?))|;
+            @values = ($ref->{trans_id},  $ref->{expense_accno_id}, ($linetotal * -1), $ref->{transdate}, $ref->{expense_accno_id}, $ref->{transdate}, $ref->{expense_accno_id}, $ref->{transdate},
+                       $ref->{expense_accno_id});
             do_query($form, $dbh, $query, @values);
           }
         };
@@ -492,18 +502,26 @@ sub post_invoice {
 
       next if $payments_only || !$form->{amount}{$trans_id}{$accno};
 
-      $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, taxkey, project_id, tax_id)
+      $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, taxkey, project_id, tax_id, chart_link)
                   VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?,
-                  (SELECT taxkey_id  FROM chart WHERE accno = ?), ?,
+                  (SELECT taxkey_id 
+                   FROM taxkeys 
+                   WHERE chart_id= (SELECT id  
+                                    FROM chart 
+                                    WHERE accno = ?) 
+                   AND startdate <= ? 
+                   ORDER BY startdate DESC LIMIT 1),
+                  ?,
                   (SELECT tax_id 
                    FROM taxkeys 
                    WHERE chart_id= (SELECT id  
                                     FROM chart 
                                     WHERE accno = ?) 
                    AND startdate <= ? 
-                   ORDER BY startdate DESC LIMIT 1))|;
+                   ORDER BY startdate DESC LIMIT 1),
+                  (SELECT link FROM chart WHERE accno = ?))|;
       @values = ($trans_id, $accno, $form->{amount}{$trans_id}{$accno},
-                 conv_date($form->{invdate}), $accno, $project_id, $accno, conv_date($form->{invdate}));
+                 conv_date($form->{invdate}), $accno, conv_date($form->{invdate}), $project_id, $accno, conv_date($form->{invdate}), $accno);
       do_query($form, $dbh, $query, @values);
     }
   }
@@ -538,18 +556,26 @@ sub post_invoice {
 
     # record AP
     if ($form->{amount}{ $form->{id} }{ $form->{AP} } != 0) {
-      $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, taxkey, project_id, tax_id)
+      $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, taxkey, project_id, tax_id, chart_link)
                   VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?,
-                          (SELECT taxkey_id FROM chart WHERE accno = ?), ?,
+                          (SELECT taxkey_id 
+                           FROM taxkeys 
+                           WHERE chart_id= (SELECT id  
+                                            FROM chart 
+                                            WHERE accno = ?) 
+                           AND startdate <= ? 
+                           ORDER BY startdate DESC LIMIT 1),
+                          ?,
                           (SELECT tax_id 
                            FROM taxkeys 
                            WHERE chart_id= (SELECT id  
                                             FROM chart 
                                             WHERE accno = ?) 
                            AND startdate <= ? 
-                           ORDER BY startdate DESC LIMIT 1))|;
+                           ORDER BY startdate DESC LIMIT 1),
+                          (SELECT link FROM chart WHERE accno = ?))|;
       @values = (conv_i($form->{id}), $form->{AP}, $amount,
-                 $form->{"datepaid_$i"}, $form->{AP}, $project_id, $form->{AP}, conv_date($form->{"datepaid_$i"}));
+                 $form->{"datepaid_$i"}, $form->{AP}, conv_date($form->{"datepaid_$i"}), $project_id, $form->{AP}, conv_date($form->{"datepaid_$i"}), $form->{AP});
       do_query($form, $dbh, $query, @values);
     }
 
@@ -557,17 +583,24 @@ sub post_invoice {
     my $gldate = (conv_date($form->{"gldate_$i"}))? conv_date($form->{"gldate_$i"}) : conv_date($form->current_date($myconfig));
 
     $query =
-      qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, gldate, source, memo, taxkey, project_id, tax_id)
+      qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, gldate, source, memo, taxkey, project_id, tax_id, chart_link)
                 VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, ?, ?, ?,
-                (SELECT taxkey_id FROM chart WHERE accno = ?), ?,
+                (SELECT taxkey_id 
+                 FROM taxkeys 
+                 WHERE chart_id= (SELECT id  
+                                  FROM chart WHERE accno = ?) 
+                 AND startdate <= ? 
+                 ORDER BY startdate DESC LIMIT 1),
+                ?,
                 (SELECT tax_id 
                  FROM taxkeys 
                  WHERE chart_id= (SELECT id  
                                   FROM chart WHERE accno = ?) 
                  AND startdate <= ? 
-                 ORDER BY startdate DESC LIMIT 1))|;
+                 ORDER BY startdate DESC LIMIT 1),
+                (SELECT link FROM chart WHERE accno = ?))|;
     @values = (conv_i($form->{id}), $accno, $form->{"paid_$i"}, $form->{"datepaid_$i"},
-               $gldate, $form->{"source_$i"}, $form->{"memo_$i"}, $accno, $project_id, $accno, conv_date($form->{"datepaid_$i"}));
+               $gldate, $form->{"source_$i"}, $form->{"memo_$i"}, $accno, conv_date($form->{"datepaid_$i"}), $project_id, $accno, conv_date($form->{"datepaid_$i"}), $accno);
     do_query($form, $dbh, $query, @values);
 
     $exchangerate = 0;
@@ -605,16 +638,11 @@ sub post_invoice {
       $form->{fx}{$accno}{$transdate} = $form->round_amount($form->{fx}{$accno}{$transdate}, 2);
       next if ($form->{fx}{$accno}{$transdate} == 0);
 
-      $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, cleared, fx_transaction, taxkey, project_id, tax_id)
+      $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, cleared, fx_transaction, taxkey, project_id, tax_id, chart_link)
                   VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, '0', '1', 0, ?,
-                  (SELECT tax_id 
-                   FROM taxkeys 
-                   WHERE chart_id= (SELECT id  
-                                   FROM chart 
-                                   WHERE accno = ?) 
-                   AND startdate <= ? 
-                   ORDER BY startdate DESC LIMIT 1))|;
-      @values = (conv_i($form->{id}), $accno, $form->{fx}{$accno}{$transdate}, conv_date($transdate), $project_id, $accno, $form->{fx}{$accno}{$transdate});
+                  (SELECT id FROM tax WHERE taxkey=0 LIMIT 1),
+                  (SELECT link FROM chart WHERE accno = ?))|;
+      @values = (conv_i($form->{id}), $accno, $form->{fx}{$accno}{$transdate}, conv_date($transdate), $project_id, $accno);
       do_query($form, $dbh, $query, @values);
     }
   }
index 196d6df..052dcfd 100644 (file)
--- a/SL/IS.pm
+++ b/SL/IS.pm
@@ -832,9 +832,9 @@ sub post_invoice {
 
       if (!$payments_only && ($form->{amount_cogs}{$trans_id}{$accno} != 0)) {
         $query =
-          qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, tax_id, taxkey, project_id)
-               VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, (SELECT id FROM tax WHERE taxkey=0), 0, ?)|;
-        @values = (conv_i($trans_id), $accno, $form->{amount_cogs}{$trans_id}{$accno}, conv_date($form->{invdate}), conv_i($project_id));
+          qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, tax_id, taxkey, project_id, chart_link)
+               VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, (SELECT id FROM tax WHERE taxkey=0), 0, ?, (SELECT link FROM chart WHERE accno = ?))|;
+        @values = (conv_i($trans_id), $accno, $form->{amount_cogs}{$trans_id}{$accno}, conv_date($form->{invdate}), conv_i($project_id), $accno);
         do_query($form, $dbh, $query, @values);
         $form->{amount_cogs}{$trans_id}{$accno} = 0;
       }
@@ -845,9 +845,9 @@ sub post_invoice {
 
       if (!$payments_only && ($form->{amount_cogs}{$trans_id}{$accno} != 0)) {
         $query =
-          qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, tax_id, taxkey, project_id)
-               VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, (SELECT id FROM tax WHERE taxkey=0), 0, ?)|;
-        @values = (conv_i($trans_id), $accno, $form->{amount_cogs}{$trans_id}{$accno}, conv_date($form->{invdate}), conv_i($project_id));
+          qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, tax_id, taxkey, project_id, chart_link)
+               VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, (SELECT id FROM tax WHERE taxkey=0), 0, ?, (SELECT link FROM chart WHERE accno = ?))|;
+        @values = (conv_i($trans_id), $accno, $form->{amount_cogs}{$trans_id}{$accno}, conv_date($form->{invdate}), conv_i($project_id), $accno);
         do_query($form, $dbh, $query, @values);
       }
     }
@@ -861,7 +861,7 @@ sub post_invoice {
 
       if (!$payments_only && ($form->{amount}{$trans_id}{$accno} != 0)) {
         $query =
-          qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, tax_id, taxkey, project_id)
+          qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, tax_id, taxkey, project_id, chart_link)
              VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?,
                      (SELECT tax_id 
                       FROM taxkeys 
@@ -870,8 +870,16 @@ sub post_invoice {
                                        WHERE accno = ?) 
                       AND startdate <= ? 
                       ORDER BY startdate DESC LIMIT 1),
-                     (SELECT taxkey_id  FROM chart WHERE accno = ?), ?)|;
-        @values = (conv_i($trans_id), $accno, $form->{amount}{$trans_id}{$accno}, conv_date($form->{invdate}), $accno, conv_date($taxdate), $accno, conv_i($project_id));
+                     (SELECT taxkey_id
+                      FROM taxkeys 
+                      WHERE chart_id= (SELECT id  
+                                       FROM chart 
+                                       WHERE accno = ?) 
+                      AND startdate <= ? 
+                      ORDER BY startdate DESC LIMIT 1),
+                     ?,
+                     (SELECT link FROM chart WHERE accno = ?))|;
+        @values = (conv_i($trans_id), $accno, $form->{amount}{$trans_id}{$accno}, conv_date($form->{invdate}), $accno, conv_date($taxdate), $accno, conv_date($taxdate), conv_i($project_id), $accno);
         do_query($form, $dbh, $query, @values);
         $form->{amount}{$trans_id}{$accno} = 0;
       }
@@ -882,7 +890,7 @@ sub post_invoice {
 
       if (!$payments_only && ($form->{amount}{$trans_id}{$accno} != 0)) {
         $query =
-          qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, tax_id, taxkey, project_id)
+          qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, tax_id, taxkey, project_id, chart_link)
              VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?,
                      (SELECT tax_id 
                       FROM taxkeys 
@@ -891,8 +899,16 @@ sub post_invoice {
                                        WHERE accno = ?) 
                       AND startdate <= ? 
                       ORDER BY startdate DESC LIMIT 1),
-                     (SELECT taxkey_id FROM chart WHERE accno = ?), ?)|;
-        @values = (conv_i($trans_id), $accno, $form->{amount}{$trans_id}{$accno}, conv_date($form->{invdate}), $accno, conv_date($taxdate), $accno, conv_i($project_id));
+                     (SELECT taxkey_id 
+                      FROM taxkeys 
+                      WHERE chart_id= (SELECT id 
+                                       FROM chart 
+                                       WHERE accno = ?) 
+                      AND startdate <= ? 
+                      ORDER BY startdate DESC LIMIT 1),
+                     ?,
+                     (SELECT link FROM chart WHERE accno = ?))|;
+        @values = (conv_i($trans_id), $accno, $form->{amount}{$trans_id}{$accno}, conv_date($form->{invdate}), $accno, conv_date($taxdate), $accno, conv_date($taxdate), conv_i($project_id), $accno);
         do_query($form, $dbh, $query, @values);
       }
     }
@@ -938,7 +954,7 @@ sub post_invoice {
 
       if ($form->{amount}{ $form->{id} }{ $form->{AR} } != 0) {
         $query =
-        qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, tax_id, taxkey, project_id)
+        qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, tax_id, taxkey, project_id, chart_link)
            VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?,
                    (SELECT tax_id 
                     FROM taxkeys 
@@ -947,8 +963,16 @@ sub post_invoice {
                                      WHERE accno = ?) 
                     AND startdate <= ? 
                     ORDER BY startdate DESC LIMIT 1),
-                   (SELECT taxkey_id FROM chart WHERE accno = ?), ?)|;
-        @values = (conv_i($form->{"id"}), $form->{AR}, $amount, $form->{"datepaid_$i"}, $form->{AR}, conv_date($taxdate), $form->{AR}, $project_id);
+                   (SELECT taxkey_id 
+                    FROM taxkeys 
+                    WHERE chart_id= (SELECT id  
+                                     FROM chart 
+                                     WHERE accno = ?) 
+                    AND startdate <= ? 
+                    ORDER BY startdate DESC LIMIT 1),
+                   ?,
+                   (SELECT link FROM chart WHERE accno = ?))|;
+        @values = (conv_i($form->{"id"}), $form->{AR}, $amount, $form->{"datepaid_$i"}, $form->{AR}, conv_date($taxdate), $form->{AR}, conv_date($taxdate), $project_id, $form->{AR});
         do_query($form, $dbh, $query, @values);
       }
 
@@ -957,7 +981,7 @@ sub post_invoice {
       my $gldate = (conv_date($form->{"gldate_$i"}))? conv_date($form->{"gldate_$i"}) : conv_date($form->current_date($myconfig));
 
       $query =
-      qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, gldate, source, memo, tax_id, taxkey, project_id)
+      qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, gldate, source, memo, tax_id, taxkey, project_id, chart_link)
          VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, ?, ?, ?,
                  (SELECT tax_id 
                   FROM taxkeys 
@@ -966,9 +990,17 @@ sub post_invoice {
                                    WHERE accno = ?) 
                   AND startdate <= ? 
                   ORDER BY startdate DESC LIMIT 1),
-                 (SELECT taxkey_id FROM chart WHERE accno = ?), ?)|;
+                 (SELECT taxkey_id 
+                  FROM taxkeys 
+                  WHERE chart_id= (SELECT id  
+                                   FROM chart 
+                                   WHERE accno = ?) 
+                  AND startdate <= ? 
+                  ORDER BY startdate DESC LIMIT 1),
+                 ?,
+                 (SELECT link FROM chart WHERE accno = ?))|;
       @values = (conv_i($form->{"id"}), $accno, $form->{"paid_$i"}, $form->{"datepaid_$i"},
-                 $gldate, $form->{"source_$i"}, $form->{"memo_$i"}, $accno, conv_date($taxdate), $accno, $project_id);
+                 $gldate, $form->{"source_$i"}, $form->{"memo_$i"}, $accno, conv_date($taxdate), $accno, conv_date($taxdate), $project_id, $accno);
       do_query($form, $dbh, $query, @values);
 
       # exchangerate difference
@@ -1008,7 +1040,7 @@ sub post_invoice {
       if ( $form->{fx}{$accno}{$transdate} != 0 ) {
 
         $query =
-          qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, cleared, fx_transaction, tax_id, taxkey, project_id)
+          qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, cleared, fx_transaction, tax_id, taxkey, project_id, chart_link)
              VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, '0', '1',
                  (SELECT tax_id 
                   FROM taxkeys 
@@ -1017,8 +1049,16 @@ sub post_invoice {
                                    WHERE accno = ?) 
                   AND startdate <= ? 
                   ORDER BY startdate DESC LIMIT 1),
-                 (SELECT taxkey_id FROM chart WHERE accno = ?), ?)|;
-        @values = (conv_i($form->{"id"}), $accno, $form->{fx}{$accno}{$transdate}, conv_date($transdate), $accno, conv_date($taxdate), $accno, conv_i($project_id));
+                 (SELECT taxkey_id 
+                  FROM taxkeys 
+                  WHERE chart_id= (SELECT id  
+                                   FROM chart 
+                                   WHERE accno = ?) 
+                  AND startdate <= ? 
+                  ORDER BY startdate DESC LIMIT 1),
+                 ?,
+                 (SELECT link FROM chart WHERE accno = ?))|;
+        @values = (conv_i($form->{"id"}), $accno, $form->{fx}{$accno}{$transdate}, conv_date($transdate), $accno, conv_date($taxdate), $accno, conv_date($taxdate), conv_i($project_id), $accno);
         do_query($form, $dbh, $query, @values);
       }
     }
index ea35312..73a3330 100644 (file)
@@ -357,8 +357,8 @@ sub post_payment {
                                AND ((c.link LIKE '%:${ARAP}') OR (c.link LIKE '${ARAP}:%') OR (c.link = '${ARAP}'))
                              LIMIT 1| ],
 
-    'add_acc_trans'  => [ qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, gldate,       source, memo, taxkey, tax_id)
-                             VALUES                (?,        ?,        ?,      ?,         current_date, ?,      '',   0,      (SELECT id FROM tax WHERE taxkey=0 LIMIT 1))| ],
+    'add_acc_trans'  => [ qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, gldate,       source, memo, taxkey, tax_id ,                                     chart_link)
+                             VALUES                (?,        ?,        ?,      ?,         current_date, ?,      '',   0,      (SELECT id FROM tax WHERE taxkey=0 LIMIT 1), (SELECT link FROM chart WHERE id=?))| ],
 
     'update_arap'    => [ qq|UPDATE ${arap}
                              SET paid = paid + ?
@@ -397,8 +397,9 @@ sub post_payment {
     my ($arap_chart_id) = $handles{get_arap}->[0]->fetchrow_array();
 
     # Record the payment in acc_trans offsetting AR/AP.
-    do_statement($form, @{ $handles{add_acc_trans} }, $orig_item->{"${arap}_id"}, $arap_chart_id,         -1 * $mult * $orig_item->{amount}, $item->{execution_date}, '');
-    do_statement($form, @{ $handles{add_acc_trans} }, $orig_item->{"${arap}_id"}, $orig_item->{chart_id},      $mult * $orig_item->{amount}, $item->{execution_date}, $orig_item->{reference});
+    do_statement($form, @{ $handles{add_acc_trans} }, $orig_item->{"${arap}_id"}, $arap_chart_id,         -1 * $mult * $orig_item->{amount}, $item->{execution_date}, '', $arap_chart_id);
+    do_statement($form, @{ $handles{add_acc_trans} }, $orig_item->{"${arap}_id"}, $orig_item->{chart_id},      $mult * $orig_item->{amount}, $item->{execution_date}, $orig_item->{reference}, 
+                                                      $orig_item->{chart_id});
 
     # Update the invoice to reflect the new paid amount.
     do_statement($form, @{ $handles{update_arap} }, $orig_item->{amount}, $orig_item->{"${arap}_id"});
diff --git a/sql/Pg-upgrade2/add_chart_link_to_acc_trans.sql b/sql/Pg-upgrade2/add_chart_link_to_acc_trans.sql
new file mode 100644 (file)
index 0000000..4eb187f
--- /dev/null
@@ -0,0 +1,12 @@
+-- @tag: add_chart_link_to_acc_trans
+-- @description: Neue Spalte chart_link in der acc_trans
+-- @depends: release_3_0_0 
+
+--neue Spalte hinzufügen:
+ALTER TABLE acc_trans ADD COLUMN chart_link text;
+
+--Spalte mit Werten füllen:
+UPDATE acc_trans SET chart_link = (SELECT link FROM chart WHERE id=chart_id);
+
+--Spalte als Pflichtfeld definieren:
+ALTER TABLE acc_trans ALTER chart_link SET NOT NULL;
index a610011..4d9da7a 100644 (file)
@@ -1,5 +1,5 @@
 -- @tag: add_fkey_tax_id_to_acc_trans
 -- @description: Setzt einen Fremdschlüssel zu der Tabellenspalte tax_id in der acc_trans
--- @depends: release_3_0_0
+-- @depends: release_3_0_0 add_tax_id_to_acc_trans
 
 ALTER TABLE acc_trans ADD FOREIGN KEY (tax_id) REFERENCES tax(id);