kivitendo-erp.git
9 years agoAuth.pm: Rechte nur dann laden, wenn User & Client gesetzt sind
Moritz Bunkus [Thu, 4 Dec 2014 15:12:55 +0000 (16:12 +0100)]
Auth.pm: Rechte nur dann laden, wenn User & Client gesetzt sind

Seit f6ed86e wird im Menü-Template-Code auf Rechte
getestet (AUTH.assert(…)). Im User-Bereich ist das kein Problem, weil
die Menü-Templates nur dann benutzt werden, wenn tatsächlich ein User
angemeldet ist.

Im Admin-Bereich allerdings wird ebenfalls Menü-Code verwendet,
allerdings gibt es in dem Moment weder einen Client noch einen User. Der
Auth-Code muss damit klarkommen und in dem Fall schlicht »nicht
berechtigt« zurückliefern.

9 years agoAuth.pm cosmetics: Entfernen von $::lxdebug->enter_sub/leave_sub
Moritz Bunkus [Thu, 4 Dec 2014 15:12:20 +0000 (16:12 +0100)]
Auth.pm cosmetics: Entfernen von $::lxdebug->enter_sub/leave_sub

9 years agoTabreiter-Titel für Buchungsliste angepasst
G. Richardson [Thu, 4 Dec 2014 14:11:24 +0000 (15:11 +0100)]
Tabreiter-Titel für Buchungsliste angepasst

damit der Übersetzungsparser damit zurechtkommt.

9 years agoWebDAV Reiter - title als class statt h1
G. Richardson [Thu, 4 Dec 2014 13:51:23 +0000 (14:51 +0100)]
WebDAV Reiter - title als class statt h1

9 years agoBuchungen in ar/ap/is/ir in eigenem Tabreiter anzeigen
G. Richardson [Mon, 13 Oct 2014 14:29:12 +0000 (16:29 +0200)]
Buchungen in ar/ap/is/ir in eigenem Tabreiter anzeigen

Neuer Reiter "Buchungen", wo zu einer Rechnung/Buchung die Buchungen
laut acc_trans angezeigt werden.

In einer Tabelle "Buchungen" werden alle Buchungen laut acc_trans
angezeigt.

In einer Tabelle "Salden" werden die aktuellen Salden der bebuchten
Konten angezeigt, ausgeglichene Konten werden herausgefiltert.

Nicht für Dialogbuchungen umgesetzt.

Es wird auf das FiBu-Recht (general_ledger) geprüft, ansonsten wird der
Reiter nicht angezeigt

9 years agoTypos in Doku/perlpod
G. Richardson [Thu, 4 Dec 2014 12:47:47 +0000 (13:47 +0100)]
Typos in Doku/perlpod

9 years agoDatum Schnelleingabe - changelog Eintrag
G. Richardson [Mon, 3 Nov 2014 22:52:02 +0000 (23:52 +0100)]
Datum Schnelleingabe - changelog Eintrag

9 years agosetTimeOut für schnelle Datumseinsgabe bei set_duedate
G. Richardson [Tue, 21 Oct 2014 00:19:31 +0000 (02:19 +0200)]
setTimeOut für schnelle Datumseinsgabe bei set_duedate

Die jquery-Abfrage des Datumsfeldes in set_duedate (Fälligkeitsdatum)
wird mit setTimeOut erst nach Ersetzen des Datums per schneller
Datumseingabe durchführen

9 years agoSchnelle Datumseingabe ohne Trenner
G. Richardson [Tue, 21 Oct 2014 00:07:07 +0000 (02:07 +0200)]
Schnelle Datumseingabe ohne Trenner

Buchhalter sind es gewohnt, das Datum im Nummernblock ohne Punkte
eingeben zu können, z.B. wird aus
01122014 -> 01.12.2014

Mit diesem Patch wird im Datumsfeld noch vor der Prüfung auf ein gültiges
Datumsformat per Javascript geprüft, ob
* die Eingabe nur aus Zahlen besteht
* das Datumsformat dd.mm.yy, dd-mm-yy oder mm-dd-yy ist

Trifft dies zu, werden am Beispiel für den Fall dd.mm.yy folgende
Umwandlungen durchgeführt:

 8 Zahlen:   31122014  -> 31.12.2014
 6 Zahlen:   311214    -> 31.12.2014
 4 Zahlen:   3112      -> 31.12.2014   aktuelles Jahr wird angenommen
 1-2 Zahlen: 12        -> 31.10.2014   aktueller Monat wird angenommen
             7         -> 07.10.2014   aktueller Monat wird angenommen

Nach der Umwandlung findet wie bisher eine (simple) Plausibilitätsprüfung des
Datums per Javascript statt. Sollte das Datumsfeld andere Datumsfelder
beeinflussen, wie z.B. das Rechnungsdatum das Fälligkeitsdatum im Ein-
und Verkauf durch ein onChange, muß hier eventuell mit einem setTimeOut
gearbeitet werden, da ansonsten der Wert vor der Umwandlung genommen
wird.

9 years agoFiBu Schellsuche in Headerzeile
G. Richardson [Fri, 4 Apr 2014 11:09:26 +0000 (13:09 +0200)]
FiBu Schellsuche in Headerzeile

neues Ajax Autocompletefeld im Header für Benutzer mit FiBu-Rechten,
welches Rechnungsnummern und Kunden-/Lieferantennamen durchsucht. Durch
die Auswahl im Dropdown gelangt man direkt zu dem Beleg.

9 years agoLöschen von orderitems beim speichern von OE korrigiert.
Sven Schöling [Thu, 27 Aug 2009 10:54:05 +0000 (12:54 +0200)]
Löschen von orderitems beim speichern von OE korrigiert.

9 years agoLieferplan: all_businesses in init-methode ausgelagert
Jan Büren [Wed, 3 Dec 2014 19:15:18 +0000 (20:15 +0100)]
Lieferplan: all_businesses in init-methode ausgelagert

<gorash> kurzes feedback zum lieferplan:
<gorash> in der action alle business laden: der ganze punkt an den init_* sachen ist, dass mand as laden von nötigen daten aus der action rauskriegt

9 years agoBenutzerdefinierte Variablen via Trigger löschen Bugfix 2
Moritz Bunkus [Wed, 3 Dec 2014 11:25:57 +0000 (12:25 +0100)]
Benutzerdefinierte Variablen via Trigger löschen Bugfix 2

Die Triggerfunktion selber sollte aus Performancegründen nicht »DELETE …
WHERE … IN (SELECT…)« nutzen, da dies bei PostgreSQL sehr langsam ist.

9 years agoCVars-Lösch-Queries deutlich effizienter gestaltet
Moritz Bunkus [Fri, 28 Nov 2014 11:53:46 +0000 (12:53 +0100)]
CVars-Lösch-Queries deutlich effizienter gestaltet

PostgreSQL kann Queries à la »DELETE … WHERE … IN (SELECT…)« nicht gut
optimieren und erzeugt dafür exponentielle Laufzeit. Viel schneller ist,
eine Vorselektierung mit normalen JOINs zu nutzen und nachher beim
DELETE ein WHERE EXIST (…) mit Bezug auf die zu löschende Tabelle
einzusetzen.

9 years agoSL::CTI::sanitize_number: nur Ziffern zurückliefern
Moritz Bunkus [Tue, 25 Nov 2014 16:56:40 +0000 (17:56 +0100)]
SL::CTI::sanitize_number: nur Ziffern zurückliefern

9 years agoSyntax Typo in all
Jan Büren [Tue, 25 Nov 2014 18:37:01 +0000 (19:37 +0100)]
Syntax Typo in all

9 years agoÜbersetzungsspalte verbessert und Berechnungsfuntkion für stocked_qty in Lieferberichte
Jan Büren [Tue, 25 Nov 2014 18:22:06 +0000 (19:22 +0100)]
Übersetzungsspalte verbessert und Berechnungsfuntkion für stocked_qty in Lieferberichte

9 years agoÜbersetzungen für Lieferwertbericht
Jan Büren [Tue, 25 Nov 2014 18:04:44 +0000 (19:04 +0100)]
Übersetzungen für Lieferwertbericht

9 years agoMerge branch 'master' of github.com:kivitendo/kivitendo-erp
Jan Büren [Tue, 25 Nov 2014 17:10:17 +0000 (18:10 +0100)]
Merge branch 'master' of github.com:kivitendo/kivitendo-erp

9 years agoLieferplan / Lieferwertbericht um Filter Bearbeiter erweitert
Jan Büren [Tue, 25 Nov 2014 17:05:27 +0000 (18:05 +0100)]
Lieferplan / Lieferwertbericht um Filter Bearbeiter erweitert

9 years agoMerge branch 'master' of github.com:kivitendo/kivitendo-erp
Moritz Bunkus [Tue, 25 Nov 2014 15:46:11 +0000 (16:46 +0100)]
Merge branch 'master' of github.com:kivitendo/kivitendo-erp

9 years agoCustomerVendor: CVars bei Wechsel von Ansprechpersonen richtig befüllen
Moritz Bunkus [Tue, 25 Nov 2014 15:45:45 +0000 (16:45 +0100)]
CustomerVendor: CVars bei Wechsel von Ansprechpersonen richtig befüllen

9 years agoLieferplan: Filter für Projektnummer und Kundentyp
Bernd Bleßmann [Mon, 25 Nov 2013 14:48:26 +0000 (15:48 +0100)]
Lieferplan: Filter für Projektnummer und Kundentyp

Conflicts:

SL/Controller/DeliveryPlan.pm

9 years agoCustomerVendor-Controller: Daten in Neu-Anzeige bei Fehler beibehalten
Moritz Bunkus [Tue, 25 Nov 2014 13:29:02 +0000 (14:29 +0100)]
CustomerVendor-Controller: Daten in Neu-Anzeige bei Fehler beibehalten

RDBO hat das Verhalten, dass bei einem neuen, noch nicht gespeicherten
Objekt die Methoden zum Hinzufügen von Relationship-Objekten (z.B. in
1:n-Beziehnungen wie $customer->add_contacts(…)) beim danach erfolgenden
Auslesen der Beziehung nicht zurückliefert. Das heißt, dass Folgendes
der Fall ist:

my $customer = SL::DB::Customer->new;
$customer->add_contacts(SL::DB::Contacts->new);
print scalar(@{ $customer->contacts || [] }); # Das hier gibt 0 aus

Existiert das Objekt hingegen schon, dann klappt das normal. Das Problem
kann man umgehen, indem man beim Anlegen des neuen Objektes die
Beziehungen explizit auf eine leere Array-Referenz setzt, damit der in
RDBO enthaltene Check an der Stelle greift.

Das betrifft den Workflow, wenn man Daten in den benutzerdefinierten
Variablen eingibt, auf Speichern drückt und kivitendo dann wegen eines
fehlgeschlagenen Checks die Maske erneut anzeigt.

9 years agoKunden/Lieferanten sind nicht verwaist, wenn es Lieferscheine gibt.
Bernd Bleßmann [Tue, 25 Nov 2014 13:13:25 +0000 (14:13 +0100)]
Kunden/Lieferanten sind nicht verwaist, wenn es Lieferscheine gibt.

9 years agoCustomerVendor-Presenter: croaken, wenn Parameter fehlen oder falsch sind
Moritz Bunkus [Tue, 25 Nov 2014 12:52:27 +0000 (13:52 +0100)]
CustomerVendor-Presenter: croaken, wenn Parameter fehlen oder falsch sind

9 years agocommon/render_cvar_input.html: richtige Picker-Methoden für customer/vendor/part
Moritz Bunkus [Tue, 25 Nov 2014 12:52:01 +0000 (13:52 +0100)]
common/render_cvar_input.html: richtige Picker-Methoden für customer/vendor/part

9 years agoSL::DB::CustomVariable->value: undef anstelle von 0 wenn ref.Objekt nicht existiert
Moritz Bunkus [Tue, 25 Nov 2014 12:51:10 +0000 (13:51 +0100)]
SL::DB::CustomVariable->value: undef anstelle von 0 wenn ref.Objekt nicht existiert

9 years agoRedundante Trigger zum Aufräumen nach Löschen von Kunden/Lieferanten entfernen.
Bernd Bleßmann [Tue, 25 Nov 2014 12:30:44 +0000 (13:30 +0100)]
Redundante Trigger zum Aufräumen nach Löschen von Kunden/Lieferanten entfernen.

Diese Trigger sind nicht nur doppelt, sondern auch falsch, da sie "module" in
"shipto" nicht berücksichtigen, was dazu führen kann, das in Belegen individuell
vergebene Lieferadressen gelöscht werden, wenn ein Kunde oder Lieferant gelöscht
wird, der zufällig die selbe id hat, wir der entsprechende Beleg.

Die neueren Trigger werden/wurden mit dem Upgrade-Tag
"cleanup_after_customer_vendor_deletion" installiert.

9 years agoRedundante Upgrade-Skripte zum Löschen von CVars via Trigger entfernt.
Bernd Bleßmann [Tue, 25 Nov 2014 12:22:42 +0000 (13:22 +0100)]
Redundante Upgrade-Skripte zum Löschen von CVars via Trigger entfernt.

Nicht gelöscht, sondern "geleert" und ein weiteres Skript zum Löschen
der Trigger und Funktionen.

9 years agoNeuer Bericht: Lieferwertbericht
Jan Büren [Tue, 25 Nov 2014 11:51:57 +0000 (12:51 +0100)]
Neuer Bericht: Lieferwertbericht
Erweiterung DeliveryPlan.pm um Modusweiche Lieferplan oder Lieferwertbericht
Implementierungstand Lieferwertbericht:
 - Alle offenen Verkaufsaufträge werden berücksichtigt
 - Beim CSV-Export wird die Einheit als Extra-Spalte exportiert und die
   Einheiten bei allen anderen Spalten ausgeblendet
Ferner neues Recht Lieferwertbericht umgesetzt

9 years agoFinanzcontrollingbericht refactoring: map nicht nur für Seiteneffekte nutzen
Moritz Bunkus [Tue, 25 Nov 2014 08:07:56 +0000 (09:07 +0100)]
Finanzcontrollingbericht refactoring: map nicht nur für Seiteneffekte nutzen

9 years agoFinanzcontrollingbericht: Filtern nach Vorgangsbezeichnung
Moritz Bunkus [Tue, 25 Nov 2014 08:05:14 +0000 (09:05 +0100)]
Finanzcontrollingbericht: Filtern nach Vorgangsbezeichnung

9 years agoFinanzcontrollingbericht: Filterfelder breiter gemacht
Moritz Bunkus [Tue, 25 Nov 2014 08:03:29 +0000 (09:03 +0100)]
Finanzcontrollingbericht: Filterfelder breiter gemacht

9 years agoFinanzcontrollingbericht: Spalte »Vorgangsbezeichnung« anzeigen
Moritz Bunkus [Tue, 25 Nov 2014 08:01:56 +0000 (09:01 +0100)]
Finanzcontrollingbericht: Spalte »Vorgangsbezeichnung« anzeigen

9 years agoInstallcheck: Moose::Role ist in libmoose-perl
Sven Schöling [Mon, 24 Nov 2014 13:01:21 +0000 (14:01 +0100)]
Installcheck: Moose::Role ist in libmoose-perl

9 years agoUpgrade-Scripte zum Löschen von CVars via Trigger beschleunigt.
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)

9 years agoPartPicker: Bessere Beschreibung zum das javascript include
Sven Schöling [Mon, 24 Nov 2014 10:26:48 +0000 (11:26 +0100)]
PartPicker: Bessere Beschreibung zum das javascript include

9 years agoLayout: title Ausgabe normalisieren
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

9 years agoCsvImport: Makemodels feiner granulieren.
Sven Schöling [Thu, 20 Nov 2014 11:52:04 +0000 (12:52 +0100)]
CsvImport: Makemodels feiner granulieren.

9 years agoRequirementSpec: partpicker js muss vorher schon geladen sein.
Sven Schöling [Tue, 18 Nov 2014 15:03:16 +0000 (16:03 +0100)]
RequirementSpec: partpicker js muss vorher schon geladen sein.

9 years agoDoku update
Sven Schöling [Tue, 18 Nov 2014 14:52:15 +0000 (15:52 +0100)]
Doku update

9 years agoPartPicker: javascript direkt im P.part_picker adden.
Sven Schöling [Tue, 18 Nov 2014 14:49:35 +0000 (15:49 +0100)]
PartPicker: javascript direkt im P.part_picker adden.

9 years agoController: content for header rendern
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.

9 years agoStylesheets: Aufräumaktion
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

9 years agoNicht mehr gepflegtes Stylesheet Mobile entfernen
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

9 years agoEinkaufsrechnungen: closedto beachten
Sven Schöling [Mon, 17 Nov 2014 10:51:39 +0000 (11:51 +0100)]
Einkaufsrechnungen: closedto beachten

9 years agoFreitagabendcommit Fixes
Sven Schöling [Mon, 17 Nov 2014 09:36:19 +0000 (10:36 +0100)]
Freitagabendcommit Fixes

9 years agoDeliveryPlan: Cleanup, vc mitschleifen
Sven Schöling [Fri, 14 Nov 2014 17:56:10 +0000 (18:56 +0100)]
DeliveryPlan: Cleanup, vc mitschleifen

9 years agoReportGenerator: visible Information nicht ignorieren
Sven Schöling [Fri, 14 Nov 2014 17:55:08 +0000 (18:55 +0100)]
ReportGenerator: visible Information nicht ignorieren

9 years agoGloable BCC Adresse
Sven Schöling [Fri, 14 Nov 2014 16:53:49 +0000 (17:53 +0100)]
Gloable BCC Adresse

9 years agoEmail: Kosmetik
Sven Schöling [Fri, 14 Nov 2014 15:28:50 +0000 (16:28 +0100)]
Email: Kosmetik

9 years agoBelege: Filtern nach Ansprechpartner
Sven Schöling [Fri, 14 Nov 2014 15:02:59 +0000 (16:02 +0100)]
Belege: Filtern nach Ansprechpartner

9 years agoFlattenToForm: Rabatte richtig formatieren
Sven Schöling [Fri, 14 Nov 2014 10:40:56 +0000 (11:40 +0100)]
FlattenToForm: Rabatte richtig formatieren

9 years agoPeriodicInvoices: employee aus Quellauftrag setzen
Sven Schöling [Fri, 14 Nov 2014 10:01:03 +0000 (11:01 +0100)]
PeriodicInvoices: employee aus Quellauftrag setzen

9 years agoCsvImport: temporäre Profile ausblenden
Sven Schöling [Thu, 13 Nov 2014 16:50:38 +0000 (17:50 +0100)]
CsvImport: temporäre Profile ausblenden

9 years agoAnsprechpersonen-CVars auch beim Updaten speichern
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.

9 years agoAnsprechpersonen-CVars mit INCLUDE und nicht PROCESS einbinden
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.

9 years agoBenutzerdefinierte Variablen via Trigger löschen Bugfix
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.

9 years agoOptimierung Helfer-Funktion _get_delivery_qty
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.

9 years agoweitere Verbesserungen für die helper-funktion
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.

9 years agoHelperFunktion OderItem: _delivered_qty optimiert
Jan Büren [Mon, 10 Nov 2014 15:29:51 +0000 (16:29 +0100)]
HelperFunktion OderItem: _delivered_qty optimiert

9 years agoOrderItems-> delivered_qty in helper-funktion ausgelagert
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.

9 years agoLieferplan: Warenwert der ausgelagerten Warenmenge anzeigen
Jan Büren [Mon, 10 Nov 2014 13:00:01 +0000 (14:00 +0100)]
Lieferplan: Warenwert der ausgelagerten Warenmenge anzeigen

9 years agoCVars: typo bei Editieren von Waren
Sven Schöling [Fri, 7 Nov 2014 13:07:45 +0000 (14:07 +0100)]
CVars: typo bei Editieren von Waren

9 years agoLaden von CVars mit falschen Werten in Artikelstammdaten unterbinden.
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.

9 years agoPflichtenheftvorlage: CJK-Modul für bessere UTF-8-Unterstützung laden
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.

9 years agoPflichtenhefte: benötigte Template-Plugins auch laden
Moritz Bunkus [Wed, 5 Nov 2014 08:20:01 +0000 (09:20 +0100)]
Pflichtenhefte: benötigte Template-Plugins auch laden

9 years agolocales.pl: auch INCLUDE/PROCESS auf .js-Datei erkennen
Moritz Bunkus [Wed, 5 Nov 2014 08:13:43 +0000 (09:13 +0100)]
locales.pl: auch INCLUDE/PROCESS auf .js-Datei erkennen

9 years agoPflichtenhefte: vordef Textblöcke auch bei Abschnitten verwenden können
Moritz Bunkus [Tue, 4 Nov 2014 10:26:28 +0000 (11:26 +0100)]
Pflichtenhefte: vordef Textblöcke auch bei Abschnitten verwenden können

9 years agoPflichtenheftextblöcke: vordef Blöcke nach usable-Flag filtern
Moritz Bunkus [Tue, 4 Nov 2014 10:09:43 +0000 (11:09 +0100)]
Pflichtenheftextblöcke: vordef Blöcke nach usable-Flag filtern

9 years agoPflichtenhefte vordef Textblöcke: Verwaltung Flags »benutzbar für…«
Moritz Bunkus [Tue, 4 Nov 2014 08:58:13 +0000 (09:58 +0100)]
Pflichtenhefte vordef Textblöcke: Verwaltung Flags »benutzbar für…«

9 years agoPflichtenhefte vordef Textblöcke: überflüssige Tags entfernt
Moritz Bunkus [Tue, 4 Nov 2014 08:54:01 +0000 (09:54 +0100)]
Pflichtenhefte vordef Textblöcke: überflüssige Tags entfernt

9 years agoPflichtenhefte: Funktion Abschnitte/Funktionsblöcke neu nummerieren
Moritz Bunkus [Mon, 3 Nov 2014 15:36:18 +0000 (16:36 +0100)]
Pflichtenhefte: Funktion Abschnitte/Funktionsblöcke neu nummerieren

9 years agoVerbesserung Standard-Auslagern
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

9 years agoDoppelte if-Abfrage entfernt
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

9 years agoVerbesserung Standardauslagern für den Fall Dienstleistung ist nicht lagerbar
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)

9 years agoStandard-Auslager-Verfahren verbessert (Dienstleistungen)
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.

9 years agoBei Fehler LaTeX Tempfiles als UTF8 einlesen
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.

9 years agoRundung bei Debitorenbuchung, Kreditorenbuchung und Dialogbuchung
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.

9 years agolocales.pl: Quelldateien mit Encoding UTF-8 lesen
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.

9 years agolocales.pl: nur auf .js oder .html endende Files nach JavaScript-t8() scannen
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.

9 years agoJavaScript & Templates in UTF-8 speichern
Moritz Bunkus [Tue, 4 Nov 2014 09:57:19 +0000 (10:57 +0100)]
JavaScript & Templates in UTF-8 speichern

…und nicht in ISO-8859-*

9 years agoDeliveryPlan - kleinere Details verbesert
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

9 years agoVerbesserungen Einkaufs-Lieferplan
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)

9 years agoMerge branch 'master' of github.com:kivitendo/kivitendo-erp
Jan Büren [Mon, 3 Nov 2014 12:52:07 +0000 (13:52 +0100)]
Merge branch 'master' of github.com:kivitendo/kivitendo-erp

9 years agoEinkaufs-Lieferplan
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.

9 years agoHintergrundjob: Link zum Verlauf anzeigen
Moritz Bunkus [Mon, 3 Nov 2014 08:51:50 +0000 (09:51 +0100)]
Hintergrundjob: Link zum Verlauf anzeigen

9 years agoErweiterung Lieferplan Belege wirklich ausgelagert und Warenverkaufswert (default...
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)

9 years agoMerge branch 'master' of github.com:kivitendo/kivitendo-erp
Jan Büren [Thu, 30 Oct 2014 12:50:32 +0000 (13:50 +0100)]
Merge branch 'master' of github.com:kivitendo/kivitendo-erp

9 years agoLieferplan-Bericht um Berichts-Feld "ausgelagerte Menge" erweitert
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.

9 years agoGetModels: typo
Sven Schöling [Wed, 29 Oct 2014 10:15:37 +0000 (11:15 +0100)]
GetModels: typo

9 years agotrailing whitespaces entfernt
Bernd Bleßmann [Mon, 20 Oct 2014 10:28:28 +0000 (12:28 +0200)]
trailing whitespaces entfernt

9 years agoLieferschein: Ausdruck Erzeugnisse mit Stückliste und Lagerausgang repariert.
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.

9 years agoCsvImport: makemodels nicht klobbern wenn existierende und price_update
Sven Schöling [Fri, 17 Oct 2014 14:06:44 +0000 (16:06 +0200)]
CsvImport: makemodels nicht klobbern wenn existierende und price_update

9 years agoMerge branch 'master' of github.com:kivitendo/kivitendo-erp
Jan Büren [Tue, 14 Oct 2014 17:26:55 +0000 (19:26 +0200)]
Merge branch 'master' of github.com:kivitendo/kivitendo-erp

9 years agolexical in postif fix
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 = ... }

9 years agoLayout: HTML Markup gefixt
Sven Schöling [Thu, 2 Oct 2014 09:34:30 +0000 (11:34 +0200)]
Layout: HTML Markup gefixt

9 years agoTransportkosten-Erinnerungs-Artikel auf ID anstatt partnumber umgestellt Teil II
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

9 years agoTransportkosten-Erinnerungs-Artikel auf ID anstatt partnumber umgestellt
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.