From a6fbe7eb6428672a902c46511b4c77c07c873604 Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Fri, 22 Jun 2007 09:32:29 +0000 Subject: [PATCH] =?utf8?q?Mahnungen:=20Die=20Konfiguration=20so=20umgestel?= =?utf8?q?lt,=20dass=20jetzt=20nicht=20mehr=20global=20entschieden=20wird,?= =?utf8?q?=20ob=20automatisch=20Rechnungen=20f=C3=BCr=20die=20Mahngeb?= =?utf8?q?=C3=BChren=20und=20Zinsen=20erzeugt=20werden,=20sondern=20pro=20?= =?utf8?q?Mahnlevel.=20Die=20Dokumentation=20um=20die=20von=20Lx-Office=20?= =?utf8?q?erzeugten=20Namen=20f=C3=BCr=20die=20Mahnungsvorlagen=20(auch=20?= =?utf8?q?f=C3=BCr=20die=20Rechnung)=20erweitert.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- SL/DN.pm | 44 ++++++++----------- doc/dokumentenvorlagen-und-variablen.html | 14 ++++++ locale/de/all | 3 +- .../dunning_invoices_per_dunning_level.sql | 8 ++++ .../webpages/dunning/edit_config_de.html | 32 +++++--------- .../webpages/dunning/edit_config_master.html | 34 +++++--------- 6 files changed, 65 insertions(+), 70 deletions(-) create mode 100644 sql/Pg-upgrade2/dunning_invoices_per_dunning_level.sql diff --git a/SL/DN.pm b/SL/DN.pm index 1c9e39b95..f8fd8882a 100644 --- a/SL/DN.pm +++ b/SL/DN.pm @@ -61,12 +61,9 @@ sub get_config { } $query = - qq|SELECT - dunning_create_invoices_for_fees, dunning_ar_amount_fee, - dunning_ar_amount_interest, dunning_ar + qq|SELECT dunning_ar_amount_fee, dunning_ar_amount_interest, dunning_ar FROM defaults|; - ($form->{create_invoices_for_fees}, $form->{AR_amount_fee}, - $form->{AR_amount_interest}, $form->{AR} ) = selectrow_query($form, $dbh, $query); + ($form->{AR_amount_fee}, $form->{AR_amount_interest}, $form->{AR}) = selectrow_query($form, $dbh, $query); $dbh->disconnect(); @@ -93,7 +90,8 @@ sub save_config { $form->{"email_subject_$i"}, $form->{"email_body_$i"}, $form->{"template_$i"}, $form->{"fee_$i"}, $form->{"interest_rate_$i"}, $form->{"active_$i"} ? 't' : 'f', $form->{"auto_$i"} ? 't' : 'f', $form->{"email_$i"} ? 't' : 'f', - $form->{"email_attachment_$i"} ? 't' : 'f', conv_i($form->{"payment_terms_$i"}), conv_i($form->{"terms_$i"})); + $form->{"email_attachment_$i"} ? 't' : 'f', conv_i($form->{"payment_terms_$i"}), conv_i($form->{"terms_$i"}), + $form->{"create_invoices_for_fees_$i"} ? 't' : 'f'); if ($form->{"id_$i"}) { $query = qq|UPDATE dunning_config SET @@ -101,7 +99,8 @@ sub save_config { email_subject = ?, email_body = ?, template = ?, fee = ?, interest_rate = ?, active = ?, auto = ?, email = ?, - email_attachment = ?, payment_terms = ?, terms = ? + email_attachment = ?, payment_terms = ?, terms = ?, + create_invoices_for_fees = ? WHERE id = ?|; push(@values, conv_i($form->{"id_$i"})); } else { @@ -109,7 +108,7 @@ sub save_config { qq|INSERT INTO dunning_config (dunning_level, dunning_description, email_subject, email_body, template, fee, interest_rate, active, auto, email, - email_attachment, payment_terms, terms) + email_attachment, payment_terms, terms, create_invoices_for_fees) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)|; } do_query($form, $dbh, $query, @values); @@ -121,14 +120,8 @@ sub save_config { } } - $query = qq|UPDATE defaults SET dunning_create_invoices_for_fees = ?|; - @values = ($form->{create_invoices_for_fees} ? 't' : 'f'); - - if ($form->{create_invoices_for_fees}) { - $query .= qq|, dunning_ar_amount_fee = ?, dunning_ar_amount_interest = ?, dunning_ar = ?|; - push @values, conv_i($form->{AR_amount_fee}), conv_i($form->{AR_amount_interest}), conv_i($form->{AR}); - } - + $query = qq|UPDATE defaults SET dunning_ar_amount_fee = ?, dunning_ar_amount_interest = ?, dunning_ar = ?|; + @values = (conv_i($form->{AR_amount_fee}), conv_i($form->{AR_amount_interest}), conv_i($form->{AR})); do_query($form, $dbh, $query, @values); $dbh->commit(); @@ -144,19 +137,20 @@ sub create_invoice_for_fees { my ($query, @values, $sth, $ref); - $query = - qq|SELECT - dunning_create_invoices_for_fees, dunning_ar_amount_fee, - dunning_ar_amount_interest, dunning_ar - FROM defaults|; - ($form->{create_invoices_for_fees}, $form->{AR_amount_fee}, - $form->{AR_amount_interest}, $form->{AR} ) = selectrow_query($form, $dbh, $query); + $query = qq|SELECT dcfg.create_invoices_for_fees + FROM dunning d + LEFT JOIN dunning_config dcfg ON (d.dunning_config_id = dcfg.id) + WHERE d.dunning_id = ?|; + my ($create_invoices_for_fees) = selectrow_query($form, $dbh, $query, $dunning_id); - if (!$form->{create_invoices_for_fees}) { + if (!$create_invoices_for_fees) { $main::lxdebug->leave_sub(); return; } + $query = qq|SELECT dunning_ar_amount_fee, dunning_ar_amount_interest, dunning_ar FROM defaults|; + ($form->{AR_amount_fee}, $form->{AR_amount_interest}, $form->{AR}) = selectrow_query($form, $dbh, $query); + $query = qq|SELECT fee, @@ -337,7 +331,7 @@ sub save_dunning { $self->send_email($myconfig, $form, $dunning_id, $dbh); } - $dbh->commit(); +# $dbh->commit(); $dbh->disconnect(); $main::lxdebug->leave_sub(); diff --git a/doc/dokumentenvorlagen-und-variablen.html b/doc/dokumentenvorlagen-und-variablen.html index fde48b21f..8dffd5b6c 100644 --- a/doc/dokumentenvorlagen-und-variablen.html +++ b/doc/dokumentenvorlagen-und-variablen.html @@ -85,6 +85,9 @@ td { Variablen in Mahnungen und Rechnungen über Mahngebühren
    +
  1. + Namen der Vorlagen
  2. +
  3. Allgemeine Variablen in Mahnungen
  4. @@ -775,6 +778,17 @@ td {

    Variablen in Mahnungen und Rechnungen über Mahngebühren

    +

    Namen der Vorlagen

    + +

    Die Namen der Vorlagen werden im System-Menü vom Benutzer + eingegeben. Wird für ein Mahnlevel die Option zur automatischen + Erstellung einer Rechnung über die Mahngebühren und Zinsen + aktiviert, so wird der Name der Vorlage für diese Rechnung aus + dem Vorlagenname für diese Mahnstufe mit dem + Zusatz _invoice gebildet. Weiterhin werden die + Kürzel für die ausgewählte Sprache und den + ausgewählten Drucker angehängt.

    +

    Allgemeine Variablen in Mahnungen:

    Die Variablen des Verkäufers stehen wie gewohnt diff --git a/locale/de/all b/locale/de/all index 6c52b7299..b23a38592 100644 --- a/locale/de/all +++ b/locale/de/all @@ -166,7 +166,6 @@ aktualisieren wollen?', 'Aug' => 'Aug', 'August' => 'August', 'Auto Send?' => 'Auto. Versand?', - 'Automatically create customer invoices for fees and interests' => 'Automatisches Erstellen von Debitorenrechnungen über Mahngebühren und Zinsen', 'Automatically created invoice for fee and interest for dunning %s' => 'Automatisch erzeugte Rechnung für Gebühren und Zinsen zu Mahnung %s', 'BOM' => 'Stückliste', 'BWA' => 'BWA', @@ -293,6 +292,7 @@ aktualisieren wollen?', 'Create Buchungsgruppen' => 'Buchungsgruppe erfassen', 'Create Chart of Accounts' => 'Kontenplan anlegen', 'Create Dataset' => 'Datenbank anlegen', + 'Create invoice?' => 'Rechnung erstellen?', 'Create new' => 'Neu erfassen', 'Credit' => 'Haben', 'Credit Account' => 'Habenkonto', @@ -551,6 +551,7 @@ aktualisieren wollen?', 'II' => 'II', 'III' => 'III', 'IV' => 'IV', + 'If the automatic creation of invoices for fees and interest is switched on for a dunning level then the following accounts will be used for the invoice.' => 'Wenn das automatische Erstellen einer Rechnung über Mahngebühren und Zinsen für ein Mahnlevel aktiviert ist, so werden die folgenden Konten für die Rechnung benutzt.', 'If you see this message, you most likely just setup your LX-Office and haven\'t added any entry types. If this is the case, the option is accessible for administrators in the System menu.' => 'Wenn Sie diese Meldung sehen haben Sie wahrscheinlich ein frisches LX-Office Setup und noch keine Buchungsgruppen eingerichtet. Ein Administrator kann dies im Systemmenü erledigen.', 'If you want to delete such a dataset you have to edit the user(s) that are using the dataset in question and have them use another dataset.' => 'Wenn Sie eine solche Datenbank löschen wollen, so müssen Sie zuerst die Benutzer bearbeiten, die die fragliche Datenbank benutzen, und sie so ändern, dass sie eine andere Datenbank benutzen.', 'Image' => 'Grafik', diff --git a/sql/Pg-upgrade2/dunning_invoices_per_dunning_level.sql b/sql/Pg-upgrade2/dunning_invoices_per_dunning_level.sql new file mode 100644 index 000000000..f3aa07d18 --- /dev/null +++ b/sql/Pg-upgrade2/dunning_invoices_per_dunning_level.sql @@ -0,0 +1,8 @@ +-- @tag: dunning_invoices_per_dunning_level +-- @description: Umstellung der Konfiguration für das automatische Erzeugen von Rechnungen über Mahngebühren von "global" auf "pro Mahnlevel" +-- @depends: dunning_invoices_for_fees +ALTER TABLE dunning_config ADD COLUMN create_invoices_for_fees boolean; +ALTER TABLE dunning_config ALTER COLUMN create_invoices_for_fees SET DEFAULT TRUE; +UPDATE dunning_config SET create_invoices_for_fees = + (SELECT dunning_create_invoices_for_fees FROM defaults LIMIT 1); +ALTER TABLE defaults DROP COLUMN dunning_create_invoices_for_fees; diff --git a/templates/webpages/dunning/edit_config_de.html b/templates/webpages/dunning/edit_config_de.html index 2296a55cf..23bfc9d02 100644 --- a/templates/webpages/dunning/edit_config_de.html +++ b/templates/webpages/dunning/edit_config_de.html @@ -2,16 +2,6 @@ - -

    [% title %]
    @@ -22,8 +12,9 @@ Mahnlevel Mahnstufenbeschreibung Aktiviert? - Auto. Versand? eMail-Versand? + + Rechnung erstellen? Fristsetzung Fällikeitsdatum +Tage Gebühr @@ -51,7 +42,8 @@ - + + @@ -80,7 +72,8 @@ - + + @@ -93,18 +86,13 @@
    -

    - - -

    +

    Wenn das automatische Erstellen einer Rechnung über Mahngebühren und Zinsen für ein Mahnlevel aktiviert ist, so werden die folgenden Konten für die Rechnung benutzt.

    - + + @@ -51,7 +42,8 @@ - + + @@ -80,7 +72,8 @@ - + + @@ -93,18 +86,15 @@
    -

    - - -

    +

    If the automatic creation of invoices for fees and + interest is switched on for a dunning level then the following + accounts will be used for the invoice.

    Konto für Gebühren - [% FOREACH row = SELECT_AR_AMOUNT %] [% END %] @@ -114,7 +102,7 @@
    Konto für Zinsen - [% FOREACH row = SELECT_AR_AMOUNT %] [% END %] @@ -124,7 +112,7 @@
    Buchen auf - [% FOREACH row = SELECT_AR %] [% END %] diff --git a/templates/webpages/dunning/edit_config_master.html b/templates/webpages/dunning/edit_config_master.html index 870f7525a..f1040d3ca 100644 --- a/templates/webpages/dunning/edit_config_master.html +++ b/templates/webpages/dunning/edit_config_master.html @@ -2,16 +2,6 @@ - -
    [% title %]
    @@ -22,8 +12,9 @@
    Dunning Level Dunning Description Active?Auto Send? eMail Send?Create invoice? Fristsetzung Duedate +Days Fee
    Account for fees - [% FOREACH row = SELECT_AR_AMOUNT %] [% END %] @@ -114,7 +104,7 @@
    Account for interest - [% FOREACH row = SELECT_AR_AMOUNT %] [% END %] @@ -124,7 +114,7 @@
    Record in - [% FOREACH row = SELECT_AR %] [% END %] -- 2.20.1