use File::Path;
use Time::HiRes qw(gettimeofday);
+use strict;
+
sub _get_export_path {
$main::lxdebug->enter_sub();
# connect to database
my $dbh = $form->dbconnect($myconfig);
- $query = qq|SELECT * FROM datev|;
- $sth = $dbh->prepare($query);
+ my $query = qq|SELECT * FROM datev|;
+ my $sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
- my $ref = $sth->fetchrow_hashref(NAME_lc);
+ my $ref = $sth->fetchrow_hashref("NAME_lc");
map { $form->{$_} = $ref->{$_} } keys %$ref;
# connect to database
my $dbh = $form->dbconnect_noauto($myconfig);
- $query = qq|DELETE FROM datev|;
+ my $query = qq|DELETE FROM datev|;
$dbh->do($query) || $form->dberror($query);
$query = qq|INSERT INTO datev
. $dbh->quote($form->{mandantennr}) . qq|,|
. $dbh->quote($form->{datentraegernr}) . qq|,|
. $dbh->quote($form->{abrechnungsnr}) . qq|)|;
- $sth = $dbh->prepare($query);
+ my $sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
$sth->finish;
$main::lxdebug->enter_sub();
my ($zeitraum, $monat, $quartal, $transdatefrom, $transdateto) = @_;
+ my ($fromto, $jahr, $leap);
+
+ my $form = $main::form;
$fromto = "transdate >= ";
my $dbh = $form->get_standard_dbh($myconfig);
+ my ($notsplitindex);
my @errors = ();
$fromto =~ s/transdate/ac\.transdate/g;
my $sth = prepare_execute_query($form, $dbh, $query);
my $counter = 0;
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
$counter++;
if (($counter % 500) == 0) {
print("$counter ");
my $firstrun = 1;
while (abs($count) > 0.01 || $firstrun) {
- my $ref2 = $sth->fetchrow_hashref(NAME_lc);
+ my $ref2 = $sth->fetchrow_hashref("NAME_lc");
last unless ($ref2);
if ($ref2->{trans_id} != $trans->[0]->{trans_id}) {
my $idx = 0;
my $correction = 0;
+ our @taxed; # most likely defunct
while (abs($absumsatz) >= 0.01) {
if ($idx >= scalar @taxed) {
last if (!$correction);
$main::lxdebug->enter_sub();
my ($myconfig, $form, $fromto, $start_jahr) = @_;
+ my ($primanota);
my $jahr = $start_jahr;
if (!$jahr) {
my ($date, $six) = @_;
- ($day, $month, $year) = split(/\./, $date);
+ my ($day, $month, $year) = split(/\./, $date);
if ($day =~ /^0/) {
$day = substr($day, 1, 1);
if ($fromto ne "") {
$versionset .= "0000" . substr($header, 28, 19);
} else {
- $datum = " " x 16;
+ my $datum = " " x 16;
$versionset .= $datum . "001" . substr($header, 28, 4);
}
my $export_path = _get_export_path() . "/";
my $filename = "ED00000";
my $evfile = "EV01";
- my @ed_versionsets;
+ my @ed_versionset;
my $fileno = 0;
$form->header;
Buchungssätze verarbeitet:
|;
- ($fromto, $start_jahr) =
+ my ($fromto, $start_jahr) =
&get_dates($form->{zeitraum}, $form->{monat},
$form->{quartal}, $form->{transdatefrom},
$form->{transdateto});
$filename++;
my $ed_filename = $export_path . $filename;
push(@filenames, $filename);
- $header = &make_kne_data_header($myconfig, $form, $fromto, $start_jahr);
+ my $header = &make_kne_data_header($myconfig, $form, $fromto, $start_jahr);
my $kne_file = SL::DATEV::KNEFile->new();
$kne_file->add_block($header);
while (scalar(@{ $form->{DATEV} }) > 0) {
- $transaction = shift @{ $form->{DATEV} };
- $trans_lines = scalar(@{$transaction});
+ my $transaction = shift @{ $form->{DATEV} };
+ my $trans_lines = scalar(@{$transaction});
$counter++;
if (($counter % 500) == 0) {
print("$counter ");
my $datevautomatik = 0;
my $taxkey = 0;
my $charttax = 0;
+ my ($haben, $soll);
my $iconv = $main::locale->{iconv_iso8859};
my %umlaute = ($iconv->convert('ä') => 'ae',
$iconv->convert('ö') => 'oe',
}
# Umwandlung von Umlauten und Sonderzeichen in erlaubte Zeichen bei Textfeldern
- foreach $umlaut (keys(%umlaute)) {
+ foreach my $umlaut (keys(%umlaute)) {
$transaction->[$haben]->{'invnumber'} =~ s/${umlaut}/${umlaute{$umlaut}}/g;
$transaction->[$haben]->{'name'} =~ s/${umlaut}/${umlaute{$umlaut}}/g;
}
}
#Make EV Verwaltungsdatei
- $ev_header = &make_ev_header($form, $fileno);
- $ev_filename = $export_path . $evfile;
+ my $ev_header = &make_ev_header($form, $fileno);
+ my $ev_filename = $export_path . $evfile;
push(@filenames, $evfile);
open(EV, "> $ev_filename") or die "can't open outputfile: EV01\n";
print(EV $ev_header);
- foreach $file (@ed_versionset) {
+ foreach my $file (@ed_versionset) {
print(EV $ed_versionset[$file]);
}
close(EV);
my $export_path = _get_export_path() . "/";
my $filename = "ED00000";
my $evfile = "EV01";
- my @ed_versionsets;
+ my @ed_versionset;
my $fileno = 1;
my $i = 0;
my $blockcount = 1;
my $ed_filename = $export_path . $filename;
push(@filenames, $filename);
open(ED, "> $ed_filename") or die "can't open outputfile: $!\n";
- $header = &make_kne_data_header($myconfig, $form, "");
+ my $header = &make_kne_data_header($myconfig, $form, "");
$remaining_bytes -= length($header);
+ my $fuellzeichen;
+ our $fromto;
+
# connect to database
my $dbh = $form->dbconnect($myconfig);
my $sth = $dbh->prepare($query);
$sth->execute(@values) || $form->dberror($query);
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
if (($remaining_bytes - length("t" . $ref->{'accno'})) <= 6) {
$fuellzeichen = ($blockcount * 256 - length($buchungssatz . $header));
$buchungssatz .= "\x00" x $fuellzeichen;
print(ED $header);
print(ED $buchungssatz);
$fuellzeichen = 256 - (length($header . $buchungssatz . "z") % 256);
- $dateiende = "\x00" x $fuellzeichen;
+ my $dateiende = "\x00" x $fuellzeichen;
print(ED "z");
print(ED $dateiende);
close(ED);
$ed_versionset[0] =
&make_ed_versionset($header, $filename, $blockcount, $fromto);
- $ev_header = &make_ev_header($form, $fileno);
- $ev_filename = $export_path . $evfile;
+ my $ev_header = &make_ev_header($form, $fileno);
+ my $ev_filename = $export_path . $evfile;
push(@filenames, $evfile);
open(EV, "> $ev_filename") or die "can't open outputfile: EV01\n";
print(EV $ev_header);
- foreach $file (@ed_versionset) {
+ foreach my $file (@ed_versionset) {
print(EV $ed_versionset[$file]);
}
close(EV);