package USTVA;
+use SL::DBUtils;
+
+sub get_coa {
+
+ my ( $self, $form, $myconfig) = @_;
+
+ my $query = q{ SELECT coa FROM defaults };
+
+ my $dbh = $form->dbconnect($myconfig);
+ my $sth = $dbh->prepare($query);
+ $sth->execute() || $form->dberror($query);
+
+ my ($coa) = selectrow_query($form, $dbh, $query);
+
+ $sth->finish;
+ $dbh->disconnect;
+
+ $form->{coa} = $coa;
+ $form->{"COA_$coa"} = '1';
+ $form->{COA_Germany} = '1' if ( $coa eq 'Germany-DATEV-SKR03EU' or $coa eq 'Germany-DATEV-SKR04EU');
+
+ return;
+}
+
+
sub report_variables {
# Get all positions for taxreport out of the database
# Needs Databaseupdate Pg-upgrade2/USTVA_abstraction.pl
$where_dcp
|;
- $main::lxdebug->message(LXDebug::QUERY, "\$query= \n $query\n");
-
my $dbh = $form->dbconnect($myconfig);
my $sth = $dbh->prepare($query);
} else {
- if ($form->{error_function}) {
- &{ $form->{error_function} }($msg);
- } else {
- die "Hinweis: $msg\n";
- }
+ die "Hinweis: $msg\n";
}
$main::lxdebug->leave_sub();
$ARwhere .= " AND acc.transdate <= '$todate'";
}
+ my $acc_trans_where = '1=1';
+ if ($fromdate || $todate) {
+ $acc_trans_where = "ac.trans_id IN (SELECT DISTINCT trans_id FROM acc_trans WHERE ";
+
+ if ($fromdate) {
+ $acc_trans_where .= "transdate >= '$fromdate'";
+ }
+ if ($todate) {
+ $acc_trans_where .= " AND " if ($fromdate);
+ $acc_trans_where .= "transdate <= '$todate'";
+ }
+
+ $acc_trans_where .= ")";
+ }
+
############################################
# Method eq 'cash' = IST Versteuerung
############################################
)
)
WHERE
- 1=1
- -- Here no where, please. All Transactions ever should be
- -- testet if they are paied in the USTVA report period.
+ $acc_trans_where
GROUP BY tk.pos_ustva
|;
} else {
- $self->error("Unknown tax method: $form->{method}")
+ $form->error("Unknown tax method: $form->{method}")
}