[MERGE]merge with latest addons trunk
bzr revid: csn@openerp.com-20121031102158-6h6d07q26qkf2d7b bzr revid: csn@openerp.com-20121031132717-jbha5jsq3g1kxshe
This commit is contained in:
@@ -1230,8 +1230,8 @@
|
||||
<field name="move_id" string="Number (Move)"/>
|
||||
<field name="account_id"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="journal_id" context="{'journal_id':self}"/>
|
||||
<field name="period_id" context="{'period_id':self}"/>
|
||||
<field name="journal_id" context="{'journal_id':self}" widget="selection"/> <!-- it's important to keep widget='selection' in this filter viewbecause without that the value passed in the context is not the ID but the textual value (name) of the selected journal -->
|
||||
<field name="period_id" context="{'period_id':self}" widget="selection"/> <!-- it's important to keep the widget='selection' in this field, for the same reason as explained above -->
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
|
||||
|
||||
+32
-35
@@ -7,14 +7,15 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2012-06-20 16:18+0000\n"
|
||||
"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-10-30 15:48+0000\n"
|
||||
"Last-Translator: Frederic Clementi - Camptocamp.com "
|
||||
"<frederic.clementi@camptocamp.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-30 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-31 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 16218)\n"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_move_line.py:1215
|
||||
@@ -151,7 +152,7 @@ msgstr "Définition des enfants"
|
||||
#: code:addons/account/account_bank_statement.py:302
|
||||
#, python-format
|
||||
msgid "Journal item \"%s\" is not valid."
|
||||
msgstr "Écriture \"%s\" n'est pas équilibrée"
|
||||
msgstr ""
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_report_aged_receivable
|
||||
@@ -1608,10 +1609,9 @@ msgid ""
|
||||
"entry per accounting document: invoice, refund, supplier payment, bank "
|
||||
"statements, etc."
|
||||
msgstr ""
|
||||
"Une pièce comptable est composée de plusieurs écritures comptables, chacune "
|
||||
"étant soit un débit soit un crédit. OpenERP crée automatiquement une pièce "
|
||||
"comptable par document comptable : facture, avoir, paiement de fournisseur, "
|
||||
"relevés bancaires, etc."
|
||||
"Un écriture est composée de plusieurs lignes, chacune étant soit un débit "
|
||||
"soit un crédit. OpenERP crée automatiquement une écriture par document "
|
||||
"comptable : facture, avoir, paiement de fournisseur, relevés bancaires, etc."
|
||||
|
||||
#. module: account
|
||||
#: view:account.entries.report:0
|
||||
@@ -1703,7 +1703,7 @@ msgstr "Recherche d'un relevé bancaire"
|
||||
#. module: account
|
||||
#: view:account.move.line:0
|
||||
msgid "Unposted Journal Items"
|
||||
msgstr "Pièces non comptabiliisées"
|
||||
msgstr "Ecritures brouillon"
|
||||
|
||||
#. module: account
|
||||
#: view:account.chart.template:0
|
||||
@@ -2478,8 +2478,6 @@ msgid ""
|
||||
"In order to delete a bank statement, you must first cancel it to delete "
|
||||
"related journal items."
|
||||
msgstr ""
|
||||
"Pour supprimer un relevé bancaire vous devez préalablement supprimer les "
|
||||
"lignes rapprochées."
|
||||
|
||||
#. module: account
|
||||
#: field:account.invoice,payment_term:0
|
||||
@@ -3629,7 +3627,7 @@ msgstr "État des ventes par type de compte"
|
||||
#. module: account
|
||||
#: view:account.move.line:0
|
||||
msgid "Unreconciled Journal Items"
|
||||
msgstr "Ecritures non lettrées"
|
||||
msgstr "Ecritures non léttrées"
|
||||
|
||||
#. module: account
|
||||
#: sql_constraint:res.currency:0
|
||||
@@ -3900,7 +3898,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: model:ir.actions.report.xml,name:account.account_account_balance_landscape
|
||||
msgid "Account balance"
|
||||
msgstr "Balance des comptes"
|
||||
msgstr "Balance générale"
|
||||
|
||||
#. module: account
|
||||
#: report:account.invoice:0
|
||||
@@ -3972,7 +3970,7 @@ msgstr "Nom"
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_aged_trial_balance
|
||||
msgid "Account Aged Trial balance Report"
|
||||
msgstr "Rapport du solde de la balance agée"
|
||||
msgstr "Balance agée"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_move_line.py:582
|
||||
@@ -4181,7 +4179,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: view:account.move.line:0
|
||||
msgid "Posted Journal Items"
|
||||
msgstr "Ecritures saisies"
|
||||
msgstr "Ecritures validées"
|
||||
|
||||
#. module: account
|
||||
#: view:account.tax.template:0
|
||||
@@ -4244,7 +4242,7 @@ msgstr "Titulaire du compte bancaire"
|
||||
#: model:ir.actions.report.xml,name:account.account_account_balance
|
||||
#: model:ir.ui.menu,name:account.menu_general_Balance_report
|
||||
msgid "Trial Balance"
|
||||
msgstr "Balance des comptes"
|
||||
msgstr "Balance générale"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_invoice_cancel
|
||||
@@ -4659,7 +4657,7 @@ msgstr "Sert de compte par défaut pour le crédit"
|
||||
#: view:validate.account.move:0
|
||||
#: view:validate.account.move.lines:0
|
||||
msgid "Post Journal Entries"
|
||||
msgstr "Comptabiliser les pièces comptables dans le journal"
|
||||
msgstr "Valider les écritures"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.invoice,state:0
|
||||
@@ -4927,7 +4925,7 @@ msgstr ""
|
||||
#: code:addons/account/account.py:923
|
||||
#, python-format
|
||||
msgid "Opening Period"
|
||||
msgstr "Période ouverte"
|
||||
msgstr "Période d'ouverture"
|
||||
|
||||
#. module: account
|
||||
#: view:account.move:0
|
||||
@@ -5611,7 +5609,7 @@ msgstr "Quantité de produits"
|
||||
#: selection:account.move,state:0
|
||||
#: view:account.move.line:0
|
||||
msgid "Unposted"
|
||||
msgstr "Non comptabilisé"
|
||||
msgstr "Non validée"
|
||||
|
||||
#. module: account
|
||||
#: view:account.change.currency:0
|
||||
@@ -5823,7 +5821,7 @@ msgstr "Journal d'écriture"
|
||||
#: model:ir.actions.act_window,name:account.action_account_fiscalyear_close
|
||||
#: model:ir.ui.menu,name:account.menu_wizard_fy_close
|
||||
msgid "Generate Opening Entries"
|
||||
msgstr "Générer les écritures d'ouverture"
|
||||
msgstr "Générer l'écriture d'ouverture"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_move_line.py:775
|
||||
@@ -7117,7 +7115,7 @@ msgstr "Sélection du journal"
|
||||
#: code:addons/account/account.py:432
|
||||
#, python-format
|
||||
msgid "Opening Balance"
|
||||
msgstr "Solde initial"
|
||||
msgstr ""
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_move_reconcile
|
||||
@@ -7727,8 +7725,7 @@ msgstr "Signes sur les Rapports"
|
||||
#: code:addons/account/wizard/account_fiscalyear_close.py:88
|
||||
#, python-format
|
||||
msgid "The periods to generate opening entries were not found"
|
||||
msgstr ""
|
||||
"Les périodes pour générer les écritures d'ouverture n'ont pas été trouvées."
|
||||
msgstr "Aucune période d'ouverture trouvée"
|
||||
|
||||
#. module: account
|
||||
#: model:account.account.type,name:account.data_account_type_view
|
||||
@@ -7822,7 +7819,7 @@ msgstr "Journal des ventes"
|
||||
#: code:addons/account/wizard/account_move_journal.py:104
|
||||
#, python-format
|
||||
msgid "Open Journal Items !"
|
||||
msgstr "Écritures ouvertes !"
|
||||
msgstr ""
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_invoice_tax
|
||||
@@ -7859,7 +7856,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: view:account.move:0
|
||||
msgid "Unposted Journal Entries"
|
||||
msgstr "Pièces non comptabilisées"
|
||||
msgstr "Ecritures non validées"
|
||||
|
||||
#. module: account
|
||||
#: view:product.product:0
|
||||
@@ -7976,7 +7973,7 @@ msgstr "Code de la case"
|
||||
#. module: account
|
||||
#: view:validate.account.move:0
|
||||
msgid "Post Journal Entries of a Journal"
|
||||
msgstr "Comptabiliser les pièces comptables d'un journal"
|
||||
msgstr "Valider les écritures"
|
||||
|
||||
#. module: account
|
||||
#: view:product.product:0
|
||||
@@ -8161,7 +8158,7 @@ msgstr "Ligne de caisse"
|
||||
#: model:ir.actions.report.xml,name:account.account_3rdparty_ledger_other
|
||||
#: model:ir.ui.menu,name:account.menu_account_partner_ledger
|
||||
msgid "Partner Ledger"
|
||||
msgstr "Grand Livre"
|
||||
msgstr "Livre des tiers"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.tax.template,type:0
|
||||
@@ -8359,7 +8356,7 @@ msgstr ""
|
||||
#: help:account.account,reconcile:0
|
||||
msgid ""
|
||||
"Check this box if this account allows reconciliation of journal items."
|
||||
msgstr "Cochez si le compte autorise le lettrage des pièces."
|
||||
msgstr "Cochez si le compte autorise le lettrage des écritures."
|
||||
|
||||
#. module: account
|
||||
#: help:account.period,state:0
|
||||
@@ -9220,7 +9217,7 @@ msgstr "inconnu"
|
||||
#: code:addons/account/account.py:3130
|
||||
#, python-format
|
||||
msgid "Opening Entries Journal"
|
||||
msgstr "Journal des écritures d'ouverture"
|
||||
msgstr "Journal d'ouverture"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,note:account.process_transition_customerinvoice0
|
||||
@@ -10006,7 +10003,7 @@ msgstr "Ce compte de tiers remplacera le compte par défaut."
|
||||
#. module: account
|
||||
#: field:account.period,special:0
|
||||
msgid "Opening/Closing Period"
|
||||
msgstr "Ouverture/clôture d'exercice"
|
||||
msgstr "Période d'ouverture/clôture"
|
||||
|
||||
#. module: account
|
||||
#: field:account.account,currency_id:0
|
||||
@@ -10336,7 +10333,7 @@ msgstr "Date de fin"
|
||||
#: model:ir.actions.act_window,name:account.action_account_open_closed_fiscalyear
|
||||
#: model:ir.ui.menu,name:account.menu_wizard_account_open_closed_fiscalyear
|
||||
msgid "Cancel Opening Entries"
|
||||
msgstr "Annuler les écritures d'ouvertures"
|
||||
msgstr "Annuler l'écriture d'ouverture"
|
||||
|
||||
#. module: account
|
||||
#: field:account.payment.term.line,days2:0
|
||||
@@ -10505,7 +10502,7 @@ msgstr "Signer pour le parent"
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_balance_report
|
||||
msgid "Trial Balance Report"
|
||||
msgstr "Rapport sur la balance des comptes"
|
||||
msgstr "Balance générale"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_bank_statement_draft_tree
|
||||
@@ -10688,7 +10685,7 @@ msgstr "Intervalle"
|
||||
#. module: account
|
||||
#: view:account.analytic.line:0
|
||||
msgid "Analytic Journal Items related to a purchase journal."
|
||||
msgstr "Imputations analytiques relatives au journal des achats."
|
||||
msgstr "Ecritures analytiques relatives au journal des achats."
|
||||
|
||||
#. module: account
|
||||
#: help:account.account,type:0
|
||||
@@ -11213,7 +11210,7 @@ msgstr "Future"
|
||||
#. module: account
|
||||
#: view:account.move.line:0
|
||||
msgid "Search Journal Items"
|
||||
msgstr "Rechercher des écritures comptables"
|
||||
msgstr "Recherche par ligne d'écritures"
|
||||
|
||||
#. module: account
|
||||
#: help:account.tax,base_sign:0
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2012-10-25 16:26+0000\n"
|
||||
"Last-Translator: AllanWong <18895563@qq.com>\n"
|
||||
"PO-Revision-Date: 2012-10-30 16:03+0000\n"
|
||||
"Last-Translator: ccdos <ccdos@163.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-30 05:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-31 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 16218)\n"
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice.report:0
|
||||
@@ -2330,7 +2330,7 @@ msgstr "筛选"
|
||||
#: selection:report.invoice.created,state:0
|
||||
#, python-format
|
||||
msgid "Open"
|
||||
msgstr "打开"
|
||||
msgstr "待支付"
|
||||
|
||||
#. module: account
|
||||
#: model:process.node,note:account.process_node_draftinvoices0
|
||||
@@ -4668,7 +4668,7 @@ msgstr "税适用"
|
||||
#: model:ir.ui.menu,name:account.menu_eaction_account_moves_sale
|
||||
#, python-format
|
||||
msgid "Journal Items"
|
||||
msgstr "会计凭证行"
|
||||
msgstr "会计凭证明细"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account.py:1095
|
||||
@@ -10557,7 +10557,7 @@ msgstr "前景"
|
||||
#. module: account
|
||||
#: view:account.move.line:0
|
||||
msgid "Search Journal Items"
|
||||
msgstr "搜索分录"
|
||||
msgstr "搜索会计凭证明细"
|
||||
|
||||
#. module: account
|
||||
#: help:account.tax,base_sign:0
|
||||
|
||||
@@ -262,6 +262,7 @@ class account_config_settings(osv.osv_memory):
|
||||
'sale_tax_rate': config.sale_tax_rate,
|
||||
'purchase_tax_rate': config.purchase_tax_rate,
|
||||
'complete_tax_set': config.complete_tax_set,
|
||||
'currency_id': config.currency_id.id,
|
||||
}, context)
|
||||
wizard.execute(cr, uid, [wizard_id], context)
|
||||
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2012-02-10 15:03+0000\n"
|
||||
"Last-Translator: Wei \"oldrev\" Li <oldrev@gmail.com>\n"
|
||||
"PO-Revision-Date: 2012-10-30 15:45+0000\n"
|
||||
"Last-Translator: ccdos <ccdos@163.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-30 05:13+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-31 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 16218)\n"
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.order,date_scheduled:0
|
||||
@@ -653,7 +653,7 @@ msgstr "公司币别"
|
||||
#: view:payment.line:0
|
||||
#: view:payment.order:0
|
||||
msgid "Payment"
|
||||
msgstr "付款"
|
||||
msgstr "支付"
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
'summary': 'Jobs, Departments, Employees Details',
|
||||
'description': """
|
||||
Human Resources Management
|
||||
=========================
|
||||
==========================
|
||||
|
||||
This application enables you to manage important aspects of your company's staff and other details such as their skills, contacts, working time...
|
||||
|
||||
|
||||
@@ -50,6 +50,7 @@ reports.""",
|
||||
],
|
||||
'demo': ['hr_timesheet_invoice_demo.xml'],
|
||||
'test': ['test/test_hr_timesheet_invoice.yml',
|
||||
'test/test_hr_timesheet_invoice_no_prod_tax.yml',
|
||||
'test/hr_timesheet_invoice_report.yml',
|
||||
],
|
||||
'installable': True,
|
||||
|
||||
@@ -30,6 +30,42 @@
|
||||
-
|
||||
!python {model: hr.analytic.timesheet}: |
|
||||
self.on_change_account_id(cr, uid, [ref('account_analytic_line_developyamlforhrmodule0')], ref('account.analytic_agrolait'))
|
||||
|
||||
-
|
||||
I create a Tax Codes
|
||||
-
|
||||
!record {model: account.tax.code, id: tax_case}:
|
||||
name: Tax_case
|
||||
company_id: base.main_company
|
||||
sign: 1
|
||||
-
|
||||
I create a Tax
|
||||
-
|
||||
!record {model: account.tax, id: tax10}:
|
||||
name: Tax 10.0
|
||||
amount: 10.0
|
||||
type: fixed
|
||||
sequence: 1
|
||||
company_id: base.main_company
|
||||
type_tax_use: all
|
||||
tax_code_id: tax_case
|
||||
-
|
||||
I create an Account with the tax
|
||||
-
|
||||
!record {model: account.account, id: account_income_i000}:
|
||||
name: "income account"
|
||||
code: "I000"
|
||||
type: 'other'
|
||||
user_type: "account.data_account_type_income"
|
||||
tax_ids: [tax10]
|
||||
-
|
||||
I set the account as property_account_income on the product and I set the tax on the product
|
||||
-
|
||||
!record {model: product.product, id: product.product_product_consultant}:
|
||||
property_account_income: account_income_i000
|
||||
uom_id: product.product_uom_hour
|
||||
taxes_id: [tax10]
|
||||
list_price: 75
|
||||
-
|
||||
I create invoice on analytic Line using "Invoice analytic Line" wizard.
|
||||
-
|
||||
@@ -39,13 +75,11 @@
|
||||
price: 1
|
||||
product: product.product_product_consultant
|
||||
time: 1
|
||||
|
||||
-
|
||||
I click on "Create Invoice" button of "Invoice analytic Line" wizard to create invoice.
|
||||
-
|
||||
!python {model: hr.timesheet.invoice.create}: |
|
||||
self.do_create(cr, uid, [ref("hr_timesheet_invoice_create_0")], {"active_ids": [ref("hr_timesheet_invoice.account_analytic_line_developyamlforhrmodule0")]})
|
||||
|
||||
-
|
||||
I check that Invoice is created for this timesheet.
|
||||
-
|
||||
@@ -67,8 +101,8 @@
|
||||
assert product == product_exp
|
||||
assert aline.invoice_id, "Invoice created, but analytic line wasn't updated."
|
||||
assert aline.invoice_id == invoice_id, "Invoice doesn't match the one at analytic line"
|
||||
# The expected amount is hard coded here, please keep updated:
|
||||
assert invoice_id.amount_untaxed == 187.5, "Invoice amount mismatch: %s" % invoice_id.amount_untaxed
|
||||
assert invoice_id.amount_tax == 50, "Invoice tax mismatch: %s" % invoice_id.amount_tax
|
||||
-
|
||||
I create final invoice for this analytic account.
|
||||
-
|
||||
|
||||
@@ -0,0 +1,119 @@
|
||||
-
|
||||
In order to test hr_timesheet_invoice in OpenERP, I create account line to manage invoice based on costs.
|
||||
-
|
||||
I create an account analytic line.
|
||||
-
|
||||
!record {model: account.analytic.line, id: account_analytic_line_developyamlforhrmodule1 }:
|
||||
account_id: account.analytic_agrolait
|
||||
amount: -1.0
|
||||
general_account_id: account.a_expense
|
||||
journal_id: hr_timesheet.analytic_journal
|
||||
name: develop yaml for hr module
|
||||
product_id: product.product_product_consultant
|
||||
product_uom_id: product.product_uom_hour
|
||||
to_invoice: hr_timesheet_invoice.timesheet_invoice_factor2
|
||||
unit_amount: 5.00
|
||||
-
|
||||
Assign partner name and price list in analytic account.
|
||||
-
|
||||
!record {model: account.analytic.account, id: account.analytic_agrolait}:
|
||||
partner_id: base.res_partner_2
|
||||
pricelist_id: product.list0
|
||||
-
|
||||
I open this account and make the state as pending.
|
||||
-
|
||||
!python {model: account.analytic.account}: |
|
||||
self.set_open(cr, uid, [ref('account.analytic_agrolait')], None)
|
||||
self.set_pending(cr, uid, [ref('account.analytic_agrolait')], None)
|
||||
-
|
||||
I assign account on analytic account line.
|
||||
-
|
||||
!python {model: hr.analytic.timesheet}: |
|
||||
self.on_change_account_id(cr, uid, [ref('account_analytic_line_developyamlforhrmodule1')], ref('account.analytic_agrolait'))
|
||||
-
|
||||
I create a Tax Code
|
||||
-
|
||||
!record {model: account.tax.code, id: tax_case}:
|
||||
name: Tax_case
|
||||
company_id: base.main_company
|
||||
sign: 1
|
||||
-
|
||||
I create a Tax
|
||||
-
|
||||
!record {model: account.tax, id: tax8}:
|
||||
name: Tax 8.0
|
||||
amount: 8.0
|
||||
type: fixed
|
||||
sequence: 1
|
||||
company_id: base.main_company
|
||||
type_tax_use: all
|
||||
tax_code_id: tax_case
|
||||
-
|
||||
I create an Account with the tax
|
||||
-
|
||||
!record {model: account.account, id: account_income_i000}:
|
||||
name: "income account"
|
||||
code: "I000"
|
||||
type: 'other'
|
||||
user_type: "account.data_account_type_income"
|
||||
tax_ids: [tax8]
|
||||
-
|
||||
I set the account as property_account_income on the product and I set no tax on the product (so default tax from the account will be used)
|
||||
-
|
||||
!record {model: product.product, id: product.product_product_consultant}:
|
||||
property_account_income: account_income_i000
|
||||
uom_id: product.product_uom_hour
|
||||
taxes_id: []
|
||||
list_price: 75
|
||||
-
|
||||
I create invoice on analytic Line using "Invoice analytic Line" wizard.
|
||||
-
|
||||
!record {model: hr.timesheet.invoice.create, id: hr_timesheet_invoice_create_0}:
|
||||
date: 1
|
||||
name: 1
|
||||
price: 1
|
||||
product: product.product_product_consultant
|
||||
time: 1
|
||||
-
|
||||
I click on "Create Invoice" button of "Invoice analytic Line" wizard to create invoice.
|
||||
-
|
||||
!python {model: hr.timesheet.invoice.create}: |
|
||||
self.do_create(cr, uid, [ref("hr_timesheet_invoice_create_0")], {"active_ids": [ref("hr_timesheet_invoice.account_analytic_line_developyamlforhrmodule1")]})
|
||||
-
|
||||
I check that Invoice is created for this timesheet.
|
||||
-
|
||||
!python {model: account.analytic.line}: |
|
||||
aline = self.browse(cr, uid, ref('account_analytic_line_developyamlforhrmodule1'))
|
||||
analytic_account_obj = self.pool.get('account.analytic.account')
|
||||
data = self.pool.get('hr.timesheet.invoice.create').read(cr, uid, [ref("hr_timesheet_invoice_create_0")], [], context)[0]
|
||||
partner = aline.account_id.partner_id.id
|
||||
|
||||
invoice_obj = self.pool.get('account.invoice')
|
||||
invoice_ids = invoice_obj.search(cr, uid, [('partner_id', '=', partner)])
|
||||
invoice_id = invoice_obj.browse(cr, uid, invoice_ids)[0]
|
||||
|
||||
for invoice in invoice_id.invoice_line:
|
||||
product = invoice.product_id.id
|
||||
|
||||
product_exp = data['product'][0]
|
||||
|
||||
assert product == product_exp
|
||||
assert aline.invoice_id, "Invoice created, but analytic line wasn't updated."
|
||||
assert aline.invoice_id == invoice_id, "Invoice doesn't match the one at analytic line"
|
||||
assert invoice_id.amount_untaxed == 187.5, "Invoice amount mismatch: %s" % invoice_id.amount_untaxed
|
||||
assert invoice_id.amount_tax == 40, "Invoice tax mismatch: %s" % invoice_id.amount_tax
|
||||
-
|
||||
I create final invoice for this analytic account.
|
||||
-
|
||||
!record {model: hr.timesheet.invoice.create.final, id: hr_timesheet_invoice_create_final_0}:
|
||||
date: 1
|
||||
name: 1
|
||||
price: 1
|
||||
time: 1
|
||||
-
|
||||
I click on "Create Invoice" button to create Invoice and validate the invoice.
|
||||
-
|
||||
!python {model: hr.timesheet.invoice.create.final}: |
|
||||
import netsvc
|
||||
wkf_service = netsvc.LocalService("workflow")
|
||||
res = self.do_create(cr, uid, [ref("hr_timesheet_invoice_create_final_0")], {"active_ids": [ref("account.analytic_agrolait")]})
|
||||
@@ -49,7 +49,6 @@ class account_analytic_line(osv.osv):
|
||||
# }
|
||||
def invoice_cost_create(self, cr, uid, ids, data=None, context=None):
|
||||
analytic_account_obj = self.pool.get('account.analytic.account')
|
||||
res_partner_obj = self.pool.get('res.partner')
|
||||
account_payment_term_obj = self.pool.get('account.payment.term')
|
||||
invoice_obj = self.pool.get('account.invoice')
|
||||
product_obj = self.pool.get('product.product')
|
||||
@@ -115,7 +114,7 @@ class account_analytic_line(osv.osv):
|
||||
|
||||
for product_id, user_id, factor_id, qty, uom, line_name in cr.fetchall():
|
||||
if data.get('product'):
|
||||
product_id = data['product'][0]
|
||||
product_id = data['product'][0]
|
||||
product = product_obj.browse(cr, uid, product_id, context=context2)
|
||||
if not product:
|
||||
raise osv.except_osv(_('Error!'), _('There is no product defined for the line %s. Please select one or force the product through the wizard.') % (line_name))
|
||||
@@ -132,7 +131,7 @@ class account_analytic_line(osv.osv):
|
||||
general_account = product.product_tmpl_id.property_account_income or product.categ_id.property_account_income_categ
|
||||
if not general_account:
|
||||
raise osv.except_osv(_("Configuration Error!"), _("Please define income account for product '%s'.") % product.name)
|
||||
taxes = product.taxes_id
|
||||
taxes = product.taxes_id or general_account.tax_ids
|
||||
tax = fiscal_pos_obj.map_tax(cr, uid, account.partner_id.property_account_position, taxes)
|
||||
curr_line = {
|
||||
'price_unit': price,
|
||||
@@ -211,7 +210,7 @@ class hr_timesheet_invoice_create(osv.osv_memory):
|
||||
data = context and context.get('active_ids', [])
|
||||
for analytic in analytic_obj.browse(cr, uid, data, context=context):
|
||||
if analytic.invoice_id:
|
||||
raise osv.except_osv(_('Warning!'), _("Invoice is already linked to some of the analytic line(s)!"))
|
||||
raise osv.except_osv(_('Warning!'), _("Invoice is already linked to some of the analytic line(s)!"))
|
||||
|
||||
def do_create(self, cr, uid, ids, context=None):
|
||||
data = self.read(cr, uid, ids, [], context=context)[0]
|
||||
|
||||
+11
-11
@@ -8,20 +8,20 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-09 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-10-26 17:02+0000\n"
|
||||
"PO-Revision-Date: 2012-10-30 09:52+0000\n"
|
||||
"Last-Translator: Chertykov Denis <chertykov@gmail.com>\n"
|
||||
"Language-Team: Russian <ru@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-30 05:33+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-31 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 16218)\n"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.compose.message,subtype:0 field:mail.message,subtype:0
|
||||
#: field:mail.message.common,subtype:0
|
||||
msgid "Message Type"
|
||||
msgstr ""
|
||||
msgstr "Тип сообщения"
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.compose.message,auto_delete:0
|
||||
@@ -51,7 +51,7 @@ msgstr "История общения"
|
||||
#. module: mail
|
||||
#: view:mail.message:0
|
||||
msgid "Group By..."
|
||||
msgstr "Объеденить по..."
|
||||
msgstr "Группировать по ..."
|
||||
|
||||
#. module: mail
|
||||
#: model:ir.actions.act_window,name:mail.action_email_compose_message_wizard
|
||||
@@ -80,7 +80,7 @@ msgstr "Получатели сообщения"
|
||||
#: field:mail.compose.message,body_text:0 field:mail.message,body_text:0
|
||||
#: field:mail.message.common,body_text:0
|
||||
msgid "Text Contents"
|
||||
msgstr ""
|
||||
msgstr "Текстовое содержимое"
|
||||
|
||||
#. module: mail
|
||||
#: view:mail.message:0 selection:mail.message,state:0
|
||||
@@ -196,7 +196,7 @@ msgstr "Получатели"
|
||||
#. module: mail
|
||||
#: model:ir.model,name:mail.model_mail_compose_message
|
||||
msgid "Email composition wizard"
|
||||
msgstr ""
|
||||
msgstr "Мастер составления эл. почты"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.compose.message,res_id:0 field:mail.message,res_id:0
|
||||
@@ -219,7 +219,7 @@ msgstr "Ответ:"
|
||||
#: field:mail.compose.message,model:0 field:mail.message,model:0
|
||||
#: field:mail.message.common,model:0
|
||||
msgid "Related Document Model"
|
||||
msgstr ""
|
||||
msgstr "Модель связанного документа"
|
||||
|
||||
#. module: mail
|
||||
#: view:mail.message:0
|
||||
@@ -287,7 +287,7 @@ msgstr "%(sender_name)s написал:"
|
||||
#: field:mail.compose.message,body_html:0 field:mail.message,body_html:0
|
||||
#: field:mail.message.common,body_html:0
|
||||
msgid "Rich-text Contents"
|
||||
msgstr ""
|
||||
msgstr "Форматированное содержимое"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.message,original:0
|
||||
@@ -359,7 +359,7 @@ msgstr "[OpenERP-Forward-Failed] %s"
|
||||
#. module: mail
|
||||
#: field:mail.message,user_id:0
|
||||
msgid "Related User"
|
||||
msgstr ""
|
||||
msgstr "Относится к пользователю"
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.compose.message,headers:0 help:mail.message,headers:0
|
||||
@@ -454,7 +454,7 @@ msgstr "Сообщения"
|
||||
#: field:mail.compose.message,headers:0 field:mail.message,headers:0
|
||||
#: field:mail.message.common,headers:0
|
||||
msgid "Message Headers"
|
||||
msgstr ""
|
||||
msgstr "Заголовки сообщений"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.compose.message,email_bcc:0 field:mail.message,email_bcc:0
|
||||
|
||||
@@ -36,7 +36,8 @@ It handles the full sales workflow:
|
||||
* **Quotation** -> **Sales order** -> **Invoice**
|
||||
|
||||
Preferences (only with Warehouse Management installed)
|
||||
-----------
|
||||
------------------------------------------------------
|
||||
|
||||
If you also installed the Warehouse Management, you can deal with the following preferences:
|
||||
|
||||
* Shipping: Choice of delivery at once or partial delivery
|
||||
|
||||
@@ -7,21 +7,21 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-09-20 07:32+0000\n"
|
||||
"PO-Revision-Date: 2012-10-25 17:47+0000\n"
|
||||
"Last-Translator: ccdos <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-10-30 16:29+0000\n"
|
||||
"Last-Translator: ccdos <ccdos@163.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-30 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-31 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 16218)\n"
|
||||
|
||||
#. module: sale_stock
|
||||
#: help:sale.config.settings,group_invoice_deli_orders:0
|
||||
msgid ""
|
||||
"To allow your salesman to make invoices for Delivery Orders using the menu "
|
||||
"'Deliveries to Invoice'."
|
||||
msgstr ""
|
||||
msgstr "允许销售员 使用菜单“按已交付数量开票” 根据发运单开发票"
|
||||
|
||||
#. module: sale_stock
|
||||
#: code:addons/sale_stock/sale_stock.py:496
|
||||
@@ -77,7 +77,7 @@ msgstr "调拨出去或调拨给客户的单据"
|
||||
#. module: sale_stock
|
||||
#: field:sale.config.settings,group_multiple_shops:0
|
||||
msgid "Manage multiple shops"
|
||||
msgstr ""
|
||||
msgstr "管理多个商店"
|
||||
|
||||
#. module: sale_stock
|
||||
#: model:process.transition.action,name:sale_stock.process_transition_action_validate0
|
||||
@@ -280,7 +280,7 @@ msgstr "默认选项"
|
||||
#. module: sale_stock
|
||||
#: field:sale.config.settings,module_project_mrp:0
|
||||
msgid "Project MRP"
|
||||
msgstr ""
|
||||
msgstr "项目MRP"
|
||||
|
||||
#. module: sale_stock
|
||||
#: help:sale.order.line,type:0
|
||||
@@ -314,7 +314,7 @@ msgstr "已送货"
|
||||
msgid ""
|
||||
"To allow your salesman to make invoices for sale order lines using the menu "
|
||||
"'Lines to Invoice'."
|
||||
msgstr ""
|
||||
msgstr "允许销售员 使用菜单“逐行开票” 根据销售单明细逐行开发票"
|
||||
|
||||
#. module: sale_stock
|
||||
#: code:addons/sale_stock/sale_stock.py:260
|
||||
@@ -350,7 +350,7 @@ msgstr "允许追加运输成本"
|
||||
#. module: sale_stock
|
||||
#: view:sale.order:0
|
||||
msgid "days"
|
||||
msgstr ""
|
||||
msgstr "天数"
|
||||
|
||||
#. module: sale_stock
|
||||
#: field:sale.order.line,product_packaging:0
|
||||
@@ -371,7 +371,7 @@ msgstr "允许开发运单"
|
||||
#: code:addons/sale_stock/sale_stock.py:689
|
||||
#, python-format
|
||||
msgid "Advance of %s %%"
|
||||
msgstr ""
|
||||
msgstr "%s %% 的预付款"
|
||||
|
||||
#. module: sale_stock
|
||||
#: code:addons/sale_stock/sale_stock.py:601
|
||||
@@ -465,7 +465,7 @@ msgstr "编号必须在公司内唯一!"
|
||||
#: code:addons/sale_stock/sale_stock.py:698
|
||||
#, python-format
|
||||
msgid "Advance of %s %s"
|
||||
msgstr ""
|
||||
msgstr "%s %s 的预付款"
|
||||
|
||||
#. module: sale_stock
|
||||
#: model:process.node,note:sale_stock.process_node_saleprocurement0
|
||||
@@ -559,7 +559,7 @@ msgstr "生成发票"
|
||||
#. module: sale_stock
|
||||
#: help:sale.config.settings,group_mrp_properties:0
|
||||
msgid "Allows you to tag sale order lines with properties."
|
||||
msgstr ""
|
||||
msgstr "允许你用 属性 来标记销售订单 明细"
|
||||
|
||||
#. module: sale_stock
|
||||
#: field:sale.config.settings,task_work:0
|
||||
@@ -591,13 +591,13 @@ msgstr "贸易术语"
|
||||
#. module: sale_stock
|
||||
#: constraint:stock.move:0
|
||||
msgid "You try to assign a lot which is not from the same product."
|
||||
msgstr ""
|
||||
msgstr "您企图为不一样的产品创建批号"
|
||||
|
||||
#. module: sale_stock
|
||||
#: code:addons/sale_stock/sale_stock.py:659
|
||||
#, python-format
|
||||
msgid "Cannot cancel sales order line!"
|
||||
msgstr ""
|
||||
msgstr "不能取消销售订单明细"
|
||||
|
||||
#. module: sale_stock
|
||||
#: view:sale.order:0
|
||||
@@ -637,14 +637,14 @@ msgstr "公司名必须唯一!"
|
||||
#. module: sale_stock
|
||||
#: model:ir.model,name:sale_stock.model_sale_config_settings
|
||||
msgid "sale.config.settings"
|
||||
msgstr ""
|
||||
msgstr "sale.config.settings"
|
||||
|
||||
#. module: sale_stock
|
||||
#: help:sale.order,picking_ids:0
|
||||
msgid ""
|
||||
"This is a list of delivery orders that has been generated for this sales "
|
||||
"order."
|
||||
msgstr ""
|
||||
msgstr "这是一个销售订单生产的发运单列表"
|
||||
|
||||
#. module: sale_stock
|
||||
#: model:process.node,name:sale_stock.process_node_saleorderprocurement0
|
||||
@@ -674,12 +674,12 @@ msgstr ""
|
||||
#. module: sale_stock
|
||||
#: view:sale.order:0
|
||||
msgid "Recreate Delivery Order"
|
||||
msgstr ""
|
||||
msgstr "重建发运单"
|
||||
|
||||
#. module: sale_stock
|
||||
#: help:sale.config.settings,group_multiple_shops:0
|
||||
msgid "This allows to configure and use multiple shops."
|
||||
msgstr ""
|
||||
msgstr "允许配置和使用多个商店"
|
||||
|
||||
#. module: sale_stock
|
||||
#: field:sale.order,picked_rate:0
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:37+0000\n"
|
||||
"PO-Revision-Date: 2011-01-12 19:03+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-10-30 22:46+0000\n"
|
||||
"Last-Translator: Nicola Riolini - Micronaet <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-31 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 16218)\n"
|
||||
|
||||
#. module: stock_location
|
||||
#: selection:product.pulled.flow,picking_type:0
|
||||
@@ -164,7 +164,7 @@ msgstr "Azienda"
|
||||
#. module: stock_location
|
||||
#: view:product.product:0
|
||||
msgid "Logistics Flows"
|
||||
msgstr ""
|
||||
msgstr "Flussi logistici"
|
||||
|
||||
#. module: stock_location
|
||||
#: help:stock.move,cancel_cascade:0
|
||||
|
||||
Reference in New Issue
Block a user