diff --git a/taxes_az/client/company.js b/taxes_az/client/company.js
index a015816..1f4770f 100644
--- a/taxes_az/client/company.js
+++ b/taxes_az/client/company.js
@@ -1124,14 +1124,11 @@ window.ETaxesCompany = {
const profile = profileData.profile || profileData;
const updates = ETaxesCompany._parseProfileData(profile, frm);
- // Проверяем есть ли дополнительные данные для обновления
const hasAdditionalActivities = profile.additionalActivityCodes && profile.additionalActivityCodes.length > 0;
const hasAffiliates = profile.affiliatesNames && profile.affiliatesNames.length > 0;
const hasDictionaryFields = profile.taxAuthorityCode || profile.propertyType;
- // Если есть обновления полей или дополнительные данные
if (updates.length > 0 || hasAdditionalActivities || hasAffiliates || hasDictionaryFields) {
- // Формируем сообщение для подтверждения
let confirmMessage = '';
if (updates.length > 0) {
@@ -1144,7 +1141,6 @@ window.ETaxesCompany = {
confirmMessage += changesList;
}
- // Добавляем информацию о дополнительных данных
let additionalInfo = '';
if (hasAdditionalActivities) {
additionalInfo += `
${__('Additional activities to be added')}: ${profile.additionalActivityCodes.length} ${__('activities')}`;
@@ -1163,42 +1159,60 @@ window.ETaxesCompany = {
frappe.confirm(
confirmMessage,
function() {
- // ВАЖНО: Отключаем автосохранение перед массовыми изменениями
- frm.disable_save();
-
- // Apply all field updates
+ // Собираем все обновления полей
+ let allUpdates = {};
updates.forEach(update => {
- frm.set_value(update.fieldname, update.newValue);
+ allUpdates[update.fieldname] = update.newValue;
});
- // Обновляем поля из справочников
- if (hasDictionaryFields) {
- ETaxesCompany._updateDictionaryFields(profile, frm);
+ // Обрабатываем справочники
+ let promises = [];
+
+ if (profile.taxAuthorityCode) {
+ promises.push(
+ ETaxesCompany._getTaxAuthorityName(profile.taxAuthorityCode).then((authorityName) => {
+ allUpdates['tax_authority'] = authorityName;
+ })
+ );
}
- // Задержка перед обновлением табличных частей
- setTimeout(function() {
- // Обновляем дополнительные активности
- if (hasAdditionalActivities) {
- ETaxesCompany._updateAdditionalActivities(profile, frm);
- }
-
- // Обновляем дочерние организации
- if (hasAffiliates) {
- ETaxesCompany._updateAffiliateOrganizations(profile, frm);
- }
-
- // Включаем сохранение обратно и сохраняем
- setTimeout(function() {
- frm.enable_save();
- frm.save('Update', function() {
- frappe.show_alert({
- message: __('Company data updated from E-Taxes profile'),
- indicator: 'green'
- }, 5);
- });
- }, 500);
- }, 300);
+ if (profile.propertyType) {
+ promises.push(
+ ETaxesCompany._getPropertyTypeName(profile.propertyType).then((propertyTypeName) => {
+ allUpdates['property_type'] = propertyTypeName;
+ })
+ );
+ }
+
+ Promise.all(promises).then(() => {
+ // Вызываем серверный метод для форсированного обновления
+ frappe.call({
+ method: 'taxes_az.company_etaxes.force_update_company',
+ args: {
+ company_name: frm.doc.name,
+ field_updates: allUpdates,
+ additional_activities: hasAdditionalActivities ? profile.additionalActivityCodes : [],
+ affiliate_names: hasAffiliates ? profile.affiliatesNames : [],
+ affiliate_tins: hasAffiliates ? profile.affiliatesTins : []
+ },
+ callback: function(r) {
+ if (r.message && r.message.success) {
+ // Перезагружаем форму
+ frm.reload_doc();
+
+ frappe.show_alert({
+ message: __('Company data force updated from E-Taxes profile'),
+ indicator: 'green'
+ }, 5);
+ } else {
+ frappe.msgprint(__('Error updating company data'));
+ }
+ },
+ error: function(r) {
+ frappe.msgprint(__('Server error during update'));
+ }
+ });
+ });
},
function() {
frappe.show_alert({
diff --git a/taxes_az/company_etaxes.py b/taxes_az/company_etaxes.py
index 22c04ab..ff6f27c 100644
--- a/taxes_az/company_etaxes.py
+++ b/taxes_az/company_etaxes.py
@@ -449,4 +449,91 @@ def get_default_asan_login():
return {"found": False, "message": "No Asan Login settings found."}
except Exception as e:
- return {"found": False, "error": str(e)}
\ No newline at end of file
+ return {"found": False, "error": str(e)}
+
+@frappe.whitelist()
+def force_update_company(company_name, field_updates=None, additional_activities=None, affiliate_names=None, affiliate_tins=None):
+ """Форсированное обновление полей компании через прямые SQL-запросы"""
+ import json
+
+ # Парсим JSON если нужно
+ if isinstance(field_updates, str):
+ field_updates = json.loads(field_updates) if field_updates else {}
+ if isinstance(additional_activities, str):
+ additional_activities = json.loads(additional_activities) if additional_activities else []
+ if isinstance(affiliate_names, str):
+ affiliate_names = json.loads(affiliate_names) if affiliate_names else []
+ if isinstance(affiliate_tins, str):
+ affiliate_tins = json.loads(affiliate_tins) if affiliate_tins else []
+
+ # Обновляем основные поля через SQL
+ if field_updates:
+ set_clauses = []
+ values = []
+
+ for field, value in field_updates.items():
+ set_clauses.append(f"`{field}` = %s")
+ values.append(value)
+
+ if set_clauses:
+ values.append(company_name)
+ sql = f"""
+ UPDATE `tabCompany`
+ SET {', '.join(set_clauses)}, `modified` = NOW(), `modified_by` = %s
+ WHERE `name` = %s
+ """
+ values.append(frappe.session.user)
+ values.append(company_name)
+
+ frappe.db.sql(sql, tuple(values))
+
+ # Удаляем старые записи в табличных частях
+ frappe.db.sql("""DELETE FROM `tabAdditional Activity Types` WHERE parent = %s""", company_name)
+ frappe.db.sql("""DELETE FROM `tabAffiliate Organizations` WHERE parent = %s""", company_name)
+
+ # Добавляем новые additional activities
+ if additional_activities:
+ for idx, activity_code in enumerate(additional_activities):
+ if activity_code and activity_code.strip():
+ # Проверяем существование Main type of activity
+ if frappe.db.exists("Main type of activity", activity_code.strip()):
+ frappe.db.sql("""
+ INSERT INTO `tabAdditional Activity Types`
+ (name, parent, parenttype, parentfield, idx, activity_type, docstatus)
+ VALUES (%s, %s, 'Company', 'additional_activity_types', %s, %s, 1)
+ """, (
+ frappe.generate_hash(length=10),
+ company_name,
+ idx + 1,
+ activity_code.strip()
+ ))
+
+ # Добавляем новые affiliate organizations
+ if affiliate_names or affiliate_tins:
+ max_length = max(len(affiliate_names or []), len(affiliate_tins or []))
+ for idx in range(max_length):
+ org_name = affiliate_names[idx] if affiliate_names and idx < len(affiliate_names) else ""
+ org_tin = affiliate_tins[idx] if affiliate_tins and idx < len(affiliate_tins) else ""
+
+ if org_name or org_tin:
+ if not org_name and org_tin:
+ org_name = f"Organization (TIN: {org_tin})"
+
+ frappe.db.sql("""
+ INSERT INTO `tabAffiliate Organizations`
+ (name, parent, parenttype, parentfield, idx, organization_name, organization_tin, docstatus)
+ VALUES (%s, %s, 'Company', 'affiliate_organizations', %s, %s, %s, 1)
+ """, (
+ frappe.generate_hash(length=10),
+ company_name,
+ idx + 1,
+ org_name,
+ org_tin or None
+ ))
+
+ frappe.db.commit()
+
+ # Очищаем кэш
+ frappe.clear_cache(doctype="Company")
+
+ return {"success": True, "message": "Company updated successfully"}
\ No newline at end of file
diff --git a/taxes_az/fixtures/client_script.json b/taxes_az/fixtures/client_script.json
index 63d99bd..d8c28e1 100644
--- a/taxes_az/fixtures/client_script.json
+++ b/taxes_az/fixtures/client_script.json
@@ -1,4 +1,103 @@
[
+ {
+ "docstatus": 0,
+ "doctype": "Client Script",
+ "dt": "Property tax return",
+ "enabled": 0,
+ "modified": "2025-08-04 19:19:28.002273",
+ "module": "Taxes Az",
+ "name": "DefaultProperty tax return Emlak vergi hesablamasi 3cu cedvel 1",
+ "script": "frappe.ui.form.on('Property tax return', {\r\n onload: function(frm) {\r\n if (!frm.doc.__islocal) return; \r\n\r\n if (!frm.doc.table_qqlq) {\r\n frm.set_value('table_qqlq', []); \r\n }\r\n\r\n const default_rows = [\r\n { göstəricilər: '503. Əsas vəsaitlərin ümumi dəyəri', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: '503.1 Vergiyə cəlb olunan əsas vəsaitlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: '503.1.1 Qeyri-kommersiya fəaliyyətində istifadə olunan əsas vəsaitlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: '503.2 Vergidən azad olunan əsas vəsaitlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n ];\r\n\r\n default_rows.forEach(row => {\r\n frm.add_child('table_qqlq', row);\r\n });\r\n\r\n frm.refresh_field('table_qqlq'); \r\n }\r\n});",
+ "view": "Form"
+ },
+ {
+ "docstatus": 0,
+ "doctype": "Client Script",
+ "dt": "Declaration of mining tax",
+ "enabled": 1,
+ "modified": "2025-01-12 17:29:18.935015",
+ "module": "Taxes Az",
+ "name": "DefaultDeclaration of mining tax Faydali qazintilarin hasilati 2020",
+ "script": "//table_kiqg - Table Adı\r\n//frappe.ui.form.on('Declaration of mining tax' - Doctype Adı\r\n//faydalıqazıntılarınadı və verginindərəcəsimanatla - kolonka adı\r\n\r\n\r\n\r\nfrappe.ui.form.on('Declaration of mining tax', {\r\n onload: function(frm) {\r\n if (!frm.doc.__islocal) return; \r\n\r\n if (!frm.doc.table_kiqg) {\r\n frm.set_value('table_kiqg', []); \r\n }\r\n\r\n //burda dəyişik et\r\n if (frm.doc.il === 2025) { \r\n const default_rows_2025 = [\r\n { faydalıqazıntılarınadı: '704. Mişar daşları', verginindərəcəsimanatla: '2.0' }, //məsəl üçün 2020 lazım deyilsə, onda bu 2 sətrləri sil prosto\r\n { faydalıqazıntılarınadı: '705. Üzlük daşları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '706. Seolit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '707. Barit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '708. Yüngül doldurucuların istehsalı üçün', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '709. Vulkan külü və pemza', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '710. Kvars qumları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '711. Sement xammalı', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '712. Duz', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '713. Qiymətli və yarımqiymətli bəzək daşları', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '714. Yodlu bromlu sular', verginindərəcəsimanatla: '0.04' },\r\n { faydalıqazıntılarınadı: '715. Mineral sular', verginindərəcəsimanatla: '10.0' },\r\n { faydalıqazıntılarınadı: '716.Bentonit gillər', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '717. Kərpic-kirəmid gilləri', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '718. Tikinti qumları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '719. Çınqıl xammalı', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '720. Gips, gəc', verginindərəcəsimanatla: '1.0' },\r\n ];\r\n default_rows_2025.forEach(row => {\r\n frm.add_child('table_kiqg', row);\r\n });\r\n } else if (frm.doc.il === 2024) { \r\n const default_rows_2024 = [\r\n { faydalıqazıntılarınadı: '704. Mişar daşları', verginindərəcəsimanatla: '2.0' }, //məsəl üçün 2020 lazım deyilsə, onda bu 2 sətrləri sil prosto\r\n { faydalıqazıntılarınadı: '705. Üzlük daşları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '706. Seolit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '707. Barit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '708. Yüngül doldurucuların istehsalı üçün', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '709. Vulkan külü və pemza', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '710. Kvars qumları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '711. Sement xammalı', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '712. Duz', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '713. Qiymətli və yarımqiymətli bəzək daşları', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '714. Yodlu bromlu sular', verginindərəcəsimanatla: '0.04' },\r\n { faydalıqazıntılarınadı: '715. Mineral sular', verginindərəcəsimanatla: '10.0' },\r\n { faydalıqazıntılarınadı: '716.Bentonit gillər', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '717. Kərpic-kirəmid gilləri', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '718. Tikinti qumları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '719. Çınqıl xammalı', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '720. Gips, gəc', verginindərəcəsimanatla: '1.0' },\r\n ];\r\n default_rows_2024.forEach(row => {\r\n frm.add_child('table_kiqg', row);\r\n });\r\n } else if (frm.doc.il === 2023) {\r\n const default_rows_2023 = [\r\n { faydalıqazıntılarınadı: '704. Mişar daşları', verginindərəcəsimanatla: '2.0' }, //məsəl üçün 2020 lazım deyilsə, onda bu 2 sətrləri sil prosto\r\n { faydalıqazıntılarınadı: '705. Üzlük daşları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '706. Seolit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '707. Barit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '708. Yüngül doldurucuların istehsalı üçün', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '709. Vulkan külü və pemza', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '710. Kvars qumları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '711. Sement xammalı', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '712. Duz', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '713. Qiymətli və yarımqiymətli bəzək daşları', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '714. Yodlu bromlu sular', verginindərəcəsimanatla: '0.04' },\r\n { faydalıqazıntılarınadı: '715. Mineral sular', verginindərəcəsimanatla: '10.0' },\r\n { faydalıqazıntılarınadı: '716.Bentonit gillər', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '717. Kərpic-kirəmid gilləri', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '718. Tikinti qumları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '719. Çınqıl xammalı', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '720. Gips, gəc', verginindərəcəsimanatla: '1.0' },\r\n ];\r\n default_rows_2023.forEach(row => {\r\n frm.add_child('table_kiqg', row);\r\n });\r\n } else if (frm.doc.il === 2022) {\r\n const default_rows_2022 = [\r\n { faydalıqazıntılarınadı: '704. Mişar daşları', verginindərəcəsimanatla: '2.0' }, //məsəl üçün 2020 lazım deyilsə, onda bu 2 sətrləri sil prosto\r\n { faydalıqazıntılarınadı: '705. Üzlük daşları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '706. Seolit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '707. Barit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '708. Yüngül doldurucuların istehsalı üçün', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '709. Vulkan külü və pemza', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '710. Kvars qumları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '711. Sement xammalı', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '712. Duz', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '713. Qiymətli və yarımqiymətli bəzək daşları', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '714. Yodlu bromlu sular', verginindərəcəsimanatla: '0.04' },\r\n { faydalıqazıntılarınadı: '715. Mineral sular', verginindərəcəsimanatla: '10.0' },\r\n { faydalıqazıntılarınadı: '716.Bentonit gillər', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '717. Kərpic-kirəmid gilləri', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '718. Tikinti qumları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '719. Çınqıl xammalı', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '720. Gips, gəc', verginindərəcəsimanatla: '1.0' },\r\n ];\r\n default_rows_2022.forEach(row => {\r\n frm.add_child('table_kiqg', row);\r\n });\r\n } else if (frm.doc.il === 2021) {\r\n const default_rows_2021 = [\r\n { faydalıqazıntılarınadı: '704. Mişar daşları', verginindərəcəsimanatla: '2.0' }, //məsəl üçün 2020 lazım deyilsə, onda bu 2 sətrləri sil prosto\r\n { faydalıqazıntılarınadı: '705. Üzlük daşları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '706. Seolit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '707. Barit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '708. Yüngül doldurucuların istehsalı üçün', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '709. Vulkan külü və pemza', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '710. Kvars qumları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '711. Sement xammalı', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '712. Duz', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '713. Qiymətli və yarımqiymətli bəzək daşları', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '714. Yodlu bromlu sular', verginindərəcəsimanatla: '0.04' },\r\n { faydalıqazıntılarınadı: '715. Mineral sular', verginindərəcəsimanatla: '10.0' },\r\n { faydalıqazıntılarınadı: '716.Bentonit gillər', verginindərəcəsimanatla: '1.0' },\r\n ];\r\n default_rows_2021.forEach(row => {\r\n frm.add_child('table_kiqg', row);\r\n });\r\n } else if (frm.doc.il === 2020) {\r\n const default_rows_2020 = [\r\n { faydalıqazıntılarınadı: '704. Mişar daşları', verginindərəcəsimanatla: '2.0' }, //məsəl üçün 2020 lazım deyilsə, onda bu 2 sətrləri sil prosto\r\n { faydalıqazıntılarınadı: '705. Üzlük daşları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '706. Seolit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '707. Barit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '708. Yüngül doldurucuların istehsalı üçün', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '709. Vulkan külü və pemza', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '710. Kvars qumları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '711. Sement xammalı', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '712. Duz', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '713. Qiymətli və yarımqiymətli bəzək daşları', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '714. Yodlu bromlu sular', verginindərəcəsimanatla: '0.04' },\r\n { faydalıqazıntılarınadı: '715. Mineral sular', verginindərəcəsimanatla: '10.0' },\r\n { faydalıqazıntılarınadı: '716.Bentonit gillər', verginindərəcəsimanatla: '1.0' },\r\n ];\r\n default_rows_2020.forEach(row => {\r\n frm.add_child('table_kiqg', row);\r\n });\r\n }\r\n\r\n frm.refresh_field('table_kiqg'); \r\n },\r\n\r\n il: function(frm) {\r\n frm.set_value('table_kiqg', []); \r\n\r\n //və burda dəyişik et\r\n if (frm.doc.il === 2025) { \r\n const default_rows_2025 = [\r\n { faydalıqazıntılarınadı: '704. Mişar daşları', verginindərəcəsimanatla: '2.0' }, //məsəl üçün 2020 lazım deyilsə, onda bu 2 sətrləri sil prosto\r\n { faydalıqazıntılarınadı: '705. Üzlük daşları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '706. Seolit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '707. Barit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '708. Yüngül doldurucuların istehsalı üçün', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '709. Vulkan külü və pemza', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '710. Kvars qumları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '711. Sement xammalı', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '712. Duz', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '713. Qiymətli və yarımqiymətli bəzək daşları', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '714. Yodlu bromlu sular', verginindərəcəsimanatla: '0.04' },\r\n { faydalıqazıntılarınadı: '715. Mineral sular', verginindərəcəsimanatla: '10.0' },\r\n { faydalıqazıntılarınadı: '716.Bentonit gillər', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '717. Kərpic-kirəmid gilləri', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '718. Tikinti qumları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '719. Çınqıl xammalı', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '720. Gips, gəc', verginindərəcəsimanatla: '1.0' },\r\n ];\r\n default_rows_2025.forEach(row => {\r\n frm.add_child('table_kiqg', row);\r\n });\r\n } else if (frm.doc.il === 2024) { \r\n const default_rows_2024 = [\r\n { faydalıqazıntılarınadı: '704. Mişar daşları', verginindərəcəsimanatla: '2.0' }, //məsəl üçün 2020 lazım deyilsə, onda bu 2 sətrləri sil prosto\r\n { faydalıqazıntılarınadı: '705. Üzlük daşları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '706. Seolit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '707. Barit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '708. Yüngül doldurucuların istehsalı üçün', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '709. Vulkan külü və pemza', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '710. Kvars qumları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '711. Sement xammalı', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '712. Duz', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '713. Qiymətli və yarımqiymətli bəzək daşları', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '714. Yodlu bromlu sular', verginindərəcəsimanatla: '0.04' },\r\n { faydalıqazıntılarınadı: '715. Mineral sular', verginindərəcəsimanatla: '10.0' },\r\n { faydalıqazıntılarınadı: '716.Bentonit gillər', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '717. Kərpic-kirəmid gilləri', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '718. Tikinti qumları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '719. Çınqıl xammalı', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '720. Gips, gəc', verginindərəcəsimanatla: '1.0' },\r\n ];\r\n default_rows_2024.forEach(row => {\r\n frm.add_child('table_kiqg', row);\r\n });\r\n } else if (frm.doc.il === 2023) {\r\n const default_rows_2023 = [\r\n { faydalıqazıntılarınadı: '704. Mişar daşları', verginindərəcəsimanatla: '2.0' }, //məsəl üçün 2020 lazım deyilsə, onda bu 2 sətrləri sil prosto\r\n { faydalıqazıntılarınadı: '705. Üzlük daşları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '706. Seolit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '707. Barit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '708. Yüngül doldurucuların istehsalı üçün', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '709. Vulkan külü və pemza', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '710. Kvars qumları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '711. Sement xammalı', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '712. Duz', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '713. Qiymətli və yarımqiymətli bəzək daşları', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '714. Yodlu bromlu sular', verginindərəcəsimanatla: '0.04' },\r\n { faydalıqazıntılarınadı: '715. Mineral sular', verginindərəcəsimanatla: '10.0' },\r\n { faydalıqazıntılarınadı: '716.Bentonit gillər', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '717. Kərpic-kirəmid gilləri', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '718. Tikinti qumları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '719. Çınqıl xammalı', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '720. Gips, gəc', verginindərəcəsimanatla: '1.0' },\r\n ];\r\n default_rows_2023.forEach(row => {\r\n frm.add_child('table_kiqg', row);\r\n });\r\n } else if (frm.doc.il === 2022) {\r\n const default_rows_2022 = [\r\n { faydalıqazıntılarınadı: '704. Mişar daşları', verginindərəcəsimanatla: '2.0' }, //məsəl üçün 2020 lazım deyilsə, onda bu 2 sətrləri sil prosto\r\n { faydalıqazıntılarınadı: '705. Üzlük daşları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '706. Seolit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '707. Barit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '708. Yüngül doldurucuların istehsalı üçün', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '709. Vulkan külü və pemza', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '710. Kvars qumları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '711. Sement xammalı', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '712. Duz', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '713. Qiymətli və yarımqiymətli bəzək daşları', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '714. Yodlu bromlu sular', verginindərəcəsimanatla: '0.04' },\r\n { faydalıqazıntılarınadı: '715. Mineral sular', verginindərəcəsimanatla: '10.0' },\r\n { faydalıqazıntılarınadı: '716.Bentonit gillər', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '717. Kərpic-kirəmid gilləri', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '718. Tikinti qumları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '719. Çınqıl xammalı', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '720. Gips, gəc', verginindərəcəsimanatla: '1.0' },\r\n ];\r\n default_rows_2022.forEach(row => {\r\n frm.add_child('table_kiqg', row);\r\n });\r\n } else if (frm.doc.il === 2021) {\r\n const default_rows_2021 = [\r\n { faydalıqazıntılarınadı: '704. Mişar daşları', verginindərəcəsimanatla: '2.0' }, //məsəl üçün 2020 lazım deyilsə, onda bu 2 sətrləri sil prosto\r\n { faydalıqazıntılarınadı: '705. Üzlük daşları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '706. Seolit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '707. Barit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '708. Yüngül doldurucuların istehsalı üçün', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '709. Vulkan külü və pemza', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '710. Kvars qumları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '711. Sement xammalı', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '712. Duz', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '713. Qiymətli və yarımqiymətli bəzək daşları', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '714. Yodlu bromlu sular', verginindərəcəsimanatla: '0.04' },\r\n { faydalıqazıntılarınadı: '715. Mineral sular', verginindərəcəsimanatla: '10.0' },\r\n { faydalıqazıntılarınadı: '716.Bentonit gillər', verginindərəcəsimanatla: '1.0' },\r\n ];\r\n default_rows_2021.forEach(row => {\r\n frm.add_child('table_kiqg', row);\r\n });\r\n } else if (frm.doc.il === 2020) {\r\n const default_rows_2020 = [\r\n { faydalıqazıntılarınadı: '704. Mişar daşları', verginindərəcəsimanatla: '2.0' }, //məsəl üçün 2020 lazım deyilsə, onda bu 2 sətrləri sil prosto\r\n { faydalıqazıntılarınadı: '705. Üzlük daşları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '706. Seolit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '707. Barit', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '708. Yüngül doldurucuların istehsalı üçün', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '709. Vulkan külü və pemza', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '710. Kvars qumları', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '711. Sement xammalı', verginindərəcəsimanatla: '1.0' },\r\n { faydalıqazıntılarınadı: '712. Duz', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '713. Qiymətli və yarımqiymətli bəzək daşları', verginindərəcəsimanatla: '6.0' },\r\n { faydalıqazıntılarınadı: '714. Yodlu bromlu sular', verginindərəcəsimanatla: '0.04' },\r\n { faydalıqazıntılarınadı: '715. Mineral sular', verginindərəcəsimanatla: '10.0' },\r\n { faydalıqazıntılarınadı: '716.Bentonit gillər', verginindərəcəsimanatla: '1.0' },\r\n ];\r\n default_rows_2020.forEach(row => {\r\n frm.add_child('table_kiqg', row);\r\n });\r\n }\r\n\r\n frm.refresh_field('table_kiqg'); \r\n }\r\n});\r\n",
+ "view": "Form"
+ },
+ {
+ "docstatus": 0,
+ "doctype": "Client Script",
+ "dt": "Single declaration related to salaried and non-salaried work",
+ "enabled": 1,
+ "modified": "2025-02-07 19:15:44.492027",
+ "module": "Taxes Az",
+ "name": "SingleDeclarationRelatedToSalariedAndNon-SalariedWorkElave3-1",
+ "script": "frappe.ui.form.on('Single declaration related to salaried and non-salaried work', {\r\n onload: function(frm) {\r\n if (!frm.doc.__islocal) return; \r\n\r\n if (!frm.doc.table_zurm) {\r\n frm.set_value('table_zurm', []); \r\n }\r\n\r\n const default_rows = [\r\n { göstəricilər: 'İşçilərin ümumi sayı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Faktiki işə cəlb olunan işçilərin sayı', SahəAdı2: 'Məlumat' },\r\n ];\r\n\r\n default_rows.forEach(row => {\r\n frm.add_child('table_zurm', row);\r\n });\r\n\r\n frm.refresh_field('table_zurm'); \r\n }\r\n});",
+ "view": "Form"
+ },
+ {
+ "docstatus": 0,
+ "doctype": "Client Script",
+ "dt": "Single declaration related to salaried and non-salaried work",
+ "enabled": 1,
+ "modified": "2025-02-07 19:17:50.796881",
+ "module": "Taxes Az",
+ "name": "SingleDeclarationRelatedToSalariedAndNon-SalariedWorkElave3-2",
+ "script": "frappe.ui.form.on('Single declaration related to salaried and non-salaried work', {\r\n onload: function(frm) {\r\n if (!frm.doc.__islocal) return; \r\n\r\n if (!frm.doc.table_jsoo) {\r\n frm.set_value('table_jsoo', []); \r\n }\r\n\r\n const default_rows = [\r\n { göstəricilər: 'Gəlirlər, cəmi', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Hesablanmış əmək haqqı və digər gəlirlər', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'O cümlədən əmək haqqının tərkibinə daxil olmayan gəlirlər', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'İstifadə edilməmiş əmək məzuniyyətinə görə hesablanmış kompensasiya məbləği', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Həyatın yığım sığortasına cəlb olunmuş məbləğə nisbətdə (vaxtından əvvəl müqaviləyə xitam verildiyi halda )', SahəAdı2: 'Məlumat' },\r\n ];\r\n\r\n default_rows.forEach(row => {\r\n frm.add_child('table_jsoo', row);\r\n });\r\n\r\n frm.refresh_field('table_jsoo'); \r\n }\r\n});",
+ "view": "Form"
+ },
+ {
+ "docstatus": 0,
+ "doctype": "Client Script",
+ "dt": "Single declaration related to salaried and non-salaried work",
+ "enabled": 1,
+ "modified": "2025-02-07 19:19:42.101289",
+ "module": "Taxes Az",
+ "name": "SingleDeclarationRelatedToSalariedAndNon-SalariedWorkElave3-3",
+ "script": "frappe.ui.form.on('Single declaration related to salaried and non-salaried work', {\r\n onload: function(frm) {\r\n if (!frm.doc.__islocal) return; \r\n\r\n if (!frm.doc.table_crkw) {\r\n frm.set_value('table_crkw', []); \r\n }\r\n\r\n const default_rows = [\r\n { göstəricilər: 'Muzdlu işlə əlaqəli ödəmə mənbəyində tutulan vergilər üzrə güzəşt və azadolmalar', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Məcburi dövlət sosial sığorta haqqına cəlb olunmayan gəlirlər', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'İşsizlikdən sığorta haqqına cəlb olunmayan gəlirlər', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'İcbari tibbi sığorta haqqına cəlb olunmayan gəlirlər', SahəAdı2: 'Məlumat' },\r\n ];\r\n\r\n default_rows.forEach(row => {\r\n frm.add_child('table_crkw', row);\r\n });\r\n\r\n frm.refresh_field('table_crkw'); \r\n }\r\n});",
+ "view": "Form"
+ },
+ {
+ "docstatus": 0,
+ "doctype": "Client Script",
+ "dt": "Single declaration related to salaried and non-salaried work",
+ "enabled": 1,
+ "modified": "2025-02-07 19:25:12.513505",
+ "module": "Taxes Az",
+ "name": "SingleDeclarationRelatedToSalariedAndNon-SalariedWorkElave5-1",
+ "script": "frappe.ui.form.on('Single declaration related to salaried and non-salaried work', {\r\n onload: function(frm) {\r\n if (!frm.doc.__islocal) return; \r\n\r\n if (!frm.doc.table_ukdx) {\r\n frm.set_value('table_ukdx', []); \r\n }\r\n\r\n const default_rows = [\r\n { göstəricilər: 'Məcburi dövlət sosial sığorta haqqına cəlb olunan gəlirlər', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Hesablama (cəmi)', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Hesablanmış məcburi dövlət sosial sığorta haqqı (cəmi)', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Sığortaedənin hesabına məcburi dövlət sosial sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Hesablanmış əmək haqqı və digər gəlirlərə nisbətdə MDSS haqqı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'İstifadə edilməmiş əmək məzuniyyətinə görə hesablanmış kompensasiya məbləğinə nisbətdə MDSS haqqı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Həyatın yığım sığortasına cəlb olunmuş məbləğə nisbətdə (vaxtından əvvəl müqaviləyə xitam verildiyi halda)', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Sığortaolunanın (işçinin) hesabına məcburi dövlət sosial sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Hesablanmış əmək haqqı və digər gəlirlərə nisbətdə MDSS haqqı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'İstifadə edilməmiş əmək məzuniyyətinə görə hesablanmış kompensasiya məbləğinə nisbətdə MDSS haqqı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Həyatın yığım sığortasına cəlb olunmuş məbləğə nisbətdə (vaxtından əvvəl müqaviləyə xitam verildiyi halda)', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Sığortaolunanın (işçinin) hesabına məcburi dövlət sosial sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Hesablanmış əmək haqqı və digər gəlirlərə nisbətdə MDSS haqqı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'İstifadə edilməmiş əmək məzuniyyətinə görə hesablanmış kompensasiya məbləğinə nisbətdə MDSS haqqı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Digər', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Sanatoriya kurort yollayışlarının dəyərinin qismən ödənilməsi', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Əmək zədəsi və peşə xəstəliyi üzrə müavinətlərin geri qaytarılması', SahəAdı2: 'Məlumat' },\r\n ];\r\n\r\n default_rows.forEach(row => {\r\n frm.add_child('table_ukdx', row);\r\n });\r\n\r\n frm.refresh_field('table_ukdx'); \r\n }\r\n});",
+ "view": "Form"
+ },
+ {
+ "docstatus": 0,
+ "doctype": "Client Script",
+ "dt": "Single declaration related to salaried and non-salaried work",
+ "enabled": 1,
+ "modified": "2025-02-07 19:28:15.179882",
+ "module": "Taxes Az",
+ "name": "SingleDeclarationRelatedToSalariedAndNon-SalariedWorkElave5-2",
+ "script": "frappe.ui.form.on('Single declaration related to salaried and non-salaried work', {\r\n onload: function(frm) {\r\n if (!frm.doc.__islocal) return; \r\n\r\n if (!frm.doc.table_zwzv) {\r\n frm.set_value('table_zwzv', []); \r\n }\r\n\r\n const default_rows = [\r\n { göstəricilər: 'İşsizlikdən sığorta haqqına cəlb edilən gəlirlər', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Hesablama (cəmi)', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Hesablanmış işsizlikdən sığorta haqqı (cəmi)', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Sığortaedənin hesabına işsizlikdən sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Sığortaolunanın hesabına işsizlikdən sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Digər mənbələr', SahəAdı2: 'Məlumat' },\r\n ];\r\n\r\n default_rows.forEach(row => {\r\n frm.add_child('table_zwzv', row);\r\n });\r\n\r\n frm.refresh_field('table_zwzv'); \r\n }\r\n});",
+ "view": "Form"
+ },
+ {
+ "docstatus": 0,
+ "doctype": "Client Script",
+ "dt": "Single declaration related to salaried and non-salaried work",
+ "enabled": 1,
+ "modified": "2025-02-07 19:31:09.856380",
+ "module": "Taxes Az",
+ "name": "SingleDeclarationRelatedToSalariedAndNon-SalariedWorkElave5-3",
+ "script": "frappe.ui.form.on('Single declaration related to salaried and non-salaried work', {\r\n onload: function(frm) {\r\n if (!frm.doc.__islocal) return; \r\n\r\n if (!frm.doc.table_pkqe) {\r\n frm.set_value('table_pkqe', []); \r\n }\r\n\r\n const default_rows = [\r\n { göstəricilər: 'İcbari tibbi sığorta haqqına cəlb edilən gəlirlər', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Hesablanmış icbari tibbi sığorta haqqı, cəmi', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Sığortalının hesabına icbari tibbi sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Sığortaolunanın hesabına icbari tibbi sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n ];\r\n\r\n default_rows.forEach(row => {\r\n frm.add_child('table_pkqe', row);\r\n });\r\n\r\n frm.refresh_field('table_pkqe'); \r\n }\r\n});",
+ "view": "Form"
+ },
+ {
+ "docstatus": 0,
+ "doctype": "Client Script",
+ "dt": "Single declaration related to salaried and non-salaried work",
+ "enabled": 1,
+ "modified": "2025-02-07 19:59:24.473216",
+ "module": "Taxes Az",
+ "name": "SingleDeclarationRelatedToSalariedAndNon-SalariedWorkElave4",
+ "script": "frappe.ui.form.on('Single declaration related to salaried and non-salaried work', {\r\n onload: function(frm) {\r\n if (!frm.doc.__islocal) return; \r\n\r\n if (!frm.doc.table_yidf) {\r\n frm.set_value('table_yidf', []); \r\n }\r\n\r\n const default_rows = [\r\n { göstəricilər: 'Muzdlu işlə əlaqədar hesablamalar', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'AR hüdudlarından kənarda muzdlu işlə əlaqədar hesablamalar', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'O cümlədən, rəsmi bəyan edilməklə hesablamalar', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Yerli fiziki şəxslər üzrə hesablamalar', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'VM-nin 98.2-ci maddəsinə əsasən yerli fiziki şəxslər üzrə hesablamalar', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'İstifadə edilməmiş əmək məzuniyyətinə görə ödənilmiş kompensasiya məbləği', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Xarici fiziki şəxslər üzrə hesablamalar (manatla)', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Xarici fiziki şəxslər üzrə hesablamalar (ABŞ dolları ilə)', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'VM-nin 98.2-ci maddəsinə əsasən xarici fiziki şəxslər üzrə hesablamalar (manatla)', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'VM-nin 98.2-ci maddəsinə əsasən xarici fiziki şəxslər üzrə hesablamalar (ABŞ dolları ilə)', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'İstifadə edilməmiş əmək məzuniyyətinə görə ödənilmiş kompensasiya məbləği (manatla)', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'İstifadə edilməmiş əmək məzuniyyətinə görə ödənilmiş kompensasiya məbləği (ABŞ dolları ilə)', SahəAdı2: 'Məlumat' },\r\n ];\r\n\r\n default_rows.forEach(row => {\r\n frm.add_child('table_yidf', row);\r\n });\r\n\r\n frm.refresh_field('table_yidf'); \r\n }\r\n});",
+ "view": "Form"
+ },
{
"docstatus": 0,
"doctype": "Client Script",
diff --git a/taxes_az/fixtures/item_tax_template.json b/taxes_az/fixtures/item_tax_template.json
new file mode 100644
index 0000000..6a6786e
--- /dev/null
+++ b/taxes_az/fixtures/item_tax_template.json
@@ -0,0 +1,51 @@
+[
+ {
+ "company": "Ali Pupu",
+ "disabled": 0,
+ "docstatus": 0,
+ "doctype": "Item Tax Template",
+ "modified": "2025-08-22 14:39:02.957015",
+ "name": "ƏDV-dən azadolma",
+ "taxes": [
+ {
+ "tax_rate": 0.0,
+ "tax_type": "521.3 - ƏDV - AP"
+ }
+ ],
+ "title": "ƏDV-dən azadolma"
+ },
+ {
+ "company": "Ali Pupu",
+ "disabled": 0,
+ "docstatus": 0,
+ "doctype": "Item Tax Template",
+ "modified": "2025-08-22 14:35:17.356794",
+ "name": "ƏDV 0%",
+ "taxes": [
+ {
+ "tax_rate": 0.0,
+ "tax_type": "521.3 - ƏDV"
+ }
+ ],
+ "title": "ƏDV 0%"
+ },
+ {
+ "company": "Ali Pupu",
+ "disabled": 0,
+ "docstatus": 0,
+ "doctype": "Item Tax Template",
+ "modified": "2025-08-22 14:38:38.387654",
+ "name": "ƏDV 18%",
+ "taxes": [
+ {
+ "tax_rate": 18.0,
+ "tax_type": "521.3 - ƏDV"
+ },
+ {
+ "tax_rate": 20.0,
+ "tax_type": "521.7 - Yol vergisi"
+ }
+ ],
+ "title": "ƏDV 18%"
+ }
+]
\ No newline at end of file
diff --git a/taxes_az/hooks.py b/taxes_az/hooks.py
index ac5b17d..f4151e9 100644
--- a/taxes_az/hooks.py
+++ b/taxes_az/hooks.py
@@ -31,6 +31,10 @@ fixtures = [
{
"doctype": "Business Classification",
"filters": []
+ },
+ {
+ "doctype": "Item Tax Template",
+ "filters": []
}
]