Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
authorMoritz Bunkus <moritz@bunkus.org>
Mon, 9 Jan 2012 17:28:51 +0000 (18:28 +0100)
committerMoritz Bunkus <moritz@bunkus.org>
Mon, 9 Jan 2012 17:28:51 +0000 (18:28 +0100)
SL/DN.pm
SL/Form.pm
SL/IC.pm
bin/mozilla/admin.pl
bin/mozilla/cp.pl
bin/mozilla/invoice_io.pl
doc/changelog
doc/dokumentenvorlagen-und-variablen.html
doc/umstellung_eur.txt
locale/de/all
templates/webpages/cp/form_header.html

index b00a83b..f51e211 100644 (file)
--- a/SL/DN.pm
+++ b/SL/DN.pm
@@ -718,6 +718,7 @@ sub print_dunning {
          ar.transdate,       ar.duedate,      ar.customer_id,
          ar.invnumber,       ar.ordnumber,    ar.cp_id,
          ar.amount,          ar.netamount,    ar.paid,
+         ar.curr,
          ar.amount - ar.paid AS open_amount,
          ar.amount - ar.paid + da.fee + da.interest AS linetotal
 
index d0a4157..0c291da 100644 (file)
@@ -2521,7 +2521,7 @@ sub all_vc {
 
   $table = $table eq "customer" ? "customer" : "vendor";
 
-  my $query = qq|SELECT count(*) FROM $table|;
+  my $query = qq|SELECT count(*) FROM $table WHERE NOT obsolete|;
   my ($count) = selectrow_query($self, $dbh, $query);
 
   # build selection list
index 8fd9281..5396c7a 100644 (file)
--- a/SL/IC.pm
+++ b/SL/IC.pm
@@ -497,7 +497,6 @@ sub save {
   }
 
   # insert makemodel records
-  unless ($form->{item} eq 'service') {
     my $lastupdate = '';
     my $value = 0;
     for my $i (1 .. $form->{makemodel_rows}) {
@@ -521,7 +520,6 @@ sub save {
         do_query($form, $dbh, $query, @values);
       }
     }
-  }
 
   # insert taxes
   foreach my $item (split(/ /, $form->{taxaccounts})) {
index 0592a69..6d518fc 100755 (executable)
@@ -61,6 +61,13 @@ require "bin/mozilla/admin_printer.pl";
 
 use strict;
 
+# parserhappy(R):
+
+#  $locale->text('periodic')
+#  $locale->text('income')
+#  $locale->text('perpetual')
+#  $locale->text('balance')
+
 our $cgi;
 our $form;
 our $locale;
index 86a5890..1f061ad 100644 (file)
@@ -66,13 +66,15 @@ sub payment {
   } else {
     CP->get_openvc(\%myconfig, \%$form);
   }
-
+  # Auswahlliste für vc zusammenbauen
+  # Erweiterung für schliessende option und erweiterung um value
+  # für bugfix 1771 (doppelte Leerzeichen werden nicht 'gepostet')
   $form->{"select$form->{vc}"} = "";
 
   if ($form->{"all_$form->{vc}"}) {
     # s.o. jb 12.10.2010
     $form->{"$form->{vc}_id"} = $form->{"all_$form->{vc}"}->[0]->{id};
-    map { $form->{"select$form->{vc}"} .= "<option>$_->{name}--$_->{id}\n" }
+    map { $form->{"select$form->{vc}"} .= "<option value=\"$_->{name}--$_->{id}\">$_->{name}--$_->{id}</option>\n" }
       @{ $form->{"all_$form->{vc}"} };
   }
 
@@ -80,11 +82,14 @@ sub payment {
 
   # Standard Konto für Umlaufvermögen
   my $accno_arap = IS->get_standard_accno_current_assets(\%myconfig, \%$form);
-
+  # Entsprechend präventiv die Auswahlliste für Kontonummer 
+  # auch mit value= zusammenbauen (s.a. oben bugfix 1771)
+  # Wichtig: Auch das Template anpassen, damit hidden input korrekt die "
+  # escaped.
   $form->{selectaccount} = "";
   $form->{"select$form->{ARAP}"} = "";
 
-  map { $form->{selectaccount} .= "<option>$_->{accno}--$_->{description}\n";
+  map { $form->{selectaccount} .= "<option value=\"$_->{accno}--$_->{description}\">$_->{accno}--$_->{description}</option>\n";
         $form->{account}        = "$_->{accno}--$_->{description}" if ($_->{accno} eq $accno_arap) } @{ $form->{PR}{"$form->{ARAP}_paid"} };
 
   # Braucht man das hier überhaupt? Erstmal auskommentieren .. jan 18.12.2010
@@ -107,8 +112,10 @@ sub payment {
   $form->{defaultcurrency} = $form->{currency} = $form->{oldcurrency} =
     $curr[0];
 
+  # Entsprechend präventiv die Auswahlliste für Währungen 
+  # auch mit value= zusammenbauen (s.a. oben bugfix 1771)
   $form->{selectcurrency} = "";
-  map { $form->{selectcurrency} .= "<option>$_\n" } @curr;
+  map { $form->{selectcurrency} .= "<option value=\"$_\">$_</option>\n" } @curr;
 
 
   &form_header;
@@ -128,10 +135,14 @@ sub form_header {
   if ($form->{ $form->{vc} } eq "") {
     map { $form->{"addr$_"} = "" } (1 .. 4);
   }
-
+  # bugfix 1771
+  # geändert von <option>asdf--2929
+  # nach:
+  #              <option value="asdf--2929">asdf--2929</option>
+  # offen: $form->{ARAP} kann raus?
   for my $item ($form->{vc}, "account", "currency", $form->{ARAP}) {
     $form->{"select$item"} =~ s/ selected//;
-    $form->{"select$item"} =~ s/option>\Q$form->{$item}\E/option selected>$form->{$item}/;
+    $form->{"select$item"} =~ s/option value="\Q$form->{$item}\E">\Q$form->{$item}\E/option selected value="$form->{$item}">$form->{$item}/;
   }
 
   $vc =
index 42e402e..5f6c141 100644 (file)
@@ -205,8 +205,7 @@ sub display_form {
     my $numrows    = ++$form->{rowcount};
     my $subroutine = "display_row";
 
-    if ($form->{item} eq 'part') {
-
+    if ($form->{item} =~ /(part|service)/) {
       #set preisgruppenanzahl
       $numrows    = $form->{price_rows};
       $subroutine = "price_row";
@@ -231,14 +230,6 @@ sub display_form {
       $numrows    = ++$form->{assembly_rows};
       $subroutine = "assembly_row";
     }
-    if ($form->{item} eq 'service') {
-      $numrows    = $form->{price_rows};
-      $subroutine = "price_row";
-
-      &{$subroutine}($numrows);
-
-      $numrows = 0;
-    }
 
     # create rows
     &{$subroutine}($numrows) if $numrows;
index 841f844..038b002 100644 (file)
@@ -77,6 +77,8 @@
   - Bugfix 1759: Währung bei Kunden / Lieferanten vorbelegen
   - Bugfix 1770: Währung / currency überlebt Workflow über Lieferschein nicht
   - Bugfix 1773: SQL Fehler bei Anzeige von Angeboten
+  - Bugfix 1725: In Mahnungen steht currency nicht als Variable zur Verfügung?
+  - Bugfix 1771: Zahlungsausgang: Lieferant wird nicht ausgewählt, wenn Name 2 Leerzeichen hintereinander enthält
 
 
 2011-06-15 - Release 2.6.3
index 1e05032..fa483c6 100644 (file)
@@ -1196,6 +1196,11 @@ td {
     <td><code>dn_transdate</code></td>
     <td>Rechnungsdatum</td>
    </tr>
+   <tr>
+    <td><code>dn_curr</code></td>
+    <td>W&auml;hrung, in der die Rechnung erstellt wurde. (Die Rechnungsbetr&auml;ge
+      sind aber immer in der Hauptw&auml;hrung)</td>
+   </tr>
   </table>
  </p>
 
index 5df9003..310b34a 100644 (file)
@@ -37,6 +37,21 @@ Die Konfiguration "eur" unter [system] in lx_office.conf wird nun nicht mehr
 benötigt und kann aus der Konfigurationsdatei gelöscht werden (dies muß manuell
 geschehen).
 
+
+Bemerkungen zu Bestandsmethode:
+
+Die Bestandsmethode ist eigentlich eine sehr elegante Methode, funktioniert in
+Lx-Office aber nur unter bestimmten Bedingungen: Voraussetzung ist, daß auch
+immer alle Einkaufsrechnungen gepflegt werden, und man beim Jahreswechsel nicht
+mit einer leeren Datenbank anfängt, da bei jedem Verkauf anhand der gesamten
+Rechnungshistorie der Einkaufswert der Ware nach dem FIFO-Prinzip aus den
+Einkaufsrechnungen berechnet wird.
+
+Die Bestandsmethode kann vom Prinzip her also nur funktioneren, wenn man mit
+den Buchungen bei Null anfängt, und man kann auch nicht im laufenden Betrieb
+von der Aufwandsmethode zur Bestandsmethode wechseln.
+
+
 TODO:
 
 * bei bestimmten Berichten kann man derzeit noch inviduell einstellen, ob man
index 81ffffc..971c2ac 100644 (file)
@@ -2133,6 +2133,7 @@ $self->{texts} = {
   'as at'                       => 'zum Stand',
   'assembly_list'               => 'erzeugnisliste',
   'back'                        => 'zurück',
+  'balance'                     => 'Betriebsvermögensvergleich/Bilanzierung',
   'bank_collection_payment_list_#1' => 'bankeinzugszahlungsliste_#1',
   'bank_transfer_payment_list_#1' => 'ueberweisungszahlungsliste_#1',
   'bankaccounts'                => 'Bankkonten',
@@ -2183,6 +2184,7 @@ $self->{texts} = {
   'history'                     => 'Historie',
   'history search engine'       => 'Historien Suchmaschine',
   'inactive'                    => 'inaktiv',
+  'income'                      => 'Einnahmen-Überschuß-Rechnung',
   'invoice'                     => 'Rechnung',
   'invoice_list'                => 'debitorenbuchungsliste',
   'lead deleted!'               => 'Kundenquelle gelöscht',
@@ -2215,6 +2217,8 @@ $self->{texts} = {
   'our vendor number at customer' => 'Unsere Lieferanten-Nr. beim Kunden',
   'part_list'                   => 'Warenliste',
   'percental'                   => 'prozentual',
+  'periodic'                    => 'Aufwandsmethode',
+  'perpetual'                   => 'Bestandsmethode',
   'pick_list'                   => 'Sammelliste',
   'plural first char'           => 'P',
   'pos_bilanz'                  => 'Bilanz',
index 368f077..bc02918 100644 (file)
@@ -69,7 +69,7 @@
         <tr>
           <th align=right nowrap>[% 'Account' | $T8 %]</th>
           <td colspan=3><select name=account>[% selectaccount %]</select>
-          <input type=hidden name=selectaccount value="[% selectaccount %]">
+          <input type=hidden name=selectaccount value="[% selectaccount | html %]">
           </td>
         </tr>
         <tr>