Auftragsschnellerfassung: Währung und Wechselkurs definierbar
impl. #9491
(cherry picked from commit 6cdc5a4a33df4530ce4e141151e83138320e27a2)(cherry pick von odyn)
Rose-Attr-Helfer: _as_null_number
von odyn abgeguckt, aber nicht mit SL::Helper::Number implementiert(gibt es in kivitendo nicht)siehe auch odyn: commit b4177a76db52e94795314b527774f515fd8ee42f
SL::DB::ShopOrder - in convert_to_sales_order transdate übergeben
Um ein bestimmtes Datum zu forcieren, nützlich für Tests.
Außerdem Umstellung auf hartkodiertes Testjahr 2019 in 2020.
SL::DB::Invoice new_from - param transdate übergeben
Insbesondere bei Tests nützlich, um das Defaultverhalten zuüberschreiben.
Payment Helper - Logikfehler bei Parameter transdate
Es war eine Klammer falsch gesetzt, daher wurden nie DateTime-Objekteerkannt und man mußte das Datum immer als formatierten String übergeben.Jetzt sollte es auch wieder mit DateTime-Objekten funktionieren.
Merge remote-tracking branch 'origin/f-leistungsdatum'
ZUGFeRD: Gesamtsteuer nach PTC-Strukturänderung richtig ermitteln
Chart cache_taxkeys - startdate korrekt abfragen
Ansonsten werden Buchungen am 1.7.2020 (= startdate) nicht richtigzugeordnet.
S:D:Order: deliverydate Methode für PTC
PTC: Steuer nach Lieferdatum oder Rechnungsdatum
sollte nur für Rechnungen/Gutschriften gelten, nicht für Aufträge.
Lieferdatum in Dialogbuchung: DB-Upgrade + Rose
PTC: Rückgabehash taxes in taxes_by_chart_id umbenannt
Damit ist klarer, was zu erwarten ist
ZUGFeRD: Steuerwerte pro Steuer, nicht pro Steuerkonto ausweisen
PTC: Steuern auch nach Steuer-Id zurückgeben
Bisher kann der PTC die berechntete Steuer pro Steuerkonto zurückgeben.Allerdings kann kivi so konfiguriert sein, dass verschiedene Steuernauf ein Konto gebucht werden. Diese lassen sich dann durch die Rückgabe...
Finanzübersicht: Enddatum bei wied. Rechnungen ohne automatische Verlängerung gefixt
Ist eine wR gekündigt, so darf ihr Betrag nur bis zum Enddatumberücksichtigt werden. Das gleiche gilt aber, wenn eine Rechnung zwarnoch nicht gekündigt ist, wohl aber ein Enddatum aber keine...
Abteilungen bei Ansprechpersonen: Freitext-Feld und/oder Auswahlliste
Die Abteilung wird entweder nur mit einer Auswahlliste angezeigt oder mitFreitext-Feld und Auswahlliste. Das ist annähernd das alte Verhalten - imFreitext-Feld eingegebener Text wird auch in contact_departments gespeichert....
Abteilungen bei Ansprechpersonen: SimpleSettings-Controller zum Editieren
Abteilungen bei Ansprechpersonen in eigene Tabelle: DB-Upgrade und Rose
Titel von Ansprechpersonen: Freitext-Feld und/oder Auswahlliste
Der Titel wird entweder nur mit einer Auswahlliste angezeigt oder mitFreitext-Feld und Auswahlliste. Das ist annähernd das alte Verhalten - imFreitext-Feld eingegebener Text wird auch in contact_titles gespeichert....
Titel von Ansprechpersonen: SimpleSettings-Controller zum Editieren
Titel von Ansprechpersonen in eigene Tabelle: DB-Upgrade und Rose
Anreden: Kunden-/Lieferantenstamm: Freitext-Feld und/oder Auswahlliste
Die Anrede wird entweder nur mit einer Auswahlliste angezeigt oder mitFreitext-Feld und Auswahlliste. Das ist annähernd das alte Verhalten - imFreitext-Feld eingegebener Text wird auch in greetings gespeichert....
Anreden: SimpleSettings-Controller zum Editieren
Anreden in eigene Tabelle: DB-Upgrade und Rose
FlattenToForm: natural_person mit übernehmen
Kunden/-Lieferantenstamm: Flag "natürliche Person": DB-Upgrade + Rose
Bei Sortimenten Sortimentsartikel nach 'position' sortieren
Bisher wurde die Spalte 'position' in der Tabelle assortment_itemsignoriert.
Mahnungen: Optionales Feld Rechnungen ausdrucken für Mahnungs-Konfiguration
ZUGFeRD: Bankkonten: Standardwert »use_for_zugferd« auf FALSE gesetzt
ZUGFeRD: UStID-Nummern validieren und normalisiert ausgeben
Kunden/Lieferanten: UStID-Nummern beim Speichern validieren
ZUGFeRD: Zahlungsinfos ergänzt: Kontonummer, Typ=Einzug/Überweisung
ZUGFeRD: Einstellung bzgl. Erzeugung auch in Kundenstammdaten
ZUGFeRD: Kosmetik
ZUGFeRD: Zahlungsbedingungen: Skonto-Basis-Betrag mit ausgeben
ZUGFeRD: UStID des Kunden angeben, sofern bekannt
ZUGFeRD: Verkäufer-UStID ist über Validierung erzwungen vorhanden
ZUGFeRD: richtige Typencodes für Stornos
ZUGFeRD: Test-Modus über Mandantenkonfiguration konfigurierbar gemacht
ZUGFeRD: Feature über Mandantenkonfiguration abschaltbar
ZUGFeRD: Validierung diverser nötiger Parameter
ZUGFeRD: allgemeine Notizen für alle Rechnungen in Übersetzungen anlegen können
ZUGFeRD: Rechnungen mit ZUGFeRD-Daten erzeugen
PDF/A-Erzeugung: die XMP-Metadaten selber erzeugen
PDF-Erzeugung: Support fürs Erzeugen von PDF/A-konformen PDFs
Es gibt einen Rose-DB-Helfer `S:D:H:PDF_A`, der die erforderlicheStruktur für `SL::Template::LaTeX` (via`$form->{TEMPLATE_DRIVER_OPTIONS}->{pdf_a}`) erzeugt. Der Helfer istfür die üblichen Belegklassen (`S:D:{Order,DeliveryOrder,Invoice}`)...
Mandantenkonfiguration: Adress-Feld in einzelne Bestandteile aufgeteilt
Unterstützung für PostgreSQL 12 Teil 2
PostgreSQL 12 unterstützt OIDs nicht mehr. Daher die letzten Stellenumgestellt, an denen noch OIDs verwendet wurden.
Kundenspezifische Artikelpreise: Reihenfolge/sortorder berücksichtigen
S:D:Invoice: _post_add_acctrans: Keine Tranaktionen mit Summe == 0 speichern.
Das liefert einen Fehler beim DATEV-Export. Zudem filtert die Buchungsroutineder Rechnungsmaske diese Buchungen aus raus.
Bezieht sich auch auf #414Refs #414
S:D:Manager:ReconciliationLink: nicht initialisierter Wert: Warnungen vermeiden
Durch Tests getriggert, konkret: durch t/bank/bank_transactions.t
Presenter Mapping für Dialogbuchungen repariert
War bei Umstellung vergessen worden.
add_{ap|ar}_amount_row berücksichtigen gldate
Ansonsten konnte gldate in ar/ap und acc_trans abweichen, wenn gldateexplizit gesetzt war und nicht dem aktuellen Tag entsprach.
S:D:Invoice->new_from: Auftragsdatum aus Auftrag bei Erzeugen aus Lieferschein
GLTransaction - Dialogbuchungen per Rose erstellen
An einigen Stellen im Code werden Dialogbuchungen per Hand erstellt,inkl. Steuern, das soll hiermit vereinheitlicht und vereinfacht...
Jahresabschluß - YearEndTransactions neu implementiert
Der alte Jahresabschluß hatte eine Reihe von Schwächen, z.B. wurde nichtzwischen Bestands- und Erfolgskonten unterschieden, und es wurde auchkein Gewinn- oder Verlustvortrag gemacht. Der Anwender mußte selber...
AccountingPeriod - Methode an get_balance_starting_date übergeben
Für den Fall, daß man die Methode zur Ermittlung des Startdatums nichtaus der Mandantenkonfiguration nehmen möchte, sondern diese selbervorgeben, gibt es nun einen neuen Parameter, um die Methode selber zu...
balance_startdate_method_options nach AccountingPeriod Helper
verlagert, wird auch für YearEndTransactions benötigt.
CSV-Import-Bericht: beim Löschen nur verwaiste Profile löschen
Unter gewissen Umständen kann es passieren, dass es mehrere`csv_import_reports` mit derselben `profile_id` gibt. In so einem Falldarf nur dann versucht werden, die Einträge aus `csv_import_profiles`...
Rose: MetaSetups bzgl. Fließkommazahlen erneuert
bank_transaction_acc_trans: überflüssige Spalte »id« entfernt
Primärschlüssel sind zwei andere Spalten, und die Präsenz dieserNicht-Primärschlüssel-Spalte zusammen mit Typ »serial« macht Probleme,weil Rose kein Default für solche Spalten kennt.
SL::DB::Unit: Warnungen wegen nicht initialisierten Werten vermeiden
Durch Tests getriggert, konkret: durch t/wh/transfer.t
AttrSorted-Helfer: Warnungen wegen nicht initialisierten Werten vermeiden
Durch Tests getriggert, konkret: durch t/controllers/csvimport/parts.t
Rose-Models anhand des tatsächlichen Schemas aktualisiert
Task-Server auf unterschiedlichen Maschinen laufen lassen können
Jede Task-Server-Instanz und jeder Hintergrundjob haben nun ein neuesAttribute »node_id«. Darüber kann gesteuert werden, dass bestimmteJobs nur von einer bestimmten Instanz ausgeführt werden....
Neuer Workflow Lieferantenauftrag->Kreditorenbuchung
Für jedes Aufwandskonto der Positionen im Lieferantenauftrag wird eineZeile in der Kreditorenbuchung erstellt. Gebucht wird standardmäßigauf des entsprechende Aufwandskonto. In der Mandantenkonfiguration...
Payment Helper - POD repariert
Neuer index auf inventory über itime und parts_id
Part Controller - neuer Tab mit Lagerinformationen
SL::DB::Part - get_simple_stock_sql: Mengen pro Bin
und Summen über Lager und Gesamtmenge.
PriceRule Manager - selectall_ids -> selectcol_array_query
Spalte taxnumber aus Tabelle tax entfernt
tax.taxnumber war ein redundanter Eintrag, und entsprach dem Wert vonchart.accno aus tax.chart_id.
Z.B. in SKR04 hatte Steuerschlüssel 3 (Umsatzsteuer 19%) die taxnumber1776 und die chart_id 775 (chart mit id 775 ist das Konto 1776)....
Part: Filter-Specs für Kunden- und Lieferanten-Artikel.-Nr.
PTC: zur Margenberechnung die Nettozeilensumme nehmen.
So ist der Verhalten in den anderen (alten) Masken. Sonst ergeben sichunterschiedliche Werte in den verschiedenen Masken, wenn"Steuer im Preis inbegriffen" gewählt ist.
ungenutzte Spalte "ranking" aus Tabelle "payment_terms" entfernt
Überbleibsel aus uraltem Zahlungsbedingungsfeature
Mahnungs-Tabelle: Fremdschlüsselverknüpfung auf Rechnungstabelle
Merge branch 'f-bundled-perl-modules'
SL::DB::Cache nach SL::DB::Helper::Cache verschoben
Da es sich nicht um eine Mapping-Klasse einer Tabelle handelt, solltesie nicht direkt innerhalb von SL::DB liegen.
Module: Exception::Lite durch Exception::Class ersetzt
OrderItem-Manager: Sortierung: runningnumber gibt es nicht -> position
Module: gebundletes YAML durch dünnen Wrapper über YAML::XS & YAML ersetzt
Module: Rose::DBx::Cache::Anywhere durch eigene Variante ersetzt
Schnellsuche für Verkaufs- & Einkaufslieferscheine
Kontoauszug verbuchen: Neuen Skonto-Typ
Eingabe eines freien Skonto-Betrags in der Maske aktiv.Ferner Anzeigen des Skonto-Betrags bei with_skonto_pt, damitder Anwender besser visuell unterstützt wird.
Payment::pay_invoice um Zahlungsbedingung freies Skonto erweitert
POD angepasst. Falls der Zahlungstyp free_skonto und der Parameterskonto_amount übergeben wird, so wird dieser anstelle von einemberechneten Skonto-Betrag verbucht. Das Vorzeichen wird entsprechend...
Redundanten Template-Code in bank_transactions/invoices.html aufgeräumt
Payment Kosmetik/Konvention
POD aktualisiert. Pflicht-Parameter am Anfangder Methode prüfen
Kosmetik, Kommentar verbessert, toter Code entfernt
BankTransaction(closed_period) Prüft Valutadatum gegen closedto
Gibt 1 (wahr) zurück falls das Valutadatum der Bankbewegunginnerhalb einer geschloßenen Periode ist. Andernfalls 0.
POD, Test und 2 Stellen im Controller geändert.Offen: Payment-Helper, der sollte allerdings nichts über den Zustand...
Payment pay_invoice alle acc_trans_ids sammeln
Hintergrund. new_acc_trans wird mehrfach für verschiedeneFälle verwendet, entsprechend nach jeder Änderung einsammeln
BankTransactionAccTrans für ALL.pm
BankTransaction new method not_assigned_amount
returns the current open amount of this bank transaction.Added to POD
Payment-Helper pay_invoice um Rückgabewert der acc_trans_ids erweitert
Neue Helper-Tabelle SL/DB/BankTransactionAccTrans.pm
Hintergrund: Verbuchte Bankbewegungen sind nur übereinen löschbaren RecordLink aktuell zuordenbar.Das macht ein verlässliche Aussage über die Verbuchungender Bankbewegung schwierig. Besser wäre es eine...
SL::DB::Invoice(closed) POD korrigiert s.a. #368
Ggf. die Routine ganz entfernen oder zumindestens fürGutschriften wie in 368 beschrieben patchen
SL::DB::BankTransactions(linked_invoices): Returns an array of record objects
Anstatt nur die Namen der Belege werden jetzt die Beleg-Objektezurückgegeben. Einziger Aufruf der Methode beim ReportGenerator inController::BankTransactions. Die Stelle entsprechend angepasst
PTC: Sortierung von items beachten bei Rechnungen die nachträglich geändert wurden
(cherry picked from commit eacfe1d260a6f9d4c12aa508b2c4d4cc018508c8)
Preisregeln: Präzedenzbug bei Mengenregel behoben
Durch eine fehlende Klammerung konnten Mengenregeln zufällig nichtgreifen.
(cherry picked from commit f1cf2062a7df1877e931f5655afe899e0dacb649)
Berechtigung, Verkaufsrechnungen persönlich zugeordneter Projekte einzusehen
Man kann nun Mitarbeiter*innen zu Projekten zuordnen, indem man sie inden Projektstammdaten hinzufügt.
Ist eine Mitarbeiter*in zu einem Projekt zugeordnet, so darf sie alleRechnungen ansehen, die über die Projektnummer der Rechnung (nicht der...
Ergebnis von SL::DB::Manager::Employee->current cachen