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": [] } ]