[MERGE] Merge with main branch

bzr revid: jap@tinyerp.com-20130507101612-5gbw9ncm9kujrugp
This commit is contained in:
Jagdish Panchal
2013-05-07 15:46:12 +05:30
25 changed files with 1000 additions and 280 deletions
+2 -1
View File
@@ -20,10 +20,11 @@
</p>
<group>
<field name="charts" class="oe_inline"/>
<field name="company_id" widget="selection"/><!-- we assume that this wizard will be run only by administrators and as this field may cause problem if hidden (because of the default company of the user removed from the selection because already configured), we simply choosed to remove the group "multi company" of it -->
</group>
<group string="Configure your Fiscal Year" groups="account.group_account_user">
<field name="has_default_company" invisible="1" />
<field name="company_id" colspan="4" widget="selection" attrs="{'invisible' : [('has_default_company', '=', True)]}"/><!-- we assume that this wizard will be run only by administrators and as this field may cause problem if hidden (because of the default company of the user removed from the selection because already configured), we simply choosed to remove the group "multi company" of it -->
<label for="date_start" string="Date Range"/>
<div>
<field name="date_start" on_change="on_change_start_date(date_start)" class="oe_inline"/> -
+1 -3
View File
@@ -2123,10 +2123,8 @@
<group attrs="{'invisible': [('only_one_chart_template','=',True)]}">
<field name="chart_template_id" widget="selection" on_change="onchange_chart_template_id(chart_template_id)" domain="[('visible','=', True)]"/>
</group>
<group groups="base.group_multi_company">
<field name="company_id" widget="selection" on_change="onchange_company_id(company_id)"/> <!-- we assume that this wizard will be run only by administrators and as this field may cause problem if hidden (because of the default company of the user removed from the selection because already configured), we simply choosed to remove the group "multi company" of it -->
</group>
<group>
<field name="company_id" widget="selection" on_change="onchange_company_id(company_id)"/> <!-- we assume that this wizard will be run only by administrators and as this field may cause problem if hidden (because of the default company of the user removed from the selection because already configured), we simply choosed to remove the group "multi company" of it -->
<field name="currency_id" class="oe_inline"/>
<field name="sale_tax" attrs="{'invisible': [('complete_tax_set', '!=', True)]}" domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('sale','all'))]"/>
<label for="sale_tax_rate" string="Sale Tax" attrs="{'invisible': [('complete_tax_set', '=', True)]}"/>
+6 -6
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2013-03-07 08:37+0000\n"
"PO-Revision-Date: 2013-04-12 06:06+0000\n"
"Last-Translator: Herczeg Péter <hp@erp-cloud.hu>\n"
"PO-Revision-Date: 2013-05-02 07:53+0000\n"
"Last-Translator: krnkris <Unknown>\n"
"Language-Team: Hungarian <hu@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: 2013-04-13 06:31+0000\n"
"X-Generator: Launchpad (build 16564)\n"
"X-Launchpad-Export-Date: 2013-05-03 06:29+0000\n"
"X-Generator: Launchpad (build 16598)\n"
#. module: account
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
@@ -623,7 +623,7 @@ msgstr "Sorszámok"
#: field:account.financial.report,account_report_id:0
#: selection:account.financial.report,type:0
msgid "Report Value"
msgstr ""
msgstr "Érték beszámoló"
#. module: account
#: code:addons/account/wizard/account_validate_account_move.py:39
@@ -800,7 +800,7 @@ msgstr "Számla kód"
#. module: account
#: selection:account.financial.report,display_detail:0
msgid "Display children with hierarchy"
msgstr ""
msgstr "Az alcsoportok mutatása rangsorral"
#. module: account
#: selection:account.payment.term.line,value:0
+9 -9
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2013-03-07 08:37+0000\n"
"PO-Revision-Date: 2013-04-28 07:29+0000\n"
"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
"PO-Revision-Date: 2013-05-02 09:36+0000\n"
"Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
"Language-Team: OpenERP Türkiye Yerelleştirmesi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-04-29 06:04+0000\n"
"X-Generator: Launchpad (build 16580)\n"
"X-Launchpad-Export-Date: 2013-05-03 06:29+0000\n"
"X-Generator: Launchpad (build 16598)\n"
"Language: tr\n"
#. module: account
@@ -1426,7 +1426,7 @@ msgstr "Şablon"
#. module: account
#: selection:account.analytic.journal,type:0
msgid "Situation"
msgstr "Durum"
msgstr "Durumu"
#. module: account
#: help:account.move.line,move_id:0
@@ -6139,7 +6139,7 @@ msgstr "Ortak Hesap Hesap Raporu"
#: selection:account.period,state:0
#: selection:report.invoice.created,state:0
msgid "Open"
msgstr "Aç"
msgstr "Açık"
#. module: account
#: view:account.config.settings:0
@@ -7081,7 +7081,7 @@ msgstr "Diğer Bilgiler"
#. module: account
#: field:account.journal,default_credit_account_id:0
msgid "Default Credit Account"
msgstr "Varsayılan Kredi Hesabı"
msgstr "Varsayılan Alacak Hesabı"
#. module: account
#: help:account.analytic.line,currency_id:0
@@ -10728,7 +10728,7 @@ msgstr "Hesap Hareketini Doğrula"
#: report:account.vat.declaration:0
#: field:report.account.receivable,credit:0
msgid "Credit"
msgstr "Kredi"
msgstr "Alacak"
#. module: account
#: view:account.invoice:0
@@ -10755,7 +10755,7 @@ msgstr "Başlangıç dönemi bitiş döneminden önce olmalı."
#: field:account.invoice,number:0
#: field:account.move,name:0
msgid "Number"
msgstr "Sayı"
msgstr "Numarası"
#. module: account
#: report:account.analytic.account.journal:0
@@ -0,0 +1,362 @@
# Hungarian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2013-03-07 08:37+0000\n"
"PO-Revision-Date: 2013-05-05 22:30+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Hungarian <hu@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: 2013-05-06 06:35+0000\n"
"X-Generator: Launchpad (build 16598)\n"
#. module: account_bank_statement_extensions
#: help:account.bank.statement.line.global,name:0
msgid "Originator to Beneficiary Information"
msgstr "Kezdeményezőtől a kedvezményezetthez intézett információ"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
#: selection:account.bank.statement.line,state:0
msgid "Confirmed"
msgstr "Jóváhagyott"
#. module: account_bank_statement_extensions
#: view:account.bank.statement:0
#: view:account.bank.statement.line:0
msgid "Glob. Id"
msgstr "Globális ID azonosító"
#. module: account_bank_statement_extensions
#: selection:account.bank.statement.line.global,type:0
msgid "CODA"
msgstr "CODA"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line.global,parent_id:0
msgid "Parent Code"
msgstr "Szülő kód"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Debit"
msgstr "Tartozik"
#. module: account_bank_statement_extensions
#: view:cancel.statement.line:0
#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_cancel_statement_line
#: model:ir.model,name:account_bank_statement_extensions.model_cancel_statement_line
msgid "Cancel selected statement lines"
msgstr "Kiválasztott számlakivonat sorok visszavonása"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,val_date:0
msgid "Value Date"
msgstr "Értéknap"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Group By..."
msgstr "Csoportosítás ezzel..."
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
#: selection:account.bank.statement.line,state:0
msgid "Draft"
msgstr "Tervezet"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Statement"
msgstr "Kivonat"
#. module: account_bank_statement_extensions
#: view:confirm.statement.line:0
#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_confirm_statement_line
#: model:ir.model,name:account_bank_statement_extensions.model_confirm_statement_line
msgid "Confirm selected statement lines"
msgstr "Kiválasztott bankszámla kivonat sorok jóváhagyása"
#. module: account_bank_statement_extensions
#: report:bank.statement.balance.report:0
#: model:ir.actions.report.xml,name:account_bank_statement_extensions.bank_statement_balance_report
msgid "Bank Statement Balances Report"
msgstr "Bank kivonat egyenleg kimutatás"
#. module: account_bank_statement_extensions
#: view:cancel.statement.line:0
msgid "Cancel Lines"
msgstr "Sorok elvetése"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line.global:0
#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement_line_global
msgid "Batch Payment Info"
msgstr "Köptegelt fizetés információ"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,state:0
msgid "Status"
msgstr "Állapot"
#. module: account_bank_statement_extensions
#: code:addons/account_bank_statement_extensions/account_bank_statement.py:129
#, python-format
msgid ""
"Delete operation not allowed. Please go to the associated bank "
"statement in order to delete and/or modify bank statement line."
msgstr ""
"A törlés végrehajtás nem engedélyezett. Kérem menjen az ide vonatkozó banki "
"kivonathoz, hogy azt törölhesse és/vagy módosíthassa."
#. module: account_bank_statement_extensions
#: view:confirm.statement.line:0
msgid "or"
msgstr "vagy"
#. module: account_bank_statement_extensions
#: view:confirm.statement.line:0
msgid "Confirm Lines"
msgstr "Jóváhagyott sorok5"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line.global:0
msgid "Transactions"
msgstr "Tranzakciók"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line.global,type:0
msgid "Type"
msgstr "Típus"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
#: report:bank.statement.balance.report:0
msgid "Journal"
msgstr "Napló"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Confirmed Statement Lines."
msgstr "Jóváhagyott kivonat sorok"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Credit Transactions."
msgstr "Jóváírási tranzakció"
#. module: account_bank_statement_extensions
#: model:ir.actions.act_window,help:account_bank_statement_extensions.action_cancel_statement_line
msgid "cancel selected statement lines."
msgstr "kiválasztott kivonat sorok visszavonása"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,counterparty_number:0
msgid "Counterparty Number"
msgstr "Ellanoldali szám"
#. module: account_bank_statement_extensions
#: report:bank.statement.balance.report:0
msgid "Closing Balance"
msgstr "Záró egyenleg"
#. module: account_bank_statement_extensions
#: report:bank.statement.balance.report:0
msgid "Date"
msgstr "Dátum"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
#: field:account.bank.statement.line,globalisation_amount:0
msgid "Glob. Amount"
msgstr "Globális összeg"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Debit Transactions."
msgstr "Terhelés tranzakciók"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Extended Filters..."
msgstr "Kiterjesztett szűrők…"
#. module: account_bank_statement_extensions
#: view:confirm.statement.line:0
msgid "Confirmed lines cannot be changed anymore."
msgstr "Jóváhagyott sorokat enm lehet többé megváltoztatni."
#. module: account_bank_statement_extensions
#: view:cancel.statement.line:0
msgid "Are you sure you want to cancel the selected Bank Statement lines ?"
msgstr ""
"Biztos benne, hogy vissza akarja vonni a kijelölt banki kivonat sorokat?"
#. module: account_bank_statement_extensions
#: report:bank.statement.balance.report:0
msgid "Name"
msgstr "Név"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line.global,name:0
msgid "OBI"
msgstr "OBI"
#. module: account_bank_statement_extensions
#: selection:account.bank.statement.line.global,type:0
msgid "ISO 20022"
msgstr "ISO 20022"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Notes"
msgstr "Jegyzetek"
#. module: account_bank_statement_extensions
#: selection:account.bank.statement.line.global,type:0
msgid "Manual"
msgstr "Kézi"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Bank Transaction"
msgstr "Banki tranzakciók"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Credit"
msgstr "Jóváírás"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line.global,amount:0
msgid "Amount"
msgstr "Összeg"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Fin.Account"
msgstr "Főkönyvi számla"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,counterparty_currency:0
msgid "Counterparty Currency"
msgstr "Ellenoldal pénzneme"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,counterparty_bic:0
msgid "Counterparty BIC"
msgstr "Ellenoldali BIC"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line.global,child_ids:0
msgid "Child Codes"
msgstr "Alárendelt kódok"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Search Bank Transactions"
msgstr "Banki tranzakciók keresése"
#. module: account_bank_statement_extensions
#: view:confirm.statement.line:0
msgid "Are you sure you want to confirm the selected Bank Statement lines ?"
msgstr "Biztos, hogy jóvá akarja hagyni a kiválasztott banki kivonat sorait?"
#. module: account_bank_statement_extensions
#: help:account.bank.statement.line,globalisation_id:0
msgid ""
"Code to identify transactions belonging to the same globalisation level "
"within a batch payment"
msgstr ""
"Ugynahhoz, a kötegelt utaláson belüli, globalizált szinthez tartozó "
"tranzakció azonosító kód"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Draft Statement Lines."
msgstr "Tervezet kivonat sorok."
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Glob. Am."
msgstr ""
#. module: account_bank_statement_extensions
#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement_line
msgid "Bank Statement Line"
msgstr "Bankkivonat sor"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line.global,code:0
msgid "Code"
msgstr "Kód"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,counterparty_name:0
msgid "Counterparty Name"
msgstr "Ellenoldal megnevezése"
#. module: account_bank_statement_extensions
#: model:ir.model,name:account_bank_statement_extensions.model_res_partner_bank
msgid "Bank Accounts"
msgstr "Bankszámlák"
#. module: account_bank_statement_extensions
#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement
msgid "Bank Statement"
msgstr "Bankszámlakivonat"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Statement Line"
msgstr "Kivonat sor"
#. module: account_bank_statement_extensions
#: sql_constraint:account.bank.statement.line.global:0
msgid "The code must be unique !"
msgstr "A kódnak egyedinek kell lennie !"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line.global,bank_statement_line_ids:0
#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_bank_statement_line
#: model:ir.ui.menu,name:account_bank_statement_extensions.bank_statement_line
msgid "Bank Statement Lines"
msgstr "Bankkivonat sorai"
#. module: account_bank_statement_extensions
#: code:addons/account_bank_statement_extensions/account_bank_statement.py:129
#, python-format
msgid "Warning!"
msgstr "Figyelem!"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line.global:0
msgid "Child Batch Payments"
msgstr "Alárendelt kötegelt utalások"
#. module: account_bank_statement_extensions
#: view:confirm.statement.line:0
msgid "Cancel"
msgstr "Mégse"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Statement Lines"
msgstr "Kivonat sorai"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Total Amount"
msgstr "Teljes érték"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,globalisation_id:0
msgid "Globalisation ID"
msgstr "Globalizált ID azonosító"
+5 -6
View File
@@ -8,15 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2013-03-07 08:37+0000\n"
"PO-Revision-Date: 2013-04-23 12:55+0000\n"
"Last-Translator: Frederic Clementi - Camptocamp.com "
"<frederic.clementi@camptocamp.com>\n"
"PO-Revision-Date: 2013-05-02 13:25+0000\n"
"Last-Translator: WANTELLET Sylvain <Swantellet@tetra-info.com>\n"
"Language-Team: French <fr@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: 2013-04-24 05:28+0000\n"
"X-Generator: Launchpad (build 16580)\n"
"X-Launchpad-Export-Date: 2013-05-03 06:29+0000\n"
"X-Generator: Launchpad (build 16598)\n"
#. module: account_budget
#: view:account.budget.analytic:0
@@ -345,7 +344,7 @@ msgstr "ou"
#. module: account_budget
#: view:crossovered.budget:0
msgid "Cancel Budget"
msgstr ""
msgstr "Annuler le budget"
#. module: account_budget
#: report:account.budget:0
+6 -6
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2013-03-07 08:37+0000\n"
"PO-Revision-Date: 2012-12-21 23:00+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2013-05-05 11:45+0000\n"
"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\n"
"Language-Team: Polish <pl@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: 2013-03-28 05:29+0000\n"
"X-Generator: Launchpad (build 16546)\n"
"X-Launchpad-Export-Date: 2013-05-06 06:35+0000\n"
"X-Generator: Launchpad (build 16598)\n"
#. module: account_budget
#: view:account.budget.analytic:0
@@ -39,7 +39,7 @@ msgstr "Potwierdzone"
#: model:ir.actions.act_window,name:account_budget.open_budget_post_form
#: model:ir.ui.menu,name:account_budget.menu_budget_post_form
msgid "Budgetary Positions"
msgstr "Pozycje budżetowe"
msgstr "Składniki budżetowe"
#. module: account_budget
#: report:account.budget:0
@@ -291,7 +291,7 @@ msgstr "Do aprobaty"
#: field:crossovered.budget.lines,general_budget_id:0
#: model:ir.model,name:account_budget.model_account_budget_post
msgid "Budgetary Position"
msgstr "Pozycja budżetu"
msgstr "Składnik budżetu"
#. module: account_budget
#: field:account.budget.analytic,date_from:0
+1
View File
@@ -67,6 +67,7 @@ This module manages:
'test/sales_payment.yml',
'test/account_voucher_report.yml',
'test/case1_usd_usd.yml',
'test/case1_usd_usd_payment_rate.yml',
'test/case2_usd_eur_debtor_in_eur.yml',
'test/case2_usd_eur_debtor_in_usd.yml',
'test/case3_eur_eur.yml',
+187 -133
View File
@@ -28,6 +28,24 @@ import openerp.addons.decimal_precision as dp
from openerp.tools.translate import _
from openerp.tools import float_compare
class res_currency(osv.osv):
_inherit = "res.currency"
def _current_rate(self, cr, uid, ids, name, arg, context=None):
if context is None:
context = {}
res = super(res_currency, self)._current_rate(cr, uid, ids, name, arg, context=context)
if context.get('voucher_special_currency') in ids and context.get('voucher_special_currency_rate'):
res[context.get('voucher_special_currency')] = context.get('voucher_special_currency_rate')
return res
_columns = {
# same definition of rate that in base in order to just overwrite the function
'rate': fields.function(_current_rate, string='Current Rate', digits=(12,6),
help='The rate of the currency to the currency of rate 1.'),
}
class res_company(osv.osv):
_inherit = "res.company"
_columns = {
@@ -156,7 +174,7 @@ class account_voucher(osv.osv):
journal = journal_pool.browse(cr, uid, journal_id, context=context)
if journal.currency:
return journal.currency.id
return False
return self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.currency_id.id
def _get_partner(self, cr, uid, context=None):
if context is None: context = {}
@@ -240,6 +258,12 @@ class account_voucher(osv.osv):
break
return {'value': {'writeoff_amount': self._compute_writeoff_amount(cr, uid, line_dr_ids, line_cr_ids, amount, type), 'is_multi_currency': is_multi_currency}}
def _get_journal_currency(self, cr, uid, ids, name, args, context=None):
res = {}
for voucher in self.browse(cr, uid, ids, context=context):
res[voucher.id] = voucher.journal_id.currency and voucher.journal_id.currency.id or voucher.company_id.currency_id.id
return res
def _get_writeoff_amount(self, cr, uid, ids, name, args, context=None):
if not ids: return {}
currency_obj = self.pool.get('res.currency')
@@ -256,20 +280,18 @@ class account_voucher(osv.osv):
return res
def _paid_amount_in_company_currency(self, cr, uid, ids, name, args, context=None):
if not ids: return {}
if context is None:
context = {}
res = {}
rate = 1.0
for voucher in self.browse(cr, uid, ids, context=context):
if voucher.currency_id:
if voucher.company_id.currency_id.id == voucher.payment_rate_currency_id.id:
rate = 1 / voucher.payment_rate
else:
ctx = context.copy()
ctx.update({'date': voucher.date})
voucher_rate = self.browse(cr, uid, voucher.id, context=ctx).currency_id.rate
company_currency_rate = voucher.company_id.currency_id.rate
rate = voucher_rate * company_currency_rate
res[voucher.id] = voucher.amount / rate
ctx = context.copy()
for v in self.browse(cr, uid, ids, context=context):
ctx.update({'date': v.date})
#make a new call to browse in order to have the right date in the context, to get the right currency rate
voucher = self.browse(cr, uid, v.id, context=ctx)
ctx.update({
'voucher_special_currency': voucher.payment_rate_currency_id and voucher.payment_rate_currency_id.id or False,
'voucher_special_currency_rate': voucher.currency_id.rate * voucher.payment_rate,})
res[voucher.id] = self.pool.get('res.currency').compute(cr, uid, voucher.currency_id.id, voucher.company_id.currency_id.id, voucher.amount, context=ctx)
return res
_name = 'account.voucher'
@@ -302,8 +324,7 @@ class account_voucher(osv.osv):
domain=[('type','=','dr')], context={'default_type':'dr'}, readonly=True, states={'draft':[('readonly',False)]}),
'period_id': fields.many2one('account.period', 'Period', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'narration':fields.text('Notes', readonly=True, states={'draft':[('readonly',False)]}),
# 'currency_id':fields.many2one('res.currency', 'Currency', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'currency_id': fields.related('journal_id','currency', type='many2one', relation='res.currency', string='Currency', readonly=True),
'currency_id': fields.function(_get_journal_currency, type='many2one', relation='res.currency', string='Currency', readonly=True, required=True),
'company_id': fields.many2one('res.company', 'Company', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'state':fields.selection(
[('draft','Draft'),
@@ -420,6 +441,8 @@ class account_voucher(osv.osv):
partner_pool = self.pool.get('res.partner')
position_pool = self.pool.get('account.fiscal.position')
line_pool = self.pool.get('account.voucher.line')
if not line_ids:
line_ids = []
res = {
'tax_amount': False,
'amount': False,
@@ -515,22 +538,25 @@ class account_voucher(osv.osv):
def onchange_rate(self, cr, uid, ids, rate, amount, currency_id, payment_rate_currency_id, company_id, context=None):
res = {'value': {'paid_amount_in_company_currency': amount}}
company_currency = self.pool.get('res.company').browse(cr, uid, company_id, context=context).currency_id
if rate and amount and currency_id:# and currency_id == payment_rate_currency_id:
voucher_rate = self.pool.get('res.currency').browse(cr, uid, currency_id, context).rate
if company_currency.id == payment_rate_currency_id:
company_rate = rate
else:
company_rate = self.pool.get('res.company').browse(cr, uid, company_id, context=context).currency_id.rate
res['value']['paid_amount_in_company_currency'] = amount / voucher_rate * company_rate
if rate and amount and currency_id:
company_currency = self.pool.get('res.company').browse(cr, uid, company_id, context=context).currency_id
#context should contain the date, the payment currency and the payment rate specified on the voucher
amount_in_company_currency = self.pool.get('res.currency').compute(cr, uid, currency_id, company_currency.id, amount, context=context)
res['value']['paid_amount_in_company_currency'] = amount_in_company_currency
return res
def onchange_amount(self, cr, uid, ids, amount, rate, partner_id, journal_id, currency_id, ttype, date, payment_rate_currency_id, company_id, context=None):
if context is None:
context = {}
res = self.recompute_voucher_lines(cr, uid, ids, partner_id, journal_id, amount, currency_id, ttype, date, context=context)
ctx = context.copy()
ctx.update({'date': date})
#read the voucher rate with the right date in the context
currency_id = currency_id or self.pool.get('res.company').browse(cr, uid, company_id, context=ctx).currency_id.id
voucher_rate = self.pool.get('res.currency').read(cr, uid, currency_id, ['rate'], context=ctx)['rate']
ctx.update({
'voucher_special_currency': payment_rate_currency_id,
'voucher_special_currency_rate': rate * voucher_rate})
res = self.recompute_voucher_lines(cr, uid, ids, partner_id, journal_id, amount, currency_id, ttype, date, context=ctx)
vals = self.onchange_rate(cr, uid, ids, rate, amount, currency_id, payment_rate_currency_id, company_id, context=ctx)
for key in vals.keys():
res[key].update(vals[key])
@@ -544,6 +570,7 @@ class account_voucher(osv.osv):
journal = self.pool.get('account.journal').browse(cr, uid, journal_id, context=context)
company_id = journal.company_id.id
payment_rate = 1.0
currency_id = currency_id or journal.company_id.currency_id.id
payment_rate_currency_id = currency_id
ctx = context.copy()
ctx.update({'date': date})
@@ -559,24 +586,62 @@ class account_voucher(osv.osv):
# is not in the voucher currency
payment_rate_currency_id = voucher_line['currency_id']
tmp = currency_obj.browse(cr, uid, payment_rate_currency_id, context=ctx).rate
voucher_currency_id = currency_id or journal.company_id.currency_id.id
payment_rate = tmp / currency_obj.browse(cr, uid, voucher_currency_id, context=ctx).rate
payment_rate = tmp / currency_obj.browse(cr, uid, currency_id, context=ctx).rate
break
vals['value'].update({
'payment_rate': payment_rate,
'currency_id': currency_id,
'payment_rate_currency_id': payment_rate_currency_id
})
#read the voucher rate with the right date in the context
voucher_rate = self.pool.get('res.currency').read(cr, uid, currency_id, ['rate'], context=ctx)['rate']
ctx.update({
'voucher_special_currency_rate': payment_rate * voucher_rate,
'voucher_special_currency': payment_rate_currency_id})
res = self.onchange_rate(cr, uid, ids, payment_rate, amount, currency_id, payment_rate_currency_id, company_id, context=ctx)
for key in res.keys():
vals[key].update(res[key])
vals['value'].update({'payment_rate': payment_rate})
if payment_rate_currency_id:
vals['value'].update({'payment_rate_currency_id': payment_rate_currency_id})
return vals
def basic_onchange_partner(self, cr, uid, ids, partner_id, journal_id, ttype, context=None):
partner_pool = self.pool.get('res.partner')
journal_pool = self.pool.get('account.journal')
res = {'value': {'account_id': False}}
if not partner_id or not journal_id:
return res
journal = journal_pool.browse(cr, uid, journal_id, context=context)
partner = partner_pool.browse(cr, uid, partner_id, context=context)
account_id = False
if journal.type in ('sale','sale_refund'):
account_id = partner.property_account_receivable.id
elif journal.type in ('purchase', 'purchase_refund','expense'):
account_id = partner.property_account_payable.id
else:
account_id = journal.default_credit_account_id.id or journal.default_debit_account_id.id
res['value']['account_id'] = account_id
return res
def onchange_partner_id(self, cr, uid, ids, partner_id, journal_id, amount, currency_id, ttype, date, context=None):
if not journal_id:
return {}
res = self.recompute_voucher_lines(cr, uid, ids, partner_id, journal_id, amount, currency_id, ttype, date, context=context)
vals = self.recompute_payment_rate(cr, uid, ids, res, currency_id, date, ttype, journal_id, amount, context=context)
if context is None:
context = {}
#TODO: comment me and use me directly in the sales/purchases views
res = self.basic_onchange_partner(cr, uid, ids, partner_id, journal_id, ttype, context=context)
if ttype in ['sale', 'purchase']:
return res
ctx = context.copy()
# not passing the payment_rate currency and the payment_rate in the context but it's ok because they are reset in recompute_payment_rate
ctx.update({'date': date})
vals = self.recompute_voucher_lines(cr, uid, ids, partner_id, journal_id, amount, currency_id, ttype, date, context=ctx)
vals2 = self.recompute_payment_rate(cr, uid, ids, vals, currency_id, date, ttype, journal_id, amount, context=context)
for key in vals.keys():
res[key].update(vals[key])
for key in vals2.keys():
res[key].update(vals2[key])
#TODO: can probably be removed now
#TODO: onchange_partner_id() should not returns [pre_line, line_dr_ids, payment_rate...] for type sale, and not
# [pre_line, line_cr_ids, payment_rate...] for type purchase.
# We should definitively split account.voucher object in two and make distinct on_change functions. In the
@@ -619,8 +684,6 @@ class account_voucher(osv.osv):
if context is None:
context = {}
context_multi_currency = context.copy()
if date:
context_multi_currency.update({'date': date})
currency_pool = self.pool.get('res.currency')
move_line_pool = self.pool.get('account.move.line')
@@ -644,18 +707,6 @@ class account_voucher(osv.osv):
journal = journal_pool.browse(cr, uid, journal_id, context=context)
partner = partner_pool.browse(cr, uid, partner_id, context=context)
currency_id = currency_id or journal.company_id.currency_id.id
account_id = False
if journal.type in ('sale','sale_refund'):
account_id = partner.property_account_receivable.id
elif journal.type in ('purchase', 'purchase_refund','expense'):
account_id = partner.property_account_payable.id
else:
account_id = journal.default_credit_account_id.id or journal.default_debit_account_id.id
default['value']['account_id'] = account_id
if journal.type not in ('cash', 'bank'):
return default
total_credit = 0.0
total_debit = 0.0
@@ -713,12 +764,13 @@ class account_voucher(osv.osv):
if _remove_noise_in_o2m():
continue
if line.currency_id and currency_id==line.currency_id.id:
if line.currency_id and currency_id == line.currency_id.id:
amount_original = abs(line.amount_currency)
amount_unreconciled = abs(line.amount_residual_currency)
else:
amount_original = currency_pool.compute(cr, uid, company_currency, currency_id, line.credit or line.debit or 0.0)
amount_unreconciled = currency_pool.compute(cr, uid, company_currency, currency_id, abs(line.amount_residual))
#always use the amount booked in the company currency as the basis of the conversion into the voucher currency
amount_original = currency_pool.compute(cr, uid, company_currency, currency_id, line.credit or line.debit or 0.0, context=context_multi_currency)
amount_unreconciled = currency_pool.compute(cr, uid, company_currency, currency_id, abs(line.amount_residual), context=context_multi_currency)
line_currency_id = line.currency_id and line.currency_id.id or company_currency
rs = {
'name':line.move_id.name,
@@ -764,10 +816,15 @@ class account_voucher(osv.osv):
if context is None:
context = {}
res = {'value': {}}
#set the default payment rate of the voucher and compute the paid amount in company currency
if currency_id and currency_id == payment_rate_currency_id:
#set the default payment rate of the voucher and compute the paid amount in company currency
ctx = context.copy()
ctx.update({'date': date})
#read the voucher rate with the right date in the context
voucher_rate = self.pool.get('res.currency').read(cr, uid, currency_id, ['rate'], context=ctx)['rate']
ctx.update({
'voucher_special_currency_rate': payment_rate * voucher_rate,
'voucher_special_currency': payment_rate_currency_id})
vals = self.onchange_rate(cr, uid, ids, payment_rate, amount, currency_id, payment_rate_currency_id, company_id, context=ctx)
for key in vals.keys():
res[key].update(vals[key])
@@ -788,6 +845,7 @@ class account_voucher(osv.osv):
currency_obj = self.pool.get('res.currency')
ctx = context.copy()
ctx.update({'company_id': company_id, 'account_period_prefer_normal': True})
voucher_currency_id = currency_id or self.pool.get('res.company').browse(cr, uid, company_id, context=ctx).currency_id.id
pids = period_pool.find(cr, uid, date, context=ctx)
if pids:
res['value'].update({'period_id':pids[0]})
@@ -796,9 +854,8 @@ class account_voucher(osv.osv):
payment_rate = 1.0
if payment_rate_currency_id != currency_id:
tmp = currency_obj.browse(cr, uid, payment_rate_currency_id, context=ctx).rate
voucher_currency_id = currency_id or self.pool.get('res.company').browse(cr, uid, company_id, context=ctx).currency_id.id
payment_rate = tmp / currency_obj.browse(cr, uid, voucher_currency_id, context=ctx).rate
vals = self.onchange_payment_rate_currency(cr, uid, ids, currency_id, payment_rate, payment_rate_currency_id, date, amount, company_id, context=context)
vals = self.onchange_payment_rate_currency(cr, uid, ids, voucher_currency_id, payment_rate, payment_rate_currency_id, date, amount, company_id, context=context)
vals['value'].update({'payment_rate': payment_rate})
for key in vals.keys():
res[key].update(vals[key])
@@ -910,8 +967,8 @@ class account_voucher(osv.osv):
current_currency = self._get_current_currency(cr, uid, voucher_id, context)
if current_currency <> company_currency:
context_multi_currency = context.copy()
voucher_brw = self.pool.get('account.voucher').browse(cr, uid, voucher_id, context)
context_multi_currency.update({'date': voucher_brw.date})
voucher = self.pool.get('account.voucher').browse(cr, uid, voucher_id, context)
context_multi_currency.update({'date': voucher.date})
return context_multi_currency
return context
@@ -926,33 +983,33 @@ class account_voucher(osv.osv):
:return: mapping between fieldname and value of account move line to create
:rtype: dict
'''
voucher_brw = self.pool.get('account.voucher').browse(cr,uid,voucher_id,context)
voucher = self.pool.get('account.voucher').browse(cr,uid,voucher_id,context)
debit = credit = 0.0
# TODO: is there any other alternative then the voucher type ??
# ANSWER: We can have payment and receipt "In Advance".
# TODO: Make this logic available.
# -for sale, purchase we have but for the payment and receipt we do not have as based on the bank/cash journal we can not know its payment or receipt
if voucher_brw.type in ('purchase', 'payment'):
credit = voucher_brw.paid_amount_in_company_currency
elif voucher_brw.type in ('sale', 'receipt'):
debit = voucher_brw.paid_amount_in_company_currency
if voucher.type in ('purchase', 'payment'):
credit = voucher.paid_amount_in_company_currency
elif voucher.type in ('sale', 'receipt'):
debit = voucher.paid_amount_in_company_currency
if debit < 0: credit = -debit; debit = 0.0
if credit < 0: debit = -credit; credit = 0.0
sign = debit - credit < 0 and -1 or 1
#set the first line of the voucher
move_line = {
'name': voucher_brw.name or '/',
'name': voucher.name or '/',
'debit': debit,
'credit': credit,
'account_id': voucher_brw.account_id.id,
'account_id': voucher.account_id.id,
'move_id': move_id,
'journal_id': voucher_brw.journal_id.id,
'period_id': voucher_brw.period_id.id,
'partner_id': voucher_brw.partner_id.id,
'journal_id': voucher.journal_id.id,
'period_id': voucher.period_id.id,
'partner_id': voucher.partner_id.id,
'currency_id': company_currency <> current_currency and current_currency or False,
'amount_currency': company_currency <> current_currency and sign * voucher_brw.amount or 0.0,
'date': voucher_brw.date,
'date_maturity': voucher_brw.date_due
'amount_currency': company_currency <> current_currency and sign * voucher.amount or 0.0,
'date': voucher.date,
'date_maturity': voucher.date_due
}
return move_line
@@ -965,31 +1022,31 @@ class account_voucher(osv.osv):
:rtype: dict
'''
seq_obj = self.pool.get('ir.sequence')
voucher_brw = self.pool.get('account.voucher').browse(cr,uid,voucher_id,context)
if voucher_brw.number:
name = voucher_brw.number
elif voucher_brw.journal_id.sequence_id:
if not voucher_brw.journal_id.sequence_id.active:
voucher = self.pool.get('account.voucher').browse(cr,uid,voucher_id,context)
if voucher.number:
name = voucher.number
elif voucher.journal_id.sequence_id:
if not voucher.journal_id.sequence_id.active:
raise osv.except_osv(_('Configuration Error !'),
_('Please activate the sequence of selected journal !'))
c = dict(context)
c.update({'fiscalyear_id': voucher_brw.period_id.fiscalyear_id.id})
name = seq_obj.next_by_id(cr, uid, voucher_brw.journal_id.sequence_id.id, context=c)
c.update({'fiscalyear_id': voucher.period_id.fiscalyear_id.id})
name = seq_obj.next_by_id(cr, uid, voucher.journal_id.sequence_id.id, context=c)
else:
raise osv.except_osv(_('Error!'),
_('Please define a sequence on the journal.'))
if not voucher_brw.reference:
if not voucher.reference:
ref = name.replace('/','')
else:
ref = voucher_brw.reference
ref = voucher.reference
move = {
'name': name,
'journal_id': voucher_brw.journal_id.id,
'narration': voucher_brw.narration,
'date': voucher_brw.date,
'journal_id': voucher.journal_id.id,
'narration': voucher.narration,
'date': voucher.date,
'ref': ref,
'period_id': voucher_brw.period_id.id,
'period_id': voucher.period_id.id,
}
return move
@@ -1016,7 +1073,10 @@ class account_voucher(osv.osv):
raise osv.except_osv(_('Insufficient Configuration!'),_("You should configure the 'Gain Exchange Rate Account' in the accounting settings, to manage automatically the booking of accounting entries related to differences between exchange rates."))
# Even if the amount_currency is never filled, we need to pass the foreign currency because otherwise
# the receivable/payable account may have a secondary currency, which render this field mandatory
account_currency_id = company_currency <> current_currency and current_currency or False
if line.account_id.currency_id:
account_currency_id = line.account_id.currency_id.id
else:
account_currency_id = company_currency <> current_currency and current_currency or False
move_line = {
'journal_id': line.voucher_id.journal_id.id,
'period_id': line.voucher_id.period_id.id,
@@ -1059,16 +1119,11 @@ class account_voucher(osv.osv):
:return: the amount in the currency of the voucher's company
:rtype: float
'''
if context is None:
context = {}
currency_obj = self.pool.get('res.currency')
voucher = self.browse(cr, uid, voucher_id, context=context)
res = amount
if voucher.payment_rate_currency_id.id == voucher.company_id.currency_id.id:
# the rate specified on the voucher is for the company currency
res = currency_obj.round(cr, uid, voucher.company_id.currency_id, (amount * voucher.payment_rate))
else:
# the rate specified on the voucher is not relevant, we use all the rates in the system
res = currency_obj.compute(cr, uid, voucher.currency_id.id, voucher.company_id.currency_id.id, amount, context=context)
return res
return currency_obj.compute(cr, uid, voucher.currency_id.id, voucher.company_id.currency_id.id, amount, context=context)
def voucher_move_line_create(self, cr, uid, voucher_id, line_total, move_id, company_currency, current_currency, context=None):
'''
@@ -1092,39 +1147,45 @@ class account_voucher(osv.osv):
tot_line = line_total
rec_lst_ids = []
voucher_brw = self.pool.get('account.voucher').browse(cr, uid, voucher_id, context)
date = self.read(cr, uid, voucher_id, ['date'], context=context)['date']
ctx = context.copy()
ctx.update({'date': voucher_brw.date})
ctx.update({'date': date})
voucher = self.pool.get('account.voucher').browse(cr, uid, voucher_id, context=ctx)
voucher_currency = voucher.journal_id.currency or voucher.company_id.currency_id
ctx.update({
'voucher_special_currency_rate': voucher_currency.rate * voucher.payment_rate ,
'voucher_special_currency': voucher.payment_rate_currency_id and voucher.payment_rate_currency_id.id or False,})
prec = self.pool.get('decimal.precision').precision_get(cr, uid, 'Account')
for line in voucher_brw.line_ids:
for line in voucher.line_ids:
#create one move line per voucher line where amount is not 0.0
# AND (second part of the clause) only if the original move line was not having debit = credit = 0 (which is a legal value)
if not line.amount and not (line.move_line_id and not float_compare(line.move_line_id.debit, line.move_line_id.credit, precision_rounding=prec) and not float_compare(line.move_line_id.debit, 0.0, precision_rounding=prec)):
continue
# convert the amount set on the voucher line into the currency of the voucher's company
amount = self._convert_amount(cr, uid, line.untax_amount or line.amount, voucher_brw.id, context=ctx)
# this calls res_curreny.compute() with the right context, so that it will take either the rate on the voucher if it is relevant or will use the default behaviour
amount = self._convert_amount(cr, uid, line.untax_amount or line.amount, voucher.id, context=ctx)
# if the amount encoded in voucher is equal to the amount unreconciled, we need to compute the
# currency rate difference
if line.amount == line.amount_unreconciled:
if not line.move_line_id:
raise osv.except_osv(_('Wrong voucher line'),_("The invoice you are willing to pay is not valid anymore."))
sign = voucher_brw.type in ('payment', 'purchase') and -1 or 1
sign = voucher.type in ('payment', 'purchase') and -1 or 1
currency_rate_difference = sign * (line.move_line_id.amount_residual - amount)
else:
currency_rate_difference = 0.0
move_line = {
'journal_id': voucher_brw.journal_id.id,
'period_id': voucher_brw.period_id.id,
'journal_id': voucher.journal_id.id,
'period_id': voucher.period_id.id,
'name': line.name or '/',
'account_id': line.account_id.id,
'move_id': move_id,
'partner_id': voucher_brw.partner_id.id,
'partner_id': voucher.partner_id.id,
'currency_id': line.move_line_id and (company_currency <> line.move_line_id.currency_id.id and line.move_line_id.currency_id.id) or False,
'analytic_account_id': line.account_analytic_id and line.account_analytic_id.id or False,
'quantity': 1,
'credit': 0.0,
'debit': 0.0,
'date': voucher_brw.date
'date': voucher.date
}
if amount < 0:
amount = -amount
@@ -1140,9 +1201,9 @@ class account_voucher(osv.osv):
tot_line -= amount
move_line['credit'] = amount
if voucher_brw.tax_id and voucher_brw.type in ('sale', 'purchase'):
if voucher.tax_id and voucher.type in ('sale', 'purchase'):
move_line.update({
'account_tax_id': voucher_brw.tax_id.id,
'account_tax_id': voucher.tax_id.id,
})
if move_line.get('account_tax_id', False):
@@ -1154,7 +1215,6 @@ class account_voucher(osv.osv):
foreign_currency_diff = 0.0
amount_currency = False
if line.move_line_id:
voucher_currency = voucher_brw.currency_id and voucher_brw.currency_id.id or voucher_brw.journal_id.company_id.currency_id.id
# We want to set it on the account move line as soon as the original line had a foreign currency
if line.move_line_id.currency_id and line.move_line_id.currency_id.id != company_currency:
# we compute the amount in that foreign currency.
@@ -1162,27 +1222,19 @@ class account_voucher(osv.osv):
# if the voucher and the voucher line share the same currency, there is no computation to do
sign = (move_line['debit'] - move_line['credit']) < 0 and -1 or 1
amount_currency = sign * (line.amount)
elif line.move_line_id.currency_id.id == voucher_brw.payment_rate_currency_id.id:
# if the rate is specified on the voucher, we must use it
payment_rate = voucher_brw.payment_rate
if voucher_currency != company_currency:
#if the voucher currency is not the company currency, we need to consider the rate of the line's currency
voucher_rate = currency_obj.browse(cr, uid, voucher_currency, context=ctx).rate
payment_rate = voucher_rate * payment_rate
amount_currency = (move_line['debit'] - move_line['credit']) * payment_rate
else:
# otherwise we use the rates of the system (giving the voucher date in the context)
# if the rate is specified on the voucher, it will be used thanks to the special keys in the context
# otherwise we use the rates of the system
amount_currency = currency_obj.compute(cr, uid, company_currency, line.move_line_id.currency_id.id, move_line['debit']-move_line['credit'], context=ctx)
if line.amount == line.amount_unreconciled and line.move_line_id.currency_id.id == voucher_currency:
sign = voucher_brw.type in ('payment', 'purchase') and -1 or 1
sign = voucher.type in ('payment', 'purchase') and -1 or 1
foreign_currency_diff = sign * line.move_line_id.amount_residual_currency + amount_currency
move_line['amount_currency'] = amount_currency
voucher_line = move_line_obj.create(cr, uid, move_line)
rec_ids = [voucher_line, line.move_line_id.id]
if not currency_obj.is_zero(cr, uid, voucher_brw.company_id.currency_id, currency_rate_difference):
if not currency_obj.is_zero(cr, uid, voucher.company_id.currency_id, currency_rate_difference):
# Change difference entry in company currency
exch_lines = self._get_exchange_lines(cr, uid, line, move_id, currency_rate_difference, company_currency, current_currency, context=context)
new_id = move_line_obj.create(cr, uid, exch_lines[0],context)
@@ -1229,32 +1281,32 @@ class account_voucher(osv.osv):
currency_obj = self.pool.get('res.currency')
move_line = {}
voucher_brw = self.pool.get('account.voucher').browse(cr,uid,voucher_id,context)
current_currency_obj = voucher_brw.currency_id or voucher_brw.journal_id.company_id.currency_id
voucher = self.pool.get('account.voucher').browse(cr,uid,voucher_id,context)
current_currency_obj = voucher.currency_id or voucher.journal_id.company_id.currency_id
if not currency_obj.is_zero(cr, uid, current_currency_obj, line_total):
diff = line_total
account_id = False
write_off_name = ''
if voucher_brw.payment_option == 'with_writeoff':
account_id = voucher_brw.writeoff_acc_id.id
write_off_name = voucher_brw.comment
elif voucher_brw.type in ('sale', 'receipt'):
account_id = voucher_brw.partner_id.property_account_receivable.id
if voucher.payment_option == 'with_writeoff':
account_id = voucher.writeoff_acc_id.id
write_off_name = voucher.comment
elif voucher.type in ('sale', 'receipt'):
account_id = voucher.partner_id.property_account_receivable.id
else:
account_id = voucher_brw.partner_id.property_account_payable.id
sign = voucher_brw.type == 'payment' and -1 or 1
account_id = voucher.partner_id.property_account_payable.id
sign = voucher.type == 'payment' and -1 or 1
move_line = {
'name': write_off_name or name,
'account_id': account_id,
'move_id': move_id,
'partner_id': voucher_brw.partner_id.id,
'date': voucher_brw.date,
'partner_id': voucher.partner_id.id,
'date': voucher.date,
'credit': diff > 0 and diff or 0.0,
'debit': diff < 0 and -diff or 0.0,
'amount_currency': company_currency <> current_currency and (sign * -1 * voucher_brw.writeoff_amount) or False,
'amount_currency': company_currency <> current_currency and (sign * -1 * voucher.writeoff_amount) or False,
'currency_id': company_currency <> current_currency and current_currency or False,
'analytic_account_id': voucher_brw.analytic_id and voucher_brw.analytic_id.id or False,
'analytic_account_id': voucher.analytic_id and voucher.analytic_id.id or False,
}
return move_line
@@ -1355,13 +1407,17 @@ class account_voucher_line(osv.osv):
_order = "move_line_id"
# If the payment is in the same currency than the invoice, we keep the same amount
# Otherwise, we compute from company currency to payment currency
# Otherwise, we compute from invoice currency to payment currency
def _compute_balance(self, cr, uid, ids, name, args, context=None):
currency_pool = self.pool.get('res.currency')
rs_data = {}
for line in self.browse(cr, uid, ids, context=context):
ctx = context.copy()
ctx.update({'date': line.voucher_id.date})
voucher_rate = self.pool.get('res.currency').read(cr, uid, line.voucher_id.currency_id.id, ['rate'], context=ctx)['rate']
ctx.update({
'voucher_special_currency': line.voucher_id.payment_rate_currency_id and line.voucher_id.payment_rate_currency_id.id or False,
'voucher_special_currency_rate': line.voucher_id.payment_rate * voucher_rate})
res = {}
company_currency = line.voucher_id.journal_id.company_id.currency_id.id
voucher_currency = line.voucher_id.currency_id and line.voucher_id.currency_id.id or company_currency
@@ -1371,13 +1427,11 @@ class account_voucher_line(osv.osv):
res['amount_original'] = 0.0
res['amount_unreconciled'] = 0.0
elif move_line.currency_id and voucher_currency==move_line.currency_id.id:
res['amount_original'] = currency_pool.compute(cr, uid, move_line.currency_id.id, voucher_currency, abs(move_line.amount_currency), context=ctx)
res['amount_unreconciled'] = currency_pool.compute(cr, uid, move_line.currency_id and move_line.currency_id.id or company_currency, voucher_currency, abs(move_line.amount_residual_currency), context=ctx)
elif move_line and move_line.credit > 0:
res['amount_original'] = currency_pool.compute(cr, uid, company_currency, voucher_currency, move_line.credit, context=ctx)
res['amount_unreconciled'] = currency_pool.compute(cr, uid, company_currency, voucher_currency, abs(move_line.amount_residual), context=ctx)
res['amount_original'] = abs(move_line.amount_currency)
res['amount_unreconciled'] = abs(move_line.amount_residual_currency)
else:
res['amount_original'] = currency_pool.compute(cr, uid, company_currency, voucher_currency, move_line.debit, context=ctx)
#always use the amount booked in the company currency as the basis of the conversion into the voucher currency
res['amount_original'] = currency_pool.compute(cr, uid, company_currency, voucher_currency, move_line.credit or move_line.debit or 0.0, context=ctx)
res['amount_unreconciled'] = currency_pool.compute(cr, uid, company_currency, voucher_currency, abs(move_line.amount_residual), context=ctx)
rs_data[line.id] = res
@@ -6,7 +6,7 @@
account_id: account.cash
amount: 1000.0
company_id: base.main_company
journal_id: account.bank_journal
journal_id: account.sales_journal
name: Voucher for Axelor
narration: Basic Pc
line_cr_ids:
@@ -0,0 +1,249 @@
-
In order to check the Account_voucher module with multi-currency in OpenERP,
I create 2 Invoices in USD and make 1 Payment in USD based on the currency rating given by the bank which is slightly different that the one encoded in OpenERP
-
I set the income and expense currency accounts on the main company
-
!python {model: res.company}: |
from datetime import datetime
vals = {
'income_currency_exchange_account_id': ref('account.o_expense'),
'expense_currency_exchange_account_id': ref('account.o_expense')}
self.write(cr, uid, ref('base.main_company'), vals)
-
I create currency USD in OpenERP for January of 1.333333 Rate
-
!python {model: res.currency.rate}: |
from datetime import datetime
curr_id = self.pool.get('res.currency').search(cr, uid, [('name', '=', 'USD')])[0]
date = '%s-01-01' %(datetime.now().year)
ids = self.search(cr, uid, [('currency_id','=',curr_id), ('name', '=', date)])
self.write(cr, uid, ids, {'rate': 1.333333})
-
I create currency USD in OpenERP for February of 1.250000 Rate
-
!record {model: res.currency.rate, id: feb_usd}:
currency_id: base.USD
name: !eval "'%s-02-01' %(datetime.now().year)"
rate: 1.250000
-
I create currency USD in OpenERP for March of 1.111111 Rate
-
!record {model: res.currency.rate, id: mar_usd}:
currency_id: base.USD
name: !eval "'%s-03-01' %(datetime.now().year)"
rate: 1.111111
-
I create currency USD in OpenERP for April of 1.052632 Rate
-
!record {model: res.currency.rate, id: apr_usd}:
currency_id: base.USD
name: !eval "'%s-04-01' %(datetime.now().year)"
rate: 1.052632
-
I create a cash account with currency USD
-
!record {model: account.account, id: account_cash_usd_id}:
currency_id: base.USD
name: "cash account in usd"
code: "Xcash usd"
type: 'liquidity'
user_type: "account.data_account_type_cash"
-
I create a bank journal with USD as currency
-
!record {model: account.journal, id: bank_journal_USD}:
name: Bank Journal(USD)
code: BUSD
type: bank
analytic_journal_id: account.sit
sequence_id: account.sequence_bank_journal
default_debit_account_id: account_cash_usd_id
default_credit_account_id: account_cash_usd_id
currency: base.USD
company_id: base.main_company
-
I create a new partner Kate Mc Kay
-
!record {model: res.partner, id: res_partner_mc_kay}:
name: "Mc Kay Kate"
property_account_receivable: account.a_recv
property_account_payable: account.a_pay
-
I create the first invoice on 1st January for 200 USD
-
!record {model: account.invoice, id: account_invoice_jan_payment_rate}:
account_id: account.a_recv
company_id: base.main_company
currency_id: base.USD
date_invoice: !eval "'%s-01-01' %(datetime.now().year)"
period_id: account.period_1
invoice_line:
- account_id: account.a_sale
name: '[PCSC234] PC Assemble SC234'
price_unit: 200.0
quantity: 1.0
product_id: product.product_product_3
uos_id: product.product_uom_unit
journal_id: account.sales_journal
partner_id: res_partner_mc_kay
reference_type: none
-
I Validate invoice by clicking on Validate button
-
!workflow {model: account.invoice, action: invoice_open, ref: account_invoice_jan_payment_rate}
-
I check that first invoice move is correct for debtor account (debit - credit == 150.0)
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_invoice_jan_payment_rate"))
assert invoice_id.move_id, "Move not created for open invoice"
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.debit - move_line.credit == 150.0), "Invoice move is not correct for debtors account"
-
I create the second invoice on 1st February for 100 USD
-
!record {model: account.invoice, id: account_invoice_feb_payment_rate}:
account_id: account.a_recv
company_id: base.main_company
currency_id: base.USD
date_invoice: !eval "'%s-02-01' %(datetime.now().year)"
period_id: account.period_2
invoice_line:
- account_id: account.a_sale
name: '[PCSC234] PC Assemble SC234'
price_unit: 100.0
quantity: 1.0
product_id: product.product_product_3
uos_id: product.product_uom_unit
journal_id: account.sales_journal
partner_id: res_partner_mc_kay
reference_type: none
-
I Validate invoice by clicking on Validate button
-
!workflow {model: account.invoice, action: invoice_open, ref: account_invoice_feb_payment_rate}
-
I check that second invoice move is correct for debtor account (debit - credit == 80)
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_invoice_feb_payment_rate"))
assert invoice_id.move_id, "Move not created for open invoice"
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.debit - move_line.credit == 80), "Invoice move is not correct for debtors account"
-
I set the context that will be used for the encoding of all the vouchers of this file
-
!context
'type': 'receipt'
-
On the first March, I create the first voucher of payment with values 240 USD, journal USD, and specifying that $1 = 0.8€
-
!record {model: account.voucher, id: account_voucher_1_case1_payment_rate, view: view_vendor_receipt_form}:
account_id: account.cash
amount: 240.0
company_id: base.main_company
journal_id: bank_journal_USD
name: 'Payment: Case 1 USD/USD payment rate'
partner_id: res_partner_mc_kay
period_id: account.period_3
date: !eval time.strftime("%Y-03-01")
payment_option: 'with_writeoff'
writeoff_acc_id: account.a_expense
comment: 'Write Off'
payment_rate: 0.8
payment_rate_currency_id: base.EUR
-
I fill amounts 180 for the invoice of 200$ and 70 for the invoice of 100$>
-
!python {model: account.voucher}: |
import netsvc, time
vals = {}
voucher_id = self.browse(cr, uid, ref('account_voucher_1_case1_payment_rate'))
data = []
for item in voucher_id.line_cr_ids:
if item.amount_unreconciled == 200.00:
data += [(item.id, 180.0)]
else:
data += [(item.id, 70.0)]
for line_id, amount in data:
self.pool.get('account.voucher.line').write(cr, uid, [line_id], {'amount': amount})
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
-
I check that writeoff amount computed is -10.0
-
!python {model: account.voucher}: |
voucher = ref('account_voucher_1_case1_payment_rate')
voucher_id = self.browse(cr, uid, voucher)
assert (voucher_id.writeoff_amount == -10.0), "Writeoff amount is not -10.0"
-
I confirm the voucher
-
!python {model: account.voucher}: |
import netsvc
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', ref('account_voucher_1_case1_payment_rate'), 'proforma_voucher', cr)
-
I check that the move of my first voucher is valid
-
!python {model: account.voucher}: |
voucher = ref('account_voucher_1_case1_payment_rate')
voucher_id = self.browse(cr, uid, voucher)
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', voucher_id.move_id.id)])
for move_line in move_line_obj.browse(cr, uid, move_lines):
assert move_line.state == 'valid', "Voucher move is not valid"
-
I check that my debtor account is correct
-
I check that the debtor account has 2 new lines with -180 and -70 as amount_currency columns and that their credit columns are respectively 144 and 56
-
I check that my write-off is correct. 8 debit and 10 amount_currency
-
!python {model: account.voucher}: |
voucher = ref('account_voucher_1_case1_payment_rate')
voucher_id = self.browse(cr, uid, voucher)
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', voucher_id.move_id.id)])
for move_line in move_line_obj.browse(cr, uid, move_lines):
if move_line.amount_currency == -180.00:
assert move_line.credit == 144.00, "Debtor account has wrong entry."
elif move_line.amount_currency == -70.00:
assert move_line.credit == 56.00, "Debtor account has wrong entry."
elif move_line.amount_currency == 10.00:
assert move_line.debit == 8.00, "Writeoff amount is wrong: Got a debit of %s (expected 8,00€)" % (move_line.debit)
elif move_line.amount_currency == 240.00:
assert move_line.debit == 192.00, "Bank entry is wrong."
else:
assert False, "Unrecognized journal entry"
-
I check the residual amount of Invoice1, should be 20 in amount_currency and 6 in amount_residual
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_invoice_jan_payment_rate"))
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual == 6.0) , "Residual amount is not correct for first Invoice"
assert (move_line.amount_residual_currency == 20.0) , "Residual amount in currency is not correct for first Invoice"
-
I check the residual amuont of Invoice2, should be 30 in residual currency and 24 in amount_residual
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_invoice_feb_payment_rate"))
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual == 24.0) , "Residual amount is not correct for second Invoice"
assert (move_line.amount_residual_currency == 30.0) , "Residual amount in currency is not correct for second Invoice"
@@ -201,7 +201,7 @@
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 55.56 and move_line.amount_residual == 20) , "Residual amount is not correct for first Invoice"
assert (move_line.amount_residual_currency == 55.56 and move_line.amount_residual == 20) , "Residual amount is not correct for first Invoice. Got %s USD (%s EUR)" %(move_line.amount_residual_currency, move_line.amount_residual)
-
I check the residual amuont of Invoice2, should be 22.22 in residual currency and 10 in amount_residual
-
+2 -2
View File
@@ -41,7 +41,7 @@
currency: base.USD
company_id: base.main_company
-
I create an invoice
On the first of January, I create an invoice of 1000€
-
!record {model: account.invoice, id: account_invoice_eur_usd}:
account_id: account.a_recv
@@ -79,7 +79,7 @@
!context
'type': 'receipt'
-
I create the voucher of payment with values 1350 USD, journal USD,
On the first of February, I create the voucher of payment with values 1350 USD, journal USD,
-
!record {model: account.voucher, id: account_voucher_eur_usd_case, view: view_vendor_receipt_form}:
account_id: account.cash
@@ -107,7 +107,7 @@
</group>
<group string="Other Information" col="4">
<field name="currency_id" colspan="4" groups="base.group_multi_currency"/>
<field name="payment_rate" required="1" on_change="onchange_rate(payment_rate, amount, currency_id, payment_rate_currency_id, company_id, context)" colspan="3"/>
<field name="payment_rate" required="1" colspan="3" on_change="onchange_amount(amount, payment_rate, partner_id, journal_id, currency_id, type, date, payment_rate_currency_id, company_id, context)"/>
<field name="payment_rate_currency_id" colspan="1" nolabel="1" on_change="onchange_payment_rate_currency(currency_id, payment_rate, payment_rate_currency_id, date, amount, company_id, context)" groups="base.group_multi_currency"/>
<field name="paid_amount_in_company_currency" colspan="4" invisible="1"/>
<field name="number" colspan="4"/>
@@ -196,7 +196,7 @@
<group col="4" attrs="{'invisible':[('is_multi_currency','=',False)]}">
<separator string="Currency Options" colspan="4"/>
<field name="is_multi_currency" invisible="1"/>
<field name="payment_rate" required="1" on_change="onchange_rate(payment_rate, amount, currency_id, payment_rate_currency_id, company_id, context)" colspan="3"/>
<field name="payment_rate" required="1" colspan="3" on_change="onchange_amount(amount, payment_rate, partner_id, journal_id, currency_id, type, date, payment_rate_currency_id, company_id, context)"/>
<field name="payment_rate_currency_id" colspan="1" nolabel="1" on_change="onchange_payment_rate_currency(currency_id, payment_rate, payment_rate_currency_id, date, amount, company_id, context)" groups="base.group_multi_currency"/>
<field name="paid_amount_in_company_currency" colspan="4" invisible="1"/>
</group>
@@ -376,7 +376,7 @@
</group>
<group col="4" attrs="{'invisible':[('is_multi_currency','=',False)]}">
<field name="is_multi_currency" invisible="1"/>
<field name="payment_rate" required="1" on_change="onchange_rate(payment_rate, amount, currency_id, payment_rate_currency_id, company_id, context)" colspan="3"/>
<field name="payment_rate" required="1" colspan="3" on_change="onchange_amount(amount, payment_rate, partner_id, journal_id, currency_id, type, date, payment_rate_currency_id, company_id, context)"/>
<field name="payment_rate_currency_id" colspan="1" nolabel="1" on_change="onchange_payment_rate_currency(currency_id, payment_rate, payment_rate_currency_id, date, amount, company_id, context)" groups="base.group_multi_currency"/>
<field name="paid_amount_in_company_currency" colspan="4" invisible="1"/>
</group>
@@ -474,7 +474,7 @@
</group>
<group col="4" attrs="{'invisible':[('is_multi_currency','=',False)]}">
<field name="is_multi_currency" invisible="1"/>
<field name="payment_rate" required="1" on_change="onchange_rate(payment_rate, amount, currency_id, payment_rate_currency_id, company_id, context)" colspan="3"/>
<field name="payment_rate" required="1" colspan="3" on_change="onchange_amount(amount, payment_rate, partner_id, journal_id, currency_id, type, date, payment_rate_currency_id, company_id, context)"/>
<field name="payment_rate_currency_id" colspan="1" nolabel="1" on_change="onchange_payment_rate_currency(currency_id, payment_rate, payment_rate_currency_id, date, amount, company_id, context)" groups="base.group_multi_currency"/>
<field name="paid_amount_in_company_currency" colspan="4" invisible="1"/>
</group>
+59 -45
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2013-03-07 08:37+0000\n"
"PO-Revision-Date: 2013-02-15 21:23+0000\n"
"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
"PO-Revision-Date: 2013-05-02 10:18+0000\n"
"Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
"Language-Team: Turkish <tr@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: 2013-03-28 05:32+0000\n"
"X-Generator: Launchpad (build 16546)\n"
"X-Launchpad-Export-Date: 2013-05-03 06:29+0000\n"
"X-Generator: Launchpad (build 16598)\n"
#. module: audittrail
#: view:audittrail.log:0
@@ -50,7 +50,7 @@ msgstr "'%s' Modeli yoktur..."
#. module: audittrail
#: view:audittrail.rule:0
msgid "Subscribed Rule"
msgstr ""
msgstr "Abone Kural"
#. module: audittrail
#: view:audittrail.rule:0
@@ -104,6 +104,8 @@ msgid ""
"Select this if you want to keep track of read/open on any record of the "
"object of this rule"
msgstr ""
"Bu kuralın nesnenin herhangi bir kayıt üzerinde açık okuma / takip etmek "
"istiyorsanız bunu seçin"
#. module: audittrail
#: field:audittrail.log,method:0
@@ -113,22 +115,22 @@ msgstr "Yöntem"
#. module: audittrail
#: field:audittrail.view.log,from:0
msgid "Log From"
msgstr ""
msgstr "Günlüğünden"
#. module: audittrail
#: field:audittrail.log.line,log:0
msgid "Log ID"
msgstr ""
msgstr "Günlük ID"
#. module: audittrail
#: field:audittrail.log,res_id:0
msgid "Resource Id"
msgstr ""
msgstr "Kaynak Id"
#. module: audittrail
#: help:audittrail.rule,user_id:0
msgid "if User is not added then it will applicable for all users"
msgstr ""
msgstr "Kullanıcı ilave değilse o zaman tüm kullanıcılar için geçerli olacak"
#. module: audittrail
#: help:audittrail.rule,log_workflow:0
@@ -136,6 +138,8 @@ msgid ""
"Select this if you want to keep track of workflow on any record of the "
"object of this rule"
msgstr ""
"Bu kuralın nesnenin herhangi bir kayıt iş akışı takip etmek istiyorsanız "
"bunu seçin"
#. module: audittrail
#: field:audittrail.rule,user_id:0
@@ -145,7 +149,7 @@ msgstr "Kullanıcılar"
#. module: audittrail
#: view:audittrail.log:0
msgid "Log Lines"
msgstr ""
msgstr "Günlük Saırları"
#. module: audittrail
#: view:audittrail.log:0
@@ -157,38 +161,38 @@ msgstr "Nesne"
#. module: audittrail
#: view:audittrail.rule:0
msgid "AuditTrail Rule"
msgstr ""
msgstr "Denetim Takip Kural"
#. module: audittrail
#: field:audittrail.view.log,to:0
msgid "Log To"
msgstr ""
msgstr "için Günlük"
#. module: audittrail
#: view:audittrail.log:0
msgid "New Value Text: "
msgstr ""
msgstr "Yeni Değer Yazı: "
#. module: audittrail
#: view:audittrail.rule:0
msgid "Search Audittrail Rule"
msgstr ""
msgstr "Arama Denetim Takip Kuralı"
#. module: audittrail
#: model:ir.actions.act_window,name:audittrail.action_audittrail_rule_tree
#: model:ir.ui.menu,name:audittrail.menu_action_audittrail_rule_tree
msgid "Audit Rules"
msgstr ""
msgstr "Denetim Kuralları"
#. module: audittrail
#: view:audittrail.log:0
msgid "Old Value : "
msgstr ""
msgstr "Eski Değer: "
#. module: audittrail
#: field:audittrail.log,name:0
msgid "Resource Name"
msgstr ""
msgstr "Kaynak Adı"
#. module: audittrail
#: view:audittrail.log:0
@@ -202,42 +206,46 @@ msgid ""
"Select this if you want to keep track of modification on any record of the "
"object of this rule"
msgstr ""
"Bu kuralın nesnenin herhangi bir kayıt üzerinde değişiklik izlemek "
"istiyorsanız bunu seçin"
#. module: audittrail
#: view:audittrail.rule:0
msgid "AuditTrail Rules"
msgstr ""
"Bu kuralın nesnenin herhangi bir kayıt üzerinde değişiklik izlemek "
"istiyorsanız bunu seçin"
#. module: audittrail
#: help:audittrail.rule,object_id:0
msgid "Select object for which you want to generate log."
msgstr ""
msgstr "Günlük oluşturmak istediğiniz nesneyi seçin."
#. module: audittrail
#: model:ir.ui.menu,name:audittrail.menu_audit
msgid "Audit"
msgstr ""
msgstr "Denetim"
#. module: audittrail
#: field:audittrail.rule,log_workflow:0
msgid "Log Workflow"
msgstr ""
msgstr "İş Akışı Günlüğü"
#. module: audittrail
#: field:audittrail.rule,log_read:0
msgid "Log Reads"
msgstr ""
msgstr "Günlük Okumaları"
#. module: audittrail
#: code:addons/audittrail/audittrail.py:77
#, python-format
msgid "Change audittrail depends -- Setting rule as DRAFT"
msgstr ""
msgstr "Değişim denetim izi bağlıdır - TASLAK olarak ayarlama kural"
#. module: audittrail
#: field:audittrail.log,line_ids:0
msgid "Log lines"
msgstr ""
msgstr "Günlük satırları"
#. module: audittrail
#: field:audittrail.log.line,field_id:0
@@ -247,7 +255,7 @@ msgstr "Alanlar"
#. module: audittrail
#: field:audittrail.rule,log_create:0
msgid "Log Creates"
msgstr ""
msgstr "Günlük Oluştur"
#. module: audittrail
#: help:audittrail.rule,log_unlink:0
@@ -255,6 +263,8 @@ msgid ""
"Select this if you want to keep track of deletion on any record of the "
"object of this rule"
msgstr ""
"Bu kuralın nesnenin herhangi bir kayıt silinmek takip etmek istiyorsanız "
"bunu seçin"
#. module: audittrail
#: view:audittrail.log:0
@@ -265,17 +275,19 @@ msgstr "Kullanıcı"
#. module: audittrail
#: field:audittrail.rule,action_id:0
msgid "Action ID"
msgstr ""
msgstr "İşlem ID"
#. module: audittrail
#: view:audittrail.rule:0
msgid "Users (if User is not added then it will applicable for all users)"
msgstr ""
"Kullanıcılar (Kullanıcı ilave değilse o zaman tüm kullanıcılar için geçerli "
"olacak)"
#. module: audittrail
#: view:audittrail.rule:0
msgid "UnSubscribe"
msgstr ""
msgstr "ÜyeliktenÇık"
#. module: audittrail
#: sql_constraint:audittrail.rule:0
@@ -287,38 +299,38 @@ msgstr ""
#. module: audittrail
#: field:audittrail.rule,log_unlink:0
msgid "Log Deletes"
msgstr ""
msgstr "Günlük Sil"
#. module: audittrail
#: view:audittrail.log:0
#: view:audittrail.rule:0
msgid "Model"
msgstr ""
msgstr "Model"
#. module: audittrail
#: field:audittrail.log.line,field_description:0
msgid "Field Description"
msgstr ""
msgstr "Alan Açıklaması"
#. module: audittrail
#: view:audittrail.log:0
msgid "Search Audittrail Log"
msgstr ""
msgstr "Arama Denetim Takip Günlük"
#. module: audittrail
#: field:audittrail.rule,log_write:0
msgid "Log Writes"
msgstr ""
msgstr "Günlük Yazıları"
#. module: audittrail
#: view:audittrail.view.log:0
msgid "Open Logs"
msgstr ""
msgstr "Günlükleri Aç"
#. module: audittrail
#: field:audittrail.log.line,new_value_text:0
msgid "New value Text"
msgstr ""
msgstr "Yeni değeri Yaz"
#. module: audittrail
#: field:audittrail.rule,name:0
@@ -328,45 +340,45 @@ msgstr "Kural Adı"
#. module: audittrail
#: field:audittrail.log.line,new_value:0
msgid "New Value"
msgstr ""
msgstr "Yeni Değer"
#. module: audittrail
#: code:addons/audittrail/audittrail.py:223
#, python-format
msgid "'%s' field does not exist in '%s' model"
msgstr ""
msgstr "'% s' alan '% s' modelinde yok"
#. module: audittrail
#: view:audittrail.log:0
msgid "AuditTrail Logs"
msgstr ""
msgstr "Denetim Takip Günlükleri"
#. module: audittrail
#: view:audittrail.rule:0
msgid "Draft Rule"
msgstr ""
msgstr "Taslak Kural"
#. module: audittrail
#: view:audittrail.log:0
#: model:ir.model,name:audittrail.model_audittrail_log
msgid "Audittrail Log"
msgstr ""
msgstr "Denetim Takip Günlüğü"
#. module: audittrail
#: help:audittrail.rule,log_action:0
msgid ""
"Select this if you want to keep track of actions on the object of this rule"
msgstr ""
msgstr "Bu kuralın nesne eylemleri takip etmek istiyorsanız bunu seçin"
#. module: audittrail
#: view:audittrail.log:0
msgid "New Value : "
msgstr ""
msgstr "Yeni Değer: "
#. module: audittrail
#: field:audittrail.log.line,old_value_text:0
msgid "Old value Text"
msgstr ""
msgstr "Eski değer Yazı"
#. module: audittrail
#: view:audittrail.view.log:0
@@ -376,22 +388,22 @@ msgstr "İptal"
#. module: audittrail
#: model:ir.model,name:audittrail.model_audittrail_view_log
msgid "View Log"
msgstr ""
msgstr "Günlüğü Göster"
#. module: audittrail
#: model:ir.model,name:audittrail.model_audittrail_log_line
msgid "Log Line"
msgstr ""
msgstr "Günlük Satırı"
#. module: audittrail
#: view:audittrail.view.log:0
msgid "or"
msgstr ""
msgstr "veya"
#. module: audittrail
#: field:audittrail.rule,log_action:0
msgid "Log Action"
msgstr ""
msgstr "Günlük İşlemei"
#. module: audittrail
#: help:audittrail.rule,log_create:0
@@ -399,3 +411,5 @@ msgid ""
"Select this if you want to keep track of creation on any record of the "
"object of this rule"
msgstr ""
"Bu kuralın nesnenin herhangi bir kayıt oluşturma takip etmek istiyorsanız "
"bunu seçin"
+12 -12
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2013-03-07 08:37+0000\n"
"PO-Revision-Date: 2013-04-22 14:12+0000\n"
"PO-Revision-Date: 2013-05-04 16:53+0000\n"
"Last-Translator: Erwin van der Ploeg (Endian Solutions) <Unknown>\n"
"Language-Team: Dutch <nl@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: 2013-04-23 06:09+0000\n"
"X-Generator: Launchpad (build 16580)\n"
"X-Launchpad-Export-Date: 2013-05-05 06:04+0000\n"
"X-Generator: Launchpad (build 16598)\n"
#. module: base_calendar
#: selection:calendar.alarm,trigger_related:0
@@ -51,7 +51,7 @@ msgstr "We(e)k(en)"
#: field:calendar.todo,we:0
#: field:crm.meeting,we:0
msgid "Wed"
msgstr "woe"
msgstr "Woe"
#. module: base_calendar
#: selection:calendar.attendee,cutype:0
@@ -81,7 +81,7 @@ msgstr "Herinneringen"
#: selection:calendar.todo,week_list:0
#: selection:crm.meeting,week_list:0
msgid "Sunday"
msgstr "zondag"
msgstr "Zondag"
#. module: base_calendar
#: field:calendar.attendee,role:0
@@ -129,7 +129,7 @@ msgstr "Uren"
#: selection:calendar.todo,month_list:0
#: selection:crm.meeting,month_list:0
msgid "March"
msgstr "maart"
msgstr "Maart"
#. module: base_calendar
#: help:calendar.attendee,cutype:0
@@ -147,7 +147,7 @@ msgstr "Ongelezen berichten"
#: selection:calendar.todo,week_list:0
#: selection:crm.meeting,week_list:0
msgid "Friday"
msgstr "vrijdag"
msgstr "Vrijdag"
#. module: base_calendar
#: field:calendar.event,allday:0
@@ -201,7 +201,7 @@ msgstr "Referentie"
#: field:calendar.todo,tu:0
#: field:crm.meeting,tu:0
msgid "Tue"
msgstr "din"
msgstr "Din"
#. module: base_calendar
#: selection:calendar.event,byday:0
@@ -453,7 +453,7 @@ msgstr "Kalender-taak"
#: field:calendar.todo,su:0
#: field:crm.meeting,su:0
msgid "Sun"
msgstr "zon"
msgstr "Zon"
#. module: base_calendar
#: field:calendar.attendee,cutype:0
@@ -587,7 +587,7 @@ msgstr "Geaccepteerd"
#: field:calendar.todo,th:0
#: field:crm.meeting,th:0
msgid "Thu"
msgstr "don"
msgstr "Don"
#. module: base_calendar
#: view:crm.meeting:0
@@ -1216,7 +1216,7 @@ msgstr "Verantwoordelijke gebruiker"
#. module: base_calendar
#: view:crm.meeting:0
msgid "Select Weekdays"
msgstr "Selecteer dagen van de qweek"
msgstr "Selecteer dagen van de week"
#. module: base_calendar
#: code:addons/base_calendar/base_calendar.py:1519
@@ -1470,7 +1470,7 @@ msgstr "April"
#: code:addons/base_calendar/crm_meeting.py:106
#, python-format
msgid "Email addresses not found"
msgstr "E-mail adressen neit gevonden"
msgstr "E-mail adressen niet gevonden"
#. module: base_calendar
#: view:calendar.event:0
+5 -5
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2013-03-07 08:38+0000\n"
"PO-Revision-Date: 2013-04-24 07:47+0000\n"
"PO-Revision-Date: 2013-05-02 18:15+0000\n"
"Last-Translator: Erwin van der Ploeg (Endian Solutions) <Unknown>\n"
"Language-Team: Dutch <nl@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: 2013-04-25 06:05+0000\n"
"X-Generator: Launchpad (build 16580)\n"
"X-Launchpad-Export-Date: 2013-05-03 06:29+0000\n"
"X-Generator: Launchpad (build 16598)\n"
#. module: delivery
#: report:sale.shipping:0
@@ -144,7 +144,7 @@ msgstr ""
" verkoopprijs te berekenen, op basis van het gewicht van de \n"
" producten en andere criteria. U kunt verschillende "
"prijslijsten\n"
" voor elke aflevermethode maken. Maar ook per land of een "
" voor elke verzendwijze maken. Maar ook per land of een "
"gebied\n"
" in een land op basis van een postcode bereik.\n"
" </p>\n"
@@ -588,7 +588,7 @@ msgstr "Vervoerder"
#: model:ir.actions.act_window,name:delivery.action_delivery_carrier_form
#: model:ir.ui.menu,name:delivery.menu_action_delivery_carrier_form
msgid "Delivery Methods"
msgstr "Leveringsmethodes"
msgstr "Verzendwijzes"
#. module: delivery
#: code:addons/delivery/sale.py:57
+14 -6
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2013-03-07 08:39+0000\n"
"PO-Revision-Date: 2013-04-26 19:36+0000\n"
"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
"PO-Revision-Date: 2013-05-02 09:56+0000\n"
"Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
"Language-Team: Turkish <tr@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: 2013-04-27 06:34+0000\n"
"X-Generator: Launchpad (build 16580)\n"
"X-Launchpad-Export-Date: 2013-05-03 06:29+0000\n"
"X-Generator: Launchpad (build 16598)\n"
#. module: fleet
#: selection:fleet.vehicle,fuel_type:0
@@ -270,7 +270,7 @@ msgstr "Yenileme maliyet sıklığı"
#. module: fleet
#: model:fleet.service.type,name:fleet.type_service_service_1
msgid "Calculation Benefit In Kind"
msgstr "Ayni Yarar Hesaplaması"
msgstr "Tür Olarak Hesaplanma Faydası"
#. module: fleet
#: help:fleet.vehicle.log.contract,expiration_date:0
@@ -533,7 +533,7 @@ msgstr "Bu araç için yakıt günlükleri göster"
#. module: fleet
#: field:fleet.vehicle.log.contract,purchaser_id:0
msgid "Contractor"
msgstr "Yüklenici"
msgstr "Sorumlu"
#. module: fleet
#: field:fleet.vehicle,license_plate:0
@@ -833,6 +833,8 @@ msgid ""
"Create a new contract automatically with all the same informations except "
"for the date that will start at the end of current contract"
msgstr ""
"Mevcut sözleşme sonunda başlayacak tarih hariç hepsi aynı bilgileri otomatik "
"olarak yeni bir sözleşme oluşturur"
#. module: fleet
#: selection:fleet.vehicle.log.contract,state:0
@@ -1134,6 +1136,9 @@ msgid ""
"image, with aspect ratio preserved. Use this field anywhere a small image is "
"required."
msgstr ""
"Markanın küçük boyutlu fotoğraf. Otomatik olarak korunmuş en boy oranına "
"sahip, bir 64x64px görüntü olarak yeniden boyutlandırılır. Her yerde küçük "
"bir resim gereklidir bu alanı kullanın."
#. module: fleet
#: view:board.board:0
@@ -1450,6 +1455,9 @@ msgid ""
"image, with aspect ratio preserved. Use this field in form views or some "
"kanban views."
msgstr ""
"Markanın orta ölçekli logosu. Otomatik olarak korunmuş en boy oranına sahip, "
"bir 128x128px görüntü olarak yeniden boyutlandırılır. Form görünümleri ya da "
"kanban görünümlerinde bu alanı kullanın."
#. module: fleet
#: selection:fleet.vehicle.log.contract,cost_frequency:0
+38 -21
View File
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2013-03-07 08:37+0000\n"
"PO-Revision-Date: 2013-04-13 18:01+0000\n"
"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
"PO-Revision-Date: 2013-05-02 10:41+0000\n"
"Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
"Language-Team: Turkish <tr@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: 2013-04-14 05:50+0000\n"
"X-Generator: Launchpad (build 16564)\n"
"X-Launchpad-Export-Date: 2013-05-03 06:29+0000\n"
"X-Generator: Launchpad (build 16598)\n"
#. module: hr_timesheet_sheet
#: field:hr.analytic.timesheet,sheet_id:0
@@ -76,6 +76,8 @@ msgid ""
"In order to create a timesheet for this employee, you must assign an "
"analytic journal to the employee, like 'Timesheet Journal'."
msgstr ""
"Bu personel için bir zaman çizelgesi oluşturmak için, 'Zaman Çizelgesi "
"Yevmiye' gibi, personel bir analitik yevmiyesi atamanız gerekir."
#. module: hr_timesheet_sheet
#: selection:hr.timesheet.report,month:0
@@ -151,7 +153,7 @@ msgstr "Onaylamış ZamanÇizelgesi bir girişi değiştiremezsiniz."
#: view:hr.timesheet.report:0
#: view:timesheet.report:0
msgid "Group by day of date"
msgstr ""
msgstr "Gün tarihine göre gurpla"
#. module: hr_timesheet_sheet
#: model:ir.ui.menu,name:hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form_my_current
@@ -221,6 +223,12 @@ msgid ""
"the user and can be validated by his manager. If required, as defined on the "
"project, you can generate the invoices based on the timesheet."
msgstr ""
"Eğer sisteme etkinliklerinizi kitap gibi olabilir ki benim Zaman Çizelgesi "
"zaman çizelgesi açılır. Aynı formu, size katılmcı kayıt (Giriş / Çıkış "
"Kayıt) ve farklı projeler üzerinde yapılan çalışma saatleri "
"tanımlayabilirsiniz.Şirketce belirtilen süre sonunda, bir zaman çizelgesi, "
"kullanıcı tarafından doğrulanır ve yönetici tarafından onaylanır. Gerekirse "
"proje üzerinde tanımlanan, siz zaman çizelgesi göre faturalar oluşturabilir."
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,message_ids:0
@@ -258,19 +266,20 @@ msgstr "Hata!"
msgid ""
"Allow a difference of time between timesheets and attendances of (in hours)"
msgstr ""
"Zaman çizelgeleri ve katılımcı (saat) arasında bir zaman farkı izin verin"
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:99
#, python-format
msgid ""
"Please verify that the total difference of the sheet is lower than %.2f."
msgstr ""
msgstr "Sayfanın toplam fark %.2f daha düşük olduğunu kontrol edin."
#. module: hr_timesheet_sheet
#: model:ir.actions.act_window,name:hr_timesheet_sheet.action_timesheet_report_stat_all
#: model:ir.ui.menu,name:hr_timesheet_sheet.menu_timesheet_report_all
msgid "Timesheet Sheet Analysis"
msgstr ""
msgstr "ZamanÇizelgesi Formu Analizi"
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet.account,name:0
@@ -285,7 +294,7 @@ msgstr "Onaylama"
#. module: hr_timesheet_sheet
#: help:hr_timesheet_sheet.sheet,message_unread:0
msgid "If checked new messages require your attention."
msgstr ""
msgstr "İşaretliyse yeni mesajlar ilginizi gerektirir."
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:69
@@ -295,11 +304,13 @@ msgid ""
"In order to create a timesheet for this employee, you must assign it to a "
"user."
msgstr ""
"Bu personel için bir zaman çizelgesi oluşturmak için, bir kullanıcıya "
"atamanız gerekir."
#. module: hr_timesheet_sheet
#: model:process.node,note:hr_timesheet_sheet.process_node_attendance0
msgid "Employee's timesheet entry"
msgstr ""
msgstr "PersonelZaman çizelgesi girişi"
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:213
@@ -322,11 +333,13 @@ msgid ""
"Holds the Chatter summary (number of messages, ...). This summary is "
"directly in html format in order to be inserted in kanban views."
msgstr ""
"Sohbetçi özetini (mesaj sayısı, ...) barındırır. Bu özet kanban "
"görünümlerine eklenmek üzere doğrudan html biçimindedir."
#. module: hr_timesheet_sheet
#: field:timesheet.report,nbr:0
msgid "#Nbr"
msgstr ""
msgstr "#Nbr"
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,date_from:0
@@ -374,7 +387,7 @@ msgstr "İzleyiciler"
#. module: hr_timesheet_sheet
#: model:process.node,note:hr_timesheet_sheet.process_node_confirmedtimesheet0
msgid "State is 'confirmed'."
msgstr ""
msgstr "Durumu 'doğruladı' ."
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,employee_id:0
@@ -390,7 +403,7 @@ msgstr "Yeni"
#. module: hr_timesheet_sheet
#: model:ir.actions.act_window,name:hr_timesheet_sheet.action_week_attendance_graph
msgid "My Total Attendances By Week"
msgstr ""
msgstr "Hafta olarak Toplam katılımcılar"
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet.account,total:0
@@ -401,7 +414,7 @@ msgstr "Toplam Zaman"
#: model:ir.actions.act_window,name:hr_timesheet_sheet.act_hr_timesheet_sheet_form
#: model:ir.ui.menu,name:hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form
msgid "Timesheets to Validate"
msgstr ""
msgstr "ZamanÇizelgeleri Doğrulama"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0
@@ -413,12 +426,12 @@ msgstr "Saatler"
#: view:hr.timesheet.report:0
#: view:timesheet.report:0
msgid "Group by month of date"
msgstr ""
msgstr "Ayın Günlerini gurupla"
#. module: hr_timesheet_sheet
#: model:process.transition,note:hr_timesheet_sheet.process_transition_validatetimesheet0
msgid "The project manager validates the timesheets."
msgstr ""
msgstr "Proje yöneticisi zamançizelgeleri doğrular."
#. module: hr_timesheet_sheet
#: selection:hr.timesheet.report,month:0
@@ -429,7 +442,7 @@ msgstr "Temmuz"
#. module: hr_timesheet_sheet
#: field:hr.config.settings,timesheet_range:0
msgid "Validate timesheets every"
msgstr ""
msgstr "ZamanÇizelgeleri her doğrulama"
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:73
@@ -448,7 +461,7 @@ msgstr "Durumu"
#. module: hr_timesheet_sheet
#: model:process.node,name:hr_timesheet_sheet.process_node_workontask0
msgid "Work on Task"
msgstr ""
msgstr "Görev Çalışmaları"
#. module: hr_timesheet_sheet
#: selection:hr_timesheet_sheet.sheet,state:0
@@ -486,7 +499,7 @@ msgstr "# Toplam ZamanÇizelge"
#. module: hr_timesheet_sheet
#: model:ir.model,name:hr_timesheet_sheet.model_hr_timesheet_current_open
msgid "hr.timesheet.current.open"
msgstr ""
msgstr "hr.timesheet.current.open"
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:71
@@ -495,6 +508,8 @@ msgid ""
"In order to create a timesheet for this employee, you must link the employee "
"to a product, like 'Consultant'."
msgstr ""
"Bu personel için bir zaman çizelgesi oluşturmak için, 'Danışman' gibi, bir "
"ürün için personel bağlantı gerekir."
#. module: hr_timesheet_sheet
#: selection:hr.timesheet.report,month:0
@@ -511,7 +526,7 @@ msgstr "Aralık"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.current.open:0
msgid "It will open your current timesheet"
msgstr ""
msgstr "Bu mevcut zamançizelgesi açılacak"
#. module: hr_timesheet_sheet
#: selection:hr.config.settings,timesheet_range:0
@@ -527,12 +542,12 @@ msgstr "Ay"
#: view:timesheet.report:0
#: field:timesheet.report,total_diff:0
msgid "#Total Diff"
msgstr ""
msgstr "#Toplam Diff"
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0
msgid "In Draft"
msgstr ""
msgstr "Taslak"
#. module: hr_timesheet_sheet
#: model:process.transition,name:hr_timesheet_sheet.process_transition_attendancetimesheet0
@@ -546,6 +561,8 @@ msgid ""
"In order to create a timesheet for this employee, you must link the employee "
"to a product."
msgstr ""
"Bu çalışan için bir zaman çizelgesi oluşturmak için, bir ürün için çalışan "
"bağlantı gerekir."
#. module: hr_timesheet_sheet
#. openerp-web
+4 -4
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:06+0000\n"
"PO-Revision-Date: 2013-04-26 13:29+0000\n"
"PO-Revision-Date: 2013-05-03 10:00+0000\n"
"Last-Translator: krnkris <Unknown>\n"
"Language-Team: Hungarian <hu@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: 2013-04-27 06:34+0000\n"
"X-Generator: Launchpad (build 16580)\n"
"X-Launchpad-Export-Date: 2013-05-04 07:10+0000\n"
"X-Generator: Launchpad (build 16598)\n"
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_fiscal_position_template
@@ -66,7 +66,7 @@ msgstr "A leírás egyedi kell legyen minden vállalathoz!"
#. module: l10n_multilang
#: constraint:account.tax.code.template:0
msgid "Error ! You can not create recursive Tax Codes."
msgstr "Hiba! Nem hozhat létre rekurzív adógyűjtőket."
msgstr "Hiba! Nem hozhat létre rekurzív adókódokat."
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_tax_template
+4 -1
View File
@@ -1709,7 +1709,10 @@ openerp.mail = function (session) {
* contain the menu widget and the the sub menu related of this wall
*/
do_reload_menu_emails: function () {
var menu = this.getParent().getParent().__parentedParent.menu || this.getParent().getParent().getParent().getParent().__parentedParent.menu;
var menu = session.webclient.menu;
if (!menu) {
return $.when();
}
return menu.rpc("/web/menu/load_needaction", {'menu_ids': [menu.current_menu]}).done(function(r) {
menu.on_needaction_loaded(r);
}).then(function () {
+5 -5
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2013-03-07 08:37+0000\n"
"PO-Revision-Date: 2013-04-14 17:43+0000\n"
"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
"PO-Revision-Date: 2013-05-02 09:01+0000\n"
"Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
"Language-Team: Turkish <tr@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: 2013-04-15 06:07+0000\n"
"X-Generator: Launchpad (build 16564)\n"
"X-Launchpad-Export-Date: 2013-05-03 06:29+0000\n"
"X-Generator: Launchpad (build 16598)\n"
#. module: purchase
#: model:res.groups,name:purchase.group_analytic_accounting
@@ -873,7 +873,7 @@ msgstr "Teklif İsteği:"
#: model:ir.actions.act_window,name:purchase.action_picking_tree4_picking_to_invoice
#: model:ir.ui.menu,name:purchase.menu_action_picking_tree4_picking_to_invoice
msgid "On Incoming Shipments"
msgstr "Gelen Sevkiyatlar üzerine"
msgstr "Gelen Sevkiyatlar Üzerinden"
#. module: purchase
#: report:purchase.order:0
+2 -1
View File
@@ -948,7 +948,8 @@ class purchase_order_line(osv.osv):
lang = res_partner.browse(cr, uid, partner_id).lang
context_partner.update( {'lang': lang, 'partner_id': partner_id} )
product = product_product.browse(cr, uid, product_id, context=context_partner)
name = product.name
#call name_get() with partner in the context to eventually match name and description in the seller_ids field
dummy, name = product_product.name_get(cr, uid, product_id, context=context_partner)[0]
if product.description_purchase:
name += '\n' + product.description_purchase
res['value'].update({'name': name})
+5 -5
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2013-03-07 08:37+0000\n"
"PO-Revision-Date: 2013-04-26 19:02+0000\n"
"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
"PO-Revision-Date: 2013-05-02 09:03+0000\n"
"Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
"Language-Team: Turkish <tr@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: 2013-04-27 06:34+0000\n"
"X-Generator: Launchpad (build 16580)\n"
"X-Launchpad-Export-Date: 2013-05-03 06:29+0000\n"
"X-Generator: Launchpad (build 16598)\n"
#. module: sale
#: model:res.groups,name:sale.group_analytic_accounting
@@ -42,7 +42,7 @@ msgstr "Genel özellik olarak tanımlanan hiç gelir hesabı yok."
#: model:ir.actions.act_window,name:sale.action_order_line_tree2
#: model:ir.ui.menu,name:sale.menu_invoicing_sales_order_lines
msgid "Order Lines to Invoice"
msgstr "Faturalanacak sipariş kalemleri"
msgstr "Faturalanacak Sipariş Kalemleri"
#. module: sale
#: field:sale.order,date_confirm:0
+16 -3
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2013-03-07 08:37+0000\n"
"PO-Revision-Date: 2013-04-26 18:58+0000\n"
"PO-Revision-Date: 2013-05-05 09:15+0000\n"
"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
"Language-Team: Turkish <tr@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: 2013-04-27 06:34+0000\n"
"X-Generator: Launchpad (build 16580)\n"
"X-Launchpad-Export-Date: 2013-05-06 06:35+0000\n"
"X-Generator: Launchpad (build 16598)\n"
#. module: stock
#: field:stock.inventory.line.split,line_exist_ids:0
@@ -4434,6 +4434,12 @@ msgid ""
"this quantity on assigned moves affects the product reservation, and should "
"be done with care."
msgstr ""
"Bu envanter bakış açısından ürün miktarıdır. 'Yapıldı' durumundaki "
"hareketler için, gerçekten hareket gören ürünlerin miktarıdır. Diğer "
"hareketleri için, hareket görmesi planlanan ürünlerin miktarıdır. Bu "
"miktarın azaltılması bir sipariş bakiyesi oluşturmaz. Atandığı hareketlerde "
"bu miktarı değiştirmek ürün rezervasyonunu etkileyeceğinden çok dikkatli "
"yapılmalıdır."
#. module: stock
#: help:stock.location,valuation_in_account_id:0
@@ -4892,6 +4898,10 @@ msgid ""
"specific valuation account set on the source location. When not set on the "
"product, the one from the product category is used."
msgstr ""
"Gerçek zamanlı envanter değerlemesi yaparken, gelen bütün stok "
"hareketlerinin karşıt günlük maddeleri, kaynak konumda özel bir değerleme "
"hesabı tanımlanıncaya kadar bu hesaba işlenecektir. Ürüne tanımlanmamışsa, "
"ürün kategorisinden bir tane kullanılır."
#. module: stock
#: view:stock.move:0
@@ -5197,6 +5207,9 @@ msgid ""
"would let a quantity of \"%s %s\" to ship and only roundings of \"%s %s\" is "
"accepted by the uom."
msgstr ""
"İlk ürün ölçü biriminin yuvarlanması \"%s %s\" sevkiyatına izin vermez, "
"çünkü ölçü birimi \"%s %s\" miktarın sevkiyatını ve yalnızca \"%s %s\" "
"miktarın yuvarlanmasını kabul eder."
#. module: stock
#: help:stock.move,move_dest_id:0