[MERGE] merge with main addons

bzr revid: psi@tinyerp.com-20120228122126-7s4c52cy80b1d6jp
This commit is contained in:
Purnendu Singh (OpenERP) 2012-02-28 17:51:26 +05:30
commit 1cef20a8c3
28 changed files with 917 additions and 868 deletions

View File

@ -37,75 +37,67 @@ class account_analytic_cost_ledger(report_sxw.rml_parse):
'sum_credit': self._sum_credit,
'sum_balance': self._sum_balance,
})
self.children = {} # a memo for the method _get_children
def _lines_g(self, account_id, date1, date2):
def _get_children(self, accounts):
""" return all children accounts of the given accounts
:param accounts: list of browse records of 'account.analytic.account'
:return: tuple of account ids
"""
analytic_obj = self.pool.get('account.analytic.account')
res = set()
for account in accounts:
if account.id not in self.children:
self.children[account.id] = analytic_obj.search(self.cr, self.uid, [('parent_id', 'child_of', [account.id])])
res.update(self.children[account.id])
return tuple(res)
def _lines_g(self, account, date1, date2):
self.cr.execute("SELECT sum(aal.amount) AS balance, aa.code AS code, aa.name AS name, aa.id AS id \
FROM account_account AS aa, account_analytic_line AS aal \
WHERE (aal.account_id=%s) AND (aal.date>=%s) AND (aal.date<=%s) AND (aal.general_account_id=aa.id) AND aa.active \
GROUP BY aa.code, aa.name, aa.id ORDER BY aa.code", (account_id, date1, date2))
WHERE (aal.account_id IN %s) AND (aal.date>=%s) AND (aal.date<=%s) AND (aal.general_account_id=aa.id) AND aa.active \
GROUP BY aa.code, aa.name, aa.id ORDER BY aa.code", (self._get_children([account]), date1, date2))
res = self.cr.dictfetchall()
for r in res:
if r['balance'] > 0:
r['debit'] = r['balance']
r['credit'] = 0.0
elif r['balance'] < 0:
r['debit'] = 0.0
r['credit'] = -r['balance']
else:
r['debit'] = 0.0
r['credit'] = 0.0
r['debit'] = r['balance'] if r['balance'] > 0 else 0.0
r['credit'] = -r['balance'] if r['balance'] < 0 else 0.0
return res
def _lines_a(self, general_account_id, account_id, date1, date2):
def _lines_a(self, general_account, account, date1, date2):
self.cr.execute("SELECT aal.name AS name, aal.code AS code, aal.amount AS balance, aal.date AS date, aaj.code AS cj FROM account_analytic_line AS aal, account_analytic_journal AS aaj \
WHERE (aal.general_account_id=%s) AND (aal.account_id=%s) AND (aal.date>=%s) AND (aal.date<=%s) \
WHERE (aal.general_account_id=%s) AND (aal.account_id IN %s) AND (aal.date>=%s) AND (aal.date<=%s) \
AND (aal.journal_id=aaj.id) \
ORDER BY aal.date, aaj.code, aal.code", (general_account_id, account_id, date1, date2))
ORDER BY aal.date, aaj.code, aal.code", (general_account['id'], self._get_children([account]), date1, date2))
res = self.cr.dictfetchall()
for r in res:
if r['balance'] > 0:
r['debit'] = r['balance']
r['credit'] = 0.0
elif r['balance'] < 0:
r['debit'] = 0.0
r['credit'] = -r['balance']
else:
r['debit'] = 0.0
r['credit'] = 0.0
r['debit'] = r['balance'] if r['balance'] > 0 else 0.0
r['credit'] = -r['balance'] if r['balance'] < 0 else 0.0
return res
def _account_sum_debit(self, account_id, date1, date2):
self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id=%s AND date>=%s AND date<=%s AND amount>0", (account_id, date1, date2))
return self.cr.fetchone()[0] or 0.0
def _account_sum_debit(self, account, date1, date2):
return self._sum_debit(self, [account], date1, date2)
def _account_sum_credit(self, account_id, date1, date2):
self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id=%s AND date>=%s AND date<=%s AND amount<0", (account_id, date1, date2))
return self.cr.fetchone()[0] or 0.0
def _account_sum_credit(self, account, date1, date2):
return self._sum_credit(self, [account], date1, date2)
def _account_sum_balance(self, account_id, date1, date2):
debit = self._account_sum_debit(account_id, date1, date2)
credit = self._account_sum_credit(account_id, date1, date2)
def _account_sum_balance(self, account, date1, date2):
debit = self._account_sum_debit(account, date1, date2)
credit = self._account_sum_credit(account, date1, date2)
return (debit-credit)
def _sum_debit(self, accounts, date1, date2):
ids = map(lambda x: x.id, accounts)
if not ids:
return 0.0
self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount>0", (tuple(ids), date1, date2,))
self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount>0",
(self._get_children(accounts), date1, date2,))
return self.cr.fetchone()[0] or 0.0
def _sum_credit(self, accounts, date1, date2):
ids = map(lambda x: x.id, accounts)
if not ids:
return 0.0
self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount<0", (tuple(ids),date1, date2,))
self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount<0",
(self._get_children(accounts), date1, date2,))
return self.cr.fetchone()[0] or 0.0
def _sum_balance(self, accounts, date1, date2):
debit = self._sum_debit(accounts, date1, date2) or 0.0
credit = self._sum_credit(accounts, date1, date2) or 0.0
debit = self._sum_debit(accounts, date1, date2)
credit = self._sum_credit(accounts, date1, date2)
return (debit-credit)
report_sxw.report_sxw('report.account.analytic.account.cost_ledger', 'account.analytic.account', 'addons/account/project/report/cost_ledger.rml',parser=account_analytic_cost_ledger, header="internal")

View File

@ -229,28 +229,28 @@
</tr>
</blockTable>
<section>
<para style="terp_default_2">[[ repeatIn(objects,'o') ]]</para>
<para style="terp_default_2">[[ repeatIn(objects,'account') ]]</para>
<blockTable colWidths="56.0,273.0,70.0,70.0,70.0" style="Table_Account_Detail">
<tr>
<td>
<para style="terp_default_Bold_9">[[ o.code ]]</para>
<para style="terp_default_Bold_9">[[ account.code ]]</para>
</td>
<td>
<para style="terp_default_Bold_9">[[ o.complete_name ]]</para>
<para style="terp_default_Bold_9">[[ account.complete_name ]]</para>
</td>
<td>
<para style="terp_Default_Bold_Right_9_U">[[ formatLang (account_sum_debit(o.id,data['form']['date1'],data['form']['date2'])) ]] </para>
<para style="terp_Default_Bold_Right_9_U">[[ formatLang (account_sum_debit(account,data['form']['date1'],data['form']['date2'])) ]] </para>
</td>
<td>
<para style="terp_Default_Bold_Right_9_U">[[ formatLang (account_sum_credit(o.id,data['form']['date1'],data['form']['date2'])) ]] </para>
<para style="terp_Default_Bold_Right_9_U">[[ formatLang (account_sum_credit(account,data['form']['date1'],data['form']['date2'])) ]] </para>
</td>
<td>
<para style="terp_Default_Bold_Right_9_U">[[ formatLang (account_sum_balance(o.id,data['form']['date1'],data['form']['date2']))]] [[ company.currency_id.symbol ]]</para>
<para style="terp_Default_Bold_Right_9_U">[[ formatLang (account_sum_balance(account,data['form']['date1'],data['form']['date2']))]] [[ company.currency_id.symbol ]]</para>
</td>
</tr>
</blockTable>
<section>
<para style="terp_default_2">[[ repeatIn(lines_g(o.id,data['form']['date1'],data['form']['date2']),'move_g') ]]</para>
<para style="terp_default_2">[[ repeatIn(lines_g(account,data['form']['date1'],data['form']['date2']),'move_g') ]]</para>
<blockTable colWidths="56.0,273.0,70.0,70.0,70.0" style="Table_Move_Line_Detail">
<tr>
<td>
@ -271,7 +271,7 @@
</tr>
</blockTable>
<section>
<para style="terp_default_2">[[ repeatIn(lines_a(move_g['id'],o.id,data['form']['date1'],data['form']['date2']),'move_a') ]]</para>
<para style="terp_default_2">[[ repeatIn(lines_a(move_g,account,data['form']['date1'],data['form']['date2']),'move_a') ]]</para>
<blockTable colWidths="56.0,56.0,217.0,70.0,70.0,70.0" style="Table_Move_Line_Content">
<tr>
<td>
@ -302,4 +302,4 @@
</section>
</pto>
</story>
</document>
</document>

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
"PO-Revision-Date: 2012-02-21 01:05+0000\n"
"Last-Translator: Cintia Sayuri Sato - http://www.tompast.com.br <Unknown>\n"
"PO-Revision-Date: 2012-02-26 22:50+0000\n"
"Last-Translator: Emerson <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-22 04:57+0000\n"
"X-Generator: Launchpad (build 14838)\n"
"X-Launchpad-Export-Date: 2012-02-27 04:52+0000\n"
"X-Generator: Launchpad (build 14868)\n"
#. module: account_analytic_plans
#: view:analytic.plan.create.model:0
@ -93,7 +93,7 @@ msgstr "Id Conta2"
#. module: account_analytic_plans
#: sql_constraint:account.invoice:0
msgid "Invoice Number must be unique per Company!"
msgstr ""
msgstr "O número da fatura deve ser único por empresa!"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
@ -106,6 +106,8 @@ msgid ""
"Configuration error! The currency chosen should be shared by the default "
"accounts too."
msgstr ""
"Erro de configuração! A moeda escolhida deve ser compartilhada pelas contas "
"padrão também."
#. module: account_analytic_plans
#: sql_constraint:account.move.line:0
@ -148,6 +150,8 @@ msgid ""
"The date of your Journal Entry is not in the defined period! You should "
"change the date or remove this constraint from the journal."
msgstr ""
"A data da entrada no diário não está no período definido! Você deve alterar "
"a data ou remover essa restrição do diário."
#. module: account_analytic_plans
#: sql_constraint:account.journal:0
@ -307,7 +311,7 @@ msgstr "analytic.plan.create.model.action"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_analytic_line
msgid "Analytic Line"
msgstr ""
msgstr "Linha Analítica"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
@ -366,6 +370,7 @@ msgstr "Salve esta Distribuição como Modelo"
#: constraint:account.move.line:0
msgid "You can not create journal items on an account of type view."
msgstr ""
"Você não pode criar ítens de diário em uma conta tipo \"Visualizar\"."
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
@ -515,11 +520,14 @@ msgid ""
"analytic accounts for each plan set. Then, you must attach a plan set to "
"your account journals."
msgstr ""
"Para configurar um ambiente múltiplo de planos analítico, você deve definir "
"as contas da raiz analíticas para cada conjunto de plano. Então, você deve "
"anexar um conjunto de plano de revistas de sua conta."
#. module: account_analytic_plans
#: constraint:account.move.line:0
msgid "You can not create journal items on closed account."
msgstr ""
msgstr "Você não pode criar ítens de diário em uma conta fechada."
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0

View File

@ -0,0 +1,378 @@
# Polish translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
"PO-Revision-Date: 2012-02-24 16:36+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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: 2012-02-25 05:13+0000\n"
"X-Generator: Launchpad (build 14860)\n"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Search Bank Transactions"
msgstr "Szukaj transakcji bankowych"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
#: selection:account.bank.statement.line,state:0
msgid "Confirmed"
msgstr "Potwierdzone"
#. module: account_bank_statement_extensions
#: view:account.bank.statement:0
#: view:account.bank.statement.line:0
msgid "Glob. Id"
msgstr ""
#. module: account_bank_statement_extensions
#: selection:account.bank.statement.line.global,type:0
msgid "CODA"
msgstr ""
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line.global,parent_id:0
msgid "Parent Code"
msgstr "Kod nadrzędny"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Debit"
msgstr "Winien"
#. 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 "Anuluj wybrane pozycje wyciągu"
#. module: account_bank_statement_extensions
#: constraint:res.partner.bank:0
msgid "The RIB and/or IBAN is not valid"
msgstr "Niedozwolony RIB lub IBAN"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Group By..."
msgstr "Grupuj wg..."
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,state:0
msgid "State"
msgstr "Stan"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
#: selection:account.bank.statement.line,state:0
msgid "Draft"
msgstr "Projekt"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Statement"
msgstr "Wyciąg"
#. 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 "Potwierdź wybrane pozycje wyciągu"
#. 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 "Raport sald wyciągu"
#. module: account_bank_statement_extensions
#: view:cancel.statement.line:0
msgid "Cancel Lines"
msgstr "Anuluj pozycje"
#. 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 ""
#. module: account_bank_statement_extensions
#: view:confirm.statement.line:0
msgid "Confirm Lines"
msgstr "Potwierdż pozycje"
#. module: account_bank_statement_extensions
#: code:addons/account_bank_statement_extensions/account_bank_statement.py:130
#, python-format
msgid ""
"Delete operation not allowed ! Please go to the associated bank "
"statement in order to delete and/or modify this bank statement line"
msgstr ""
"Operacja usuwania nie jest dozwolona ! Aby usunąć lub "
"modyfikować pozycje musisz wejść do wyciągu"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line.global,type:0
msgid "Type"
msgstr "Typ"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
#: field:account.bank.statement.line,journal_id:0
#: report:bank.statement.balance.report:0
msgid "Journal"
msgstr "Dziennik"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Confirmed Statement Lines."
msgstr "Potwierdzone pozycje wyciągu"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Credit Transactions."
msgstr "Transakcje Ma"
#. 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 "anuluje wybrane pozycje wyciągu."
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,counterparty_number:0
msgid "Counterparty Number"
msgstr "Numer przeciwstawny"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line.global:0
msgid "Transactions"
msgstr "Transakcje"
#. module: account_bank_statement_extensions
#: code:addons/account_bank_statement_extensions/account_bank_statement.py:130
#, python-format
msgid "Warning"
msgstr "Ostrzeżenie"
#. module: account_bank_statement_extensions
#: report:bank.statement.balance.report:0
msgid "Closing Balance"
msgstr "Bilans zamknięcia"
#. module: account_bank_statement_extensions
#: report:bank.statement.balance.report:0
msgid "Date"
msgstr "Data"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
#: field:account.bank.statement.line,globalisation_amount:0
msgid "Glob. Amount"
msgstr "Wart. globalna"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Debit Transactions."
msgstr "Transakcje Winien"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Extended Filters..."
msgstr "Rozszerzone filtry..."
#. module: account_bank_statement_extensions
#: view:confirm.statement.line:0
msgid "Confirmed lines cannot be changed anymore."
msgstr "Potwierdzone pozycje nie mogą być zmieniane."
#. module: account_bank_statement_extensions
#: constraint:res.partner.bank:0
msgid ""
"\n"
"Please define BIC/Swift code on bank for bank type IBAN Account to make "
"valid payments"
msgstr ""
"\n"
"Zdefiniuj kod BIC/Swift dla banku konta typu IBAN"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,val_date:0
msgid "Valuta Date"
msgstr ""
#. module: account_bank_statement_extensions
#: model:ir.actions.act_window,help:account_bank_statement_extensions.action_confirm_statement_line
msgid "Confirm selected statement lines."
msgstr "Potwierdź wybrane pozycje wyciągu"
#. module: account_bank_statement_extensions
#: view:cancel.statement.line:0
msgid "Are you sure you want to cancel the selected Bank Statement lines ?"
msgstr "Jesteś pewna, że chcesz anulować wybrane pozycje wyciągu ?"
#. module: account_bank_statement_extensions
#: report:bank.statement.balance.report:0
msgid "Name"
msgstr "Nazwa"
#. module: account_bank_statement_extensions
#: selection:account.bank.statement.line.global,type:0
msgid "ISO 20022"
msgstr ""
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Notes"
msgstr "Uwagi"
#. module: account_bank_statement_extensions
#: selection:account.bank.statement.line.global,type:0
msgid "Manual"
msgstr "Ręcznie"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Credit"
msgstr "Ma"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line.global,amount:0
msgid "Amount"
msgstr "Kwota"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Fin.Account"
msgstr "Konto fin."
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,counterparty_currency:0
msgid "Counterparty Currency"
msgstr "Waluta przeciwstawna"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,counterparty_bic:0
msgid "Counterparty BIC"
msgstr "Przeciwstawny BIC"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line.global,child_ids:0
msgid "Child Codes"
msgstr "Rejestry podrzędne"
#. module: account_bank_statement_extensions
#: view:confirm.statement.line:0
msgid "Are you sure you want to confirm the selected Bank Statement lines ?"
msgstr "Jesteś pewna, że chcesz potwierdzić wybrane pozycje wyciągu ?"
#. module: account_bank_statement_extensions
#: constraint:account.bank.statement.line:0
msgid ""
"The amount of the voucher must be the same amount as the one on the "
"statement line"
msgstr "Kwota płatności musi być taka sama jak kwota pozycji wyciągu."
#. 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 "Kod do identyfikacji poziomu w przelewie grupowym"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Draft Statement Lines."
msgstr "Pozycje projektowe wyciągu"
#. 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 "Pozycja wyciągu bankowego"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line.global,code:0
msgid "Code"
msgstr "Kod"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,counterparty_name:0
msgid "Counterparty Name"
msgstr ""
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line.global,name:0
msgid "Communication"
msgstr "Komunikacja"
#. module: account_bank_statement_extensions
#: model:ir.model,name:account_bank_statement_extensions.model_res_partner_bank
msgid "Bank Accounts"
msgstr "Konta bankowe"
#. module: account_bank_statement_extensions
#: constraint:account.bank.statement:0
msgid "The journal and period chosen have to belong to the same company."
msgstr "Dziennik i okres muszą należeć do tej samej firmy."
#. module: account_bank_statement_extensions
#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement
msgid "Bank Statement"
msgstr "Wyciąg bankowy"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Statement Line"
msgstr "Pozycja wyciągu"
#. module: account_bank_statement_extensions
#: sql_constraint:account.bank.statement.line.global:0
msgid "The code must be unique !"
msgstr "Kod musi być unikalny !"
#. 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 "Pozycje wyciągu"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line.global:0
msgid "Child Batch Payments"
msgstr ""
#. module: account_bank_statement_extensions
#: view:cancel.statement.line:0
#: view:confirm.statement.line:0
msgid "Cancel"
msgstr "Anuluj"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Statement Lines"
msgstr "Pozycje wyciągu"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Total Amount"
msgstr "Suma kwot"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,globalisation_id:0
msgid "Globalisation ID"
msgstr "ID poziomu"

View File

@ -547,6 +547,21 @@ class account_voucher(osv.osv):
@return: Returns a dict which contains new values, and context
"""
def _remove_noise_in_o2m():
"""if the line is partially reconciled, then we must pay attention to display it only once and
in the good o2m.
This function returns True if the line is considered as noise and should not be displayed
"""
if line.reconcile_partial_id:
sign = 1 if ttype == 'receipt' else -1
if currency_id == line.currency_id.id:
if line.amount_residual_currency * sign <= 0:
return True
else:
if line.amount_residual * sign <= 0:
return True
return False
if context is None:
context = {}
context_multi_currency = context.copy()
@ -610,11 +625,11 @@ class account_voucher(osv.osv):
ids.reverse()
account_move_lines = move_line_pool.browse(cr, uid, ids, context=context)
#compute the total debit/credit and look for a matching open amount or invoice
for line in account_move_lines:
if line.credit and line.reconcile_partial_id and ttype == 'receipt':
continue
if line.debit and line.reconcile_partial_id and ttype == 'payment':
if _remove_noise_in_o2m():
continue
if invoice_id:
if line.invoice.id == invoice_id:
#if the invoice linked to the voucher line is equal to the invoice_id in context
@ -640,10 +655,9 @@ class account_voucher(osv.osv):
#voucher line creation
for line in account_move_lines:
if line.credit and line.reconcile_partial_id and ttype == 'receipt':
continue
if line.debit and line.reconcile_partial_id and ttype == 'payment':
if _remove_noise_in_o2m():
continue
if line.currency_id and currency_id==line.currency_id.id:
amount_original = abs(line.amount_currency)
amount_unreconciled = abs(line.amount_residual_currency)
@ -1069,7 +1083,7 @@ class account_voucher(osv.osv):
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.
# we compute the amount in that foreign currency.
if line.move_line_id.currency_id.id == current_currency:
# 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
@ -1288,7 +1302,7 @@ class account_voucher_line(osv.osv):
def _currency_id(self, cr, uid, ids, name, args, context=None):
'''
This function returns the currency id of a voucher line. It's either the currency of the
This function returns the currency id of a voucher line. It's either the currency of the
associated move line (if any) or the currency of the voucher or the company currency.
'''
res = {}

View File

@ -8,19 +8,19 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
"PO-Revision-Date: 2011-09-05 23:08+0000\n"
"Last-Translator: kifcaliph <Unknown>\n"
"PO-Revision-Date: 2012-02-25 20:54+0000\n"
"Last-Translator: amani ali <applepie9911@yahoo.com>\n"
"Language-Team: Arabic <ar@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-09 07:09+0000\n"
"X-Generator: Launchpad (build 14763)\n"
"X-Launchpad-Export-Date: 2012-02-26 04:55+0000\n"
"X-Generator: Launchpad (build 14860)\n"
#. module: base_crypt
#: model:ir.model,name:base_crypt.model_res_users
msgid "res.users"
msgstr ""
msgstr "مستخدمي المراجع"
#. module: base_crypt
#: sql_constraint:res.users:0
@ -42,7 +42,7 @@ msgstr "يرجى تحديد كلمة السر!"
#: code:addons/base_crypt/crypt.py:140
#, python-format
msgid "Error"
msgstr ""
msgstr "خطأ"
#~ msgid "Base - Password Encryption"
#~ msgstr "قاعدة - تشفير كلمة المرور"

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 00:36+0000\n"
"PO-Revision-Date: 2012-01-23 15:23+0000\n"
"Last-Translator: mrx5682 <Unknown>\n"
"PO-Revision-Date: 2012-02-24 13:19+0000\n"
"Last-Translator: John Bradshaw <Unknown>\n"
"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-09 06:02+0000\n"
"X-Generator: Launchpad (build 14763)\n"
"X-Launchpad-Export-Date: 2012-02-25 05:13+0000\n"
"X-Generator: Launchpad (build 14860)\n"
#. module: base_iban
#: constraint:res.partner.bank:0
@ -32,7 +32,7 @@ msgstr ""
#: code:addons/base_iban/base_iban.py:139
#, python-format
msgid "This IBAN does not pass the validation check, please verify it"
msgstr ""
msgstr "This IBAN fails the validation check, please verify it"
#. module: base_iban
#: model:res.partner.bank.type,format_layout:base_iban.bank_iban
@ -93,7 +93,7 @@ msgstr "IBAN Account"
#. module: base_iban
#: constraint:res.partner.bank:0
msgid "The RIB and/or IBAN is not valid"
msgstr ""
msgstr "The RIB and/or IBAN is not valid"
#, python-format
#~ msgid "The IBAN is invalid, It should begin with the country code"

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
"PO-Revision-Date: 2012-02-13 12:51+0000\n"
"Last-Translator: Rafael Sales - http://www.tompast.com.br <Unknown>\n"
"PO-Revision-Date: 2012-02-26 22:45+0000\n"
"Last-Translator: Emerson <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-14 05:43+0000\n"
"X-Generator: Launchpad (build 14781)\n"
"X-Launchpad-Export-Date: 2012-02-27 04:52+0000\n"
"X-Generator: Launchpad (build 14868)\n"
#. module: base_setup
#: field:user.preferences.config,menu_tips:0
@ -66,7 +66,7 @@ msgstr ""
#. module: base_setup
#: model:ir.actions.act_window,name:base_setup.action_base_setup_company
msgid "Set Company Header and Footer"
msgstr ""
msgstr "Defina o Cabeçalho e o Rodapé da Empresa"
#. module: base_setup
#: model:ir.actions.act_window,help:base_setup.action_base_setup_company

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
"PO-Revision-Date: 2011-01-12 12:29+0000\n"
"Last-Translator: Quentin THEURET <Unknown>\n"
"PO-Revision-Date: 2012-02-27 10:27+0000\n"
"Last-Translator: GaCriv <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-09 06:15+0000\n"
"X-Generator: Launchpad (build 14763)\n"
"X-Launchpad-Export-Date: 2012-02-28 05:47+0000\n"
"X-Generator: Launchpad (build 14874)\n"
#. module: base_vat
#: code:addons/base_vat/base_vat.py:141
@ -23,6 +23,8 @@ msgid ""
"This VAT number does not seem to be valid.\n"
"Note: the expected format is %s"
msgstr ""
"Ce code de TVA ne semble pas correct.\n"
"Note: le format attendu est %s"
#. module: base_vat
#: sql_constraint:res.company:0
@ -37,7 +39,7 @@ msgstr ""
#. module: base_vat
#: field:res.company,vat_check_vies:0
msgid "VIES VAT Check"
msgstr ""
msgstr "Vérification n° TVA avec VIES"
#. module: base_vat
#: model:ir.model,name:base_vat.model_res_company
@ -69,6 +71,9 @@ msgid ""
"If checked, Partners VAT numbers will be fully validated against EU's VIES "
"service rather than via a simple format validation (checksum)."
msgstr ""
"Si coché, les numéros de TVA des partenaires seront validés avec le système "
"d'échange d'informations sur la TVA automatisé de l'Union Européenne "
"(V.I.E.S.) plutôt que par une simple validation par calcul de clé."
#. module: base_vat
#: field:res.partner,vat_subjected:0

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2012-02-09 09:34+0000\n"
"Last-Translator: Numérigraphe <Unknown>\n"
"PO-Revision-Date: 2012-02-27 10:26+0000\n"
"Last-Translator: Fabrice (OpenERP) <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-10 04:47+0000\n"
"X-Generator: Launchpad (build 14771)\n"
"X-Launchpad-Export-Date: 2012-02-28 05:47+0000\n"
"X-Generator: Launchpad (build 14874)\n"
#. module: crm
#: view:crm.lead.report:0
@ -699,7 +699,7 @@ msgstr ""
#. module: crm
#: field:crm.lead2opportunity.partner.mass,user_ids:0
msgid "Salesmans"
msgstr ""
msgstr "Vendeurs"
#. module: crm
#: field:crm.lead.report,probable_revenue:0
@ -842,7 +842,7 @@ msgstr "Ventes Achats"
#. module: crm
#: help:crm.case.section,resource_calendar_id:0
msgid "Used to compute open days"
msgstr ""
msgstr "Utlilisé pour calculer les jours ouvrables"
#. module: crm
#: view:crm.lead:0
@ -937,7 +937,7 @@ msgstr "Avertissement !"
#. module: crm
#: view:crm.phonecall.report:0
msgid "Phone calls made in current year"
msgstr ""
msgstr "Appels téléphoniques passés cette année"
#. module: crm
#: field:crm.lead,day_open:0
@ -1058,7 +1058,7 @@ msgstr "Précédent"
#. module: crm
#: view:crm.lead:0
msgid "New Leads"
msgstr ""
msgstr "Nouvelles pistes"
#. module: crm
#: view:crm.lead:0
@ -1073,7 +1073,7 @@ msgstr "De"
#. module: crm
#: view:crm.lead2opportunity.partner.mass:0
msgid "Convert into Opportunities"
msgstr ""
msgstr "Convertir en opportunité"
#. module: crm
#: view:crm.lead:0
@ -1136,7 +1136,7 @@ msgstr "Date de création"
#. module: crm
#: view:board.board:0
msgid "My Opportunities"
msgstr ""
msgstr "Mes opportunités"
#. module: crm
#: model:crm.case.categ,name:crm.categ_oppor5
@ -1146,7 +1146,7 @@ msgstr "A besoin d'une conception de son site web"
#. module: crm
#: view:crm.phonecall.report:0
msgid "Year of call"
msgstr ""
msgstr "Année de l'appel"
#. module: crm
#: field:crm.meeting,recurrent_uid:0
@ -1182,7 +1182,7 @@ msgstr "Envoyer un courriel au partenaire"
#. module: crm
#: view:crm.opportunity2phonecall:0 view:crm.phonecall2phonecall:0
msgid "Call Details"
msgstr ""
msgstr "Détails de l'appel"
#. module: crm
#: field:crm.meeting,class:0
@ -1207,7 +1207,7 @@ msgstr "Champs de condition des cas"
#. module: crm
#: view:crm.phonecall.report:0
msgid "Phone calls which are in pending state"
msgstr ""
msgstr "Appels téléphoniques en attente"
#. module: crm
#: view:crm.case.section:0 field:crm.case.section,stage_ids:0
@ -1350,7 +1350,7 @@ msgstr ""
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_categ_phone_create_partner
msgid "Schedule a Call"
msgstr ""
msgstr "Planifier un appel"
#. module: crm
#: view:crm.lead2partner:0 view:crm.phonecall:0 view:crm.phonecall2partner:0
@ -1438,7 +1438,7 @@ msgstr ""
#. module: crm
#: view:crm.phonecall.report:0
msgid "Date of call"
msgstr ""
msgstr "Date de l'appel"
#. module: crm
#: help:crm.lead,section_id:0
@ -1550,7 +1550,7 @@ msgstr ""
#. module: crm
#: field:crm.phonecall,opportunity_id:0
msgid "Lead/Opportunity"
msgstr ""
msgstr "Piste/opportunité"
#. module: crm
#: view:crm.lead:0
@ -1694,7 +1694,7 @@ msgstr "Convertir un prospect en client"
#. module: crm
#: view:crm.meeting:0
msgid "Meeting / Partner"
msgstr ""
msgstr "Réunion/partenaire"
#. module: crm
#: view:crm.phonecall2opportunity:0
@ -1806,7 +1806,7 @@ msgstr "Entrant"
#. module: crm
#: view:crm.phonecall.report:0
msgid "Month of call"
msgstr ""
msgstr "Mois de l'appel"
#. module: crm
#: view:crm.phonecall.report:0
@ -1839,7 +1839,7 @@ msgstr "La plus haute"
#. module: crm
#: help:crm.lead.report,creation_year:0
msgid "Creation year"
msgstr ""
msgstr "Année de création"
#. module: crm
#: view:crm.case.section:0 view:crm.lead:0 field:crm.lead,description:0
@ -1895,7 +1895,7 @@ msgstr "Options de récurrence"
#. module: crm
#: view:crm.lead:0
msgid "Lead / Customer"
msgstr ""
msgstr "Piste / client"
#. module: crm
#: model:process.transition,note:crm.process_transition_leadpartner0
@ -2134,7 +2134,7 @@ msgstr "Probabilité"
#. module: crm
#: view:crm.lead:0
msgid "Pending Opportunities"
msgstr ""
msgstr "Opportunités en attente"
#. module: crm
#: code:addons/crm/crm_lead.py:491
@ -2203,7 +2203,7 @@ msgstr "Date de début"
#. module: crm
#: view:crm.phonecall:0
msgid "Scheduled Phonecalls"
msgstr ""
msgstr "Appels téléphoniques planifiés"
#. module: crm
#: view:crm.meeting:0
@ -2342,7 +2342,7 @@ msgstr ">"
#. module: crm
#: view:crm.opportunity2phonecall:0 view:crm.phonecall2phonecall:0
msgid "Schedule call"
msgstr ""
msgstr "Planifier un appel"
#. module: crm
#: view:crm.meeting:0
@ -2458,7 +2458,7 @@ msgstr "Occupé"
#. module: crm
#: field:crm.lead.report,creation_day:0
msgid "Creation Day"
msgstr ""
msgstr "Jour de création"
#. module: crm
#: field:crm.meeting,interval:0
@ -2473,7 +2473,7 @@ msgstr "Récurrent"
#. module: crm
#: view:crm.phonecall.report:0
msgid "Phone calls made in last month"
msgstr ""
msgstr "Appels téléphoniques passés le mois dernier"
#. module: crm
#: model:ir.actions.act_window,name:crm.act_my_oppor
@ -2601,7 +2601,7 @@ msgstr "Continuer le processus"
#. module: crm
#: view:crm.lead.report:0
msgid "Leads/Opportunities created in current year"
msgstr ""
msgstr "Pistes/opportunités créées cette année"
#. module: crm
#: model:ir.model,name:crm.model_crm_phonecall2partner
@ -2634,12 +2634,12 @@ msgstr "Durée"
#. module: crm
#: view:crm.lead:0
msgid "Show countries"
msgstr ""
msgstr "Afficher les pays"
#. module: crm
#: view:crm.lead2opportunity.partner.mass:0
msgid "Select Salesman"
msgstr ""
msgstr "Sélectionner le vendeur"
#. module: crm
#: view:board.board:0
@ -2685,7 +2685,7 @@ msgstr "Fax"
#. module: crm
#: view:crm.lead.report:0
msgid "Leads/Opportunities created in current month"
msgstr ""
msgstr "Pistes/opportunités créées ce mois"
#. module: crm
#: view:crm.meeting:0
@ -2722,7 +2722,7 @@ msgstr ""
#. module: crm
#: field:crm.lead,subjects:0
msgid "Subject of Email"
msgstr ""
msgstr "Sujet du courriel"
#. module: crm
#: model:ir.actions.act_window,name:crm.action_view_attendee_form
@ -2777,7 +2777,7 @@ msgstr "Messages"
#. module: crm
#: help:crm.lead,channel_id:0
msgid "Communication channel (mail, direct, phone, ...)"
msgstr ""
msgstr "Canal de communication (courriel, direct, téléphone, etc.)"
#. module: crm
#: code:addons/crm/crm_action_rule.py:61
@ -2895,7 +2895,7 @@ msgstr "Résumé de l'appel"
#. module: crm
#: view:crm.lead:0
msgid "Todays' Leads"
msgstr ""
msgstr "Pistes du jour"
#. module: crm
#: model:ir.actions.act_window,help:crm.crm_case_categ_phone_outgoing0
@ -3028,7 +3028,7 @@ msgstr "Créer des opportunités d'affaires à partir des pistes."
#: model:ir.actions.act_window,name:crm.open_board_statistical_dash
#: model:ir.ui.menu,name:crm.menu_board_statistics_dash
msgid "CRM Dashboard"
msgstr ""
msgstr "Tableau de bord CRM"
#. module: crm
#: model:crm.case.categ,name:crm.categ_oppor4
@ -3080,13 +3080,13 @@ msgstr "Qualification"
#. module: crm
#: field:crm.lead,partner_address_email:0
msgid "Partner Contact Email"
msgstr ""
msgstr "Courriel du contact du partenaire"
#. module: crm
#: code:addons/crm/wizard/crm_lead_to_partner.py:48
#, python-format
msgid "A partner is already defined."
msgstr ""
msgstr "Un partenaire est déjà défini."
#. module: crm
#: selection:crm.meeting,byday:0
@ -3173,7 +3173,7 @@ msgstr "Répéter"
#. module: crm
#: field:crm.lead.report,deadline_year:0
msgid "Ex. Closing Year"
msgstr ""
msgstr "Année de clôture attendue"
#. module: crm
#: view:crm.lead:0
@ -3295,6 +3295,7 @@ msgstr "Normal"
#, python-format
msgid "Closed/Cancelled Leads can not be converted into Opportunity"
msgstr ""
"Les pistes fermées ou annulées ne peuvent pas être converties en opportunités"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_meeting_categ_action
@ -3357,12 +3358,12 @@ msgstr "Publicités Twitter"
#: code:addons/crm/crm_lead.py:336
#, python-format
msgid "The opportunity '%s' has been been won."
msgstr ""
msgstr "L'opportunité '%s' a été gagnée"
#. module: crm
#: field:crm.case.stage,case_default:0
msgid "Common to All Teams"
msgstr ""
msgstr "Commun à toutes les équipes"
#. module: crm
#: code:addons/crm/crm_lead.py:831 code:addons/crm/wizard/crm_add_note.py:28
@ -3417,7 +3418,7 @@ msgstr "Clôturer"
#: selection:crm.opportunity2phonecall,action:0
#: selection:crm.phonecall2phonecall,action:0
msgid "Schedule a call"
msgstr ""
msgstr "Planifier un appel"
#. module: crm
#: view:crm.lead:0 view:crm.phonecall:0
@ -3489,7 +3490,7 @@ msgstr "Description"
#. module: crm
#: view:crm.phonecall.report:0
msgid "Phone calls made in current month"
msgstr ""
msgstr "Appels passés ce mois"
#. module: crm
#: selection:crm.lead.report,creation_month:0
@ -3506,7 +3507,7 @@ msgstr "Intérêt pour les accessoires"
#. module: crm
#: view:crm.lead:0
msgid "New Opportunities"
msgstr ""
msgstr "Nouvelles opportunités"
#. module: crm
#: code:addons/crm/crm_action_rule.py:61

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: renato.lima@akretion.com\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2012-02-21 01:17+0000\n"
"Last-Translator: Cintia Sayuri Sato - http://www.tompast.com.br <Unknown>\n"
"PO-Revision-Date: 2012-02-26 22:39+0000\n"
"Last-Translator: Emerson <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-22 04:57+0000\n"
"X-Generator: Launchpad (build 14838)\n"
"X-Launchpad-Export-Date: 2012-02-27 04:52+0000\n"
"X-Generator: Launchpad (build 14868)\n"
#. module: crm
#: view:crm.lead.report:0
@ -687,6 +687,11 @@ msgid ""
"using the caldav interface.\n"
" "
msgstr ""
"O calendário de compromissos é compartilhado entre as equipes de venda e é "
"totalmente integrado com outras aplicações como férias de funcionários ou "
"oportunidades de negócios. Voce pode também sincronizar os compromissos com "
"o seu celular usando a interface CALDAV.\n"
" "
#. module: crm
#: field:crm.lead2opportunity.partner.mass,user_ids:0
@ -1747,6 +1752,8 @@ msgstr "Revendedor Potencial"
msgid ""
"When escalating to this team override the saleman with the team leader."
msgstr ""
"Quando esta equipe é escalada para substituir o vendedor com o líder da "
"equipe."
#. module: crm
#: field:crm.lead.report,planned_revenue:0
@ -2407,6 +2414,8 @@ msgid ""
"You can not escalate, you are already at the top level regarding your sales-"
"team category."
msgstr ""
"Você não pode escalar, você já está no nível mais alto em relação a sua "
"categoria de equipe de vendas."
#. module: crm
#: model:crm.case.categ,name:crm.categ_oppor8 view:crm.meeting:0
@ -3523,7 +3532,7 @@ msgstr "Oportunidades por Usuário e Equipe"
#. module: crm
#: view:crm.phonecall:0
msgid "Reset to Todo"
msgstr ""
msgstr "Voltar para Pendente"
#. module: crm
#: field:crm.case.section,working_hours:0
@ -3605,6 +3614,10 @@ msgid ""
"partner. From the phone call form, you can trigger a request for another "
"call, a meeting or an opportunity."
msgstr ""
"Esta ferramenta permite que você registre suas chamadas recebidas. Cada "
"chamada que você começa aparece no formulário parceiro para rastrear todos "
"os contatos que você tem com um parceiro. De forma telefonema, você pode "
"acionar um pedido de uma outra chamada, uma reunião ou uma oportunidade."
#. module: crm
#: selection:crm.lead.report,creation_month:0

View File

@ -0,0 +1,95 @@
# Polish translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
"PO-Revision-Date: 2012-02-25 13:16+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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: 2012-02-26 04:55+0000\n"
"X-Generator: Launchpad (build 14860)\n"
#. module: crm_todo
#: model:ir.model,name:crm_todo.model_project_task
msgid "Task"
msgstr "Zadanie"
#. module: crm_todo
#: view:crm.lead:0
msgid "Timebox"
msgstr "Ramka"
#. module: crm_todo
#: view:crm.lead:0
msgid "For cancelling the task"
msgstr "Do anulowania zadania"
#. module: crm_todo
#: constraint:project.task:0
msgid "Error ! Task end-date must be greater then task start-date"
msgstr "Błąd ! Data końcowa musi być późniejsza niż data początkowa"
#. module: crm_todo
#: model:ir.model,name:crm_todo.model_crm_lead
msgid "crm.lead"
msgstr ""
#. module: crm_todo
#: view:crm.lead:0
msgid "Next"
msgstr "Następny"
#. module: crm_todo
#: model:ir.actions.act_window,name:crm_todo.crm_todo_action
#: model:ir.ui.menu,name:crm_todo.menu_crm_todo
msgid "My Tasks"
msgstr "Moje zadania"
#. module: crm_todo
#: view:crm.lead:0
#: field:crm.lead,task_ids:0
msgid "Tasks"
msgstr "Zadania"
#. module: crm_todo
#: view:crm.lead:0
msgid "Done"
msgstr "Wykonane"
#. module: crm_todo
#: constraint:project.task:0
msgid "Error ! You cannot create recursive tasks."
msgstr "Błąd ! Nie możesz tworzyć rekurencyjnych zadań."
#. module: crm_todo
#: view:crm.lead:0
msgid "Cancel"
msgstr "Anuluj"
#. module: crm_todo
#: view:crm.lead:0
msgid "Extra Info"
msgstr "Dodatkowe informacje"
#. module: crm_todo
#: field:project.task,lead_id:0
msgid "Lead / Opportunity"
msgstr "Sygnał / Szansa"
#. module: crm_todo
#: view:crm.lead:0
msgid "For changing to done state"
msgstr "Do zmiany w stan wykonane"
#. module: crm_todo
#: view:crm.lead:0
msgid "Previous"
msgstr "Poprzednie"

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
"PO-Revision-Date: 2012-02-19 15:15+0000\n"
"Last-Translator: Rafael Sales - http://www.tompast.com.br <Unknown>\n"
"PO-Revision-Date: 2012-02-26 22:47+0000\n"
"Last-Translator: Emerson <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-20 05:41+0000\n"
"X-Generator: Launchpad (build 14833)\n"
"X-Launchpad-Export-Date: 2012-02-27 04:52+0000\n"
"X-Generator: Launchpad (build 14868)\n"
#. module: document
#: field:document.directory,parent_id:0
@ -737,7 +737,7 @@ msgstr "ID do Recurso"
#. module: document
#: selection:document.storage,type:0
msgid "External file storage"
msgstr ""
msgstr "Armazenamento externo de arquivo"
#. module: document
#: view:board.board:0
@ -788,7 +788,7 @@ msgstr "Mês"
#. module: document
#: view:report.document.user:0
msgid "This Months Files"
msgstr ""
msgstr "Arquivos Deste Mês"
#. module: document
#: model:ir.ui.menu,name:document.menu_reporting

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 00:36+0000\n"
"PO-Revision-Date: 2011-09-13 09:02+0000\n"
"PO-Revision-Date: 2012-02-24 13:22+0000\n"
"Last-Translator: John Bradshaw <Unknown>\n"
"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-09 06:58+0000\n"
"X-Generator: Launchpad (build 14763)\n"
"X-Launchpad-Export-Date: 2012-02-25 05:13+0000\n"
"X-Generator: Launchpad (build 14860)\n"
#. module: fetchmail
#: selection:fetchmail.server,state:0
@ -25,17 +25,17 @@ msgstr "Confirmed"
#. module: fetchmail
#: field:fetchmail.server,server:0
msgid "Server Name"
msgstr ""
msgstr "Server Name"
#. module: fetchmail
#: field:fetchmail.server,script:0
msgid "Script"
msgstr ""
msgstr "Script"
#. module: fetchmail
#: help:fetchmail.server,priority:0
msgid "Defines the order of processing, lower values mean higher priority"
msgstr ""
msgstr "Defines the order of processing, lower values mean higher priority"
#. module: fetchmail
#: help:fetchmail.server,is_ssl:0
@ -43,11 +43,13 @@ msgid ""
"Connections are encrypted with SSL/TLS through a dedicated port (default: "
"IMAPS=993, POP3S=995)"
msgstr ""
"Connections are encrypted with SSL/TLS through a dedicated port (default: "
"IMAPS=993, POP3S=995)"
#. module: fetchmail
#: field:fetchmail.server,attach:0
msgid "Keep Attachments"
msgstr ""
msgstr "Keep Attachments"
#. module: fetchmail
#: help:fetchmail.server,original:0
@ -56,6 +58,9 @@ msgid ""
"attached to each processed message. This will usually double the size of "
"your message database."
msgstr ""
"Whether a full original copy of each email should be kept for reference and "
"attached to each processed message. This will usually double the size of "
"your message database."
#. module: fetchmail
#: field:fetchmail.server,priority:0
@ -75,13 +80,13 @@ msgstr "POP"
#. module: fetchmail
#: view:fetchmail.server:0
msgid "Fetch Now"
msgstr ""
msgstr "Fetch Now"
#. module: fetchmail
#: model:ir.actions.act_window,name:fetchmail.action_email_server_tree
#: model:ir.ui.menu,name:fetchmail.menu_action_fetchmail_server_tree
msgid "Incoming Mail Servers"
msgstr ""
msgstr "Incoming Mail Servers"
#. module: fetchmail
#: field:fetchmail.server,port:0
@ -96,12 +101,12 @@ msgstr "POP/IMAP Servers"
#. module: fetchmail
#: selection:fetchmail.server,type:0
msgid "Local Server"
msgstr ""
msgstr "Local Server"
#. module: fetchmail
#: field:fetchmail.server,user:0
msgid "Username"
msgstr ""
msgstr "Username"
#. module: fetchmail
#: model:ir.model,name:fetchmail.model_fetchmail_server
@ -111,7 +116,7 @@ msgstr "POP/IMAP Server"
#. module: fetchmail
#: view:fetchmail.server:0
msgid "Reset Confirmation"
msgstr ""
msgstr "Reset Confirmation"
#. module: fetchmail
#: view:fetchmail.server:0
@ -121,12 +126,12 @@ msgstr "SSL"
#. module: fetchmail
#: model:ir.model,name:fetchmail.model_mail_message
msgid "Email Message"
msgstr ""
msgstr "Email Message"
#. module: fetchmail
#: field:fetchmail.server,date:0
msgid "Last Fetch Date"
msgstr ""
msgstr "Last Fetch Date"
#. module: fetchmail
#: help:fetchmail.server,action_id:0
@ -134,6 +139,8 @@ msgid ""
"Optional custom server action to trigger for each incoming mail, on the "
"record that was created or updated by this mail"
msgstr ""
"Optional custom server action to trigger for each incoming mail, on the "
"record that was created or updated by this mail"
#. module: fetchmail
#: view:fetchmail.server:0
@ -143,7 +150,7 @@ msgstr "# of emails"
#. module: fetchmail
#: field:fetchmail.server,original:0
msgid "Keep Original"
msgstr ""
msgstr "Keep Original"
#. module: fetchmail
#: code:addons/fetchmail/fetchmail.py:155
@ -152,33 +159,35 @@ msgid ""
"Here is what we got instead:\n"
" %s"
msgstr ""
"This is what we got instead:\n"
" %s"
#. module: fetchmail
#: view:fetchmail.server:0
#: field:fetchmail.server,configuration:0
msgid "Configuration"
msgstr ""
msgstr "Configuration"
#. module: fetchmail
#: view:fetchmail.server:0
msgid "Incoming Mail Server"
msgstr ""
msgstr "Incoming Mail Server"
#. module: fetchmail
#: code:addons/fetchmail/fetchmail.py:155
#, python-format
msgid "Connection test failed!"
msgstr ""
msgstr "Connection test failed!"
#. module: fetchmail
#: help:fetchmail.server,server:0
msgid "Hostname or IP of the mail server"
msgstr ""
msgstr "Hostname or IP of the mail server"
#. module: fetchmail
#: view:fetchmail.server:0
msgid "Server type IMAP."
msgstr ""
msgstr "Server type IMAP."
#. module: fetchmail
#: field:fetchmail.server,name:0
@ -188,22 +197,22 @@ msgstr "Name"
#. module: fetchmail
#: field:fetchmail.server,is_ssl:0
msgid "SSL/TLS"
msgstr ""
msgstr "SSL/TLS"
#. module: fetchmail
#: view:fetchmail.server:0
msgid "Test & Confirm"
msgstr ""
msgstr "Test & Confirm"
#. module: fetchmail
#: field:fetchmail.server,action_id:0
msgid "Server Action"
msgstr ""
msgstr "Server Action"
#. module: fetchmail
#: field:mail.message,fetchmail_server_id:0
msgid "Inbound Mail Server"
msgstr ""
msgstr "Inbound Mail Server"
#. module: fetchmail
#: field:fetchmail.server,message_ids:0
@ -214,7 +223,7 @@ msgstr "Messages"
#. module: fetchmail
#: view:fetchmail.server:0
msgid "Search Incoming Mail Servers"
msgstr ""
msgstr "Search Incoming Mail Servers"
#. module: fetchmail
#: field:fetchmail.server,active:0
@ -227,11 +236,13 @@ msgid ""
"Whether attachments should be downloaded. If not enabled, incoming emails "
"will be stripped of any attachments before being processed"
msgstr ""
"Whether attachments should be downloaded. If not enabled, incoming emails "
"will be stripped of attachments before processing"
#. module: fetchmail
#: view:fetchmail.server:0
msgid "Advanced options"
msgstr ""
msgstr "Advanced options"
#. module: fetchmail
#: selection:fetchmail.server,type:0
@ -246,7 +257,7 @@ msgstr "IMAP"
#. module: fetchmail
#: view:fetchmail.server:0
msgid "Server type POP."
msgstr ""
msgstr "Server type POP."
#. module: fetchmail
#: field:fetchmail.server,password:0
@ -256,7 +267,7 @@ msgstr "Password"
#. module: fetchmail
#: view:fetchmail.server:0
msgid "Actions to Perform on Incoming Mails"
msgstr ""
msgstr "Actions to Perform on Incoming Mails"
#. module: fetchmail
#: field:fetchmail.server,type:0
@ -276,12 +287,12 @@ msgstr "Server Information"
#. module: fetchmail
#: view:fetchmail.server:0
msgid "If SSL required."
msgstr ""
msgstr "If SSL required."
#. module: fetchmail
#: view:fetchmail.server:0
msgid "Advanced"
msgstr ""
msgstr "Advanced"
#. module: fetchmail
#: view:fetchmail.server:0
@ -295,11 +306,14 @@ msgid ""
"document type. This will create new documents for new conversations, or "
"attach follow-up emails to the existing conversations (documents)."
msgstr ""
"Process each incoming mail as part of a conversation corresponding to this "
"document type. This will create new documents for new conversations, or "
"attach follow-up emails to the existing conversations (documents)."
#. module: fetchmail
#: field:fetchmail.server,object_id:0
msgid "Create a New Record"
msgstr ""
msgstr "Create a New Record"
#. module: fetchmail
#: selection:fetchmail.server,state:0

View File

@ -0,0 +1,32 @@
# French translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
"PO-Revision-Date: 2012-02-24 22:39+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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: 2012-02-25 05:13+0000\n"
"X-Generator: Launchpad (build 14860)\n"
#. module: fetchmail_project_issue
#: model:ir.actions.act_window,name:fetchmail_project_issue.action_link_issue_to_email_account
msgid "Create Issues from Email Account"
msgstr ""
#. module: fetchmail_project_issue
#: model:ir.actions.act_window,help:fetchmail_project_issue.action_link_issue_to_email_account
msgid ""
"You can connect your email account with issues in OpenERP. A new email sent "
"to this account (example: support@mycompany.com) will automatically create "
"an issue. The whole communication will be attached to the issue "
"automatically."
msgstr ""

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2012-02-10 07:10+0000\n"
"Last-Translator: Jeff Wang <wjfonhand@hotmail.com>\n"
"PO-Revision-Date: 2012-02-28 02:39+0000\n"
"Last-Translator: Wei \"oldrev\" Li <oldrev@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-11 05:09+0000\n"
"X-Generator: Launchpad (build 14771)\n"
"X-Launchpad-Export-Date: 2012-02-28 05:47+0000\n"
"X-Generator: Launchpad (build 14874)\n"
#. module: hr
#: model:process.node,name:hr.process_node_openerpuser0
@ -278,7 +278,7 @@ msgstr "预期员工数"
#. module: hr
#: selection:hr.employee,marital:0
msgid "Divorced"
msgstr "离"
msgstr "离"
#. module: hr
#: field:hr.employee.category,parent_id:0
@ -680,7 +680,7 @@ msgstr "经理"
#. module: hr
#: selection:hr.employee,marital:0
msgid "Widower"
msgstr "离婚男子"
msgstr "配偶已去世"
#. module: hr
#: field:hr.employee,child_ids:0

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 00:36+0000\n"
"PO-Revision-Date: 2012-02-13 11:41+0000\n"
"Last-Translator: Rafael Sales - http://www.tompast.com.br <Unknown>\n"
"PO-Revision-Date: 2012-02-26 22:43+0000\n"
"Last-Translator: Emerson <Unknown>\n"
"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-14 05:45+0000\n"
"X-Generator: Launchpad (build 14781)\n"
"X-Launchpad-Export-Date: 2012-02-27 04:52+0000\n"
"X-Generator: Launchpad (build 14868)\n"
#. module: hr_payroll_account
#: field:hr.payslip,move_id:0
@ -25,7 +25,7 @@ msgstr ""
#. module: hr_payroll_account
#: field:hr.salary.rule,account_tax_id:0
msgid "Tax Code"
msgstr ""
msgstr "Código da Taxa"
#. module: hr_payroll_account
#: field:hr.payslip,journal_id:0
@ -49,12 +49,12 @@ msgstr "Conta Analítica"
#. module: hr_payroll_account
#: model:ir.model,name:hr_payroll_account.model_hr_salary_rule
msgid "hr.salary.rule"
msgstr ""
msgstr "hr.salary.rule"
#. module: hr_payroll_account
#: model:ir.model,name:hr_payroll_account.model_hr_payslip_run
msgid "Payslip Batches"
msgstr ""
msgstr "Lotes de Holerite"
#. module: hr_payroll_account
#: field:hr.contract,journal_id:0
@ -69,7 +69,7 @@ msgstr "Holerite"
#. module: hr_payroll_account
#: constraint:hr.payslip:0
msgid "Payslip 'Date From' must be before 'Date To'."
msgstr ""
msgstr "' Data de' contra cheque deve ser antes de 'Data para'"
#. module: hr_payroll_account
#: help:hr.payslip,period_id:0

View File

@ -42,7 +42,6 @@ reports, etc.""",
'hr_timesheet_invoice_report.xml',
'report/report_analytic_view.xml',
'report/hr_timesheet_invoice_report_view.xml',
'wizard/hr_timesheet_invoice_analytic_cost_ledger_view.xml',
'wizard/hr_timesheet_analytic_profit_view.xml',
'wizard/hr_timesheet_invoice_create_view.xml',
'wizard/hr_timesheet_invoice_create_final_view.xml',

View File

@ -1,8 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<report auto="False" id="account_analytic_account_cost_ledger" menu="False" model="account.analytic.account" name="hr.timesheet.invoice.account.analytic.account.cost_ledger" rml="account/project/report/cost_ledger.rml" string="Cost Ledger"/>
<report
auto="False"
id="report_analytical_profit"

View File

@ -19,7 +19,6 @@
#
##############################################################################
import cost_ledger
import account_analytic_profit
import report_analytic
import hr_timesheet_invoice_report

View File

@ -1,174 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import pooler
import time
from report import report_sxw
class account_analytic_cost_ledger(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
super(account_analytic_cost_ledger, self).__init__(cr, uid, name, context=context)
self.sum_revenue={}
self.account_sum_revenue={}
self.localcontext.update( {
'time': time,
'lines_g': self._lines_g,
'lines_a': self._lines_a,
'account_sum_debit': self._account_sum_debit,
'account_sum_credit': self._account_sum_credit,
'account_sum_balance': self._account_sum_balance,
'account_sum_qty': self._account_sum_qty,
'account_sum_revenue': self._account_sum_revenue,
'account_g_sum_revenue': self._account_g_sum_revenue,
'sum_debit': self._sum_debit,
'sum_credit': self._sum_credit,
'sum_balance': self._sum_balance,
'sum_qty': self._sum_qty,
'sum_revenue': self._sum_revenue,
})
def _lines_g(self, account_id, date1, date2):
self.cr.execute("SELECT sum(aal.amount) AS balance, aa.code AS code, aa.name AS name, aa.id AS id, sum(aal.unit_amount) AS quantity \
FROM account_account AS aa, account_analytic_line AS aal \
WHERE (aal.account_id=%s) AND (aal.date>=%s) AND (aal.date<=%s) AND (aal.general_account_id=aa.id) AND aa.active \
GROUP BY aa.code, aa.name, aa.id ORDER BY aa.code", (account_id, date1, date2))
res = self.cr.dictfetchall()
for r in res:
if r['balance'] > 0:
r['debit'] = r['balance']
r['credit'] = 0.0
elif r['balance'] < 0:
r['debit'] = 0.0
r['credit'] = -r['balance']
else:
r['debit'] = 0.0
r['credit'] = 0.0
return res
def _lines_a(self, general_account_id, account_id, date1, date2):
self.cr.execute("SELECT aal.id AS id, aal.name AS name, aal.code AS code, aal.amount AS balance, aal.date AS date, aaj.code AS cj, aal.unit_amount AS quantity \
FROM account_analytic_line AS aal, account_analytic_journal AS aaj \
WHERE (aal.general_account_id=%s) AND (aal.account_id=%s) AND (aal.date>=%s) AND (aal.date<=%s) \
AND (aal.journal_id=aaj.id) \
ORDER BY aal.date, aaj.code, aal.code", (general_account_id, account_id, date1, date2))
res = self.cr.dictfetchall()
line_obj = self.pool.get('account.analytic.line')
price_obj = self.pool.get('product.pricelist')
lines = {}
for l in line_obj.browse(self.cr, self.uid, [ x['id'] for x in res]):
lines[l.id] = l
if not account_id in self.sum_revenue:
self.sum_revenue[account_id] = 0.0
if not general_account_id in self.account_sum_revenue:
self.account_sum_revenue[general_account_id] = 0.0
for r in res:
id = r['id']
revenue = 0.0
if lines[id].amount < 0 and lines[id].product_id and lines[id].product_uom_id and lines[id].account_id.pricelist_id:
ctx = {'uom': lines[id].product_uom_id.id}
price = price_obj.price_get(self.cr, self.uid, [lines[id].account_id.pricelist_id.id], lines[id].product_id.id, lines[id].unit_amount, False, context=ctx)[lines[id].account_id.pricelist_id.id]
revenue = round(price * lines[id].unit_amount, 2)
r['revenue'] = revenue
self.sum_revenue[account_id] += revenue
self.account_sum_revenue[general_account_id] += revenue
if r['balance'] > 0:
r['debit'] = r['balance']
r['credit'] = 0.0
elif r['balance'] < 0:
r['debit'] = 0.0
r['credit'] = -r['balance']
else:
r['debit'] = 0.0
r['credit'] = 0.0
return res
def _account_sum_debit(self, account_id, date1, date2):
self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id=%s AND date>=%s AND date<=%s AND amount>0", (account_id, date1, date2))
return self.cr.fetchone()[0] or 0.0
def _account_sum_credit(self, account_id, date1, date2):
self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id=%s AND date>=%s AND date<=%s AND amount<0", (account_id, date1, date2))
return self.cr.fetchone()[0] or 0.0
def _account_sum_balance(self, account_id, date1, date2):
debit = self._account_sum_debit(account_id, date1, date2)
credit = self._account_sum_credit(account_id, date1, date2)
return (debit-credit)
def _account_sum_qty(self, account_id, date1, date2):
self.cr.execute("SELECT sum(unit_amount) FROM account_analytic_line WHERE account_id=%s AND date>=%s AND date<=%s", (account_id, date1, date2))
return self.cr.fetchone()[0] or 0.0
def _account_sum_revenue(self, account_id):
return self.sum_revenue.get(account_id, 0.0)
def _account_g_sum_revenue(self, general_account_id):
return self.account_sum_revenue.get(general_account_id, 0.0)
def _sum_debit(self, accounts, date1, date2):
ids = map(lambda x: x.id, accounts)
if not ids:
return 0.0
self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id =ANY(%s) AND date>=%s AND date<=%s AND amount>0", (ids,date1, date2))
return self.cr.fetchone()[0] or 0.0
def _sum_credit(self, accounts, date1, date2):
ids = map(lambda x: x.id, accounts)
if not ids:
return 0.0
ids = map(lambda x: x.id, accounts)
self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id =ANY(%s) AND date>=%s AND date<=%s AND amount<0", (ids, date1, date2))
return self.cr.fetchone()[0] or 0.0
def _sum_balance(self, accounts, date1, date2):
debit = self._sum_debit(accounts, date1, date2) or 0.0
credit = self._sum_credit(accounts, date1, date2) or 0.0
return (debit-credit)
def _sum_qty(self, accounts, date1, date2):
ids = map(lambda x: x.id, accounts)
if not ids:
return 0.0
ids = map(lambda x: x.id, accounts)
self.cr.execute("SELECT sum(unit_amount) FROM account_analytic_line WHERE account_id =ANY(%s) AND date>=%s AND date<=%s", (ids,date1, date2))
return self.cr.fetchone()[0] or 0.0
def _sum_revenue(self, accounts):
ids = map(lambda x: x.id, accounts)
if not ids:
return 0.0
res = 0.0
for id in ids:
res += self.sum_revenue.get(id, 0.0)
return res
report_sxw.report_sxw(
'report.hr.timesheet.invoice.account.analytic.account.cost_ledger',
'account.analytic.account',
'addons/hr_timesheet_invoice/report/cost_ledger.rml',
parser=account_analytic_cost_ledger, header='internal')
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,404 +0,0 @@
<?xml version="1.0"?>
<document filename="test.pdf">
<template title="Cost Ledger" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="57.0" y1="57.0" width="481" height="728"/>
</pageTemplate>
</template>
<stylesheet>
<blockTableStyle id="Standard_Outline">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table_main_header">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<blockBackground colorName="#ffffff" start="0,0" stop="0,-1"/>
<blockBackground colorName="#ffffff" start="1,0" stop="1,-1"/>
<blockBackground colorName="#ffffff" start="2,0" stop="2,-1"/>
</blockTableStyle>
<blockTableStyle id="Table_period_date_header">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="0,0" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,0" stop="0,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="1,0" stop="1,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,0" stop="1,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="2,0" stop="2,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="2,0" stop="2,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
<lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="3,0" stop="3,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
</blockTableStyle>
<blockTableStyle id="Table_period_date_content">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="0,0" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,0" stop="0,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="1,0" stop="1,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,0" stop="1,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="2,0" stop="2,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="2,0" stop="2,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
<lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="3,0" stop="3,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
</blockTableStyle>
<blockTableStyle id="Table_account_detail_header">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="4,-1" stop="4,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="5,-1" stop="5,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="6,-1" stop="6,-1"/>
</blockTableStyle>
<blockTableStyle id="Table_account_code_name">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<blockBackground colorName="#ffffff" start="0,0" stop="0,-1"/>
</blockTableStyle>
<blockTableStyle id="Table1">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="5,-1" stop="5,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="6,-1" stop="6,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="7,-1" stop="7,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="8,-1" stop="8,-1"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="9,0" stop="9,0"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="9,-1" stop="9,-1"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="10,0" stop="10,0"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="10,-1" stop="10,-1"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="11,0" stop="11,0"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="11,-1" stop="11,-1"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="12,0" stop="12,0"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="12,-1" stop="12,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="5,-1" stop="5,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="6,-1" stop="6,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="7,-1" stop="7,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="5,-1" stop="5,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="6,-1" stop="6,-1"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="0,3" stop="0,3"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="1,3" stop="1,3"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="2,3" stop="2,3"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="3,3" stop="3,3"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="3,-1" stop="3,-1"/>
</blockTableStyle>
<blockTableStyle id="Table4">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="5,-1" stop="5,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="6,-1" stop="6,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="7,-1" stop="7,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="5,-1" stop="5,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="6,-1" stop="6,-1"/>
</blockTableStyle>
<blockTableStyle id="Table_move_content">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="5,-1" stop="5,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="6,-1" stop="6,-1"/>
</blockTableStyle>
<blockTableStyle id="Table_move_repeat">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="0,0" stop="0,0"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="1,0" stop="1,0"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="2,0" stop="2,0"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="3,0" stop="3,0"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="3,-1" stop="3,-1"/>
</blockTableStyle>
<blockTableStyle id="Table_account_code_total">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<blockBackground colorName="#ffffff" start="0,0" stop="0,-1"/>
<blockBackground colorName="#ffffff" start="1,0" stop="1,-1"/>
<blockBackground colorName="#ffffff" start="2,0" stop="2,-1"/>
<blockBackground colorName="#ffffff" start="3,0" stop="3,-1"/>
</blockTableStyle>
<blockTableStyle id="Table_account_total">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<initialize>
<paraStyle name="all" alignment="justify"/>
</initialize>
<paraStyle name="Standard" fontName="Times-Roman"/>
<paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="List" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Table Contents" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="Caption" fontName="Times-Roman" fontSize="10.0" leading="13" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="Index" fontName="Times-Roman"/>
<paraStyle name="Heading" fontName="Helvetica" fontSize="15.0" leading="19" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="Footer" fontName="Times-Roman"/>
<paraStyle name="Horizontal Line" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/>
<paraStyle name="terp_header" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="Heading 9" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_default_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Bold_8" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_General_Right" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_Details_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_header_Centre" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="CENTER" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_default_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Centre_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_bold_right_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_bold_8_20" rightIndent="0.0" leftIndent="-6.0" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_bold_9_20" rightIndent="0.0" leftIndent="-6.0" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_bold_9_10" rightIndent="0.0" leftIndent="-3.0" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_bold_8_10" rightIndent="0.0" leftIndent="-3.0" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
</stylesheet>
<images/>
<story>
<blockTable colWidths="161.0,161.0,161.0" repeatRows="1" style="Table_main_header">
<tr>
<td>
<para style="terp_default_8">[[ company.name ]]</para>
</td>
<td>
<para style="terp_header_Centre">Cost Ledger</para>
</td>
<td>
<para style="terp_default_8">
<font color="white"> </font>
</para>
<para style="terp_default_8">
<font color="white"> </font>
</para>
</td>
</tr>
</blockTable>
<para style="terp_default_8">
<font color="white"> </font>
</para>
<para style="terp_default_8">
<font color="white"> </font>
</para>
<blockTable colWidths="120.0,120.0,120.0,121.0" style="Table_period_date_header">
<tr>
<td>
<para style="terp_tblheader_General_Centre">Period from startdate</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Period to enddate</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Currency</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Printing date</para>
</td>
</tr>
</blockTable>
<blockTable colWidths="120.0,120.0,120.0,121.0" style="Table_period_date_content">
<tr>
<td>
<para style="terp_default_Centre_8">[[ data['form']['date1'] ]]</para>
</td>
<td>
<para style="terp_default_Centre_8">[[ data['form']['date2'] ]]</para>
</td>
<td>
<para style="terp_default_Centre_8">[[ company.currency_id.name ]]</para>
</td>
<td>
<para style="terp_default_Centre_8">[[ time.strftime('%Y-%m-%d') ]] at [[ time.strftime('%H:%M:%S') ]]</para>
</td>
</tr>
</blockTable>
<para style="terp_default_8">
<font color="white"> </font>
</para>
<para style="terp_default_Centre_8">
<font color="white"> </font>
</para>
<blockTable colWidths="54.0,29.0,42.0,184.0,57.0,57.0,57.0" style="Table_account_detail_header">
<tr>
<td>
<para style="terp_tblheader_Details_Centre">Date</para>
</td>
<td>
<para style="terp_tblheader_Details_Centre">J.C.</para>
</td>
<td>
<para style="terp_tblheader_Details_Centre">Code</para>
</td>
<td>
<para style="terp_tblheader_Details_Centre">Move name</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Debit </para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Credit</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Balance</para>
</td>
</tr>
</blockTable>
<para style="terp_default_8">
<font color="white"> </font>
</para>
<para style="terp_default_8">[[ repeatIn(objects,'o') ]]</para>
<section>
<blockTable colWidths="481.0" style="Table_account_code_name">
<tr>
<td>
<para style="terp_default_bold_9_20">[[ o.code ]] [[ o.complete_name ]]</para>
</td>
</tr>
</blockTable>
<para style="terp_default_8">
<font color="white"> </font>
</para>
<section>
<blockTable colWidths="482.0" style="Table1">
<tr>
<td>
<para style="terp_default_8">[[ repeatIn(lines_g(o.id,data['form']['date1'],data['form']['date2']),'move_g') ]]</para>
<blockTable colWidths="471.0" style="Table4">
<tr>
<td>
<para style="terp_default_bold_8_10">[[ move_g['code'] ]] [[ move_g['name'] ]]</para>
<para style="terp_default_8">
<font color="white"> </font>
</para>
<blockTable colWidths="38.0,34.0,41.0,192.0,51.0,57.0,54.0" style="Table_move_content">
<tr>
<td>
<para style="terp_default_Centre_9">[[ repeatIn(lines_a(move_g['id'],o.id,data['form']['date1'],data['form']['date2']),'move_a') ]]</para>
<para style="terp_default_Centre_9">[[ move_a['date'] ]]</para>
</td>
<td>
<para style="terp_default_Centre_9">[[ move_a['cj'] ]]</para>
</td>
<td>
<para style="terp_default_Centre_9">[[ move_a['code'] ]]</para>
</td>
<td>
<para style="terp_default_Centre_9">[[ move_a['name'] ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ '%.2f' % move_a['debit'] ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ '%.2f' % move_a['credit'] ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ '%.2f' % move_a['balance'] ]]</para>
</td>
</tr>
</blockTable>
</td>
</tr>
</blockTable>
<blockTable colWidths="310.0,52.0,57.0,57.0" style="Table_move_repeat">
<tr>
<td>
<para style="terp_default_bold_9_10">Total ([[ move_g['code'] ]])</para>
</td>
<td>
<para style="terp_default_bold_right_9">[[ '%.2f' % move_g['debit'] ]]</para>
</td>
<td>
<para style="terp_default_bold_right_9">[[ '%.2f' % move_g['credit'] ]]</para>
</td>
<td>
<para style="terp_default_bold_right_9">[[ '%.2f' % move_g['balance'] ]]</para>
</td>
</tr>
</blockTable>
</td>
</tr>
</blockTable>
</section>
<blockTable colWidths="312.0,57.0,57.0,56.0" style="Table_account_code_total">
<tr>
<td>
<para style="terp_default_bold_9_10">Total ([[ o.code ]])</para>
</td>
<td>
<para style="terp_default_bold_right_9">[[ '%.2f' % (account_sum_debit(o.id,data['form']['date1'],data['form']['date2']) or 0.0) ]]</para>
</td>
<td>
<para style="terp_default_bold_right_9">[[ '%.2f' % (account_sum_credit(o.id,data['form']['date1'],data['form']['date2']) or 0.0) ]]</para>
</td>
<td>
<para style="terp_default_bold_right_9">[[ '%.2f' % (account_sum_balance(o.id,data['form']['date1'],data['form']['date2']) or 0.0)]]</para>
</td>
</tr>
</blockTable>
</section>
<blockTable colWidths="311.0,59.0,56.0,57.0" style="Table_account_total">
<tr>
<td>
<para style="terp_default_bold_9_10">Total</para>
</td>
<td>
<para style="terp_default_bold_right_9">[[ '%.2f' % (sum_debit(objects,data['form']['date1'],data['form']['date2']) or 0.0) ]]</para>
</td>
<td>
<para style="terp_default_bold_right_9">[[ '%.2f' % (sum_credit(objects,data['form']['date1'],data['form']['date2']) or 0.0) ]]</para>
</td>
<td>
<para style="terp_default_bold_right_9">[[ '%.2f' % (sum_balance(objects,data['form']['date1'],data['form']['date2']) or 0.0) ]]</para>
</td>
</tr>
</blockTable>
<para style="terp_default_8">
<font color="white"> </font>
</para>
</story>
</document>

View File

@ -7,14 +7,3 @@
(data, format) = netsvc.LocalService('report.account.analytic.profit').create(cr, uid, [], data_dict, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'hr_timesheet_invoice-account_analytic_profit_report.'+format), 'wb+').write(data)
-
Print the HR Cost Ledger report through the wizard
-
!python {model: account.analytic.account}: |
import netsvc, tools, os, time
ctx={}
acc_ids = [ref('account.analytic_absences'),ref('account.analytic_internal'),ref('account.analytic_sednacom'),ref('account.analytic_thymbra'),ref('account.analytic_partners_camp_to_camp')]
ctx.update({'model': 'ir.ui.menu','active_ids': acc_ids})
data_dict = {'date1': time.strftime('%Y-01-01'), 'date2': time.strftime('%Y-%m-%d')}
from tools import test_reports
test_reports.try_report_action(cr, uid, 'action_hr_timesheet_invoice_cost_ledger',wiz_data=data_dict, context=ctx, our_module='hr_timesheet_invoice')

View File

@ -22,7 +22,6 @@
import hr_timesheet_invoice_create
import hr_timesheet_analytic_profit
import hr_timesheet_final_invoice_create
import hr_timesheet_analytic_cost_ledger_report
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,52 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import time
from osv import osv, fields
class hr_timesheet_analytic_cost_ledger(osv.osv_memory):
_name = 'hr.timesheet.analytic.cost.ledger'
_description = 'hr.timesheet.analytic.cost.ledger'
_columns = {
'date1': fields.date('Start of period', required=True),
'date2': fields.date('End of period', required=True)
}
_defaults = {
'date1': lambda *a: time.strftime('%Y-01-01'),
'date2': lambda *a: time.strftime('%Y-%m-%d')
}
def print_report(self, cr, uid, ids, context=None):
if context is None:
context = {}
datas = {
'ids': 'active_ids' in context and context['active_ids'] or [],
'model': 'account.analytic.account',
'form': self.read(cr, uid, ids, context=context)[0]
}
return {
'type': 'ir.actions.report.xml',
'report_name': 'hr.timesheet.invoice.account.analytic.account.cost_ledger',
'datas': datas,
}
hr_timesheet_analytic_cost_ledger()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,34 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_hr_timesheet_invoice_cost_ledger" model="ir.ui.view">
<field name="name">Cost Ledger</field>
<field name="model">hr.timesheet.analytic.cost.ledger</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Select Period">
<group col="4" colspan="6">
<field name="date1"/>
<field name="date2"/>
</group>
<separator colspan="4"/>
<group col="2" colspan="4">
<button special="cancel" string="Cancel" icon='gtk-cancel'/>
<button name="print_report" string="Print" colspan="1" type="object" icon="STOCK_PRINT"/>
</group>
</form>
</field>
</record>
<record id="action_hr_timesheet_invoice_cost_ledger" model="ir.actions.act_window">
<field name="name">Cost Ledger</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">hr.timesheet.analytic.cost.ledger</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
</data>
</openerp>

View File

@ -0,0 +1,105 @@
# Polish translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
"PO-Revision-Date: 2012-02-25 20:41+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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: 2012-02-26 04:55+0000\n"
"X-Generator: Launchpad (build 14860)\n"
#. module: import_base
#: code:addons/import_base/import_framework.py:434
#, python-format
msgid "Import failed due to an unexpected error"
msgstr "Import nieudany z nieznanego powodu"
#. module: import_base
#: code:addons/import_base/import_framework.py:461
#, python-format
msgid "started at %s and finished at %s \n"
msgstr "rozpoczęty %s i zakończony %s \n"
#. module: import_base
#: code:addons/import_base/import_framework.py:448
#, python-format
msgid "Import of your data finished at %s"
msgstr "Import danych zakończony o %s"
#. module: import_base
#: code:addons/import_base/import_framework.py:463
#, python-format
msgid ""
"but failed, in consequence no data were imported to keep database "
"consistency \n"
" error : \n"
msgstr ""
"ale nieudany, w konsekwencji żadne dane nie zostały zaimportowane, aby "
"utrzymać spójność bazy danych \n"
" błąd : \n"
#. module: import_base
#: code:addons/import_base/import_framework.py:477
#, python-format
msgid ""
"The import of data \n"
" instance name : %s \n"
msgstr ""
"Import danych \n"
" nazwa instancji : %s \n"
#. module: import_base
#: code:addons/import_base/import_framework.py:470
#, python-format
msgid "%s has been successfully imported from %s %s, %s \n"
msgstr "%s zostało poprawnie zaimportowanych z %s %s, %s \n"
#. module: import_base
#: code:addons/import_base/import_framework.py:447
#, python-format
msgid "Data Import failed at %s due to an unexpected error"
msgstr "Import danych nie powiódł się o %s z nieznanego powodu"
#. module: import_base
#: code:addons/import_base/import_framework.py:436
#, python-format
msgid "Import finished, notification email sended"
msgstr "Import zakończony, mail informacyjny wysłany"
#. module: import_base
#: code:addons/import_base/import_framework.py:190
#, python-format
msgid "%s is not a valid model name"
msgstr "%s nie jest dozwoloną nazwą modelu"
#. module: import_base
#: model:ir.ui.menu,name:import_base.menu_import_crm
msgid "Import"
msgstr "Importuj"
#. module: import_base
#: code:addons/import_base/import_framework.py:467
#, python-format
msgid "with no warning"
msgstr "bez ostrzeżeń"
#. module: import_base
#: code:addons/import_base/import_framework.py:469
#, python-format
msgid "with warning : %s"
msgstr "z ostrzeżeniami : %s"
#. module: import_base
#: code:addons/import_base/import_framework.py:191
#, python-format
msgid " fields imported : "
msgstr " zaimportowane pola : "

View File

@ -0,0 +1,72 @@
# Polish translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:37+0000\n"
"PO-Revision-Date: 2012-02-25 20:46+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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: 2012-02-26 04:55+0000\n"
"X-Generator: Launchpad (build 14860)\n"
#. module: purchase_double_validation
#: view:purchase.double.validation.installer:0
msgid "Purchase Application Configuration"
msgstr "Konfiguracja aplikacji zakupów"
#. module: purchase_double_validation
#: view:purchase.double.validation.installer:0
msgid "Define minimum amount after which puchase is needed to be validated."
msgstr ""
"Definiuj wartość minimalną, powyżej której zakup musi być dodatkowo "
"aprobowany."
#. module: purchase_double_validation
#: view:purchase.double.validation.installer:0
msgid "title"
msgstr ""
#. module: purchase_double_validation
#: field:purchase.double.validation.installer,config_logo:0
msgid "Image"
msgstr "Obraz"
#. module: purchase_double_validation
#: model:ir.actions.act_window,name:purchase_double_validation.action_config_purchase_limit_amount
#: view:purchase.double.validation.installer:0
msgid "Configure Limit Amount for Purchase"
msgstr "Konfiguruj kwotę limitu zakupów"
#. module: purchase_double_validation
#: view:board.board:0
#: model:ir.actions.act_window,name:purchase_double_validation.purchase_waiting
msgid "Purchase Order Waiting Approval"
msgstr "Zamówienia zakupu oczekujące na aprobowanie"
#. module: purchase_double_validation
#: view:purchase.double.validation.installer:0
msgid "res_config_contents"
msgstr ""
#. module: purchase_double_validation
#: help:purchase.double.validation.installer,limit_amount:0
msgid "Maximum amount after which validation of purchase is required."
msgstr "Maksymalna kwota, powyżej której zatwierdzanie jest wymagane."
#. module: purchase_double_validation
#: model:ir.model,name:purchase_double_validation.model_purchase_double_validation_installer
msgid "purchase.double.validation.installer"
msgstr ""
#. module: purchase_double_validation
#: field:purchase.double.validation.installer,limit_amount:0
msgid "Maximum Purchase Amount"
msgstr "Maksymalna kwota zakupu"