function fillFromCompanyDefaults(frm) {
    const company = frappe.defaults.get_user_default('Company')
        || frappe.defaults.get_default('Company');
    if (!company) return;

    frappe.db.get_value(
        'Company',
        company,
        ['mdssüzrə', 'icbaritibbisığortaüzrə', 'işsizlikdənsığortaüzrə', 'main_activity']
    ).then(r => {
        if (!r || !r.message) return;
        const v = r.message;
        if (v['mdssüzrə']) frm.set_value('mdssüzrə', v['mdssüzrə']);
        if (v['icbaritibbisığortaüzrə']) frm.set_value('icbaritibbisığortaüzrə', v['icbaritibbisığortaüzrə']);
        if (v['işsizlikdənsığortaüzrə']) frm.set_value('işsizlikdənsığortaüzrə', v['işsizlikdənsığortaüzrə']);
        if (v['main_activity']) frm.set_value('vergiüzrə', v['main_activity']);
    });
}

frappe.ui.form.on('Single declaration related to salaried and non-salaried work', {
    onload: function(frm) {
        if (!frm.doc.__islocal) return;
        fillFromCompanyDefaults(frm);
    },

    il: function(frm) {
        fillFromCompanyDefaults(frm);
    }
});

// Код для экспорта XML
frappe.ui.form.on('Single declaration related to salaried and non-salaried work', {
    refresh: function(frm) {
            frm.add_custom_button(__('Export XML'), function() {
                frappe.call({
                    method: 'taxes_az.taxes_az.doctype.xml_mapping_tool.xml_mapping_tool.generate_xml',
                    args: {
                        mapping_tool: 'Single declaration related to salaried and non-salaried work', // Замените на имя вашего документа XML Mapping Tool
                        doctype: 'Single declaration related to salaried and non-salaried work', // Замените на имя DocType
                        docname: frm.docname
                    },
                    callback: function(r) {
                        if (r.message) {
                            // Создаем временный элемент для скачивания
                            var element = document.createElement('a');
                            element.setAttribute('href', 'data:text/xml;charset=utf-8,' + encodeURIComponent(r.message));
                            element.setAttribute('download', frm.docname + '.xml');
                            element.style.display = 'none';
                            document.body.appendChild(element);
                            element.click();
                            document.body.removeChild(element);
                            
                            frappe.show_alert({
                                message: __('XML file generated and downloaded'),
                                indicator: 'green'
                            });
                        }
                    }
                });
            }, __('Actions'));
        }
    }
);