Sven Schöling [Fri, 26 Sep 2014 13:58:34 +0000 (15:58 +0200)]
PriceRule: Bei Mengen statt "<", ">" die ">=" und "<=" anbieten.
Sven Schöling [Fri, 26 Sep 2014 13:39:18 +0000 (15:39 +0200)]
PriceRule: Name der Quelle auf Singular geändert
Sven Schöling [Fri, 26 Sep 2014 13:28:17 +0000 (15:28 +0200)]
PriceRule: filter reset sollte auch dropdowns resetten
Sven Schöling [Fri, 26 Sep 2014 13:27:38 +0000 (15:27 +0200)]
PriceRule: Überschriften mit Einkauf und Verkauf
Sven Schöling [Thu, 25 Sep 2014 16:30:05 +0000 (18:30 +0200)]
PriceRule: Priorität auf 2 Werte einschränken
Sven Schöling [Thu, 25 Sep 2014 15:48:47 +0000 (17:48 +0200)]
PriceRule: nach gültig/ungültig filtern
Sven Schöling [Thu, 25 Sep 2014 15:48:29 +0000 (17:48 +0200)]
PriceRule: gültig korrekt editierbar machen
Sven Schöling [Thu, 25 Sep 2014 15:48:04 +0000 (17:48 +0200)]
PriceRule: Waren auch im Einkauf zulassen.
Sven Schöling [Fri, 12 Sep 2014 15:59:32 +0000 (17:59 +0200)]
PriceRule: Nicht Fehler werfen wenn _garkeine_ Regel zutrifft
Sven Schöling [Fri, 12 Sep 2014 13:32:06 +0000 (15:32 +0200)]
PriceRule: Vergleiche waren falsch herum
Sven Schöling [Thu, 11 Sep 2014 16:25:25 +0000 (18:25 +0200)]
PriceRule: bessere Validierung und Lokalisierung
Sven Schöling [Thu, 11 Sep 2014 16:14:41 +0000 (18:14 +0200)]
PriceRule: Filter nach Ware implementiert
Sven Schöling [Thu, 11 Sep 2014 16:14:13 +0000 (18:14 +0200)]
PriceRule: Korrektes Matching von Nulls
Sven Schöling [Thu, 11 Sep 2014 16:12:16 +0000 (18:12 +0200)]
PriceRule: Löschen von Preisregeln
Sven Schöling [Thu, 11 Sep 2014 15:05:50 +0000 (17:05 +0200)]
PriceRule: Fehler vermeiden wenn noch keine Preisregeln angelegt sind.
Sven Schöling [Thu, 11 Sep 2014 15:02:04 +0000 (17:02 +0200)]
PriceRule: price_from_rule für Festpreise gefixt.
Sven Schöling [Thu, 31 Jul 2014 11:25:05 +0000 (13:25 +0200)]
PriceRule: Erste Version
Sven Schöling [Thu, 18 Dec 2014 10:47:42 +0000 (11:47 +0100)]
PriceSource: Spalte vor Preis und Rabatt anzeigen.
Sven Schöling [Fri, 5 Dec 2014 16:03:45 +0000 (17:03 +0100)]
PriceSource: record objekte im Einkauf korrekt bauen
Sven Schöling [Tue, 14 Oct 2014 16:55:30 +0000 (18:55 +0200)]
PriceSource: Keine Fehler werfen wenn best_price nicht existiert
Sven Schöling [Tue, 14 Oct 2014 15:51:53 +0000 (17:51 +0200)]
PriecSource: Numerische Vergleiche im Template stinken
Sven Schöling [Tue, 14 Oct 2014 13:45:01 +0000 (15:45 +0200)]
PriceSource: Rabattbehandlung
Sven Schöling [Tue, 14 Oct 2014 13:43:38 +0000 (15:43 +0200)]
PriceSource: Einkaufsrechnungen brauchen einen Typ
Sven Schöling [Tue, 14 Oct 2014 13:40:21 +0000 (15:40 +0200)]
PriceSource: credit_notes auch im Popup unterstützen
Sven Schöling [Wed, 1 Oct 2014 15:36:57 +0000 (17:36 +0200)]
PriceSource: Fehler, wenn noch keine Quellen disabled sind, behoben.
Sven Schöling [Wed, 1 Oct 2014 15:08:38 +0000 (17:08 +0200)]
PriceSource: Konfiguration
Sven Schöling [Fri, 26 Sep 2014 13:38:23 +0000 (15:38 +0200)]
PriceSource: Nur den Namen des Moduls anzeigen, nicht den vollen Namen
Sven Schöling [Thu, 11 Sep 2014 16:35:40 +0000 (18:35 +0200)]
PriceSource: 0,0000 Preise nicht als best_price erlauben
Auch wenn es im Einzelfall valide Preise sein können, sollte das
Standardverhalten keine Umsonstpreise vorschlagen.
Sven Schöling [Tue, 9 Sep 2014 09:31:18 +0000 (11:31 +0200)]
PriceSource: Bei Lieferscheinen best_price nicht nachrechnen
Sven Schöling [Fri, 5 Sep 2014 14:50:14 +0000 (16:50 +0200)]
PriceSource: numerische felder in record_item korrekt parsen
Sven Schöling [Tue, 5 Aug 2014 11:21:08 +0000 (13:21 +0200)]
PriceSource: Gutschriften berücksichtigen
Sven Schöling [Tue, 5 Aug 2014 11:18:34 +0000 (13:18 +0200)]
PriceSource: bei Rechnungen mitspeichern
Sven Schöling [Tue, 5 Aug 2014 10:57:04 +0000 (12:57 +0200)]
PriceSource: changelog
Sven Schöling [Tue, 29 Jul 2014 15:36:40 +0000 (17:36 +0200)]
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
noch offene bugs:
- preise mit mehr als 2 stellen werden abgeschnitten
- interaktive preise noch nicht möglich
- symbol für "besser preis" ist nicht schön
- beide make_record_item implementierungen sind leicht unterschiedlich
- pricesource controller grösstenteils ungetestet
- performance ist im moment mies
Sven Schöling [Mon, 28 Jul 2014 16:39:52 +0000 (18:39 +0200)]
PriceSource: db upgrade erst nach 3.1.0 einspielen
Sven Schöling [Mon, 28 Jul 2014 16:29:30 +0000 (18:29 +0200)]
PriceSource: depends_on entfernt
Sven Schöling [Mon, 28 Jul 2014 15:56:17 +0000 (17:56 +0200)]
PriceSource: Dokumentation
Sven Schöling [Mon, 28 Jul 2014 13:40:12 +0000 (15:40 +0200)]
PriceSource: pricegroup migration
Sven Schöling [Mon, 28 Jul 2014 13:29:45 +0000 (15:29 +0200)]
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
Sven Schöling [Mon, 28 Jul 2014 09:15:38 +0000 (11:15 +0200)]
PriceSource: Mehr Informationen an Preise übergeben
record + record_item verfügbar gemacht
best_price für pricegroups
Price: spec/source entzerrt
Sven Schöling [Fri, 25 Jul 2014 14:38:00 +0000 (16:38 +0200)]
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
- dependancy system fehlt
- verhalten bei fehlerhaften sources
- pricegroup -> active_source migration
Moritz Bunkus [Thu, 18 Dec 2014 15:11:42 +0000 (16:11 +0100)]
PriceTaxCalculator: Doku-Fix
G. Richardson [Thu, 18 Dec 2014 14:52:56 +0000 (15:52 +0100)]
Typos in Filtered Doku
G. Richardson [Mon, 15 Dec 2014 06:51:14 +0000 (07:51 +0100)]
Typos in LinkedRecords Dokumentation
Sven Schöling [Wed, 29 Oct 2014 10:14:42 +0000 (11:14 +0100)]
CSS: Klassen für interaktive text <a> mit javascript.
Sven Schöling [Fri, 5 Sep 2014 11:53:31 +0000 (13:53 +0200)]
DBUtils: selectall_ids
Sven Schöling [Mon, 8 Sep 2014 14:10:28 +0000 (16:10 +0200)]
displayable_name für business, partsgroup, pricegroup
Jan Büren [Thu, 18 Dec 2014 13:41:55 +0000 (14:41 +0100)]
PTC-Doku um API-Beispielsaufruf ergänzt
Jan Büren [Thu, 18 Dec 2014 13:39:55 +0000 (14:39 +0100)]
Verwaiste Einträge aus all entfernt
Aktuell werden diese zwei Übersetzungszeichenketten nicht mehr im
Programm verwendet.
Moritz Bunkus [Thu, 18 Dec 2014 12:04:05 +0000 (13:04 +0100)]
PriceTaxCalculator: für Items berechnete flüchtige Werte zurückgeben Teil 3
Die items können nicht als Hash-Referenz gespeichert werden, weil das
kaputt geht, wenn die Items noch nicht gespeichert wurden und damit noch
keine ID besitzen. Daher Umstellung auf Array-Speicherung.
Außerdem Anpassung des Testcases.
Moritz Bunkus [Tue, 16 Dec 2014 12:02:27 +0000 (13:02 +0100)]
PriceTaxCalculator: für Items berechnete flüchtige Werte zurückgeben Teil 2
Moritz Bunkus [Tue, 16 Dec 2014 11:03:46 +0000 (12:03 +0100)]
PriceTaxCalculator: für Items berechnete flüchtige Werte in %data zurückgeben
Sven Schöling [Mon, 15 Dec 2014 14:26:39 +0000 (15:26 +0100)]
Webdav: Typo
Jan Büren [Mon, 15 Dec 2014 08:17:10 +0000 (09:17 +0100)]
orderitems persistent teil III
IMMER die orderitems_id in sub poso löschen, nicht nur in
der if-bedingung
Angebot -> Auftrag i.O.
Auftrag - > Angebot i.O.
Kundenauftrag -> Lieferantenauftrag i.O.
Sven Schöling [Fri, 12 Dec 2014 16:20:32 +0000 (17:20 +0100)]
CsvImport: Makemodels auch auf instabilen Datenbanken in der richtigen Reihenfolge speichern
G. Richardson [Fri, 12 Dec 2014 11:12:42 +0000 (12:12 +0100)]
Löschen von Angeboten/Aufträgen protokollieren
Berücksichtigt jetzt auch Angebote in history_erp.
Sven Schöling [Thu, 11 Dec 2014 16:32:59 +0000 (17:32 +0100)]
Webdav: Framework um Dokumente im Webdav zu behandeln
Soll auf lange Sicht die Funktionen in Common ablösen.
G. Richardson [Thu, 11 Dec 2014 09:29:20 +0000 (10:29 +0100)]
SL/DB/Invoice->abbreviation prüft jetzt invoice_type
G. Richardson [Mon, 3 Nov 2014 22:57:55 +0000 (23:57 +0100)]
USTVA - Position 67 richtig berechnen
G. Richardson [Fri, 5 Dec 2014 07:42:25 +0000 (08:42 +0100)]
console - shortcut for purchase_invoice
Jan Büren [Tue, 9 Dec 2014 15:17:24 +0000 (16:17 +0100)]
redundante actions / orderitems delete in oe.pl gelöscht
nur einmal in sub poso alle orderitems_id löschen. ferner doppelte
dispatch actions entfernt
Jan Büren [Tue, 9 Dec 2014 15:09:36 +0000 (16:09 +0100)]
orderitems persistent machen.
bei vorlage als und position löschen entsprechend die ids löschen, sodass
diese beim speichern des neuen beleges, bzw. beim neu erstellen der positionen
erzeugt werden.
Folgende Szenarien geprüft:
Von Angebot:
-> erneuern i.O.
-> mittlere Position löschen i.O.
-> als neu speichern i.O.
-> Speichern, Löschen, neue Pos i.O.
-> Angebot -> Auftrag i.O.
Rücksprünge von:
-> Auftrag -> Angebot (quotation in io.pl!) i.O.
-> Lieferantenauftrag -> Verkaufsauftrag i.O.
-> Lieferantenauftrag -> Lieferantenanfrage i.O.
-> Verkaufs-Rechnung -> Auftrag (keine orderitems vorhanden) i.O.
Moritz Bunkus [Tue, 9 Dec 2014 09:46:44 +0000 (10:46 +0100)]
CustomerVendorPicker: ref($value) nur prüfen, wenn es tatsächlich ein Objekt ist
…und nicht schlicht die ID eines Objektes.
Moritz Bunkus [Mon, 8 Dec 2014 12:50:18 +0000 (13:50 +0100)]
SL::DB::{Invoice,DeliveryOrder}: Items mit neg. qty beim Wandeln optional weglassen
Sven Schöling [Fri, 5 Dec 2014 11:46:45 +0000 (12:46 +0100)]
Auth: nicht auskommentieren, sondern richtig dokumentieren
Sven Schöling [Fri, 5 Dec 2014 10:43:59 +0000 (11:43 +0100)]
RecordLinks: credit_notes verlinken, und Typ von Rechnungen anzeigen
Sven Schöling [Fri, 5 Dec 2014 10:42:42 +0000 (11:42 +0100)]
Layout: entfernte locales
Sven Schöling [Fri, 5 Dec 2014 10:16:46 +0000 (11:16 +0100)]
Auth - experimentell: $::auth dbh wieder cachen.
Sven Schöling [Thu, 4 Dec 2014 18:04:58 +0000 (19:04 +0100)]
Layout: Tests schlagen fehl, weil Top auf $::dispatcher zugreift
Sven Schöling [Thu, 4 Dec 2014 17:47:02 +0000 (18:47 +0100)]
Layout Aufräumaktion:
- Admin und V3 Menü entflochten. Benutzen jetzt beide das neue CssMenu
als sub_layout
- Top-Klone aus V3 und Javascript herausoperiert und als sub_layout
eingebunden
- Neues Layout AdminLogin für die Loginmaske im Adminbereich (d'oh)
- Inputfelder im frame_header kleiner gemacht, Frickelfox ignoriert mal
wieder css Vorgaben und inheritet font-size nicht.
- Beschreibung in Placeholder verschoben. Ja das ist html5. Benutz halt
nicht IE6.
- javascript für Ansprechpartnersuche gefixt und ausgelagert.
- Login, Classic und V3 sind top level Layouts und brauchen nicht
sub_layoutbar sein. Macht den Code einfacher.
G. Richardson [Thu, 4 Dec 2014 15:58:37 +0000 (16:58 +0100)]
LxERP.t8 ist kein filter.
analog zu Commit
445c84a3593
Jan Büren [Thu, 4 Dec 2014 15:48:32 +0000 (16:48 +0100)]
no lexical postif in DeliveryPlan.pm
test ausführen, nicht vergessen!!! @myself
G. Richardson [Thu, 4 Dec 2014 15:43:23 +0000 (16:43 +0100)]
HTML Templates für Buchungstab vergessen
Sven Schöling [Thu, 4 Dec 2014 15:36:30 +0000 (16:36 +0100)]
LxERP.t8 ist kein filter.
Moritz Bunkus [Thu, 4 Dec 2014 15:12:55 +0000 (16:12 +0100)]
Auth.pm: Rechte nur dann laden, wenn User & Client gesetzt sind
Seit
f6ed86e wird im Menü-Template-Code auf Rechte
getestet (AUTH.assert(…)). Im User-Bereich ist das kein Problem, weil
die Menü-Templates nur dann benutzt werden, wenn tatsächlich ein User
angemeldet ist.
Im Admin-Bereich allerdings wird ebenfalls Menü-Code verwendet,
allerdings gibt es in dem Moment weder einen Client noch einen User. Der
Auth-Code muss damit klarkommen und in dem Fall schlicht »nicht
berechtigt« zurückliefern.
Moritz Bunkus [Thu, 4 Dec 2014 15:12:20 +0000 (16:12 +0100)]
Auth.pm cosmetics: Entfernen von $::lxdebug->enter_sub/leave_sub
G. Richardson [Thu, 4 Dec 2014 14:11:24 +0000 (15:11 +0100)]
Tabreiter-Titel für Buchungsliste angepasst
damit der Übersetzungsparser damit zurechtkommt.
G. Richardson [Thu, 4 Dec 2014 13:51:23 +0000 (14:51 +0100)]
WebDAV Reiter - title als class statt h1
G. Richardson [Mon, 13 Oct 2014 14:29:12 +0000 (16:29 +0200)]
Buchungen in ar/ap/is/ir in eigenem Tabreiter anzeigen
Neuer Reiter "Buchungen", wo zu einer Rechnung/Buchung die Buchungen
laut acc_trans angezeigt werden.
In einer Tabelle "Buchungen" werden alle Buchungen laut acc_trans
angezeigt.
In einer Tabelle "Salden" werden die aktuellen Salden der bebuchten
Konten angezeigt, ausgeglichene Konten werden herausgefiltert.
Nicht für Dialogbuchungen umgesetzt.
Es wird auf das FiBu-Recht (general_ledger) geprüft, ansonsten wird der
Reiter nicht angezeigt
G. Richardson [Thu, 4 Dec 2014 12:47:47 +0000 (13:47 +0100)]
Typos in Doku/perlpod
G. Richardson [Mon, 3 Nov 2014 22:52:02 +0000 (23:52 +0100)]
Datum Schnelleingabe - changelog Eintrag
G. Richardson [Tue, 21 Oct 2014 00:19:31 +0000 (02:19 +0200)]
setTimeOut für schnelle Datumseinsgabe bei set_duedate
Die jquery-Abfrage des Datumsfeldes in set_duedate (Fälligkeitsdatum)
wird mit setTimeOut erst nach Ersetzen des Datums per schneller
Datumseingabe durchführen
G. Richardson [Tue, 21 Oct 2014 00:07:07 +0000 (02:07 +0200)]
Schnelle Datumseingabe ohne Trenner
Buchhalter sind es gewohnt, das Datum im Nummernblock ohne Punkte
eingeben zu können, z.B. wird aus
01122014 -> 01.12.2014
Mit diesem Patch wird im Datumsfeld noch vor der Prüfung auf ein gültiges
Datumsformat per Javascript geprüft, ob
* die Eingabe nur aus Zahlen besteht
* das Datumsformat dd.mm.yy, dd-mm-yy oder mm-dd-yy ist
Trifft dies zu, werden am Beispiel für den Fall dd.mm.yy folgende
Umwandlungen durchgeführt:
8 Zahlen:
31122014 -> 31.12.2014
6 Zahlen: 311214 -> 31.12.2014
4 Zahlen: 3112 -> 31.12.2014 aktuelles Jahr wird angenommen
1-2 Zahlen: 12 -> 31.10.2014 aktueller Monat wird angenommen
7 -> 07.10.2014 aktueller Monat wird angenommen
Nach der Umwandlung findet wie bisher eine (simple) Plausibilitätsprüfung des
Datums per Javascript statt. Sollte das Datumsfeld andere Datumsfelder
beeinflussen, wie z.B. das Rechnungsdatum das Fälligkeitsdatum im Ein-
und Verkauf durch ein onChange, muß hier eventuell mit einem setTimeOut
gearbeitet werden, da ansonsten der Wert vor der Umwandlung genommen
wird.
G. Richardson [Fri, 4 Apr 2014 11:09:26 +0000 (13:09 +0200)]
FiBu Schellsuche in Headerzeile
neues Ajax Autocompletefeld im Header für Benutzer mit FiBu-Rechten,
welches Rechnungsnummern und Kunden-/Lieferantennamen durchsucht. Durch
die Auswahl im Dropdown gelangt man direkt zu dem Beleg.
Sven Schöling [Thu, 27 Aug 2009 10:54:05 +0000 (12:54 +0200)]
Löschen von orderitems beim speichern von OE korrigiert.
Jan Büren [Wed, 3 Dec 2014 19:15:18 +0000 (20:15 +0100)]
Lieferplan: all_businesses in init-methode ausgelagert
<gorash> kurzes feedback zum lieferplan:
<gorash> in der action alle business laden: der ganze punkt an den init_* sachen ist, dass mand as laden von nötigen daten aus der action rauskriegt
Moritz Bunkus [Wed, 3 Dec 2014 11:25:57 +0000 (12:25 +0100)]
Benutzerdefinierte Variablen via Trigger löschen Bugfix 2
Die Triggerfunktion selber sollte aus Performancegründen nicht »DELETE …
WHERE … IN (SELECT…)« nutzen, da dies bei PostgreSQL sehr langsam ist.
Moritz Bunkus [Fri, 28 Nov 2014 11:53:46 +0000 (12:53 +0100)]
CVars-Lösch-Queries deutlich effizienter gestaltet
PostgreSQL kann Queries à la »DELETE … WHERE … IN (SELECT…)« nicht gut
optimieren und erzeugt dafür exponentielle Laufzeit. Viel schneller ist,
eine Vorselektierung mit normalen JOINs zu nutzen und nachher beim
DELETE ein WHERE EXIST (…) mit Bezug auf die zu löschende Tabelle
einzusetzen.
Moritz Bunkus [Tue, 25 Nov 2014 16:56:40 +0000 (17:56 +0100)]
SL::CTI::sanitize_number: nur Ziffern zurückliefern
Jan Büren [Tue, 25 Nov 2014 18:37:01 +0000 (19:37 +0100)]
Syntax Typo in all
Jan Büren [Tue, 25 Nov 2014 18:22:06 +0000 (19:22 +0100)]
Übersetzungsspalte verbessert und Berechnungsfuntkion für stocked_qty in Lieferberichte
Jan Büren [Tue, 25 Nov 2014 18:04:44 +0000 (19:04 +0100)]
Übersetzungen für Lieferwertbericht
Jan Büren [Tue, 25 Nov 2014 17:10:17 +0000 (18:10 +0100)]
Merge branch 'master' of github.com:kivitendo/kivitendo-erp
Jan Büren [Tue, 25 Nov 2014 17:05:27 +0000 (18:05 +0100)]
Lieferplan / Lieferwertbericht um Filter Bearbeiter erweitert
Moritz Bunkus [Tue, 25 Nov 2014 15:46:11 +0000 (16:46 +0100)]
Merge branch 'master' of github.com:kivitendo/kivitendo-erp
Moritz Bunkus [Tue, 25 Nov 2014 15:45:45 +0000 (16:45 +0100)]
CustomerVendor: CVars bei Wechsel von Ansprechpersonen richtig befüllen
Bernd Bleßmann [Mon, 25 Nov 2013 14:48:26 +0000 (15:48 +0100)]
Lieferplan: Filter für Projektnummer und Kundentyp
Conflicts:
SL/Controller/DeliveryPlan.pm
Moritz Bunkus [Tue, 25 Nov 2014 13:29:02 +0000 (14:29 +0100)]
CustomerVendor-Controller: Daten in Neu-Anzeige bei Fehler beibehalten
RDBO hat das Verhalten, dass bei einem neuen, noch nicht gespeicherten
Objekt die Methoden zum Hinzufügen von Relationship-Objekten (z.B. in
1:n-Beziehnungen wie $customer->add_contacts(…)) beim danach erfolgenden
Auslesen der Beziehung nicht zurückliefert. Das heißt, dass Folgendes
der Fall ist:
my $customer = SL::DB::Customer->new;
$customer->add_contacts(SL::DB::Contacts->new);
print scalar(@{ $customer->contacts || [] }); # Das hier gibt 0 aus
Existiert das Objekt hingegen schon, dann klappt das normal. Das Problem
kann man umgehen, indem man beim Anlegen des neuen Objektes die
Beziehungen explizit auf eine leere Array-Referenz setzt, damit der in
RDBO enthaltene Check an der Stelle greift.
Das betrifft den Workflow, wenn man Daten in den benutzerdefinierten
Variablen eingibt, auf Speichern drückt und kivitendo dann wegen eines
fehlgeschlagenen Checks die Maske erneut anzeigt.
Bernd Bleßmann [Tue, 25 Nov 2014 13:13:25 +0000 (14:13 +0100)]
Kunden/Lieferanten sind nicht verwaist, wenn es Lieferscheine gibt.
Moritz Bunkus [Tue, 25 Nov 2014 12:52:27 +0000 (13:52 +0100)]
CustomerVendor-Presenter: croaken, wenn Parameter fehlen oder falsch sind