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
$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
}
# insert makemodel records
- unless ($form->{item} eq 'service') {
my $lastupdate = '';
my $value = 0;
for my $i (1 .. $form->{makemodel_rows}) {
do_query($form, $dbh, $query, @values);
}
}
- }
# insert taxes
foreach my $item (split(/ /, $form->{taxaccounts})) {
use strict;
+# parserhappy(R):
+
+# $locale->text('periodic')
+# $locale->text('income')
+# $locale->text('perpetual')
+# $locale->text('balance')
+
our $cgi;
our $form;
our $locale;
} 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}"} };
}
# 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
$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;
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 =
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";
$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;
- 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
<td><code>dn_transdate</code></td>
<td>Rechnungsdatum</td>
</tr>
+ <tr>
+ <td><code>dn_curr</code></td>
+ <td>Währung, in der die Rechnung erstellt wurde. (Die Rechnungsbeträge
+ sind aber immer in der Hauptwährung)</td>
+ </tr>
</table>
</p>
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
'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',
'history' => 'Historie',
'history search engine' => 'Historien Suchmaschine',
'inactive' => 'inaktiv',
+ 'income' => 'Einnahmen-Überschuß-Rechnung',
'invoice' => 'Rechnung',
'invoice_list' => 'debitorenbuchungsliste',
'lead deleted!' => 'Kundenquelle gelöscht',
'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',
<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>