kivitendo-erp.git
8 years agoSL::DB::with_transaction: bessere Doku zu den zwei Hauptunterschieden
Moritz Bunkus [Wed, 17 Aug 2016 15:08:26 +0000 (17:08 +0200)]
SL::DB::with_transaction: bessere Doku zu den zwei Hauptunterschieden

8 years agoAdmin: Task-Server-Benutzer in Mandantenliste anzeigen
Moritz Bunkus [Wed, 17 Aug 2016 12:13:05 +0000 (14:13 +0200)]
Admin: Task-Server-Benutzer in Mandantenliste anzeigen

8 years agoTaskServer-Steuerung: Temp-Datei automatisch entfernen lassen
Moritz Bunkus [Wed, 17 Aug 2016 12:01:04 +0000 (14:01 +0200)]
TaskServer-Steuerung: Temp-Datei automatisch entfernen lassen

8 years agoBankauszug: nur Warnung wegen Überzahlung bei tatsächlicher Überzahlung
Moritz Bunkus [Wed, 17 Aug 2016 08:47:34 +0000 (10:47 +0200)]
Bankauszug: nur Warnung wegen Überzahlung bei tatsächlicher Überzahlung

8 years agoBankauszug: Dialog »Rechnung zuweisen«: Fokus auf Rechnungsnummernfeld
Moritz Bunkus [Wed, 17 Aug 2016 08:46:11 +0000 (10:46 +0200)]
Bankauszug: Dialog »Rechnung zuweisen«: Fokus auf Rechnungsnummernfeld

8 years agoCSV-Helfer: Error-Felder versionsunabhängig setzen
Moritz Bunkus [Tue, 16 Aug 2016 15:18:48 +0000 (17:18 +0200)]
CSV-Helfer: Error-Felder versionsunabhängig setzen

Unterschiedliche Versionen von Text::CSV_XS geben beim Aufruf von
»error_diag« unterschiedliche Felder zurück: neuere geben mehr
zurück.

Es gibt aber einen Testcase, der das Fehler-Array auf exakte
Übereinstimmung prüft. Da sorgt also jegliches neu hinzugekommenes Feld
dafür, dass der Test fehlschlägt.

Also nur die Felder explizit an SL::Helper::Csv::Error übergeben, die
uns wirklich interessieren, und nicht das von »error_diag«
zurückgebebene Array 1:1 durchreichen.

8 years agoSL::DB::Part: Setter für type=assembly bzgl. inventory_accno_id fixen
Moritz Bunkus [Tue, 16 Aug 2016 14:54:19 +0000 (16:54 +0200)]
SL::DB::Part: Setter für type=assembly bzgl. inventory_accno_id fixen

inventory_accno_id muss für Typ »assembly« immer auf undef stehen. Das
testet auch der Testcase. »type« hat allerdings das Falsche gemacht,
wofür im Testcase versucht wurde, ein Workaround zu implementieren,
indem »inventory_accno_id« explizit überschrieben werden.

Leider schlug der Test manchmal fehl, trotz des Workarounds: je nachdem,
ob beim Anlegen (»new_assembly«) zuerst der Parameter für »type« oder
der für »inventory_accno_id« ausgeführt wurde.  Die Reihenfolge der
Ausführung ist deswegen nicht deterministisch, weil in Perl das
Iterieren über Hashes gewollt nichtdeterministisch ist, um
Sicherheitsproblemen vorzubeugen.

Wir wandeln Funktionsparameter beim Anlegen von Rose-Objekten explizit
von Listen in Hashes (SL::DB::Object::assign_attributes); anschließend
wird über das Hash iteriert. Im konkreten Fall enthält das Hash sowohl
»type« als auch »inventory_accno_id«, und je Perls internem Seed
bzgl. der Hashiteration wurde mal die eine, mal die andere
Setter-Funktion zuerst ausgeführt.

8 years agoMerge branch 'bank-transaction-improvements'
Moritz Bunkus [Tue, 16 Aug 2016 09:39:41 +0000 (11:39 +0200)]
Merge branch 'bank-transaction-improvements'

8 years agoBankeinzug: bei Überzahlung eine Warnung ausgeben
Moritz Bunkus [Tue, 16 Aug 2016 09:36:58 +0000 (11:36 +0200)]
Bankeinzug: bei Überzahlung eine Warnung ausgeben

Eine Überzahlung ist oftmals OK oder unvermeidbar, sollte aber von der
BenutzerIn begutachtet werden.

8 years agoBankauszug: Unterzahlung mehrerer Rechnungen verhindern
Moritz Bunkus [Tue, 16 Aug 2016 09:27:35 +0000 (11:27 +0200)]
Bankauszug: Unterzahlung mehrerer Rechnungen verhindern

Wenn mehrere Rechnungen ausgewählt werden, so verteilt der Algorithmus
schlicht den Betrag der Überweisungen auf die Rechnungen in der
Reihenfolge, in der die Rechnungen ausgewählt wurden. Dabei wird so
lange der volle offene Betrag bezahlt wie möglich, der Rest kommt auf
die folgende Rechnung.

Allerdings ist für das Programm nicht ersichtlich, welche Anteile
welcher Rechnungen des Kunden/Lieferanten tatsächlich damit beglichen
wurden.

Also muss verhindert werden, dass das passiert; eine Warnung genügt
nicht.

8 years agoBankauszug: Transaktionsrichtung mit Belegrichtung abgleichen
Moritz Bunkus [Tue, 16 Aug 2016 08:11:14 +0000 (10:11 +0200)]
Bankauszug: Transaktionsrichtung mit Belegrichtung abgleichen

Erhält man eine Zahlung, so darf man diese nur mit Belegen verbuchen
können, die Zahlungen in Empfangsrichtung bedingen: Verkaufsrechnungen
und Gutschriften im Einkauf.

Analog gilt das auch für ausgehende Zahlungen. Hier passen nur
Einkaufsrechnungen sowie Gutschriften von Verkaufsrechnungen.

Alle anderen Zuordnungen werden mit einem Fehler zurückgewiesen.

8 years agoBankauszug verbuchen: etwas Dokumentation ergänzen
Moritz Bunkus [Tue, 16 Aug 2016 07:30:52 +0000 (09:30 +0200)]
Bankauszug verbuchen: etwas Dokumentation ergänzen

8 years agoBankauszug verbuchen: Warnungen/Fehler anzeigen; pro Zeile eine DB-Transaktion
Moritz Bunkus [Mon, 15 Aug 2016 15:17:36 +0000 (17:17 +0200)]
Bankauszug verbuchen: Warnungen/Fehler anzeigen; pro Zeile eine DB-Transaktion

Das Verbuchen von Bankauszügen wird nun in Datenbanktransaktionen
gekapselt. Damit die BenutzerIn bei einem Fehler nicht alles erneut
einstellen muss, wird eine Datenbanktransaktion pro
Banktransaktion benutzt.

Treten dabei Warnungen oder Fehler auf, so werden diese nun in einer
Tabelle übersichtlich dargestellt. Die Tabelle enthält sowohl die Daten
der Banktransaktion, bei der das Problem auftrat (entfernte
Kontonummer/BIC, entferne KontobesitzerIn, Betrag, Transaktionsdatum),
als auch Links zu den mit dieser Transaktion verknüpften
Rechnungen. Damit wird die BearbeiterIn in die Lage versetzt, die Fehler
genauer zu analysieren.

8 years agodrafts/load.html entfernen, nach Umstellung auf Controller nicht mehr benötigt
Moritz Bunkus [Tue, 16 Aug 2016 08:43:11 +0000 (10:43 +0200)]
drafts/load.html entfernen, nach Umstellung auf Controller nicht mehr benötigt

8 years agoic/choice.html entfernen, da nur von top100 benutzt
Moritz Bunkus [Tue, 16 Aug 2016 08:41:49 +0000 (10:41 +0200)]
ic/choice.html entfernen, da nur von top100 benutzt

Herr Savic und ich werden eine

8 years agoPayment-Helfer: with_transaction() anstelle von do_transaction() nutzen
Moritz Bunkus [Mon, 15 Aug 2016 14:42:59 +0000 (16:42 +0200)]
Payment-Helfer: with_transaction() anstelle von do_transaction() nutzen

»do_transaction()« kommt von Rose::DB selber. Es schert sich nicht
darum, ob bereits eine Transaktion läuft, sondern macht einfach eine mit
»BEGIN« auf. Am Ende der an »do_transaction()« übergebenen Sub committet
sie dann (oder macht einen Rollback).

Problematisch ist das dann, wenn in dem Moment bereits eine Transaktion
läuft und man eigentlich möchte, dass sowohl die externen Änderungen als
auch die von »pay_invoice()« durchgeführten Änderungen alle ganz oder
alle gar nicht committet werden. Genau das bietet
»SL::DB::with_transaction()«, das nur dann eine neue Transkation
startet, falls noch keine läuft, und den Code ansonsten direkt ausführt.

Anders als »do_transaction()« wertet »with_transaction()« den
Rückgabewert der übergebenen Sub aus. Ist dieser im Perl-Sinne false, so
wird ein Rollback durchgeführt — nicht nur bei einer Ausnahme. Daher
muss in diesem Fall unsere übergebene Sub zusätzlich einen wahren
Wert (hier: »1«) zurückgeben, um Erfolg zu signalisieren.

8 years agoPayment-Helfer: Kosmetik (Einrückung, keine ; am Ende von if)
Moritz Bunkus [Mon, 15 Aug 2016 14:42:19 +0000 (16:42 +0200)]
Payment-Helfer: Kosmetik (Einrückung, keine ; am Ende von if)

8 years agoCsvImport: deutlich anzeigen, ob Vorschau oder echter Import
Moritz Bunkus [Mon, 15 Aug 2016 12:02:09 +0000 (14:02 +0200)]
CsvImport: deutlich anzeigen, ob Vorschau oder echter Import

8 years agoCsvImport: Kosmetik (Anordnung)
Moritz Bunkus [Mon, 15 Aug 2016 11:35:37 +0000 (13:35 +0200)]
CsvImport: Kosmetik (Anordnung)

8 years agoUntere Scroll-Balken anzeigen, falls Bereich > Browser
Jan Büren [Thu, 11 Aug 2016 12:18:41 +0000 (14:18 +0200)]
Untere Scroll-Balken anzeigen, falls Bereich > Browser

8 years agoLetter: is_sales nicht in init_letter clobbern
Sven Schöling [Mon, 8 Aug 2016 14:05:10 +0000 (16:05 +0200)]
Letter: is_sales nicht in init_letter clobbern

8 years agoBriefe: Sprache im Druck
Sven Schöling [Mon, 8 Aug 2016 12:07:35 +0000 (14:07 +0200)]
Briefe: Sprache im Druck

8 years agoPreisquellen: weitere TODO doku
Sven Schöling [Mon, 8 Aug 2016 11:17:40 +0000 (13:17 +0200)]
Preisquellen: weitere TODO doku

8 years agoOrder Controller - lastcost von Positionen mit speichern
G. Richardson [Mon, 8 Aug 2016 10:55:39 +0000 (12:55 +0200)]
Order Controller - lastcost von Positionen mit speichern

ansonsten ist die Margenberechnung im Verkaufsbericht falsch (lastcost
ist immer 0). Siehe Ticket #201

8 years agoDoku: PriceSource Verhalten für Belegumwandlungen
Sven Schöling [Thu, 4 Aug 2016 11:58:24 +0000 (13:58 +0200)]
Doku: PriceSource Verhalten für Belegumwandlungen

Wie beschrieben in redmine#199:

Wenn ein Kunde einen Kundenrabatt hat, und man aus einem Auftrag einen
Lieferantenauftrag macht, wird die active_discount_source der Artikel
(z.B. "customer_discount/1162") mit auf die Einkaufsseite des Workflows
übernommen, und das fliegt einem dann bei der EK-Rechnung um die Ohren.

Wahrscheinlich wäre es aber besser, beim Wechsel von VK zu EK die
Kundenrabatte und Kundenpreisregeln herauszufiltern, da diese nichts mit
den Vereinbarungen mit dem Lieferanten zu tun haben. Und dann sollten
bei den Positionen die Lieferantenregeln vorbelegt werden, so als ob man
den Auftrag händisch eingegeben hätte.

8 years agoTests: ic.pl nicht mehr vom html-tag counter ausschließen
Sven Schöling [Thu, 4 Aug 2016 11:29:22 +0000 (13:29 +0200)]
Tests: ic.pl nicht mehr vom html-tag counter ausschließen

Nachdem top100 rausgeflogen ist, ist das mit 13 tags sogar noch gut im
Mittelfeld der Sünder.

8 years agoTests: closed bei Überzahlungen auf TODO gesetzt
Sven Schöling [Thu, 4 Aug 2016 11:24:55 +0000 (13:24 +0200)]
Tests: closed bei Überzahlungen auf TODO gesetzt

8 years agoKonten: typo
Sven Schöling [Thu, 4 Aug 2016 10:59:44 +0000 (12:59 +0200)]
Konten: typo

8 years agoCustomerVendor: agnostische number Methode für beide
Sven Schöling [Thu, 4 Aug 2016 09:27:28 +0000 (11:27 +0200)]
CustomerVendor: agnostische number Methode für beide

8 years agoBriefe: [D] Button entfernt.
Sven Schöling [Wed, 3 Aug 2016 14:13:18 +0000 (16:13 +0200)]
Briefe: [D] Button entfernt.

show_vc_details.js kann das format nicht.

8 years agoFlash: Fehlende Übersetzung
Sven Schöling [Wed, 3 Aug 2016 13:46:37 +0000 (15:46 +0200)]
Flash: Fehlende Übersetzung

8 years agoTests: warnings in t/part/assembly.t
Sven Schöling [Wed, 3 Aug 2016 13:45:51 +0000 (15:45 +0200)]
Tests: warnings in t/part/assembly.t

8 years agoBriefe: Lieferantenbriefe
Sven Schöling [Wed, 3 Aug 2016 13:13:59 +0000 (15:13 +0200)]
Briefe: Lieferantenbriefe

8 years agoWorkflow Lieferschein -> Rechnung. Kundenrabatt mit Nachkommastellen i.O.
Jan Büren [Wed, 3 Aug 2016 12:55:24 +0000 (14:55 +0200)]
Workflow Lieferschein -> Rechnung. Kundenrabatt mit Nachkommastellen i.O.

Zu den weiteren lästigen Rabattfehlern nun auch noch der Fall,
wo der Workflow im Lieferschein beginnt und ein Kundenrabatt mit
Nachkommastellen existiert.

8 years agoRabatt mit Nachkommastellen Workflow Auftrag -> Rechnung
Jan Büren [Wed, 3 Aug 2016 12:50:44 +0000 (14:50 +0200)]
Rabatt mit Nachkommastellen Workflow Auftrag -> Rechnung

Ursprüngliche Idee von Waldemar in OD-Bugfixes hier: 3c705b61f32d81c41352fe
Getestet mit: Kundenrabatt, Individuellen-Rabatt, Preisregel-Rabatt
Sowie ferner ohne Rabatt und mit freiem Rabatt ohne Nachkommastellen

Behebt den Auftrags -> Rechnungsteil von  #99

8 years agoBUG-FIX: LOCK TABLE parts in CVS-Import Artikel
Martin Helmling martin.helmling@octosoft.eu [Tue, 2 Aug 2016 13:24:16 +0000 (15:24 +0200)]
BUG-FIX:  LOCK TABLE parts in CVS-Import Artikel

Problematik, dass alles andere mit Rose gemacht wird,
die Teilenummern holen, jedoch nicht.

Siehe auch Redmine #190

8 years agoBUG-FIX: Rose kann nur sort_by
Martin Helmling martin.helmling@octosoft.eu [Tue, 2 Aug 2016 13:09:47 +0000 (15:09 +0200)]
BUG-FIX: Rose kann nur sort_by

order_by wird stillschweigend ignoriert

Weitere Fixes?

8 years agoSpellcheck - separate
G. Richardson [Tue, 2 Aug 2016 12:02:06 +0000 (14:02 +0200)]
Spellcheck - separate

8 years agoOrderController - Funtion umbenannt (dependend->dependant)
G. Richardson [Mon, 1 Aug 2016 12:58:10 +0000 (14:58 +0200)]
OrderController - Funtion umbenannt (dependend->dependant)

8 years agodo.pl sort Funktion verbessert
Jan Büren [Mon, 1 Aug 2016 13:50:15 +0000 (15:50 +0200)]
do.pl sort Funktion verbessert

parse_amount/format_amount Problem bei Nachkommastellen.
Hintergrund: Ein save mit no_redirect wird benötigt, damit
ein erneutes Update die Reihenfolge auch an der Oberfläche anzeigt.
Leider wird save somit zweimal aufgerufen und damit auch 2x parse_amount
Entsprechend zwischendrin einmal mit format_amount wieder ausgeglichen.

8 years agoLieferschein-Positions-Rabatt mit Nachkommastellen
Jan Büren [Mon, 1 Aug 2016 12:54:30 +0000 (14:54 +0200)]
Lieferschein-Positions-Rabatt mit Nachkommastellen

behebt #200. Nachkommastellen werden beim Workflow Lieferschein -> Rechnung
verschluckt, da ein parse_amount fehlt.

8 years agoProjektbericht - Datumsfelder besser prüfen
G. Richardson [Mon, 1 Aug 2016 09:18:47 +0000 (11:18 +0200)]
Projektbericht - Datumsfelder besser prüfen

8 years agoBerichte->Projektbuchungen nutzt jetzt den Projektpicker
G. Richardson [Mon, 1 Aug 2016 09:06:52 +0000 (11:06 +0200)]
Berichte->Projektbuchungen nutzt jetzt den Projektpicker

8 years agoTabelle parts: Fremdschlüssel für Konten - bessere Namen
G. Richardson [Mon, 1 Aug 2016 08:45:50 +0000 (10:45 +0200)]
Tabelle parts: Fremdschlüssel für Konten - bessere Namen

8 years agoTabelle parts: Fremdschlüssel für Konten
G. Richardson [Sat, 30 Jul 2016 07:38:46 +0000 (09:38 +0200)]
Tabelle parts: Fremdschlüssel für Konten

8 years agoBug #199 - Kundenrabatt in Einkaufsrechnungspositionen
G. Richardson [Fri, 29 Jul 2016 13:14:51 +0000 (15:14 +0200)]
Bug #199 - Kundenrabatt in Einkaufsrechnungspositionen

Behebt Fehler #199 (Redmine)

8 years agoPartPicker Testseite - convertible_unit Beispiel
G. Richardson [Fri, 29 Jul 2016 06:36:15 +0000 (08:36 +0200)]
PartPicker Testseite - convertible_unit Beispiel

8 years agoTest für Erzeugnisse per Rose erstellen erweitert
G. Richardson [Thu, 28 Jul 2016 13:29:22 +0000 (15:29 +0200)]
Test für Erzeugnisse per Rose erstellen erweitert

8 years agoErzeugnisfremdschlüssel auf Artikel 2
G. Richardson [Thu, 28 Jul 2016 13:21:52 +0000 (15:21 +0200)]
Erzeugnisfremdschlüssel auf Artikel 2

auch die Spalte id verlinken.

Die Tabelle assembly ist etwas Banane und nicht gerade Rose-freundlich.

* die Spalte id entspricht der id des eigentlichen Erzeugnisses, alle
Artikel eines Erzeugnisses haben den gleichen Eintrag in id.

* die Spalte assembly_id ist der Primary Key der Tabelle.

* die Spalte parts_id entspricht der id der Ware, das Teil des
Erzeugnisses ist.

Ein besserer Name für die Tabelle wäre assembly_items.

8 years agoRose Dateien für Tabelle user_preferences
G. Richardson [Thu, 28 Jul 2016 11:06:10 +0000 (13:06 +0200)]
Rose Dateien für Tabelle user_preferences

8 years agoTest für Erzeugnisse
G. Richardson [Fri, 3 Jun 2016 20:08:01 +0000 (22:08 +0200)]
Test für Erzeugnisse

8 years agoErzeugnisfremdschlüssel auf Artikel
G. Richardson [Fri, 3 Jun 2016 20:07:46 +0000 (22:07 +0200)]
Erzeugnisfremdschlüssel auf Artikel

Tabelle assemblies mit parts verknüpfen

8 years agonicht benutzte Spalte parts.alternate entfernen
Moritz Bunkus [Thu, 28 Jul 2016 09:55:38 +0000 (11:55 +0200)]
nicht benutzte Spalte parts.alternate entfernen

8 years agoAuftrag in Lieferschein wandeln: Rose-DB-Handle für Item-Verknüpfungen verwenden
Bernd Bleßmann [Wed, 27 Jul 2016 13:00:24 +0000 (15:00 +0200)]
Auftrag in Lieferschein wandeln: Rose-DB-Handle für Item-Verknüpfungen verwenden

Sonst wirkt die transaction nicht und es kann sein, dass record_links
angelegt werden, auch wenn die Transaktion abgebrochen wird.

8 years agoTest bank_transactions - am Ende aufräumen
G. Richardson [Mon, 25 Jul 2016 14:04:01 +0000 (16:04 +0200)]
Test bank_transactions - am Ende aufräumen

8 years agoKunde: Datenbanktabelle "klass" nach "pricegroup_id" migriert
G. Richardson [Mon, 25 Jul 2016 13:52:49 +0000 (15:52 +0200)]
Kunde: Datenbanktabelle "klass" nach "pricegroup_id" migriert

und einen Fremdschlüssel gesetzt.

8 years agoS:C:BankTransaction: Kosmetik für bessere Lesbarkeit (Einrückung, Anordnung…)
Moritz Bunkus [Fri, 22 Jul 2016 08:29:22 +0000 (10:29 +0200)]
S:C:BankTransaction: Kosmetik für bessere Lesbarkeit (Einrückung, Anordnung…)

8 years agoPOD für Methode closed in SL/DB/Invoice
G. Richardson [Thu, 21 Jul 2016 12:37:24 +0000 (14:37 +0200)]
POD für Methode closed in SL/DB/Invoice

Die derzeitige Umsetzung ist mMn falsch bei Überzahlungen, die sollten
auch offen sein.

8 years agoKontoauszug verbuchen - Beschriftung verbessert.
G. Richardson [Wed, 20 Jul 2016 09:04:16 +0000 (11:04 +0200)]
Kontoauszug verbuchen - Beschriftung verbessert.

Übernommene Vorschläge zeigen die Rechnungsnummer und den offenen Betrag
der Rechnung an, die Beschriftung lautet nun auch "offener Betrag".

8 years agoSL/DB/BankTransaction.pm - carp statt die
G. Richardson [Thu, 21 Jul 2016 12:31:48 +0000 (14:31 +0200)]
SL/DB/BankTransaction.pm - carp statt die

8 years agoController BankTransaction - Einrückungen und Kommentare
G. Richardson [Thu, 21 Jul 2016 12:30:40 +0000 (14:30 +0200)]
Controller BankTransaction - Einrückungen und Kommentare

8 years agoTest für Rechnungen bezahlen per 'Kontoauszug verbuchen'
G. Richardson [Thu, 21 Jul 2016 12:24:22 +0000 (14:24 +0200)]
Test für Rechnungen bezahlen per 'Kontoauszug verbuchen'

8 years agoRefactoring und Einrückungen in BankTransaction.pm
G. Richardson [Wed, 20 Jul 2016 10:39:13 +0000 (12:39 +0200)]
Refactoring und Einrückungen in BankTransaction.pm

8 years agoTopQuickSearch: Und Verlinkung auch wieder hergestellt
Sven Schöling [Thu, 21 Jul 2016 13:55:03 +0000 (15:55 +0200)]
TopQuickSearch: Und Verlinkung auch wieder hergestellt

8 years agoSicherheit: ReDoS in trim() umgehen.
Sven Schöling [Thu, 21 Jul 2016 09:23:35 +0000 (11:23 +0200)]
Sicherheit: ReDoS in trim() umgehen.

trim hat bisher whitespace mit dem regex /^\p{WSpace}+|\p{WSpace}+$/
getrimmt. Der ist aber anfällig gegen große Mengen Whitespace in der
Mitte, weil dann das Backtracking in O(n²) läuft:

$_ = "--".(" "x200000)."and more"; s/^\p{WSpace}+|\p{WSpace}+$//;
-> 0m16.572s

Für genau den Fall hat die Perl Engine aber Optimierungen, die bei
Regexes die rechts geankert sind einfach von hinten sucht. Die
funktionieren aber nur wenn einzeln gesucht wird. Also sind das jetzt
zwei separate Regexes.

$_ = "--".(" "x200000)."and more"; s/^\p{WSpace}+//; s/\p{WSpace}+$//;
-> 0m0.022s

8 years agoFertigen ohne Prüfung nach Bestand(2)
Martin Helmling martin.helmling@octosoft.eu [Thu, 21 Jul 2016 08:07:00 +0000 (10:07 +0200)]
Fertigen ohne Prüfung nach Bestand(2)

Das Prüfen ob Lager das "Standard-Lager für Auslagern ohne Prüfung auf Bestand"
ist genügt nicht, es können Bauteile dieses Lager auch als Standardlager haben

8 years agoFertigen ohne Prüfung nach Bestand
Martin Helmling martin.helmling@octosoft.eu [Thu, 21 Jul 2016 07:39:30 +0000 (09:39 +0200)]
Fertigen ohne Prüfung nach Bestand

Wird bei einem Bestandteil das "Standard-Lager für Auslagern ohne Prüfung auf Bestand"
verwendet, wird ohne Prüfung ausgelagert.

Dies geschieht nur beim gewählten Feature "Zum Fertigen Standardlager des Bestandteils verwenden"

8 years agochangelog zu Feature "Zum Fertigen Standardlager des Bestandteils verwenden"
Martin Helmling martin.helmling@octosoft.eu [Thu, 21 Jul 2016 07:01:49 +0000 (09:01 +0200)]
changelog zu Feature "Zum Fertigen Standardlager des Bestandteils verwenden"

Die Implementierung befindet sich in den commits
'Funktion "Erzeugnis fertigen" sucht Bestandteile im falschen Lager.(x)'
3160b0888 8814ec731f 26dab9db58 0f214df54e

8 years agoFunktion "Erzeugnis fertigen" sucht Bestandteile im falschen Lager.(4)
Martin Helmling martin.helmling@octosoft.eu [Thu, 21 Jul 2016 06:53:20 +0000 (08:53 +0200)]
Funktion "Erzeugnis fertigen" sucht Bestandteile im falschen Lager.(4)

Falls das Bestandteil bei gesetztem "transfer_default_warehouse_for_assembly"
kein Standardlager besitzt und es kein "Standard-Lager für Auslagern ohne Prüfung auf Bestand"
in der Mandantenkonfig gesetzt ist,
wird eine Fehlermeldung erzeugt.

Dies ist nun die vollständige Implementierung dieser Sache von OD.

8 years agoTopQuickSearch: typisierte Suche gefixt
Sven Schöling [Wed, 20 Jul 2016 13:18:03 +0000 (15:18 +0200)]
TopQuickSearch: typisierte Suche gefixt

8 years agoTopQuickSearch: Alle Artikelsuchen haben nur Erzeugnisse gefunden
Sven Schöling [Wed, 20 Jul 2016 13:05:15 +0000 (15:05 +0200)]
TopQuickSearch: Alle Artikelsuchen haben nur Erzeugnisse gefunden

...hat keiner gemerkt...

8 years agoTopQuickSearch: all Filter Bei Aufträgen in den callback aufnehmen
Sven Schöling [Wed, 20 Jul 2016 11:46:08 +0000 (13:46 +0200)]
TopQuickSearch: all Filter Bei Aufträgen in den callback aufnehmen

8 years agoTopQuickSearch: all filter bei Waren in den callback aufnehmen
Sven Schöling [Wed, 20 Jul 2016 11:41:13 +0000 (13:41 +0200)]
TopQuickSearch: all filter bei Waren in den callback aufnehmen

8 years agois: top100 gegrillt. standardfunktion kann das genauso.
Sven Schöling [Wed, 20 Jul 2016 11:37:47 +0000 (13:37 +0200)]
is: top100 gegrillt. standardfunktion kann das genauso.

Ich hatte das beim Umstellen auf TT damals dringelassen, weil es noch
die addtop100 Funktionalität gab, mit der man sich Favoritenlisten bauen
konnte. Das ist jetzt fast 9 Jahre her, und die Funktion ist seit dem
kaputt.

Weg damit. Wenn gewünscht kann das beim merge von OD wieder
berücksichtigt werden.

8 years agoTopQuickSearch: Bei Kunden den neuen all filter in den callback aufnehmen
Sven Schöling [Wed, 20 Jul 2016 09:29:23 +0000 (11:29 +0200)]
TopQuickSearch: Bei Kunden den neuen all filter in den callback aufnehmen

8 years agochangelog und UPGRADE zu den GIN Indizes
Sven Schöling [Wed, 20 Jul 2016 08:59:12 +0000 (10:59 +0200)]
changelog und UPGRADE zu den GIN Indizes

8 years agoMahnungen: Mahnungsdatum gefixt
Sven Schöling [Wed, 20 Jul 2016 08:55:02 +0000 (10:55 +0200)]
Mahnungen: Mahnungsdatum gefixt

Bisher wurde beim Erstellen neuer Mahnungen in der Spalte "Zahlbar bis"
ein Datum angezeigt, was wohl das wharscheinliche Zahlungsziel der neu zu
erstellen Mahnung anzeigen sollte. Die gleiche Überschrift wird aber
überall sonst in den Mahnung für das Ziel einer bereits erstellten
Mahnugn verwendet, und in diesem Fall ist das Datum auch noch falsch.

Dadurch, dass es schon beim Laden aus der Datenbank berechnet wird, wird
es aus dem heutigen Tag und dem duedate der Mahnungskonfiguration der
Rechnung berechnet. Diese Mahnungskonfiguration ist aber nur vorhanden,
wenn die Rechnung schonmal angemahnt wurde, und bezieht sich dann auf
die Konfiguration der bereits bestehenden Mahnstufe, nicht auf die der
nächsten. Das Datum war also völlig nutzlos.

Jetzt wird einfach wie überall sonst auch das Datum der bestehenden
Mahnung angezeigt.

8 years agoBankTransaction: Verlinkungen auf alten Vorlagencode upgedated.
Sven Schöling [Tue, 19 Jul 2016 17:25:49 +0000 (19:25 +0200)]
BankTransaction: Verlinkungen auf alten Vorlagencode upgedated.

Behebt redmine#194 "Fehler »load_draft not defined in locale/de/all« beim
Entwurfladen aus Bankauszug verbuchen"

8 years agoDrafts: load kann jetzt zusätzliche Argumente aus form übernehmen
Sven Schöling [Tue, 19 Jul 2016 17:25:18 +0000 (19:25 +0200)]
Drafts: load kann jetzt zusätzliche Argumente aus form übernehmen

8 years agoKontoauszug verbuchen: Fehlermeldung und falscher Betrag
Martin Helmling martin.helmling@octosoft.eu [Tue, 19 Jul 2016 13:48:41 +0000 (15:48 +0200)]
Kontoauszug verbuchen: Fehlermeldung und falscher Betrag

Werden mehrere Rechnungen mit einer Banküberweisung bezahlt,
bekommt letzte Rechnung immer den Rest des Betrages,
auch wenn sie überbucht wird.

fix Redmine #192

Eine Rückbuchung von ganz bezahlten Rechnungen kann über diesen Weg nicht gemacht werden

8 years agoPayment-Helper - create_bank_transaction bekommt "purpose" param
G. Richardson [Tue, 19 Jul 2016 12:22:49 +0000 (14:22 +0200)]
Payment-Helper - create_bank_transaction bekommt "purpose" param

und Beispiel für das Erstellen einer Zahlung für mehrere Rechnung mit
Skonto in POD.

8 years agoFunktion "Erzeugnis fertigen" sucht Bestandteile im falschen Lager.(3)
Martin Helmling martin.helmling@octosoft.eu [Mon, 18 Jul 2016 09:40:38 +0000 (11:40 +0200)]
Funktion "Erzeugnis fertigen" sucht Bestandteile im falschen Lager.(3)

Die fehlende Methode get_basic_warehouse_info() ist analog zu
get_basic_bin_info() aufgebaut und wird auch später in dem verbesserten Verbrauchsbericht von OD
benötigt

8 years agoEinrückungen in WH.pm
G. Richardson [Mon, 18 Jul 2016 08:49:50 +0000 (10:49 +0200)]
Einrückungen in WH.pm

8 years agoVerbesserung Englische Übersetzung
G. Richardson [Mon, 18 Jul 2016 08:41:52 +0000 (10:41 +0200)]
Verbesserung Englische Übersetzung

8 years agoKundenstammdaten: Lieferadresse speichern, wenn beliebiges Feld gesetzt
Moritz Bunkus [Mon, 18 Jul 2016 08:20:40 +0000 (10:20 +0200)]
Kundenstammdaten: Lieferadresse speichern, wenn beliebiges Feld gesetzt

Vorher wurde nur gespeichert, wenn der Name gesetzt war. Das ist
allerdings inkonsistent mit dem Verhalten von vor der Umstellung der
Maske auf das Controller-Modell. Weiterhin gibt es bei der
Lieferadressenbehandlung beim Drucken auch keine Sonderbehandlung mehr,
die vom Lieferadressen-Namen abhängt. Daher sollte das Speichern
ebenfalls nicht davon abhängen.

8 years agoFunktion "Erzeugnis fertigen" sucht Bestandteile im falschen Lager.(2)
Martin Helmling martin.helmling@octosoft.eu [Mon, 18 Jul 2016 06:24:54 +0000 (08:24 +0200)]
Funktion "Erzeugnis fertigen" sucht Bestandteile im falschen Lager.(2)

Auf Wunsch von Jan ist dies kein Bug mehr, sondern ist nun per Mandantenkonfig konfigurierbar

Als default wird das Ziellager genommen, falls "transfer_default_warehouse_for_assembly" gesetzt,
wird das Standardlager des Bestandteils verwendet.

Anmerkung:
Wo wir derzeit in der unstable wh.pl:create_assembly() verwendet/aufgerufen ?
Kann ich nicht finden.

8 years agoFlashanzeige erweitert: Nun auch Details
Martin Helmling [Thu, 28 May 2015 15:51:42 +0000 (17:51 +0200)]
Flashanzeige erweitert: Nun auch Details

Für alle drei Flashanzeigen gibt es Detailanzeigen/optionalen Timeout

Details als textueller Link [Details]
ebenfalls wird Fenster nach oben gescrolled, damit flash info sichtbar ist.
Bei einigen Fehlermeldungen, z.B. bei LaTex Fehlern empfiehlt es sich,
kleinere Fehlermeldungen anzuzeigen, die dem Kunden verständlicher sind,
in den Details kann der lange Fehlertext (z.B auch sql Fehler) angezeigt werden

Änderung in clientjs:

nach Ausgabe einer Flash Anzeige (Info/Warning/Error)
wird nach oben gesprungen ( derzeit zum frame-header).

Damit wird die Anzeige auf jeden Fall sichtbar.

Flashanzeige erweitert: Funktion zum Text löschen nach Timeout

Bei neuen Controllern, die per AJAX laufen, ist es empfehlenswert
bestimmte Texte nach einer gewissen Zeit implizit zu löschen,
damit eine weitere identische Anzeige erkennbar ist.

Die Funktion ist derzeit explizit per js->run('kivi.clear_flash','info',10000) im Controller einzubauen,

ggf, später als eigenständige clientjs - Funktion

8 years agoPartPicker styling: Höhe in chrome
Sven Schöling [Thu, 14 Jul 2016 15:24:14 +0000 (17:24 +0200)]
PartPicker styling: Höhe in chrome

Für später: lx-office-erp.css überschreibt natives <input> styling mit
einem pseudo-windows 7 Look, und kann das svg deshalb einfach als
Hintergrundbild setzen.

kivitendo.css belässt es aber bei nativer appearance. Sobald man da dann
versucht das Hintergrundbild zu ändern, wird die nicht mehr vom Window
Toolkit gerendert, sonderm vom Browser mit dessen Standardstylesheet.
Ergo muss da die Lupe als inline-block über dem input Feld positioniert
werden.

Der gesamte Picker muss sich inline verhalten, die einzelnen Teile
darin aber mit spacing Informationen gestyled werden. Dafür ist display:
inline-block da. Blöderweise klappt vertical alignment innerhalb eines
inline-blocks nur wenn man ein leeresa Pseudoelement vorne vor setzt.

8 years agoPartPicker Styling: Fix für Chrome
Sven Schöling [Thu, 14 Jul 2016 14:22:21 +0000 (16:22 +0200)]
PartPicker Styling: Fix für Chrome

8 years agoReapply "Partpicker styling"
Sven Schöling [Thu, 14 Jul 2016 12:56:29 +0000 (14:56 +0200)]
Reapply "Partpicker styling"

3.4.1 ist durch, also wieder rein, auf dass es bis zum nächsten Release
gefixt wird.

8 years agoExperimentell: Trigram Indizes auf Spalten die mit ILIKE durchsucht werden.
Sven Schöling [Thu, 14 Jul 2016 12:52:40 +0000 (14:52 +0200)]
Experimentell: Trigram Indizes auf Spalten die mit ILIKE durchsucht werden.

8 years agoUserPreferences: erste version
Sven Schöling [Thu, 14 Jul 2016 11:43:00 +0000 (13:43 +0200)]
UserPreferences: erste version

8 years agoRevert "generic_translations: Einträge automatisch löschen, wenn Sprache gelöscht...
Moritz Bunkus [Wed, 13 Jul 2016 11:58:45 +0000 (13:58 +0200)]
Revert "generic_translations: Einträge automatisch löschen, wenn Sprache gelöscht wird"

This reverts commit 86299a413d457abfa10f657b243d00b194702824.

8 years agogeneric_translations: Einträge automatisch löschen, wenn Sprache gelöscht wird
Moritz Bunkus [Wed, 8 Jun 2016 07:20:35 +0000 (09:20 +0200)]
generic_translations: Einträge automatisch löschen, wenn Sprache gelöscht wird

8 years agoKontoauszug verbuchen - SEPA-Zahlungen berücksichtigen und schließen 2
G. Richardson [Wed, 13 Jul 2016 10:51:20 +0000 (12:51 +0200)]
Kontoauszug verbuchen - SEPA-Zahlungen berücksichtigen und schließen 2

auch bei Verbuchen per "Vorschlag" die SEPA-Zahlungen schließen.

8 years agoTypos in Doku
G. Richardson [Tue, 12 Jul 2016 11:08:19 +0000 (13:08 +0200)]
Typos in Doku

8 years agoDokumentation: /users/ Rechte in apache2.4 waren waren falsch.
Sven Schöling [Tue, 12 Jul 2016 14:31:23 +0000 (16:31 +0200)]
Dokumentation: /users/ Rechte in apache2.4 waren waren falsch.

8 years agoLieferbedingungen haben kein Attribut description_long_invoice
Moritz Bunkus [Tue, 12 Jul 2016 13:51:16 +0000 (15:51 +0200)]
Lieferbedingungen haben kein Attribut description_long_invoice

Im Commit de009a3fee7e0471c3e095ce92d8708ff2b42597 »Zahlungsbedingungen:
Unterscheidung zwischen Angeboten/Aufträgen und Rechnungen« wurden
in den Druckroutinen fälschlicherweise auch für die Lieferbedingungen
das Setzen von »description_long_invoice« implementiert, obwohl die
Lieferbedingungen keine Unterscheidung zwischen Angeboten/Aufträgen und
Rechnungen bekommen haben.

Daher revertet der jetzige Commit diejenigen Hunks aus
de009a3fee7e0471c3e095ce92d8708ff2b42597, die die Lieferbedigungen
angefasst haben.

8 years agoBericht Debitorenbuchungen - Gutschriften < 1€ erkennen
G. Richardson [Tue, 5 Jul 2016 14:36:13 +0000 (16:36 +0200)]
Bericht Debitorenbuchungen - Gutschriften < 1€ erkennen

Die Prüfung auf amount < 0 wurde nach dem format_amount aufgerufen,
dadurch wurden Beträge von z.B. -0,77 nicht als Gutschriften erkannt.
Die amount-Prüfung wird jetzt nach dem format-amount aufgerufen.

8 years agoTypos in Doku
G. Richardson [Mon, 11 Jul 2016 11:40:58 +0000 (13:40 +0200)]
Typos in Doku