fix(edv): compute 319.1-4 ƏDV at per-row rates to match e-taxes
Rows 319.1-319.4 (VAT refund on returned goods, Art. 165.5/165.6) have their ƏDV auto-computed on the e-taxes portal from the paid amount at distinct rates driven by the cash/non-cash cashback rules: 319.1 = 18%, 319.2 = 17.1%, 319.3 = 14.85%, 319.4 = 12.6% Parent 319 = Σ(319.1..319.4). Previously ours left the child ƏDV as manual input, so 319 summed to 0 unless the accountant typed each cell. Compute them in the controller and mark the cells read_only, mirroring the grey (computed) cells on the site. Verified headless: paid 100/500/200/300 -> 18/85.5/29.7/37.8, 319 = 171.
This commit is contained in:
parent
d11e32ac65
commit
d81eb4eee9
|
|
@ -231,6 +231,11 @@ function vc_recompute(frm) {
|
||||||
var gq = function (c, f) { var r = vc_row(frm, Q, c); return r ? vc_n(r[f]) : 0; };
|
var gq = function (c, f) { var r = vc_row(frm, Q, c); return r ? vc_n(r[f]) : 0; };
|
||||||
var sq = function (c, f, val) { var r = vc_row(frm, Q, c); if (r) r[f] = vc_r2(val); };
|
var sq = function (c, f, val) { var r = vc_row(frm, Q, c); if (r) r[f] = vc_r2(val); };
|
||||||
sq("318", QVAT, gq("318", QPAID) * 18 / 100);
|
sq("318", QVAT, gq("318", QPAID) * 18 / 100);
|
||||||
|
// 319.1-4 ƏDV = ödənilmiş məbləğ × dərəcə (fərqli — Art. 165.5/165.6 nağd/nağdsız qaytarma)
|
||||||
|
sq("319.1", QVAT, gq("319.1", QPAID) * 18 / 100);
|
||||||
|
sq("319.2", QVAT, gq("319.2", QPAID) * 17.1 / 100);
|
||||||
|
sq("319.3", QVAT, gq("319.3", QPAID) * 14.85 / 100);
|
||||||
|
sq("319.4", QVAT, gq("319.4", QPAID) * 12.6 / 100);
|
||||||
sq("319", QVAT, gq("319.1", QVAT) + gq("319.2", QVAT) + gq("319.3", QVAT) + gq("319.4", QVAT));
|
sq("319", QVAT, gq("319.1", QVAT) + gq("319.2", QVAT) + gq("319.3", QVAT) + gq("319.4", QVAT));
|
||||||
frm.refresh_field(Q);
|
frm.refresh_field(Q);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@
|
||||||
"in_list_view": 1,
|
"in_list_view": 1,
|
||||||
"label": "Əlavə dəyər vergisi məbləği",
|
"label": "Əlavə dəyər vergisi məbləği",
|
||||||
"read_only": 0,
|
"read_only": 0,
|
||||||
"read_only_depends_on": "eval:[\"318\", \"319\"].indexOf((doc.göstəricilər||\"\").trim().split(/\\s+/)[0].replace(/\\.+$/,\"\")) >= 0"
|
"read_only_depends_on": "eval:[\"318\", \"319\", \"319.1\", \"319.2\", \"319.3\", \"319.4\"].indexOf((doc.göstəricilər||\"\").trim().split(/\\s+/)[0].replace(/\\.+$/,\"\")) >= 0"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"index_web_pages_for_search": 1,
|
"index_web_pages_for_search": 1,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue