G. Richardson [Wed, 28 Jan 2015 16:41:08 +0000 (17:41 +0100)]
get_lists: salesman-case analog zu employee case
mit Commit ca18e0478035f63 ging die Verkäuferauswahl im Verkaufsbericht
kaputt, da durch den all_salesmen-Parameter der param-Wert ALL_EMPLOYEES
nicht benutzt wurde, und die Verkäufer deshalb in all_salesmen statt in
ALL_EMPLOYEES im Template standen.
Um im Verkaufsbericht auch gelöschte Verkäufer zur Auswahl anzuzeigen:
'salesmen' => { "key" => "ALL_SALESMEN", "deleted" => 1 }
Jan Büren [Wed, 28 Jan 2015 16:21:49 +0000 (17:21 +0100)]
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 Stelle
eingebaut (ohne map).
Ferner die Verknüpfung der Belege in eine Schleife gesetzt.
Bernd Bleßmann [Tue, 27 Jan 2015 14:05:59 +0000 (15:05 +0100)]
Rechnungen: Nicht editierbare CVars nicht rendern, aber richtig speichern bzw. drucken.
Die Änderung für Rechnungen (u. Gutschriften) fehlte noch im commit 6b4a71ff376e8337b708127f9f6c63c1d70d0af3
(Nicht editierbare CVars nicht rendern, aber richtig speichern und drucken.)
Jan Büren [Mon, 26 Jan 2015 13:08:31 +0000 (14:08 +0100)]
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
Jan Büren [Mon, 26 Jan 2015 12:39:41 +0000 (13:39 +0100)]
deliver_order_items_id mit inventory verknüpft
Falls Lieferscheine Warenbewegungen auslösen, sind jetzt auch die
einzelnen Position "rückverfolgbar" und nicht nur der Beleg.
Entsprechende Fremdschlüssel gesetzt
Jan Büren [Sat, 24 Jan 2015 18:01:18 +0000 (19:01 +0100)]
Weitere Positionen verknüpft II
Gutschrift und Rückwartsverknüpfungen umgesetzt. Ferner für
OE.pm und IS.pm den Aufruf von RecordLinks in eine foreach
Schleife gesetzt (einfachere Codewartung).
Kleinigkeiten die mir hier nicht gefällt: converted_from_quotation,
die Variable ist jetzt noch drin und macht "nicht so viel Sinn",
da orderitems nicht zwischen Angebot und Auftrag (oe) unterscheidet.
Ansonsten ist die Positionsverknüpfung z.Z. genauer als die Beleg-Verknüpfung (s.a. #29)
und der nächste Schritt hiefür wäre die Visualisierung an der Oberfläche
G. Richardson [Thu, 22 Jan 2015 16:51:23 +0000 (17:51 +0100)]
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ür
stand die trans_id in what_done, was die Historiensuche aber nicht
auswerten kann.
Das ergab Einträge in history_erp wie:
id | trans_id | addition | what_done | snumbers
-----+----------+----------+-----------------------+------------
1077 | 100 | SAVED | Buchungsnummer = 100 | ordnumber_
Jetzt wird that ordnumber gl_transaction verwendet.
Für Dialogbuchungen ist in der Historen Suchmaschine nun der Eintrag
"Buchungsnummer" zuständig, bisher wurde dieser für Aufträge verwendet.
Es wird auch wirklich die Buchungsnummer für die Suche verwendet (Spalte
id in gl = trans_id).
Für Angebote und Aufträge werden nun die neuen Felder "Angebotsnummer"
und "Auftragsnummer" verwendet, hier muß man auch nach der Belegnummer
(ordnumber/quonumber), nicht der trans_id, suchen, wie bei den
Rechnungen.
Prinzipiell müßte man die alten Protokollierungen von Dialogbuchungen
rekonstruieren können und auch nachträglich per Skript zumindest
teilweise umwandeln können. Da das aber wahrscheinlich schon immer
kaputt war und scheinbar noch Niemanden ernsthaft gestört hat fängt die
"saubere" Protokollierung von Dialogbuchungen eben mit diesem Update an.
Jan Büren [Thu, 22 Jan 2015 12:01:18 +0000 (13:01 +0100)]
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
- delete_invoice erweitert, sodass hier invoice gelöscht wird
- ferner code von IS.pm nach IR.pm portiert (queries in array)
- use_as_new invoice_ids löschen
- ferner bei storno invoice_ids löschen und ...
- bei Verkaufsrechnung Gutschrift
Ferner Kommentare (IR.pm) eingerückt
tests:
Verkaufsrechnung:
gesamten beleg löschen i.O.
update i.O.
als neu speichern i.O.
mittlere position löschen i.O.
Storno i.O.
Gutschrift i.O.
Einkaufsrechnung:
als neu speichern i.O.
Zahlung buchen i.O.
mittlere position löschen i.O.
gesamten beleg löschen i.O.
Storno i.O.
keine Gutschrift möglich
Jan Büren [Thu, 22 Jan 2015 10:58:52 +0000 (11:58 +0100)]
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).
Entsprechend konsequent orderitems_id aus den generellen hidden für rows entfernt,
somit entfällt das Löschen der orderitems_id für Konvertierung von oe -> do|invoice
G. Richardson [Wed, 21 Jan 2015 10:37:14 +0000 (11:37 +0100)]
Partpicker - displayable_name eingeführt und column entfernt
Der Partpicker zeigt jetzt im Autocomplete und bei ausgewählten Artikeln
die Artikelnummer und die Artikelbeschreibung an.
Das Feature column im Partpicker wurde entfernt. Ursprünglich war die
Idee, unterschiedliche Datenbankfelder (als Alternative zu description)
anzeigen zu können, jetzt wird aber einfach durchgängig displayable_name
verwendet.
Bernd Bleßmann [Tue, 20 Jan 2015 23:01:36 +0000 (00:01 +0100)]
Nicht editierbare CVars nicht rendern, aber richtig speichern und drucken.
Dazu werden die Werte dieser Variablen aus der DB gelesen, nämlich:
- aus custom_variables zu den Stammdaten, wenn die Artikelzeile neu
hinzugekommen ist
- aus custom_variables zur Artikelzeile, wenn die Zeile schon im Beleg
gespeichert war
Hier für Angebote/Aufträge und Lieferscheine.
Todo:
- Für Rechnungen muss das noch gemacht werden (wenn dort die item-ids persistent
sind).
- Gruppieren nach Warengruppen im Ausdruck muss getestet werden, aber das geht im
Moment ohnehin nicht.
Siehe auch Ticket 1836 (trac.kivitendo.de) bzw. 4 und 25 (redmine.kivitendo-premium.de)
G. Richardson [Tue, 20 Jan 2015 15:35:06 +0000 (16:35 +0100)]
Customer-autocomplete js im Presenter laden
Im Gegensatz zu den Stellen in oe/do/ir/is (siehe Commit 65b7c724e)
reicht es beim Bearbeiten von BDVs in den Stammdaten aus, den
Autocomplete Code im Presenter zu laden, so wie dies auch beim
PartPicker und Chartpicker gemacht wird.
G. Richardson [Tue, 20 Jan 2015 15:21:20 +0000 (16:21 +0100)]
Lieferanten im Autocomplete von Pickern korrekt behandeln
bei Customer funktionierte es, Code an Customer angepasst.
SL::DB::CustomVariables::value_as_text hat keine Text zurückgegeben, das
gab Fehler im Autocomplete, wenn eine Objekt in der Auswahl war, welches
einen definierten Lieferanten hatte:
encountered object 'SL::DB::Vendor=HASH(0x5c8bef0)', but neither
allow_blessed enabled nor TO_JSON method available on it at
/usr/share/perl5/JSON.pm line 154.
Bernd Bleßmann [Mon, 19 Jan 2015 09:51:02 +0000 (10:51 +0100)]
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
G. Richardson [Tue, 13 Jan 2015 21:55:59 +0000 (22:55 +0100)]
Mandantenkonfiguration: Standardkonten als Chartpicker
Statt Dropdown werden die Standardkonten nun per Chartpicker ausgewählt.
Die Kontenlogik welche Konten als Standardkonten vorgeschlagen werden
steckt jetzt im Template in der Konfiguration des Chartpickers, nicht
mehr im ClientConfig Controller.
G. Richardson [Tue, 13 Jan 2015 21:47:27 +0000 (22:47 +0100)]
Neues Feature: Chartpicker
Praktisch komplett analog zum Partpicker, danke Sven für die
Pionierleistung!
Es gibt natürlich ein paar Unterschiede bei den Filteroptionen, z.B.
kann man im Popup nur bebuchte Konten anzeigen lassen, oder die
Ergebnisliste nach der Kontenart einschränken. Es wird auch immer nur
eine Konto pro Spalte angezeigt, auch im Block Modus.
Hat der Benutzer FiBu-Rechte wird auch der aktuelle Kontensaldo
angezeigt. Hierfür wurden ein paar neue Methoden für Chart hinzugefügt.
Jan Büren [Tue, 6 Jan 2015 08:54:36 +0000 (09:54 +0100)]
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)
Stichproben:
Verkaufs-LS als neu speichern i.O.
Einkaufs-LS mittlere Position löschen (mit und ohne dois) i.O.
Einkaufs-LS E-Mail-Knopf statt Speichern i.O.
Einkaufs-LS Rechnung (keine hiddens doi!) i.O.
Einkaufs-LS mit dois Löschen i.O. (keine verwaisten doi oder dois)
Jan Büren [Mon, 5 Jan 2015 12:54:43 +0000 (13:54 +0100)]
Persistente delivery_order_items_(stocK)_id
id in tabelle delivery_order_items und
id in tabelle delivery_order_items_stock persistent gemacht.
Testszenarien:
delivery_order_items:
Einkauf / Verkauf-LS -> als neu speichern. => i.O.
Einlagern => i.O.
Mittlere Position löschen => i.O.
delivery_order_items_stock:
Mittlere Position löschen => n.i.O.
als neu Speichern => i.O.
Einlagern => i.O. (Lieferschein kann standardmässig nicht mehr verändert werden)