kivitendo-erp.git
8 years agoOE: single-dbh disconnects
Sven Schöling [Thu, 8 Sep 2016 14:50:59 +0000 (16:50 +0200)]
OE: single-dbh disconnects

8 years agoIR: single-dbh disconnects
Sven Schöling [Thu, 8 Sep 2016 14:50:47 +0000 (16:50 +0200)]
IR: single-dbh disconnects

8 years agoGL: single-dbh disconnects
Sven Schöling [Thu, 8 Sep 2016 14:50:31 +0000 (16:50 +0200)]
GL: single-dbh disconnects

8 years agoForm: single-dbh disconnects
Sven Schöling [Thu, 8 Sep 2016 14:50:16 +0000 (16:50 +0200)]
Form: single-dbh disconnects

8 years agoCommon: single-dbh disconnects
Sven Schöling [Thu, 8 Sep 2016 14:49:52 +0000 (16:49 +0200)]
Common: single-dbh disconnects

8 years agoCT: single-dbh disconnects
Sven Schöling [Thu, 8 Sep 2016 14:49:36 +0000 (16:49 +0200)]
CT: single-dbh disconnects

8 years agoCP: single-dbh disconnects
Sven Schöling [Thu, 8 Sep 2016 14:49:20 +0000 (16:49 +0200)]
CP: single-dbh disconnects

8 years agoCA: single-dbh disconnects
Sven Schöling [Thu, 8 Sep 2016 14:49:03 +0000 (16:49 +0200)]
CA: single-dbh disconnects

8 years agoAR: single-dbh disconnects
Sven Schöling [Thu, 8 Sep 2016 14:48:25 +0000 (16:48 +0200)]
AR: single-dbh disconnects

8 years agoAP: single-dbh disconnects
Sven Schöling [Thu, 8 Sep 2016 14:48:14 +0000 (16:48 +0200)]
AP: single-dbh disconnects

8 years agoCsvImport: Aufträge: Auf ungültige Artikel prüfen.
Bernd Bleßmann [Wed, 7 Sep 2016 09:43:43 +0000 (11:43 +0200)]
CsvImport: Aufträge: Auf ungültige Artikel prüfen.

8 years agot/controllers/csvimport/parts.t: weg mit den überflüssigen init Aufrufen
Martin Helmling martin.helmling@octosoft.eu [Tue, 6 Sep 2016 14:04:40 +0000 (16:04 +0200)]
t/controllers/csvimport/parts.t: weg mit den überflüssigen init Aufrufen

8 years agomailmap update
Sven Schöling [Tue, 6 Sep 2016 13:44:10 +0000 (15:44 +0200)]
mailmap update

8 years agoUserPrefs: Transaktionen für alle
Sven Schöling [Mon, 5 Sep 2016 16:50:19 +0000 (18:50 +0200)]
UserPrefs: Transaktionen für alle

8 years agoCsvImport/Part: uninitialized hash value warning behoben
Sven Schöling [Mon, 5 Sep 2016 11:01:33 +0000 (13:01 +0200)]
CsvImport/Part: uninitialized hash value warning behoben

8 years agoWH: spellcheck
Sven Schöling [Mon, 5 Sep 2016 10:56:03 +0000 (12:56 +0200)]
WH: spellcheck

8 years agoUSTVA: Leerzeichen am Zeilenende entfernt
Bernd Bleßmann [Sun, 4 Sep 2016 15:12:56 +0000 (17:12 +0200)]
USTVA: Leerzeichen am Zeilenende entfernt

8 years agoCSV-Import: single-dbh
Martin Helmling martin.helmling@octosoft.eu [Fri, 2 Sep 2016 15:25:11 +0000 (17:25 +0200)]
CSV-Import: single-dbh

8 years agoCSV-Import Artikel: Einige Erweiterungen: Testfehler behoben
Martin Helmling martin.helmling@octosoft.eu [Fri, 2 Sep 2016 15:13:07 +0000 (17:13 +0200)]
CSV-Import Artikel: Einige Erweiterungen: Testfehler behoben

8 years agoWH::transfer_assembly: single-dbh
Sven Schöling [Fri, 2 Sep 2016 12:33:49 +0000 (14:33 +0200)]
WH::transfer_assembly: single-dbh

8 years agoDBUpgrade2: single-dbh
Sven Schöling [Fri, 2 Sep 2016 11:49:58 +0000 (13:49 +0200)]
DBUpgrade2: single-dbh

Betrifft das Surrogat-dbh-handling in db-upgrades.

Der alte Code versucht $::form->get_standard_dbh mit dem Upgrade Handle
zu überschreiben, damit Code der im Upgrade läuft das benutzen kann. Das
geht mit dem SL::DB->client handling nicht.

Angenehmer Nebeneffekt ist, dass man jetzt sofort bei Testläufen auf der
Konsole sieht wenn das passiert, weil das Handle nicht funktioniert und
damit abstürzt.

8 years agoUser: single-dbh: vor upgrade nicht mehr disconnecten
Sven Schöling [Thu, 18 Aug 2016 14:28:55 +0000 (16:28 +0200)]
User: single-dbh: vor upgrade nicht mehr disconnecten

8 years agotask_server: single-dbh: Form::disconnect entfernt
Sven Schöling [Thu, 18 Aug 2016 14:28:30 +0000 (16:28 +0200)]
task_server: single-dbh: Form::disconnect entfernt

8 years agosingle-dbh: Fehler in Transaktionen immer weiterwerfen
Sven Schöling [Wed, 17 Aug 2016 13:51:24 +0000 (15:51 +0200)]
single-dbh: Fehler in Transaktionen immer weiterwerfen

8 years agoDispatcher: Form::disconnect nicht aufrufen solange kein client da ist
Sven Schöling [Tue, 16 Aug 2016 14:41:29 +0000 (16:41 +0200)]
Dispatcher: Form::disconnect nicht aufrufen solange kein client da ist

8 years agotask_Server: single-dbh
Sven Schöling [Tue, 16 Aug 2016 11:25:13 +0000 (13:25 +0200)]
task_Server: single-dbh

8 years agoDBUpgrade: temporäre dbh Behandlung
Sven Schöling [Tue, 16 Aug 2016 11:21:10 +0000 (13:21 +0200)]
DBUpgrade: temporäre dbh Behandlung

8 years agoget_standard_dbh entfernt und auf SL::DB->client->dbh umgebogen
Sven Schöling [Mon, 15 Aug 2016 12:58:25 +0000 (14:58 +0200)]
get_standard_dbh entfernt und auf SL::DB->client->dbh umgebogen

8 years agodbconnect_noauto entfernt
Sven Schöling [Mon, 15 Aug 2016 12:57:33 +0000 (14:57 +0200)]
dbconnect_noauto entfernt

8 years agoUser: Kommentare entfernt
Sven Schöling [Mon, 15 Aug 2016 12:00:42 +0000 (14:00 +0200)]
User: Kommentare entfernt

8 years agoCsvImport/Base: single-dbh
Sven Schöling [Mon, 15 Aug 2016 09:42:46 +0000 (11:42 +0200)]
CsvImport/Base: single-dbh

Achtung: der hier schreibt ein for {} continue um in deutlich
komplexeres Offset Handling. Muss extra getestet werden.

8 years agoForm: single-dbh (partiell)
Sven Schöling [Fri, 12 Aug 2016 14:07:37 +0000 (16:07 +0200)]
Form: single-dbh (partiell)

standard_dbh->rollback fehlt noch

8 years agoCustomVariableConfig: single-dbh
Sven Schöling [Fri, 12 Aug 2016 11:14:19 +0000 (13:14 +0200)]
CustomVariableConfig: single-dbh

8 years agoCsvImport: mehr single-dbh
Sven Schöling [Fri, 12 Aug 2016 11:14:07 +0000 (13:14 +0200)]
CsvImport: mehr single-dbh

8 years agoCsvImport/Base: single-dbh
Sven Schöling [Thu, 11 Aug 2016 12:36:52 +0000 (14:36 +0200)]
CsvImport/Base: single-dbh

8 years agoCsvImport: single-dbh
Sven Schöling [Thu, 11 Aug 2016 11:44:53 +0000 (13:44 +0200)]
CsvImport: single-dbh

8 years agoCsvReport: single-dbh
Sven Schöling [Thu, 11 Aug 2016 11:22:20 +0000 (13:22 +0200)]
CsvReport: single-dbh

8 years agoTransNumber: single-dbh
Sven Schöling [Tue, 9 Aug 2016 09:50:13 +0000 (11:50 +0200)]
TransNumber: single-dbh

8 years agomeerge: IO: single-dbh return
Sven Schöling [Tue, 9 Aug 2016 09:07:33 +0000 (11:07 +0200)]
meerge: IO: single-dbh return

8 years agoRecordLinks: single-dbh
Sven Schöling [Tue, 9 Aug 2016 09:07:08 +0000 (11:07 +0200)]
RecordLinks: single-dbh

8 years agoIO: single-dbh
Sven Schöling [Tue, 9 Aug 2016 09:02:34 +0000 (11:02 +0200)]
IO: single-dbh

8 years agocommon.pl: single-dbh
Sven Schöling [Tue, 2 Aug 2016 10:59:32 +0000 (12:59 +0200)]
common.pl: single-dbh

8 years agoCommon: single-dbh
Sven Schöling [Tue, 2 Aug 2016 08:51:52 +0000 (10:51 +0200)]
Common: single-dbh

8 years agoARAP: single-dbh
Sven Schöling [Tue, 2 Aug 2016 08:50:25 +0000 (10:50 +0200)]
ARAP: single-dbh

8 years agoCVar: single-dbh
Sven Schöling [Mon, 1 Aug 2016 17:26:06 +0000 (19:26 +0200)]
CVar: single-dbh

8 years agoGenericTranslations: single-dbh
Sven Schöling [Mon, 1 Aug 2016 14:02:39 +0000 (16:02 +0200)]
GenericTranslations: single-dbh

8 years agoAM: single-dbh und disconnects
Sven Schöling [Mon, 1 Aug 2016 13:39:24 +0000 (15:39 +0200)]
AM: single-dbh und disconnects

8 years agoAccTransCorrections: single-dbh
Sven Schöling [Mon, 1 Aug 2016 11:30:50 +0000 (13:30 +0200)]
AccTransCorrections: single-dbh

8 years agoFU: single-dbh
Sven Schöling [Mon, 1 Aug 2016 10:57:07 +0000 (12:57 +0200)]
FU: single-dbh

8 years agoSEPA: single-dbh
Sven Schöling [Mon, 1 Aug 2016 09:27:12 +0000 (11:27 +0200)]
SEPA: single-dbh

8 years agoNotes: single-dbh
Sven Schöling [Mon, 1 Aug 2016 09:01:46 +0000 (11:01 +0200)]
Notes: single-dbh

8 years agoDATEV: single-dbh
Sven Schöling [Fri, 29 Jul 2016 13:50:27 +0000 (15:50 +0200)]
DATEV: single-dbh

8 years agoTODO: single-dbh
Sven Schöling [Fri, 29 Jul 2016 13:14:08 +0000 (15:14 +0200)]
TODO: single-dbh

8 years agoDN: single-dbh und disconnects
Sven Schöling [Fri, 29 Jul 2016 12:07:19 +0000 (14:07 +0200)]
DN: single-dbh und disconnects

8 years agoSL:: single-dbh und disconnects
Sven Schöling [Fri, 29 Jul 2016 11:12:40 +0000 (13:12 +0200)]
SL:: single-dbh und disconnects

8 years agoCP: single-dbh
Sven Schöling [Fri, 29 Jul 2016 11:09:13 +0000 (13:09 +0200)]
CP: single-dbh

8 years agoGL: single-dbh
Sven Schöling [Thu, 28 Jul 2016 15:31:06 +0000 (17:31 +0200)]
GL: single-dbh

8 years agoAP: single-dbh
Sven Schöling [Thu, 28 Jul 2016 13:42:43 +0000 (15:42 +0200)]
AP: single-dbh

8 years agoAR: single-dbh
Sven Schöling [Thu, 28 Jul 2016 12:09:31 +0000 (14:09 +0200)]
AR: single-dbh

8 years agoIR: single-dbh
Sven Schöling [Wed, 27 Jul 2016 16:05:08 +0000 (18:05 +0200)]
IR: single-dbh

8 years agoIS: single-dbh
Sven Schöling [Wed, 27 Jul 2016 13:36:21 +0000 (15:36 +0200)]
IS: single-dbh

8 years agoDO: single-dbh
Sven Schöling [Wed, 27 Jul 2016 09:40:43 +0000 (11:40 +0200)]
DO: single-dbh

8 years agoOE: single-dbh
Sven Schöling [Tue, 26 Jul 2016 15:46:26 +0000 (17:46 +0200)]
OE: single-dbh

8 years agoIC: single-dbh für delete und update_prices
Sven Schöling [Fri, 1 Jul 2016 09:26:48 +0000 (11:26 +0200)]
IC: single-dbh für delete und update_prices

8 years agoIC: Umstellung IC::save auf single dbh
Sven Schöling [Wed, 29 Jun 2016 14:44:57 +0000 (16:44 +0200)]
IC: Umstellung IC::save auf single dbh

8 years agoNur noch ein DB-Hanlde pro Request zum Client aufmachen
Sven Schöling [Wed, 29 Jun 2016 14:43:54 +0000 (16:43 +0200)]
Nur noch ein DB-Hanlde pro Request zum Client aufmachen

8 years agoAuftrags-Controller: lastcost nur vom Artikel nehmen, wenn die Position neu ist
Bernd Bleßmann [Thu, 1 Sep 2016 11:21:27 +0000 (13:21 +0200)]
Auftrags-Controller: lastcost nur vom Artikel nehmen, wenn die Position neu ist

Ansonsten werden die EKs von schon in der DB gespeicherten Aufträgen immer mit
denen des Artikels überschrieben.

siehe auch commit 370d43e2028e8a450055048f1354da48163d3954
"Order Controller - lastcost von Positionen mit speichern"
und refs #201 (redmine)

8 years agoKreditoren- und Debitorenbuchung: Erneuern per JS bei Wechsel des Beleg-Projekts
Bernd Bleßmann [Wed, 31 Aug 2016 12:27:39 +0000 (14:27 +0200)]
Kreditoren- und Debitorenbuchung: Erneuern per JS bei Wechsel des Beleg-Projekts

behebt #207 (redmine)

8 years agoBUG_FIX Userpreferences
Martin Helmling martin.helmling@octosoft.eu [Wed, 31 Aug 2016 09:59:06 +0000 (11:59 +0200)]
BUG_FIX Userpreferences

Falls keine Id vorhanden muss ein insert gemacht werden

8 years agoFehlende impliziten Übersetzungen für Zahlungsart
Martin Helmling martin.helmling@octosoft.eu [Tue, 30 Aug 2016 13:19:30 +0000 (15:19 +0200)]
Fehlende impliziten Übersetzungen für Zahlungsart

Wird in bank_transfer_edit gebraucht

8 years agoCSV-Import Artikel: Einige Erweiterungen
Martin Helmling martin.helmling@octosoft.eu [Thu, 25 Aug 2016 10:37:28 +0000 (12:37 +0200)]
CSV-Import Artikel: Einige Erweiterungen

CSV-Import von Artikel hat nun für existierende Artikel folgende Optionen:

     1. Eigenschaften von existierenden Einträgen aktualisieren
     2. Eigenschaften von existierenden Artikeln aktualisieren / Nicht vorhandene überspringen
     3. Preise von vorhandenen Artikeln aktualisieren
     4. Preise von vorhandenen Artikel aktualisieren / Nicht vorhandene überspringen
     5. Mit neuer Artikelnummer einfügen
     6. Eintrag überspringen

    Zusätzlich können nun Spalten "Lager","Lagerort" als Name oder ID eingelesen werden,
    sowie Übersetzungen z.B. als 'description_EN' oder 'description_IT'.
    Auch cvars können als 'cvars_<name>' importiert werden.
    Ebenfalls sind weitere Bemerkungen an den einzelnen Importzeilen eingebaut.

8 years agoGeierlein: alter Elsterexport überarbeitet
mh@waldpark.octosoft.eu [Mon, 5 Jan 2015 17:14:10 +0000 (18:14 +0100)]
Geierlein: alter Elsterexport überarbeitet

Generierung der Params in ODGeierlein

Neuer Controller für AJAX Request
Verallgemeinern (Teile aus ustva.pl nach SL/USTVA.pm

elster_format angepasst

Die Formate der Steuernummern für Baden-Württemberg und Rheinland-Pfalz
sind in Geierlein anders als früher in taxbird

Geierlein auf gleichem Webserver

Da LocalStorage nur innerhalb einer Domaine funktioniert,
Wurde nun innerhalb Kivitendo der crome/content Baum von Geierlein installiert.

Also
cd geierlein/chrome/content
mkdir {kivitendoDocumentRoot}/geierlein
tar cf - * | tar xf - -C {kivitendoDocumentRoot}/geierlein

Natürlich gibt es auch Möglichkeiten, dies per alias-Config im apache2 zu machen

Konfigurerierbar in kivitendo.conf

Falls geierlein_path gestetzt ist das Feature enabled
Pfadnahme zeigt zu geierleinverzeichnis innerhalb des kivitendo Verzeichnisses

UStVa Einstellungen in Datenbank

Kein finanzamt.ini mehr sondern fa_bufa_nr in Defaults,
über diese BundesFinanzamtnummer greift man auf Finanzamt Rose-Objekt zu.
Das ist nun auch modifizierbar.
Nutzung von Rose,
Sonderfälle in stnr pattern (BaWü)

Falls keine Daten in Defaults wird ein ggf. vorhandenes finanzamt.ini gelesen
und die Daten von dort übernommen

Die Steuernummer wird nun nicht mehr in der Mandantenkonfig
sondern in den UStVa Einstellungen editiert

Bisher Keine Umstellung auf IBAN, BIC (ist dies notwendig?)

Übergabe ohne kz83
Geierlein berechnet das Ergebnis selbst,
es werden nun nur Eingangsbeträge übergeben

UTF-8 Umwandlung finanzamt.ini Texte

Links zu Mandantenkonfig eingearbeitet

Implementiert RedMine Feature #168

8 years ago2. Version POD zu create_assembly
Jan Büren [Fri, 26 Aug 2016 16:25:17 +0000 (18:25 +0200)]
2. Version POD zu create_assembly

Probiert insgesamt mehr 'auf den Punkt' und trotzdem
user-verständlich zu beschreiben.

8 years ago1. Version POD zu create_assembly
Jan Büren [Fri, 26 Aug 2016 15:45:39 +0000 (17:45 +0200)]
1. Version POD zu create_assembly

create_assembly wird transfer_assembly ersetzen.
Dies ist die erste Version alle aktuellen optionalen Verfahren
für 'Erzeugnis fertigen' zu ergänzen.
Aktuell offen ist die Liste der Parameter, sowie das
Verhalten bzgl. best_before

8 years agospecial_chars: Weitere Symbole für LaTeX
Martin Helmling martin.helmling@octosoft.eu [Wed, 24 Aug 2016 08:20:12 +0000 (10:20 +0200)]
special_chars: Weitere Symbole für LaTeX

8 years agospecial_chars: Omega für LaTex als mathematisches Symbol.
Bernd Bleßmann [Mon, 22 Aug 2016 21:44:08 +0000 (23:44 +0200)]
special_chars: Omega für LaTex als mathematisches Symbol.

8 years agonew_lastmtime mit $provided_dbh aufrufen
Jan Büren [Sat, 20 Aug 2016 10:28:30 +0000 (12:28 +0200)]
new_lastmtime mit $provided_dbh aufrufen

fix für #204

8 years agonew_lastmtime um optionalen dbh erweitert
Jan Büren [Sat, 20 Aug 2016 10:20:11 +0000 (12:20 +0200)]
new_lastmtime um optionalen dbh erweitert

8 years agoKosmetik, bessere Beschreibung für neuen SelfTests (#24)
Jan Büren [Thu, 18 Aug 2016 14:02:39 +0000 (16:02 +0200)]
Kosmetik, bessere Beschreibung für neuen SelfTests (#24)

Copy und Paste-Fehler bei Beschreibung im Positiv-Testfall
übersehen, sowie Einrückungen verbessert.

8 years agoPayment-Helfer: Rechnen mit undefinierten Werten vermeiden
Moritz Bunkus [Thu, 18 Aug 2016 12:08:57 +0000 (14:08 +0200)]
Payment-Helfer: Rechnen mit undefinierten Werten vermeiden

8 years agoWeiteren Transaction-Selftest
Jan Büren [Thu, 18 Aug 2016 11:23:45 +0000 (13:23 +0200)]
Weiteren Transaction-Selftest

Falls ein datepaid im Nebenbuch gesetzt ist, so darf paid nicht
auf 0 sein, wenn es keine Zahlungen in der acc_trans hierzu gibt.

8 years agoMerge branch 'f-use-with_transaction-instead-of-do_transaction'
Moritz Bunkus [Thu, 18 Aug 2016 09:45:09 +0000 (11:45 +0200)]
Merge branch 'f-use-with_transaction-instead-of-do_transaction'

8 years ago»with_transaction« anstelle von »do_transaction« verwenden
Moritz Bunkus [Thu, 18 Aug 2016 08:04:24 +0000 (10:04 +0200)]
»with_transaction« anstelle von »do_transaction« verwenden

Es sollte so selten wie möglich »do_transaction« verwndet werden, damit
man sich immer angewöhnt, »with_transaction« zu nutzen.

Hintergründe und Unterschiede zwischen den beiden Funktionen sind in der
Dokumentation von SL/DB.pm beschrieben.

8 years agoAuftragscontroller: nach Löschen Redirect zum Anlegen, nicht zum Bearbeiten
Moritz Bunkus [Thu, 18 Aug 2016 08:31:17 +0000 (10:31 +0200)]
Auftragscontroller: nach Löschen Redirect zum Anlegen, nicht zum Bearbeiten

8 years agoPflichtenheft: Zugriff auf nicht vorhandenes »visible_item« verhindern
Moritz Bunkus [Thu, 18 Aug 2016 08:15:06 +0000 (10:15 +0200)]
Pflichtenheft: Zugriff auf nicht vorhandenes »visible_item« verhindern

Sind im Baum gerade Textblöcke ausgewählt, so liefert die Funktion
»visible_item« undef zurück, weil aktuell kein Item (= Abschnitt oder
Funktionsblock) sichtbar ist.

Wird in so einem Moment ein Abschnitt oder Funktionsblock per Drag &
Drop verschoben, so darf daher kein Zugriff auf Funktionen von
»visible_item« stattfinden. Die Prüfung, ob aktuell überhaupt Abschnitte
zu sehen sind, muss daher vorher erfolgen.

8 years agoRechnungsmassenerstellen: keine DB-Transaktion um convert_to_invoice()
Moritz Bunkus [Thu, 18 Aug 2016 07:56:24 +0000 (09:56 +0200)]
Rechnungsmassenerstellen: keine DB-Transaktion um convert_to_invoice()

convert_to_invoice() macht selber intern bereits eine Transaktion auf;
daher ist die außen unnötig.

Weiterhin waren die Parameter merkwürdig übergeben:

• Für eine On-The-Fly-Unterscheidung für »diese Parameter« vs. »keine
  Parameter« benötigt man keine sub; das geht einfach mit einem ternären
  Operator.
• »Keine Parameter« drückt man nicht durch »undef« aus, sondern durch
  die leere Liste »()«. Wird »undef« als einziger Parameter übergeben,
  so wird in der Funktion de Facto das hier gemacht:

  my %hash = (undef);

  und das ergibt eine Warnung, dass eine Liste mit ungerader Anzahl von
  Elementen in ein Hash umgewandelt werden soll.

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