Hallo,
Direkt weiter geht es mit der nächsten Dokumentation einer Modifikation.
Da ich es bereits öfters ändern musste, möchte ich hier kurz dokumentieren, wie Ihr negative Werte als Listenpreise in Rechnungen/Angeboten/… angeben könnt.
Besonders im Bereich der Stornierungen und Gutschriften ist das in Deutschland oft notwendig und wird vom vtiger leider rigoros abgelehnt.
Funktioniert ausschließlich in vtigerCRM 5.40, da erst diese Version eine CurrencyField Klasse bekommen hat.
Datei: include/js/Inventory.js
Suchen:
[php]
if (!numValidate("listPrice"+i,alert_arr.LIST_PRICE,"any")) return false
[/php]
komplett Ersetzen mit:
[php]
if (!numValidate("listPrice"+i,alert_arr.LIST_PRICE,"any", true)) return false;
[/php]
Datei: include/fields/CurrencyField.php
Suchen:
[php]
if($currencyPattern == $this->CURRENCY_PATTERN_PLAIN) {
[/php]
zuvor einfügen:
[php]
if($value < 0) { $negative = true; $value = abs($value); } else { $negative = false; }
[/php]
Suchen:
[php]
$number = str_replace(‚.‘, $decimalSeparator, $value);
[/php]
Danach einfügen:
[php]
if($negative) { $number = "-".$number; }
[/php]
Suchen: (tritt dreimal auf -> jedes Vorkommen einzeln bearbeiten)
[php]
$number = implode($decimalSeparator, $numericParts);
[/php]
Danach einfügen:
[php]
if($negative) { $number = "-".$number; }
[/php]
Viel Spaß damit!
Stefan