feat(fno): unified Dövr period picker across all declarations

Every declaration used to expose its reporting period as raw `ay` (month or
quarter Select), `il` (Int year) and/or `rüb` (quarter Select) fields, scattered
across the form. This adds a single `Dövr` field to all 23 declarations that
have a period, and hides the legacy fields.

Clicking `Dövr` opens an inline air-datepicker popup (the same widget Frappe
uses for Date fields, not a modal), restricted per declaration:

  month       -> month grid with Azerbaijani month names + year nav
  quarter_*   -> 2x2 grid of "1. Rüb".."4. Rüb"
  annual      -> year grid

The selection is written back into the hidden `ay`/`il`/`rüb` in their exact
original formats, so all downstream code (VAT appendix auto-fill, property tax
asset loading, single declaration, reports) keeps working untouched.

`dövr` deliberately carries no `read_only` docfield flag: with the site setting
`hide_empty_read_only_fields` enabled, Frappe hides empty read-only fields, which
made the picker invisible (and unopenable) on new documents. Keyboard input is
blocked from JS instead.

Also restores `ay` + `il` (hidden) on Declaration of value added tax: they were
deleted upstream while declaration_of_value_added_tax.{js,py} still read them,
which had silently broken the Əlavə auto-fill from reports.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ali 2026-07-09 11:35:33 +00:00
parent 682902a828
commit fd389d7b37
25 changed files with 483 additions and 41 deletions

View File

@ -36,6 +36,39 @@ doctype_js = {
"Item Group": "public/js/item_group.js" "Item Group": "public/js/item_group.js"
} }
# Vahid "Dövr" period seçici — bütün bəyannamələr (ФНО) üçün.
# ay/il/rüb gizlədilir, dəyər `dövr` sahəsindən doldurulur (bax: dovr_period.js).
_DOVR_DECLARATIONS = [
"Building construction and simplified tax declaration",
"Declaration of mining tax",
"Declaration of simplified tax",
"Declaration of simplified tax on cash withdrawals",
"Declaration of value added tax",
"Declaration of withholding tax on winnings",
"Excise declaration",
"Export declaration",
"Housing construction simplified tax declaration",
"Income tax return",
"Income tax return of a private notary",
"Land tax declaration",
"Profit tax with special tax regime",
"Property tax return",
"Quarterly report on unemployment insurance",
"Real estate simplified tax declaration",
"REFERENCE on controlled transactions",
"Report on collection of state duty",
"Road tax 2",
"Single declaration related to salaried and non-salaried work",
"Tax return withheld at source of payment",
"VAT calculated on the amount paid to a non-resident",
"Withholding tax return of foreign subcontractors",
]
for _dt in _DOVR_DECLARATIONS:
doctype_js[_dt] = "public/js/dovr_period.js"
doc_events = { doc_events = {
"Item Group": { "Item Group": {
"on_trash": "taxes_az.item_group.validate_item_group_deletion" "on_trash": "taxes_az.item_group.validate_item_group_deletion"

View File

@ -0,0 +1,223 @@
// Vahid "Dövr" seçici bütün ФНО (bəyannamələr) üçün.
//
// Köhnə `ay` / `il` / `rüb` sahələri gizlədilir (hidden), amma silinmir və dəyəri
// əvvəlki kimi (eyni formatda) doldurulur. İstifadəçi `dövr` sahəsinə klikləyir ->
// standart Frappe air-datepicker açılır (modal DEYİL, adi date sahəsi kimi popup):
// month -> ay şəbəkəsi (Azərbaycan ay adları ilə)
// quarter_* -> "1. Rüb".."4. Rüb" (ay görünüşü, hücrələr yenidən adlandırılır)
// annual -> yalnız il şəbəkəsi
// Seçim geriyə `ay`/`il`/`rüb`-a yazılır (format DƏYİŞMİR — downstream kod ona güvənir):
// ay -> "Yanvar".."Dekabr" VƏ YA "1. Rüb".."4. Rüb"
// rüb -> "1. Rüb".."4. Rüb"
// il -> Int (məs. 2026)
frappe.provide("taxes_az.dovr");
(function () {
const MONTHS = [
"Yanvar", "Fevral", "Mart", "Aprel", "May", "İyun",
"İyul", "Avqust", "Sentyabr", "Oktyabr", "Noyabr", "Dekabr",
];
const QUARTERS = ["1. Rüb", "2. Rüb", "3. Rüb", "4. Rüb"];
const CONFIG = {
// ── month (ay 12 ay + il) ──
"Declaration of mining tax": "month",
"Declaration of simplified tax on cash withdrawals": "month",
"Declaration of value added tax": "month",
"Declaration of withholding tax on winnings": "month",
"Excise declaration": "month",
"Export declaration": "month",
"Real estate simplified tax declaration": "month",
"Road tax 2": "month",
"VAT calculated on the amount paid to a non-resident": "month",
// ── quarter, dəyər `ay` sahəsində saxlanır ──
"Income tax return of a private notary": "quarter_ay",
"Tax return withheld at source of payment": "quarter_ay",
// ── quarter, dəyər `rüb` sahəsində saxlanır ──
"Building construction and simplified tax declaration": "quarter_rub",
"Declaration of simplified tax": "quarter_rub",
"Housing construction simplified tax declaration": "quarter_rub",
"Quarterly report on unemployment insurance": "quarter_rub",
"Report on collection of state duty": "quarter_rub",
"Single declaration related to salaried and non-salaried work": "quarter_rub",
"Withholding tax return of foreign subcontractors": "quarter_rub",
// ── annual (yalnız il) ──
"Income tax return": "annual",
"Land tax declaration": "annual",
"Profit tax with special tax regime": "annual",
"Property tax return": "annual",
"REFERENCE on controlled transactions": "annual",
};
taxes_az.dovr.CONFIG = CONFIG;
// Proqram vasitəsilə selectDate edərkən onSelect-i susdurmaq üçün.
const guard = { on: false };
function period_field(mode) {
if (mode === "quarter_rub") return "rüb";
if (mode === "month" || mode === "quarter_ay") return "ay";
return null; // annual
}
function is_quarter(mode) {
return mode === "quarter_ay" || mode === "quarter_rub";
}
function build_label(mode, period, year) {
if (!year) return "";
if (mode === "annual") return String(year);
if (!period) return "";
return period + " " + year; // "Mart 2026" / "1. Rüb 2026"
}
function current_label(frm, mode) {
const il = frm.doc.il;
if (mode === "annual") return build_label(mode, null, il);
return build_label(mode, frm.doc[period_field(mode)], il);
}
// `dövr` göstərici mətnini mövcud ay/il/rüb-dən yeniləyir (doc-u "dirty" etmədən).
function sync_display(frm, mode) {
const label = current_label(frm, mode);
if ((frm.doc["dövr"] || "") !== label) {
frm.doc["dövr"] = label;
frm.refresh_field("dövr");
}
}
// Cari dəyərə uyğun ay indeksi (0-11) — popup-u düzgün yerdə açmaq üçün.
function current_month_index(frm, mode) {
if (mode === "month") {
const i = MONTHS.indexOf(frm.doc.ay);
return i >= 0 ? i : new Date().getMonth();
}
if (is_quarter(mode)) {
const q = QUARTERS.indexOf(frm.doc[period_field(mode)]);
return (q >= 0 ? q : 0) * 3;
}
return 0;
}
// Seçilmiş tarixi ay/il/rüb + dövr-a yazır.
function apply_selection(frm, mode, date) {
const year = date.getFullYear();
let period = null;
if (mode === "month") {
period = MONTHS[date.getMonth()];
frm.set_value("ay", period);
} else if (is_quarter(mode)) {
period = QUARTERS[Math.floor(date.getMonth() / 3)];
frm.set_value(period_field(mode), period);
}
frm.set_value("il", year);
frm.set_value("dövr", build_label(mode, period, year));
}
function inject_style() {
if (document.getElementById("dovr-period-style")) return;
const st = document.createElement("style");
st.id = "dovr-period-style";
st.textContent = [
// klik oluna bilən görünüş (readonly input -> pointer)
'[data-fieldname="dövr"], [data-fieldname="dövr"] input,',
'[data-fieldname="dövr"] .control-input{cursor:pointer!important;}',
// ay adları tam olduğuna görə bir az kiçildirik
".dovr-month-dp .datepicker--cell-month{font-size:11px;}",
// rüb şəbəkəsi: yalnız 4 hücrə, səliqəli 2×2
".dovr-quarter-dp .datepicker--cells-months{height:auto;}",
".dovr-quarter-dp .datepicker--cell-month{width:50%;height:46px;font-weight:600;}",
".dovr-quarter-dp .datepicker--cell-month.dovr-q-off{display:none;}",
].join("");
document.head.appendChild(st);
}
function setup_picker(frm, mode, field) {
const $inp = field.$wrapper.find("input");
if (!$inp.length) return;
// Artıq qurulubsa (input re-render olmayıbsa) təkrar etmə.
if ($inp.data("datepicker")) return;
const annual = mode === "annual";
const quarter = is_quarter(mode);
let lang = "en";
if (frappe.boot.user && $.fn.datepicker.language[frappe.boot.user.language]) {
lang = frappe.boot.user.language;
}
const opts = {
language: lang,
autoClose: true,
toggleSelected: false,
dateFormat: " ", // öz etiketimizi yazırıq
minView: annual ? "years" : "months",
view: annual ? "years" : "months",
onSelect: function (fmt, date) {
if (!date || guard.on) return;
apply_selection(frm, mode, Array.isArray(date) ? date[0] : date);
},
onRenderCell: function (date, cellType) {
if (cellType !== "month") return;
const m = date.getMonth();
if (quarter) {
if (m % 3 === 0) return { html: QUARTERS[m / 3] };
return { disabled: true, classes: "dovr-q-off" };
}
if (mode === "month") return { html: MONTHS[m] };
},
};
$inp.datepicker(opts);
const dp = $inp.data("datepicker");
dp.$datepicker.addClass(
quarter ? "dovr-quarter-dp" : annual ? "dovr-year-dp" : "dovr-month-dp"
);
// Cari dəyəri seçili göstər (onSelect susdurulur), sonra etiketi bərpa et.
const y = frm.doc.il ? cint(frm.doc.il) : new Date().getFullYear();
guard.on = true;
try {
dp.selectDate(new Date(y, annual ? 0 : current_month_index(frm, mode), 1));
} catch (e) {
// ignore
}
guard.on = false;
$inp.val(frm.doc["dövr"] || "");
// readonly input-a klik -> popup (fokus onsuz da açır, bu təhlükəsizlik üçün)
$inp.off("click.dovr").on("click.dovr", function () {
dp.show();
});
}
taxes_az.dovr.attach = function (frm) {
const mode = CONFIG[frm.doctype];
if (!mode) return;
const field = frm.fields_dict["dövr"];
if (!field) return;
inject_style();
sync_display(frm, mode);
// Sahə oxunan (read_only) DEYİL ki, boş olanda gizlənməsin
// (System Settings > hide_empty_read_only_fields). Klaviatura ilə yazmağı
// bloklayırıq (dəyər yalnız popup-dan dəyişir), amma kliklənə bilən görünür.
field.$wrapper.find("input").attr("readonly", "readonly");
setup_picker(frm, mode, field);
};
// Bütün konfiqurasiya olunmuş doctype-lar üçün refresh handler qeyd olunur;
// yalnız açıq olan forma tetiklenir.
Object.keys(CONFIG).forEach(function (dt) {
frappe.ui.form.on(dt, {
refresh: function (frm) {
taxes_az.dovr.attach(frm);
},
});
});
})();

View File

@ -10,6 +10,7 @@
"idarə", "idarə",
"vergiorqanı", "vergiorqanı",
"vergidövrü", "vergidövrü",
"dövr",
"rüb", "rüb",
"il", "il",
"şəxsi", "şəxsi",
@ -84,13 +85,15 @@
"fieldname": "rüb", "fieldname": "rüb",
"fieldtype": "Select", "fieldtype": "Select",
"label": "Rüb", "label": "Rüb",
"options": "1. Rüb\n2. Rüb\n3. Rüb\n4. Rüb" "options": "1. Rüb\n2. Rüb\n3. Rüb\n4. Rüb",
"hidden": 1
}, },
{ {
"fieldname": "il", "fieldname": "il",
"fieldtype": "Int", "fieldtype": "Int",
"label": "İl", "label": "İl",
"length": 4 "length": 4,
"hidden": 1
}, },
{ {
"fieldname": "şəxsi", "fieldname": "şəxsi",
@ -219,6 +222,11 @@
"fieldname": "table_hfea", "fieldname": "table_hfea",
"fieldtype": "Table", "fieldtype": "Table",
"options": "Building construction and simplified tax declarationElave" "options": "Building construction and simplified tax declarationElave"
},
{
"fieldname": "dövr",
"fieldtype": "Data",
"label": "Dövr"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,

View File

@ -11,6 +11,7 @@
"section_break_owbf", "section_break_owbf",
"vergiorqanı", "vergiorqanı",
"vergidövrü", "vergidövrü",
"dövr",
"ay", "ay",
"il", "il",
"şəxsi", "şəxsi",
@ -77,7 +78,8 @@
"fieldname": "il", "fieldname": "il",
"fieldtype": "Int", "fieldtype": "Int",
"label": "İl", "label": "İl",
"length": 4 "length": 4,
"hidden": 1
}, },
{ {
"fieldname": "şəxsi", "fieldname": "şəxsi",
@ -188,7 +190,8 @@
"fieldname": "ay", "fieldname": "ay",
"fieldtype": "Select", "fieldtype": "Select",
"label": "Ay", "label": "Ay",
"options": "Yanvar\nFevral\nMart\nAprel\nMay\nİyun\nİyul\nAvqust\nSentyabr\nOktyabr\nNoyabr\nDekabr" "options": "Yanvar\nFevral\nMart\nAprel\nMay\nİyun\nİyul\nAvqust\nSentyabr\nOktyabr\nNoyabr\nDekabr",
"hidden": 1
}, },
{ {
"fieldname": "html_hken", "fieldname": "html_hken",
@ -243,6 +246,11 @@
{ {
"fieldname": "section_break_srco", "fieldname": "section_break_srco",
"fieldtype": "Section Break" "fieldtype": "Section Break"
},
{
"fieldname": "dövr",
"fieldtype": "Data",
"label": "Dövr"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,

View File

@ -11,6 +11,7 @@
"idarə", "idarə",
"vergiorqanı", "vergiorqanı",
"vergidövrü", "vergidövrü",
"dövr",
"rüb", "rüb",
"il", "il",
"şəxsi", "şəxsi",
@ -138,7 +139,8 @@
"fieldname": "il", "fieldname": "il",
"fieldtype": "Int", "fieldtype": "Int",
"label": "İl", "label": "İl",
"length": 4 "length": 4,
"hidden": 1
}, },
{ {
"fieldname": "şəxsi", "fieldname": "şəxsi",
@ -258,7 +260,8 @@
"fieldname": "rüb", "fieldname": "rüb",
"fieldtype": "Select", "fieldtype": "Select",
"label": "Rüb", "label": "Rüb",
"options": "1. Rüb\n2. Rüb\n3. Rüb\n4. Rüb" "options": "1. Rüb\n2. Rüb\n3. Rüb\n4. Rüb",
"hidden": 1
}, },
{ {
"fieldname": "section_break_huih", "fieldname": "section_break_huih",
@ -603,6 +606,11 @@
"fieldtype": "Float", "fieldtype": "Float",
"precision": "2", "precision": "2",
"label": "Obyekt üzrə təqdim edilmiş malların (işlərin, xidmətlərin) görə əldə edilmiş hasilatın məbləğinin (manatla) CƏMİ" "label": "Obyekt üzrə təqdim edilmiş malların (işlərin, xidmətlərin) görə əldə edilmiş hasilatın məbləğinin (manatla) CƏMİ"
},
{
"fieldname": "dövr",
"fieldtype": "Data",
"label": "Dövr"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,

View File

@ -10,6 +10,7 @@
"section_break_owbf", "section_break_owbf",
"vergiorqan\u0131", "vergiorqan\u0131",
"vergid\u00f6vr\u00fc", "vergid\u00f6vr\u00fc",
"d\u00f6vr",
"ay", "ay",
"il", "il",
"\u015f\u0259xsi", "\u015f\u0259xsi",
@ -71,7 +72,8 @@
"fieldname": "il", "fieldname": "il",
"fieldtype": "Int", "fieldtype": "Int",
"label": "\u0130l", "label": "\u0130l",
"length": 4 "length": 4,
"hidden": 1
}, },
{ {
"fieldname": "\u015f\u0259xsi", "fieldname": "\u015f\u0259xsi",
@ -172,7 +174,8 @@
"fieldname": "ay", "fieldname": "ay",
"fieldtype": "Select", "fieldtype": "Select",
"label": "Ay", "label": "Ay",
"options": "Yanvar\nFevral\nMart\nAprel\nMay\n\u0130yun\n\u0130yul\nAvqust\nSentyabr\nOktyabr\nNoyabr\nDekabr" "options": "Yanvar\nFevral\nMart\nAprel\nMay\n\u0130yun\n\u0130yul\nAvqust\nSentyabr\nOktyabr\nNoyabr\nDekabr",
"hidden": 1
}, },
{ {
"fieldname": "section_break_gwof", "fieldname": "section_break_gwof",
@ -213,6 +216,11 @@
"fieldname": "ad_select", "fieldname": "ad_select",
"fieldtype": "Select", "fieldtype": "Select",
"label": "Ad\u0131" "label": "Ad\u0131"
},
{
"fieldname": "d\u00f6vr",
"fieldtype": "Data",
"label": "D\u00f6vr"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,

View File

@ -12,6 +12,8 @@
"b\u0259yan_edil\u0259c\u0259k_m\u0259lumat\u0131m_yoxdur", "b\u0259yan_edil\u0259c\u0259k_m\u0259lumat\u0131m_yoxdur",
"\u00fcmumi_m\u0259lumat_section", "\u00fcmumi_m\u0259lumat_section",
"d\u00f6vr", "d\u00f6vr",
"il",
"ay",
"b\u0259yannam\u0259n\u00f6v\u00fc", "b\u0259yannam\u0259n\u00f6v\u00fc",
"qeydiyyattarixi", "qeydiyyattarixi",
"column_break_ihno", "column_break_ihno",
@ -583,8 +585,21 @@
{ {
"fieldname": "d\u00f6vr", "fieldname": "d\u00f6vr",
"fieldtype": "Data", "fieldtype": "Data",
"label": "D\u00f6vr", "label": "D\u00f6vr"
"options": "R\u00fcbl\u00fck" },
{
"fieldname": "ay",
"fieldtype": "Select",
"label": "Ay",
"options": "Yanvar\nFevral\nMart\nAprel\nMay\n\u0130yun\n\u0130yul\nAvqust\nSentyabr\nOktyabr\nNoyabr\nDekabr",
"hidden": 1
},
{
"fieldname": "il",
"fieldtype": "Int",
"label": "\u0130l",
"length": 4,
"hidden": 1
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,

View File

@ -10,6 +10,7 @@
"idar\u0259", "idar\u0259",
"vergiorqan\u0131", "vergiorqan\u0131",
"vergid\u00f6vr\u00fc", "vergid\u00f6vr\u00fc",
"d\u00f6vr",
"ay", "ay",
"il", "il",
"\u015f\u0259xsi", "\u015f\u0259xsi",
@ -62,7 +63,8 @@
"fieldname": "il", "fieldname": "il",
"fieldtype": "Int", "fieldtype": "Int",
"label": "\u0130l", "label": "\u0130l",
"length": 4 "length": 4,
"hidden": 1
}, },
{ {
"fieldname": "\u015f\u0259xsi", "fieldname": "\u015f\u0259xsi",
@ -158,7 +160,8 @@
"fieldname": "ay", "fieldname": "ay",
"fieldtype": "Select", "fieldtype": "Select",
"label": "Ay", "label": "Ay",
"options": "Yanvar\nFevral\nMart\nAprel\nMay\n\u0130yun\n\u0130yul\nAvqust\nSentyabr\nOktyabr\nNoyabr\nDekabr" "options": "Yanvar\nFevral\nMart\nAprel\nMay\n\u0130yun\n\u0130yul\nAvqust\nSentyabr\nOktyabr\nNoyabr\nDekabr",
"hidden": 1
}, },
{ {
"fieldname": "verginin_hesablanmas\u0131_tab", "fieldname": "verginin_hesablanmas\u0131_tab",
@ -183,6 +186,11 @@
"fieldname": "ad_select", "fieldname": "ad_select",
"fieldtype": "Select", "fieldtype": "Select",
"label": "Ad\u0131" "label": "Ad\u0131"
},
{
"fieldname": "d\u00f6vr",
"fieldtype": "Data",
"label": "D\u00f6vr"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,

View File

@ -10,6 +10,7 @@
"idar\u0259", "idar\u0259",
"vergiorqan\u0131", "vergiorqan\u0131",
"vergid\u00f6vr\u00fc", "vergid\u00f6vr\u00fc",
"d\u00f6vr",
"ay", "ay",
"il", "il",
"\u015f\u0259xsi", "\u015f\u0259xsi",
@ -446,13 +447,15 @@
"fieldname": "ay", "fieldname": "ay",
"fieldtype": "Select", "fieldtype": "Select",
"label": "Ay", "label": "Ay",
"options": "Yanvar\nFevral\nMart\nAprel\nMay\n\u0130yun\n\u0130yul\nAvqust\nSentyabr\nOktyabr\nNoyabr\nDekabr" "options": "Yanvar\nFevral\nMart\nAprel\nMay\n\u0130yun\n\u0130yul\nAvqust\nSentyabr\nOktyabr\nNoyabr\nDekabr",
"hidden": 1
}, },
{ {
"fieldname": "il", "fieldname": "il",
"fieldtype": "Int", "fieldtype": "Int",
"label": "\u0130l", "label": "\u0130l",
"length": 4 "length": 4,
"hidden": 1
}, },
{ {
"fieldname": "v\u00f6en", "fieldname": "v\u00f6en",
@ -909,6 +912,11 @@
"fieldname": "table_zgbn", "fieldname": "table_zgbn",
"fieldtype": "Table", "fieldtype": "Table",
"options": "Excise declaration elave 2 2020den sonra son aylarda" "options": "Excise declaration elave 2 2020den sonra son aylarda"
},
{
"fieldname": "d\u00f6vr",
"fieldtype": "Data",
"label": "D\u00f6vr"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,

View File

@ -10,6 +10,7 @@
"idar\u0259_tab", "idar\u0259_tab",
"vergiorqan\u0131", "vergiorqan\u0131",
"vergid\u00f6vr\u00fc", "vergid\u00f6vr\u00fc",
"d\u00f6vr",
"ay", "ay",
"il", "il",
"\u015f\u0259xsi", "\u015f\u0259xsi",
@ -103,13 +104,15 @@
"fieldname": "ay", "fieldname": "ay",
"fieldtype": "Select", "fieldtype": "Select",
"label": "Ay", "label": "Ay",
"options": "Yanvar\nFevral\nMart\nAprel\nMay\n\u0130yun\n\u0130yul\nAvqust\nSentyabr\nOktyabr\nNoyabr\nDekabr" "options": "Yanvar\nFevral\nMart\nAprel\nMay\n\u0130yun\n\u0130yul\nAvqust\nSentyabr\nOktyabr\nNoyabr\nDekabr",
"hidden": 1
}, },
{ {
"fieldname": "il", "fieldname": "il",
"fieldtype": "Int", "fieldtype": "Int",
"label": "\u0130l", "label": "\u0130l",
"length": 4 "length": 4,
"hidden": 1
}, },
{ {
"fieldname": "\u015f\u0259xsi", "fieldname": "\u015f\u0259xsi",
@ -292,6 +295,11 @@
"fieldname": "adi", "fieldname": "adi",
"fieldtype": "Data", "fieldtype": "Data",
"label": "Ad\u0131" "label": "Ad\u0131"
},
{
"fieldname": "d\u00f6vr",
"fieldtype": "Data",
"label": "D\u00f6vr"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,

View File

@ -11,6 +11,7 @@
"idarə", "idarə",
"vergiorqanı", "vergiorqanı",
"vergidövrü", "vergidövrü",
"dövr",
"rüb", "rüb",
"il", "il",
"şəxsi", "şəxsi",
@ -69,7 +70,8 @@
"fieldname": "il", "fieldname": "il",
"fieldtype": "Int", "fieldtype": "Int",
"label": "İl", "label": "İl",
"length": 4 "length": 4,
"hidden": 1
}, },
{ {
"fieldname": "şəxsi", "fieldname": "şəxsi",
@ -179,7 +181,8 @@
"fieldname": "rüb", "fieldname": "rüb",
"fieldtype": "Select", "fieldtype": "Select",
"label": "Rüb", "label": "Rüb",
"options": "1. Rüb\n2. Rüb\n3. Rüb\n4. Rüb" "options": "1. Rüb\n2. Rüb\n3. Rüb\n4. Rüb",
"hidden": 1
}, },
{ {
"fieldname": "soyadı", "fieldname": "soyadı",
@ -219,6 +222,11 @@
"fieldname": "idarə", "fieldname": "idarə",
"fieldtype": "Section Break", "fieldtype": "Section Break",
"label": "İdarə" "label": "İdarə"
},
{
"fieldname": "dövr",
"fieldtype": "Data",
"label": "Dövr"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,

View File

@ -11,6 +11,7 @@
"idarə", "idarə",
"vergiorqanı", "vergiorqanı",
"vergidövrü", "vergidövrü",
"dövr",
"il", "il",
"şəxsi", "şəxsi",
"vöen", "vöen",
@ -121,7 +122,8 @@
"fieldname": "il", "fieldname": "il",
"fieldtype": "Int", "fieldtype": "Int",
"label": "İl", "label": "İl",
"length": 4 "length": 4,
"hidden": 1
}, },
{ {
"fieldname": "şəxsi", "fieldname": "şəxsi",
@ -502,6 +504,11 @@
"fieldtype": "Float", "fieldtype": "Float",
"precision": "2", "precision": "2",
"label": "Obyekt üzrə təqdim edilmiş mallara (işlərin, xidmətlərin) görə əldə edilmiş hasilat məbləği CƏMİ (manatla)" "label": "Obyekt üzrə təqdim edilmiş mallara (işlərin, xidmətlərin) görə əldə edilmiş hasilat məbləği CƏMİ (manatla)"
},
{
"fieldname": "dövr",
"fieldtype": "Data",
"label": "Dövr"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,

View File

@ -11,6 +11,7 @@
"idarə", "idarə",
"vergiorqanı", "vergiorqanı",
"vergidövrü", "vergidövrü",
"dövr",
"ay", "ay",
"il", "il",
"şəxsi", "şəxsi",
@ -72,13 +73,15 @@
"fieldname": "ay", "fieldname": "ay",
"fieldtype": "Select", "fieldtype": "Select",
"label": "Ay", "label": "Ay",
"options": "1. Rüb\n2. Rüb\n3. Rüb\n4. Rüb" "options": "1. Rüb\n2. Rüb\n3. Rüb\n4. Rüb",
"hidden": 1
}, },
{ {
"fieldname": "il", "fieldname": "il",
"fieldtype": "Int", "fieldtype": "Int",
"label": "İl", "label": "İl",
"length": 4 "length": 4,
"hidden": 1
}, },
{ {
"fieldname": "şəxsi", "fieldname": "şəxsi",
@ -238,6 +241,11 @@
"fieldname": "idarə", "fieldname": "idarə",
"fieldtype": "Section Break", "fieldtype": "Section Break",
"label": "İdarə" "label": "İdarə"
},
{
"fieldname": "dövr",
"fieldtype": "Data",
"label": "Dövr"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,

View File

@ -11,6 +11,7 @@
"idarə", "idarə",
"vergiorqanı", "vergiorqanı",
"vergidövrü", "vergidövrü",
"dövr",
"il", "il",
"şəxsi", "şəxsi",
"vöen", "vöen",
@ -104,7 +105,8 @@
"fieldname": "il", "fieldname": "il",
"fieldtype": "Int", "fieldtype": "Int",
"label": "İl", "label": "İl",
"length": 4 "length": 4,
"hidden": 1
}, },
{ {
"fieldname": "şəxsi", "fieldname": "şəxsi",
@ -411,6 +413,11 @@
"fieldtype": "Table", "fieldtype": "Table",
"label": "Verginin hesablanması", "label": "Verginin hesablanması",
"options": "Land tax declaration Vergi Hesab" "options": "Land tax declaration Vergi Hesab"
},
{
"fieldname": "dövr",
"fieldtype": "Data",
"label": "Dövr"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,

View File

@ -11,6 +11,7 @@
"idarə", "idarə",
"vergiorqanı", "vergiorqanı",
"vergidövrü", "vergidövrü",
"dövr",
"il", "il",
"şəxsi", "şəxsi",
"vöen", "vöen",
@ -84,7 +85,8 @@
"fieldname": "il", "fieldname": "il",
"fieldtype": "Int", "fieldtype": "Int",
"label": "İl", "label": "İl",
"length": 4 "length": 4,
"hidden": 1
}, },
{ {
"fieldname": "şəxsi", "fieldname": "şəxsi",
@ -313,6 +315,11 @@
"fieldname": "idarə", "fieldname": "idarə",
"fieldtype": "Section Break", "fieldtype": "Section Break",
"label": "İdarə" "label": "İdarə"
},
{
"fieldname": "dövr",
"fieldtype": "Data",
"label": "Dövr"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,

View File

@ -11,6 +11,7 @@
"idar\u0259", "idar\u0259",
"vergiorqan\u0131", "vergiorqan\u0131",
"vergid\u00f6vr\u00fc", "vergid\u00f6vr\u00fc",
"d\u00f6vr",
"il", "il",
"tam_il", "tam_il",
"il_erzinde", "il_erzinde",
@ -92,7 +93,8 @@
"fieldname": "il", "fieldname": "il",
"fieldtype": "Int", "fieldtype": "Int",
"label": "\u0130l", "label": "\u0130l",
"length": 4 "length": 4,
"hidden": 1
}, },
{ {
"default": "1", "default": "1",
@ -356,6 +358,11 @@
"fieldname": "vergi_hesab_4cu_1", "fieldname": "vergi_hesab_4cu_1",
"fieldtype": "Table", "fieldtype": "Table",
"options": "Property tax return Emlak vergi hesablamasi 4cu cedvel 1" "options": "Property tax return Emlak vergi hesablamasi 4cu cedvel 1"
},
{
"fieldname": "d\u00f6vr",
"fieldtype": "Data",
"label": "D\u00f6vr"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,

View File

@ -12,6 +12,7 @@
"vergiorqanı", "vergiorqanı",
"hesabatdövrü", "hesabatdövrü",
"rüb", "rüb",
"dövr",
"il", "il",
"şəxsi", "şəxsi",
"vöen", "vöen",
@ -103,7 +104,8 @@
"fieldname": "il", "fieldname": "il",
"fieldtype": "Int", "fieldtype": "Int",
"label": "İl", "label": "İl",
"length": 4 "length": 4,
"hidden": 1
}, },
{ {
"fieldname": "şəxsi", "fieldname": "şəxsi",
@ -223,7 +225,8 @@
"fieldname": "rüb", "fieldname": "rüb",
"fieldtype": "Select", "fieldtype": "Select",
"label": "Rüb", "label": "Rüb",
"options": "1. Rüb\n2. Rüb\n3. Rüb\n4. Rüb" "options": "1. Rüb\n2. Rüb\n3. Rüb\n4. Rüb",
"hidden": 1
}, },
{ {
"fieldname": "işsizlik_sığortası_üzrə_məlumat_tab", "fieldname": "işsizlik_sığortası_üzrə_məlumat_tab",
@ -424,6 +427,11 @@
"fieldname": "table_jsqf", "fieldname": "table_jsqf",
"fieldtype": "Table", "fieldtype": "Table",
"options": "Quarterly report on unemployment insurance Hisse1 2ci" "options": "Quarterly report on unemployment insurance Hisse1 2ci"
},
{
"fieldname": "dövr",
"fieldtype": "Data",
"label": "Dövr"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,

View File

@ -12,6 +12,7 @@
"idarə", "idarə",
"vergiorqanı", "vergiorqanı",
"vergidövrü", "vergidövrü",
"dövr",
"ay", "ay",
"il", "il",
"şəxsi", "şəxsi",
@ -190,13 +191,15 @@
"fieldname": "ay", "fieldname": "ay",
"fieldtype": "Select", "fieldtype": "Select",
"label": "Ay", "label": "Ay",
"options": "Yanvar\nFevral\nMart\nAprel\nMay\nİyun\nİyul\nAvqust\nSentyabr\nOktyabr\nNoyabr\nDekabr" "options": "Yanvar\nFevral\nMart\nAprel\nMay\nİyun\nİyul\nAvqust\nSentyabr\nOktyabr\nNoyabr\nDekabr",
"hidden": 1
}, },
{ {
"fieldname": "il", "fieldname": "il",
"fieldtype": "Int", "fieldtype": "Int",
"label": "İl", "label": "İl",
"length": 4 "length": 4,
"hidden": 1
}, },
{ {
"fieldname": "şəxsi", "fieldname": "şəxsi",
@ -492,6 +495,11 @@
"fieldname": "html_gvwy", "fieldname": "html_gvwy",
"fieldtype": "HTML", "fieldtype": "HTML",
"options": "<p style=\"text-align: center;font-size: 18px;font-weight: bold;color: blue;\"> Daşınmaz əmlak üzrə sadələşdirilmiş vergi bəyannaməsi</p>" "options": "<p style=\"text-align: center;font-size: 18px;font-weight: bold;color: blue;\"> Daşınmaz əmlak üzrə sadələşdirilmiş vergi bəyannaməsi</p>"
},
{
"fieldname": "dövr",
"fieldtype": "Data",
"label": "Dövr"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,

View File

@ -10,6 +10,7 @@
"section_break_owbf", "section_break_owbf",
"vergiorqanı", "vergiorqanı",
"vergidövrü", "vergidövrü",
"dövr",
"rüb", "rüb",
"il", "il",
"şəxsi", "şəxsi",
@ -168,13 +169,15 @@
"fieldname": "rüb", "fieldname": "rüb",
"fieldtype": "Select", "fieldtype": "Select",
"label": "Rüb", "label": "Rüb",
"options": "1. Rüb\n2. Rüb\n3. Rüb\n4. Rüb" "options": "1. Rüb\n2. Rüb\n3. Rüb\n4. Rüb",
"hidden": 1
}, },
{ {
"fieldname": "il", "fieldname": "il",
"fieldtype": "Int", "fieldtype": "Int",
"label": "İl", "label": "İl",
"length": 4 "length": 4,
"hidden": 1
}, },
{ {
"fieldname": "şəxsi", "fieldname": "şəxsi",
@ -461,6 +464,11 @@
"fieldname": "html_gupv", "fieldname": "html_gupv",
"fieldtype": "HTML", "fieldtype": "HTML",
"options": "<p style=\"text-align: left;font-size: 13px;font-weight: bold;color: blue;\"> 1132.1=1100.1+1101.1+...+1125.1\n</p>" "options": "<p style=\"text-align: left;font-size: 13px;font-weight: bold;color: blue;\"> 1132.1=1100.1+1101.1+...+1125.1\n</p>"
},
{
"fieldname": "dövr",
"fieldtype": "Data",
"label": "Dövr"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,

View File

@ -11,6 +11,7 @@
"idarə", "idarə",
"vergiorqanı", "vergiorqanı",
"vergidövrü", "vergidövrü",
"dövr",
"ay", "ay",
"il", "il",
"şəxsi", "şəxsi",
@ -93,13 +94,15 @@
"fieldname": "ay", "fieldname": "ay",
"fieldtype": "Select", "fieldtype": "Select",
"label": "Ay", "label": "Ay",
"options": "Yanvar\nFevral\nMart\nAprel\nMay\nİyun\nİyul\nAvqust\nSentyabr\nOktyabr\nNoyabr\nDekabr" "options": "Yanvar\nFevral\nMart\nAprel\nMay\nİyun\nİyul\nAvqust\nSentyabr\nOktyabr\nNoyabr\nDekabr",
"hidden": 1
}, },
{ {
"fieldname": "il", "fieldname": "il",
"fieldtype": "Int", "fieldtype": "Int",
"label": "İl", "label": "İl",
"length": 4 "length": 4,
"hidden": 1
}, },
{ {
"fieldname": "şəxsi", "fieldname": "şəxsi",
@ -360,6 +363,11 @@
"fieldtype": "Float", "fieldtype": "Float",
"precision": "2", "precision": "2",
"label": "İcbari tibbi sığorta haqqı, manatla" "label": "İcbari tibbi sığorta haqqı, manatla"
},
{
"fieldname": "dövr",
"fieldtype": "Data",
"label": "Dövr"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,

View File

@ -20,6 +20,7 @@
"section_break_afgw", "section_break_afgw",
"b\u0259yannam\u0259ninn\u00f6v\u00fc", "b\u0259yannam\u0259ninn\u00f6v\u00fc",
"r\u00fcb", "r\u00fcb",
"d\u00f6vr",
"il", "il",
"f\u0259aliyy\u0259tn\u00f6v\u00fcn\u00fcnkodu", "f\u0259aliyy\u0259tn\u00f6v\u00fcn\u00fcnkodu",
"mdss\u00fczr\u0259", "mdss\u00fczr\u0259",
@ -133,7 +134,8 @@
{ {
"fieldname": "il", "fieldname": "il",
"fieldtype": "Int", "fieldtype": "Int",
"label": "\u0130l" "label": "\u0130l",
"hidden": 1
}, },
{ {
"fieldname": "f\u0259aliyy\u0259tn\u00f6v\u00fcn\u00fcnkodu", "fieldname": "f\u0259aliyy\u0259tn\u00f6v\u00fcn\u00fcnkodu",
@ -590,7 +592,8 @@
"fieldname": "r\u00fcb", "fieldname": "r\u00fcb",
"fieldtype": "Select", "fieldtype": "Select",
"label": "R\u00fcb", "label": "R\u00fcb",
"options": "1. R\u00fcb\n2. R\u00fcb\n3. R\u00fcb\n4. R\u00fcb" "options": "1. R\u00fcb\n2. R\u00fcb\n3. R\u00fcb\n4. R\u00fcb",
"hidden": 1
}, },
{ {
"fieldname": "b\u00f6lm\u0259_3", "fieldname": "b\u00f6lm\u0259_3",
@ -679,6 +682,11 @@
"fieldname": "hiss\u0259_1_2ci", "fieldname": "hiss\u0259_1_2ci",
"fieldtype": "Table", "fieldtype": "Table",
"options": "Single Declaration-Elave1_Hisse1-2ci" "options": "Single Declaration-Elave1_Hisse1-2ci"
},
{
"fieldname": "d\u00f6vr",
"fieldtype": "Data",
"label": "D\u00f6vr"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,

View File

@ -11,6 +11,7 @@
"idarə", "idarə",
"vergiorqanı", "vergiorqanı",
"vergidövrü", "vergidövrü",
"dövr",
"ay", "ay",
"il", "il",
"şəxsi", "şəxsi",
@ -99,13 +100,15 @@
"fieldname": "ay", "fieldname": "ay",
"fieldtype": "Select", "fieldtype": "Select",
"label": "Ay", "label": "Ay",
"options": "1. Rüb\n2. Rüb\n3. Rüb\n4. Rüb" "options": "1. Rüb\n2. Rüb\n3. Rüb\n4. Rüb",
"hidden": 1
}, },
{ {
"fieldname": "il", "fieldname": "il",
"fieldtype": "Int", "fieldtype": "Int",
"label": "İl", "label": "İl",
"length": 4 "length": 4,
"hidden": 1
}, },
{ {
"fieldname": "şəxsi", "fieldname": "şəxsi",
@ -392,6 +395,11 @@
"fieldname": "atasınınadı", "fieldname": "atasınınadı",
"fieldtype": "Data", "fieldtype": "Data",
"label": "Atasının adı" "label": "Atasının adı"
},
{
"fieldname": "dövr",
"fieldtype": "Data",
"label": "Dövr"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,

View File

@ -11,6 +11,7 @@
"idarə", "idarə",
"vergiorqanı", "vergiorqanı",
"vergidövrü", "vergidövrü",
"dövr",
"ay", "ay",
"il", "il",
"şəxsi", "şəxsi",
@ -72,13 +73,15 @@
"fieldname": "ay", "fieldname": "ay",
"fieldtype": "Select", "fieldtype": "Select",
"label": "Ay", "label": "Ay",
"options": "Yanvar\nFevral\nMart\nAprel\nMay\nİyun\nİyul\nAvqust\nSentyabr\nOktyabr\nNoyabr\nDekabr" "options": "Yanvar\nFevral\nMart\nAprel\nMay\nİyun\nİyul\nAvqust\nSentyabr\nOktyabr\nNoyabr\nDekabr",
"hidden": 1
}, },
{ {
"fieldname": "il", "fieldname": "il",
"fieldtype": "Int", "fieldtype": "Int",
"label": "İl", "label": "İl",
"length": 4 "length": 4,
"hidden": 1
}, },
{ {
"fieldname": "şəxsi", "fieldname": "şəxsi",
@ -238,6 +241,11 @@
"fieldname": "idarə", "fieldname": "idarə",
"fieldtype": "Section Break", "fieldtype": "Section Break",
"label": "İdarə" "label": "İdarə"
},
{
"fieldname": "dövr",
"fieldtype": "Data",
"label": "Dövr"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,

View File

@ -10,6 +10,7 @@
"section_break_owbf", "section_break_owbf",
"vergiorqanı", "vergiorqanı",
"vergidövrü", "vergidövrü",
"dövr",
"rüb", "rüb",
"il", "il",
"şəxsi", "şəxsi",
@ -76,7 +77,8 @@
"fieldname": "il", "fieldname": "il",
"fieldtype": "Int", "fieldtype": "Int",
"label": "İl", "label": "İl",
"length": 4 "length": 4,
"hidden": 1
}, },
{ {
"fieldname": "şəxsi", "fieldname": "şəxsi",
@ -182,7 +184,8 @@
"fieldname": "rüb", "fieldname": "rüb",
"fieldtype": "Select", "fieldtype": "Select",
"label": "Rüb", "label": "Rüb",
"options": "1. Rüb\n2. Rüb\n3. Rüb\n4. Rüb" "options": "1. Rüb\n2. Rüb\n3. Rüb\n4. Rüb",
"hidden": 1
}, },
{ {
"fieldname": "soyadı", "fieldname": "soyadı",
@ -239,6 +242,11 @@
"fieldname": "ödənilmiş_cəmi_məbləğlər_section", "fieldname": "ödənilmiş_cəmi_məbləğlər_section",
"fieldtype": "Section Break", "fieldtype": "Section Break",
"label": "Ödənilmiş cəmi məbləğlər" "label": "Ödənilmiş cəmi məbləğlər"
},
{
"fieldname": "dövr",
"fieldtype": "Data",
"label": "Dövr"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,