Skip to content
Code-Schnipsel Gruppen Projekte
Commit 80d02bb4 erstellt von Henning Leutz's avatar Henning Leutz :martial_arts_uniform:
Dateien durchsuchen

feat: quiqqer/invoice#104

Übergeordneter 6e4e8ef5
Keine zugehörigen Branchen gefunden
Keine zugehörigen Tags gefunden
Keine zugehörigen Merge Requests gefunden
......@@ -49,29 +49,31 @@ function ($articles, $user) {
$brutto = $Articles->toArray();
// discount
foreach ($brutto['articles'] as $k => $article) {
if (empty($article['discount'])) {
continue;
}
// discount stuff
$Currency = $Articles->getCurrency();
$Discount = ArticleDiscount::unserialize($article['discount']);
$Currency = $Discount->getCurrency();
$vat = $article['vat'] / 100 + 1;
foreach ($brutto['articles'] as $k => $article) {
$vat = $article['vat'] / 100 + 1;
$bruttoSum = $result['articles'][$k]['sum'];
$nettoSum = $result['articles'][$k]['sum'];
$unitPrice = $bruttoSum / $brutto['articles'][$k]['quantity'];
$unitPrice = \round($unitPrice, $Currency->getPrecision());
$brutto['articles'][$k]['unitPrice'] = $unitPrice;
$brutto['articles'][$k]['display_unitPrice'] = $Currency->format($unitPrice);
$brutto['articles'][$k]['display_quantity_sum'] = $brutto['articles'][$k]['display_sum'];
$brutto['articles'][$k]['quantity_sum'] = $brutto['articles'][$k]['sum'];
$unitPrice = $brutto['articles'][$k]['quantity_sum'] / $brutto['articles'][$k]['quantity'];
$unitPrice = \round($unitPrice, $Currency->getPrecision());
if (empty($article['discount'])) {
continue;
}
$brutto['articles'][$k]['unitPrice'] = $unitPrice;
$brutto['articles'][$k]['display_unitPrice'] = $Currency->format($unitPrice);
$Discount = ArticleDiscount::unserialize($article['discount']);
if ($Discount->getCalculation() !== QUI\ERP\Accounting\Calc::CALCULATION_COMPLEMENT) {
$bruttoSum = $nettoSum * $vat;
$discount = $bruttoSum * ($Discount->getValue() / 100);
$discount = \round($discount, $Currency->getPrecision());
$bruttoSum = $bruttoSum - $discount;
$brutto['articles'][$k]['discount'] = $Discount->getValue().'%';
$brutto['articles'][$k]['display_discount'] = $Discount->getValue().'%';
......@@ -80,8 +82,10 @@ function ($articles, $user) {
continue;
}
$discount = $Discount->getValue() * $vat;
$bruttoSum = $nettoSum * $vat;
$discount = $Discount->getValue() * $vat;
$discount = \round($discount, $Currency->getPrecision());
$bruttoSum = $bruttoSum - $discount;
$brutto['articles'][$k]['discount'] = $discount;
$brutto['articles'][$k]['display_discount'] = $Currency->format($discount);
......
......@@ -403,6 +403,9 @@ define('package/quiqqer/erp/bin/backend/controls/articles/Article', [
typeof self.$bruttoCalc.display_discount !== 'undefined') {
self.$DiscountBrutto.set('html', self.$bruttoCalc.display_discount);
self.$DiscountBrutto.set('data-value', self.$bruttoCalc.discount);
} else {
self.$DiscountBrutto.set('html', '-');
self.$DiscountBrutto.set('data-value', '-');
}
if (typeof self.$bruttoCalc !== 'undefined' &&
......@@ -417,9 +420,6 @@ define('package/quiqqer/erp/bin/backend/controls/articles/Article', [
self.$UnitPriceBrutto.set('data-value', self.$bruttoCalc.unitPrice);
}
console.log('***', self.$bruttoCalc);
self.hideLoader();
self.fireEvent('calc', [self]);
......@@ -649,19 +649,11 @@ define('package/quiqqer/erp/bin/backend/controls/articles/Article', [
* @return {Promise}
*/
setUnitPrice: function (price) {
var self = this;
this.setAttribute('unitPrice', parseFloat(price));
if (this.$UnitPrice) {
this.$UnitPrice.set('html', this.getAttribute('unitPrice'));
}
//console.log('###', this.$bruttoCalc);
// if (this.$UnitPriceBrutto) {
// this.getBruttoPrice(price, true).then(function (brutto) {
// self.$UnitPriceBrutto.set('html', brutto);
// });
// }
this.fireEvent('setUnitPrice', [this]);
......@@ -1094,6 +1086,10 @@ define('package/quiqqer/erp/bin/backend/controls/articles/Article', [
return self.setDiscount(value);
}
if (parseFloat(value) === 0) {
return self.setDiscount(0);
}
return self.getNettoPrice(value).then(function (value) {
self.setDiscount(value);
});
......@@ -1191,6 +1187,12 @@ define('package/quiqqer/erp/bin/backend/controls/articles/Article', [
if (event.shift) {
Next = Cell.getPrevious('.cell-editable');
if (Next && Next.getStyle('display') === 'none') {
event.target = Next;
this.$editNext(event);
return;
}
if (!Next) {
// previous row
Article = Cell.getParent('.article');
......@@ -1210,6 +1212,12 @@ define('package/quiqqer/erp/bin/backend/controls/articles/Article', [
Next = Cell.getNext('.cell-editable');
}
if (Next && Next.getStyle('display') === 'none') {
event.target = Next;
this.$editNext(event);
return;
}
if (!Next) {
// next row
Article = Cell.getParent('.article');
......
0% Lade oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren