Verteilen der Rechte für Finanzbuchhaltung auf Dialogbuchung,Kreditoren-/Debitorenrechnungen(2)
Rechte überarbeitet:
- Beim Schnellsuchen zur Auswahl alle Rechte erlauben zum Suchen
- Der Reiter "Buchungen" kann nur von jemandem geöffnet werden, der Rechnungen editieren darf,
deshalb hier von "general_ledger" auf "invoice_edit" umgebaut
- Wer Dialogbuchungen machen macht, darf auch das Buchungsjournal ansehen, am die Buchung zu finden.
- Bei Kreditorenbuchungen fehlte das neue Recht an einigen Stellen.
- Umbenennen des Rechts "Finanzbuchhaltungen" in "Offene Forderungen/Verbindunglichkeiten & Buchungsjournal"
Moritz Bunkus [Thu, 13 Oct 2016 14:45:42 +0000 (16:45 +0200)]
kivitendo-CSS: Inputs konsistent durch Browser gestylt
Damit wird verhindert, dass teilweise das Plattform-UI-Toolkit für das
Styling verantwortlich ist. Das sieht nicht nur inkonsistent aus,
sondern stört richtiggehend, wenn oft zwischen nativ gestylt und vom
Browser via CSS gestylt gewechselt wird (z.B. wenn ein Element Focus
erlangt/verliert).
MT940-Import: Transaktionstype mit in BankTransaction
Eine Erweiterung um z.B. Sammellastschriften zu erkennen
Dazu wurde ein eigenes Importprofil für aqbanking-cli erstellt
und die Tabelle bank_transactions erweitert.
- Das Profil muss nicht mehr pro Benutzer angelegt werden
- CSV-Import wird in das Systemenu zum Import verschoben,
Im Menü "Zahlungsverkehr" wird gleich zum MT940 gesprungen
- Updatescript muss auch funktionieren wenn bereits ein MT940 Profil angelegt ist
- Für Login "default" ist is_default irrelevant
Sven Schöling [Tue, 27 Sep 2016 10:55:07 +0000 (12:55 +0200)]
Auth::ColumnInformation: fetch nur in reset, nicht in init
die Version aus e7a7492e macht Probleme im taskserver.
ausserdem das reset nur dann machen, wenn es auch sinnvoll ist. Bisher
wurde das als silver Bullet aufgerufen, wannimmer sich etwas an der DB
geändert haben könnte, also auch beim anlegen der Auth DB in Tests und
beim initialen Anlegen. Der erste Fall ist jetzt in eine init Funktion
ausgelagert. Im zweiten Fall waren die zu resettenden Werte eh noch
nicht gesetzt, und das reset kann rausfallen.
G. Richardson [Tue, 27 Sep 2016 09:52:02 +0000 (11:52 +0200)]
MassInvoiceCreatePrint - Filter korrekt übergeben
Beim Massendruck wurden die ausgewählten Filter nicht korrekt
berücksichtigt, wenn man z.B. nach allen Lieferscheinen ab einem
bestimmten Datum gefiltert hat, und davon die ersten 10 drucken wollte,
wurde die ersten 10 aus der ungefilterten Liste gedruckt.
Moritz Bunkus [Mon, 26 Sep 2016 09:14:49 +0000 (11:14 +0200)]
sepa_export_items automatisch mit Rechnungen löschen
Wenn man eine Rechnung löschen möchte, die bereits in einen SEPA-Export
verwendet wurde, so erhält man eine Fehlermeldung. Also den
dazugehörigen Eintrag aus »sepa_export_items« automatisch über ein »ON
DELETE CASCADE« auf den Fremdschlüsseln löschen lassen.
Moritz Bunkus [Mon, 26 Sep 2016 08:46:10 +0000 (10:46 +0200)]
reconciliation_links automatisch mit Abhängigkeiten löschen
Wenn man einen Eintrag aus acc_trans löschen möchte (z.B. beim Löschen
einer gebuchten Einkaufs- oder Verkaufsrechnung, zu der bereits
Zahlungen verbucht wurden, für die wiederum ein Bankabgleich
stattgefunden hat), so wird bisher nur der Eintrag aus ar/ap
entfernt. Datenbanktrigger entfernen dann die Einträge aus »acc_trans« —
doch diese sind in dem Moment noch über »reconciliation_links«
referenziert.
Die »reconciliation_links« verknüpft allerdings ausschließlich die
Einträge aus »acc_trans« bzw. »bank_transactions« ohne weitere
Nebenwirkungen. Daher genügt es, wenn die Einträge über ein »ON DELETE
CASCADE« auf ihren Fremschlüssel mit gelöscht werden.
Diese Änderung betrifft auch #193 (»Kontenabgleich mit Bank« verhindert
nachträgliches Hinzufügen von Zahlungen). Durch die Änderung passiert
jetzt beim nachträglichen Buchen von Zahlungen Folgendes:
• Einträge aus »acc_trans« werden gelöscht
• Einträge aus »reconciliation_links« fliegen durch »ON DELETE CASCADE«
automatisch mit raus
• Einträge in »acc_trans« werden wieder neu eingefügt, nicht aber
Einträge in »reconciliation_links«
Sprich diese Änderung versteckt den Bug, dass das nachträgliche
Verändern von Zahlungen bereits abgeglichene Zahlungen falsch
behandelt. Das muss weiterhin gefixt werden, das Fehlverhalten ist
schlicht nicht mehr so offensichtlich.
3. In der Suchmaske unter "Vorgewählte Zeiträume" sollte das aktuelle Jahr vorgegeben sein.
4. Filter "Freier Zeitraum" funktioniert nicht: "Es wurden keine Daten gefunden."
Bei der Berechnung des "Ø mtl." wird Folgendes beachtet:
Falls ein Zeitraum angegeben ist mit einem Enddatum in der Zukunft (z.B. auch bei "Jährlich" oder "Quartal")
muss der Bezugszeitraum mit dem aktuellen Datum (heute) begrenzt werden, ansonsten wird der Durchschnitt falsch berechnet!
Bei Zeitraum kleiner einem Monat, wird Durchschnitt des Entnommenen über einen Monat berechnet
Bei PDF/CSV Export müssen alle Werte berechnet werden
Wegen PDF-Erzeugung ausserhalb Papier X-Rand default reduziert auf 0,8 cm
Martin Helmling [Thu, 28 May 2015 15:51:42 +0000 (17:51 +0200)]
Flashanzeige erweitert: Löschen und Springen abschalten
1. 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.
Änderung in clientjs:
2. nach Ausgabe einer Flash Anzeige (Info/Warning/Error)
wird nach oben gesprungen ( derzeit zum frame-header).
Damit wird die Anzeige auf jeden Fall sichtbar.
Bei direkter Nutzung innerhalb Javascript kann per drittem Parameter 'true' das Scrollen verhindert werden.
Dies ist derzeit nicht Controllerseitig durchführbar, da die flash() Funktion eine
Liste von Strings erwartet. Hierzu müsste die Schnittstelle adaptiert werden oder ggf,
eine neue Funktion flash_noscroll() eingebaut werden.
Neue Implementierung: Die access-Prüfung findet nun im "Worker" statt,
so kann für die Banktransaktionen in "CsvImport/BankTransaction"
neben "config" auch das Recht "bank_transaction" zugelassen werden.
Davon getrennt ist nun das Verhalten, das bei einem vorgegebenen Profil
dieses nich tzum Editieren angeboten wird, sondern gleich in den Import->Test gegangen wird.
Dazu ist im entsprechenden Profil der Parameter "dont_edit_profile" auf "1" zu setzen.
Da immer mehr Bewegungsdaten per CSV-Import eingelesen werden,
ist es sinnvoll, dies ohne 'config' Recht durchführen zu können.
In diesem Falle sind default Import-Profile vorzuhalten, da die Nutzer dann keine Anpassungen machen dürfen.
Die Default Profile haben das flag is_default gesetzt und als login "default" eingetragen.
Zur Übergabe dieses Rechts dient der neue Parameter csv_import_access,
der entsprechend weiterzugeben ist.
Diese Änderung wird erstmalig für den MT940 Bankimport eingesetzt
Martin Helmling [Tue, 13 Sep 2016 12:30:57 +0000 (14:30 +0200)]
Klonen von CSV-Import Profilen ohne is_default(fixmaster)
Die für den Backgroundprozess notwendigen geklonten Einträge sollen kein is_default gesetzt haben,
da beim Speichern des Klones mit is_default alle anderen mit gleichen Type und Login is_default auf 0 gesetzt bekommen
G. Richardson [Wed, 14 Sep 2016 11:15:30 +0000 (13:15 +0200)]
FlattenToForm - Employee-Daten mit integrieren
Wenn Rechnungen per flatten_to_form gedruckt werden, sollten auch die
Druckvorlagenvariablen employee_tel, employee_fax und employee_email im
Template zur Verfügung stehen. Diese Daten stehen aber nur in der
$::auth.
Für Auswahl moderne presenter Methoden statt alte cgi Methoden eingebaut.
Fehlende Umbenennung in html Templates für Events korrigiert
Die Auswahl der 9xxx Konten nicht mehr auf 4 Zeichen begrenzt
Das Erstellen von Schluss- und Eröffnungsbuchungen (mit Saldovortrag auf 9000-Konten)
wird erleichtern bzw. automatisieren.
- Neuer Menüpunkt "Finanzbuchhaltung -> SB/EB buchen"
- Buchungsdatum:
SB: dem 31.12. des Vorjahres
EB: dem 01.01. des aktuellen Jahre
- Referenz und Beschreibung
- Auswahl eines 9000 Kontos
- Danach Liste der unausgeglichenen Konten, per Checkbox auswählbar.
- Iteratives Erzeugen der SB / EB Buchungen
- Start der Saldoberechnung abhängig von Mandantenkonfig Einstellungen "get_balance_startdate_method" und "closedto"
- Erweiterung der zweiten Seite (SB/EB buchen)
1. Zusätzliche Spalte "Summe SB-Buchungen" welche die Summe aller SB-Buchungen im betroffenen Zeitraum anzeigt.
2. Zusätzliche Spalte "Summe EB-Buchungen" welche die Summe aller EB-Buchungen im Zeitraum des nächsten Jahres anzeigt.
3. Die Anzeige "Salden von $datum bis $datum" als gemeinsame Spaltenüberschrift "Zeitraum: $datum - $datum" für die Spalten "Soll", "Haben", "Summe SB-Buchungen"
4. Eine ähnliche zweite Überschrift "Zeitraum: $datum2 - $datum2" für die Spalte "Summe EB-Buchungen", wobei $datum2 hier das "folgejahr" darstellt.
- Nun auch S und H bei Summenspalten
- Test eingebaut
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.