Moritz Bunkus [Tue, 25 Nov 2014 08:01:56 +0000 (09:01 +0100)]
Finanzcontrollingbericht: Spalte »Vorgangsbezeichnung« anzeigen
Sven Schöling [Mon, 24 Nov 2014 13:01:21 +0000 (14:01 +0100)]
Installcheck: Moose::Role ist in libmoose-perl
Bernd Bleßmann [Mon, 24 Nov 2014 11:50:58 +0000 (12:50 +0100)]
Upgrade-Scripte zum Löschen von CVars via Trigger beschleunigt.
In den queries, die vor dem Installieren der Trigger die DB aufräumen,
"NOT IN" durch "NOT EXISTS" ersetzt.
Hintergrund-Info ist hier zu finden:
http://explainextended.com/2009/09/16/not-in-vs-not-exists-vs-left-join-is-null-postgresql/
(Dank an Sven)
Sven Schöling [Mon, 24 Nov 2014 10:26:48 +0000 (11:26 +0100)]
PartPicker: Bessere Beschreibung zum das javascript include
Sven Schöling [Fri, 21 Nov 2014 17:17:16 +0000 (18:17 +0100)]
Layout: title Ausgabe normalisieren
...mit dem Ziel das später ins Layout zu migrieren.
- In allen Templates den Tital auch wirklich als erstes ins DOM
verschoben
- unterschiedliche Verwendung der folgenden Muster vereinheitlicht:
<h1>...</h1>
<div class='listtop'>...</div>
<p><div class='listtop'>...</div></p>a
<tr><th class='listtop' colspan=..>....</th></tr>
- Verwendung der gleichen Klasse im Footer in <h2> geändert
- Puffer <tr height=5> entfert
Das ergibt insgesamt folgende Effekte:
- Einheitliches Rendern der Überschrift
- Einheitlicher Abstand zum Content
- flash/message werden immer unter der Überschrift angezeigt
Sven Schöling [Thu, 20 Nov 2014 11:52:04 +0000 (12:52 +0100)]
CsvImport: Makemodels feiner granulieren.
Sven Schöling [Tue, 18 Nov 2014 15:03:16 +0000 (16:03 +0100)]
RequirementSpec: partpicker js muss vorher schon geladen sein.
Sven Schöling [Tue, 18 Nov 2014 14:52:15 +0000 (15:52 +0100)]
Doku update
Sven Schöling [Tue, 18 Nov 2014 14:49:35 +0000 (15:49 +0100)]
PartPicker: javascript direkt im P.part_picker adden.
Sven Schöling [Tue, 18 Nov 2014 14:48:21 +0000 (15:48 +0100)]
Controller: content for header rendern
Hat zur Folge, dass Presenterwidgets benötigte stylesheets und
javascripts anfordern können.
Sven Schöling [Tue, 18 Nov 2014 14:11:13 +0000 (15:11 +0100)]
Stylesheets: Aufräumaktion
- gemeinsame stylesheets aus den kivitendo/lx-office-erp Verzeichnissen
genommen
- README aktualisiert
- rp/bwa nicht mehr hartcodiert in kivitendo laden
Sven Schöling [Tue, 18 Nov 2014 12:25:31 +0000 (13:25 +0100)]
Nicht mehr gepflegtes Stylesheet Mobile entfernen
kann wieder aufgenommen werden wenn es weitergepflegt wird
Sven Schöling [Mon, 17 Nov 2014 10:51:39 +0000 (11:51 +0100)]
Einkaufsrechnungen: closedto beachten
Sven Schöling [Mon, 17 Nov 2014 09:36:19 +0000 (10:36 +0100)]
Freitagabendcommit Fixes
Sven Schöling [Fri, 14 Nov 2014 17:56:10 +0000 (18:56 +0100)]
DeliveryPlan: Cleanup, vc mitschleifen
Sven Schöling [Fri, 14 Nov 2014 17:55:08 +0000 (18:55 +0100)]
ReportGenerator: visible Information nicht ignorieren
Sven Schöling [Fri, 14 Nov 2014 16:53:49 +0000 (17:53 +0100)]
Gloable BCC Adresse
Sven Schöling [Fri, 14 Nov 2014 15:28:50 +0000 (16:28 +0100)]
Email: Kosmetik
Sven Schöling [Fri, 14 Nov 2014 15:02:59 +0000 (16:02 +0100)]
Belege: Filtern nach Ansprechpartner
Sven Schöling [Fri, 14 Nov 2014 10:40:56 +0000 (11:40 +0100)]
FlattenToForm: Rabatte richtig formatieren
Sven Schöling [Fri, 14 Nov 2014 10:01:03 +0000 (11:01 +0100)]
PeriodicInvoices: employee aus Quellauftrag setzen
Sven Schöling [Thu, 13 Nov 2014 16:50:38 +0000 (17:50 +0100)]
CsvImport: temporäre Profile ausblenden
Moritz Bunkus [Wed, 12 Nov 2014 11:29:25 +0000 (12:29 +0100)]
Ansprechpersonen-CVars auch beim Updaten speichern
Beim Neuanlegen wurden sie schon geschrieben, weil da in den Objekten
noch keine ID vorhanden ist. Bei existierenden Objekten muss aber das
Mutterobjekt mit cascade=>1 gespeichert werden, damit modifizierte
Relationships auch gespeichert werden.
Moritz Bunkus [Wed, 12 Nov 2014 11:12:33 +0000 (12:12 +0100)]
Ansprechpersonen-CVars mit INCLUDE und nicht PROCESS einbinden
PROCESS lokalisiert die Variablen nicht. Das führt dazu, dass bei
multiplen CVars für Ansprechpersonen der Feldname aller CVar-Inputs
immer der der ersten CVar ist.
Moritz Bunkus [Wed, 12 Nov 2014 11:01:09 +0000 (12:01 +0100)]
Benutzerdefinierte Variablen via Trigger löschen Bugfix
Die ID-Spalte heißt in der contacts-Tabelle cp_id und nicht id.
Jan Büren [Tue, 11 Nov 2014 10:43:28 +0000 (11:43 +0100)]
Optimierung Helfer-Funktion _get_delivery_qty
ALLE Aufrufe dann auch von dieser Funktion erledigen.
Jan Büren [Mon, 10 Nov 2014 17:46:46 +0000 (18:46 +0100)]
weitere Verbesserungen für die helper-funktion
Die Funktion sollte unabhängig vom Variablen-Namen sein, damit dies
langfristig einfacher wartbar ist.
Jan Büren [Mon, 10 Nov 2014 15:29:51 +0000 (16:29 +0100)]
HelperFunktion OderItem: _delivered_qty optimiert
Jan Büren [Mon, 10 Nov 2014 14:23:51 +0000 (15:23 +0100)]
OrderItems-> delivered_qty in helper-funktion ausgelagert
Ergänzung zum Commit von gerade: Da man nicht sicher sein kann,
ob dieser Wert als Objekt-Variable zu dem Zeitpunkt (t2) schon berechnet
wurde, entsprechend in eine nach perl-konvention private (_delivered_qty)
funktion ausgelagert.
Jan Büren [Mon, 10 Nov 2014 13:00:01 +0000 (14:00 +0100)]
Lieferplan: Warenwert der ausgelagerten Warenmenge anzeigen
Sven Schöling [Fri, 7 Nov 2014 13:07:45 +0000 (14:07 +0100)]
CVars: typo bei Editieren von Waren
Waldemar Toews [Fri, 7 Nov 2014 10:01:27 +0000 (11:01 +0100)]
Laden von CVars mit falschen Werten in Artikelstammdaten unterbinden.
Beim Laden der CVars in Stammdaten fand die Prüfung nach 'sub_module'
nicht statt.
Dabei werden mehrere Datensätze zurückgeliefert und wenn mann Pech hat
kann der erste Satz, der genommen wird, den Wert aus dem Auftrag oder
woher auch immer haben.
Die Abfrage ist jetzt geändert: Wenn der Parameter nicht übergeben
wurde, dann mit Leerstring vorbelegen und immer nach 'sub_module'
durchsuchen.
Moritz Bunkus [Thu, 6 Nov 2014 07:42:21 +0000 (08:42 +0100)]
Pflichtenheftvorlage: CJK-Modul für bessere UTF-8-Unterstützung laden
Ansonsten funktionieren Dinge wie das Durchstreichen von UTF-8-Zeichen
wie „deutschen Anführungszeichen“ oder »Guillemots« nicht.
Moritz Bunkus [Wed, 5 Nov 2014 08:20:01 +0000 (09:20 +0100)]
Pflichtenhefte: benötigte Template-Plugins auch laden
Moritz Bunkus [Wed, 5 Nov 2014 08:13:43 +0000 (09:13 +0100)]
locales.pl: auch INCLUDE/PROCESS auf .js-Datei erkennen
Moritz Bunkus [Tue, 4 Nov 2014 10:26:28 +0000 (11:26 +0100)]
Pflichtenhefte: vordef Textblöcke auch bei Abschnitten verwenden können
Moritz Bunkus [Tue, 4 Nov 2014 10:09:43 +0000 (11:09 +0100)]
Pflichtenheftextblöcke: vordef Blöcke nach usable-Flag filtern
Moritz Bunkus [Tue, 4 Nov 2014 08:58:13 +0000 (09:58 +0100)]
Pflichtenhefte vordef Textblöcke: Verwaltung Flags »benutzbar für…«
Moritz Bunkus [Tue, 4 Nov 2014 08:54:01 +0000 (09:54 +0100)]
Pflichtenhefte vordef Textblöcke: überflüssige Tags entfernt
Moritz Bunkus [Mon, 3 Nov 2014 15:36:18 +0000 (16:36 +0100)]
Pflichtenhefte: Funktion Abschnitte/Funktionsblöcke neu nummerieren
Jan Büren [Tue, 4 Nov 2014 16:50:11 +0000 (17:50 +0100)]
Verbesserung Standard-Auslagern
a) Überprüfung auf negative Eingabe des Benutzers (hier wird beim
manuellen Auslagern keine Lager-Bewegung durchgeführt).
b) Löschen von bisher eingetragenene Mengen innerhalb der einzelnen
Positionen (für den Fall Dienstleistung nicht ein- oder auslagern).
Falls das ein Benutzer so eingibt
Jan Büren [Tue, 4 Nov 2014 15:28:41 +0000 (16:28 +0100)]
Doppelte if-Abfrage entfernt
zum Commit von gerade: unnötig zweimal auf $qty zu prüfen
Jan Büren [Tue, 4 Nov 2014 15:19:46 +0000 (16:19 +0100)]
Verbesserung Standardauslagern für den Fall Dienstleistung ist nicht lagerbar
Kein undef an SL/DO.pm übergeben, sondern die richtigen Position zum
Einlagern durch eine "schlauere" Schleife machen.
Falls eine Position die NICHT ein-, bzw. ausgelagert werden soll, schon
belegt wurde (per Benutzereingabe). Diese auch dann löschen, da ansonsten
Beleg ne Lager (Hinweis von Sven)
Jan Büren [Tue, 4 Nov 2014 13:01:34 +0000 (14:01 +0100)]
Standard-Auslager-Verfahren verbessert (Dienstleistungen)
a) Falls Dienstleistungen nicht per Standardverfahren
ein- oder ausgelagert werden sollen, entsprechend NICHT auslagern.
Meine erste Idee, einfach die Menge auf 0 zu setzen funktioniert nur dann,
wenn auch ein Standardlagerplatz für die Dienstleistung oder Mandanten gesetzt ist.
Ferner wird dann eine Lagerbewegung mit der Menge 0 noch in inventory gemacht.
Folgende Ergänzungen: a) Menge auf 0, b) delete für Prüfung auf "Mengen-Hash" (qty)
c) ein undef Element in dem Array all_requests hinzugefügt, sodass DO.pm (unpack_stock_info)
in demselben Format die Daten empfängt wie beim manuellen Auslagern, wenn eine Position nicht
per Fragezeichen ausgelagert wird.
b) Ergänzung ob beim Einlagern per Standard-Einlagern ein Standard-Lagerplatz für
die Ware / Dienstleistung gesetzt ist, anstatt der Ausgabe eines SQL-Fehlers
Testfälle für a)
Notwendige Bedingung: Auslagern über Standardlagerplatz aktiviert
Verkauf | Einkauf
A Dienstleistung |
NICHT automatisch i.O. | i.O.
ein- oder auslagern |
-------------------------------------------------------------
B Leere Position (QTY == 0) i.O. | i.O.
G. Richardson [Mon, 3 Nov 2014 11:52:23 +0000 (12:52 +0100)]
Bei Fehler LaTeX Tempfiles als UTF8 einlesen
Dadurch können Unicode-Zeichen, die in der .tex Datei Fehler
verursachen, dem Benutzer an der Oberfläche besser angezeigt werden.
G. Richardson [Tue, 4 Nov 2014 11:04:43 +0000 (12:04 +0100)]
Rundung bei Debitorenbuchung, Kreditorenbuchung und Dialogbuchung
Zwei neue Hilfsfunktionen für Form eingeführt die von ap/ar/gl genutzt
werden:
* calculate_tax wird zur Berechnung der Steuer bei
** update in ar, ap und gl
** post_transaction in AR.pm und AP.pm innerhalb von calculate_arap
* calculate_arap berechnet netamount, amount und totaltax anhand einer
vorhandenen $form in ar/ap, und formatiert und rundet die amount_$i and
tax_$i in der $form.
Das Ziel war es, daß diese drei Belege mit den gleichen Formeln zur
Steuerberechnung bei Steuer inkl./exkl. arbeiten. Ein Vorteil im
Vergleich zur Einkaufs- und Verkaufsrechnung ist, daß es hier keine
Positionen/Mengen/Rabatte/etc gibt, sondern direkt Werte auf Konten
bebucht werden, man muß nur Währungskurse berücksichtigen und beim
Schreiben in die Datenbank auf die Vorzeichen achten. Einkaufs- und
Verkaufsrechnungen werden hiervon nicht beeinflußt.
Vor allem bei der Einstellung "MwSt. inkl" wird die Steuer nun immer auf
zwei Stellen gerundet in die Datenbank geschrieben, und nicht (wie
bisher in manchen Fällen) mit 5 Nachkommastellen, was zu mehreren Bugs
geführt hat.
Es gibt einen neuen Test t/form/arap.t der die Berechnungen dieser
beiden Funktionen testet, nicht aber das eigentliche Buchen der Belege.
Mit diesem Commit sollten für zukünftige Buchungen folgende Bugs behoben
sein:
1691 - Rundung bei Berichten bei Buchungen mit MwSt inkl.
2029 - Rundungsfehler bei Dialogbuchung
2033 - Unterschiede in Rundungen durch taxincluded
2094 - Rundungsprobleme in Kreditorenbuchungen: Cent "kippt" bei Zahlungseinbuchung
2435 - Rundungsfehler in Kreditorenbuchungen (Netto vs. Brutto)
Dieser Commit greift in die Eingeweide von Uraltcode ein, wo die
diversen Stellen alle mal mit copy&paste entstanden und dann langsam
divergiert sind, hat also hohes Fehlerpotential. Es lohnt sich, den
DATEV-Check anzuschalten.
Moritz Bunkus [Tue, 4 Nov 2014 09:58:35 +0000 (10:58 +0100)]
locales.pl: Quelldateien mit Encoding UTF-8 lesen
Das erlaubt die Verwendung von Unicode in HTML-Templates,
Perl-/JavaScript- und Menü-Dateien, sodass die auch vom Locale-System
richtig durchgereicht werden.
Moritz Bunkus [Tue, 4 Nov 2014 09:57:47 +0000 (10:57 +0100)]
locales.pl: nur auf .js oder .html endende Files nach JavaScript-t8() scannen
Ansonsten werden alle Dateien in den js-Unterverzeichnis gescannt, und
hier liegen u.a. Bilder (JPGs), Stylesheets etc.
Moritz Bunkus [Tue, 4 Nov 2014 09:57:19 +0000 (10:57 +0100)]
JavaScript & Templates in UTF-8 speichern
…und nicht in ISO-8859-*
Jan Büren [Mon, 3 Nov 2014 18:47:40 +0000 (19:47 +0100)]
DeliveryPlan - kleinere Details verbesert
a) SQL-sanitize $vc param
b) Syntaxfehler in Template
c) SELF.vc leicht sinnvoller als nur $vc
d) Column defs mit visible an- und ausschalten, bzw. hotfix für heute
Jan Büren [Mon, 3 Nov 2014 16:43:54 +0000 (17:43 +0100)]
Verbesserungen Einkaufs-Lieferplan
a) keinen Fallunterschied für $vc im Template, sondern ein einfaches hidden flag vc
b) kein copy & paste von action_list(_ap), sondern parameter in erp.ini
c) performanteres grep, statt foreach in OrderItem (Details s.a. devel-liste)
d) my $vc nicht als statische Klassenvariable gesetzt
e) CSV-Export für beide Fälle richtig (filter vc übergeben)
Jan Büren [Mon, 3 Nov 2014 12:52:07 +0000 (13:52 +0100)]
Merge branch 'master' of github.com:kivitendo/kivitendo-erp
Jan Büren [Mon, 3 Nov 2014 12:51:08 +0000 (13:51 +0100)]
Einkaufs-Lieferplan
Lieferplan für noch nicht vollständig gelieferte Einkaufsaufträge.
Moritz Bunkus [Mon, 3 Nov 2014 08:51:50 +0000 (09:51 +0100)]
Hintergrundjob: Link zum Verlauf anzeigen
Jan Büren [Fri, 31 Oct 2014 14:46:20 +0000 (15:46 +0100)]
Erweiterung Lieferplan Belege wirklich ausgelagert und Warenverkaufswert (default: aus)
Erweiterung Mandantenkonfiguration im Bereich Lager zum Einschalten von
a) Warenverkaufswert
Falls aktiviert erscheint eine neue Spalte im Lieferplan, die den Wert der
ausgeliefert Waren angibt. Berechnungen mit sellprice sind in der kivi immer
hakelig. Hier die getesten Fälle:
- Rabatt i.O.
- Preisfaktor i.O.
- Steuer im Preis inbegriffen (eine Warnung wird generiert).
b) Lieferplan berücksichtigt die tatsächlich ausgelagerten Lieferscheine
Falls der Firmenprozess zwei Rollen vorgibt (Lieferschein-Ersteller und
Lieferschein-Auslagerer), konnte dies mit dem vorhanden Bericht nicht klar
eingesehen werden. Entsprechend werden bei dieser Funktion nur die tatsächlich
ausgelagerten Lieferscheine berücksichtigt. Achtung: Teilausgelagerte Belege
werden nicht berücksichtigt (keine verknüpfung mit tabelle inventory)
Jan Büren [Thu, 30 Oct 2014 12:50:32 +0000 (13:50 +0100)]
Merge branch 'master' of github.com:kivitendo/kivitendo-erp
Jan Büren [Thu, 30 Oct 2014 12:40:42 +0000 (13:40 +0100)]
Lieferplan-Bericht um Berichts-Feld "ausgelagerte Menge" erweitert
Der Lieferplan berechnet aktuell die "verschickte" Menge der Waren
aus der Menge der generierten Lieferschein, beachtet aber nicht den
tatsächlichen Status des Lieferscheins (ausgelagert oder nicht).
Entsprechend ein Extra-Feld in dem Bericht hinzugefügt, dass diese
Untermenge der Lieferscheine (Status ausgelagert) berücksichtigt.
Nur teilweise ausgelagerte Lieferscheine werden NICHT berücksichtigt.
-> technischer Hintergrund: keine Verknüpfung mit inventory
Die "große" UNION-Query (sub delivery_plan_query) musste nicht angefasst werden,
da der Filter über "offene Verkaufsaufträge" geht. Verkaufsaufträge werden aber
erst dann geschlossen wenn alle Menge in der Verkaufsrechnung verbucht
worden sind und NICHT wenn alle Mengen in den Lieferscheinen (unabhängig
vom Status 'ausgelagert') verbucht / geschrieben wurden.
Sven Schöling [Wed, 29 Oct 2014 10:15:37 +0000 (11:15 +0100)]
GetModels: typo
Bernd Bleßmann [Mon, 20 Oct 2014 10:28:28 +0000 (12:28 +0200)]
trailing whitespaces entfernt
Bernd Bleßmann [Mon, 20 Oct 2014 10:02:20 +0000 (12:02 +0200)]
Lieferschein: Ausdruck Erzeugnisse mit Stückliste und Lagerausgang repariert.
Wenn bei einem Erzeugnis Stückliste angehakt war und das Erzeugnis auf dem
Lieferschein auch einen Lagerausgang hatte, so gab es eine Fehlermeldung, da
die Lagerausgangs-Infos Arrays sind, aber mit einem leeren String ("") gefüllt
wurden.
Zudem stimmten die Array-Postionen der Lagerausgänge nicht mit den
Artikelpositionen überein.
Ausserdem Lagerausgänge jetzt für alle Artikel zulassen, da inzwischen auch
Erzeugnisse und Dienstleistungen gelagert werden können.
Sven Schöling [Fri, 17 Oct 2014 14:06:44 +0000 (16:06 +0200)]
CsvImport: makemodels nicht klobbern wenn existierende und price_update
Jan Büren [Tue, 14 Oct 2014 17:26:55 +0000 (19:26 +0200)]
Merge branch 'master' of github.com:kivitendo/kivitendo-erp
Jan Büren [Tue, 14 Oct 2014 17:23:39 +0000 (19:23 +0200)]
lexical in postif fix
falls my deklariert ist, nicht danach mit if prüfen
s.a. chat:
<gorash> grund warum das ekelig ist: das wird intern übersetzt in if (cond) { my $var = ... }
Sven Schöling [Thu, 2 Oct 2014 09:34:30 +0000 (11:34 +0200)]
Layout: HTML Markup gefixt
Jan Büren [Thu, 2 Oct 2014 08:18:10 +0000 (10:18 +0200)]
Transportkosten-Erinnerungs-Artikel auf ID anstatt partnumber umgestellt Teil II
Vergessene modifies für Commit von gerade hinzugefügt
Jan Büren [Thu, 2 Oct 2014 07:40:57 +0000 (09:40 +0200)]
Transportkosten-Erinnerungs-Artikel auf ID anstatt partnumber umgestellt
Ggf. kann partnumber nicht eindeutig sein. Ferner find ich den partpicker
als Auswahlelement viel cooler und anwenderfreundlicher als ein reines
Textfeld.
Jan Büren [Thu, 2 Oct 2014 06:49:56 +0000 (08:49 +0200)]
Schnelllöschen einzelner Positionen per X
Einzelnen Positionen können jetzt "schneller" mit einem Klick
gelöscht werden. Dies ist vor allen bei vielen Positionen sinnvoll.
Jan Büren [Thu, 2 Oct 2014 06:31:56 +0000 (08:31 +0200)]
Besseres return (keine subtilen Bugs)
return undef entfernt.
Jan Büren [Thu, 2 Oct 2014 06:22:37 +0000 (08:22 +0200)]
Angebotsgüligkeitsintervall Caveat
Svens Überlegung das Intervall vor der Berechnung zu nehmen, hatte ich auch. Aber dann würde ich eher
die gesamte Routine umschreiben und die Berechnung nicht über einen SQL-Befehl machen, sondern mit Hilfe
von SL/Locale.pm. Entsprechend nochmal den Hinweis in der Mandantenkonfiguration genauer gemacht.
Jan Büren [Wed, 1 Oct 2014 09:16:25 +0000 (11:16 +0200)]
Merge branch 'master' of github.com:kivitendo/kivitendo-erp
Jan Büren [Wed, 1 Oct 2014 09:11:46 +0000 (11:11 +0200)]
Changelog angepasst für neue Mandantenkonfigurationen
Jan Büren [Wed, 1 Oct 2014 09:06:57 +0000 (11:06 +0200)]
Erinnerung für Transport- oder Versandkostenartikel bei Angebot / Auftrag implementiert
Erweiterung: Mandantenkonfiguration um einen Standardartikel der auf Vorhandensein
überprüft wird (oe). Falls nicht wird eine entsprechende Warnung ausgegeben.
Verbesserungsmöglichkei 1: Artikelnummer per partpicker auswählen
Verbesserungsmöglichkei 2: Erinnerung anolog zu Vorgangsbezeichnung vergeben implementieren
Moritz Bunkus [Tue, 30 Sep 2014 15:46:31 +0000 (17:46 +0200)]
Form::round_amount: Perls Wissen über Stringifizierung nutzen
Perl weiß am besten, wann eine nicht ganz exakte Fließkommazahl
eigentlich eine für Menschen sinnvoll lesbare Fließkommazahl ist (also
dass mit 143.
19999999999998863132 eigentlich 143.2 gemeint ist, wenn ich
143.2 übergebe). Also nutzen wir diese Tatsache, machen aus der
Fließkommazahl einen String und teilen diesen dann am
Dezimaltrennzeichen auf.
Danach kann mit Integerarithmetik weiter gerechnet werden. Auf die
Nachkommastellen wird entsprechend addiert, sofern die relevante Stelle
>= 5 ist, und der dabei potenziell entstehende Übertrag wird in einer
zweiten Addition auf den Vorkommaanteil addiert.
Erst zum Schluss werden diese beiden Integerzahlen mit Hilfe eines
Strings zu einer Fließkommazahl zusammengesetzt.
Dabei muss beachtet werden, dass auf 32bit-Architekturen Perls
automatische Integer-Umwandlung von Strings bei Stringlängen von 9
bereits auf die wissenschaftliche Schreibweise wechselt. Das wird
verhindert, indem das Math::BigInt-Modul in dem Moment für die
Berechnung verwendet wird, aber aus Performancegründen nur dann, wenn's
wirklich nötig ist.
Jan Büren [Tue, 30 Sep 2014 09:34:04 +0000 (11:34 +0200)]
Whitespace entfernt
Jan Büren [Tue, 30 Sep 2014 09:28:18 +0000 (11:28 +0200)]
Konfigurierbares Angebotsgültigkeits-Intervall hinzugefügt
Standardmässig ist ein Verkaufsangebot bis zum nächsten Werktag gültig.
Dieses Intervall wird dann noch hinzugerechnet, bspw. nächster Werktag plus 14, 28 etc.
Falls das Intervall nicht gesetzt oder wir nicht den Typ sales_quotation haben, passiert nichts.
Der Datentyp ist Integer, Tippfehler werden bisher nur dort abgefangen (Wird wahrscheinlich
nur einmalig von einem Kunden gesetzt).
Jan Büren [Tue, 30 Sep 2014 06:53:07 +0000 (08:53 +0200)]
zu gerade: Bessere Übersetzung für Delivery Order created
Jan Büren [Tue, 30 Sep 2014 06:49:43 +0000 (08:49 +0200)]
Beschriftung geändert: Lieferschein erstellt -> Lieferscheine(e) in kompletter Menge erstellt
Betrifft Status delivered in oe, dieser wird erst gesetzt wenn die Liefermenge komplett erreicht
ist. Somit ist Lieferschein erstellt, eine bessere Bezeichnung für "geliefert" (da ja
noch nicht ausgelagert), aber verwirrend wenn es schon einen Lieferschein gibt und der Haken,
zu Recht, noch nicht gesetzt ist.
Moritz Bunkus [Thu, 25 Sep 2014 10:31:58 +0000 (12:31 +0200)]
round_amount: Perls Repräsentationsalgorithmus fürs exakte Runden nutzen
Als Erläuterung paste ich schlicht den relevanten Teil des Kommentars,
der nun auch in der Funktion steht:
Trying to round with more precision first only shifts the problem to rarer
cases, which nevertheless exist.
Now we exploit the presentation rounding of Perl. Since it really tries hard
to recognize integers, we double $amount, and let Perl give us a representation.
If Perl recognizes it as a slightly too small integer, and rounds up to the
next odd integer, we follow suit and treat the fraction as .5 or greater.
Sven Schöling [Wed, 24 Sep 2014 09:12:38 +0000 (11:12 +0200)]
CsvImport/Parts: makemodels fix inidzieren
Sven Schöling [Mon, 22 Sep 2014 13:43:40 +0000 (15:43 +0200)]
select_item: Belegmasken finden jetzt auch Warennummern aus makemodels
Außerdem die Präsentation von select_item angepasst, so dass ersichtlich
wird woher die gefundenen Waren stammen.
Sven Schöling [Wed, 17 Sep 2014 15:36:05 +0000 (17:36 +0200)]
CsvImport: Beim Import von makemodels die Reihenfolge richtig setzen
Sven Schöling [Wed, 17 Sep 2014 15:35:51 +0000 (17:35 +0200)]
MakeModel: ActsAsList
Sven Schöling [Wed, 17 Sep 2014 15:35:00 +0000 (17:35 +0200)]
ActsAsList: use Parameter zum Konfigurieren benutzen
Sven Schöling [Wed, 17 Sep 2014 14:26:24 +0000 (16:26 +0200)]
Preisfaktoren: Bei neu anlegen auch das Inputfeld anzeigen
behebt #2494
war in
ba52ee60 kaputtgegangen
Sven Schöling [Mon, 15 Sep 2014 13:18:51 +0000 (15:18 +0200)]
ParseFilter: with_objects merging bei Klassen mit Filtered Plugin
ParseFilter kennt 3 Quellen für with_objects Klauseln:
1. explizit übergebene
2. aus dem Filter inferierte
3. aus custom filtern gesetzte
Wenn nun ein Model das Custom Filter Plugin hat, muss bei jedem Filter
getestet werden, ob dieser Filter eigene with_objects setzt oder nicht.
Wenn der Filter aber auf eine normale Spalte zeigt, muss wie ohne Klasse
auch der Standardpfad als Include gesetzt werden. Das war aber nicht der
Fall.
Sven Schöling [Wed, 10 Sep 2014 15:05:42 +0000 (17:05 +0200)]
locales.pl: Optional die Quelldatei von neuen Strings anzeigen
falls mal wieder ein String auftaucht, und man ihn einfach nicht findet
Sven Schöling [Wed, 10 Sep 2014 15:01:56 +0000 (17:01 +0200)]
CustomerVendor: Spaltenüberschrift bei Sortierung richtig übersetzen
Sven Schöling [Tue, 9 Sep 2014 17:06:30 +0000 (19:06 +0200)]
CustomerVendor: Picker nach Art von PartPicker
- reinit_widgets fähig
- Tab und Enter atomar
- unterstützt onChange und set_item:CustomerVendorPicker trigger
- unterstützt fat_set_item
Jan Büren [Thu, 4 Sep 2014 14:54:12 +0000 (16:54 +0200)]
undefs für find_by berücksichtigen
Jan Büren [Thu, 4 Sep 2014 12:46:34 +0000 (14:46 +0200)]
all_parts um Namensoption des Kunden oder Lieferanten erweitert
Der Name wurde im Backend IC.pm schon richtig übergeben, es scheint
aber, dass dieser dann nicht mehr als Option angehakt war.
Entsprechend auch eine Flash-Warnung auch ausgegeben, falls überhaupt
keine Belegoption angewählt wurde.
Jan Büren [Thu, 4 Sep 2014 10:46:23 +0000 (12:46 +0200)]
hotfix für #10 Ansprechpartner auf ungültig setzen löst leeres Adressfeld beim Drucken aus
behebt (teilweise) #9 ggf. wäre es prinzipiell besser die customer_details
auf rose umzuschreiben
Jan Büren [Thu, 4 Sep 2014 07:11:16 +0000 (09:11 +0200)]
Merge branch 'master' of github.com:kivitendo/kivitendo-erp
Jan Büren [Thu, 4 Sep 2014 07:07:29 +0000 (09:07 +0200)]
SuSa - Summe per und Saldo auch bei abweichenden Geschäftsjahr berechnen
Falls man eine Monats-SuSa zieht werden die Salden korrekt berechnet, allerdings
wurde nicht ein abweichendes Geschäftsjahr berücksichtigt. Jetzt wird
das Startdatum wie in der Bilanz genommen, dass ist schon mal besser, allerdings
ist hier der Fall Startdatum == closedto immer noch etwas unschön, s.a. Kommentar
in der Methode get_balance_startdate_method
G. Richardson [Wed, 3 Sep 2014 14:19:20 +0000 (16:19 +0200)]
netprice auf Anzahl von Nachkommastellen von sellprice runden
Es geht um die Anzeige der Einzelpreise von Positionen der
Druckvorlagen.
Bisher wurde netprice hart auf 2 Nachkommastellen gerundet, was zu
Problemen bei Subcentpreisen führte. Dies hatte den Effekt, daß z.B.
Menge 1000 und Sellprice 0.0036 eine linetotal von 3.6 ergab, und
netprice mit 3.6/1000 auf 2 Nachkommastellen gerundet zu 0 wurde. In der
Druckvorlage wurde dadurch der effektive Einzelpreis zu 0. Rundet man
auf die Anzahl der Nachkommastellen von sellprice (in diesem Beispiel
4), wird daraus wieder 0.0036 und kann in der Druckvorlage korrekt
angezeigt werden.
G. Richardson [Wed, 3 Sep 2014 14:17:17 +0000 (16:17 +0200)]
Doku zu Druckvariable netprice angepasst
Jan Büren [Wed, 3 Sep 2014 05:49:42 +0000 (07:49 +0200)]
if-Abfrage eindeutiger geschrieben und Variablenname klarer definiert
Jan Büren [Fri, 28 Feb 2014 12:40:53 +0000 (13:40 +0100)]
rp-patch
Sven Schöling [Tue, 2 Sep 2014 13:25:35 +0000 (15:25 +0200)]
TaskServer: $::form->error und ::end_of_request() handhaben
Moritz Bunkus [Tue, 2 Sep 2014 07:35:59 +0000 (09:35 +0200)]
Merge branch 'master' of github.com:kivitendo/kivitendo-erp
Bernd Bleßmann [Fri, 29 Aug 2014 23:27:12 +0000 (01:27 +0200)]
Benutzerdef. Variablen in Belegen als Tabelle rendern ...
falsches Tabellen-Layout bei nicht editierbaren Variablen korrigiert.
Zu commit
25b855157fa65535683b458c1ca2dd0c3636b788
Benutzerdef. Variablen in Belegen als Tabelle rendern ...