<?xml version="1.0" encoding="utf-8" ?> <!-- Copyright 2016 Jairo Llopis <jairo.llopis@tecnativa.com> License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). --> <odoo> <record id="view_update_multi_chart" model="ir.ui.view"> <field name="name">Update Chart of Accounts from a Chart Template</field> <field name="model">wizard.update.charts.accounts</field> <field name="arch" type="xml"> <form> <header> <field name="state" select="2" widget="statusbar" statusbar_visible="init,ready,done" statusbar_colors='{"ready":"blue","done":"blue"}' /> </header> <div attrs="{'invisible':[('state','!=','init')]}"> <h3> <p> <center> This wizard will update your accounts, taxes and fiscal positions according to the selected chart template </center> </p> </h3> </div> <group string="Chart of Accounts" attrs="{'invisible':[('state','!=','init')]}" > <field name="company_id" attrs="{'invisible':[('state','!=','init')]}" /> <field name="code_digits" invisible="1" /> <field name="chart_template_id" domain="[('visible', '=', True)]" attrs="{'invisible': [('state','!=','init')], 'required': True}" /> <field name="lang" attrs="{'invisible':[('state','!=','init')]}" /> </group> <notebook attrs="{'invisible':[('state','!=','init')]}"> <page string="General options" name="page_general_options"> <group> <group string="Update records?"> <field name="update_tax" /> <field name="update_account" /> <field name="update_account_group" /> <field name="update_fiscal_position" /> </group> <group string="Other options" attrs="{'invisible':[('state','!=','init')]}" > <field name="continue_on_errors" /> <field name="recreate_xml_ids" /> </group> </group> <div> <h5> <p> If you leave these options set, the wizard will not just create new records, but also update records with changes (i.e. different tax amount) </p> <p> Note: Only the changed fields are updated. </p> </h5> </div> </page> <page string="Field options" attrs="{'invisible': [ ('update_tax', '=', False), ('update_account', '=', False), ('update_fiscal_position', '=', False), ('update_account_group', '=', False), ]}" > <h3> <p> Here you can select the fields you want to check if they have been updated in the templates. </p> </h3> <notebook> <page string="Taxes" name="page_fields_taxes" attrs="{'invisible': [('update_tax', '=', False)]}" > <group> <field name="update_tax_repartition_line_account" attrs="{'invisible':[('update_tax', '=', False)]}" /> <field name="update_tax_repartition_line_tags" attrs="{'invisible':[('update_tax', '=', False)]}" /> </group> <field name="tax_field_ids" widget="many2many_checkboxes" context="{'account_chart_update': True}" /> </page> <page string="Accounts" name="page_fields_accounts" attrs="{'invisible': [('update_account', '=', False)]}" > <field name="account_field_ids" widget="many2many_checkboxes" context="{'account_chart_update': True}" /> </page> <page string="Account groups" name="page_fields_account_groups" attrs="{'invisible': [('update_account_group', '=', False)]}" > <field name="account_group_field_ids" widget="many2many_checkboxes" context="{'account_chart_update': True}" /> </page> <page string="Fiscal positions" name="page_fields_fps" attrs="{'invisible': [('update_fiscal_position', '=', False)]}" > <field name="fp_field_ids" widget="many2many_checkboxes" context="{'account_chart_update': True}" /> </page> </notebook> </page> <page string="Matching" attrs="{'invisible': [ ('update_tax', '=', False), ('update_account', '=', False), ('update_fiscal_position', '=', False), ('update_account_group', '=', False), ]}" > <h3> <p>Here you can set the matching order.</p> </h3> <notebook> <page string="Taxes" name="page_matching_taxes" attrs="{'invisible': [('update_tax', '=', False)]}" > <field name="tax_matching_ids"> <tree create="false" edit="false" default_order="sequence" > <field name="sequence" widget="handle" /> <field name="matching_value" /> </tree> <form> <field name="matching_value" readonly="1" /> </form> </field> </page> <page string="Accounts" name="page_matching_accounts" attrs="{'invisible': [('update_account', '=', False)]}" > <field name="account_matching_ids"> <tree create="false" edit="false" default_order="sequence" > <field name="sequence" widget="handle" /> <field name="matching_value" /> </tree> <form> <field name="matching_value" readonly="1" /> </form> </field> </page> <page string="Account groups" name="page_matching_account_groups" attrs="{'invisible': [('update_account_group', '=', False)]}" > <field name="account_group_matching_ids"> <tree create="false" edit="false" default_order="sequence" > <field name="sequence" widget="handle" /> <field name="matching_value" /> </tree> <form> <field name="matching_value" readonly="1" /> </form> </field> </page> <page string="Fiscal positions" name="page_matching_fps" attrs="{'invisible': [('update_fiscal_position', '=', False)]}" > <field name="fp_matching_ids"> <tree create="false" edit="false" default_order="sequence" > <field name="sequence" widget="handle" /> <field name="matching_value" /> </tree> <form> <field name="matching_value" readonly="1" /> </form> </field> </page> </notebook> </page> </notebook> <div attrs="{'invisible':[('state','!=','ready')]}"> <h3>Records to create/update</h3> <notebook> <page string="Taxes" attrs="{'invisible': [('update_tax', '=', False)]}" > <field name="tax_ids" nolabel="1"> <tree decoration-danger="type=='updated'"> <field name="tax_id" /> <field name="update_tax_id" /> <field name="type_tax_use" /> <field name="notes" /> <field name="type" /> </tree> <form> <group col="2"> <group> <field name="recreate_xml_ids" invisible="1" /> <field name="tax_id" /> <field name="type" attrs="{'readonly': [('recreate_xml_ids','=', False)]}" /> <field name="notes" /> </group> <group> <field name="update_chart_wizard_id" /> <field name="type_tax_use" /> <field name="update_tax_id" /> </group> </group> </form> </field> </page> <page string="Accounts" attrs="{'invisible': [('update_account', '=', False)]}" > <field name="account_ids" nolabel="1"> <tree decoration-danger="type=='updated'"> <field name="account_id" /> <field name="update_account_id" /> <field name="notes" /> <field name="type" /> </tree> <form> <group col="2"> <group> <field name="recreate_xml_ids" invisible="1" /> <field name="account_id" /> <field name="type" attrs="{'readonly': [('recreate_xml_ids','=', False)]}" /> <field name="notes" /> </group> <group> <field name="update_chart_wizard_id" /> <field name="update_account_id" /> </group> </group> </form> </field> </page> <page string="Account groups" attrs="{'invisible': [('update_account_group', '=', False)]}" > <field name="account_group_ids" nolabel="1"> <tree decoration-danger="type=='updated'"> <field name="account_group_id" /> <field name="update_account_group_id" /> <field name="notes" /> <field name="type" /> </tree> <form> <group col="2"> <group> <field name="recreate_xml_ids" invisible="1" /> <field name="account_group_id" /> <field name="type" attrs="{'readonly': [('recreate_xml_ids','=', False)]}" /> <field name="notes" /> </group> <group> <field name="update_chart_wizard_id" /> <field name="update_account_group_id" /> </group> </group> </form> </field> </page> <page string="Fiscal positions" attrs="{'invisible': [('update_fiscal_position', '=', False)]}" > <field name="fiscal_position_ids" nolabel="1"> <tree name="fiscal_positions" decoration-danger="type=='updated'" > <field name="fiscal_position_id" /> <field name="update_fiscal_position_id" /> <field name="notes" /> <field name="type" /> </tree> <form> <group col="2"> <group> <field name="recreate_xml_ids" invisible="1" /> <field name="fiscal_position_id" /> <field name="type" attrs="{'readonly': [('recreate_xml_ids','=', False)]}" /> <field name="notes" /> </group> <group> <field name="update_chart_wizard_id" /> <field name="update_fiscal_position_id" /> </group> </group> </form> </field> </page> </notebook> </div> <group col="4" colspan="4" attrs="{'invisible':[('state','!=','done'),]}" > <separator colspan="4" string="Log" /> <field name="log" colspan="4" nolabel="1" /> <group colspan="4"> <separator colspan="4" string="Summary of created objects" /> <field name="new_taxes" /> <field name="new_accounts" /> <field name="new_account_groups" /> <field name="new_fps" /> </group> <group colspan="4"> <separator colspan="4" string="Summary of updated objects" /> <field name="updated_taxes" /> <field name="deleted_taxes" /> <field name="updated_accounts" /> <field name="updated_account_groups" /> <field name="updated_fps" /> </group> </group> <footer> <button name="action_find_records" string="Next" type="object" class="btn-primary" states="init" /> <button name="action_init" string="Previous" type="object" class="btn-secondary" states="ready" /> <button name="action_update_records" string="Create/Update" type="object" class="btn-primary" states="ready" /> <button special="cancel" string="Close" class="btn-secondary" /> </footer> </form> </field> </record> <record id="action_wizard_update_chart" model="ir.actions.act_window"> <field name="name">Update chart of accounts</field> <field name="type">ir.actions.act_window</field> <field name="res_model">wizard.update.charts.accounts</field> <field name="view_mode">form</field> <field name="target">new</field> </record> </odoo>