[tryton-commits] changeset in weblate:default Translated using Weblate (French)
changeset c50c3ebe539a in weblate:default details: https://hg.tryton.org/weblate?cmd=changeset&node=c50c3ebe539a description: Translated using Weblate (French) Currently translated at 100.0% (1119 of 1119 strings) Translation: Tryton/account Translate-URL: https://translate.tryton.org/projects/tryton/account/fr/ diffstat: modules/account/locale/fr.po | 92 +-- 1 files changed, 28 insertions(+), 64 deletions(-) diffs (315 lines): diff -r 3df2d34d65a9 -r c50c3ebe539a modules/account/locale/fr.po --- a/modules/account/locale/fr.po Fri Sep 10 08:43:01 2021 + +++ b/modules/account/locale/fr.po Tue Sep 14 08:45:40 2021 + @@ -1,13 +1,13 @@ # msgid "" msgstr "" -"PO-Revision-Date: 2021-08-05 22:43+\n" +"PO-Revision-Date: 2021-09-15 09:13+\n" "Last-Translator: Cedric Krier \n" "Language: fr\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.7.2\n" +"X-Generator: Weblate 4.8\n" msgctxt "field:account.account,active:" msgid "Active" @@ -197,7 +197,6 @@ msgid "Credit" msgstr "Crédit" -#, fuzzy msgctxt "field:account.account.party,currency:" msgid "Currency" msgstr "Devise" @@ -1025,7 +1024,6 @@ msgid "Credit" msgstr "Crédit" -#, fuzzy msgctxt "field:account.journal,currency:" msgid "Currency" msgstr "Devise" @@ -1246,72 +1244,58 @@ msgid "Journal" msgstr "Journal" -#, fuzzy msgctxt "field:account.move.line.split.preview,currency:" msgid "Currency" msgstr "Devise" -#, fuzzy msgctxt "field:account.move.line.split.preview,description:" msgid "Description" msgstr "Description" -#, fuzzy msgctxt "field:account.move.line.split.preview,journal:" msgid "Journal" msgstr "Journal" -#, fuzzy msgctxt "field:account.move.line.split.preview,terms:" msgid "Terms" msgstr "Termes" -#, fuzzy msgctxt "field:account.move.line.split.start,amount:" msgid "Amount" msgstr "Montant" -#, fuzzy msgctxt "field:account.move.line.split.start,currency:" msgid "Currency" msgstr "Devise" -#, fuzzy msgctxt "field:account.move.line.split.start,frequency:" msgid "Frequency" msgstr "Fréquence" -#, fuzzy msgctxt "field:account.move.line.split.start,interval:" msgid "Interval" msgstr "Intervalle" -#, fuzzy msgctxt "field:account.move.line.split.start,number:" msgid "Number" -msgstr "Numéro" - -#, fuzzy +msgstr "Nombre" + msgctxt "field:account.move.line.split.start,start_date:" msgid "Start Date" msgstr "Date de début" -#, fuzzy msgctxt "field:account.move.line.split.start,total_amount:" msgid "Total Amount" -msgstr "Montant" - -#, fuzzy +msgstr "Montant total" + msgctxt "field:account.move.line.split.term,amount:" msgid "Amount" msgstr "Montant" -#, fuzzy msgctxt "field:account.move.line.split.term,currency:" msgid "Currency" msgstr "Devise" -#, fuzzy msgctxt "field:account.move.line.split.term,date:" msgid "Date" msgstr "Date" @@ -1384,7 +1368,6 @@ msgid "Company" msgstr "Société" -#, fuzzy msgctxt "field:account.move.reconcile_lines.writeoff,currency:" msgid "Currency" msgstr "Devise" @@ -1537,7 +1520,6 @@ msgid "Company" msgstr "Société" -#, fuzzy msgctxt "field:account.reconcile.show,currency:" msgid "Currency" msgstr "Devise" @@ -1594,7 +1576,6 @@ msgid "Credit Tax Amount" msgstr "Montant de taxe de crédit" -#, fuzzy msgctxt "field:account.tax,currency:" msgid "Currency" msgstr "Devise" @@ -1831,7 +1812,6 @@ msgid "Company" msgstr "Société" -#, fuzzy msgctxt "field:account.tax.line,currency:" msgid "Currency" msgstr "Devise" @@ -2092,7 +2072,6 @@ msgid "Accounts" msgstr "Comptes" -#, fuzzy msgctxt "field:party.party,currency:" msgid "Currency" msgstr "Devise" @@ -2289,7 +2268,6 @@ msgid "The second currency." msgstr "La devise secondaire." -#, fuzzy msgctxt "help:account.move.line.split.start,interval:" msgid "The length of each period, in months." msgstr "La durée de chaque période, en mois." @@ -2581,20 +2559,17 @@ msgid "Group Lines" msgstr "Grouper les lignes" -#, fuzzy msgctxt "model:account.move.line.split.preview,name:" msgid "Split Lines" -msgstr "Grouper les lignes" - -#, fuzzy +msgstr "Diviser les lignes" + msgctxt "model:account.move.line.split.start,name:" msgid "Split Lines" -msgstr "Grouper les lignes" - -#, fuzzy +msgstr "Diviser les lignes" + msgctxt "model:account.move.line.split.term,name:" msgid "Split Lines" -msgstr "Grouper les lignes" +msgstr "Diviser les lignes" msgctxt "model:account.move.line.template,name:" msgid "Account Move Line Template" @@ -2844,10 +2819,9 @@ msgid "Grouped Account Move" msgstr "Mouvement comptable groupé" -#, fuzzy msgctxt "model:ir.action,name:act_move_form_splitting" msgid "Split Account Move" -msgstr "Mouvement comptable" +msgstr "Diviser le mouvement comptable" msgctxt "model:ir.action,name:act_move_from_template" msgid "Account Move" @@ -29
[tryton-commits] changeset in weblate:default Translated using Weblate (French)
changeset b5ab88711655 in weblate:default details: https://hg.tryton.org/weblate?cmd=changeset&node=b5ab88711655 description: Translated using Weblate (French) Currently translated at 100.0% (781 of 781 strings) Translation: Tryton/stock Translate-URL: https://translate.tryton.org/projects/tryton/stock/fr/ diffstat: modules/stock/locale/fr.po | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diffs (21 lines): diff -r c50c3ebe539a -r b5ab88711655 modules/stock/locale/fr.po --- a/modules/stock/locale/fr.poTue Sep 14 08:45:40 2021 + +++ b/modules/stock/locale/fr.poWed Sep 15 07:05:07 2021 + @@ -1,7 +1,7 @@ # msgid "" msgstr "" -"PO-Revision-Date: 2021-09-04 07:33+\n" +"PO-Revision-Date: 2021-09-15 09:13+\n" "Last-Translator: Cedric Krier \n" "Language: fr\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -327,7 +327,7 @@ msgctxt "field:stock.location,right:" msgid "Right" -msgstr "Droit" +msgstr "Droite" msgctxt "field:stock.location,storage_location:" msgid "Storage"
[tryton-commits] changeset in weblate:default Translated using Weblate (French)
changeset 4af620c924e0 in weblate:default details: https://hg.tryton.org/weblate?cmd=changeset&node=4af620c924e0 description: Translated using Weblate (French) Currently translated at 100.0% (55 of 55 strings) Translation: Tryton/analytic_budget Translate-URL: https://translate.tryton.org/projects/tryton/analytic_budget/fr/ diffstat: modules/analytic_budget/locale/fr.po | 125 +++--- 1 files changed, 70 insertions(+), 55 deletions(-) diffs (293 lines): diff -r b5ab88711655 -r 4af620c924e0 modules/analytic_budget/locale/fr.po --- a/modules/analytic_budget/locale/fr.po Wed Sep 15 07:05:07 2021 + +++ b/modules/analytic_budget/locale/fr.po Wed Sep 15 07:01:49 2021 + @@ -1,219 +1,234 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-09-15 09:13+\n" +"PO-Revision-Date: 2021-09-15 09:13+\n" +"Last-Translator: Cedric Krier \n" +"Language-Team: LANGUAGE \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.8\n" + msgctxt "field:analytic_account.budget,company:" msgid "Company" -msgstr "" +msgstr "Société" msgctxt "field:analytic_account.budget,end_date:" msgid "End Date" -msgstr "" +msgstr "Date de fin" msgctxt "field:analytic_account.budget,lines:" msgid "Lines" -msgstr "" +msgstr "Lignes" msgctxt "field:analytic_account.budget,name:" msgid "Name" -msgstr "" +msgstr "Nom" msgctxt "field:analytic_account.budget,root:" msgid "Root" -msgstr "" +msgstr "Racine" msgctxt "field:analytic_account.budget,root_lines:" msgid "Lines" -msgstr "" +msgstr "Lignes" msgctxt "field:analytic_account.budget,start_date:" msgid "Start Date" -msgstr "" +msgstr "Date de début" msgctxt "field:analytic_account.budget.context,budget:" msgid "Budget" -msgstr "" +msgstr "Budget" msgctxt "field:analytic_account.budget.copy.start,company:" msgid "Company" -msgstr "" +msgstr "Société" msgctxt "field:analytic_account.budget.copy.start,end_date:" msgid "End Date" -msgstr "" +msgstr "Date de fin" msgctxt "field:analytic_account.budget.copy.start,factor:" msgid "Factor" -msgstr "" +msgstr "Facteur" msgctxt "field:analytic_account.budget.copy.start,name:" msgid "Name" -msgstr "" +msgstr "Nom" msgctxt "field:analytic_account.budget.copy.start,start_date:" msgid "Start Date" -msgstr "" +msgstr "Date de début" msgctxt "field:analytic_account.budget.line,account:" msgid "Account" -msgstr "" +msgstr "Compte" msgctxt "field:analytic_account.budget.line,actual_amount:" msgid "Actual Amount" -msgstr "" +msgstr "Montant réel" msgctxt "field:analytic_account.budget.line,amount:" msgid "Amount" -msgstr "" +msgstr "Montant" msgctxt "field:analytic_account.budget.line,budget:" msgid "Budget" -msgstr "" +msgstr "Budget" msgctxt "field:analytic_account.budget.line,children:" msgid "Children" -msgstr "" +msgstr "Enfants" msgctxt "field:analytic_account.budget.line,company:" msgid "Company" -msgstr "" +msgstr "Société" msgctxt "field:analytic_account.budget.line,currency:" msgid "Currency" -msgstr "" +msgstr "Devise" msgctxt "field:analytic_account.budget.line,current_name:" msgid "Current Name" -msgstr "" +msgstr "Nom actuel" msgctxt "field:analytic_account.budget.line,left:" msgid "Left" -msgstr "" +msgstr "Gauche" msgctxt "field:analytic_account.budget.line,name:" msgid "Name" -msgstr "" +msgstr "Nom" msgctxt "field:analytic_account.budget.line,parent:" msgid "Parent" -msgstr "" +msgstr "Parent" msgctxt "field:analytic_account.budget.line,percentage:" msgid "Percentage" -msgstr "" +msgstr "Pourcentage" msgctxt "field:analytic_account.budget.line,right:" msgid "Right" -msgstr "" +msgstr "Droite" msgctxt "field:analytic_account.budget.line,root:" msgid "Root" -msgstr "" +msgstr "Racine" msgctxt "field:analytic_account.budget.line,total_amount:" msgid "Total Amount" -msgstr "" +msgstr "Montant total" msgctxt "help:analytic_account.budget,company:" msgid "The company that the budget is associated with." -msgstr "" +msgstr "La société à laquelle le budget est associé." msgctxt "help:analytic_account.budget.copy.start,factor:" msgid "The percentage to apply to the budget line amounts." -msgstr "" +msgstr "Le pourcentage à appliquer aux montants des lignes budgétaires." msgctxt "help:analytic_account.budget.line,actual_amount:" msgid "The total amount booked against the budget line." -msgstr "" +msgstr "Le montant total comptabilisé sur la ligne budgétaire." msgctxt "help:analytic_account.budget.line,amount:" msgid "The amount allocated to the budget line." -msgstr "" +msgstr "Le montant alloué à la ligne budgétaire." msgctxt "help:analytic_account.budget.line,children:" msgid "Used to add structure below the budget." -msgstr "" +msgstr "Utili
[tryton-commits] changeset in weblate:default Translated using Weblate (French)
changeset 50e39250dabb in weblate:default details: https://hg.tryton.org/weblate?cmd=changeset&node=50e39250dabb description: Translated using Weblate (French) Currently translated at 5.3% (5 of 93 strings) Translation: Tryton/account_budget Translate-URL: https://translate.tryton.org/projects/tryton/account_budget/fr/ diffstat: modules/account_budget/locale/fr.po | 25 - 1 files changed, 20 insertions(+), 5 deletions(-) diffs (63 lines): diff -r 4af620c924e0 -r 50e39250dabb modules/account_budget/locale/fr.po --- a/modules/account_budget/locale/fr.po Wed Sep 15 07:01:49 2021 + +++ b/modules/account_budget/locale/fr.po Wed Sep 15 07:09:14 2021 + @@ -1,3 +1,18 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-09-15 09:13+\n" +"PO-Revision-Date: 2021-09-15 09:13+\n" +"Last-Translator: Cedric Krier \n" +"Language-Team: LANGUAGE \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.8\n" + msgctxt "field:account.budget,company:" msgid "Company" msgstr "" @@ -260,7 +275,7 @@ msgctxt "model:ir.action,name:act_budget_line_form" msgid "Budget Lines" -msgstr "" +msgstr "Lignes budgétaires" msgctxt "model:ir.action,name:act_budget_report" msgid "Budgets" @@ -268,7 +283,7 @@ msgctxt "model:ir.action,name:wizard_budget_copy" msgid "Copy Budget" -msgstr "" +msgstr "Copier le budget" msgctxt "model:ir.action,name:wizard_budget_line_create_periods" msgid "Create Periods" @@ -291,7 +306,7 @@ msgctxt "model:ir.model.button,string:budget_copy_button" msgid "Copy" -msgstr "" +msgstr "Copier" msgctxt "model:ir.model.button,string:budget_line_create_periods_button" msgid "Create Periods" @@ -299,11 +314,11 @@ msgctxt "model:ir.model.button,string:budget_update_lines_button" msgid "Update Lines" -msgstr "" +msgstr "Mettre à jour les lignes" msgctxt "model:ir.rule.group,name:rule_group_budget_companies" msgid "User in companies" -msgstr "" +msgstr "Utilisateur dans les sociétés" msgctxt "model:ir.ui.menu,name:menu_budget" msgid "Budgets"
[tryton-commits] changeset in trytond:default Use UNION for 'Or'-ed domain with s...
changeset 47c55a8f9db6 in trytond:default details: https://hg.tryton.org/trytond?cmd=changeset&node=47c55a8f9db6 description: Use UNION for 'Or'-ed domain with subqueries issue10658 review365781002 diffstat: CHANGELOG |1 + trytond/model/modelsql.py | 156 trytond/tests/test_modelsql.py | 92 3 files changed, 203 insertions(+), 46 deletions(-) diffs (319 lines): diff -r 7a211140f570 -r 47c55a8f9db6 CHANGELOG --- a/CHANGELOG Tue Sep 14 21:49:26 2021 +0200 +++ b/CHANGELOG Wed Sep 15 15:16:40 2021 +0200 @@ -1,3 +1,4 @@ +* Use UNION for 'Or'-ed domain with subqueries * Add remove_forbidden_chars in tools * Manage errors during non-interactive operations * Add estimation count to ModelStorage diff -r 7a211140f570 -r 47c55a8f9db6 trytond/model/modelsql.py --- a/trytond/model/modelsql.py Tue Sep 14 21:49:26 2021 +0200 +++ b/trytond/model/modelsql.py Wed Sep 15 15:16:40 2021 +0200 @@ -6,7 +6,7 @@ from functools import wraps from sql import (Table, Column, Literal, Desc, Asc, Expression, Null, -NullsFirst, NullsLast, For) +NullsFirst, NullsLast, For, Union) from sql.functions import CurrentTimestamp, Extract from sql.conditionals import Coalesce from sql.operators import Or, And, Operator, Equal @@ -1257,20 +1257,70 @@ raise AccessError(msg) @classmethod -def search(cls, domain, offset=0, limit=None, order=None, count=False, -query=False): +def __search_query(cls, domain, count, query): pool = Pool() Rule = pool.get('ir.rule') -transaction = Transaction() -cursor = transaction.connection.cursor() + +rule_domain = Rule.domain_get(cls.__name__, mode='read') +if domain and domain[0] == 'OR': +local_domains, subquery_domains = split_subquery_domain(domain) +else: +local_domains, subquery_domains = None, None -super(ModelSQL, cls).search( -domain, offset=offset, limit=limit, order=order, count=count) +# In case the search uses subqueries it's more efficient to use a UNION +# of queries than using clauses with some JOIN because databases can +# used indexes +if subquery_domains: +union_tables = [] +for sub_domain in [['OR'] + local_domains] + subquery_domains: +tables, expression = cls.search_domain(sub_domain) +if rule_domain: +tables, domain_exp = cls.search_domain( +rule_domain, active_test=False, tables=tables) +expression &= domain_exp +main_table, _ = tables[None] +table = convert_from(None, tables) +columns = cls.__searched_columns( +main_table, not count and not query) +union_tables.append(table.select( +*columns, where=expression)) +expression = None +tables = { +None: (Union(*union_tables, all_=False), None), +} +else: +tables, expression = cls.search_domain(domain) +if rule_domain: +tables, domain_exp = cls.search_domain( +rule_domain, active_test=False, tables=tables) +expression &= domain_exp -# Get domain clauses -tables, expression = cls.search_domain(domain) +return tables, expression -# Get order by +@classmethod +def __searched_columns(cls, table, eager=False, history=False): +columns = [table.id.as_('id')] +if (cls._history and Transaction().context.get('_datetime') +and (eager or history)): +columns.append( +Coalesce(table.write_date, table.create_date).as_('_datetime')) +columns.append(Column(table, '__id').as_('__id')) +if eager: +columns += [f.sql_column(table).as_(n) +for n, f in cls._fields.items() +if not hasattr(f, 'get') +and n != 'id' +and not getattr(f, 'translate', False) +and f.loading == 'eager'] +if not callable(cls.table_query): +sql_type = fields.Char('timestamp').sql_type().base +columns += [Extract('EPOCH', +Coalesce(table.write_date, table.create_date) +).cast(sql_type).as_('_timestamp')] +return columns + +@classmethod +def __search_order(cls, order, tables): order_by = [] order_types = { 'DESC': Desc, @@ -1299,42 +1349,34 @@ forder = field.convert_order(oexpr, tables, cls) order_by.extend((NullOrdering(Order(o)) for o in forder)) -# construct a clause for the rules : -domain = Rule.domain_get(cls.__name__, mode='
[tryton-commits] changeset in modules/account_invoice:default Add warning to prev...
changeset ac23c07d6bc0 in modules/account_invoice:default details: https://hg.tryton.org/modules/account_invoice?cmd=changeset&node=ac23c07d6bc0 description: Add warning to prevent posting invoices in the future issue10088 review332311002 diffstat: CHANGELOG | 1 + exceptions.py | 4 + invoice.py | 20 ++- message.xml| 3 + tests/scenario_invoice_customer_sequential.rst | 6 +- tests/scenario_invoice_in_future.rst | 71 ++ tests/test_account_invoice.py | 4 + 7 files changed, 105 insertions(+), 4 deletions(-) diffs (183 lines): diff -r 1fd0481addf9 -r ac23c07d6bc0 CHANGELOG --- a/CHANGELOG Mon Aug 30 00:27:13 2021 +0200 +++ b/CHANGELOG Wed Sep 15 19:19:35 2021 +0200 @@ -1,3 +1,4 @@ +* Add warning to prevent posting invoices in the future * Add wizard to reschedule lines to pay of invoices * Create base tax line for manual taxes diff -r 1fd0481addf9 -r ac23c07d6bc0 exceptions.py --- a/exceptions.py Mon Aug 30 00:27:13 2021 +0200 +++ b/exceptions.py Wed Sep 15 19:19:35 2021 +0200 @@ -35,3 +35,7 @@ class InvoicePaymentTermDateWarning(UserWarning): pass + + +class InvoiceFutureWarning(UserWarning): +pass diff -r 1fd0481addf9 -r ac23c07d6bc0 invoice.py --- a/invoice.pyMon Aug 30 00:27:13 2021 +0200 +++ b/invoice.pyWed Sep 15 19:19:35 2021 +0200 @@ -30,7 +30,8 @@ from .exceptions import ( InvoiceTaxValidationError, InvoiceNumberError, InvoiceValidationError, -InvoiceLineValidationError, PayInvoiceError, InvoicePaymentTermDateWarning) +InvoiceLineValidationError, PayInvoiceError, InvoicePaymentTermDateWarning, +InvoiceFutureWarning) if config.getboolean('account_invoice', 'filestore', default=False): file_id = 'invoice_report_cache_id' @@ -1528,6 +1529,23 @@ @ModelView.button @Workflow.transition('posted') def post(cls, invoices): +pool = Pool() +Date = pool.get('ir.date') +Warning = pool.get('res.user.warning') +today = Date.today() +future_invoices = [ +i for i in invoices +if i.type == 'out' and i.invoice_date and i.invoice_date > today] +if future_invoices: +names = ', '.join(m.rec_name for m in future_invoices[:5]) +if len(future_invoices) > 5: +names += '...' +warning_key = Warning.format( +'invoice_date_future', future_invoices) +if Warning.check(warning_key): +raise InvoiceFutureWarning(warning_key, +gettext('account_invoice.msg_invoice_date_future', +invoices=names)) cls._post(invoices) @classmethod diff -r 1fd0481addf9 -r ac23c07d6bc0 message.xml --- a/message.xml Mon Aug 30 00:27:13 2021 +0200 +++ b/message.xml Wed Sep 15 19:19:35 2021 +0200 @@ -75,6 +75,9 @@ To close the periods you must post the invoices "%(invoices)s". + +The invoices "%(invoices)s" have an invoice date in the future. + diff -r 1fd0481addf9 -r ac23c07d6bc0 tests/scenario_invoice_customer_sequential.rst --- a/tests/scenario_invoice_customer_sequential.rstMon Aug 30 00:27:13 2021 +0200 +++ b/tests/scenario_invoice_customer_sequential.rstWed Sep 15 19:19:35 2021 +0200 @@ -16,7 +16,7 @@ >>> from trytond.modules.account_invoice.tests.tools import \ ... set_fiscalyear_invoice_sequences >>> today = dt.date.today() ->>> next_year = today + relativedelta(years=1) +>>> past_year = today - relativedelta(years=1) Activate modules:: @@ -30,10 +30,10 @@ Create fiscal years:: >>> fiscalyear = set_fiscalyear_invoice_sequences( -... create_fiscalyear(company, today=today)) +... create_fiscalyear(company, today=past_year)) >>> fiscalyear.click('create_period') >>> next_fiscalyear = set_fiscalyear_invoice_sequences( -... create_fiscalyear(company, today=next_year)) +... create_fiscalyear(company, today=today)) >>> next_fiscalyear.click('create_period') Create chart of accounts:: diff -r 1fd0481addf9 -r ac23c07d6bc0 tests/scenario_invoice_in_future.rst --- /dev/null Thu Jan 01 00:00:00 1970 + +++ b/tests/scenario_invoice_in_future.rst Wed Sep 15 19:19:35 2021 +0200 @@ -0,0 +1,71 @@ += +Invoice in Future += + +Imports:: + +>>> import datetime +>>> from decimal import Decimal +>>> from proteus import Model +>>> from trytond.tests.tools import activate_modules +>>> from trytond.modules.company.tests.tools import (create_company, +... get_company) +>>> from trytond.modules.account.tests.tools import (create_fiscalyear, +... create_chart, get_accounts) +