Sammelcommit Bankerweiterung und Skonto
Überarbeitung der Bankerweiterung vom Stand Niclas, und Einführung vonBezahlung mit Skonto (alter payment Branch). Mehr Details siehechangelog.
Bankerweiterung - Zwischenstand, erster Entwurf
Erstellung von Tabelle bank_transactions
Import von Bankbewegungen (in Tabelle bank_transactions)
Menu-Eintrag war noch nicht commitet
Controller für die Bank-Transaktionen
Dialog hin- und her
Achtung: noch mit Debug-Statements!...
Bankkonten auf Controller umgestellt
Außerdem wurde neue Datenbankspalten eingeführt: obsolete, sortkey
In Vorbereitung auf den Kontenabgleich wurden zwei neue Spalteneingeführt:reconciliation_starting_balancereconciliation_starting_date
Damit kann man einstellen, ab welchem Datum der Kontenabgleich für das...
trailing whitespaces entfernt
PriceSource: versteckte Preise in Lieferscheinen
Beim Anlegen von Lieferscheinen wird jetzt auch der Preis kurz verstecktermittelt und mitgespeichert, damit beim Umwandeln in Rechnungen keineÜberraschungen passieren.
PriceRule: Inline Report JS ausgelagert
Hatte sich mit dem SalesPriceInformation Javascript verheddert, welchesauch mal ausgelagert werden solle.
login nicht aus $::form nehmen. Teil 1
Brieffunktion erste Version
Verkaufsbriefe können jetzt auch mit LaTeX erstellt werden.Ferner gibt es eine Briefentwurfs-Funktion, die aussieht wie drafts, aberzumindestens auf einer eigenen Tabelle beruht. Zusätzlich wurden zwei neue Rechtegesetzt
Standardlagerverfahren Kommentar setzen / übernehmen
Beim Standardauslagern wurde bisher nicht der Kommentar übernommen, derseit Anfang dieser Funktion in do.pl gesetzt wurde. Ferner die Beschreibungin der Mandantenkonfiguration etwas besser gesetzt, bzw. beschrieben.
Auslagern in VK-Rechnung: Mandantenkonfiguration vollständig berücksichtigen …
und Fehlerbehandlung verbessert.
Auslagern in VK-Rechnung: Löschen der Lagerbewegung beim Löschen/Storno der Rechnung
Auslagern in VK-Rechnung: Beim Buchen einer VK-Rechnung wird ausgelagert.
Todo: Es werden noch nicht alle Einstellungen berücksichtigt, die bestimmen,wann von welchem Lager/Lagerplatz ausgelagert wird.
Spalte »nicht gelieferte Menge« in Aufträgen optional anzeigen
Wiederkehrende Rechnungen: Auftragswerts-Periodizität setzen können
Noch keine Anpassung der eigentlichen Berechnung. Wohl aberDokumentation von SL::DB::PeriodicInvoicesConfig.
Einkauf/Verkauf: Bemerkungsfeld mit HTML-Editor ausgestattet
Ticket #3 - 2478 Preis bei Erzeugnissen
Doppeltes Parsen von sellprice beim Erneuern von Erzeugnissenverhindern.
Ticket #42 - Nachkommastellen in Menge bei Erzeugniskomponenten
Danke an Joachim Zach für einen Patch, ich habe bei der Gelegenheit auchnoch ein paar Codestellen kommentiert. Das Verhalten von item_selectedbzgl. parse/format_amount unterscheidet sich mittlerweile je nachdem, ob...
Patch für Bug 40, base_unit Umrechnung in VK-Bericht
Patch getestet in Datenbank mit unterschiedlichen Einheiten undPreisfaktoren.
Möglichkeit zum Testen:
Summe VK-Betrag des Verkaufsberichts sollte gleich sein der Summe Betragvon Verkauf->Berichte->Rechnungen, wenn man die Debitorenbuchungen...
Nicht-editierbare CVars bei neuem Auftrag aus Mehrfachauswahl richtig übernehemen.
Mehrauswahl im Auftragsbericht.
Nicht-editierbare CVars bei "als neu speichern/verwenden" richtig setzen.
history_erp : Unterscheidung von id und glid
behebt #2493
Es gibt in der Datenbank zwei Sequenzen, mit der die ids vonDatenbankeinträgen gespeichert werden, und die die Historiensuchebetreffen: glid: ar,ap,gl id: delivery_orders parts oe customer vendor...
history_erp Eintrag für Verkaufsrechnung, die storniert wird
Debitorenbuchungsstornos in history_erp
richtig protokollieren, mit invnumber statt ordnumber
PriceSource: Bei item_selected Preisequellen nur in Belegen pollen.
Konfigurierbares Angebotsgültigkeits-Intervall: Arbeitstagsprüfung nach Addieren
Die Funktionsweise wurde so geändert, dass zuerst der hier angegebeneWert (oder 1, wenn kein Wert angegeben) zum aktuellen Datum addiertwird. Danach wird auf Wochenende geprüft und auf den nächsten Werktag...
Stammdaten -> Berichte -> Kunden: Nach Standardverkäufer filtern können.
Ticket 29 Verknüpfte Belege -> keine Verknüpfung von Rechnung nach Auftrag
Verknüpfung von Rechnung nach Angebot, sowie Auftrag nach Angebot umgesetzt.Ferner ein einfaches delete $form->{variable_die_resettet_wird} foreach an dieser Stelleeingebaut (ohne map)....
Aufräumarbeiten verknüpfte Positionen
- converted_from_quotation_orderitems_id entfernt, da es keine tabelle quotation_orderitems gibt und die variable langfristig nur verwirrend in der form ist. - IR.pm auch auf foreach $table_name umgestellt
Weitere Positionen verknüpft II
Gutschrift und Rückwartsverknüpfungen umgesetzt. Ferner fürOE.pm und IS.pm den Aufruf von RecordLinks in eine foreachSchleife gesetzt (einfachere Codewartung).Kleinigkeiten die mir hier nicht gefällt: converted_from_quotation,...
Weitere Positionen verknüpft
Alle Workflows von Angebot bis Rechnung im Einkauf und Verkauf umgesetzt
Offen: Gutschrift und Rückwartsverknüpfungen
Positionen verknüpfen Auftrag -> Lieferschein
- from_table -> to_table (tabelleneintrag) i.O. - delete trigger i.O. - mittlere position löschen (vor speichern) i.O. - update sicher in form i.O....
Merge branch 'master' of github.com:kivitendo/kivitendo-erp
Dialogbuchung - Buchen, Storno und Löschen protokollieren
Bisher wurden Dialogbuchungen in der history_erp mit der snumber"ordnumber" gespeichert, wobei allerdings die trans_id fehlte. Dafürstand die trans_id in what_done, was die Historiensuche aber nicht...
Angebots-Position mit Auftragsposition verknüpft (orderitems -> orderitems)
Angebot -> Workflow Auftrag
- from_table -> to_table (tabelleneintrag) i.O. - delete trigger i.O. - mittlere position löschen (vor speichern) i.O....
persistente ids für invoice (items)
analog zu do, oe auch die verknüpften items für rechnungen persistent machen. - invoice_id retrieve_invoice in array übernehmen - invoice_pos entfernt (war ggf. vor 2006 ähnlich vorgesehen) - reverse_invoice gekürzt, sodass hier keine invoice gelöscht werden...
display_row item_ids je nach beleg hinzufügen
zusätzlich is_quotation und is_invoice als status hinzugefügt.je nach status entsprechend beleg-id (orderitems, delivery_order_items, invoice)hinzugefügt und den vorgänger (converted_from_(do|oe|quo|)_items_id)....
Benutzerdefinierte Variable: Parts als Partpicker
noch vorhandene L.part_select nach L.part_picker geändert.Analog wie für CustomerVendor-Picker (siehe Commit 65b7c724e)
PriceRule: Klassenauflösung für items von Gutschriften hinzugefügt.
Beim Übergang Angebot/Auftrag auf Lieferschein/Rechnung orderitems_id_x löschen.
customer_vendor_picker bei CVars und Summen- und Saldenliste
- nicht mehr vorhandenen customer_picker durch customer_vendor_picker ersetzt- vendor_selector durch customer_vendor_picker ersetzt- autocomplete_customer.js laden
PriceSource: und noch ein typo
PriceSource: Bessere Behandlung von Boolean Werten
PriceRule: Klassenauflösung bei Einkaufsaufträgen gefixt
delivery_order_items_stock persistent machen Teil 3
Testfall (Einkauf-Lieferschein): Update drücken (alles wird erneuert) => i.O. (alle ids werden gelöscht) Position löschen mit schon ausgewählten stock_items => i.O. (keine verwaisten dois)...
Persistente delivery_order_items_(stocK)_id
id in tabelle delivery_order_items undid in tabelle delivery_order_items_stock persistent gemacht.
Testszenarien:
delivery_order_items:Einkauf / Verkauf-LS -> als neu speichern. => i.O.Einlagern => i.O....
Lieferscheine benötigen auch Preisquellen -> customervendor Funktion auch für Lieferscheine -> Typ Kunde oder Lieferant (is_customer) entsprechend analog
Einkaufs-/Verkaufsmasken: Projekt-Drop-Down-Boxen sortieren
PriceSource: Spalte vor Preis und Rabatt anzeigen.
PriceSource: Keine Fehler werfen wenn best_price nicht existiert
PriceSource: Rabattbehandlung
PriceSource: Einkaufsrechnungen brauchen einen Typ
PriceSource: Nur den Namen des Moduls anzeigen, nicht den vollen Namen
PriceSource: Bei Lieferscheinen best_price nicht nachrechnen
PriceSource: numerische felder in record_item korrekt parsen
PriceSource: Gutschriften berücksichtigen
PriceSource: Preisselektion auf Popup umgestellt.
- Logik für geänderte Preise implementiert- Visualisierung verbessert- fix für emptied rows- nachricht wenn invalid und missing- benachrichtigung für höher/niedriger- js ausgelagert- best price benachrichtigung...
PriceSource: Featureabdeckung
- Einkaufs/Verkauf abgedeckt- Klarere Regeln für price_from_source, available_prices und best_price- makemodels unterstützung- bugfixes für Rechnungen und neue Belege- best_price jetzt getestet- Verkäuferabhängigkeit von makemodels und pricegroup implementiert und getestet
PriceSource: Mehr Informationen an Preise übergeben
record + record_item verfügbar gemachtbest_price für pricegroupsPrice: spec/source entzerrt
PriceSource: Erste Version
- Preisgruppen und Stammdaten sind implementiert- Persistenz in allen Belegen funktioniert- Rudimentäre Visualisierung funktioniert- Klassen sind alle da
- Doku fehlt- Verkauf/Einkaufweiche fehlt- best_price ungetestet- Preisgruppen hängen noch nicht von Verkäufer ab...
orderitems persistent teil IIIIMMER die orderitems_id in sub poso löschen, nicht nur inder if-bedingungAngebot -> Auftrag i.O.Auftrag - > Angebot i.O.Kundenauftrag -> Lieferantenauftrag i.O.
Löschen von Angeboten/Aufträgen protokollieren
Berücksichtigt jetzt auch Angebote in history_erp.
redundante actions / orderitems delete in oe.pl gelöscht
nur einmal in sub poso alle orderitems_id löschen. ferner doppeltedispatch actions entfernt
orderitems persistent machen.bei vorlage als und position löschen entsprechend die ids löschen, sodassdiese beim speichern des neuen beleges, bzw. beim neu erstellen der positionenerzeugt werden.Folgende Szenarien geprüft:Von Angebot:-> erneuern i.O....
RecordLinks: credit_notes verlinken, und Typ von Rechnungen anzeigen
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>...
Stylesheets: Aufräumaktion
- gemeinsame stylesheets aus den kivitendo/lx-office-erp Verzeichnissen genommen- README aktualisiert- rp/bwa nicht mehr hartcodiert in kivitendo laden
Nicht mehr gepflegtes Stylesheet Mobile entfernen
kann wieder aufgenommen werden wenn es weitergepflegt wird
Einkaufsrechnungen: closedto beachten
Freitagabendcommit Fixes
Gloable BCC Adresse
Belege: Filtern nach Ansprechpartner
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)....
Doppelte if-Abfrage entfernt
zum Commit von gerade: unnötig zweimal auf $qty zu prüfen
Verbesserung Standardauslagern für den Fall Dienstleistung ist nicht lagerbar
Kein undef an SL/DO.pm übergeben, sondern die richtigen Position zumEinlagern durch eine "schlauere" Schleife machen.Falls eine Position die NICHT ein-, bzw. ausgelagert werden soll, schon...
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,...
Rundung bei Debitorenbuchung, Kreditorenbuchung und Dialogbuchung
Zwei neue Hilfsfunktionen für Form eingeführt die von ap/ar/gl genutztwerden:
lexical in postif fix
falls my deklariert ist, nicht danach mit if prüfens.a. chat:<gorash> grund warum das ekelig ist: das wird intern übersetzt in if (cond) { my $var = ... }
Transportkosten-Erinnerungs-Artikel auf ID anstatt partnumber umgestellt Teil II
Vergessene modifies für Commit von gerade hinzugefügt
Schnelllöschen einzelner Positionen per X
Einzelnen Positionen können jetzt "schneller" mit einem Klickgelöscht werden. Dies ist vor allen bei vielen Positionen sinnvoll.
Besseres return (keine subtilen Bugs)
return undef entfernt.
Erinnerung für Transport- oder Versandkostenartikel bei Angebot / Auftrag implementiertErweiterung: Mandantenkonfiguration um einen Standardartikel der auf Vorhandenseinüberprüft wird (oe). Falls nicht wird eine entsprechende Warnung ausgegeben.Verbesserungsmöglichkei 1: Artikelnummer per partpicker auswählen...
Konfigurierbares Angebotsgültigkeits-Intervall hinzugefügtStandardmässig ist ein Verkaufsangebot bis zum nächsten Werktag gültig.Dieses Intervall wird dann noch hinzugerechnet, bspw. nächster Werktag plus 14, 28 etc.Falls das Intervall nicht gesetzt oder wir nicht den Typ sales_quotation haben, passiert nichts....
Beschriftung geändert: Lieferschein erstellt -> Lieferscheine(e) in kompletter Menge erstelltBetrifft Status delivered in oe, dieser wird erst gesetzt wenn die Liefermenge komplett erreichtist. Somit ist Lieferschein erstellt, eine bessere Bezeichnung für "geliefert" (da ja...
all_parts um Namensoption des Kunden oder Lieferanten erweitertDer Name wurde im Backend IC.pm schon richtig übergeben, es scheintaber, dass dieser dann nicht mehr als Option angehakt war.Entsprechend auch eine Flash-Warnung auch ausgegeben, falls überhaupt...
Benutzerdef. Variablen in Belegen als Tabelle rendern ...
falsches Tabellen-Layout bei nicht editierbaren Variablen korrigiert.
Zu commit 25b855157fa65535683b458c1ca2dd0c3636b788Benutzerdef. Variablen in Belegen als Tabelle rendern ...
Bei Kundenauftrag > Lieferantenauftrag Zahlungs und Lieferbedingungen löschenZahlungs- und Lieferbedingungen aus dem Kundenauftrag zu übernehmen machti.d.R. keinen Sinn, da diese ja vom Lieferanten definiert werden.S.a. Ticket 1 in Redmine und fixes #1
Warengruppen-Filter f. CVars bei Waren
cherry-pick aus Kundenprojekt und Anpassungen an unstable (hauptsächlichUmstellung auf Controller)
Conflicts:
SL/CVar.pm SL/DB/CustomVariableConfig.pm bin/mozilla/amcvar.pl bin/mozilla/io.pl...
Spaltenzahl f. benutzerdef. Variablen in Belegen in Benutzereinstellungen ...
.. angeben können. Default ist 3.
... im Moment mit fester Spaltenzahl.
Steuerzonen ungültig machen
jede Steuerzone kann man unter "System->Steuerzonen->auf Steuerzone klicken" individuell auf ungültig (obsolete) setzen.
ungültig heißt:
Steuerzonen und Buchungsgruppen bearbeiten
Nachdem man Steuerzonen und Buchungsgruppen auf Datenbankebenebearbeiten kann, ist jetzt auch eine Bearbeitung an der Ober-fläche möglich.
Alter Code, der für die Anzeige/Bearbeitung/Erstellung vonBuchungsgruppen entwickelt wurde hat nicht mehr funktioniert...
Standardmässiges Ein- und Auslagern von Dienstleistungen per Mandantenkonfiguration eingestellt
Lieferadresse eingeben: Möglichkeit zum Kopieren aus Stammdaten
Im Dialog für die Eingabe einer individuellen Lieferanschrift gibt esnun die Möglichkeit, die Felder aus den Stammdaten desKunden/Lieferanten vorzubelegen. Dabei werden sowohl dieRechnungsadresse als auch alle Lieferadressen angeboten....
Einkauf/Verkauf: Lieferadressenfelder nie aus Stammdaten vorbelegen
Das neue Verhalten ist wie folgt:
- Weder die shipto_id (die Drop-Down-Box in den Belegmasken) noch die individuellen shipto*-Felder werden weder beim Neuanlegen eines Beleges noch bei Wechsel des Kunden aus den Datenbanken belegt....
Lieferantenauftrag → Kundenauftrag: Verkaufspreis als Einkaufspreis übernehmen
Der Preis, den ich beim Lieferanten zahlen musste (alte Maske:sellprice_N) ist dann im weiteren Verkaufsprozess derEinkaufspreis (neue Maske: lastcost_N).
Generische Unterstützung für CTI: Click-to-dial
Neuer Bericht »Liquiditätsvorschau«
Verkaufsbelege: optional nur Projekte des Kunden anbieten
Auch dieses Feature kann über die Mandantenkonfiguration eingeschaltetwerden.
Angebote: neue Felder Auftragswahrscheinlichkeit, Voraus. Abrechnungsdatum