Projekt

Allgemein

Profil

Herunterladen (7,25 KB) Statistiken
| Zweig: | Markierung: | Revision:
#!/usr/bin/perl

die("This script cannot be run from the command line.") unless ($main::form);

sub mydberror {
my ($msg) = @_;
die($dbup_locale->text("Database update error:") .
"<br>$msg<br>" . $DBI::errstr);
}

sub myshowerror {
my ($msg) = @_;

print($main::form->parse_html_template("dbupgrade/units_error",
{ "message" => $msg }));
return 2;
}

sub fix_skr03 {
my $query;

$query =
"UPDATE chart " .
"SET link = 'AP_amount:IC_cogs', pos_ustva = 91 " .
"WHERE accno = '3559'";
$dbh->do($query) || mydberror($query);

$dbh->commit();
$dbh->begin_work();
}

sub fix_skr04 {
my $query;

$query =
"UPDATE chart " .
"SET link = 'AP_amount:IC_cogs', pos_ustva = 91 " .
"WHERE accno = '5559'";
$dbh->do($query) || mydberror($query);

$dbh->commit();
$dbh->begin_work();
}

sub create_standard_buchungsgruppen_skr03 {
my $query;

$query = "SELECT COUNT(*) FROM buchungsgruppen " .
"WHERE description = 'Standard 16%'";
my ($count) = $dbh->selectrow_array($query);

if (!$count) {
$query =
"INSERT INTO buchungsgruppen " .
"(description, inventory_accno_id, " .
" income_accno_id_0, expense_accno_id_0, " .
" income_accno_id_1, expense_accno_id_1, " .
" income_accno_id_2, expense_accno_id_2, " .
" income_accno_id_3, expense_accno_id_3) " .
"VALUES " .
"('Standard 16%', " .
# 3980: Bestand Waren
" (SELECT id FROM chart WHERE accno = '3980'), " .
# 8400: Erl?se 16% USt.
# 3400: Wareneingang 16% Vorsteuer
" (SELECT id FROM chart WHERE accno = '8400'), " .
" (SELECT id FROM chart WHERE accno = '3400'), " .
# 8320: Erl?se aus im and.EG-Land steuerpfl.Lieferungen
# 3550: Steuerfreier innergem.Erwerb
" (SELECT id FROM chart WHERE accno = '8320'), " .
" (SELECT id FROM chart WHERE accno = '3550'), " .
# 8315: Erl?s Inland stpfl.EG-Lieferung 16%
# 3425: Innergem.Erwerb 16% VorSt u. Ust
" (SELECT id FROM chart WHERE accno = '8315'), " .
" (SELECT id FROM chart WHERE accno = '3425'), " .
# 8120: Steuerfreie Ums?tze ?4Nr.1a UstG
# 3559: Steuerfreie Einfuhren
" (SELECT id FROM chart WHERE accno = '8120'), " .
" (SELECT id FROM chart WHERE accno = '3559'))";
$dbh->do($query) || mydberror($query);
}

$query = "SELECT COUNT(*) FROM buchungsgruppen " .
"WHERE description = 'Standard 7%'";
my ($count) = $dbh->selectrow_array($query);

if (!$count) {
$query =
"INSERT INTO buchungsgruppen " .
"(description, inventory_accno_id, " .
" income_accno_id_0, expense_accno_id_0, " .
" income_accno_id_1, expense_accno_id_1, " .
" income_accno_id_2, expense_accno_id_2, " .
" income_accno_id_3, expense_accno_id_3) " .
"VALUES " .
"('Standard 7%', " .
# 3980: Bestand Waren
" (SELECT id FROM chart WHERE accno = '3980'), " .
# 8300: Erl?se 7% USt.
# 3300: Wareneingang 7% Vorsteuer
" (SELECT id FROM chart WHERE accno = '8300'), " .
" (SELECT id FROM chart WHERE accno = '3300'), " .
# 8125: Steuerfrei innergem. Lieferungen ?41bUStG
# 3550: Steuerfreier innergem.Erwerb
" (SELECT id FROM chart WHERE accno = '8125'), " .
" (SELECT id FROM chart WHERE accno = '3550'), " .
# 8310: Erl?se Inland stpfl. EG-Lieferung7%
# 3420: Innergemein.Erwerb 7% VorSt u. Ust
" (SELECT id FROM chart WHERE accno = '8310'), " .
" (SELECT id FROM chart WHERE accno = '3420'), " .
# 8120: Steuerfreie Ums?tze ?4Nr.1a UstG
# 3559: Steuerfreie Einfuhren
" (SELECT id FROM chart WHERE accno = '8120'), " .
" (SELECT id FROM chart WHERE accno = '3559'))";
$dbh->do($query) || mydberror($query);
}

return 1;
}

sub create_standard_buchungsgruppen_skr04 {
my $query;

$query = "SELECT COUNT(*) FROM buchungsgruppen " .
"WHERE description = 'Standard 16%'";
my ($count) = $dbh->selectrow_array($query);

if (!$count) {
$query =
"INSERT INTO buchungsgruppen " .
"(description, inventory_accno_id, " .
" income_accno_id_0, expense_accno_id_0, " .
" income_accno_id_1, expense_accno_id_1, " .
" income_accno_id_2, expense_accno_id_2, " .
" income_accno_id_3, expense_accno_id_3) " .
"VALUES " .
"('Standard 16%', " .
# 1140: Bestand Waren
" (SELECT id FROM chart WHERE accno = '1140'), " .
# 4400: Erl?se 16% USt.
# 5400: Wareneingang 16% Vorsteuer
" (SELECT id FROM chart WHERE accno = '4400'), " .
" (SELECT id FROM chart WHERE accno = '5400'), " .
# 4125: Steuerfrei innergem. Lieferungen ?41bUStG
# 5550: Steuerfreier innergem.Erwerb
" (SELECT id FROM chart WHERE accno = '4125'), " .
" (SELECT id FROM chart WHERE accno = '5550'), " .
# 4315: Erl?s Inland stpfl.EG-Lieferung 16%
# 5425: Innergem.Erwerb 16% VorSt u. Ust
" (SELECT id FROM chart WHERE accno = '4315'), " .
" (SELECT id FROM chart WHERE accno = '5425'), " .
# 4150: Sonstige steuerfreie Ums?tze ?42-7UStG
# 5559: Steuerfreie Einfuhren
" (SELECT id FROM chart WHERE accno = '4150'), " .
" (SELECT id FROM chart WHERE accno = '5559'))";
$dbh->do($query) || mydberror($query);
}

$query = "SELECT COUNT(*) FROM buchungsgruppen " .
"WHERE description = 'Standard 7%'";
my ($count) = $dbh->selectrow_array($query);

if (!$count) {
$query =
"INSERT INTO buchungsgruppen " .
"(description, inventory_accno_id, " .
" income_accno_id_0, expense_accno_id_0, " .
" income_accno_id_1, expense_accno_id_1, " .
" income_accno_id_2, expense_accno_id_2, " .
" income_accno_id_3, expense_accno_id_3) " .
"VALUES " .
"('Standard 7%', " .
# 1140: Bestand Waren
" (SELECT id FROM chart WHERE accno = '1140'), " .
# 4300: Erl?se 7%USt
# 5300: Wareneingang 7% Vorsteuer
" (SELECT id FROM chart WHERE accno = '4300'), " .
" (SELECT id FROM chart WHERE accno = '5300'), " .
# 4125: Steuerfrei innergem. Lieferungen ?41bUStG
# 5550: Steuerfreier innergem.Erwerb
" (SELECT id FROM chart WHERE accno = '4125'), " .
" (SELECT id FROM chart WHERE accno = '5550'), " .
# 4310: Erl?se Inland stpfl. EG-Lieferung7%
# 5420: Innergemein.Erwerb 7% VorSt u. Ust
" (SELECT id FROM chart WHERE accno = '4310'), " .
" (SELECT id FROM chart WHERE accno = '5420'), " .
# 4150: Sonstige steuerfreie Ums?tze ?42-7UStG
# 5559; Steuerfreie Einfuhren
" (SELECT id FROM chart WHERE accno = '4150'), " .
" (SELECT id FROM chart WHERE accno = '5559'))";
$dbh->do($query) || mydberror($query);
}

return 1;
}

sub create_standard_buchungsgruppen {
my $form = $main::form;

my $query = "SELECT coa FROM defaults";
my ($coa) = $dbh->selectrow_array($query);

if ($coa eq "Germany-DATEV-SKR03EU") {
fix_skr03();
return create_standard_buchungsgruppen_skr03();

} elsif ($coa eq "Germany-DATEV-SKR04EU") {
fix_skr04();
return create_standard_buchungsgruppen_skr04();
}

print($form->parse_html_template("dbupgrade/" .
"std_buchungsgruppen_unknown_coa",
{ "coa" => $coa }));

return 1;
}

return create_standard_buchungsgruppen();
(25-25/42)