bzr revid: uco@tinyerp.com-20100715043700-kuh0x3c93m8gp5cw
This commit is contained in:
uco 2010-07-15 10:07:00 +05:30
commit d6a635107c
338 changed files with 9301 additions and 6718 deletions

View File

@ -1746,7 +1746,12 @@ class account_tax(osv.osv):
tin = self.compute_inv(cr, uid, tin, price_unit, quantity, address_id=address_id, product=product, partner=partner)
for r in tin:
totalex -= r['amount']
tex = self._compute(cr, uid, tex, totalex/quantity, quantity, address_id=address_id, product=product, partner=partner)
totlex_qty=0.0
try:
totlex_qty=totalex/quantity
except:
pass
tex = self._compute(cr, uid, tex, totlex_qty, quantity, address_id=address_id, product=product, partner=partner)
for r in tex:
totalin += r['amount']
return {

View File

@ -183,7 +183,7 @@ class account_cash_statement(osv.osv):
('open','Open')], 'State', required=True, states={'confirm': [('readonly', True)]}, readonly="1"),
'total_entry_encoding':fields.function(_get_sum_entry_encoding, method=True, store=True, string="Cash Transaction", help="Total cash transactions"),
'closing_date':fields.datetime("Closed On"),
'balance_end': fields.function(_end_balance, method=True, store=True, string='Balance', help="Closing balance based on Opening Balance and Transactions"),
'balance_end': fields.function(_end_balance, method=True, store=True, string='Balance', help="Closing balance based on Starting Balance and Cash Transactions"),
'balance_end_cash': fields.function(_balance_end_cash, method=True, store=True, string='Balance', help="Closing balance based on cashBox"),
'starting_details_ids': fields.one2many('account.cashbox.line', 'starting_id', string='Opening Cashbox'),
'ending_details_ids': fields.one2many('account.cashbox.line', 'ending_id', string='Closing Cashbox'),

View File

@ -147,7 +147,7 @@
<field name="number" readonly="1"/>
<field name="type" invisible="1"/>
<field name="currency_id" domain="[('company_id','=', company_id)]" on_change="onchange_currency_id(currency_id, company_id)" width="50"/>
<button name="%(action_account_change_currency)d" type="action" icon="gtk-apply" string="Change"/>
<button name="%(action_account_change_currency)d" type="action" icon="terp-stock_effects-object-colorize" string="Change"/>
<newline/>
<field name="partner_id" domain="[('supplier','=', 1)]" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank,company_id)" context="{'default_customer': 0}"/>
<field domain="[('partner_id','=',partner_id)]" name="address_invoice_id"/>
@ -202,7 +202,7 @@
<field name="state"/>
<field name="residual"/>
<group col="3" colspan="4">
<button name="invoice_open" states="draft,proforma2" string="Validate" icon="terp-camera_test"/>
<button name="invoice_open" states="draft,proforma2" string="Approve" icon="terp-camera_test"/>
<button name="%(action_account_invoice_pay)d" type='action' string='Pay Invoice' states='open' icon="gtk-ok"/>
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="terp-gtk-stop"/>
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="terp-stock_effects-object-colorize"/>

View File

@ -42,7 +42,7 @@ write({'state':'open'})</field>
</record>
<record model="workflow.activity" id="act_open_test">
<field name="wkf_id" ref="wkf"/>
<field name="name">open</field>
<field name="name">re-open</field>
<field name="action">write({'state':'open'})</field>
<field name="kind">function</field>
</record>
@ -124,7 +124,15 @@ write({'state':'cancel'})</field>
<field name="act_to" ref="act_cancel"/>
<field name="signal">invoice_cancel</field>
</record>
<record id="open_test_to_paid" model="workflow.transition">
<field name="act_from" ref="act_open_test"/>
<field name="act_to" ref="act_paid"/>
<field name="trigger_model">account.move.line</field>
<field name="trigger_expr_id">move_line_id_payment_get()</field>
<field name="condition">test_paid()</field>
</record>
<record id="draft_to_pro2" model="workflow.transition">
<field name="act_from" ref="account.act_draft"/>
<field name="act_to" ref="act_proforma2"/>

View File

@ -482,7 +482,6 @@ class account_move_line(osv.osv):
cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = \'account_move_line_journal_id_period_id_index\'')
if not cr.fetchone():
cr.execute('CREATE INDEX account_move_line_journal_id_period_id_index ON account_move_line (journal_id, period_id)')
cr.commit()
def _check_no_view(self, cr, uid, ids):
lines = self.browse(cr, uid, ids)
@ -675,6 +674,7 @@ class account_move_line(osv.osv):
account_id = line['account_id']['id']
partner_id = (line['partner_id'] and line['partner_id']['id']) or False
writeoff = debit - credit
# Ifdate_p in context => take this date
if context.has_key('date_p') and context['date_p']:
date=context['date_p']
@ -797,7 +797,7 @@ class account_move_line(osv.osv):
title = self.view_header_get(cr, uid, view_id, view_type, context)
xml = '''<?xml version="1.0"?>\n<tree string="%s" editable="top" refresh="5" on_write="on_create_write">\n\t''' % (title)
journal_pool = self.pool.get('account.journal')
ids = journal_pool.search(cr, uid, [])
journals = journal_pool.browse(cr, uid, ids)
all_journal = [None]
@ -814,14 +814,14 @@ class account_move_line(osv.osv):
else:
fields.get(field.field).append(journal.id)
common_fields[field.field] = common_fields[field.field] + 1
fld.append(('period_id', 3))
fld.append(('journal_id', 10))
flds.append('period_id')
flds.append('journal_id')
fields['period_id'] = all_journal
fields['journal_id'] = all_journal
from operator import itemgetter
fld = sorted(fld, key=itemgetter(1))
@ -835,13 +835,13 @@ class account_move_line(osv.osv):
for field_it in fld:
field = field_it[0]
if common_fields.get(field) == total:
fields.get(field).append(None)
if field=='state':
state = 'colors="red:state==\'draft\'"'
attrs = []
if field == 'debit':
attrs.append('sum="Total debit"')
@ -864,7 +864,7 @@ class account_move_line(osv.osv):
if field in widths:
attrs.append('width="'+str(widths[field])+'"')
attrs.append("invisible=\"context.get('visible_id') not in %s\"" % (fields.get(field)))
xml += '''<field name="%s" %s/>\n''' % (field,' '.join(attrs))
@ -914,7 +914,7 @@ class account_move_line(osv.osv):
journal = self.pool.get('account.journal').browse(cr, uid, [journal_id])[0]
if journal.allow_date and period_id:
period = self.pool.get('account.period').browse(cr, uid, [period_id])[0]
if not time.strptime(vals['date'],'%Y-%m-%d')>=time.strptime(period.date_start,'%Y-%m-%d') or not time.strptime(vals['date'],'%Y-%m-%d')<=time.strptime(period.date_stop,'%Y-%m-%d'):
if not time.strptime(vals['date'][:10],'%Y-%m-%d')>=time.strptime(period.date_start,'%Y-%m-%d') or not time.strptime(vals['date'][:10],'%Y-%m-%d')<=time.strptime(period.date_stop,'%Y-%m-%d'):
raise osv.except_osv(_('Error'),_('The date of your Ledger Posting is not in the defined period !'))
else:
return True

View File

@ -52,6 +52,8 @@
<!-- writeoff_acc_id = --> <value eval="ref('cash')"/>
<!-- writeoff_period_id = --> <value eval="ref('account.period_' + str(int(time.strftime('%m'))))"/>
<!-- writeoff_journal_id = --> <value eval="ref('bank_journal')"/>
<!-- context = --> <value eval="{}"/>
<!-- name = --> <value eval="str('Payment from ASUStek')"/>
</function>
<assert id="test_invoice_1" model="account.invoice" string="Test invoice 1 is now paid">

View File

@ -196,13 +196,33 @@
</search>
</field>
</record>
<record id="view_account_list" model="ir.ui.view">
<field name="name">account.account.list</field>
<field name="model">account.account</field>
<field name="type">tree</field>
<field name="field_parent">child_id</field>
<field name="arch" type="xml">
<tree string="Chart of accounts" toolbar="1" colors="blue:type in ('view');black:type not in ('view')">
<field name="code"/>
<field name="name"/>
<field name="user_type" invisible="1"/>
<field name="debit"/>
<field name="credit"/>
<field name="balance"/>
<field name="type"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="company_currency_id"/>
</tree>
</field>
</record>
<record id="action_account_form" model="ir.actions.act_window">
<field name="name">Accounts</field>
<field name="res_model">account.account</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,graph</field>
<field name="search_view_id" ref="view_account_search"/>
<field name="view_id" ref="view_account_list"/>
</record>
<menuitem id="account_account_menu" name="Accounts" parent="menu_finance_accounting"/>
<menuitem action="action_account_form" id="menu_action_account_form" parent="account_account_menu"/>
@ -216,14 +236,12 @@
<tree string="Chart of accounts" toolbar="1" colors="blue:type in ('view');black:type not in ('view')">
<field name="code"/>
<field name="name"/>
<field name="parent_id" invisible="1"/>
<field name="user_type" invisible="1"/>
<field name="debit"/>
<field name="credit"/>
<field name="balance"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="company_currency_id"/>
<field name="type" invisible="1"/>
<field name="type"/>
</tree>
</field>
</record>
@ -237,10 +255,10 @@
<!-- <menuitem action="action_account_tree" id="menu_action_account_tree" parent="account.account_account_menu"/>-->
<!--
Journal
Journal
Account Journal Columns
-->
Account Journal Columns
-->
<record id="view_journal_column_form" model="ir.ui.view">
<field name="name">account.journal.column.form</field>
@ -1041,7 +1059,7 @@
<field name="to_check" groups="base.group_extended"/>
<field name="amount"/>
<field name="state"/>
<button name="button_validate" states="draft" string="Validate" type="object" icon="terp-camera_test"/>
<button name="button_validate" states="draft" string="Approve" type="object" icon="terp-camera_test"/>
</tree>
</field>
</record>
@ -1109,7 +1127,7 @@
<field name="narration" colspan="4" nolabel="1"/>
<field name="state" select="1"/>
<group col="2" colspan="2">
<button name="button_validate" states="draft" string="Validate" type="object" icon="terp-camera_test"/>
<button name="button_validate" states="draft" string="Approve" type="object" icon="terp-camera_test"/>
<button name="button_cancel" states="posted" string="Cancel" type="object" icon="terp-gtk-stop"/>
</group>
</page>
@ -2300,7 +2318,6 @@
<field name="journal_id" on_change="onchange_journal_id(journal_id)" domain="[('type','=','cash')]" select="1" />
<field name="user_id" select="1" readonly="1"/>
<field name="period_id" select="1"/>
<!-- <field name="balance_end_real"/>-->
</group>
<notebook colspan="4">

View File

@ -62,92 +62,235 @@
<!--
Chart of Account
-->
<record id="minimal_0" model="account.account">
<field name="code">x 0</field>
<record id="chart0" model="account.account">
<field name="code">X0</field>
<field name="name">Chart For Automated Tests</field>
<field eval="False" name="parent_id"/>
<field eval="0" name="parent_id"/>
<field name="type">view</field>
<field name="note">
This chart of account is used for automated testing purpose. It is installed
only if you selected demo data during your database creation. Modules can
do black box testing on entries on this chart of account, without modifying
your own accounts.
</field>
<field name="user_type" ref="account_type_root"/>
</record>
<record id="a_recv" model="account.account">
<field name="name">Main Receivable</field>
<field name="code">x 40000</field>
<field name="type">receivable</field>
<field eval="ref('minimal_0')" name="parent_id"/>
<field name="company_id" ref="base.main_company"/>
<field eval="True" name="reconcile"/>
<field name="user_type" ref="account_type_receivable"/>
<field name="note">
This chart of account is used for automated testing purpose. It is installed
only if you selected demo data during your database creation. Modules can
do black box testing on entries on this chart of account, without modifying
your own chart of account.
</field>
<!-- Balance Sheet -->
<record id="bal" model="account.account">
<field name="code">X1</field>
<field name="name">Balance Sheet - (test)</field>
<field ref="chart0" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="account_type_root"/>
</record>
<record id="a_pay" model="account.account">
<field name="name">Main Payable</field>
<field name="code">x 44000</field>
<field name="type">payable</field>
<field eval="ref('minimal_0')" name="parent_id"/>
<field name="company_id" ref="base.main_company"/>
<field eval="True" name="reconcile"/>
<field name="user_type" ref="account_type_payable"/>
<field name="note">
This chart of account is used for automated testing purpose. It is installed
only if you selected demo data during your database creation. Modules can
do black box testing on entries on this chart of account, without modifying
your own chart of account.
</field>
<record model="account.account" id="assets_view">
<field name="name">Assets - (test)</field>
<field name="code">X10</field>
<field name="type">view</field>
<field name="user_type" ref="account_type_asset"/>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="bal"/>
</record>
<record id="cash" model="account.account">
<field name="name">Petty Cash</field>
<field name="code">x 57000</field>
<field name="type">other</field>
<field eval="ref('minimal_0')" name="parent_id"/>
<field name="company_id" ref="base.main_company"/>
<field name="user_type" ref="account_type_cash_moves"/>
<field name="note">
This chart of account is used for automated testing purpose. It is installed
only if you selected demo data during your database creation. Modules can
do black box testing on entries on this chart of account, without modifying
your own chart of account.
</field>
<record model="account.account" id="liabilities_view">
<field name="name">Liabilities - (test)</field>
<field name="code">X11</field>
<field name="type">view</field>
<field name="user_type" ref="account_type_liability"/>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="bal"/>
</record>
<record id="a_expense" model="account.account">
<field name="name">Products Purchase</field>
<field name="code">x 60000</field>
<field name="type">other</field>
<field eval="ref('minimal_0')" name="parent_id"/>
<field name="company_id" ref="base.main_company"/>
<field name="user_type" ref="account_type_expense"/>
<field name="note">
This chart of account is used for automated testing purpose. It is installed
only if you selected demo data during your database creation. Modules can
do black box testing on entries on this chart of account, without modifying
your own chart of account.
</field>
</record>
<record id="a_sale" model="account.account">
<field name="name">Products Sales</field>
<field name="code">x 70000</field>
<field name="type">other</field>
<field eval="ref('minimal_0')" name="parent_id"/>
<field name="company_id" ref="base.main_company"/>
<field name="user_type" ref="account_type_income"/>
<field name="note">
This chart of account is used for automated testing purpose. It is installed
only if you selected demo data during your database creation. Modules can
do black box testing on entries on this chart of account, without modifying
your own chart of account.
</field>
<record id="fas" model="account.account">
<field name="code">X100</field>
<field name="name">Fixed Assets - (test)</field>
<field ref="assets_view" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="account_type_asset"/>
</record>
<record id="xfa" model="account.account">
<field name="code">X1000</field>
<field name="name">Fixed Asset Account - (test)</field>
<field ref="fas" name="parent_id"/>
<field name="type">other</field>
<field name="user_type" ref="account_type_asset"/>
</record>
<record id="nca" model="account.account">
<field name="code">X101</field>
<field name="name">Net Current Assets - (test)</field>
<field ref="assets_view" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="account_type_asset"/>
</record>
<record id="cas" model="account.account">
<field name="code">X1100</field>
<field name="name">Current Assets - (test)</field>
<field ref="nca" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="account_type_asset"/>
</record>
<record id="stk" model="account.account">
<field name="code">X11001</field>
<field name="name">Purchased Stocks - (test)</field>
<field ref="cas" name="parent_id"/>
<field name="type">other</field>
<field name="user_type" ref="account_type_asset"/>
</record>
<record id="a_recv" model="account.account">
<field name="code">X11002</field>
<field name="name">Debtors - (test)</field>
<field ref="cas" name="parent_id"/>
<field name="type">receivable</field>
<field eval="True" name="reconcile"/>
<field name="user_type" ref="account_type_receivable"/>
</record>
<record id="ova" model="account.account">
<field name="code">X11003</field>
<field name="name">Output VAT - (test)</field>
<field ref="cas" name="parent_id"/>
<field name="type">other</field>
<field name="user_type" ref="account_type_receivable"/>
</record>
<record id="bnk" model="account.account">
<field name="code">X11004</field>
<field name="name">Bank Current Account - (test)</field>
<field ref="cas" name="parent_id"/>
<field name="type">other</field>
<field name="user_type" ref="account_type_asset"/>
</record>
<record id="cash" model="account.account">
<field name="code">X11005</field>
<field name="name">Cash - (test)</field>
<field ref="cas" name="parent_id"/>
<field name="type">other</field>
<field name="user_type" ref="account_type_asset"/>
</record>
<record id="cli" model="account.account">
<field name="code">X110</field>
<field name="name">Current Liabilities - (test)</field>
<field ref="liabilities_view" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="account_type_liability"/>
</record>
<record id="a_pay" model="account.account">
<field name="code">X1111</field>
<field name="name">Creditors - (test)</field>
<field ref="cli" name="parent_id"/>
<field name="type">payable</field>
<field eval="True" name="reconcile"/>
<field name="user_type" ref="account_type_payable"/>
</record>
<record id="iva" model="account.account">
<field name="code">X1112</field>
<field name="name">Input VAT - (test)</field>
<field ref="cli" name="parent_id"/>
<field name="type">other</field>
<field name="user_type" ref="account_type_payable"/>
</record>
<!-- Profit and Loss -->
<record id="gpf" model="account.account">
<field name="code">X2</field>
<field name="name">Profit and Loss - (test)</field>
<field ref="chart0" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="account_type_root"/>
</record>
<record model="account.account" id="income_view">
<field name="name">Income - (test)</field>
<field name="code">X20</field>
<field name="type">view</field>
<field name="user_type" ref="account_type_income"/>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="gpf"/>
</record>
<record model="account.account" id="income_fx_income">
<field name="name">Foreign Exchange Gain - (test)</field>
<field name="code">X201</field>
<field name="type">other</field>
<field name="user_type" ref="account_type_income"/>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="income_view"/>
</record>
<record model="account.account" id="expense_view">
<field name="name">Expense - (test)</field>
<field name="code">X21</field>
<field name="type">view</field>
<field name="user_type" ref="account_type_expense"/>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="gpf"/>
</record>
<record id="rev" model="account.account">
<field name="code">X200</field>
<field name="name">Revenue - (test)</field>
<field ref="income_view" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="account_type_income"/>
</record>
<record id="a_sale" model="account.account">
<field name="code">X2001</field>
<field name="name">Product Sales - (test)</field>
<field ref="rev" name="parent_id"/>
<field name="type">other</field>
<field name="user_type" ref="account_type_income"/>
</record>
<record id="cos" model="account.account">
<field name="code">X210</field>
<field name="name">Cost of Sales - (test)</field>
<field ref="expense_view" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="account_type_expense"/>
</record>
<record id="cog" model="account.account">
<field name="code">X2100</field>
<field name="name">Cost of Goods Sold - (test)</field>
<field ref="cos" name="parent_id"/>
<field name="type">other</field>
<field name="user_type" ref="account_type_expense"/>
</record>
<record id="ovr" model="account.account">
<field name="code">X211</field>
<field name="name">Overheads - (test)</field>
<field ref="expense_view" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="account_type_expense"/>
</record>
<record id="a_expense" model="account.account">
<field name="code">X2110</field>
<field name="name">Expenses - (test)</field>
<field ref="ovr" name="parent_id"/>
<field name="type">other</field>
<field name="user_type" ref="account_type_expense"/>
</record>
<record model="account.account" id="income_fx_expense">
<field name="name">Foreign Exchange Loss - (test)</field>
<field name="code">X2111</field>
<field name="type">other</field>
<field name="user_type" ref="account_type_expense"/>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="ovr"/>
</record>
<!-- Properties -->
<record forcecreate="True" id="property_account_receivable" model="ir.property">
<field name="name">property_account_receivable</field>
@ -174,7 +317,7 @@ your own chart of account.
-->
<record id="sales_journal" model="account.journal">
<field name="name">x Sales Journal</field>
<field name="name">Sales Journal - (test)</field>
<field name="code">SAJ</field>
<field name="type">sale</field>
<field name="view_id" ref="account_sp_journal_view"/>
@ -185,7 +328,7 @@ your own chart of account.
<field name="user_id" ref="base.user_root"/>
</record>
<record id="refund_sales_journal" model="account.journal">
<field name="name">x Sales Credit Note Journal</field>
<field name="name">Sales Credit Note Journal - (test)</field>
<field name="code">SCNJ</field>
<field name="type">sale_refund</field>
<field name="view_id" ref="account_sp_refund_journal_view"/>
@ -196,7 +339,7 @@ your own chart of account.
</record>
<record id="expenses_journal" model="account.journal">
<field name="name">x Expenses Journal</field>
<field name="name">Expenses Journal - (test)</field>
<field name="code">EXJ</field>
<field name="type">purchase</field>
<field name="view_id" ref="account_sp_journal_view"/>
@ -207,7 +350,7 @@ your own chart of account.
<field name="user_id" ref="base.user_root"/>
</record>
<record id="refund_expenses_journal" model="account.journal">
<field name="name">x Expenses Credit Notes Journal</field>
<field name="name">Expenses Credit Notes Journal - (test)</field>
<field name="code">ECNJ</field>
<field name="type">purchase_refund</field>
<field name="view_id" ref="account_sp_refund_journal_view"/>
@ -218,7 +361,7 @@ your own chart of account.
</record>
<record id="bank_journal" model="account.journal">
<field name="name">x Bank Journal</field>
<field name="name">Bank Journal - (test)</field>
<field name="code">BNK</field>
<field name="type">cash</field>
<field name="view_id" ref="account_journal_bank_view"/>
@ -228,7 +371,7 @@ your own chart of account.
<field name="user_id" ref="base.user_root"/>
</record>
<record id="check_journal" model="account.journal">
<field name="name">x Checks Journal</field>
<field name="name">Checks Journal - (test)</field>
<field name="code">CHK</field>
<field name="type">cash</field>
<field name="view_id" ref="account_journal_bank_view"/>

File diff suppressed because it is too large Load Diff

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-07-07 22:55+0000\n"
"PO-Revision-Date: 2010-07-10 11:35+0000\n"
"Last-Translator: Pomazan Bogdan <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: 2010-07-09 03:56+0000\n"
"X-Launchpad-Export-Date: 2010-07-11 03:41+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account
@ -113,7 +113,7 @@ msgstr "Распечатать налоговый отчет"
#. module: account
#: field:account.account,parent_id:0
msgid "Parent"
msgstr "Предок"
msgstr "Контрагент"
#. module: account
#: selection:account.move,type:0
@ -131,7 +131,7 @@ msgstr "Остаток"
#: field:account.tax.template,base_sign:0
#: field:account.tax.template,ref_base_sign:0
msgid "Base Code Sign"
msgstr ""
msgstr "Знак основного кода"
#. module: account
#: model:ir.actions.wizard,name:account.wizard_unreconcile_select
@ -162,7 +162,7 @@ msgstr "Централизация Дебета"
#. module: account
#: model:ir.actions.wizard,name:account.wizard_invoice_state_confirm
msgid "Confirm draft invoices"
msgstr "Подтверить черновики счетов"
msgstr "Подтвердить черновики счетов"
#. module: account
#: help:account.payment.term.line,days2:0
@ -514,7 +514,7 @@ msgstr "Периодическая обработка"
#. module: account
#: view:report.hr.timesheet.invoice.journal:0
msgid "Analytic Entries Stats"
msgstr "Состояния проводок аналитики"
msgstr "Состояние проводок аналитического учета"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_tax_code_template_form
@ -525,7 +525,7 @@ msgstr "Шаблоны кодов налога"
#. module: account
#: view:account.invoice:0
msgid "Supplier invoice"
msgstr "Счет поставщика"
msgstr "Счет-фактура поставщика"
#. module: account
#: model:process.transition,name:account.process_transition_reconcilepaid0
@ -685,7 +685,7 @@ msgstr "Подитог:"
#: model:ir.actions.act_window,name:account.action_account_analytic_line_form
#: model:ir.ui.menu,name:account.next_id_41
msgid "Analytic Entries"
msgstr "Проводки аналитики"
msgstr "Проводки аналитического учета"
#. module: account
#: selection:account.subscription,period_type:0
@ -718,7 +718,7 @@ msgstr "Выберите период для проведения анализа
#: field:account.tax.template,ref_tax_sign:0
#: field:account.tax.template,tax_sign:0
msgid "Tax Code Sign"
msgstr ""
msgstr "Символ кода налога"
#. module: account
#: help:res.partner,credit:0
@ -1155,12 +1155,12 @@ msgstr "Период с"
#. module: account
#: model:ir.model,name:account.model_wizard_multi_charts_accounts
msgid "wizard.multi.charts.accounts"
msgstr ""
msgstr "Мультиплановые счета"
#. module: account
#: model:account.journal,name:account.sales_journal
msgid "Journal de vente"
msgstr ""
msgstr "Журнал продаж"
#. module: account
#: help:account.model.line,amount_currency:0
@ -1171,7 +1171,7 @@ msgstr "Сумма выраженная в дополнительной друг
#: view:account.fiscal.position.template:0
#: field:account.fiscal.position.template,name:0
msgid "Fiscal Position Template"
msgstr ""
msgstr "Шаблон финансовой области"
#. module: account
#: field:account.payment.term,line_ids:0
@ -1212,7 +1212,7 @@ msgstr "Список шаблонов налогов"
#. module: account
#: model:process.transition,name:account.process_transition_invoiceimport0
msgid "Invoice import"
msgstr ""
msgstr "Счет импорта"
#. module: account
#: model:ir.actions.wizard,name:account.action_move_journal_line_form_select
@ -1228,6 +1228,11 @@ msgid ""
"software system you may have to use the rate at date. Incoming transactions "
"always use the rate at date."
msgstr ""
"Это позволит выбрать текущий валютный курс для расчета сумм в сделке. В "
"большинстве стран правового метода является \"средний\", но лишь немногие "
"программные системы способны управлять этим. Так что если вы импортируете из "
"другого программного обеспечения системы вы можете использовать курс на "
"дату. Входящие сделки всегда используют ставку на сегодняшний день."
#. module: account
#: field:account.account,company_currency_id:0
@ -1237,12 +1242,12 @@ msgstr "Валюта компании"
#. module: account
#: model:ir.model,name:account.model_account_fiscal_position_account_template
msgid "Fiscal Position Template Account Mapping"
msgstr ""
msgstr "Шаблон структуры счетов финансовой области"
#. module: account
#: field:account.analytic.account,parent_id:0
msgid "Parent Analytic Account"
msgstr ""
msgstr "Основной аналитический счет"
#. module: account
#: wizard_button:account.move.line.reconcile,init_partial,addendum:0
@ -1252,12 +1257,12 @@ msgstr "Сверить со списанием"
#. module: account
#: field:account.move.line,tax_amount:0
msgid "Tax/Base Amount"
msgstr ""
msgstr "Налоговые / базовая сумма"
#. module: account
#: help:wizard.multi.charts.accounts,code_digits:0
msgid "No. of Digits to use for account code"
msgstr ""
msgstr "Кол-во цифр для использования в коде счета"
#. module: account
#: field:account.bank.statement,balance_end_real:0
@ -1282,7 +1287,7 @@ msgstr "Фиксированная величина"
#. module: account
#: rml:account.analytic.account.analytic.check:0
msgid "Analytic Credit"
msgstr ""
msgstr "Аналитический Кредит"
#. module: account
#: field:account.move.line,reconcile_partial_id:0
@ -1300,12 +1305,12 @@ msgstr "Не сверенные транзакции"
#: field:account.fiscal.position,tax_ids:0
#: field:account.fiscal.position.template,tax_ids:0
msgid "Tax Mapping"
msgstr ""
msgstr "Структура налога"
#. module: account
#: view:account.config.wizard:0
msgid "Continue"
msgstr ""
msgstr "Продолжить"
#. module: account
#: field:account.payment.term.line,value:0
@ -1360,7 +1365,7 @@ msgstr "Вид"
#: selection:account.tax,type_tax_use:0
#: selection:account.tax.template,type_tax_use:0
msgid "All"
msgstr ""
msgstr "Все"
#. module: account
#: field:account.move.line,analytic_lines:0
@ -1390,7 +1395,7 @@ msgstr ""
#. module: account
#: model:process.node,name:account.process_node_electronicfile0
msgid "Electronic File"
msgstr ""
msgstr "Электронный файл"
#. module: account
#: view:res.partner:0
@ -1439,23 +1444,23 @@ msgstr "Журнал"
#: field:account.account,child_id:0
#: field:account.analytic.account,child_ids:0
msgid "Child Accounts"
msgstr ""
msgstr "Подчиненный счет"
#. module: account
#: field:account.account,check_history:0
msgid "Display History"
msgstr ""
msgstr "Показать историю"
#. module: account
#: wizard_field:account.third_party_ledger.report,init,date1:0
msgid " Start date"
msgstr ""
msgstr " Дата начала"
#. module: account
#: wizard_field:account.account.balance.report,checktype,display_account:0
#: wizard_field:account.general.ledger.report,checktype,display_account:0
msgid "Display accounts "
msgstr ""
msgstr "Показать счета "
#. module: account
#: model:ir.model,name:account.model_account_bank_statement_reconcile_line
@ -1521,7 +1526,7 @@ msgstr "Поставщик"
#. module: account
#: rml:account.invoice:0
msgid "Tel. :"
msgstr ""
msgstr "тел.:"
#. module: account
#: field:account.invoice.tax,tax_amount:0
@ -1556,7 +1561,7 @@ msgstr "Движение счета"
#: model:ir.ui.menu,name:account.menu_wizard
#: view:wizard.multi.charts.accounts:0
msgid "Generate Chart of Accounts from a Chart Template"
msgstr ""
msgstr "Основной план счетов на основе шаблона"
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_legal_statement
@ -1567,7 +1572,7 @@ msgstr ""
#: field:account.tax.code,parent_id:0
#: field:account.tax.code.template,parent_id:0
msgid "Parent Code"
msgstr ""
msgstr "Основной код"
#. module: account
#: wizard_button:account.move.line.reconcile.select,init,open:0
@ -1612,7 +1617,7 @@ msgstr "Ссылка на партнера"
#: selection:account.partner.balance.report,init,result_selection:0
#: selection:account.third_party_ledger.report,init,result_selection:0
msgid "Receivable and Payable Accounts"
msgstr ""
msgstr "Счета дебиторской и кредиторской задолженности"
#. module: account
#: view:account.subscription:0
@ -1687,7 +1692,7 @@ msgstr ""
#: model:ir.actions.wizard,name:account.wizard_period_close
#: model:ir.ui.menu,name:account.menu_action_account_period_close_tree
msgid "Close a Period"
msgstr ""
msgstr "Закрыть период"
#. module: account
#: model:ir.actions.act_window,name:account.act_acc_analytic_acc_2_report_hr_timesheet_invoice_journal
@ -1707,7 +1712,7 @@ msgstr "Номер счета"
#. module: account
#: view:account.config.wizard:0
msgid "Skip"
msgstr ""
msgstr "Пропустить"
#. module: account
#: field:account.invoice,period_id:0
@ -1728,12 +1733,12 @@ msgstr "Открыть повторно"
#. module: account
#: wizard_view:account.fiscalyear.close,init:0
msgid "Are you sure you want to create entries?"
msgstr ""
msgstr "Вы действительно хотите создать проводки?"
#. module: account
#: field:account.tax,include_base_amount:0
msgid "Include in base amount"
msgstr ""
msgstr "Включить в базовую сумму"
#. module: account
#: rml:account.analytic.account.analytic.check:0
@ -1810,7 +1815,7 @@ msgstr "Продажа"
#: wizard_button:account.account.balance.report,account_selection,checktype:0
#: wizard_button:account.general.ledger.report,account_selection,checktype:0
msgid "Next"
msgstr ""
msgstr "Далее"
#. module: account
#: help:res.partner,property_account_position:0
@ -1818,11 +1823,13 @@ msgid ""
"The fiscal position will determine taxes and the accounts used for the the "
"partner."
msgstr ""
"Финансовая область будет определять налоги и счета, используемые для "
"контрагента."
#. module: account
#: rml:account.analytic.account.cost_ledger:0
msgid "Date or Code"
msgstr ""
msgstr "Дата или Код"
#. module: account
#: field:account.analytic.account,user_id:0
@ -2014,7 +2021,7 @@ msgstr "Возврат средств клиенту"
#. module: account
#: rml:account.vat.declaration:0
msgid "Tax Amount"
msgstr ""
msgstr "Сумма налога"
#. module: account
#: rml:account.analytic.account.quantity_cost_ledger:0
@ -2062,7 +2069,7 @@ msgstr ""
#. module: account
#: rml:account.invoice:0
msgid "Draft Invoice"
msgstr ""
msgstr "Черновик счета"
#. module: account
#: model:account.account.type,name:account.account_type_expense
@ -2265,7 +2272,7 @@ msgstr ""
#. module: account
#: view:account.config.wizard:0
msgid "Create a Fiscal Year"
msgstr ""
msgstr "Создать финансовый год"
#. module: account
#: field:product.template,taxes_id:0
@ -3224,7 +3231,7 @@ msgstr "Налоги"
#. module: account
#: wizard_view:account.fiscalyear.close,init:0
msgid "Close Fiscal Year with new entries"
msgstr ""
msgstr "Закрыть учетный год с новыми проводками"
#. module: account
#: selection:account.account,currency_mode:0
@ -3673,7 +3680,7 @@ msgstr ""
#. module: account
#: model:ir.actions.todo,note:account.config_fiscalyear
msgid "Define Fiscal Years and Select Charts of Account"
msgstr ""
msgstr "Определить отчетный год и выбрать план счетов"
#. module: account
#: wizard_field:account.move.line.reconcile,addendum,period_id:0
@ -3762,7 +3769,7 @@ msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_fiscal_position_tax_template
msgid "Fiscal Position Template Tax Mapping"
msgstr ""
msgstr "Структура налоговых шаблонов для финансовой области"
#. module: account
#: rml:account.invoice:0
@ -4102,7 +4109,7 @@ msgstr ""
#. module: account
#: field:wizard.multi.charts.accounts,seq_journal:0
msgid "Separated Journal Sequences"
msgstr ""
msgstr "Отдельные последовательности журнала"
#. module: account
#: help:account.bank.statement.reconcile,total_second_currency:0
@ -4403,7 +4410,7 @@ msgstr ""
#. module: account
#: view:ir.sequence:0
msgid "Fiscal Year Sequences"
msgstr ""
msgstr "Последовательности отчетного года"
#. module: account
#: view:account.model.line:0
@ -4509,7 +4516,7 @@ msgstr ""
#: model:process.transition,name:account.process_transition_suppliervalidentries0
#: model:process.transition,name:account.process_transition_validentries0
msgid "Valid Entries"
msgstr ""
msgstr "Согласованные проводки"
#. module: account
#: model:ir.actions.wizard,name:account.wizard_account_use_model
@ -4550,7 +4557,7 @@ msgstr ""
#. module: account
#: view:res.partner:0
msgid "Supplier Accounting Properties"
msgstr ""
msgstr "Настройки бухгалтерского учета для контрагента-поставщика"
#. module: account
#: view:account.analytic.account:0
@ -5196,7 +5203,7 @@ msgstr "Данный месяц"
#. module: account
#: field:account.account.type,sign:0
msgid "Sign on Reports"
msgstr ""
msgstr "Знак в отчётах"
#. module: account
#: help:account.move.line,currency_id:0
@ -5541,7 +5548,7 @@ msgstr ""
#. module: account
#: rml:account.general.journal:0
msgid "Printing Date :"
msgstr ""
msgstr "Печать Даты:"
#. module: account
#: model:ir.actions.report.xml,name:account.account_analytic_account_quantity_cost_ledger
@ -5703,7 +5710,7 @@ msgstr ""
#. module: account
#: rml:account.analytic.account.balance:0
msgid "Analytic Balance -"
msgstr ""
msgstr "Остаток по аналитике"
#. module: account
#: wizard_field:account_use_models,init_form,model:0
@ -5955,7 +5962,7 @@ msgstr ""
#. module: account
#: wizard_button:account.subscription.generate,init,generate:0
msgid "Compute Entry Dates"
msgstr ""
msgstr "Вычислить даты проводки"
#. module: account
#: view:board.board:0

File diff suppressed because it is too large Load Diff

View File

@ -892,6 +892,7 @@ class account_invoice(osv.osv):
self.write(cr, uid, [inv.id], {'move_id': move_id,'period_id':period_id, 'move_name':new_move_name})
self.pool.get('account.move').post(cr, uid, [move_id])
self._log_event(cr, uid, ids)
return True
def line_get_convert(self, cr, uid, x, part, date, context=None):
@ -916,12 +917,12 @@ class account_invoice(osv.osv):
}
def action_number(self, cr, uid, ids, *args):
cr.execute('SELECT id, type, number, move_id, reference ' \
'FROM account_invoice ' \
'WHERE id IN %s',
(tuple(ids),))
obj_inv = self.browse(cr, uid, ids)[0]
for (id, invtype, number, move_id, reference) in cr.fetchall():
for obj_inv in self.browse(cr, uid, ids):
id = obj_inv.id
invtype = obj_inv.type
number = obj_inv.number
move_id = obj_inv.move_id and obj_inv.move_id.id or False
reference = obj_inv.reference
if not number:
if obj_inv.journal_id.invoice_sequence_id:
sid = obj_inv.journal_id.invoice_sequence_id.id
@ -946,6 +947,8 @@ class account_invoice(osv.osv):
'WHERE account_move_line.move_id = %s ' \
'AND account_analytic_line.move_id = account_move_line.id',
(ref, move_id))
message = _('Invoice ') + " '" + number + "' "+ _("is confirm")
self.log(cr, uid, id, message)
return True
def action_cancel(self, cr, uid, ids, *args):

View File

@ -46,7 +46,6 @@ class journal_print(report_sxw.rml_parse):
ids_journal_period = obj_jperiod.search(self.cr, self.uid, [('journal_id','=',journal), ('period_id','=',period)])
if ids_journal_period:
self.cr.execute('update account_journal_period set state=%s where journal_id=%s and period_id=%s and state=%s', ('printed',journal,period,'draft'))
self.cr.commit()
self.cr.execute('select id from account_move_line where period_id=%s and journal_id=%s and state<>\'draft\' order by ('+ sort_selection +'),id', (period, journal))
ids = map(lambda x: x[0], self.cr.fetchall())
ids_final.append(ids)
@ -56,7 +55,6 @@ class journal_print(report_sxw.rml_parse):
line_ids.append(a)
return line_ids
self.cr.execute('update account_journal_period set state=%s where journal_id=%s and period_id=%s and state=%s', ('printed',journal_id,period_id,'draft'))
self.cr.commit()
self.cr.execute('select id from account_move_line where period_id=%s and journal_id=%s and state<>\'draft\' order by date,id', (period_id, journal_id))
ids = map(lambda x: x[0], self.cr.fetchall())
return obj_mline.browse(self.cr, self.uid, ids)

View File

@ -127,10 +127,10 @@
<lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="2,0" stop="2,0"/>
</blockTableStyle>
<blockTableStyle id="Table_Main_Table">
<blockTableStyle id="Table4">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBEFORE" colorName="#ffffff" start="0,0" stop="0,-1"/>
<!--lineStyle kind="LINEBEFORE" colorName="#ffffff" start="0,0" stop="0,-1"/>
<lineStyle kind="LINEAFTER" colorName="#ffffff" start="0,0" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="0,0" stop="0,0"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="0,-1" stop="0,-1"/>
@ -149,65 +149,51 @@
<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="#ffffff" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#ffffff" start="0,4" stop="0,-1"/>
<lineStyle kind="LINEAFTER" colorName="#ffffff" start="0,4" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="0,-1" stop="0,-1"/-->
</blockTableStyle>
<blockTableStyle id="Table_Tax_Header">
<blockTableStyle id="Table6">
<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"/>
</blockTableStyle>
<blockTableStyle id="Table_Tax_Content">
<blockTableStyle id="Table5">
<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"/>
</blockTableStyle>
<blockTableStyle id="Table_Table_Border_White">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="2,-1" stop="2,-1"/>
</blockTableStyle>
<blockTableStyle id="Table_Final_Border">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="0,0" stop="0,0"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="1,0" stop="1,0"/>
</blockTableStyle>
<blockTableStyle id="Table_Coment_Payment_Term">
<blockTableStyle id="Table3">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table_Payment_Terms">
<blockTableStyle id="Table2">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table1">
<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="6.0"/>
<paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.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="Standard" fontName="Helvetica"/>
<paraStyle name="Text body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Table Contents" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Table Heading" fontName="Helvetica" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Caption" fontName="Helvetica" fontSize="10.0" leading="13" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="Index" fontName="Helvetica"/>
<paraStyle name="Heading" fontName="Helvetica" fontSize="15.0" leading="19" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_header" fontName="Helvetica-Bold" fontSize="12.0" leading="15" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_default_8" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="Footer" fontName="Times-Roman"/>
<paraStyle name="P8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="0.0"/>
<paraStyle name="Horizontal Line" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/>
<paraStyle name="Footer" fontName="Helvetica"/>
<paraStyle name="Horizontal Line" fontName="Helvetica" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.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"/>
@ -227,25 +213,32 @@
<paraStyle name="terp_default_Right_9" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Bold_Right_9" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_2" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_White_2" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_White_2" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#ffffff"/>
<paraStyle name="terp_default_Note" rightIndent="0.0" leftIndent="9.0" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="Table" fontName="Helvetica" fontSize="10.0" leading="13" spaceBefore="6.0" spaceAfter="6.0"/>
<images/>
</stylesheet>
<images/>
<story>
<para style="terp_default_8">[[ repeatIn(objects,'o') ]]</para>
<para style="terp_default_8">[[ setLang(o.partner_id.lang) ]] </para>
<para style="terp_default_8">[[ setLang(o.partner_id.lang) ]]</para>
<blockTable colWidths="297.0,233.0" style="Table_Partner_Address">
<tr>
<td><para style="P8"><font color="white"> </font></para></td>
<td>
<para style="terp_default_8">[[ o.partner_id.name ]] [[ o.partner_id.title or '' ]]</para>
<para style="terp_default_8">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_default_8">[[ o.partner_id.title or '' ]] [[ o.partner_id.name ]]</para>
<para style="terp_default_8">[[ o.address_invoice_id.title or '' ]] [[ o.address_invoice_id.name ]]</para>
<para style="terp_default_8">[[ o.address_invoice_id.street ]]</para>
<para style="terp_default_8">[[ o.address_invoice_id.street2 or '' ]]</para>
<para style="terp_default_8">[[ o.address_invoice_id.zip or '' ]] [[ o.address_invoice_id.city or '' ]]</para>
<para style="terp_default_8">[[ o.address_invoice_id.state_id and o.address_invoice_id.state_id.name or '' ]]</para>
<para style="terp_default_8">[[ o.address_invoice_id.country_id and o.address_invoice_id.country_id.name or '' ]]</para>
<para style="P8"><font color="white"> </font></para>
<para style="terp_default_8">
<font color="white"> </font>
</para>
<para style="terp_default_8">Tel. : [[ o.address_invoice_id.phone or removeParentNode('para') ]]</para>
<para style="terp_default_8">Fax : [[ o.address_invoice_id.fax or removeParentNode('para') ]]</para>
<para style="terp_default_8">VAT : [[ o.partner_id.vat or removeParentNode('para') ]]</para>
@ -255,168 +248,278 @@
<para style="terp_header">Invoice [[ ((o.type == 'out_invoice' and (o.state == 'open' or o.state == 'paid')) or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
<para style="terp_header">PRO-FORMA [[ ((o.type == 'out_invoice' and o.state == 'proforma2') or removeParentNode('para')) and '' ]]</para>
<para style="terp_header">Draft Invoice [[ ((o.type == 'out_invoice' and o.state == 'draft') or removeParentNode('para')) and '' ]]</para>
<para style="terp_header">Canceled Invoice [[ ((o.type == 'out_invoice' and o.state == 'cancel') or removeParentNode('para')) and '' ]]</para>
<para style="terp_header">Cancelled Invoice [[ ((o.type == 'out_invoice' and o.state == 'cancel') or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
<para style="terp_header">Refund [[ (o.type=='out_refund' or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
<para style="terp_header">Supplier Refund [[ (o.type=='in_refund' or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
<para style="terp_header">Supplier Invoice [[ (o.type=='in_invoice' or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
<para style="P8"><font color="white"> </font></para>
<para style="terp_default_8">
<font color="white"> </font>
</para>
<blockTable colWidths="177.0,177.0,177.0" style="Table_Invoice_General_Header">
<tr>
<td><para style="terp_tblheader_General_Centre">Document</para></td>
<td><para style="terp_tblheader_General_Centre">Invoice Date</para></td>
<td><para style="terp_tblheader_General_Centre">Partner Ref.</para></td>
<td>
<para style="terp_tblheader_General_Centre">Document</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Invoice Date</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Partner Ref.</para>
</td>
</tr>
</blockTable>
<blockTable colWidths="177.0,177.0,177.0" style="Table_General_Detail_Content">
<tr>
<td><para style="terp_default_Centre_9">[[ o.name ]]</para></td>
<td><para style="terp_default_Centre_9">[[ formatLang(o.date_invoice,date=True) ]]</para></td>
<td><para style="terp_default_Centre_9">[[ o.address_invoice_id.partner_id.ref or '' ]]</para></td>
<td>
<para style="terp_default_Centre_9">[[ o.name ]]</para>
</td>
<td>
<para style="terp_default_Centre_9">[[ formatLang(o.date_invoice,date=True) ]]</para>
</td>
<td>
<para style="terp_default_Centre_9">[[ o.address_invoice_id.partner_id.ref or '' ]]</para>
</td>
</tr>
</blockTable>
<para style="P8"><font color="white"></font></para>
<para style="P8"><font color="white"> </font></para>
<blockTable colWidths="211.0,62.0,63.0,63.0,40.0,84.0" style="Table_Header_Invoice_Line">
<para style="terp_default_8">
<font color="white"> </font>
</para>
<blockTable colWidths="211.0,62.0,63.0,63.0,43.0,83.0" style="Table_Header_Invoice_Line">
<tr>
<td><para style="terp_tblheader_Details">Description</para></td>
<td><para style="terp_tblheader_Details">Taxes</para></td>
<td><para style="terp_tblheader_Details">Quantity</para></td>
<td><para style="terp_tblheader_Details_Centre">Unit Price</para></td>
<td><para style="terp_tblheader_Details">Disc.(%)</para></td>
<td><para style="terp_tblheader_Details_Centre">Price</para></td>
<td>
<para style="terp_tblheader_Details">Description</para>
</td>
<td>
<para style="terp_tblheader_Details">Taxes</para>
</td>
<td>
<para style="terp_tblheader_Details_Centre">Quantity</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Unit Price</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Disc.(%)</para>
</td>
<td>
<para style="terp_tblheader_Details_Centre">Price</para>
</td>
</tr>
</blockTable>
<section>
<para style="terp_default_8">[[ repeatIn(o.invoice_line,'l') ]]</para>
<blockTable colWidths="211.0,62.0,36.0,27.0,63.0,36.0,62.0,26.0" style="Table_Invoice_Line_Content">
<blockTable colWidths="211.0,62.0,41.0,22.0,63.0,42.0,59.0,23.0" style="Table_Invoice_Line_Content">
<tr>
<td><para style="terp_default_9">[[ l.name ]]</para></td>
<td><para style="terp_default_9">[[ ', '.join([ lt.description or '' for lt in l.invoice_line_tax_id ]) ]]</para></td>
<td><para style="terp_default_Right_9">[[ formatLang(l.quantity)]]</para></td>
<td><para style="terp_default_Right_9">[[ (l.uos_id and l.uos_id.name) or '' ]]</para></td>
<td><para style="terp_default_Right_9">[[ formatLang(l.price_unit) ]]</para></td>
<td><para style="terp_default_Right_9">[[ formatLang(l.discount) ]] </para></td>
<td><para style="terp_default_Right_9">[[ formatLang(l.price_subtotal) ]]</para></td>
<td><para style="terp_default_Right_9">[[ o.currency_id.code ]]</para></td>
<td>
<para style="terp_default_9">[[ l.name ]]</para>
</td>
<td>
<para style="terp_default_9">[[ ', '.join([ lt.name or '' for lt in l.invoice_line_tax_id ]) ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(l.quantity)]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ (l.uos_id and l.uos_id.name) or '' ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(l.price_unit) ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(l.discount) ]] </para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(l.price_subtotal) ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ o.currency_id.code ]]</para>
</td>
</tr>
<tr>
<td><para style="terp_default_Note">[[ format(l.note) or removeParentNode('tr') ]]</para></td>
<td><para style="terp_default_Note"><font color="white"> </font></para></td>
<td><para style="terp_default_Note"><font color="white"> </font></para></td>
<td><para style="terp_default_Note"><font color="white"> </font></para></td>
<td><para style="terp_default_Note"><font color="white"> </font></para></td>
<td><para style="terp_default_Note"><font color="white"> </font></para></td>
<td><para style="terp_default_Note"><font color="white"> </font></para></td>
<td><para style="terp_default_Note"><font color="white"> </font></para></td>
<td>
<para style="terp_default_Note">[[ format(l.note or '') or removeParentNode('tr') ]]</para>
<para style="terp_default_Note">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_default_Note">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_default_Note">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_default_Note">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_default_Note">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_default_Note">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_default_Note">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_default_Note">
<font color="white"> </font>
</para>
</td>
</tr>
</blockTable>
</section>
<blockTable colWidths="371.0,153.0" style="Table_Format_2">
<blockTable colWidths="370.0,153.0" style="Table_Format_2">
<tr>
<td>
<blockTable colWidths="176.0,258.0" style="Table_format_Table_Line_total">
<tr>
<td><para style="terp_default_2"><font color="white"> </font></para></td>
<td><para style="terp_default_2"><font color="white"> </font></para></td>
<td>
<para style="terp_default_2">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_default_2">
<font color="white"> </font>
</para>
</td>
</tr>
</blockTable>
</td>
<td>
<blockTable colWidths="62.0,59.0,25.0" style="Table_eclu_Taxes_Total">
<blockTable colWidths="62.0,62.0,22.0" style="Table_eclu_Taxes_Total">
<tr>
<td><para style="terp_default_Bold_9">Net Total:</para></td>
<td><para style="terp_default_Right_9">[[ formatLang(o.amount_untaxed) ]]</para></td>
<td><para style="terp_default_Right_9">[[ o.currency_id.code ]]</para></td>
<td>
<para style="terp_default_9">Net Total:</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(o.amount_untaxed) ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ o.currency_id.code ]]</para>
</td>
</tr>
</blockTable>
<blockTable colWidths="63.0,58.0,26.0" style="Table_Taxes_Total">
<para style="terp_default_2">
<font color="white"> </font>
</para>
<blockTable colWidths="63.0,61.0,23.0" style="Table_Taxes_Total">
<tr>
<td><para style="terp_default_Bold_9">Taxes:</para></td>
<td><para style="terp_default_Right_9">[[ formatLang(o.amount_tax) ]]</para></td>
<td><para style="terp_default_Right_9">[[ o.currency_id.code ]]</para></td>
<td>
<para style="terp_default_9">Taxes:</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(o.amount_tax) ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ o.currency_id.code ]]</para>
</td>
</tr>
</blockTable>
<blockTable colWidths="63.0,58.0,26.0" style="Table_Total_Include_Taxes">
<para style="terp_default_2">
<font color="white"> </font>
</para>
<blockTable colWidths="63.0,61.0,23.0" style="Table_Total_Include_Taxes">
<tr>
<td><para style="terp_default_Bold_9">Total:</para></td>
<td><para style="terp_default_Right_9">[[ formatLang(o.amount_total) ]]</para></td>
<td><para style="terp_default_Right_9">[[ o.currency_id.code ]]</para></td>
<td>
<para style="terp_default_Bold_9">Total:</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(o.amount_total) ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ o.currency_id.code ]]</para>
</td>
</tr>
</blockTable>
</td>
</tr>
</blockTable>
<blockTable colWidths="530.0" style="Table_Main_Table">
<blockTable colWidths="530.0" style="Table4">
<tr>
<td>
<blockTable colWidths="54.0,80.0,67.0" style="Table_Tax_Header">
<blockTable colWidths="149.0,55.0,52.0" style="Table6">
<tr>
<td><para style="terp_tblheader_Details_Centre">Tax</para></td>
<td><para style="terp_tblheader_Details_Right">Base</para></td>
<td><para style="terp_tblheader_Details_Right">Amount</para></td>
<td>
<para style="terp_tblheader_Details">Tax</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Base</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Amount</para>
</td>
</tr>
</blockTable>
<para style="terp_default_2">
<font color="white"> </font>
</para>
</td>
</tr>
<tr>
<td>
<para style="terp_default_2">[[ repeatIn(o.tax_line,'t') ]]</para>
<blockTable colWidths="149.0,55.0,52.0" style="Table5">
<tr>
<td>
<para style="terp_default_8">[[ t.name ]]</para>
</td>
<td>
<para style="terp_default_Right_8">[[ formatLang(t.base) ]]</para>
</td>
<td>
<para style="terp_default_Right_8">[[ (t.tax_code_id and t.tax_code_id.notprintable) and removeParentNode('blockTable') or '' ]] [[ formatLang(t.amount) ]]</para>
</td>
</tr>
</blockTable>
</td>
</tr>
<tr>
<td>
<para style="terp_default_8">[[ repeatIn(o.tax_line,'t') ]]</para>
<blockTable colWidths="53.0,80.0,65.0" style="Table_Tax_Content">
<tr>
<td><para style="terp_default_Centre_8">[[ t.name ]] </para></td>
<td><para style="terp_default_Right_8">[[ formatLang(t.base) ]]</para></td>
<td><para style="terp_default_Right_8">[[ (t.tax_code_id and t.tax_code_id.notprintable) and removeParentNode('blockTable') or '' ]][[ formatLang(t.amount) ]]</para></td>
</tr>
</blockTable>
<para style="terp_default_2">
<font color="white"> </font>
</para>
</td>
</tr>
</blockTable>
<blockTable colWidths="530.0" style="Table3">
<tr>
<td>
<blockTable colWidths="53.0,60.0,65.0" style="Table_Table_Border_White">
<tr>
<td><para style="terp_default_2"><font color="white"> </font></para></td>
<td><para style="terp_default_2"><font color="white"> </font></para></td>
<td><para style="terp_default_2"><font color="white"> </font></para></td>
</tr>
</blockTable>
<para style="terp_default_9">[[ format(o.comment or '') or removeParentNode('blockTable') ]]</para>
</td>
</tr>
</blockTable>
<blockTable colWidths="180.0,350.0" style="Table_Final_Border">
<blockTable colWidths="530.0" style="Table2">
<tr>
<td><para style="terp_default_2"><font color="white"> </font></para></td>
<td><para style="terp_default_2"><font color="white"> </font></para></td>
<td>
<para style="terp_default_9">[[ format((o.payment_term and o.payment_term.note) or '') or removeParentNode('blockTable') ]]</para>
</td>
</tr>
</blockTable>
<blockTable colWidths="530.0" style="Table_Coment_Payment_Term">
<tr>
<td><para style="terp_default_9">[[ format(o.comment or removeParentNode('blockTable')) ]]</para></td>
</tr>
</blockTable>
<para style="terp_default_2">
<font color="white"> </font>
</para>
<blockTable colWidths="530.0" style="Table_Payment_Terms">
<tr>
<td><para style="terp_default_9">[[ format((o.payment_term and o.payment_term.note) or removeParentNode('blockTable')) ]]</para></td>
</tr>
</blockTable>
<para style="terp_default_2">
<font color="white"> </font>
</para>
<blockTable colWidths="128.0,402.0" style="Standard_Outline">
<blockTable colWidths="128.0,402.0" style="Table1">
<tr>
<td>
<para style="terp_default_Bold_9">Fiscal Position Remark :</para>
</td>
<td>
<para style="terp_default_9">[[ format(o.fiscal_position and o.fiscal_position.note or removeParentNode('blockTable')) ]]</para>
<para style="terp_default_9">[[ format((o.fiscal_position and o.fiscal_position.note) or '') or removeParentNode('blockTable') ]]</para>
</td>
</tr>
</blockTable>
<para style="terp_default_2">
<font color="white"> </font>
</para>
</tr>
</blockTable>
<para style="terp_default_2">
<font color="white"> </font>
</para>
</story>
</document>

View File

@ -33,7 +33,7 @@ class account_chart(osv.osv_memory):
help = 'Keep empty for all open fiscal years'),
'target_move': fields.selection([('all', 'All Entries'),
('posted', 'All Posted Entries')], 'Target Moves', required = True),
}
}
def _get_fiscalyear(self, cr, uid, context=None):
"""Return default Fiscalyear value"""

View File

@ -1,36 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_account_chart" model="ir.ui.view">
<record id="view_account_chart" model="ir.ui.view">
<field name="name">account.chart.form</field>
<field name="model">account.chart</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Account charts">
<group colspan="4" >
<field name="fiscalyear"/>
<label align="0.7" colspan="6" string="(If you do not select Fiscal year it will take all open fiscal years)"/>
<field name="target_move"/>
<field name="fiscalyear"/>
<label align="0.7" colspan="6" string="(If you do not select Fiscal year it will take all open fiscal years)"/>
<field name="target_move"/>
</group>
<separator string="" colspan="4" />
<separator string="" colspan="4" />
<group colspan="4" col="6">
<label string ="" colspan="2"/>
<button icon="gtk-cancel" special="cancel" string="Cancel" />
<button icon="terp-gtk-go-back-rtl" string="Open Charts"
name="account_chart_open_window" type="object" />
<label string ="" colspan="2"/>
<button icon="gtk-cancel" special="cancel" string="Cancel" />
<button icon="terp-gtk-go-back-rtl" string="Open Charts" name="account_chart_open_window" type="object" />
</group>
</form>
</field>
</record>
</record>
<record id="action_account_chart" model="ir.actions.act_window">
<field name="name">Chart of Accounts</field>
<field name="res_model">account.chart</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_account_chart"/>
<field name="target">new</field>
<field name="view_id" ref="view_account_chart"/>
<field name="target">new</field>
</record>
<menuitem icon="STOCK_INDENT" action="action_account_chart"

View File

@ -16,7 +16,7 @@
<field name="period_id"/>
<group colspan="4" col="6">
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
<button icon="terp-camera_test" string="Validate" name="validate_move" type="object"/>
<button icon="terp-camera_test" string="Approve" name="validate_move" type="object"/>
</group>
</form>
</field>
@ -47,7 +47,7 @@
<form string="Validate Moves">
<separator string="Validate Ledger Postings" colspan="4"/>
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
<button name="validate_move_lines" string="Validate" type="object" icon="gtk-go-forward" default_focus="1"/>
<button name="validate_move_lines" string="Approve" type="object" icon="gtk-go-forward" default_focus="1"/>
</form>
</field>
</record>

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0_rc3\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-09-18 15:21+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"PO-Revision-Date: 2010-07-10 11:40+0000\n"
"Last-Translator: Pomazan Bogdan <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: 2010-06-22 04:10+0000\n"
"X-Launchpad-Export-Date: 2010-07-11 03:41+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_analytic_analysis
@ -22,6 +22,8 @@ msgid ""
"Number of hours that can be invoiced plus those that already have been "
"invoiced."
msgstr ""
"Количество часов, которое может быть выставлено в счете, а также те, которые "
"уже были выставлены к оплате."
#. module: account_analytic_analysis
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_user
@ -31,17 +33,20 @@ msgstr "Итого часов по пользователям"
#. module: account_analytic_analysis
#: field:account.analytic.account,last_invoice_date:0
msgid "Last Invoice Date"
msgstr ""
msgstr "Последняя дата выписки счета"
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_ca:0
msgid "Computed using the formula: Max Invoice Price - Invoiced Amount."
msgstr ""
"Вычислено, с использованием формулы: Максимальная цена по Счету - Итоговая "
"сумма по выставленным счета."
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_hours:0
msgid "Computed using the formula: Maximum Quantity - Hours Tot."
msgstr ""
"Вычисленное используя формулу: Максимальное Количество - Всего Часов."
#. module: account_analytic_analysis
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_all
@ -52,7 +57,7 @@ msgstr "Все счета аналитики"
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed_open
#: model:ir.ui.menu,name:account_analytic_analysis.menu_analytic_account_to_valid_open
msgid "My Current Accounts"
msgstr ""
msgstr "Мои текущие счета"
#. module: account_analytic_analysis
#: constraint:ir.ui.view:0
@ -62,12 +67,12 @@ msgstr "Неправильный XML для просмотра архитект
#. module: account_analytic_analysis
#: help:account.analytic.account,last_invoice_date:0
msgid "Date of the last invoice created for this analytic account."
msgstr ""
msgstr "Дата последнего счета, созданного для этого аналитического счета."
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_theorical:0
msgid "Theorical Revenue"
msgstr ""
msgstr "Теоретический доход"
#. module: account_analytic_analysis
#: constraint:ir.actions.act_window:0
@ -77,7 +82,7 @@ msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,theorical_margin:0
msgid "Computed using the formula: Theorial Revenue - Total Costs"
msgstr ""
msgstr "Вычисленное используя формулу: Доход теоретический - Общая Стоимость"
#. module: account_analytic_analysis
#: constraint:ir.model:0
@ -96,23 +101,23 @@ msgstr "Новый счет аналитики"
#. module: account_analytic_analysis
#: field:account.analytic.account,theorical_margin:0
msgid "Theorical Margin"
msgstr ""
msgstr "Теоретическая маржа"
#. module: account_analytic_analysis
#: field:account.analytic.account,real_margin_rate:0
msgid "Real Margin Rate (%)"
msgstr ""
msgstr "Реальный размер маржи (%)"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_all_open
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_all_open
msgid "Current Analytic Accounts"
msgstr ""
msgstr "Текущие счета аналитики"
#. module: account_analytic_analysis
#: help:account.analytic.account,last_worked_date:0
msgid "Date of the latest work done on this account."
msgstr ""
msgstr "Дата последней работы сделанной на этом счете."
#. module: account_analytic_analysis
#: help:account.analytic.account,last_worked_invoiced_date:0
@ -120,21 +125,23 @@ msgid ""
"If invoice from the costs, this is the date of the latest work or cost that "
"have been invoiced."
msgstr ""
"Если счет составлен из расходов, это дата последней работы и затраты, "
"которые были при выставлении счета."
#. module: account_analytic_analysis
#: model:ir.ui.menu,name:account_analytic_analysis.menu_invoicing
msgid "Invoicing"
msgstr ""
msgstr "Выставление счетов"
#. module: account_analytic_analysis
#: field:account.analytic.account,last_worked_date:0
msgid "Date of Last Cost/Work"
msgstr ""
msgstr "Дата Последней Стоимости / Работы"
#. module: account_analytic_analysis
#: field:account.analytic.account,total_cost:0
msgid "Total Costs"
msgstr ""
msgstr "Общая Стоимость"
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_quantity:0
@ -142,11 +149,13 @@ msgid ""
"Number of hours you spent on the analytic account (from timesheet). It "
"computes on all journal of type 'general'."
msgstr ""
"Количество часов, которые Вы истратили на аналитический счет (из табеля). "
"Вычисляется по всем журналам типа 'Общий'."
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_hours:0
msgid "Remaining Hours"
msgstr ""
msgstr "Оставшиеся часы"
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_theorical:0
@ -166,7 +175,7 @@ msgstr "Пользователь"
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed_pending
#: model:ir.ui.menu,name:account_analytic_analysis.menu_analytic_account_to_valid_pending
msgid "My Pending Accounts"
msgstr ""
msgstr "Мои Незаконченные Отчеты"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_my
@ -177,13 +186,13 @@ msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,real_margin:0
msgid "Computed using the formula: Invoiced Amount - Total Costs."
msgstr ""
msgstr "Вычисленно используя формулу: Общая сумма по счету - Общая Стоимость"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed
#: model:ir.ui.menu,name:account_analytic_analysis.menu_analytic_account_managed
msgid "My Accounts"
msgstr ""
msgstr "Мои аккаунты"
#. module: account_analytic_analysis
#: model:ir.module.module,description:account_analytic_analysis.module_meta_information
@ -196,12 +205,12 @@ msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_non_invoiced:0
msgid "Uninvoiced Hours"
msgstr ""
msgstr "Не выставлено Часов"
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_quantity:0
msgid "Hours Tot"
msgstr ""
msgstr "Часов всего"
#. module: account_analytic_analysis
#: model:ir.ui.menu,name:account_analytic_analysis.menu_account
@ -216,43 +225,43 @@ msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_invoiced:0
msgid "Invoiced Amount"
msgstr ""
msgstr "Сумма к оплате"
#. module: account_analytic_analysis
#: model:ir.ui.menu,name:account_analytic_analysis.next_id_71
msgid "Financial Project Management"
msgstr ""
msgstr "Финансовое Управление Проектом"
#. module: account_analytic_analysis
#: field:account.analytic.account,last_worked_invoiced_date:0
msgid "Date of Last Invoiced Cost"
msgstr ""
msgstr "Дата последнего счета расходов"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_to_invoice:0
msgid "Uninvoiced Amount"
msgstr ""
msgstr "Сумма не выставлена"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_all_pending
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_all_pending
msgid "Pending Analytic Accounts"
msgstr "Счета аналитики в ожидании"
msgstr "Незаконченные Аналитические Отчеты"
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_invoiced:0
msgid "Invoiced Hours"
msgstr ""
msgstr "Выставленные часы"
#. module: account_analytic_analysis
#: field:account.analytic.account,real_margin:0
msgid "Real Margin"
msgstr ""
msgstr "Реальная маржа"
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_invoiced:0
msgid "Total customer invoiced amount for this account."
msgstr ""
msgstr "Итого сумма к оплате заказчику для этого счета."
#. module: account_analytic_analysis
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_month
@ -263,6 +272,7 @@ msgstr "Итоги в часах по месяцам"
#: help:account.analytic.account,real_margin_rate:0
msgid "Computes using the formula: (Real Margin / Total Costs) * 100."
msgstr ""
"Вычислить, используя формулу: (Реальная Маржа / общий объем расходов) * 100."
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_qtt_non_invoiced:0
@ -270,6 +280,8 @@ msgid ""
"Number of hours (from journal of type 'general') that can be invoiced if you "
"invoice based on analytic account."
msgstr ""
"Количество часов (из журнала типа \"Общие\"), которые могут быть занесены в "
"счет, если счет основан на аналитическом счету."
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@ -279,7 +291,7 @@ msgstr "Счета аналитики"
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_ca:0
msgid "Remaining Revenue"
msgstr ""
msgstr "Оставшийся доход"
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_to_invoice:0
@ -287,6 +299,8 @@ msgid ""
"If invoice from analytic account, the remaining amount you can invoice to "
"the customer based on the total costs."
msgstr ""
"Если счет основан на аналитическом счете, оставшуюся сумму вы можете "
"выставить клиенту на основе совокупного объема расходов."
#. module: account_analytic_analysis
#: help:account.analytic.account,revenue_per_hour:0
@ -296,7 +310,7 @@ msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,revenue_per_hour:0
msgid "Revenue per Hours (real)"
msgstr ""
msgstr "Доход за Часы (реальные)"
#. module: account_analytic_analysis
#: field:account_analytic_analysis.summary.month,unit_amount:0
@ -326,7 +340,7 @@ msgstr ""
#: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_all
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_all
msgid "All Uninvoiced Entries"
msgstr ""
msgstr "Все не выставленные записи"
#. module: account_analytic_analysis
#: help:account.analytic.account,total_cost:0
@ -334,3 +348,5 @@ msgid ""
"Total of costs for this account. It includes real costs (from invoices) and "
"indirect costs, like time spent on timesheets."
msgstr ""
"Общий объем расходов на этот счет. Он включает в себя реальные затраты (из "
"счетов) и косвенные издержки, как и время, затраченное по табелям."

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.6\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-04-10 04:39+0000\n"
"Last-Translator: digitalsatori <Unknown>\n"
"PO-Revision-Date: 2010-07-13 04:28+0000\n"
"Last-Translator: Black Jack <onetimespeed@hotmail.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: 2010-06-22 04:10+0000\n"
"X-Launchpad-Export-Date: 2010-07-14 03:37+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_analytic_analysis
@ -36,7 +36,7 @@ msgstr "最近开票日期"
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_ca:0
msgid "Computed using the formula: Max Invoice Price - Invoiced Amount."
msgstr "计算公式为:最高发票价格 - 票金额"
msgstr "计算公式为:最高发票价格 - 已开票金额"
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_hours:0
@ -44,25 +44,26 @@ msgid "Computed using the formula: Maximum Quantity - Hours Tot."
msgstr "计算公式为:最大数量 - 小时合计"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_all
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_all
msgid "All Analytic Accounts"
msgstr "所有辅助核算项"
msgstr "所有辅助核算项"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed_open
#: model:ir.ui.menu,name:account_analytic_analysis.menu_analytic_account_to_valid_open
msgid "My Current Accounts"
msgstr "我的当前科目"
msgstr "我的当前"
#. module: account_analytic_analysis
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "描述视图结构的XML文件无效"
msgstr "无效XML视图结构!"
#. module: account_analytic_analysis
#: help:account.analytic.account,last_invoice_date:0
msgid "Date of the last invoice created for this analytic account."
msgstr "这辅助核算项的最近开票日期"
msgstr "这辅助核算项的最近开票日期"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_theorical:0
@ -83,13 +84,13 @@ msgstr "计算公式:理论收入 - 总费用"
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr "对象名必须要以X_开头并且不能含有特殊字符!"
msgstr "对象名称必须以“x_”开头且不能包含任何特殊字符"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_new
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_new
msgid "New Analytic Account"
msgstr "新的分析科目"
msgstr "新辅助核算项"
#. module: account_analytic_analysis
#: field:account.analytic.account,theorical_margin:0
@ -105,29 +106,29 @@ msgstr "实际利润(%)"
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_all_open
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_all_open
msgid "Current Analytic Accounts"
msgstr "当前分析科目"
msgstr "当前辅助核算项"
#. module: account_analytic_analysis
#: help:account.analytic.account,last_worked_date:0
msgid "Date of the latest work done on this account."
msgstr "这科目的最近的工作完成日期"
msgstr "这的最近的工作完成日期"
#. module: account_analytic_analysis
#: help:account.analytic.account,last_worked_invoiced_date:0
msgid ""
"If invoice from the costs, this is the date of the latest work or cost that "
"have been invoiced."
msgstr "如果是成本发票,最近工作或成本的时间已开出的发票"
msgstr "如果发票来自费用, 这是最近工作日期或已开票的费用"
#. module: account_analytic_analysis
#: model:ir.ui.menu,name:account_analytic_analysis.menu_invoicing
msgid "Invoicing"
msgstr "计价折扣"
msgstr "开发票"
#. module: account_analytic_analysis
#: field:account.analytic.account,last_worked_date:0
msgid "Date of Last Cost/Work"
msgstr "最近的成本/工作 日期"
msgstr "费用或工作的最近日期"
#. module: account_analytic_analysis
#: field:account.analytic.account,total_cost:0
@ -139,7 +140,7 @@ msgstr "总成本"
msgid ""
"Number of hours you spent on the analytic account (from timesheet). It "
"computes on all journal of type 'general'."
msgstr "你的小时数在辅助核算项目(根据时间表).它计算所有普通分类帐."
msgstr "在辅助核算项你花费的小时数(根据时间表). 它在所有类型为普通的记录集合里计算."
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_hours:0
@ -190,8 +191,8 @@ msgid ""
"important data for project manager of services companies.\n"
"Add menu to show relevant information for each manager."
msgstr ""
"修改核算到显示服务公司的项目管理主要时间\n"
"添加菜单显示每个管理的有关信息"
"修改辅助核算项到显示视图, 服务公司项目经理的重要数据\n"
"添加菜单显示每个管理者的相关信息"
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_non_invoiced:0
@ -206,12 +207,12 @@ msgstr "总小时"
#. module: account_analytic_analysis
#: model:ir.ui.menu,name:account_analytic_analysis.menu_account
msgid "Analytic Accounts"
msgstr "核算项"
msgstr "辅助核算项"
#. module: account_analytic_analysis
#: model:ir.module.module,shortdesc:account_analytic_analysis.module_meta_information
msgid "report_account_analytic"
msgstr "核算项报表"
msgstr "辅助核算项报表"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_invoiced:0
@ -226,7 +227,7 @@ msgstr "财务项目管理"
#. module: account_analytic_analysis
#: field:account.analytic.account,last_worked_invoiced_date:0
msgid "Date of Last Invoiced Cost"
msgstr "最近的发票成本日期"
msgstr "最近的发票日期"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_to_invoice:0
@ -237,7 +238,7 @@ msgstr "未开票金额"
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_all_pending
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_all_pending
msgid "Pending Analytic Accounts"
msgstr "未决的辅助核算项"
msgstr "未决的辅助核算项"
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_invoiced:0
@ -269,12 +270,12 @@ msgstr "计算公式为:(实际利润/总成本×100)"
msgid ""
"Number of hours (from journal of type 'general') that can be invoiced if you "
"invoice based on analytic account."
msgstr "如果你的发票基于这辅助核算项"
msgstr "如果你的发票基于这辅助核算项, 小时数(从记录集合类型是\"普通\")可以开发票"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Analytic accounts"
msgstr "辅助核算项"
msgstr "辅助核算项"
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_ca:0
@ -286,7 +287,7 @@ msgstr "剩余的收入"
msgid ""
"If invoice from analytic account, the remaining amount you can invoice to "
"the customer based on the total costs."
msgstr "如果是辅助核算项的发票,剩余金额你能给客户开基于总成本的发票"
msgstr "如果是辅助核算项的发票, 剩余金额你能给客户开基于总成本的发票"
#. module: account_analytic_analysis
#: help:account.analytic.account,revenue_per_hour:0
@ -314,23 +315,23 @@ msgstr "月"
#: field:account_analytic_analysis.summary.month,account_id:0
#: field:account_analytic_analysis.summary.user,account_id:0
msgid "Analytic Account"
msgstr "辅助核算项"
msgstr "辅助核算项"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed_overpassed
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_managed_overpassed
msgid "Overpassed Accounts"
msgstr "已废弃项"
msgstr "已废弃项"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_all
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_all
msgid "All Uninvoiced Entries"
msgstr "所有未开发票凭证"
msgstr "所有未开发票"
#. module: account_analytic_analysis
#: help:account.analytic.account,total_cost:0
msgid ""
"Total of costs for this account. It includes real costs (from invoices) and "
"indirect costs, like time spent on timesheets."
msgstr "这科目的成本合计,它包括实际成本(发票)和间接成本,如花费的时间表"
msgstr "这的成本合计,它包括实际成本(发票)和间接成本,如花费的时间表"

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-03-29 00:37+0000\n"
"Last-Translator: digitalsatori <Unknown>\n"
"PO-Revision-Date: 2010-07-13 04:32+0000\n"
"Last-Translator: Black Jack <onetimespeed@hotmail.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: 2010-06-22 04:12+0000\n"
"X-Launchpad-Export-Date: 2010-07-14 03:37+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_analytic_default
@ -21,7 +21,7 @@ msgstr ""
#: model:ir.actions.act_window,name:account_analytic_default.action_analytic_default_form
#: model:ir.ui.menu,name:account_analytic_default.menu_analytic_defaul_form
msgid "Analytic Defaults"
msgstr "默认辅助核算科目"
msgstr "默认辅助核算"
#. module: account_analytic_default
#: model:ir.module.module,shortdesc:account_analytic_default.module_meta_information
@ -31,13 +31,13 @@ msgstr "默认科目辅助核算"
#. module: account_analytic_default
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "无效的视图结构xml文件"
msgstr "无效XML视图结构!"
#. module: account_analytic_default
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr "这对象名必须以x_开头并且不能包含特殊的字符!"
msgstr "对象名称必须以“x_”开头且不能包含任何特殊字符"
#. module: account_analytic_default
#: view:account.analytic.default:0
@ -67,7 +67,7 @@ msgstr "产品"
#. module: account_analytic_default
#: field:account.analytic.default,analytic_id:0
msgid "Analytic Account"
msgstr "辅助核算科目"
msgstr "辅助核算"
#. module: account_analytic_default
#: model:ir.model,name:account_analytic_default.model_account_analytic_default
@ -82,12 +82,12 @@ msgstr "用户"
#. module: account_analytic_default
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr "动作定义里模块名无效"
msgstr "在动作定义使用了无效的模块名。"
#. module: account_analytic_default
#: model:ir.actions.act_window,name:account_analytic_default.act_account_acount_move_line_open
msgid "Entries"
msgstr "条目"
msgstr "记录"
#. module: account_analytic_default
#: field:account.analytic.default,partner_id:0
@ -102,7 +102,7 @@ msgstr "开始日期"
#. module: account_analytic_default
#: view:account.analytic.default:0
msgid "Conditions"
msgstr "情况"
msgstr "条件"
#. module: account_analytic_default
#: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_partner

View File

@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.6\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-03-20 06:54+0000\n"
"PO-Revision-Date: 2010-07-13 08:33+0000\n"
"Last-Translator: Black Jack <onetimespeed@hotmail.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: 2010-06-22 04:10+0000\n"
"X-Launchpad-Export-Date: 2010-07-14 03:37+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account4_ids:0
msgid "Account4 Id"
msgstr "科目4ID"
msgstr "4ID"
#. module: account_analytic_plans
#: constraint:ir.model:0
@ -36,7 +36,7 @@ msgstr "交叉辅助核算"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account5_ids:0
msgid "Account5 Id"
msgstr "科目5ID"
msgstr "5ID"
#. module: account_analytic_plans
#: wizard_field:wizard.crossovered.analytic,init,date2:0
@ -75,7 +75,7 @@ msgstr "打印"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "To Date"
msgstr "至今为止"
msgstr "日期到"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance.line,plan_id:0
@ -90,7 +90,7 @@ msgstr "辅助核算分配模型"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Account Name"
msgstr "科目名称"
msgstr "名称"
#. module: account_analytic_plans
#: view:account.analytic.plan.instance.line:0
@ -135,13 +135,13 @@ msgstr "选择信息"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account3_ids:0
msgid "Account3 Id"
msgstr "科目3ID"
msgstr "3ID"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,journal_id:0
#: wizard_field:wizard.crossovered.analytic,init,journal_ids:0
msgid "Analytic Journal"
msgstr "辅助核算分类帐"
msgstr "辅助核算记录集合"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
@ -151,12 +151,12 @@ msgstr "100.00%"
#. module: account_analytic_plans
#: wizard_field:wizard.crossovered.analytic,init,ref:0
msgid "Analytic Account Ref."
msgstr "辅助核算项参考"
msgstr "辅助核算项参考"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Analytic Account :"
msgstr "辅助核算项:"
msgstr "辅助核算项:"
#. module: account_analytic_plans
#: view:account.analytic.plan.line:0
@ -166,7 +166,7 @@ msgstr "辅助核算方案明细"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Analytic Account Reference:"
msgstr "辅助核算项参考:"
msgstr "辅助核算项参考:"
#. module: account_analytic_plans
#: model:ir.actions.wizard,name:account_analytic_plans.create_model
@ -176,7 +176,7 @@ msgstr "创建模型"
#. module: account_analytic_plans
#: field:account.analytic.plan,default_instance_id:0
msgid "Default Entries"
msgstr "默认凭证"
msgstr "默认记录"
#. module: account_analytic_plans
#: view:account.analytic.plan:0
@ -194,7 +194,7 @@ msgstr "最小允许(%)"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account1_ids:0
msgid "Account1 Id"
msgstr "科目1ID"
msgstr "1ID"
#. module: account_analytic_plans
#: field:account.analytic.plan.line,max_required:0
@ -209,7 +209,7 @@ msgstr "分配模型保存"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_instance
msgid "Analytic Plan Instance"
msgstr "核算方案实例"
msgstr "辅助核算方案实例"
#. module: account_analytic_plans
#: constraint:ir.ui.view:0
@ -255,8 +255,8 @@ msgid ""
"for one account entry.\n"
" "
msgstr ""
"这模块允许使用几个辅助核算方案并根据他们生成分类帐\n"
"\t所以当开发票或确认凭证时\n"
"这模块允许使用几个辅助核算方案并根据他们生成记录集合\n"
"\t所以当开发票或确认记录时\n"
"建立多个辅助核算明细\n"
"\t\n"
"\t例子:你可以定义以下辅助核算结构:\n"
@ -307,7 +307,7 @@ msgstr "模型方案"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account2_ids:0
msgid "Account2 Id"
msgstr "科目2ID"
msgstr "2ID"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
@ -317,12 +317,12 @@ msgstr "金额"
#. module: account_analytic_plans
#: help:account.analytic.plan.line,root_analytic_id:0
msgid "Root account of this plan."
msgstr "这方案的根辅助核算项"
msgstr "这方案的根辅助核算项"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account6_ids:0
msgid "Account6 Id"
msgstr "科目6ID"
msgstr "6ID"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
@ -332,7 +332,7 @@ msgstr "数量"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account_ids:0
msgid "Account Id"
msgstr "科目ID"
msgstr "ID"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
@ -347,7 +347,7 @@ msgstr "确定"
#. module: account_analytic_plans
#: field:account.analytic.plan.line,root_analytic_id:0
msgid "Root Account"
msgstr "根辅助核算"
msgstr "根项"
#. module: account_analytic_plans
#: wizard_view:create.model,info:0
@ -363,7 +363,7 @@ msgstr "序列"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance.line,analytic_account_id:0
msgid "Analytic Account"
msgstr "辅助核算项"
msgstr "辅助核算项"
#. module: account_analytic_plans
#: field:account.analytic.default,analytics_id:0
@ -397,4 +397,4 @@ msgstr "在"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "From Date"
msgstr "根据日期"
msgstr "日期"

View File

@ -0,0 +1,64 @@
# Chinese (Simplified) translation for openobject-addons
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-11-24 12:50+0000\n"
"PO-Revision-Date: 2010-07-13 08:42+0000\n"
"Last-Translator: Black Jack <onetimespeed@hotmail.com>\n"
"Language-Team: Chinese (Simplified) <zh_CN@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: 2010-07-14 03:37+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_anglo_saxon
#: view:product.category:0
msgid " Accounting Property"
msgstr " 会计属性"
#. module: account_anglo_saxon
#: model:ir.module.module,description:account_anglo_saxon.module_meta_information
msgid ""
"This module will support the Anglo-Saxons accounting methodology by \n"
" changing the accounting logic with stock transactions. The difference "
"between the Anglo-Saxon accounting countries \n"
" and the Rhine or also called Continental accounting countries is the "
"moment of taking the Cost of Goods Sold versus Cost of Sales. \n"
" Anglo-Saxons accounting does take the cost when sales invoice is "
"created, Continental accounting will take the cost at he moment the goods "
"are shipped.\n"
" This module will add this functionality by using a interim account, to "
"store the value of shipped goods and will contra book this interim account \n"
" when the invoice is created to transfer this amount to the debtor or "
"creditor account."
msgstr ""
#. module: account_anglo_saxon
#: model:ir.module.module,shortdesc:account_anglo_saxon.module_meta_information
msgid "Stock Account"
msgstr "库存科目"
#. module: account_anglo_saxon
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "无效XML视图结构!"
#. module: account_anglo_saxon
#: field:product.category,property_account_creditor_price_difference_categ:0
#: field:product.template,property_account_creditor_price_difference:0
msgid "Price Difference Account"
msgstr "价格差异科目"
#. module: account_anglo_saxon
#: help:product.category,property_account_creditor_price_difference_categ:0
#: help:product.template,property_account_creditor_price_difference:0
msgid ""
"This account will be used to value price difference between purchase price "
"and cost price."
msgstr "这科目将用于在采购价格和销售价格之间的价格差异"

View File

@ -148,7 +148,7 @@
<field name="state" select="1"/>
<group col="4" colspan="2">
<button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-apply" />
<button string="Validate" name="validate" states="confirm" type="workflow" icon="gtk-ok"/>
<button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-ok"/>
<button string="Done" name="done" states="validate" type="workflow" icon="gtk-jump-to" />
<button string="Cancel" name="cancel" states="confirm,validate" type="workflow" icon="gtk-cancel"/>
<!--<button string="Set to Draft" name="action_set_to_draft" states="cancel" type="object"/>-->
@ -181,7 +181,7 @@
<search string="Budget">
<group col="20" colspan="4">
<filter string="Draft" icon="terp-document-new" domain="[('state','=','draft')]" help="Draft Budgets" default="1"/>
<filter string="To Validate" icon="terp-gtk-go-back-rtl" domain="[('state','=','validate')]" help="To Validate Budgets" />
<filter string="To Approve" icon="terp-gtk-go-back-rtl" domain="[('state','=','validate')]" help="To Approve Budgets" />
<separator orientation="vertical"/>
<field name="name" select="1"/>
<field name="code" select="1" />

View File

@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.6\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-03-20 06:58+0000\n"
"PO-Revision-Date: 2010-07-13 08:55+0000\n"
"Last-Translator: Black Jack <onetimespeed@hotmail.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: 2010-06-22 04:18+0000\n"
"X-Launchpad-Export-Date: 2010-07-14 03:37+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_budget
#: field:crossovered.budget,creating_user_id:0
msgid "Responsible User"
msgstr "责用户"
msgstr "责用户"
#. module: account_budget
#: rml:account.budget:0
@ -30,7 +30,7 @@ msgstr "% 执行%"
#: model:ir.actions.act_window,name:account_budget.open_budget_post_form
#: model:ir.ui.menu,name:account_budget.menu_budget_post_form
msgid "Budgetary Positions"
msgstr "预算位于"
msgstr "预算状况"
#. module: account_budget
#: constraint:ir.actions.act_window:0
@ -75,7 +75,7 @@ msgstr "会计期间"
#: wizard_field:wizard.crossovered.budget,init,date_to:0
#: wizard_field:wizard.crossovered.budget.summary,init,date_to:0
msgid "End of period"
msgstr "会计期间结束"
msgstr "结束会计期间"
#. module: account_budget
#: rml:account.budget:0
@ -183,7 +183,7 @@ msgstr ""
#: rml:account.budget:0
#: rml:crossovered.budget.report:0
msgid "%"
msgstr ""
msgstr "%"
#. module: account_budget
#: rml:account.analytic.account.budget:0
@ -194,7 +194,7 @@ msgstr "说明"
#. module: account_budget
#: rml:account.analytic.account.budget:0
msgid "Analytic Account :"
msgstr "辅助核算项:"
msgstr "辅助核算项:"
#. module: account_budget
#: wizard_button:account.budget.report,init,report:0
@ -207,7 +207,7 @@ msgstr "打印"
#. module: account_budget
#: rml:account.budget:0
msgid "A/c No."
msgstr ""
msgstr "A/c No."
#. module: account_budget
#: rml:account.analytic.account.budget:0
@ -369,7 +369,7 @@ msgstr "预算项详情"
#: field:crossovered.budget.lines,general_budget_id:0
#: model:ir.model,name:account_budget.model_account_budget_post
msgid "Budgetary Position"
msgstr "预算位于"
msgstr "预算状况"
#. module: account_budget
#: wizard_field:account.budget.report,init,date1:0
@ -377,7 +377,7 @@ msgstr "预算位于"
#: wizard_field:wizard.crossovered.budget,init,date_from:0
#: wizard_field:wizard.crossovered.budget.summary,init,date_from:0
msgid "Start of period"
msgstr "期初日期"
msgstr "开始会计期间"
#. module: account_budget
#: model:ir.actions.report.xml,name:account_budget.account_analytic_account_budget
@ -422,7 +422,7 @@ msgstr "会计年度"
#. module: account_budget
#: field:crossovered.budget.lines,analytic_account_id:0
msgid "Analytic Account"
msgstr "辅助核算项"
msgstr "辅助核算项"
#. module: account_budget
#: rml:crossovered.budget.report:0
@ -441,7 +441,7 @@ msgstr "延伸"
#: view:account.budget.post:0
#: field:account.budget.post,account_ids:0
msgid "Accounts"
msgstr "科目"
msgstr ""
#. module: account_budget
#: model:ir.actions.report.xml,name:account_budget.account_budget

View File

@ -0,0 +1,169 @@
# Chinese (Simplified) translation for openobject-addons
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-11-24 13:11+0000\n"
"PO-Revision-Date: 2010-07-13 09:17+0000\n"
"Last-Translator: Black Jack <onetimespeed@hotmail.com>\n"
"Language-Team: Chinese (Simplified) <zh_CN@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: 2010-07-14 03:37+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_coda
#: field:account.coda,journal_id:0
#: wizard_field:account.coda_import,init,journal_id:0
msgid "Bank Journal"
msgstr "银行记录集合"
#. module: account_coda
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr "对象名称必须以“x_”开头且不能包含任何特殊字符"
#. module: account_coda
#: wizard_field:account.coda_import,extraction,note:0
msgid "Log"
msgstr "日志"
#. module: account_coda
#: wizard_button:account.coda_import,extraction,open:0
msgid "_Open Statement"
msgstr "打开对帐单"
#. module: account_coda
#: model:ir.module.module,shortdesc:account_coda.module_meta_information
msgid "Account CODA"
msgstr "帐号 CODA"
#. module: account_coda
#: field:account.coda,name:0
msgid "Coda file"
msgstr "Coda文件"
#. module: account_coda
#: wizard_view:account.coda_import,init:0
msgid "Clic on 'New' to select your file :"
msgstr "点击\"新\"去选择你的文件:"
#. module: account_coda
#: model:ir.actions.wizard,name:account_coda.wizard_account_coda_import
msgid "Import Coda File"
msgstr "导入CODA文件"
#. module: account_coda
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr "在动作定义使用了无效的模块名。"
#. module: account_coda
#: field:account.coda,note:0
msgid "Import log"
msgstr "导入日志"
#. module: account_coda
#: wizard_field:account.coda_import,init,def_receivable:0
msgid "Default receivable Account"
msgstr "默认应收帐款科目"
#. module: account_coda
#: model:ir.module.module,description:account_coda.module_meta_information
msgid ""
"Module provides functionality to import\n"
" bank statements from .csv file.\n"
" Import coda file wizard is used to import bank statements."
msgstr ""
"模块提供导入功能\n"
" 银行对帐单从 .csv文件\n"
" 导入CODA文件向导用于导入银行对帐单"
#. module: account_coda
#: wizard_button:account.coda_import,extraction,end:0
msgid "_Close"
msgstr "关闭"
#. module: account_coda
#: field:account.coda,statement_id:0
msgid "Generated Bank Statement"
msgstr "生成银行对帐单"
#. module: account_coda
#: view:account.coda:0
#: model:ir.actions.act_window,name:account_coda.act_account_payment_account_bank_statement
#: model:ir.actions.act_window,name:account_coda.action_account_coda
msgid "Coda import"
msgstr "coda导入"
#. module: account_coda
#: field:account.coda,user_id:0
msgid "User"
msgstr "用户"
#. module: account_coda
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "无效XML视图结构!"
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_coda
msgid "coda for an Account"
msgstr "帐号的CODA"
#. module: account_coda
#: wizard_field:account.coda_import,init,def_payable:0
msgid "Default Payable Account"
msgstr "默认应付帐款科目"
#. module: account_coda
#: model:ir.ui.menu,name:account_coda.menu_account_coda
msgid "Coda Statements"
msgstr "CODA"
#. module: account_coda
#: model:ir.ui.menu,name:account_coda.menu_account_coda_wizard
msgid "Import Coda Statements"
msgstr "导入CODA"
#. module: account_coda
#: wizard_button:account.coda_import,init,extraction:0
msgid "_Ok"
msgstr "确定"
#. module: account_coda
#: wizard_view:account.coda_import,extraction:0
#: wizard_view:account.coda_import,init:0
msgid "Import Coda Statement"
msgstr "导入CODA"
#. module: account_coda
#: field:account.bank.statement,coda_id:0
msgid "Coda"
msgstr "CODA"
#. module: account_coda
#: wizard_view:account.coda_import,extraction:0
msgid "Results :"
msgstr "结果:"
#. module: account_coda
#: wizard_field:account.coda_import,init,coda:0
msgid "Coda File"
msgstr "CODA文件"
#. module: account_coda
#: field:account.coda,date:0
msgid "Import Date"
msgstr "导入日期"
#. module: account_coda
#: wizard_view:account.coda_import,init:0
msgid "Select your bank journal :"
msgstr "选择你银行记录集合:"

View File

@ -53,6 +53,7 @@
'account_followup_data.xml'
],
'demo_xml': ['account_followup_demo.xml'],
'test': ['test/account_followup.yml'],
'installable': True,
'active': False,
'certificate': '0072481076453',

View File

@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-09-08 12:23+0000\n"
"Last-Translator: Sergei Kostigoff <sergei.kostigoff@gmail.com>\n"
"PO-Revision-Date: 2010-07-10 16:56+0000\n"
"Last-Translator: Pomazan Bogdan <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: 2010-06-22 04:03+0000\n"
"X-Launchpad-Export-Date: 2010-07-11 03:41+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_followup
#: rml:account_followup.followup.print:0
msgid "Date :"
msgstr ""
msgstr "Дата :"
#. module: account_followup
#: wizard_field:account_followup.followup.print.all,next,partner_ids:0
@ -40,7 +40,7 @@ msgstr "Все проводки к оплате"
#. module: account_followup
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr ""
msgstr "Недопустимое имя модели в определении действия."
#. module: account_followup
#: field:account_followup.followup.line,description:0
@ -87,7 +87,7 @@ msgstr "Дебет"
#. module: account_followup
#: wizard_view:account_followup.followup.print.all,next:0
msgid "Email Settings"
msgstr ""
msgstr "Параметры эл. почты"
#. module: account_followup
#: field:account_followup.stat,account_type:0
@ -151,7 +151,7 @@ msgstr "Компания"
#. module: account_followup
#: rml:account_followup.followup.print:0
msgid "Invoice Date"
msgstr ""
msgstr "Дата счета-фактуры"
#. module: account_followup
#: wizard_field:account_followup.followup.print.all,next,email_subject:0
@ -186,7 +186,7 @@ msgstr "Критерии дальнейших действий"
#. module: account_followup
#: wizard_view:account_followup.followup.print.all,next:0
msgid "Partner Selection"
msgstr ""
msgstr "Выбор партнера"
#. module: account_followup
#: constraint:ir.ui.view:0
@ -242,7 +242,7 @@ msgstr ""
#. module: account_followup
#: wizard_button:account_followup.followup.print.all,summary,end:0
msgid "Ok"
msgstr ""
msgstr "Ок"
#. module: account_followup
#: field:account_followup.followup,name:0
@ -264,7 +264,7 @@ msgstr "Конец месяца"
#: view:account_followup.followup.line:0
#: wizard_view:account_followup.followup.print.all,next:0
msgid "%(company_name)s: User's Company name"
msgstr ""
msgstr "%(company_name): Название компании пользователя"
#. module: account_followup
#: model:ir.actions.act_window,name:account_followup.act_account_partner_account_move_all
@ -275,7 +275,7 @@ msgstr ""
#. module: account_followup
#: view:account_followup.followup:0
msgid "Lines"
msgstr ""
msgstr "Линии"
#. module: account_followup
#: model:ir.actions.wizard,name:account_followup.action_account_followup_all_wizard
@ -312,7 +312,7 @@ msgstr ""
#: wizard_view:account_followup.followup.print.all,summary:0
#: wizard_field:account_followup.followup.print.all,summary,summary:0
msgid "Summary"
msgstr ""
msgstr "Сводка"
#. module: account_followup
#: view:account_followup.followup.line:0
@ -439,7 +439,7 @@ msgstr ""
#. module: account_followup
#: rml:account_followup.followup.print:0
msgid "Maturity Date"
msgstr ""
msgstr "Срок платежа"
#. module: account_followup
#: view:account_followup.followup.line:0

View File

@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.6\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-03-20 07:04+0000\n"
"PO-Revision-Date: 2010-07-13 09:42+0000\n"
"Last-Translator: Black Jack <onetimespeed@hotmail.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: 2010-06-22 04:03+0000\n"
"X-Launchpad-Export-Date: 2010-07-14 03:36+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_followup
#: rml:account_followup.followup.print:0
msgid "Date :"
msgstr "打印日期:"
msgstr "日期:"
#. module: account_followup
#: wizard_field:account_followup.followup.print.all,next,partner_ids:0
@ -35,12 +35,12 @@ msgstr "客户参考:"
#: model:ir.actions.act_window,name:account_followup.act_account_partner_account_move_payable_all
#: model:ir.ui.menu,name:account_followup.menu_account_move_open_unreconcile_payable
msgid "All payable entries"
msgstr "所有应付款凭证"
msgstr "所有应付款"
#. module: account_followup
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr "在这动作定义中有无效的模块名"
msgstr "在动作定义使用了无效的模块名。"
#. module: account_followup
#: field:account_followup.followup.line,description:0
@ -66,7 +66,7 @@ msgstr "借方合计"
#: view:account_followup.followup.line:0
#: wizard_view:account_followup.followup.print.all,next:0
msgid "%(user_signature)s: User name"
msgstr "%(user_signature)s:用户名 %(user_signature)"
msgstr "%(user_signature)s:用户名"
#. module: account_followup
#: wizard_view:account_followup.followup.print.all,next:0
@ -176,7 +176,7 @@ msgstr "最近跟进"
#. module: account_followup
#: view:account.move.line:0
msgid "Partner entries"
msgstr "业务伙伴凭证"
msgstr "业务伙伴记录"
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_followup_followup_line
@ -191,7 +191,7 @@ msgstr "业务伙伴选择"
#. module: account_followup
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "无效的视图结构XML文件!"
msgstr "无效XML视图结构!"
#. module: account_followup
#: field:account_followup.followup.line,start:0
@ -211,7 +211,7 @@ msgstr "给业务伙伴一个提醒电子邮件"
#. module: account_followup
#: rml:account_followup.followup.print:0
msgid "Li."
msgstr ""
msgstr "Li."
#. module: account_followup
#: model:account_followup.followup.line,description:account_followup.demo_followup_line1
@ -242,7 +242,7 @@ msgstr ""
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr "对象名必须要以X_开头并且不能含有特殊字符!"
msgstr "对象名称必须以“x_”开头且不能包含任何特殊字符"
#. module: account_followup
#: wizard_button:account_followup.followup.print.all,summary,end:0
@ -269,7 +269,7 @@ msgstr "月末"
#: view:account_followup.followup.line:0
#: wizard_view:account_followup.followup.print.all,next:0
msgid "%(company_name)s: User's Company name"
msgstr "公司名称:%(company_currency)s"
msgstr "用户公司名称:%(company_currency)s"
#. module: account_followup
#: model:ir.actions.act_window,name:account_followup.act_account_partner_account_move_all
@ -291,7 +291,7 @@ msgstr "发送跟进"
#. module: account_followup
#: field:account.move.line,followup_line_id:0
msgid "Follow-up Level"
msgstr "跟进期限"
msgstr "跟进等级"
#. module: account_followup
#: field:account_followup.stat,credit:0
@ -327,7 +327,7 @@ msgstr "跟进明细"
#. module: account_followup
#: rml:account_followup.followup.print:0
msgid "Document : Customer account statement"
msgstr "客户科目报表"
msgstr "文档: 客户科目对帐单"
#. module: account_followup
#: view:account_followup.stat:0
@ -337,7 +337,7 @@ msgstr "跟进明细"
#. module: account_followup
#: wizard_view:account_followup.followup.print.all,next:0
msgid "%(company_currency)s: User's Company Currency"
msgstr "当前公司:%(company_currency)s"
msgstr "当前用户公司:%(company_currency)s"
#. module: account_followup
#: field:account_followup.stat,balance:0
@ -379,6 +379,17 @@ msgid ""
"Best Regards,\n"
"\t\t\t"
msgstr ""
"\n"
"尊敬的%(partner_name)s,\n"
"\n"
"我们不得不发这个通知, 你的帐户已经严重逾期\n"
"请立即支付, 否则我们不得不停止你的帐户, 并停止一切业务.\n"
"\n"
"请采取措施确保在8天内支付.\n"
"如有疑问请立即联系我们.\n"
" "
" 商祺\n"
"\t\t\t"
#. module: account_followup
#: rml:account_followup.followup.print:0
@ -413,7 +424,7 @@ msgstr "最后"
#. module: account_followup
#: rml:account_followup.followup.print:0
msgid "Maturity"
msgstr "到期"
msgstr "到期日期"
#. module: account_followup
#: model:ir.actions.report.xml,name:account_followup.account_followup_followup_report
@ -459,7 +470,7 @@ msgstr "到期日期"
#: view:account_followup.followup.line:0
#: wizard_view:account_followup.followup.print.all,next:0
msgid "Legend"
msgstr "说明"
msgstr "图表"
#. module: account_followup
#: field:account_followup.followup.line,sequence:0
@ -508,9 +519,6 @@ msgstr "拖延天数"
msgid "Print Follow Ups & Send Mails"
msgstr "打印跟进&发送电子邮件"
#~ msgid "Follow-up Message"
#~ msgstr "跟进消息"
#~ msgid ""
#~ "\n"
#~ " Modules to automate letters for unpaid invoices, with multi-level "
@ -551,11 +559,3 @@ msgstr "打印跟进&发送电子邮件"
#~ "注意:如果你想要变更一业务伙伴/凭证的跟进级别,你可以在菜单:\n"
#~ " 财务管理/报表/跟进/所有应收账款凭证\n"
#~ "\n"
#~ msgid ""
#~ "Do not change message text, if you want to send email in partner language, "
#~ "or configre from company"
#~ msgstr "如果你想在发送的电子邮件中用业务伙伴的语言,请不要改变着消息的文本"
#~ msgid "Send Email in Partner Language"
#~ msgstr "发送到业务伙伴Email的语言"

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2008-11-03 17:56+0000\n"
"Last-Translator: Sergei Kostigoff <sergei.kostigoff@gmail.com>\n"
"PO-Revision-Date: 2010-07-11 09:01+0000\n"
"Last-Translator: Pomazan Bogdan <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: 2010-06-22 04:11+0000\n"
"X-Launchpad-Export-Date: 2010-07-12 03:47+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_invoice_layout
@ -48,7 +48,7 @@ msgstr "Название"
#. module: account_invoice_layout
#: model:ir.actions.wizard,name:account_invoice_layout.wizard_notify_message
msgid "Invoices with Layout and Message"
msgstr ""
msgstr "Счет-фактура с макетом и сообщением"
#. module: account_invoice_layout
#: rml:account.invoice.layout:0
@ -119,7 +119,7 @@ msgstr "Ссылка на клиента:"
#. module: account_invoice_layout
#: rml:account.invoice.layout:0
msgid ")"
msgstr ""
msgstr ")"
#. module: account_invoice_layout
#: field:account.invoice.line,state:0
@ -209,7 +209,7 @@ msgstr "Продукт"
#. module: account_invoice_layout
#: model:ir.actions.report.xml,name:account_invoice_layout.account_invoices_1
msgid "Invoices with Layout"
msgstr ""
msgstr "Счет-фактура с макетом"
#. module: account_invoice_layout
#: rml:account.invoice.layout:0

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.6\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-03-20 07:11+0000\n"
"PO-Revision-Date: 2010-07-13 10:00+0000\n"
"Last-Translator: Black Jack <onetimespeed@hotmail.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: 2010-06-22 04:11+0000\n"
"X-Launchpad-Export-Date: 2010-07-14 03:37+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_invoice_layout
@ -30,12 +30,12 @@ msgstr "发票日期:"
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr "对象名必须要以X_开头并且不能含有特殊字符!"
msgstr "对象名称必须以“x_”开头且不能包含任何特殊字符"
#. module: account_invoice_layout
#: rml:account.invoice.layout:0
msgid "Cancelled Invoice"
msgstr "取消发票"
msgstr "取消发票"
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
@ -82,7 +82,7 @@ msgstr "单价"
#. module: account_invoice_layout
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr "在这动作定义中有无效的模块名"
msgstr "在动作定义使用了无效的模块名。"
#. module: account_invoice_layout
#: model:ir.model,name:account_invoice_layout.model_notify_message
@ -102,7 +102,7 @@ msgstr "发票明细"
#. module: account_invoice_layout
#: view:account.invoice.line:0
msgid "Seq."
msgstr "序"
msgstr "序"
#. module: account_invoice_layout
#: model:ir.ui.menu,name:account_invoice_layout.menu_finan_config_notify_message
@ -117,7 +117,7 @@ msgstr "客户参考"
#. module: account_invoice_layout
#: rml:account.invoice.layout:0
msgid ")"
msgstr ""
msgstr ")"
#. module: account_invoice_layout
#: field:account.invoice.line,state:0
@ -132,7 +132,7 @@ msgstr "价格"
#. module: account_invoice_layout
#: rml:account.invoice.layout:0
msgid "/ ("
msgstr ""
msgstr "/ ("
#. module: account_invoice_layout
#: rml:account.invoice.layout:0
@ -187,12 +187,12 @@ msgstr "分页符"
#. module: account_invoice_layout
#: rml:account.invoice.layout:0
msgid "Document:"
msgstr "票据:"
msgstr "文档:"
#. module: account_invoice_layout
#: wizard_view:wizard.notify_message,init:0
msgid "Select Message"
msgstr "选择息"
msgstr "选择息"
#. module: account_invoice_layout
#: view:notify.message:0
@ -242,7 +242,7 @@ msgstr "数量"
#. module: account_invoice_layout
#: rml:account.invoice.layout:0
msgid "Refund"
msgstr "退"
msgstr "退"
#. module: account_invoice_layout
#: rml:account.invoice.layout:0
@ -252,7 +252,7 @@ msgstr "增值税"
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
msgid "Separator Line"
msgstr "分线"
msgstr "分线"
#. module: account_invoice_layout
#: rml:account.invoice.layout:0
@ -267,17 +267,17 @@ msgstr "备注:"
#. module: account_invoice_layout
#: rml:account.invoice.layout:0
msgid "Tax"
msgstr "税"
msgstr "税"
#. module: account_invoice_layout
#: model:ir.module.module,shortdesc:account_invoice_layout.module_meta_information
msgid "account_invoice_layout"
msgstr ""
msgstr "发票式样"
#. module: account_invoice_layout
#: rml:account.invoice.layout:0
msgid "Total (Excl. taxes):"
msgstr "(不含税):"
msgstr "合计(不含税):"
#. module: account_invoice_layout
#: rml:account.invoice.layout:0
@ -292,7 +292,7 @@ msgstr "取消"
#. module: account_invoice_layout
#: rml:account.invoice.layout:0
msgid "Supplier Refund"
msgstr "供应商退"
msgstr "供应商退"
#. module: account_invoice_layout
#: wizard_field:wizard.notify_message,init,message:0

View File

@ -207,7 +207,7 @@
</record>
<record id="action_payment_order_open" model="ir.actions.act_window">
<field name="name">Payment Orders to Validate</field>
<field name="name">Payment Orders to Approve</field>
<field name="res_model">payment.order</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-04-07 22:24+0000\n"
"Last-Translator: mitev.dmitry <Unknown>\n"
"PO-Revision-Date: 2010-07-13 10:09+0000\n"
"Last-Translator: Kuvaly [LCT] <kuvaly@seznam.cz>\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: 2010-06-22 04:10+0000\n"
"X-Launchpad-Export-Date: 2010-07-14 03:37+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_payment
@ -29,7 +29,7 @@ msgstr ""
#. module: account_payment
#: view:payment.order:0
msgid "Set to draft"
msgstr ""
msgstr "Uložit jako návrh"
#. module: account_payment
#: help:payment.order,mode:0
@ -39,7 +39,7 @@ msgstr ""
#. module: account_payment
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr ""
msgstr "Špatný název modelu v definici akce"
#. module: account_payment
#: view:payment.line:0
@ -85,7 +85,7 @@ msgstr ""
#. module: account_payment
#: view:account.move.line:0
msgid "Account Entry Line"
msgstr ""
msgstr "Účet příchozí linky"
#. module: account_payment
#: wizard_button:populate_payment,search,create:0
@ -358,6 +358,7 @@ msgstr ""
#. module: account_payment
#: rml:payment.order:0
#: wizard_field:populate_statement,init,d_date:0
msgid "Date"
msgstr ""
@ -385,6 +386,7 @@ msgstr ""
#. module: account_payment
#: field:payment.line,ml_maturity_date:0
#: selection:populate_statement,init,date_select:0
msgid "Maturity Date"
msgstr ""

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2008-11-03 18:51+0000\n"
"Last-Translator: Sergei Kostigoff <sergei.kostigoff@gmail.com>\n"
"PO-Revision-Date: 2010-07-11 09:03+0000\n"
"Last-Translator: Pomazan Bogdan <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: 2010-06-22 04:10+0000\n"
"X-Launchpad-Export-Date: 2010-07-12 03:46+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_payment
@ -39,7 +39,7 @@ msgstr ""
#. module: account_payment
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr ""
msgstr "Недопустимое имя модели в определении действия."
#. module: account_payment
#: view:payment.line:0
@ -283,7 +283,7 @@ msgstr ""
#. module: account_payment
#: field:payment.line,communication:0
msgid "Communication"
msgstr ""
msgstr "Связь"
#. module: account_payment
#: selection:payment.order,date_prefered:0
@ -309,7 +309,7 @@ msgstr ""
#: view:payment.type:0
#: help:payment.type,name:0
msgid "Payment Type"
msgstr ""
msgstr "Способ оплаты"
#. module: account_payment
#: help:payment.line,amount_currency:0
@ -526,7 +526,7 @@ msgstr ""
#. module: account_payment
#: field:payment.line,company_currency:0
msgid "Company Currency"
msgstr ""
msgstr "Валюта компании"
#. module: account_payment
#: model:ir.ui.menu,name:account_payment.menu_main

View File

@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.6\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-06-04 13:32+0000\n"
"Last-Translator: Eleanor Chen <chenyueg@gmail.com>\n"
"PO-Revision-Date: 2010-07-13 11:02+0000\n"
"Last-Translator: Black Jack <onetimespeed@hotmail.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: 2010-06-22 04:10+0000\n"
"X-Launchpad-Export-Date: 2010-07-14 03:37+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_payment
#: field:payment.order,date_planned:0
msgid "Scheduled date if fixed"
msgstr "预定日期如果是固定"
msgstr "指定日期(如果是固定)"
#. module: account_payment
#: field:payment.line,currency:0
@ -39,21 +39,23 @@ msgstr "选择使用的付款方式"
#. module: account_payment
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr "在这动作定义中有无效的模块名"
msgstr "在动作定义使用了无效的模块名。"
#. module: account_payment
#: view:payment.line:0
#: field:payment.line,info_owner:0
#: view:payment.order:0
msgid "Owner Account"
msgstr "自己的账号"
msgstr "所有者科目"
#. module: account_payment
#: help:account.invoice,amount_to_pay:0
msgid ""
"The amount which should be paid at the current date\n"
"minus the amount which is already in payment order"
msgstr "该金额应在当前日期支付扣减付款单"
msgstr ""
"在当前日期应支付的金额\n"
"减去的金额在付款单中"
#. module: account_payment
#: help:payment.line,date:0
@ -75,7 +77,7 @@ msgstr "自由"
#. module: account_payment
#: wizard_field:populate_payment,search,entries:0
msgid "Entries"
msgstr "凭证"
msgstr "记录"
#. module: account_payment
#: wizard_field:populate_payment,init,duedate:0
@ -85,7 +87,7 @@ msgstr "到期日期"
#. module: account_payment
#: view:account.move.line:0
msgid "Account Entry Line"
msgstr "凭证明细"
msgstr "分录明细"
#. module: account_payment
#: wizard_button:populate_payment,search,create:0
@ -111,7 +113,7 @@ msgstr "公司货币的合计"
#. module: account_payment
#: selection:payment.order,state:0
msgid "Cancelled"
msgstr "取消"
msgstr "取消"
#. module: account_payment
#: model:ir.actions.act_window,name:account_payment.action_payment_order_tree_new
@ -172,12 +174,12 @@ msgstr "付款明细"
#. module: account_payment
#: help:payment.order,date_planned:0
msgid "Select a date if you have chosen Preferred Date to be fixed."
msgstr "如果你选择的优先日期是固定的选择一个日期"
msgstr "如果你选择的优先日期是固定的, 选择一个日期"
#. module: account_payment
#: selection:payment.line,state:0
msgid "Structured"
msgstr "规范"
msgstr "已安排"
#. module: account_payment
#: field:payment.order,state:0
@ -213,7 +215,7 @@ msgid ""
"Choose an option for the Payment Order:'Fixed' stands for a date specified "
"by you.'Directly' stands for the direct execution.'Due date' stands for the "
"scheduled date of execution."
msgstr "选择付款单选项‘固定’由你指定一个指定的日期.‘直接’直接执行.‘预定日期’指定一个时间表的日期执行."
msgstr "选择付款单选项‘固定’由你指定一个指定的日期. ‘直接’表示直接执行. ‘到期日期’指定一个时间表的日期执行."
#. module: account_payment
#: view:account.move.line:0
@ -239,7 +241,7 @@ msgstr "目标科目"
#: view:payment.line:0
#: view:payment.order:0
msgid "Desitination Account"
msgstr "目标账号"
msgstr "目标科目"
#. module: account_payment
#: constraint:ir.ui.view:0
@ -266,7 +268,7 @@ msgstr "当前金额合计"
#. module: account_payment
#: view:payment.order:0
msgid "Make Payments"
msgstr "付款"
msgstr "建立付款"
#. module: account_payment
#: field:payment.line,state:0
@ -343,7 +345,7 @@ msgstr "贷方合计"
#. module: account_payment
#: model:ir.actions.wizard,name:account_payment.wizard_populate_payment
msgid "Populate payment"
msgstr "填付款"
msgstr "填付款"
#. module: account_payment
#: field:payment.order,user_id:0
@ -358,6 +360,7 @@ msgstr "付款明细"
#. module: account_payment
#: rml:payment.order:0
#: wizard_field:populate_statement,init,d_date:0
msgid "Date"
msgstr "日期"
@ -385,8 +388,9 @@ msgstr "创建日期"
#. module: account_payment
#: field:payment.line,ml_maturity_date:0
#: selection:populate_statement,init,date_select:0
msgid "Maturity Date"
msgstr "到期日期"
msgstr "付款到期日期"
#. module: account_payment
#: view:account.bank.statement:0
@ -459,7 +463,7 @@ msgstr "信息"
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr "对象名必须要以X_开头并且不能含有特殊字符!"
msgstr "对象名称必须以“x_”开头且不能包含任何特殊字符"
#. module: account_payment
#: model:ir.actions.wizard,name:account_payment.wizard_pay_payment
@ -486,7 +490,7 @@ msgstr "在公司货币的付款金额"
#. module: account_payment
#: wizard_view:populate_payment,init:0
msgid "Search Payment lines"
msgstr "付款明细"
msgstr "查询付款明细"
#. module: account_payment
#: field:payment.line,amount_currency:0
@ -501,18 +505,18 @@ msgstr "沟通2"
#. module: account_payment
#: field:payment.line,bank_id:0
msgid "Destination Bank account"
msgstr "银行账号"
msgstr "目标银行帐号"
#. module: account_payment
#: help:payment.mode,journal:0
msgid "Cash Journal for the Payment Mode"
msgstr "付款方式的现金分类帐"
msgstr "付款方式的现金记录集合"
#. module: account_payment
#: field:payment.mode,bank_id:0
#: rml:payment.order:0
msgid "Bank account"
msgstr "银行号"
msgstr "银行号"
#. module: account_payment
#: view:payment.order:0
@ -535,7 +539,7 @@ msgstr "付款"
#. module: account_payment
#: field:payment.line,move_line_id:0
msgid "Entry line"
msgstr ""
msgstr "明细"
#. module: account_payment
#: help:payment.line,communication:0
@ -559,12 +563,12 @@ msgstr "查找"
#: view:payment.line:0
#: view:payment.order:0
msgid "Entry Information"
msgstr "凭证信息"
msgstr "信息"
#. module: account_payment
#: model:ir.actions.wizard,name:account_payment.wizard_populate_statement
msgid "Populate Statement with Payment lines"
msgstr "填付款明细"
msgstr "填付款明细"
#. module: account_payment
#: field:payment.line,order_id:0
@ -607,12 +611,12 @@ msgstr "付款方式"
#. module: account_payment
#: help:payment.mode,bank_id:0
msgid "Bank Account for the Payment Mode"
msgstr "银行账号付款方式"
msgstr "这付款方式的银行帐号"
#. module: account_payment
#: field:payment.mode,journal:0
msgid "Journal"
msgstr "分类帐"
msgstr "记录集合"
#~ msgid ""
#~ "\n"

View File

@ -1,8 +1,5 @@
-
In order to test account_payment in OpenERP I create a new record Type
-
-
Creating a payment.type record
In order to test account_payment in OpenERP I create a new record Type.
-
!record {model: payment.type, id: payment_type_t0}:
code: T0
@ -127,19 +124,3 @@
- state == 'done'

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2008-11-03 18:54+0000\n"
"Last-Translator: Sergei Kostigoff <sergei.kostigoff@gmail.com>\n"
"PO-Revision-Date: 2010-07-10 17:01+0000\n"
"Last-Translator: Pomazan Bogdan <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: 2010-06-22 03:55+0000\n"
"X-Launchpad-Export-Date: 2010-07-11 03:41+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_report
@ -26,12 +26,12 @@ msgstr "Индикатор"
#. module: account_report
#: wizard_field:print.indicators.pdf,init,file:0
msgid "Select a PDF File"
msgstr ""
msgstr "Выберете PDF документ"
#. module: account_report
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr ""
msgstr "Недопустимое имя модели в определении действия."
#. module: account_report
#: view:account.report.report:0
@ -46,7 +46,7 @@ msgstr "Предок"
#. module: account_report
#: field:account.report.report,disp_graph:0
msgid "Display As Graph"
msgstr ""
msgstr "Показать как график"
#. module: account_report
#: view:account.report.report:0
@ -143,7 +143,7 @@ msgstr ""
#. module: account_report
#: wizard_button:print.indicators,init,next:0
msgid "Next"
msgstr ""
msgstr "Далее"
#. module: account_report
#: model:ir.module.module,shortdesc:account_report.module_meta_information
@ -154,7 +154,7 @@ msgstr ""
#: wizard_button:print.indicators,next,print:0
#: wizard_button:print.indicators.pdf,init,print:0
msgid "Print"
msgstr ""
msgstr "Печать"
#. module: account_report
#: field:account.report.report,type:0
@ -195,7 +195,7 @@ msgstr ""
#. module: account_report
#: wizard_field:print.indicators,init,select_base:0
msgid "Choose Criteria"
msgstr ""
msgstr "Выберите критерии"
#. module: account_report
#: view:account.report.report:0
@ -321,7 +321,7 @@ msgstr ""
#. module: account_report
#: field:account.report.history,period_id:0
msgid "Period"
msgstr ""
msgstr "Период"
#. module: account_report
#: view:account.report.report:0
@ -338,12 +338,12 @@ msgstr "Описание операторов"
#: wizard_button:print.indicators,next,end:0
#: wizard_button:print.indicators.pdf,init,end:0
msgid "Cancel"
msgstr ""
msgstr "Отмена"
#. module: account_report
#: field:account.report.report,child_ids:0
msgid "Children"
msgstr ""
msgstr "Дети"
#. module: account_report
#: constraint:ir.model:0
@ -402,7 +402,7 @@ msgstr ""
#: model:ir.actions.act_window,name:account_report.action_account_report_tree_view_other
#: model:ir.ui.menu,name:account_report.menu_action_account_report_tree_view_other
msgid "Other reports"
msgstr ""
msgstr "Другие отчеты"
#. module: account_report
#: view:account.report.report:0
@ -414,7 +414,7 @@ msgstr ""
#. module: account_report
#: rml:print.indicators:0
msgid ")"
msgstr ""
msgstr ")"
#. module: account_report
#: model:ir.actions.act_window,name:account_report.action_account_report_tree_view_fiscal
@ -431,7 +431,7 @@ msgstr ""
#: model:ir.actions.report.xml,name:account_report.report_print_indicators
#: rml:print.indicators:0
msgid "Indicators"
msgstr ""
msgstr "Индикаторы"
#. module: account_report
#: wizard_view:print.indicators.pdf,init:0
@ -454,7 +454,7 @@ msgstr "Название"
#. module: account_report
#: wizard_field:print.indicators,next,base_selection:0
msgid "Select Criteria"
msgstr ""
msgstr "Выбор критерия"
#. module: account_report
#: view:account.report.report:0
@ -464,7 +464,7 @@ msgstr ""
#. module: account_report
#: field:account.report.history,fiscalyear_id:0
msgid "Fiscal Year"
msgstr ""
msgstr "Финансовый год"
#. module: account_report
#: model:ir.actions.act_window,name:account_report.action_account_report_tree
@ -477,12 +477,12 @@ msgstr "Пользовательскаяя отчетность"
#. module: account_report
#: rml:print.indicators:0
msgid "Page"
msgstr ""
msgstr "Страница"
#. module: account_report
#: selection:account.report.report,type:0
msgid "View"
msgstr ""
msgstr "Просмотр"
#. module: account_report
#: rml:print.indicators:0

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.6\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-03-20 07:14+0000\n"
"PO-Revision-Date: 2010-07-13 16:27+0000\n"
"Last-Translator: Black Jack <onetimespeed@hotmail.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: 2010-06-22 03:55+0000\n"
"X-Launchpad-Export-Date: 2010-07-14 03:36+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_report
@ -31,7 +31,7 @@ msgstr "选择一个PDF文件"
#. module: account_report
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr "在这动作定义中有无效的模块名"
msgstr "在动作定义使用了无效的模块名。"
#. module: account_report
#: view:account.report.report:0
@ -61,12 +61,12 @@ msgstr "其它"
#. module: account_report
#: view:account.report.report:0
msgid "balance(['ACCOUNT_CODE',],fiscalyear)"
msgstr ""
msgstr "余额(['ACCOUNT_CODE',],fiscalyear)"
#. module: account_report
#: rml:print.indicators:0
msgid "Tabular Summary"
msgstr "一览表"
msgstr "表格摘要"
#. module: account_report
#: view:account.report.report:0
@ -128,7 +128,7 @@ msgstr "指标过去的记录"
#. module: account_report
#: view:account.report.report:0
msgid "credit(['ACCOUNT_CODE',],fiscalyear)"
msgstr ""
msgstr "贷方(['ACCOUNT_CODE',],fiscalyear)"
#. module: account_report
#: view:account.report.report:0
@ -200,7 +200,7 @@ msgstr "选择标准"
#. module: account_report
#: view:account.report.report:0
msgid "debit(['ACCOUNT_CODE',],fiscalyear)"
msgstr ""
msgstr "借方(['ACCOUNT_CODE',],fiscalyear)"
#. module: account_report
#: view:account.report.report:0
@ -254,7 +254,7 @@ msgstr "正常"
#. module: account_report
#: view:account.report.report:0
msgid "Example: (balance(['6','45'],-1) - credit(['7'])) / report('RPT1')"
msgstr ""
msgstr "例子: (balance(['6','45'],-1) - credit(['7'])) / report('RPT1')"
#. module: account_report
#: field:account.report.report,active:0
@ -289,7 +289,7 @@ msgstr "表达式:"
#. module: account_report
#: view:account.report.report:0
msgid "report('REPORT_CODE')"
msgstr ""
msgstr "报表('REPORT_CODE')"
#. module: account_report
#: field:account.report.report,expression:0
@ -316,7 +316,7 @@ msgstr "代码"
#. module: account_report
#: field:account.report.history,tmp:0
msgid "temp"
msgstr ""
msgstr "temp"
#. module: account_report
#: field:account.report.history,period_id:0
@ -331,7 +331,7 @@ msgstr "普通"
#. module: account_report
#: view:account.report.report:0
msgid "Legend of operators"
msgstr "操作说明"
msgstr "操作说明"
#. module: account_report
#: wizard_button:print.indicators,init,end:0
@ -349,7 +349,7 @@ msgstr "子项"
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr "对象名必须要以X_开头并且不能含有特殊字符!"
msgstr "对象名称必须以“x_”开头且不能包含任何特殊字符"
#. module: account_report
#: help:account.report.report,goodness_limit:0
@ -367,7 +367,7 @@ msgstr "打印指标"
#. module: account_report
#: view:account.report.report:0
msgid "+ - * / ( )"
msgstr ""
msgstr "+ - * / ( )"
#. module: account_report
#: rml:accounting.report:0
@ -407,12 +407,12 @@ msgstr "其它报表"
msgid ""
"Note: The second arguement 'fiscalyear' and 'period' are optional "
"arguements.If the value is -1,previous fiscalyear or period is considered."
msgstr "备注:第二参数‘会计年度’和‘会计期间’是可选参数.如果值为-1会计年度或会计期间是以前的."
msgstr "备注:第二参数‘会计年度’和‘会计期间’是可选参数. 如果值为-1会计年度或会计期间是以前的."
#. module: account_report
#: rml:print.indicators:0
msgid ")"
msgstr ""
msgstr ")"
#. module: account_report
#: model:ir.actions.act_window,name:account_report.action_account_report_tree_view_fiscal
@ -423,7 +423,7 @@ msgstr "财务报表"
#. module: account_report
#: selection:print.indicators,init,select_base:0
msgid "Based on Fiscal Periods"
msgstr "基于会计会计期间"
msgstr "基于会计期间"
#. module: account_report
#: model:ir.actions.report.xml,name:account_report.report_print_indicators
@ -457,7 +457,7 @@ msgstr "选择标准"
#. module: account_report
#: view:account.report.report:0
msgid "tax_code(['ACCOUNT_TAX_CODE',],period)"
msgstr ""
msgstr "税号(['ACCOUNT_TAX_CODE',],period)"
#. module: account_report
#: field:account.report.history,fiscalyear_id:0
@ -512,7 +512,7 @@ msgstr "金额"
#. module: account_report
#: rml:print.indicators:0
msgid "1cm 27.7cm 20cm 27.7cm"
msgstr ""
msgstr "1cm 27.7cm 20cm 27.7cm"
#. module: account_report
#: model:ir.module.module,description:account_report.module_meta_information

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.6\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-03-20 07:15+0000\n"
"PO-Revision-Date: 2010-07-13 16:33+0000\n"
"Last-Translator: Black Jack <onetimespeed@hotmail.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: 2010-06-22 04:15+0000\n"
"X-Launchpad-Export-Date: 2010-07-14 03:37+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_reporting
@ -30,12 +30,12 @@ msgstr "对象名必须要以X_开头并且不能含有特殊字符!"
#. module: account_reporting
#: selection:account.report.bs,font_style:0
msgid "Helvetica-Bold"
msgstr ""
msgstr "Helvetica-Bold"
#. module: account_reporting
#: selection:account.report.bs,font_style:0
msgid "Helvetica"
msgstr ""
msgstr "Helvetica"
#. module: account_reporting
#: field:account.report.bs,note:0
@ -56,17 +56,17 @@ msgstr "科目余额表"
#. module: account_reporting
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr "在这动作定义中有无效的模块名"
msgstr "在动作定义使用了无效的模块名。"
#. module: account_reporting
#: selection:account.report.bs,font_style:0
msgid "Courier"
msgstr ""
msgstr "Courier"
#. module: account_reporting
#: selection:account.report.bs,font_style:0
msgid "Courier-BoldOblique"
msgstr ""
msgstr "Courier-BoldOblique"
#. module: account_reporting
#: wizard_button:account.account.balancesheet.report,init,report:0
@ -93,7 +93,9 @@ msgstr "科目和子科目报表对象"
msgid ""
"Financial and accounting reporting\n"
" Balance Sheet Report"
msgstr "财务和会计报表 资产负债表"
msgstr ""
"财务和会计报表 \n"
"资产负债表"
#. module: account_reporting
#: selection:account.report.bs,report_type:0
@ -103,7 +105,7 @@ msgstr "科目报表对象"
#. module: account_reporting
#: selection:account.report.bs,font_style:0
msgid "Courier-Oblique"
msgstr ""
msgstr "Courier-Oblique"
#. module: account_reporting
#: constraint:ir.ui.view:0
@ -134,7 +136,7 @@ msgstr "备注"
#. module: account_reporting
#: selection:account.report.bs,font_style:0
msgid "Times-BoldItalic"
msgstr ""
msgstr "Times-BoldItalic"
#. module: account_reporting
#: model:ir.model,name:account_reporting.model_account_report_bs
@ -144,12 +146,12 @@ msgstr "会计报表资产负债表"
#. module: account_reporting
#: selection:account.report.bs,font_style:0
msgid "Courier-Bold"
msgstr ""
msgstr "Courier-Bold"
#. module: account_reporting
#: selection:account.report.bs,font_style:0
msgid "Times-Italic"
msgstr ""
msgstr "Times-Italic"
#. module: account_reporting
#: selection:account.report.bs,report_type:0
@ -184,7 +186,7 @@ msgstr "序列"
#. module: account_reporting
#: selection:account.report.bs,font_style:0
msgid "Times-Bold"
msgstr ""
msgstr "Times-Bold"
#. module: account_reporting
#: view:account.report.bs:0
@ -225,12 +227,12 @@ msgstr "取消"
#. module: account_reporting
#: selection:account.report.bs,font_style:0
msgid "Times-Roman"
msgstr ""
msgstr "Times-Roman"
#. module: account_reporting
#: selection:account.report.bs,font_style:0
msgid "Helvetica-Oblique"
msgstr ""
msgstr "Helvetica-Oblique"
#. module: account_reporting
#: field:account.report.bs,font_style:0

View File

@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.6\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-03-20 07:29+0000\n"
"PO-Revision-Date: 2010-07-13 16:34+0000\n"
"Last-Translator: Black Jack <onetimespeed@hotmail.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: 2010-06-22 04:03+0000\n"
"X-Launchpad-Export-Date: 2010-07-14 03:36+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_tax_include
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "无效的视图结构XML文件!"
msgstr "无效XML视图结构!"
#. module: account_tax_include
#: field:account.invoice,price_type:0

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-11-09 16:29+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"PO-Revision-Date: 2010-07-11 09:15+0000\n"
"Last-Translator: Pomazan Bogdan <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: 2010-06-22 04:16+0000\n"
"X-Launchpad-Export-Date: 2010-07-12 03:47+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_voucher
@ -36,12 +36,12 @@ msgstr ""
#: rml:voucher.cash_amount:0
#: rml:voucher.cash_receipt.drcr:0
msgid "State :"
msgstr ""
msgstr "Статус:"
#. module: account_voucher
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr ""
msgstr "Недопустимое имя модели в определении действия."
#. module: account_voucher
#: rml:voucher.cash_amount:0
@ -61,7 +61,7 @@ msgstr ""
#. module: account_voucher
#: field:account.voucher,company_id:0
msgid "Company"
msgstr ""
msgstr "Компания"
#. module: account_voucher
#: selection:account.move,voucher_type:0
@ -69,17 +69,17 @@ msgstr ""
#: model:ir.actions.act_window,name:account_voucher.action_view_jour_voucher_form
#: model:ir.ui.menu,name:account_voucher.menu_action_view_jour_voucher_form
msgid "Journal Voucher"
msgstr ""
msgstr "Журнальный ваучер"
#. module: account_voucher
#: rml:voucher.cash_receipt.drcr:0
msgid ","
msgstr ""
msgstr ","
#. module: account_voucher
#: view:account.voucher:0
msgid "Set to Draft"
msgstr ""
msgstr "Установить в 'Черновик'"
#. module: account_voucher
#: wizard_button:account.voucher.open,init,open:0
@ -94,13 +94,13 @@ msgstr ""
#. module: account_voucher
#: view:account.move:0
msgid "Total Credit"
msgstr ""
msgstr "Всего кредит"
#. module: account_voucher
#: field:account.voucher,account_id:0
#: field:account.voucher.line,account_id:0
msgid "Account"
msgstr ""
msgstr "Счет"
#. module: account_voucher
#: rml:voucher.cash_amount:0
@ -110,7 +110,7 @@ msgstr ""
#. module: account_voucher
#: field:account.account,level:0
msgid "Level"
msgstr ""
msgstr "Уровень"
#. module: account_voucher
#: view:account.move:0
@ -120,14 +120,14 @@ msgstr "Проводка по счету"
#. module: account_voucher
#: view:account.move:0
msgid "Total Debit"
msgstr ""
msgstr "Всего дебет"
#. module: account_voucher
#: field:account.voucher,amount:0
#: field:account.voucher.line,amount:0
#: rml:voucher.cash_amount:0
msgid "Amount"
msgstr ""
msgstr "Количество"
#. module: account_voucher
#: rml:voucher.cash_amount:0
@ -150,7 +150,7 @@ msgstr ""
#. module: account_voucher
#: field:account.voucher.line,account_analytic_id:0
msgid "Analytic Account"
msgstr ""
msgstr "Счет аналитического учета"
#. module: account_voucher
#: selection:account.move,voucher_type:0
@ -189,18 +189,18 @@ msgstr ""
#. module: account_voucher
#: view:account.voucher:0
msgid "Create"
msgstr ""
msgstr "Создать"
#. module: account_voucher
#: selection:account.account,type1:0
#: selection:account.account.template,type1:0
msgid "None"
msgstr ""
msgstr "Отсутствует"
#. module: account_voucher
#: field:account.voucher,number:0
msgid "Number"
msgstr ""
msgstr "Номер"
#. module: account_voucher
#: view:account.move:0
@ -215,13 +215,13 @@ msgstr "Состояние"
#: selection:account.voucher.line,type:0
#: rml:voucher.cash_receipt.drcr:0
msgid "Debit"
msgstr ""
msgstr "Дебет"
#. module: account_voucher
#: field:account.voucher,type:0
#: field:account.voucher.line,type:0
msgid "Type"
msgstr ""
msgstr "Тип"
#. module: account_voucher
#: model:ir.ui.menu,name:account_voucher.menu_action_voucher_list
@ -245,7 +245,7 @@ msgstr ""
#: field:account.voucher.line,voucher_id:0
#: model:res.request.link,name:account_voucher.req_link_voucher
msgid "Voucher"
msgstr ""
msgstr "Товарный чек"
#. module: account_voucher
#: wizard_view:account.voucher.open,init:0
@ -273,7 +273,7 @@ msgstr ""
#: field:account.voucher,partner_id:0
#: field:account.voucher.line,partner_id:0
msgid "Partner"
msgstr ""
msgstr "Партнер"
#. module: account_voucher
#: model:ir.ui.menu,name:account_voucher.menu_action_view_bank_pay_voucher_form
@ -289,7 +289,7 @@ msgstr ""
#. module: account_voucher
#: field:account.voucher,currency_id:0
msgid "Currency"
msgstr ""
msgstr "Валюта"
#. module: account_voucher
#: view:account.move:0
@ -317,7 +317,7 @@ msgstr ""
#. module: account_voucher
#: field:account.account,open_bal:0
msgid "Opening Balance"
msgstr ""
msgstr "Начальное сальдо"
#. module: account_voucher
#: selection:account.voucher,state:0
@ -325,13 +325,13 @@ msgstr ""
#: rml:voucher.cash_amount:0
#: rml:voucher.cash_receipt.drcr:0
msgid "Draft"
msgstr ""
msgstr "Черновик"
#. module: account_voucher
#: rml:voucher.cash_amount:0
#: rml:voucher.cash_receipt.drcr:0
msgid "PRO-FORMA"
msgstr ""
msgstr "Проформа"
#. module: account_voucher
#: model:ir.actions.act_window,name:account_voucher.action_receipt_cashreceipt_voucher_list
@ -356,13 +356,13 @@ msgstr ""
#. module: account_voucher
#: field:account.voucher,date:0
msgid "Date"
msgstr ""
msgstr "Дата"
#. module: account_voucher
#: rml:voucher.cash_amount:0
#: rml:voucher.cash_receipt.drcr:0
msgid ":"
msgstr ""
msgstr ":"
#. module: account_voucher
#: field:account.account,type1:0
@ -387,7 +387,7 @@ msgstr ""
#: selection:account.voucher.line,type:0
#: rml:voucher.cash_receipt.drcr:0
msgid "Credit"
msgstr ""
msgstr "Кредит"
#. module: account_voucher
#: rml:voucher.cash_amount:0
@ -398,7 +398,7 @@ msgstr ""
#. module: account_voucher
#: field:account.voucher,reference_type:0
msgid "Reference Type"
msgstr ""
msgstr "Тип ссылки"
#. module: account_voucher
#: model:ir.model,name:account_voucher.model_account_voucher
@ -408,7 +408,7 @@ msgstr ""
#. module: account_voucher
#: field:account.voucher,period_id:0
msgid "Period"
msgstr ""
msgstr "Период"
#. module: account_voucher
#: model:ir.ui.menu,name:account_voucher.menu_action_payments_bankpay_voucher_list
@ -423,7 +423,7 @@ msgstr "Общая информация"
#. module: account_voucher
#: wizard_field:account.voucher.open,init,period_ids:0
msgid "Periods"
msgstr ""
msgstr "Периоды"
#. module: account_voucher
#: view:account.voucher:0
@ -431,14 +431,14 @@ msgstr ""
#: wizard_button:account.voucher.open,init,end:0
#: selection:account.voucher.open,init,state:0
msgid "Cancel"
msgstr ""
msgstr "Отмена"
#. module: account_voucher
#: view:account.voucher:0
#: selection:account.voucher,state:0
#: selection:account.voucher.open,init,state:0
msgid "Pro-forma"
msgstr ""
msgstr "Проформа"
#. module: account_voucher
#: constraint:ir.model:0
@ -451,7 +451,7 @@ msgstr ""
#. module: account_voucher
#: view:account.voucher:0
msgid "Other Info"
msgstr ""
msgstr "Прочая информация"
#. module: account_voucher
#: model:ir.module.module,shortdesc:account_voucher.module_meta_information
@ -472,13 +472,13 @@ msgstr ""
#. module: account_voucher
#: field:account.voucher.line,name:0
msgid "Description"
msgstr ""
msgstr "Описание"
#. module: account_voucher
#: rml:voucher.cash_amount:0
#: rml:voucher.cash_receipt.drcr:0
msgid "Canceled"
msgstr ""
msgstr "Отменено"
#. module: account_voucher
#: selection:account.move,voucher_type:0
@ -493,13 +493,13 @@ msgstr ""
#. module: account_voucher
#: model:ir.actions.act_window,name:account_voucher.action_receipt_bakreceipt_voucher_list
msgid "Bank Receipt"
msgstr ""
msgstr "Квитанция банка"
#. module: account_voucher
#: rml:voucher.cash_amount:0
#: rml:voucher.cash_receipt.drcr:0
msgid "-"
msgstr ""
msgstr "-"
#. module: account_voucher
#: selection:account.move,voucher_type:0
@ -518,7 +518,7 @@ msgstr ""
#. module: account_voucher
#: field:account.voucher.line,ref:0
msgid "Ref."
msgstr ""
msgstr "Ссылка"
#. module: account_voucher
#: selection:account.voucher,state:0
@ -526,12 +526,12 @@ msgstr ""
#: rml:voucher.cash_amount:0
#: rml:voucher.cash_receipt.drcr:0
msgid "Posted"
msgstr ""
msgstr "Проведено"
#. module: account_voucher
#: field:account.voucher,name:0
msgid "Name"
msgstr ""
msgstr "Название"
#. module: account_voucher
#: field:account.voucher,move_ids:0
@ -546,12 +546,12 @@ msgstr ""
#. module: account_voucher
#: field:account.voucher,move_id:0
msgid "Account Entry"
msgstr ""
msgstr "Проводка по счету"
#. module: account_voucher
#: view:account.voucher:0
msgid "Entry Lines"
msgstr ""
msgstr "Строки проводок"
#. module: account_voucher
#: model:ir.ui.menu,name:account_voucher.menu_action_view_bank_rec_voucher_form
@ -597,4 +597,4 @@ msgstr ""
#: field:account.account,journal_id:0
#: field:account.voucher,journal_id:0
msgid "Journal"
msgstr ""
msgstr "Журнал"

View File

@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.6\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-03-20 07:30+0000\n"
"PO-Revision-Date: 2010-07-14 03:20+0000\n"
"Last-Translator: Black Jack <onetimespeed@hotmail.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: 2010-06-22 04:17+0000\n"
"X-Launchpad-Export-Date: 2010-07-15 03:36+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_voucher
#: model:ir.actions.act_window,name:account_voucher.act_account_acount_move_line_open1
msgid "Opening Balance Entry"
msgstr "期初余额凭证"
msgstr "期初余额"
#. module: account_voucher
#: model:ir.ui.menu,name:account_voucher.menu_action_receipt_bakreceipt_voucher_list
@ -41,7 +41,7 @@ msgstr "状态:"
#. module: account_voucher
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr "在这动作定义中有无效的模块名"
msgstr "在动作定义使用了无效的模块名。"
#. module: account_voucher
#: rml:voucher.cash_amount:0
@ -69,12 +69,12 @@ msgstr "公司"
#: model:ir.actions.act_window,name:account_voucher.action_view_jour_voucher_form
#: model:ir.ui.menu,name:account_voucher.menu_action_view_jour_voucher_form
msgid "Journal Voucher"
msgstr "原始凭证分类帐"
msgstr "原始凭证"
#. module: account_voucher
#: rml:voucher.cash_receipt.drcr:0
msgid ","
msgstr ""
msgstr ","
#. module: account_voucher
#: view:account.voucher:0
@ -105,7 +105,7 @@ msgstr "科目"
#. module: account_voucher
#: rml:voucher.cash_amount:0
msgid "D"
msgstr ""
msgstr "D"
#. module: account_voucher
#: field:account.account,level:0
@ -115,7 +115,7 @@ msgstr "级"
#. module: account_voucher
#: view:account.move:0
msgid "Account Entry Line"
msgstr "凭证明细"
msgstr "明细"
#. module: account_voucher
#: view:account.move:0
@ -139,18 +139,18 @@ msgstr "收款人签字"
#: rml:voucher.cash_amount:0
#: rml:voucher.cash_receipt.drcr:0
msgid "No."
msgstr ""
msgstr "No."
#. module: account_voucher
#: rml:voucher.cash_amount:0
#: rml:voucher.cash_receipt.drcr:0
msgid "Amount (in words) :"
msgstr "金额:"
msgstr "金额(口头上):"
#. module: account_voucher
#: field:account.voucher.line,account_analytic_id:0
msgid "Analytic Account"
msgstr "辅助核算项"
msgstr "辅助核算项"
#. module: account_voucher
#: selection:account.move,voucher_type:0
@ -159,7 +159,7 @@ msgstr "辅助核算项目"
#: model:ir.actions.act_window,name:account_voucher.action_view_jour_sale_voucher_form
#: model:ir.ui.menu,name:account_voucher.menu_action_view_jour_sale_voucher_form
msgid "Journal Sale Voucher"
msgstr "销售原始凭证分类帐"
msgstr "销售原始凭证"
#. module: account_voucher
#: model:ir.actions.act_window,name:account_voucher.action_receipt_vou_voucher_list
@ -346,12 +346,12 @@ msgstr "新的现金付款"
#. module: account_voucher
#: view:account.move:0
msgid "Optional Information"
msgstr "其它信息"
msgstr "可选择信息"
#. module: account_voucher
#: view:account.voucher:0
msgid "General Entries"
msgstr "一般凭证"
msgstr "一般记录"
#. module: account_voucher
#: field:account.voucher,date:0
@ -362,7 +362,7 @@ msgstr "日期"
#: rml:voucher.cash_amount:0
#: rml:voucher.cash_receipt.drcr:0
msgid ":"
msgstr ""
msgstr ""
#. module: account_voucher
#: field:account.account,type1:0
@ -476,7 +476,7 @@ msgstr "说明"
#: rml:voucher.cash_amount:0
#: rml:voucher.cash_receipt.drcr:0
msgid "Canceled"
msgstr "取消"
msgstr "取消"
#. module: account_voucher
#: selection:account.move,voucher_type:0
@ -497,7 +497,7 @@ msgstr "银行收入"
#: rml:voucher.cash_amount:0
#: rml:voucher.cash_receipt.drcr:0
msgid "-"
msgstr ""
msgstr "-"
#. module: account_voucher
#: selection:account.move,voucher_type:0
@ -506,12 +506,12 @@ msgstr ""
#: model:ir.actions.act_window,name:account_voucher.action_view_jour_pur_voucher_form
#: model:ir.ui.menu,name:account_voucher.menu_action_view_jour_pur_voucher_form
msgid "Journal Purchase Voucher"
msgstr "采购原始凭证分类帐"
msgstr "采购原始凭证"
#. module: account_voucher
#: view:account.account:0
msgid "Closing Balance"
msgstr "期末余"
msgstr "期末余"
#. module: account_voucher
#: field:account.voucher.line,ref:0
@ -524,7 +524,7 @@ msgstr "参考"
#: rml:voucher.cash_amount:0
#: rml:voucher.cash_receipt.drcr:0
msgid "Posted"
msgstr "已审核"
msgstr "已登帐"
#. module: account_voucher
#: field:account.voucher,name:0
@ -534,22 +534,22 @@ msgstr "名称"
#. module: account_voucher
#: field:account.voucher,move_ids:0
msgid "Real Entry"
msgstr "实际凭证"
msgstr "实际记录"
#. module: account_voucher
#: model:ir.actions.wizard,name:account_voucher.wizard_account_voucher_open
msgid "Open a Voucher Entry"
msgstr "打开一原始凭证记录"
msgstr "打开一原始凭证"
#. module: account_voucher
#: field:account.voucher,move_id:0
msgid "Account Entry"
msgstr "凭证"
msgstr "分录"
#. module: account_voucher
#: view:account.voucher:0
msgid "Entry Lines"
msgstr "凭证明细"
msgstr "明细"
#. module: account_voucher
#: model:ir.ui.menu,name:account_voucher.menu_action_view_bank_rec_voucher_form
@ -595,4 +595,4 @@ msgstr "银行收入原始凭证"
#: field:account.account,journal_id:0
#: field:account.voucher,journal_id:0
msgid "Journal"
msgstr "分类帐"
msgstr "记录集合"

View File

@ -116,10 +116,10 @@ class account_voucher(osv.osv):
('journal_pur_voucher','Journal Purchase'),
('journal_voucher','Journal Voucher'),
],'Entry Type', select=True , size=128, readonly=True, states={'draft':[('readonly',False)]}),
'date':fields.date('Date', readonly=True, states={'draft':[('readonly',False)]}),
'date':fields.date('Date', readonly=True, states={'draft':[('readonly',False)]}, help="Effective date for accounting entries"),
'journal_id':fields.many2one('account.journal', 'Journal', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'account_id':fields.many2one('account.account', 'Account', required=True, readonly=True, states={'draft':[('readonly',False)]}, domain=[('type','<>','view')]),
'payment_ids':fields.one2many('account.voucher.line','voucher_id','Voucher Lines', readonly=False, states={'proforma':[('readonly',True)]}),
'payment_ids':fields.one2many('account.voucher.line','voucher_id','Voucher Lines', readonly=False, states={'draft':[('readonly',True)]}),
'period_id': fields.many2one('account.period', 'Period', required=True, readonly=True, states={'posted':[('readonly',True)]}),
'narration':fields.text('Narration', readonly=True, states={'draft':[('readonly',False)]}, required=False),
'currency_id': fields.many2one('res.currency', 'Currency', required=True, readonly=True, states={'draft':[('readonly',False)]}),
@ -137,9 +137,8 @@ class account_voucher(osv.osv):
\n* The \'Posted\' state is used when user create voucher,a voucher number is generated and voucher entries are created in account \
\n* The \'Cancelled\' state is used when user cancel voucher.'),
'amount':fields.float('Amount', readonly=True),
'reference': fields.char('Voucher Reference', size=64),
'reference_type': fields.selection(_get_reference_type, 'Reference Type',
required=True),
'reference': fields.char('Reference', size=64, readonly=True, states={'draft':[('readonly',False)]}, help="Bank cheque number or payorder number"),
'reference_type': fields.selection(_get_reference_type, 'Reference Type', required=True),
'number': fields.related('move_id', 'name', type="char", readonly=True, string='Number'),
'move_id':fields.many2one('account.move', 'Account Entry'),
'move_ids':fields.many2many('account.move.line', 'voucher_id', 'account_id', 'rel_account_move', 'Real Entry'),
@ -280,7 +279,8 @@ class account_voucher(osv.osv):
'journal_id': journal.id,
'type' : inv.type,
'narration' : inv.narration and inv.narration or inv.name,
'date':inv.date
'date':inv.date,
'ref':inv.reference
}
if inv.period_id:
@ -366,6 +366,10 @@ class account_voucher(osv.osv):
'move_id': move_id,
'move_ids':[(6, 0,line_ids)]
}
message = _('Voucher ') + " '" + inv.name + "' "+ _("is confirm")
self.log(cr, uid, inv.id, message)
self.write(cr, uid, [inv.id], rec)
return True
@ -428,15 +432,17 @@ class account_voucher_line(osv.osv):
'type': lambda *a: 'cr'
}
def onchange_partner(self, cr, uid, ids, partner_id, ttype ,type1):
vals = {}
def onchange_partner(self, cr, uid, ids, partner_id, ttype ,type1, currency):
currency_pool = self.pool.get('res.currency')
company = self.pool.get('res.users').browse(cr, uid, uid).company_id
vals = {
'account_id': False,
'type': False ,
'amount': False
}
if not partner_id:
vals.update({
'account_id': False,
'type': False ,
'amount': False
})
return {
'value' : vals
}
@ -466,6 +472,9 @@ class account_voucher_line(osv.osv):
balance = partner.debit
ttype = 'cr'
if company.currency_id != currency:
balance = currency_pool.compute(cr, uid, company.currency_id.id, currency, balance)
vals.update({
'account_id': account_id,
'type': ttype,

View File

@ -35,9 +35,9 @@
</group>
<notebook colspan="4">
<page string="Journal Entries">
<field name="payment_ids" colspan="4" nolabel="1" height="250">
<field name="payment_ids" colspan="4" nolabel="1" height="200">
<tree string="Voucher Lines" editable="top">
<field name="partner_id" on_change="onchange_partner(partner_id,type,parent.type)"/>
<field name="partner_id" on_change="onchange_partner(partner_id,type,parent.type, parent.currency_id)"/>
<field name="account_id"/>
<field name="name"/>
<field name="type"/>
@ -46,14 +46,21 @@
<field name="ref"/>
</tree>
</field>
<separator string="Narration" colspan="4"/>
<field name="narration" colspan="4" nolabel="1" height="50"/>
<group col="2" colspan="3">
<separator string="Narration" colspan="2"/>
<field name="narration" colspan="2" nolabel="1"/>
</group>
<group col="2" colspan="1">
<separator string="Other Informtion" colspan="2"/>
<field name="reference" select="1"/>
<field name="date" select="1"/>
<field name="currency_id" select="1"/>
</group>
</page>
<page string="Other Info">
<page string="Accounting Entries">
<field name="company_id" select="1" widget="selection" groups="base.group_multi_company"/>
<field name="currency_id" select="1" />
<field name="period_id"/>
<field name="date" select="1"/>
<separator string="General Entries" colspan="4"/>
<field name="move_ids" colspan="4" nolabel="1" readonly="1"/>
</page>
@ -62,7 +69,7 @@
<field name="state"/>
<button name="open_voucher" string="Pro-forma" states="draft" icon="terp-check"/>
<button name="proforma_voucher" string="Create" states="proforma" icon="terp-document-new"/>
<button name="recheck_voucher" string="Validate" states="recheck" icon="terp-check"/>
<button name="recheck_voucher" string="Approve" states="recheck" icon="terp-check"/>
<button name="audit_complete" string="Audit Pass" states="posted" icon="terp-check"/>
<button name="cancel_voucher" string="Cancel" states="proforma,recheck,posted" icon="gtk-cancel"/>
<button name="cancel_to_draft" states="cancel" string="Set to Draft" icon="terp-stock_effects-object-colorize"/>

View File

@ -63,7 +63,8 @@ class account_voucher(osv.osv):
'journal_id': journal.id,
'type' : inv.type,
'narration' : inv.narration and inv.narration or inv.name,
'date':inv.date
'date':inv.date,
'ref':inv.reference
}
if inv.period_id:
@ -101,6 +102,7 @@ class account_voucher(osv.osv):
line_ids = []
line_ids += [move_line_pool.create(cr, uid, move_line)]
rec_ids = []
for line in inv.payment_ids:
amount=0.0
move_line = {
@ -146,16 +148,23 @@ class account_voucher(osv.osv):
line_ids += [move_line_id]
if line.invoice_id:
rec_ids = [move_line_id]
rec_ids += [move_line_id]
for move_line in line.invoice_id.move_id.line_id:
if line.account_id.id == move_line.account_id.id:
rec_ids += [move_line.id]
move_line_pool.reconcile_partial(cr, uid, rec_ids)
#move_line_pool.reconcile_partial(cr, uid, rec_ids)
if rec_ids:
move_line_pool.reconcile_partial(cr, uid, rec_ids)
rec = {
'move_id': move_id,
'move_ids':[(6, 0,line_ids)]
}
message = _('Voucher ') + " '" + inv.name + "' "+ _("is confirm")
self.log(cr, uid, inv.id, message)
self.write(cr, uid, [inv.id], rec)
return True

View File

@ -10,7 +10,7 @@
<field name="payment_ids" position="replace">
<field name="voucher_line_ids" default_get="{'lines': voucher_line_ids}" colspan="4" nolabel="1" height="275">
<tree string="Voucher Lines" editable="top">
<field name="partner_id" on_change="onchange_partner(partner_id, type, parent.type)"/>
<field name="partner_id" on_change="onchange_partner(partner_id,type,parent.type, parent.currency_id)"/>
<field name="account_id" on_change="onchange_line_account(account_id, type, parent.type)"/>
<field name="name"/>
<field name="invoice_id" on_change="onchange_invoice_id(invoice_id, parent.currency_id)" domain="[('partner_id','=',partner_id),('state','=','open'),('residual','&gt;',0.0)]"/>

View File

@ -0,0 +1,90 @@
# Chinese (Simplified) translation for openobject-addons
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-05-13 20:11+0000\n"
"PO-Revision-Date: 2010-07-14 03:27+0000\n"
"Last-Translator: Black Jack <onetimespeed@hotmail.com>\n"
"Language-Team: Chinese (Simplified) <zh_CN@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: 2010-07-15 03:36+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_voucher_payment
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "无效XML视图结构!"
#. module: account_voucher_payment
#: wizard_view:account.voucher.unreconcile,init:0
msgid "Unreconciliation transactions"
msgstr "取消对账"
#. module: account_voucher_payment
#: model:ir.module.module,description:account_voucher_payment.module_name_translation
msgid ""
"This module includes :\n"
" * It reconcile the invoice (supplier, customer) while paying through \n"
" Accounting Vouchers\n"
" "
msgstr ""
"这模块包括:\n"
" *在支付时核销发票(供应商, 客户) \n"
" 原始凭证\n"
" "
#. module: account_voucher_payment
#: wizard_view:account.voucher.unreconcile,init:0
msgid ""
"If you unreconciliate transactions, you must also verify all the actions "
"that are linked to those transactions because they will not be disable"
msgstr "如果取消交易的核销, 你必须检验链接该交易的所有操作. 因为他们不会被禁止."
#. module: account_voucher_payment
#: view:account.voucher:0
#: field:account.voucher,voucher_line_ids:0
msgid "Voucher Lines"
msgstr "原始凭证明细"
#. module: account_voucher_payment
#: model:ir.module.module,shortdesc:account_voucher_payment.module_name_translation
msgid "Invoice Payment/Receipt by Vouchers."
msgstr "发票付款/ 收入的原始凭证"
#. module: account_voucher_payment
#: model:ir.actions.wizard,name:account_voucher_payment.wizard_unreconcile_voucher
msgid "Unreconcile entries"
msgstr "取消核销"
#. module: account_voucher_payment
#: field:account.move.line,voucher_invoice:0
#: field:account.voucher.line,invoice_id:0
msgid "Invoice"
msgstr "发票"
#. module: account_voucher_payment
#: wizard_button:account.voucher.unreconcile,init,end:0
msgid "Cancel"
msgstr "取消"
#. module: account_voucher_payment
#: field:account.voucher,partner_id:0
msgid "Partner"
msgstr "业务伙伴"
#. module: account_voucher_payment
#: wizard_button:account.voucher.unreconcile,init,unrec:0
msgid "Unreconcile"
msgstr "取消核销"
#. module: account_voucher_payment
#: wizard_view:account.voucher.unreconcile,init:0
msgid "Unreconciliation"
msgstr "取消对账"

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-02-03 08:33+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"PO-Revision-Date: 2010-07-11 09:18+0000\n"
"Last-Translator: Pomazan Bogdan <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: 2010-06-22 04:17+0000\n"
"X-Launchpad-Export-Date: 2010-07-12 03:47+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: analytic_journal_billing_rate
@ -24,7 +24,7 @@ msgstr "Неправильный XML для просмотра архитект
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,journal_id:0
msgid "Analytic Journal"
msgstr ""
msgstr "Книга аналитики"
#. module: analytic_journal_billing_rate
#: constraint:ir.model:0
@ -42,7 +42,7 @@ msgstr ""
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,account_id:0
msgid "Analytic Account"
msgstr ""
msgstr "Счет аналитического учета"
#. module: analytic_journal_billing_rate
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid

View File

@ -7,55 +7,55 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.6\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-03-20 07:31+0000\n"
"PO-Revision-Date: 2010-07-14 03:49+0000\n"
"Last-Translator: Black Jack <onetimespeed@hotmail.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: 2010-06-22 04:17+0000\n"
"X-Launchpad-Export-Date: 2010-07-15 03:36+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: analytic_journal_billing_rate
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "无效的视图结构XML文件!"
msgstr "无效XML视图结构!"
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,journal_id:0
msgid "Analytic Journal"
msgstr "辅助核算分类帐"
msgstr "辅助核算记录集合"
#. module: analytic_journal_billing_rate
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr "对象名必须要以X_开头并且不能含有特殊字符!"
msgstr "对象名称必须以“x_”开头且不能包含任何特殊字符"
#. module: analytic_journal_billing_rate
#: view:analytic_journal_rate_grid:0
msgid "Billing Rate per Journal for this Analytic Account"
msgstr "辅助核算分类帐中每个分类帐的记帐标准"
msgstr "辅助核算记录集合中每个记录集合的开单税率"
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,account_id:0
msgid "Analytic Account"
msgstr "辅助核算分类帐"
msgstr "辅助核算"
#. module: analytic_journal_billing_rate
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
msgid "Relation table between journals and billing rates"
msgstr "分类帐和记帐标准的关系表"
msgstr "记录集合和开票税率的关系表"
#. module: analytic_journal_billing_rate
#: field:account.analytic.account,journal_rate_ids:0
msgid "Invoicing Rate per Journal"
msgstr "分类帐的开票税率"
msgstr "每个记录集合的的开票税率"
#. module: analytic_journal_billing_rate
#: model:ir.module.module,shortdesc:analytic_journal_billing_rate.module_meta_information
msgid "Analytic Journal Billing Rate"
msgstr "辅助核算分类帐的记帐标准"
msgstr "辅助核算集合的开票税率"
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,rate_id:0

View File

@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.6\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-03-20 07:31+0000\n"
"PO-Revision-Date: 2010-07-14 03:52+0000\n"
"Last-Translator: Black Jack <onetimespeed@hotmail.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: 2010-06-22 04:17+0000\n"
"X-Launchpad-Export-Date: 2010-07-15 03:36+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: analytic_user_function
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "无效的视图结构XML文件!"
msgstr "无效XML视图结构!"
#. module: analytic_user_function
#: model:ir.model,name:analytic_user_function.model_analytic_user_funct_grid
@ -51,7 +51,7 @@ msgstr "用户"
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr "对象名必须要以X_开头并且不能含有特殊字符!"
msgstr "对象名称必须以“x_”开头且不能包含任何特殊字符"
#. module: analytic_user_function
#: model:ir.module.module,shortdesc:analytic_user_function.module_meta_information
@ -63,6 +63,10 @@ msgstr "辅助核算用的函数"
msgid "User's Product for this Analytic Account"
msgstr "用户的产品辅助核算项"
#, python-format
#~ msgid "Error !"
#~ msgstr "错误!"
#~ msgid ""
#~ "\n"
#~ "\n"

View File

@ -29,7 +29,7 @@ class profile_association_config_install_modules_wizard(osv.osv_memory):
_columns = {
'hr_expense':fields.boolean('Expenses Tracking', help="Tracks the personal expenses process, from the employee expense encoding, to the reimbursement of the employee up to the reinvoicing to the final customer."),
'project':fields.boolean('Project Management'),
'event_project':fields.boolean('Organization and management of events', help="This module allows you to create retro planning for managing your events."),
'event_project':fields.boolean('Organization and management of Events', help="This module allows you to create retro planning for managing your events."),
'project_gtd':fields.boolean('Getting Things Done',
help="GTD is a methodology to efficiently organise yourself and your tasks. This module fully integrates GTD principle with OpenERP's project management."),
'wiki': fields.boolean('Wiki',

View File

@ -18,6 +18,9 @@
position="attributes">
<attribute name="string">Install more modules. A few modules are proposed according to the Association Profile you selected. You will be able to install them based on our requirements.</attribute>
</xpath>
<xpath expr="//button[@string='Install Modules']" position="attributes">
<attribute name="string">Configure</attribute>
</xpath>
<separator string="title" position="replace"/>
<group colspan="8">
<separator string="Project Management" colspan="4"/>

File diff suppressed because it is too large Load Diff

View File

@ -90,7 +90,6 @@ class wiz_auc_lots_buyer_map(osv.osv_memory):
for rec in recs:
if rec.ach_login==datas['ach_login']:
lots_obj.write(cr, uid, [rec.id], {'ach_uid': datas['ach_uid']}, context=context)
cr.commit()
return {}
def fields_view_get(self, cr, uid, view_id=None, view_type='form',

View File

@ -73,7 +73,6 @@ class auction_lots_make_invoice(osv.osv_memory):
result = mod_obj._get_id(cr, uid, 'account', 'view_account_invoice_filter')
id = mod_obj.read(cr, uid, result, ['res_id'])
lots_ids = order_obj.seller_trans_create(cr, uid, context['active_ids'], context)
cr.commit()
return {
'domain': "[('id','in', ["+','.join(map(str, lots_ids))+"])]",
'name': 'Seller invoices',

View File

@ -73,7 +73,6 @@ class auction_lots_make_invoice_buyer(osv.osv_memory):
for lot in lots:
up_auction = order_obj.write(cr, uid, [lot.id], {'ach_uid': data['buyer_id']})
lots_ids = order_obj.lots_invoice(cr, uid, context['active_ids'], context, data['number'])
cr.commit()
return {
'domain': "[('id','in', ["+','.join(map(str, lots_ids))+"])]",
'name': 'Buyer invoices',

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-02-03 12:33+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"PO-Revision-Date: 2010-07-11 09:27+0000\n"
"Last-Translator: Pomazan Bogdan <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: 2010-06-22 04:16+0000\n"
"X-Launchpad-Export-Date: 2010-07-12 03:47+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: audittrail
@ -32,12 +32,12 @@ msgstr ""
#. module: audittrail
#: field:audittrail.log.line,log_id:0
msgid "Log"
msgstr ""
msgstr "Журнал"
#. module: audittrail
#: selection:audittrail.rule,state:0
msgid "Subscribed"
msgstr ""
msgstr "Подписка"
#. module: audittrail
#: view:audittrail.log:0
@ -47,7 +47,7 @@ msgstr ""
#. module: audittrail
#: selection:audittrail.log,method:0
msgid "Create"
msgstr ""
msgstr "Создать"
#. module: audittrail
#: wizard_view:audittrail.view.log,init:0
@ -57,27 +57,27 @@ msgstr ""
#. module: audittrail
#: field:audittrail.rule,state:0
msgid "State"
msgstr ""
msgstr "Состояние"
#. module: audittrail
#: selection:audittrail.rule,state:0
msgid "Draft"
msgstr ""
msgstr "Черновик"
#. module: audittrail
#: field:audittrail.log.line,old_value:0
msgid "Old Value"
msgstr ""
msgstr "Старое значение"
#. module: audittrail
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr ""
msgstr "Недопустимое имя модели в определении действия."
#. module: audittrail
#: model:ir.actions.wizard,name:audittrail.wizard_audittrail_log
msgid "View log"
msgstr ""
msgstr "Просмотреть журнал"
#. module: audittrail
#: model:ir.model,name:audittrail.model_audittrail_log_line
@ -87,7 +87,7 @@ msgstr ""
#. module: audittrail
#: field:audittrail.log,method:0
msgid "Method"
msgstr ""
msgstr "Метод"
#. module: audittrail
#: wizard_field:audittrail.view.log,init,from:0
@ -107,7 +107,7 @@ msgstr ""
#. module: audittrail
#: selection:audittrail.log,method:0
msgid "Write"
msgstr ""
msgstr "Написать"
#. module: audittrail
#: model:ir.ui.menu,name:audittrail.menu_action_audittrail
@ -122,18 +122,18 @@ msgstr ""
#. module: audittrail
#: view:audittrail.rule:0
msgid "Subscribe"
msgstr ""
msgstr "Подписаться"
#. module: audittrail
#: selection:audittrail.log,method:0
msgid "Read"
msgstr ""
msgstr "Читать"
#. module: audittrail
#: field:audittrail.log,object_id:0
#: field:audittrail.rule,object_id:0
msgid "Object"
msgstr ""
msgstr "Объект"
#. module: audittrail
#: view:audittrail.rule:0
@ -162,12 +162,12 @@ msgstr ""
#. module: audittrail
#: field:audittrail.log,timestamp:0
msgid "Date"
msgstr ""
msgstr "Дата"
#. module: audittrail
#: field:audittrail.log,user_id:0
msgid "User"
msgstr ""
msgstr "Пользователь"
#. module: audittrail
#: view:audittrail.log:0
@ -182,7 +182,7 @@ msgstr "Неправильный XML для просмотра архитект
#. module: audittrail
#: field:audittrail.log,name:0
msgid "Name"
msgstr ""
msgstr "Название"
#. module: audittrail
#: field:audittrail.log,line_ids:0
@ -197,7 +197,7 @@ msgstr ""
#. module: audittrail
#: field:audittrail.log.line,field_id:0
msgid "Fields"
msgstr ""
msgstr "Поля"
#. module: audittrail
#: view:audittrail.rule:0
@ -212,7 +212,7 @@ msgstr ""
#. module: audittrail
#: view:audittrail.rule:0
msgid "UnSubscribe"
msgstr ""
msgstr "Отписаться"
#. module: audittrail
#: field:audittrail.rule,log_write:0
@ -232,7 +232,7 @@ msgstr ""
#. module: audittrail
#: selection:audittrail.log,method:0
msgid "Delete"
msgstr ""
msgstr "Удалить"
#. module: audittrail
#: wizard_button:audittrail.view.log,init,open:0
@ -247,7 +247,7 @@ msgstr ""
#. module: audittrail
#: field:audittrail.rule,name:0
msgid "Rule Name"
msgstr ""
msgstr "Название правила"
#. module: audittrail
#: field:audittrail.rule,log_read:0
@ -257,7 +257,7 @@ msgstr ""
#. module: audittrail
#: model:ir.ui.menu,name:audittrail.menu_action_audittrail_log_tree
msgid "Logs"
msgstr ""
msgstr "Журналы"
#. module: audittrail
#: field:audittrail.log.line,new_value:0
@ -292,7 +292,7 @@ msgstr ""
#. module: audittrail
#: field:audittrail.rule,user_id:0
msgid "Users"
msgstr ""
msgstr "Пользователи"
#. module: audittrail
#: field:audittrail.log.line,old_value_text:0
@ -302,7 +302,7 @@ msgstr ""
#. module: audittrail
#: wizard_button:audittrail.view.log,init,end:0
msgid "Cancel"
msgstr ""
msgstr "Отмена"
#. module: audittrail
#: field:audittrail.rule,log_unlink:0

View File

@ -61,7 +61,6 @@ class base_action_rule(osv.osv):
_columns = {
'name': fields.many2one('ir.model', 'Object', required=True),
'max_level': fields.integer('Max Level', help='Specifies maximum level.'),
'create_date': fields.datetime('Create Date', readonly=1),
'active': fields.boolean('Active', help="If the active field is set to False,\
it will allow you to hide the rule without removing it."),
@ -106,24 +105,21 @@ the rule to mark CC(mail to any other person defined in actions)."),
'act_mail_to_email': fields.char('Mail to these Emails', size=128, \
help="Email-id of the persons whom mail is to be sent"),
'act_mail_body': fields.text('Mail body', help="Content of mail"),
'regex_name': fields.char('Regex on Resource Name', size=128, help="Regular expression for mathching name of the resource\
\ne.g.: urgent.* will search for records having name starting with urgent\
'regex_name': fields.char('Regex on Resource Name', size=128, help="Regular expression for matching name of the resource\
\ne.g.: 'urgent.*' will search for records having name starting with the string 'urgent'\
\nNote: This is case sensitive search."),
'server_action_id': fields.many2one('ir.actions.server', 'Server Action', help="Describes the action name.\neg:on which object which action to be taken on basis of which condition"),
'filter_id':fields.many2one('ir.filters', 'Filter', required=False),
'domain':fields.char('Domain', size=124, required=False, readonly=False),
}
_defaults = {
'active': lambda *a: True,
'max_level': lambda *a: 15,
'trg_date_type': lambda *a: 'none',
'trg_date_range_type': lambda *a: 'day',
'act_mail_to_user': lambda *a: 0,
'act_remind_partner': lambda *a: 0,
'act_remind_user': lambda *a: 0,
'act_mail_to_watchers': lambda *a: 0,
'domain': lambda *a: '[]'
}
_order = 'sequence'
@ -249,9 +245,13 @@ the rule to mark CC(mail to any other person defined in actions)."),
@param uid: the current users ID for security checks,
@param context: A standard dictionary for contextual values """
ok = True
if eval(action.domain):
obj_ids = obj._table.search(cr, uid, eval(action.domain), context=context)
if not obj.id in obj_ids:
if action.filter_id:
if action.name.model == action.filter_id.model_id:
context.update(eval(action.filter_id.context))
obj_ids = obj._table.search(cr, uid, eval(action.filter_id.domain), context=context)
if not obj.id in obj_ids:
ok = False
else:
ok = False
if hasattr(obj, 'user_id'):
ok = ok and (not action.trg_user_id.id or action.trg_user_id.id==obj.user_id.id)
@ -344,9 +344,6 @@ the rule to mark CC(mail to any other person defined in actions)."),
if not scrit:
scrit = []
for action in self.browse(cr, uid, ids):
level = action.max_level
if not level:
break
model_obj = self.pool.get(action.name.model)
for obj in objects:
ok = self.do_check(cr, uid, action, obj, context=context)
@ -391,7 +388,6 @@ the rule to mark CC(mail to any other person defined in actions)."),
if ok:
self.do_action(cr, uid, action, model_obj, obj, context)
break
level -= 1
context.update({'action': False})
return True

View File

@ -17,8 +17,6 @@
<field name="name" select="1"/>
<field name="active"/>
<field name="sequence"/>
<field name="max_level" />
<field name="domain"/>
<field name="filter_id"/>
<notebook colspan="4">
<page string="Conditions">
@ -96,10 +94,9 @@
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Action Rule">
<field name="name" colspan="4"/>
<field name="sequence"/>
<field name="max_level"/>
<field name="domain"/>
<field name="name" colspan="4"/>
<field name="filter_id"/>
</tree>
</field>
</record>

View File

@ -383,7 +383,7 @@ property or property parameter."),
'rsvp': True,
'cutype': 'individual',
}
def copy(self, cr, uid, id, default=None, context=None):
raise osv.except_osv(_('Warning!'), _('Can not Duplicate'))
@ -419,10 +419,14 @@ property or property parameter."),
event.add('location').value = event_obj.location
if event_obj.rrule:
event.add('rrule').value = event_obj.rrule
if event_obj.user_id:
if event_obj.user_id or event_obj.organizer_id:
event_org = event.add('organizer')
event_org.params['CN'] = [event_obj.user_id.name]
event_org.value = 'MAILTO:' + (event_obj.user_id.user_email or event_obj.user_id.name)
organizer = event_obj.organizer_id
if not organizer:
organizer = event_obj.user_id
event_org.params['CN'] = [organizer.name]
event_org.value = 'MAILTO:' + (organizer.user_email or organizer.name)
if event_obj.alarm_id:
# computes alarm data
valarm = event.add('valarm')
@ -455,14 +459,14 @@ property or property parameter."),
attendee_add.value = 'MAILTO:' + (attendee.email or '')
res = cal.serialize()
return res
def _send_mail(self, cr, uid, ids, mail_to, email_from=tools.config.get('email_from', False), context=None):
"""
Send mail for event invitation to event attendees.
Send mail for event invitation to event attendees.
@param cr: the current row, from the database cursor,
@param uid: the current users ID for security checks,
@param ids: List of attendees IDs.
@param email_from: Email address for user sending the mail
@param email_from: Email address for user sending the mail
@param context: A standard dictionary for contextual values
@return: True
"""
@ -474,7 +478,7 @@ property or property parameter."),
sign = att.sent_by_uid and att.sent_by_uid.signature or ''
sign = '<br>'.join(sign and sign.split('\n') or [])
res_obj = att.ref
sub = '[%s Invitation][%d] %s' % (company, att.id, res_obj.name)
sub = res_obj.name
att_infos = []
other_invitaion_ids = self.search(cr, uid, [('ref', '=', res_obj._name + ',' + str(res_obj.id))])
for att2 in self.browse(cr, uid, other_invitaion_ids):
@ -495,12 +499,12 @@ property or property parameter."),
if mail_to and email_from:
attach = self.get_ics_file(cr, uid, res_obj, context=context)
tools.email_send(
email_from,
mail_to,
sub,
body,
attach=attach and [('invitation.ics', attach)] or None,
subtype='html',
email_from,
mail_to,
sub,
body,
attach=attach and [('invitation.ics', attach)] or None,
subtype='html',
reply_to=email_from
)
return True
@ -528,31 +532,28 @@ property or property parameter."),
@param uid: the current users ID for security checks,
@param ids: List of calendar attendees IDs
@param *args: Get Tupple value
@param context: A standard dictionary for contextual values
@param context: A standard dictionary for contextual values
"""
return self.write(cr, uid, ids, {'state': 'tentative'}, context)
def do_accept(self, cr, uid, ids, context=None, *args):
"""
Update state of invitation as Accepted and
Update state of invitation as Accepted and
if the invited user is other then event user it will make a copy of this event for invited user
@param cr: the current row, from the database cursor,
@param uid: the current users ID for security checks,
@param ids: List of calendar attendees IDs.
@param context: A standard dictionary for contextual values
@param context: A standard dictionary for contextual values
@return: True
"""
if not context:
context = {}
for vals in self.browse(cr, uid, ids, context=context):
#user = vals.user_id
#if user:
# mod_obj = self.pool.get(vals.ref._name)
# if vals.ref:
# if vals.ref.user_id.id != user.id:
# defaults = {'user_id': user.id}
# new_event = mod_obj.copy(cr, uid, vals.ref.id, default=defaults, context=context)
if vals.ref and vals.ref.user_id:
mod_obj = self.pool.get(vals.ref._name)
defaults = {'user_id': vals.user_id.id, 'organizer_id': vals.ref.user_id.id}
new_event = mod_obj.copy(cr, uid, vals.ref.id, default=defaults, context=context)
self.write(cr, uid, vals.id, {'state': 'accepted'}, context)
return True
@ -565,7 +566,8 @@ property or property parameter."),
@param ids: List of calendar attendees IDs
@param *args: Get Tupple value
@param context: A standard dictionary for contextual values """
if not context:
context = {}
return self.write(cr, uid, ids, {'state': 'declined'}, context)
def create(self, cr, uid, vals, context=None):
@ -585,7 +587,6 @@ property or property parameter."),
vals['cn'] = vals.get("cn")
res = super(calendar_attendee, self).create(cr, uid, vals, context)
return res
calendar_attendee()
class res_alarm(osv.osv):
@ -654,9 +655,9 @@ true, it will allow you to hide the event alarm information without removing it.
alarm_ids = res_alarm_obj.search(cr, uid, domain, context=context)
if not alarm_ids:
val = {
'trigger_duration': duration,
'trigger_interval': interval,
'trigger_occurs': occurs,
'trigger_duration': duration,
'trigger_interval': interval,
'trigger_occurs': occurs,
'trigger_related': related,
'name': str(duration) + ' ' + str(interval) + ' ' + str(occurs)
}
@ -690,7 +691,6 @@ true, it will allow you to hide the event alarm information without removing it.
cr.execute('Update %s set base_calendar_alarm_id=%s, alarm_id=%s \
where id=%s' % (model_obj._table, \
alarm_id, basic_alarm.id, data.id))
cr.commit()
return True
def do_alarm_unlink(self, cr, uid, ids, model, context=None):
@ -714,7 +714,6 @@ true, it will allow you to hide the event alarm information without removing it.
alarm_obj.unlink(cr, uid, alarm_ids)
cr.execute('Update %s set base_calendar_alarm_id=NULL, alarm_id=NULL\
where id=%s' % (model_obj._table, datas.id))
cr.commit()
return True
res_alarm()
@ -726,35 +725,35 @@ class calendar_alarm(osv.osv):
__attribute__ = {}
_columns = {
'alarm_id': fields.many2one('res.alarm', 'Basic Alarm', ondelete='cascade'),
'alarm_id': fields.many2one('res.alarm', 'Basic Alarm', ondelete='cascade'),
'name': fields.char('Summary', size=124, help="""Contains the text to be \
used as the message subject for email \
or contains the text to be used for display"""),
or contains the text to be used for display"""),
'action': fields.selection([('audio', 'Audio'), ('display', 'Display'), \
('procedure', 'Procedure'), ('email', 'Email') ], 'Action', \
required=True, help="Defines the action to be invoked when an alarm is triggered"),
required=True, help="Defines the action to be invoked when an alarm is triggered"),
'description': fields.text('Description', help='Provides a more complete \
description of the calendar component, than that \
provided by the "SUMMARY" property'),
provided by the "SUMMARY" property'),
'attendee_ids': fields.many2many('calendar.attendee', 'alarm_attendee_rel', \
'alarm_id', 'attendee_id', 'Attendees', readonly=True),
'alarm_id', 'attendee_id', 'Attendees', readonly=True),
'attach': fields.binary('Attachment', help="""* Points to a sound resource,\
which is rendered when the alarm is triggered for audio,
* File which is intended to be sent as message attachments for email,
* Points to a procedure resource, which is invoked when\
the alarm is triggered for procedure."""),
'res_id': fields.integer('Resource ID'),
'model_id': fields.many2one('ir.model', 'Model'),
'user_id': fields.many2one('res.users', 'Owner'),
'event_date': fields.datetime('Event Date'),
'event_end_date': fields.datetime('Event End Date'),
'trigger_date': fields.datetime('Trigger Date', readonly="True"),
the alarm is triggered for procedure."""),
'res_id': fields.integer('Resource ID'),
'model_id': fields.many2one('ir.model', 'Model'),
'user_id': fields.many2one('res.users', 'Owner'),
'event_date': fields.datetime('Event Date'),
'event_end_date': fields.datetime('Event End Date'),
'trigger_date': fields.datetime('Trigger Date', readonly="True"),
'state':fields.selection([
('draft', 'Draft'),
('run', 'Run'),
('stop', 'Stop'),
('done', 'Done'),
], 'State', select=True, readonly=True),
('draft', 'Draft'),
('run', 'Run'),
('stop', 'Stop'),
('done', 'Done'),
], 'State', select=True, readonly=True),
}
_defaults = {
@ -803,7 +802,7 @@ class calendar_alarm(osv.osv):
current_datetime = datetime.now()
request_obj = self.pool.get('res.request')
alarm_ids = self.search(cr, uid, [('state', '!=', 'done')], context=context)
mail_to = []
for alarm in self.browse(cr, uid, alarm_ids, context=context):
@ -918,10 +917,10 @@ class calendar_event(osv.osv):
return {}
event = self.browse(cr, uid, ids, context=context)[0]
value = {
'duration': 24
'duration': 24
}
return {'value': value}
def onchange_dates(self, cr, uid, ids, start_date, duration=False, end_date=False, allday=False, context=None):
"""Returns duration and/or end date based on values passed
@param self: The object pointer
@ -1084,11 +1083,11 @@ class calendar_event(osv.osv):
'duration': fields.float('Duration', states={'done': [('readonly', True)]}),
'description': fields.text('Description', states={'done': [('readonly', True)]}),
'class': fields.selection([('public', 'Public'), ('private', 'Private'), \
('confidential', 'Confidential')], 'Mark as', states={'done': [('readonly', True)]}),
'location': fields.char('Location', size=264, help="Location of Event", states={'done': [('readonly', True)]}),
('confidential', 'Confidential')], 'Mark as', states={'done': [('readonly', True)]}),
'location': fields.char('Location', size=264, help="Location of Event", states={'done': [('readonly', True)]}),
'show_as': fields.selection([('free', 'Free'), ('busy', 'Busy')], \
'Show as', states={'done': [('readonly', True)]}),
'base_calendar_url': fields.char('Caldav URL', size=264),
'base_calendar_url': fields.char('Caldav URL', size=264),
'state': fields.selection([('tentative', 'Tentative'),
('confirmed', 'Confirmed'),
('cancelled', 'Cancelled')], 'State', readonly=True),
@ -1112,6 +1111,7 @@ e.g.: Every other month on the last Sunday of the month for 10 occurrences:\
'vtimezone': fields.related('user_id', 'context_tz', type='char', size=24, \
string='Timezone', store=True),
'user_id': fields.many2one('res.users', 'Responsible', states={'done': [('readonly', True)]}),
'organizer_id': fields.many2one('res.users', 'Organizer', states={'done': [('readonly', True)]}),
'freq': fields.selection([('None', 'No Repeat'), \
('secondly', 'Secondly'), \
('minutely', 'Minutely'), \
@ -1138,25 +1138,27 @@ e.g.: Every other month on the last Sunday of the month for 10 occurrences:\
('SU', 'Sunday')], 'Weekday'),
'byday': fields.selection([('1', 'First'), ('2', 'Second'), \
('3', 'Third'), ('4', 'Fourth'), \
('5', 'Fifth'), ('-1', 'Last')], 'By day'),
'month_list': fields.selection(months.items(), 'Month'),
'end_date': fields.date('Repeat Until'),
('5', 'Fifth'), ('-1', 'Last')], 'By day'),
'month_list': fields.selection(months.items(), 'Month'),
'end_date': fields.date('Repeat Until'),
'attendee_ids': fields.many2many('calendar.attendee', 'event_attendee_rel', \
'event_id', 'attendee_id', 'Attendees'),
'allday': fields.boolean('All Day', states={'done': [('readonly', True)]}),
'event_id', 'attendee_id', 'Attendees'),
'allday': fields.boolean('All Day', states={'done': [('readonly', True)]}),
'active': fields.boolean('Active', help="If the active field is set to \
true, it will allow you to hide the event alarm information without removing it.")
}
_defaults = {
'state': 'tentative',
'state': 'tentative',
'class': 'public',
'show_as': 'busy',
'freq': 'None',
'select1': 'date',
'interval': 1,
'active': 1,
}
'user_id': lambda self, cr, uid, ctx: uid,
'organizer_id': lambda self, cr, uid, ctx: uid,
}
def open_event(self, cr, uid, ids, context=None):
"""
@ -1185,26 +1187,26 @@ true, it will allow you to hide the event alarm information without removing it.
id4 = data_obj.browse(cr, uid, id4, context=context).res_id
for id in ids:
value = {
'name': _('Event'),
'view_type': 'form',
'view_mode': 'form,tree',
'res_model': 'calendar.event',
'view_id': False,
'views': [(id2, 'form'), (id3, 'tree'), (id4, 'calendar')],
'type': 'ir.actions.act_window',
'res_id': base_calendar_id2real_id(id),
'name': _('Event'),
'view_type': 'form',
'view_mode': 'form,tree',
'res_model': 'calendar.event',
'view_id': False,
'views': [(id2, 'form'), (id3, 'tree'), (id4, 'calendar')],
'type': 'ir.actions.act_window',
'res_id': base_calendar_id2real_id(id),
'nodestroy': True
}
return value
def modify_this(self, cr, uid, event_id, defaults, real_date, context=None, *args):
"""Modifies only one event record out of virtual recurrent events
"""Modifies only one event record out of virtual recurrent events
and creates new event as a specific instance of a Recurring Event",
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current users ID for security checks,
@param event_id: Id of Recurring Event
@param event_id: Id of Recurring Event
@param real_date: Date of event recurrence that is being modified
@param context: A standard dictionary for contextual values
@param *args: Get Tupple Value
@ -1227,7 +1229,7 @@ true, it will allow you to hide the event alarm information without removing it.
def modify_all(self, cr, uid, event_ids, defaults, context=None, *args):
"""
Modifies the recurring event
Modifies the recurring event
@param cr: the current row, from the database cursor,
@param uid: the current users ID for security checks,
@param event_ids: List of crm meetings IDs.
@ -1254,7 +1256,7 @@ true, it will allow you to hide the event alarm information without removing it.
def get_recurrent_ids(self, cr, uid, select, base_start_date, base_until_date, limit=100):
"""Gives virtual event ids for recurring events based on value of Recurrence Rule
This method gives ids of dates that comes between start date and end date of calendar views
This method gives ids of dates that comes between start date and end date of calendar views
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current users ID for security checks,
@ -1420,8 +1422,7 @@ true, it will allow you to hide the event alarm information without removing it.
until_date = arg[2]
res = super(calendar_event, self).search(cr, uid, args_without_date, \
offset, limit, order, context, count)
#Search Event ID which are invitted
return self.get_recurrent_ids(cr, uid, res, start_date, until_date, limit)
@ -1560,7 +1561,7 @@ true, it will allow you to hide the event alarm information without removing it.
event_id = [int(event_id)]
for record in self.read(cr, uid, event_id, ['date', 'rrule', 'exdate']):
if record['rrule']:
# Remove one of the recurrent event
# Remove one of the recurrent event
date_new = time.strftime("%Y-%m-%d %H:%M:%S", \
time.strptime(date_new, "%Y%m%d%H%M%S"))
exdate = (record['exdate'] and (record['exdate'] + ',') or '') + ''.join((re.compile('\d')).findall(date_new)) + 'Z'
@ -1586,7 +1587,7 @@ true, it will allow you to hide the event alarm information without removing it.
alarm_obj = self.pool.get('res.alarm')
alarm_obj.do_alarm_create(cr, uid, [res], self._name, 'date', context=context)
return res
def do_tentative(self, cr, uid, ids, context=None, *args):
""" Makes event invitation as Tentative
@param self: The object pointer
@ -1594,10 +1595,10 @@ true, it will allow you to hide the event alarm information without removing it.
@param uid: the current users ID for security checks,
@param ids: List of Event IDs
@param *args: Get Tupple value
@param context: A standard dictionary for contextual values
@param context: A standard dictionary for contextual values
"""
return self.write(cr, uid, ids, {'state': 'tentative'}, context)
def do_cancel(self, cr, uid, ids, context=None, *args):
""" Makes event invitation as Tentative
@param self: The object pointer
@ -1605,7 +1606,7 @@ true, it will allow you to hide the event alarm information without removing it.
@param uid: the current users ID for security checks,
@param ids: List of Event IDs
@param *args: Get Tupple value
@param context: A standard dictionary for contextual values
@param context: A standard dictionary for contextual values
"""
return self.write(cr, uid, ids, {'state': 'cancelled'}, context)
@ -1616,7 +1617,7 @@ true, it will allow you to hide the event alarm information without removing it.
@param uid: the current users ID for security checks,
@param ids: List of Event IDs
@param *args: Get Tupple value
@param context: A standard dictionary for contextual values
@param context: A standard dictionary for contextual values
"""
return self.write(cr, uid, ids, {'state': 'confirmed'}, context)
@ -1760,9 +1761,9 @@ class ir_model(osv.osv):
_inherit = 'ir.model'
def read(self, cr, uid, ids, fields=None, context=None,
def read(self, cr, uid, ids, fields=None, context=None,
load='_classic_read'):
"""
"""
Overrides orm read method.
@param self: The object pointer
@param cr: the current row, from the database cursor,
@ -1809,7 +1810,7 @@ class res_users(osv.osv):
_inherit = 'res.users'
def _get_user_avail(self, cr, uid, ids, context=None):
"""
"""
Get User Availability
@param self: The object pointer
@param cr: the current row, from the database cursor,
@ -1840,7 +1841,7 @@ class res_users(osv.osv):
return res
def _get_user_avail_fun(self, cr, uid, ids, name, args, context=None):
"""
"""
Get User Availability Function
@param self: The object pointer
@param cr: the current row, from the database cursor,

View File

@ -45,7 +45,7 @@
'update_xml': [
'security/ir.model.access.csv',
'base_contact_view.xml',
'base_contact_installer_view.xml',
# 'base_contact_installer_view.xml',
'process/base_contact_process.xml'
],
'demo_xml': ['base_contact_demo.xml'],

View File

@ -72,8 +72,8 @@
<tree string="Functions and Addresses">
<field name="sequence_contact" string="Seq."/>
<field name="function"/>
<field name="name"/>
<field name="address_id"/>
<field name="name" on_change="onchange_partner(name)"/>
<field name="address_id" attrs="{'required': [('name', '!=', False)]}" on_change="onchange_address(address_id)"/>
<field name="phone"/>
<field name="fax"/>
<field name="extension"/>
@ -180,7 +180,6 @@
<form string="Contacts">
<group colspan="4" col="4">
<field name="sequence_partner"/>
<field name="name"/>
<field name="contact_id"/>
<field name="function"/>
</group>

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-07-08 15:37+0000\n"
"Last-Translator: Pomazan Bogdan <Unknown>\n"
"PO-Revision-Date: 2010-07-14 08:08+0000\n"
"Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.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: 2010-07-09 03:56+0000\n"
"X-Launchpad-Export-Date: 2010-07-15 03:36+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base_contact
@ -67,7 +67,7 @@ msgstr "Имя"
#. module: base_contact
#: model:ir.model,name:base_contact.model_res_partner_job
msgid "Contact Partner Function"
msgstr ""
msgstr "Функции сотрудника партнера"
#. module: base_contact
#: field:res.partner.job,other:0
@ -122,7 +122,7 @@ msgstr "Телефон"
#. module: base_contact
#: model:process.transition,note:base_contact.process_transition_contacttofunction0
msgid "Defines contacts and functions."
msgstr ""
msgstr "Определить контакты и функции"
#. module: base_contact
#: field:res.partner.contact,title:0
@ -196,7 +196,7 @@ msgstr "Категории"
#. module: base_contact
#: field:res.partner.contact,function_id:0
msgid "Main Function"
msgstr ""
msgstr "Личная функция"
#. module: base_contact
#: model:process.transition,note:base_contact.process_transition_partnertoaddress0
@ -211,12 +211,12 @@ msgstr "Неправильный XML для просмотра архитект
#. module: base_contact
#: model:process.process,name:base_contact.process_process_basecontactprocess0
msgid "Base Contact Process"
msgstr ""
msgstr "Основной контакт"
#. module: base_contact
#: view:res.partner.contact:0
msgid "Seq."
msgstr ""
msgstr "Посл-ть"
#. module: base_contact
#: field:res.partner.job,extension:0
@ -272,7 +272,7 @@ msgstr "Основной работодатель"
#. module: base_contact
#: model:process.transition,name:base_contact.process_transition_functiontoaddress0
msgid "Function to address"
msgstr ""
msgstr "Адрес функции"
#. module: base_contact
#: model:ir.actions.act_window,name:base_contact.act_res_partner_jobs

View File

@ -55,7 +55,7 @@
Now I will check that the new job is assigned properly to contact or not
-
!assert {model: res.partner.contact, id: res_partner_contact_williams0}:
- len(job_ids) > 2
- len(job_ids) >= 2
- |
In order to check contacts working at several addresses for different partners
I will create contact with 2 different addresses

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-04-16 13:36+0000\n"
"PO-Revision-Date: 2010-07-14 08:10+0000\n"
"Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.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: 2010-06-22 04:01+0000\n"
"X-Launchpad-Export-Date: 2010-07-15 03:36+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base_module_record
@ -32,7 +32,7 @@ msgstr "Информация"
#. module: base_module_record
#: model:ir.model,name:base_module_record.model_ir_module_record
msgid "ir.module.record"
msgstr ""
msgstr "Системный модуль записи"
#. module: base_module_record
#: constraint:ir.model:0

View File

@ -25,11 +25,11 @@
'version': '0.1',
'category': 'Generic Modules/Base',
'description': """
This module is used along with openerp OpenOffice plugin.
This module is used along with OpenERP OpenOffice plugin.
You have to first install the plugin which is available at
http://www.openerp.com
This module adds wizards to import/export .SXW report that
This module adds wizards to Import/Export .sxw report that
you can modify in OpenOffice.Once you have modified it you can
upload the report using the same wizard.
""",

View File

@ -7,6 +7,7 @@
<field eval="[(6,0,[ref('base.user_root')])]" name="users"/>
<field eval="&quot;&quot;&quot;OpenOfficeReportDesigner&quot;&quot;&quot;" name="name"/>
</record>
<record id="ir_model_access_openofficereportdesigner0" model="ir.model.access">
<field name="model_id" ref="base.model_ir_actions_report_xml"/>
<field eval="1" name="perm_read"/>

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
##############################################################################
#
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
@ -15,11 +15,11 @@
# 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/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from osv import fields,osv
from osv import osv
from wizard.tiny_sxw2rml import sxw2rml
from StringIO import StringIO
from report import interface
@ -27,49 +27,53 @@ import base64
import pooler
import tools
class report_xml(osv.osv):
_inherit = 'ir.actions.report.xml'
def sxwtorml(self,cr, uid, file_sxw,file_type):
def sxwtorml(self, cr, uid, file_sxw, file_type):
'''
The use of this function is to get rml file from sxw file.
'''
sxwval = StringIO(base64.decodestring(file_sxw))
if file_type=='sxw':
fp = tools.file_open('normalized_oo2rml.xsl',
fp = tools.file_open('normalized_oo2rml.xsl',
subdir='addons/base_report_designer/wizard/tiny_sxw2rml')
if file_type=='odt':
fp = tools.file_open('normalized_odt2rml.xsl',
fp = tools.file_open('normalized_odt2rml.xsl',
subdir='addons/base_report_designer/wizard/tiny_sxw2rml')
return {'report_rml_content': str(sxw2rml(sxwval, xsl=fp.read()))}
def upload_report(self, cr, uid, report_id, file_sxw,file_type, context):
def upload_report(self, cr, uid, report_id, file_sxw, file_type, context):
'''
Untested function
'''
pool = pooler.get_pool(cr.dbname)
sxwval = StringIO(base64.decodestring(file_sxw))
if file_type=='sxw':
fp = tools.file_open('normalized_oo2rml.xsl',
fp = tools.file_open('normalized_oo2rml.xsl',
subdir='addons/base_report_designer/wizard/tiny_sxw2rml')
if file_type=='odt':
fp = tools.file_open('normalized_odt2rml.xsl',
fp = tools.file_open('normalized_odt2rml.xsl',
subdir='addons/base_report_designer/wizard/tiny_sxw2rml')
report = pool.get('ir.actions.report.xml').write(cr, uid, [report_id], {
'report_sxw_content': base64.decodestring(file_sxw),
'report_rml_content': str(sxw2rml(sxwval, xsl=fp.read())),
'report_sxw_content': base64.decodestring(file_sxw),
'report_rml_content': str(sxw2rml(sxwval, xsl=fp.read())),
})
db = pooler.get_db_only(cr.dbname)
interface.register_all(db)
return True
def report_get(self, cr, uid, report_id, context={}):
report = self.browse(cr, uid, report_id, context)
return {
'file_type' : report.report_type,
'report_sxw_content': report.report_sxw_content and base64.encodestring(report.report_sxw_content) or False,
'file_type' : report.report_type,
'report_sxw_content': report.report_sxw_content and base64.encodestring(report.report_sxw_content) or False,
'report_rml_content': report.report_rml_content and base64.encodestring(report.report_rml_content) or False
}
report_xml()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,31 +1,22 @@
<?xml version="1.0"?>
<openerp>
<data>
<data>
<wizard
string="Modify an existing report"
model="ir.actions.report.xml"
name="base_report_designer.modify"
id="wizard_report_designer_modify"/>
<wizard string="Modify an existing report"
model="ir.actions.report.xml" name="base_report_designer.modify"
id="wizard_report_designer_modify" />
<menuitem icon="terp-graph" id="base.reporting_menu" name="Reporting" sequence="30"/>
<menuitem
id="base.next_id_50"
name="Configuration"
parent="base.reporting_menu"
groups="base.group_system"
sequence="3"/>
<menuitem
parent="base.next_id_50"
name="Report Designer"
action="wizard_report_designer_modify"
type="wizard"
id="menu_wizard_report_designer_modify"
sequence="70"/>
<menuitem icon="terp-graph" id="base.reporting_menu"
name="Reporting" sequence="30" />
<menuitem id="base.next_id_50" name="Configuration"
parent="base.reporting_menu" groups="base.group_system" sequence="3" />
<menuitem parent="base.next_id_50" name="Report Designer"
action="wizard_report_designer_modify" type="wizard"
id="menu_wizard_report_designer_modify" sequence="70" />
</data>
</data>
</openerp>

View File

@ -48,7 +48,7 @@ class base_setup_config_choice(osv.osv_memory):
user_ids = user_obj.search(cr, uid, [])
users = user_obj.browse(cr, uid, user_ids)
user_str = '\n'.join(map(lambda x: ' - %s: %s / %s' % (x.name, x.login, x.password), users))
return _('The following users have been installed on your database: \n')+ user_str
return _('The following users have been installed : \n')+ user_str
_columns = {
'installed_users':fields.text('Installed Users', readonly=True),

View File

@ -16,7 +16,7 @@
<separator string="" position="vertical" colspan="1" rowspan="8"/>
<group colspan="4" width="400">
<separator string="Installation Done" colspan="4"/>
<label align="0.0" string="Your new database is now fully installed." colspan="4"/>
<label align="0.0" string="Your database is now created." colspan="4"/>
<field name="installed_users" nolabel= "1" colspan="4"/>
</group>
</group>

View File

@ -11,7 +11,7 @@
<attribute name="string">Main Company Setup</attribute>
</form>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">Information of your company will be used to custiomise your documents like Invoices, Sale Orders,...</attribute>
<attribute name="string">Information of your company will be used to custiomise your documents like Invoices, Sale Orders and many more.</attribute>
</xpath>
<xpath expr='//separator[@string="title"]' position='attributes'>
<attribute name='string'>Configure Your Company</attribute>
@ -24,23 +24,23 @@
<group colspan="5">
<group colspan="2">
<field name="company_id" invisible="1"/>
<field name="name" required="True"/><field name="account_no"/>
<field name="currency" widget="selection"/><field name="street"/>
<field name="street2"/>
<field name="country_id"/>
<field name="name" required="True"/><field name="website"/>
<field name="street"/><field name="street2"/>
<field name="zip"/>
<field name="state_id"/>
<field name="city"/>
<field name="email"/>
<field name="country_id"/>
<field name="state_id"/>
<field name="phone"/>
<field name="website"/>
<field name="email"/>
<field name="account_no"/>
<field name="currency" widget="selection"/>
</group>
<newline/>
<group colspan="2" groups="base.group_extended">
<separator string="Report Information" colspan="4"/>
<field name="rml_header1" colspan="5"/>
<field name="rml_footer1" colspan="5"/>
<field name="rml_footer2" colspan="5"/>
<group colspan="2" groups="base.group_extended" >
<!-- <separator string="Report Information" colspan="4" />-->
<field name="rml_header1" colspan="5" invisible="1"/>
<field name="rml_footer1" colspan="5" invisible="1"/>
<field name="rml_footer2" colspan="5" invisible="1"/>
<separator colspan="4"
string="Your Logo - Use a size of about 450x150 pixels."/>

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-11-17 08:51+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"PO-Revision-Date: 2010-07-11 21:40+0000\n"
"Last-Translator: Maciej Jędrusik <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: 2010-06-22 04:03+0000\n"
"X-Launchpad-Export-Date: 2010-07-12 03:46+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base_setup
@ -254,7 +254,7 @@ msgstr "Ulica"
#. module: base_setup
#: wizard_button:base_setup.base_setup,finish,menu:0
msgid "Use Directly"
msgstr ""
msgstr "Użyj bezpośrednio"
#. module: base_setup
#: wizard_button:base_setup.base_setup,init,menu:0

View File

@ -88,7 +88,7 @@ class base_setup_company(osv.osv_memory):
'city':fields.char('City', size=128),
'state_id':fields.selection(_get_all_states, 'State'),
'country_id':fields.selection(_get_all_countries, 'Country'),
'email':fields.char('E-mail', size=64),
'email':fields.char('E-mail', size=64, required=True),
'phone':fields.char('Phone', size=64),
'currency':fields.many2one('res.currency', 'Currency', required=True),
'rml_header1':fields.char('Report Header', size=200,
@ -154,7 +154,7 @@ base_setup_company()
class res_currency(osv.osv):
_inherit = 'res.currency'
def name_get(self, cr, uid, ids, context=None):
if context is None:
context = {}
@ -168,7 +168,7 @@ class res_currency(osv.osv):
ids = [ids]
reads = self.read(cr, uid, ids, ['name','code'], context, load='_classic_write')
return [(x['id'], tools.ustr(x['name']) + ' (' + tools.ustr(x['code']) + ')') for x in reads]
res_currency()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -4,9 +4,28 @@
<menuitem icon="terp-graph" id="base.reporting_menu"
name="Reporting" sequence="30" />
<menuitem icon="terp-graph" id="menu_dasboard"
name="Dashboard" sequence="30" />
<!--Board Note Tree View -->
name="Dashboard" sequence="30" />
<!--Board Note Search View -->
<record id="view_board_note_search" model="ir.ui.view">
<field name="name">board.note.search</field>
<field name="model">board.note</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Notes">
<group col="10" colspan="4">
<field name="name" string="Subject"/>
<field name="type" string="Note Type"/>
<field name="date" string="Date"/>
</group>
<newline/>
<group expand="0" colspan="4" string="Group By...">
<filter string="Author" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
</group>
</search>
</field>
</record>
<!--Board Note Tree View -->
<record id="view_board_note_tree" model="ir.ui.view">
<field name="name">board.note.tree</field>
@ -15,10 +34,11 @@
<field name="arch" type="xml">
<tree string="Notes">
<field name="name"/>
<field name="user_id"/>
</tree>
</field>
</record>
<!--Board Note Form View -->
<record id="view_board_note_form" model="ir.ui.view">
@ -31,7 +51,8 @@
<field name="type" select="1" required="1"/>
<field name="user_id" select="1"/>
<field name="date" select="1"/>
<field colspan="4" name="note"/>
<separator string="Notes" colspan="4"/>
<field colspan="4" name="note" nolabel="1"/>
</form>
</field>
</record>
@ -43,6 +64,7 @@
<field name="res_model">board.note</field>
<field name="view_type">form</field>
<field name="view_mode">form,tree</field>
<field name="search_view_id" ref="view_board_note_search"/>
</record>
<!-- Board Tree View -->
@ -72,7 +94,7 @@
name="%(action_board_menu_create)d"
string="Create Menu" type="action"
icon="gtk-justify-fill" />
<field colspan="4" name="line_ids">
<field colspan="4" name="line_ids" nolabel="1">
<tree string="Dashboard View">
<field name="name"/>
<field name="sequence"/>

View File

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<openerp>
<data noupdate="1">
<record model="document.directory" id="document.dir_calendars">
<field name="name">Calendars</field>
<field name="calendar_collection">True</field>
@ -14,6 +14,11 @@
<field name="type">vevent</field>
</record>
<record model="basic.calendar.attributes" id="field_event_organizer">
<field name="name">organizer</field>
<field name="type">vevent</field>
</record>
<record model="basic.calendar.attributes" id="field_event_uid">
<field name="name">uid</field>
<field name="type">vevent</field>
@ -58,12 +63,12 @@
<field name="name">valarm</field>
<field name="type">vevent</field>
</record>
<record model="basic.calendar.attributes" id="field_event_vtimezone">
<field name="name">vtimezone</field>
<field name="type">vevent</field>
</record>
<record model="basic.calendar.attributes" id="field_event_priority">
<field name="name">priority</field>
<field name="type">vevent</field>
@ -181,12 +186,12 @@
<field name="name">seq</field>
<field name="type">vtodo</field>
</record>
<record model="basic.calendar.attributes" id="field_todo_vtimezone">
<field name="name">vtimezone</field>
<field name="type">vtodo</field>
</record>
<record model="basic.calendar.attributes" id="field_todo_url">
<field name="name">url</field>
<field name="type">vtodo</field>

View File

@ -228,6 +228,8 @@ class CalDAV(object):
att_data = []
for cal_data in child.getChildren():
if cal_data.name.lower() == 'organizer':
self.ical_set(cal_data.name.lower(), {'name':cal_data.params['CN']}, 'value')
if cal_data.name.lower() == 'attendee':
ctx = context.copy()
if cal_children:
@ -266,7 +268,7 @@ class CalDAV(object):
if not datas:
return
timezones = []
for data in datas:
for data in datas:
tzval = None
vevent = ical.add(name)
for field in self.__attribute__.keys():
@ -307,6 +309,13 @@ class CalDAV(object):
ical = tz_obj.export_cal(cr, uid, None, \
data[map_field], ical, context=context)
timezones.append(data[map_field])
elif field == 'organizer' and data[map_field]:
event_org = vevent.add('organizer')
organizer_id = data[map_field][0]
user_obj = self.pool.get('res.users')
organizer = user_obj.browse(cr, uid, organizer_id, context=context)
event_org.params['CN'] = [organizer.name]
event_org.value = 'MAILTO:' + (organizer.user_email or organizer.name)
elif data[map_field]:
if map_type in ("char", "text"):
if field in ('exdate'):
@ -414,7 +423,7 @@ class CalDAV(object):
return res
class Calendar(CalDAV, osv.osv):
_name = 'basic.calendar'
_name = 'basic.calendar'
_calname = 'calendar'
__attribute__ = {
@ -431,13 +440,13 @@ class Calendar(CalDAV, osv.osv):
'vtimezone': None, # Use: O-n, Type: Collection of Timezone class
}
_columns = {
'name': fields.char("Name", size=64),
'name': fields.char("Name", size=64),
'user_id': fields.many2one('res.users', 'Owner'),
'collection_id': fields.many2one('document.directory', 'Collection', \
required=True),
'type': fields.selection([('vevent', 'Event'), ('vtodo', 'TODO')], \
string="Type", size=64),
'line_ids': fields.one2many('basic.calendar.lines', 'calendar_id', 'Calendar Lines'),
'line_ids': fields.one2many('basic.calendar.lines', 'calendar_id', 'Calendar Lines'),
'create_date': fields.datetime('Created Date'),
'write_date': fields.datetime('Modifided Date'),
}
@ -448,8 +457,8 @@ class Calendar(CalDAV, osv.osv):
if not domain:
domain = []
res = []
ctx_res_id = context.get('res_id', None)
ctx_model = context.get('model', None)
ctx_res_id = context.get('res_id', None)
ctx_model = context.get('model', None)
for cal in self.browse(cr, uid, ids):
for line in cal.line_ids:
if ctx_model and ctx_model != line.object_id.model:
@ -458,13 +467,13 @@ class Calendar(CalDAV, osv.osv):
continue
line_domain = eval(line.domain)
line_domain += domain
if ctx_res_id:
if ctx_res_id:
line_domain += [('id','=',ctx_res_id)]
mod_obj = self.pool.get(line.object_id.model)
data_ids = mod_obj.search(cr, uid, line_domain, context=context)
data_ids = mod_obj.search(cr, uid, line_domain, context=context)
for data in mod_obj.browse(cr, uid, data_ids, context):
ctx = parent and parent.context or None
node = res_node_calendar('%s' %data.id, parent, ctx, data, line.object_id.model, data.id)
node = res_node_calendar('%s' %data.id, parent, ctx, data, line.object_id.model, data.id)
res.append(node)
return res
@ -478,8 +487,8 @@ class Calendar(CalDAV, osv.osv):
"""
if not context:
context = {}
ctx_model = context.get('model', None)
ctx_res_id = context.get('res_id', None)
ctx_model = context.get('model', None)
ctx_res_id = context.get('res_id', None)
ical = vobject.iCalendar()
for cal in self.browse(cr, uid, ids):
for line in cal.line_ids:
@ -488,7 +497,7 @@ class Calendar(CalDAV, osv.osv):
if line.name in ('valarm', 'attendee'):
continue
domain = eval(line.domain)
if ctx_res_id:
if ctx_res_id:
domain += [('id','=',ctx_res_id)]
mod_obj = self.pool.get(line.object_id.model)
data_ids = mod_obj.search(cr, uid, domain, context=context)
@ -496,7 +505,7 @@ class Calendar(CalDAV, osv.osv):
context.update({'model': line.object_id.model,
'calendar_id': cal.id
})
self.__attribute__ = get_attribute_mapping(cr, uid, line.name, context)
self.__attribute__ = get_attribute_mapping(cr, uid, line.name, context)
self.create_ics(cr, uid, datas, line.name, ical, context=context)
return ical.serialize()
@ -511,16 +520,18 @@ class Calendar(CalDAV, osv.osv):
if not context:
context = {}
vals = []
vals = []
ical_data = base64.decodestring(content)
parsedCal = vobject.readOne(ical_data)
if not data_id:
data_id = self.search(cr, uid, [])[0]
data_id = self.search(cr, uid, [])[0]
cal = self.browse(cr, uid, data_id, context=context)
cal_children = {}
count = 0
for line in cal.line_ids:
cal_children[line.name] = line.object_id.model
objs = []
checked = True
for child in parsedCal.getChildren():
if child.name.lower() in cal_children:
context.update({'model': cal_children[child.name.lower()],
@ -528,12 +539,14 @@ class Calendar(CalDAV, osv.osv):
})
self.__attribute__ = get_attribute_mapping(cr, uid, child.name.lower(), context=context)
val = self.parse_ics(cr, uid, child, cal_children=cal_children, context=context)
val.update({'user_id': uid})
vals.append(val)
obj = self.pool.get(cal_children[child.name.lower()])
if hasattr(obj, 'check_import'):
obj.check_import(cr, uid, vals, context=context)
else:
objs.append(cal_children[child.name.lower()])
for obj_name in list(set(objs)):
obj = self.pool.get(obj_name)
if hasattr(obj, 'check_import'):
obj.check_import(cr, uid, vals, context=context)
checked = True
if not checked:
self.check_import(cr, uid, vals, context=context)
return {}
Calendar()

View File

@ -29,21 +29,69 @@
</graph>
</field>
</record>
<record model="ir.ui.view" id="crm_case_my_open_oppor">
<field name="name">My Open Opportunities</field>
<field name="model">crm.lead</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Opportunities" colors="blue:state=='pending';grey:state in ('cancel', 'done');red:date_deadline and (date_deadline &lt; current_date)">
<field name="name" string="Opportunity"/>
<field name="partner_id"/>
<field name="stage_id"/>
<button name="stage_previous" string="Previous Stage"
states="open,pending" type="object" icon="gtk-go-back" />
<button name="stage_next" string="Next Stage"
states="open,pending" type="object"
icon="gtk-go-forward" />
<field name="planned_revenue" sum="Total of Planned Revenue"/>
<field name="probability" widget="progressbar" avg="Avg. of Probability"/>
<field name="date_deadline" invisible="1"/>
<field name="state"/>
<button name="case_open" string="Open"
states="draft,pending" type="object"
icon="gtk-go-forward" />
<button name="case_pending" string="Pending"
states="open,draft" type="object"
icon="gtk-media-pause" />
<button name="case_mark_lost" string="Lost"
states="open,pending" type="object"
icon="gtk-cancel" />
<button name="case_close" string="Won"
states="open,draft,pending" type="object"
icon="gtk-apply" />
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="act_my_oppor">
<field name="name">My Open Opportunities</field>
<field name="res_model">crm.lead</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="crm.crm_case_tree_view_oppor"/>
<field name="domain">[('user_id','=',uid),('state','=','open'), ('type', '=', 'opportunity')]</field>
</record>
<record model="ir.actions.act_window.view" id="act_my_oppor_tree_view">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="crm_case_my_open_oppor"/>
<field name="act_window_id" ref="act_my_oppor"/>
</record>
<record model="ir.actions.act_window.view" id="act_my_oppor_form_view">
<field name="sequence" eval="2"/>
<field name="view_mode">form</field>
<field name="view_id" ref="crm_case_form_view_oppor"/>
<field name="act_window_id" ref="act_my_oppor"/>
</record>
<record model="ir.actions.act_window" id="act_my_meetings">
<field name="res_model">crm.meeting</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="crm.crm_case_tree_view_meet"/>
<field name="domain">[('user_id','=',uid),('state','!=','cancel'),('date','ilike',time.strftime("%Y-%m"))]</field>
<field name="domain">[('user_id','=',uid),('state','not in',('cancel','done'))]</field>
</record>
<record model="ir.actions.act_window" id="act_my_oppor_stage">
@ -59,7 +107,7 @@
<field name="view_type">form</field>
<field name="view_mode">graph,tree,form</field>
<field name="view_id" ref="view_crm_opportunity_user_graph1"/>
<field name="domain">['&amp;', ('state', '=', 'done') , '&amp;', ('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%Y-%m-%d')), ('type', '=', 'opportunity')]</field>
<field name="domain">['&amp;', ('user_id', '=', uid),'&amp;', ('state', '=', 'done') , '&amp;', ('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%Y-%m-%d')), ('type', '=', 'opportunity')]</field>
</record>
<record model="ir.ui.view" id="board_crm_form">
@ -84,11 +132,11 @@
</child1>
<child2>
<action
string="Planned Revenues by Stage"
string="My Planned Revenues by Stage"
name="%(act_my_oppor_stage)d"
colspan="4"/>
<action
string="Win/Lost Ratio for the Last Year"
string="My Win/Lost Ratio for the Last Year"
name="%(act_sales_pipeline)d"
colspan="4"/>
</child2>

View File

@ -124,7 +124,7 @@ class crm_case(object):
stage_pool = self.pool.get('crm.case.stage')
for case in self.browse(cr, uid, ids, context):
if section in s:
st = case.stage_id.id or False
st = not context.get('force_domain', False) and case.stage_id.id or False
if st in s[section]:
data = {'stage_id': s[section][st]}
stage = s[section][st]
@ -141,8 +141,12 @@ class crm_case(object):
if not context:
context = {}
stage_obj = self.pool.get('crm.case.stage')
sid = stage_obj.search(cr, uid, \
[('object_id.model', '=', self._name)], context=context)
tmp = self.read(cr, uid, ids, ['section_id'], context)[0]['section_id']
section_id = tmp and tmp[0] or False
domain = [('object_id.model', '=', self._name), ('section_id', '=', section_id)]
if 'force_domain' in context and context['force_domain']:
domain += context['force_domain']
sid = stage_obj.search(cr, uid, domain, context=context)
s = {}
previous = {}
section = self._name
@ -168,7 +172,7 @@ class crm_case(object):
stage_pool = self.pool.get('crm.case.stage')
for case in self.browse(cr, uid, ids, context):
if section in s:
st = case.stage_id.id or False
st = not context.get('force_domain', False) and case.stage_id.id or False
s[section] = dict([(v, k) for (k, v) in s[section].iteritems()])
if st in s[section]:
data = {'stage_id': s[section][st]}
@ -440,7 +444,7 @@ class crm_case_section(osv.osv):
'active': fields.boolean('Active', help="If the active field is set to \
true, it will allow you to hide the sales team without removing it."),
'allow_unlink': fields.boolean('Allow Delete', help="Allows to delete non draft cases"),
'change_responsible': fields.boolean('Change Responsible', help="Set responsible of this Sales team on escalation to this team"),
'change_responsible': fields.boolean('Change Responsible', help="Thick this box if you want that on escalation, the responsible of this sale team automatically becomes responsible of the lead/opportunity escaladed"),
'user_id': fields.many2one('res.users', 'Responsible User'),
'member_ids':fields.many2many('res.users', 'sale_member_rel', 'section_id', 'member_id', 'Team Members'),
'reply_to': fields.char('Reply-To', size=64, help="The email address put \
@ -652,7 +656,7 @@ class crm_case_section_custom(osv.osv):
'sequence': fields.integer('Sequence'),
'user_id': fields.many2one('res.users', 'Responsible User'),
'reply_to': fields.char('Reply-To', size=64, help="The email address put in the 'Reply-To' of all emails sent by Open ERP about cases in this section"),
'parent_id': fields.many2one('crm.case.section', 'Parent Section'),
'parent_id': fields.many2one('crm.case.section.custom', 'Parent Section'),
'note': fields.text('Notes'),
}
@ -668,7 +672,7 @@ class crm_case_section_custom(osv.osv):
def _check_recursion(self, cr, uid, ids):
level = 100
while len(ids):
cr.execute('SELECT DISTINCT parent_id FROM crm_case_section '\
cr.execute('SELECT DISTINCT parent_id FROM crm_case_section_custom '\
'WHERE id IN %s',
(tuple(ids),))
ids = filter(None, map(lambda x:x[0], cr.fetchall()))

View File

@ -30,19 +30,19 @@ import tools
class crm_installer(osv.osv_memory):
_name = 'crm.installer'
_inherit = 'res.config.installer'
_columns = {
'name': fields.char('Name', size=64),
'crm_helpdesk': fields.boolean('Helpdesk', help="Manages an Helpdesk service."),
'crm_fundraising': fields.boolean('Fundraising', help="This may help associations in their fund raising process and tracking."),
'crm_claim': fields.boolean('Claims', help="Manages the supplier and customers claims, including your corrective or preventive actions."),
'crm_caldav': fields.boolean('Calendar Synchronizing', help="Help you to synchronize the meetings with other calender clients(e.g.: Sunbird)."),
'sale_crm': fields.boolean('Create Quotation from Opportunity', help="This module relates sale to opportunity cases in the CRM."),
'name': fields.char('Name', size=64),
'crm_helpdesk': fields.boolean('Helpdesk', help="Manages an Helpdesk service."),
'crm_fundraising': fields.boolean('Fundraising', help="This may help associations in their fund raising process and tracking."),
'crm_claim': fields.boolean('Claims', help="Manages the supplier and customers claims, including your corrective or preventive actions."),
'crm_caldav': fields.boolean('Calendar Synchronizing', help="Help you to synchronize the meetings with other calender clients(e.g.: Sunbird)."),
'sale_crm': fields.boolean('Opportunity to Quotation', help="This module relates sale to opportunity cases in the CRM."),
'fetchmail': fields.boolean('Fetch Emails', help="Fetchmail Server."),
'thunderbird': fields.boolean('Thunderbird', help="Thunderbird Interface."),
'wiki_sale_faq': fields.boolean('Sale FAQ', help="Sale FAQ."),
'thunderbird': fields.boolean('Thunderbird', help="Thunderbird Interface."),
'wiki_sale_faq': fields.boolean('Sale FAQ', help="Sale FAQ."),
}
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
res = super(crm_installer, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False)
#Checking sale module is installed or not

View File

@ -139,9 +139,7 @@ and users"),
],'Type', help="Type is used to separate Leads and Opportunities"),
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
'date_closed': fields.datetime('Closed', readonly=True),
'stage_id': fields.many2one('crm.case.stage', 'Stage', \
domain="[('section_id','=',section_id),\
('object_id.model', '=', 'crm.lead')]"),
'stage_id': fields.many2one('crm.case.stage', 'Stage'),
'user_id': fields.many2one('res.users', 'Salesman',help='By Default Salesman is Administrator when create New User'),
'referred': fields.char('Referred By', size=64),
'date_open': fields.datetime('Opened', readonly=True),
@ -154,8 +152,10 @@ and users"),
\nIf the case is in progress the state is set to \'Open\'.\
\nWhen the case is over, the state is set to \'Done\'.\
\nIf the case needs to be reviewed then the state is set to \'Pending\'.'),
'message_ids': fields.one2many('mailgate.message', 'res_id', 'Messages', domain=[('history', '=', True),('model','=',_name)]),
'log_ids': fields.one2many('mailgate.message', 'res_id', 'Logs', domain=[('history', '=', False),('model','=',_name)]),
'message_ids': fields.one2many('mailgate.message', 'res_id', 'Messages', domain=[('history', '=', True),('model','=',_name)], readonly=True),
'log_ids': fields.one2many('mailgate.message', 'res_id', 'Logs', domain=[('history', '=', False),('model','=',_name)], readonly=True),
'partner_assigned_id': fields.many2one('res.partner', 'Assigned Partner', help="Partner this case has been forwarded/assigned to.", select=True),
'date_assign': fields.date('Assignation Date', help="Last date this case was forwarded/assigned to a partner"),
}
_defaults = {
@ -169,6 +169,20 @@ and users"),
'priority': lambda *a: crm.AVAILABLE_PRIORITIES[2][0],
}
def onchange_partner_address_id(self, cr, uid, ids, add, email=False):
"""This function returns value of partner email based on Partner Address
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current users ID for security checks,
@param ids: List of case IDs
@param add: Id of Partner's address
@email: Partner's email ID
"""
if not add:
return {'value': {'email_from': False, 'country_id': False}}
address = self.pool.get('res.partner.address').browse(cr, uid, add)
return {'value': {'email_from': address.email, 'phone': address.phone, 'country_id': address.country_id.id}}
def case_open(self, cr, uid, ids, *args):
"""Overrides cancel for crm_case for setting Open Date
@param self: The object pointer
@ -177,10 +191,18 @@ and users"),
@param ids: List of case's Ids
@param *args: Give Tuple Value
"""
old_state = self.read(cr, uid, ids, ['state'])[0]['state']
res = super(crm_lead, self).case_open(cr, uid, ids, *args)
self.write(cr, uid, ids, {'date_open': time.strftime('%Y-%m-%d %H:%M:%S')})
if old_state == 'draft':
stage_id = super(crm_lead, self).stage_next(cr, uid, ids, *args)
if not stage_id:
raise osv.except_osv(_('Warning !'), _('There is no stage defined for this Sale Team.'))
value = self.onchange_stage_id(cr, uid, ids, stage_id, context={})['value']
value.update({'date_open': time.strftime('%Y-%m-%d %H:%M:%S'), 'stage_id': stage_id})
self.write(cr, uid, ids, value)
for (id, name) in self.name_get(cr, uid, ids):
message = _('Lead ') + " '" + name + "' "+ _("is Open.")
message = _('The Lead') + " '" + name + "' "+ _("has been written as Open.")
self.log(cr, uid, id, message)
return res
@ -195,7 +217,7 @@ and users"),
res = super(crm_lead, self).case_close(cr, uid, ids, args)
self.write(cr, uid, ids, {'date_closed': time.strftime('%Y-%m-%d %H:%M:%S')})
for (id, name) in self.name_get(cr, uid, ids):
message = _('Lead ') + " '" + name + "' "+ _("is Closed.")
message = _('The Lead') + " '" + name + "' "+ _("has been written as Closed.")
self.log(cr, uid, id, message)
return res

View File

@ -53,8 +53,8 @@
<newline />
<field name="section_id" widget="selection" />
<field name="user_id" />
<field name="stage_id" widget="selection"
domain="[('object_id.model', '=', 'crm.lead')]" />
<field name="stage_id"
domain="[('section_id','=',section_id), ('object_id.model', '=', 'crm.lead')]" />
<group col="2" colspan="1">
<button name="stage_previous" string="Previous"
states="open,pending" type="object"
@ -91,7 +91,7 @@
<field name="mobile"/>
<newline/>
<separator string="Links" colspan="4" col="3"/>
<field name="partner_id"/>
<field name="partner_id" on_change="onchange_partner_id(partner_id, email_from)"/>
<button
name="%(action_crm_lead2partner)d"
icon="gtk-index" type="action"
@ -193,11 +193,10 @@
name="%(crm.action_crm_send_mail)d"
context="{'mail':'new', 'model': 'crm.lead'}"
icon="gtk-go-forward" type="action" />
<button colspan="2" string="Forward to Partner"
<button colspan="2" string="Forward"
name="%(crm_lead_forward_to_partner_act)d"
icon="gtk-go-forward" type="action" />
</page>
</notebook>
</form>
</field>
@ -223,7 +222,7 @@
<field name="type_id" invisible="1"/>
<field name="referred" invisible="1"/>
<field name="stage_id"/>
<field name="stage_id" />
<button name="stage_previous" string="Previous Stage"
states="open,pending" type="object" icon="gtk-go-back" />
<button name="stage_next" string="Next Stage"
@ -309,7 +308,7 @@
context="{'invisible_section': False}">
<filter icon="terp-personal+"
context="{'invisible_section': False}"
domain="[('section_id.user_id','=',uid)]"
domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
help="My Sales Team"/>
<filter icon="terp-personal+"
context="{'invisible_section': False}"

View File

@ -107,6 +107,7 @@
<group col="2" colspan="2">
<separator colspan="2" string="Assignment"/>
<field name="user_id" />
<field name="organizer_id" groups="base.group_extended"/>
<field name="section_id" widget="selection"
groups="base.group_extended"/>
</group><group col="2" colspan="2">
@ -154,7 +155,9 @@
<field name="attendee_ids" colspan="4"
nolabel="1" widget="one2many" mode="tree,form">
<tree string="Invitation details" editable="top">
<field name="email" />
<field name="sent_by_uid" string="From"/>
<field name="user_id" string="To"/>
<field name="email" string="Mail TO"/>
<field name="role" select="1" />
<field name="state" />
</tree>
@ -294,7 +297,7 @@
<field name="partner_id" select="1" />
<field name="section_id" select="1" widget="selection">
<filter icon="terp-personal+"
domain="[('section_id','=',context.get('section_id',False))]"
domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
help="My Sale Team" />
</field>
<field name="user_id" select="1"/>
@ -342,7 +345,7 @@
</field>
</field>
</record>
</data>
</openerp>

View File

@ -46,7 +46,7 @@ class crm_opportunity(osv.osv):
domain="[('partner_id','=',partner_id)]"),
# Opportunity fields
'probability': fields.float('Probability (%)'),
'probability': fields.float('Probability (%)',group_operator="avg"),
'planned_revenue': fields.float('Expected Revenue'),
'ref': fields.reference('Reference', selection=crm._links_get, size=128),
'ref2': fields.reference('Reference 2', selection=crm._links_get, size=128),
@ -64,9 +64,36 @@ class crm_opportunity(osv.osv):
@param *args: Tuple Value for additional Params
"""
res = super(crm_opportunity, self).case_close(cr, uid, ids, args)
self.write(cr, uid, ids, {'probability' : 100.0, 'date_closed': time.strftime('%Y-%m-%d %H:%M:%S')})
stage_id = super(crm_opportunity, self).stage_next(cr, uid, ids, context={'force_domain': [('probability', '=', 100)]})
if not stage_id:
raise osv.except_osv(_('Warning !'), _('There is no stage for won oppportunities defined for this Sale Team.'))
value = self.onchange_stage_id(cr, uid, ids, stage_id, context={})['value']
value.update({'date_closed': time.strftime('%Y-%m-%d %H:%M:%S'), 'stage_id': stage_id})
self.write(cr, uid, ids, value)
for (id, name) in self.name_get(cr, uid, ids):
message = _('Opportunity ') + " '" + name + "' "+ _("is Won.")
message = _('The Opportunity') + " '" + name + "' "+ _("has been written as Won.")
self.log(cr, uid, id, message)
return res
def case_mark_lost(self, cr, uid, ids, *args):
"""Mark the case as lost: state = done and probability = 0%
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current users ID for security checks,
@param ids: List of case Ids
@param *args: Tuple Value for additional Params
"""
res = super(crm_opportunity, self).case_close(cr, uid, ids, args)
stage_id = super(crm_opportunity, self).stage_next(cr, uid, ids, context={'force_domain': [('probability', '=', 0)]})
if not stage_id:
raise osv.except_osv(_('Warning !'), _('There is no stage for lost oppportunities defined for this Sale Team.'))
value = self.onchange_stage_id(cr, uid, ids, stage_id, context={})['value']
value.update({'date_closed': time.strftime('%Y-%m-%d %H:%M:%S'), 'stage_id': stage_id})
res = self.write(cr, uid, ids, value)
for (id, name) in self.name_get(cr, uid, ids):
message = _('The Opportunity') + " '" + name + "' "+ _("has been written as Lost.")
self.log(cr, uid, id, message)
return res
@ -80,13 +107,23 @@ class crm_opportunity(osv.osv):
"""
res = super(crm_opportunity, self).case_cancel(cr, uid, ids, args)
self.write(cr, uid, ids, {'probability' : 0.0})
for (id, name) in self.name_get(cr, uid, ids):
message = _('Opportunity ') + " '" + name + "' "+ _("is Lost.")
self.log(cr, uid, id, message)
return res
def case_reset(self, cr, uid, ids, *args):
"""Overrides reset as draft in order to set the stage field as empty
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current users ID for security checks,
@param ids: List of case Ids
@param *args: Tuple Value for additional Params
"""
res = super(crm_opportunity, self).case_reset(cr, uid, ids, *args)
self.write(cr, uid, ids, {'stage_id': False})
return True
def case_open(self, cr, uid, ids, *args):
"""Overrides cancel for crm_case for setting Open Date
"""Overrides open for crm_case for setting Open Date
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current users ID for security checks,

View File

@ -14,8 +14,7 @@
<group colspan="1" col="4">
<field name="stage_id" nolabel="1"
on_change="onchange_stage_id(stage_id)"
widget="selection"
domain="[('object_id.model', '=', 'crm.lead')]" />
domain="[('section_id','=',section_id), ('object_id.model', '=', 'crm.lead')]" />
<button name="stage_previous"
states="open,pending" type="object"
icon="gtk-go-back" string="" />
@ -65,8 +64,11 @@
<field name="description" nolabel="1" colspan="4"/>
<separator colspan="4"/>
<group col="8" colspan="4">
<group col="10" colspan="4">
<field name="state"/>
<button name="case_reset" string="Reset to New"
states="done,cancel" type="object"
icon="gtk-convert" />
<button name="case_open" string="Open"
states="draft,pending" type="object"
icon="gtk-go-forward" />
@ -74,18 +76,18 @@
states="draft,open" type="object"
icon="gtk-media-pause" />
<button name="case_escalate" string="Escalate"
states="open,draft,pending" type="object"
states="open,pending" type="object"
groups="base.group_extended"
icon="gtk-go-up" />
<button name="case_cancel" string="Mark Lost"
<button name="case_cancel" string="Cancel"
states="draft,open,pending" type="object"
icon="gtk-close" />
<button name="case_mark_lost" string="Mark Lost"
states="open,pending" type="object"
icon="gtk-cancel" />
<button name="case_close" string="Mark Won"
states="open,draft,pending" type="object"
states="open,pending" type="object"
icon="gtk-apply" />
<button name="case_reset" string="Reset to New"
states="done,cancel" type="object"
icon="gtk-convert" />
</group>
</page>
<page string="Lead">
@ -188,6 +190,21 @@
</form>
</field>
</page>
<page string="Assignation" groups="base.group_extended">
<group name="partner_assign_group" col="5" colspan="4">
<separator string="Partner Assignation" colspan="5"/>
<field name="partner_assigned_id"/>
<field name="date_assign"/>
<group colspan="1" col="1">
<button string="Forward"
attrs="{'invisible':[('partner_assigned_id','=',False)]}"
name="%(crm_lead_forward_to_partner_act)d"
icon="gtk-go-forward" type="action"
context="{'default_name': 'partner', 'default_partner_id': partner_assigned_id}"
/>
</group>
</group>
</page>
</notebook>
</form>
</field>
@ -224,15 +241,15 @@
<button name="case_open" string="Open"
states="draft,pending" type="object"
icon="gtk-go-forward" />
<button name="case_close" string="Won"
states="open,draft,pending" type="object"
icon="gtk-apply" />
<button name="case_pending" string="Pending"
states="open,draft" type="object"
icon="gtk-media-pause" />
<button name="case_cancel" string="Lost"
states="draft,open,pending" type="object"
<button name="case_mark_lost" string="Lost"
states="open,pending" type="object"
icon="gtk-cancel" />
<button name="case_close" string="Won"
states="open,draft,pending" type="object"
icon="gtk-apply" />
</tree>
</field>
</record>
@ -291,7 +308,7 @@
context="{'invisible_section': False}"
widget="selection">
<filter icon="terp-personal+"
domain="[('section_id.user_id','=',uid)]"
domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
context="{'invisible_section': False}"
help="My Sales Team" />
<filter icon="terp-personal+"

View File

@ -24,6 +24,7 @@ from osv import fields, osv
from tools.translate import _
import crm
import time
from datetime import datetime, timedelta
class crm_phonecall(osv.osv, crm_case):
""" Phonecall Cases """
@ -65,7 +66,7 @@ class crm_phonecall(osv.osv, crm_case):
('object_id.model', '=', 'crm.phonecall')]"),
'date_open': fields.datetime('Opened', readonly=True),
# phonecall fields
'duration': fields.float('Duration'),
'duration': fields.float('Duration', help="Duration in Minutes"),
'categ_id': fields.many2one('crm.case.categ', 'Category', \
domain="[('section_id','=',section_id),\
('object_id.model', '=', 'crm.phonecall')]"),
@ -113,10 +114,29 @@ class crm_phonecall(osv.osv, crm_case):
@param ids: List of case Ids
@param *args: Tuple Value for additional Params
"""
res = super(crm_phonecall, self).case_close(cr, uid, ids, args)
self.write(cr, uid, ids, {'date_closed': time.strftime('%Y-%m-%d %H:%M:%S')})
for phone in self.browse(cr, uid, ids):
phone_id= phone.id
data = {'date_closed': time.strftime('%Y-%m-%d %H:%M:%S')}
if phone.duration <=0:
duration = datetime.now() - datetime.strptime(phone.date, '%Y-%m-%d %H:%M:%S')
data.update({'duration': duration.seconds/float(60)})
res = super(crm_phonecall, self).case_close(cr, uid, [phone_id], args)
self.write(cr, uid, ids, data)
return res
def case_reset(self, cr, uid, ids, *args):
"""Resets case as draft
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current users ID for security checks,
@param ids: List of case Ids
@param *args: Tuple Value for additional Params
"""
res = super(crm_phonecall, self).case_reset(cr, uid, ids, args)
self.write(cr, uid, ids, {'duration': 0.0})
return res
def case_open(self, cr, uid, ids, *args):
"""Overrides cancel for crm_case for setting Open Date
@param self: The object pointer

View File

@ -273,7 +273,7 @@
<field name="section_id"
select="1" widget="selection" string="Sales Team">
<filter icon="terp-personal+"
domain="[('section_id','=',context.get('section_id',False))]"
domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
help="My Sale Team" />
</field>
<newline/>

View File

@ -17,6 +17,13 @@
<menuitem id="base.next_id_64" name="Reporting"
parent="base.menu_base_partner" sequence="11" />
<menuitem action="crm_custom_create_menu_action"
id="crm_case_create_custom_menu"
parent="base.menu_crm_config_sales"
groups="base.group_extended"
name="Create Menu for Custom Cases" />
<!-- Case Sections Form View -->
<record id="crm_case_section_view_form" model="ir.ui.view">
@ -367,7 +374,8 @@
<page string="Current Activity" position="inside">
<field name="context_section_id" completion="1"
widget="selection"
context="{'user_prefence':True}" />
context="{'user_prefence':True}"
readonly="0"/>
</page>
</field>
</record>

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2010-01-05 05:59+0000\n"
"PO-Revision-Date: 2010-07-08 16:42+0000\n"
"PO-Revision-Date: 2010-07-10 12:39+0000\n"
"Last-Translator: Pomazan Bogdan <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: 2010-07-09 03:56+0000\n"
"X-Launchpad-Export-Date: 2010-07-11 03:41+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: crm
@ -95,7 +95,7 @@ msgstr "Название стадии"
#: model:ir.ui.menu,name:crm.menu_crm_case_categ0-act
#: model:ir.ui.menu,name:crm.next_id_51
msgid "Cases"
msgstr ""
msgstr "Вопросы"
#. module: crm
#: help:crm.segmentation,categ_id:0
@ -220,7 +220,7 @@ msgstr "Партнер"
#: field:crm.case.stage,section_id:0
#: model:ir.model,name:crm.model_crm_case_section
msgid "Case Section"
msgstr ""
msgstr "Секция вопроса"
#. module: crm
#: view:crm.job:0
@ -496,7 +496,7 @@ msgstr "Конфиденциальность"
#. module: crm
#: view:crm.case.rule:0
msgid "%(partner)s = Partner name"
msgstr ""
msgstr "%(partner)s = Название партнера"
#. module: crm
#: view:crm.case:0
@ -529,7 +529,7 @@ msgstr "Недопустимое имя модели в определении
#. module: crm
#: view:crm.case.rule:0
msgid "Conditions"
msgstr ""
msgstr "Условия"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_categ0-act_open
@ -1413,7 +1413,7 @@ msgstr ""
#: code:addons/crm/crm.py:0
#, python-format
msgid "You can not delete this case. You should better cancel it."
msgstr ""
msgstr "Вы не можете удалить этот вопрос. Лучше отмените его."
#. module: crm
#: wizard_button:caldav.crm.subscribe,init,open:0
@ -2123,7 +2123,7 @@ msgstr ""
#. module: crm
#: view:crm.case.section:0
msgid "Case section"
msgstr ""
msgstr "Секция вопроса"
#. module: crm
#: model:process.node,note:crm.process_node_meeting0
@ -2144,7 +2144,7 @@ msgstr "Ошибка!"
#. module: crm
#: view:crm.case.rule:0
msgid "Fields to Change"
msgstr ""
msgstr "Поля для изменения"
#. module: crm
#: model:crm.case.category2,name:crm.category_lead1
@ -2154,7 +2154,7 @@ msgstr ""
#. module: crm
#: model:ir.ui.menu,name:crm.menu_crm_case_history-act_main
msgid "Cases Histories"
msgstr ""
msgstr "Истории вопросов"
#. module: crm
#: field:crm.case,create_date:0
@ -2916,7 +2916,7 @@ msgstr ""
#. module: crm
#: view:crm.case.history:0
msgid "Case Description"
msgstr ""
msgstr "Описание вопроса"
#. module: crm
#: wizard_field:crm.job.reschedule_phone_call,init,user_id:0
@ -3576,7 +3576,7 @@ msgstr ""
#. module: crm
#: field:crm.case.section,parent_id:0
msgid "Parent Section"
msgstr ""
msgstr "Родительская секция"
#. module: crm
#: wizard_view:crm.job.reschedule_phone_call,init:0
@ -3595,6 +3595,8 @@ msgstr "Запланировать телефонный звонок"
msgid ""
"Can not send mail with empty body,you should have description in the body"
msgstr ""
"Невозможно отослать письмо с пустым содержанием, Вам следует заполнить "
"содержание письма."
#. module: crm
#: selection:report.crm.case.section.categ.categ2,month:0
@ -3612,7 +3614,7 @@ msgstr "Договор"
#. module: crm
#: field:crm.case.section,child_ids:0
msgid "Child Sections"
msgstr ""
msgstr "Дочерняя секция"
#. module: crm
#: view:crm.case:0
@ -3917,7 +3919,7 @@ msgstr ""
#: field:crm.case.section,sequence:0
#: field:crm.case.stage,sequence:0
msgid "Sequence"
msgstr ""
msgstr "Последовательность"
#. module: crm
#: wizard_view:caldav.crm.import,init:0
@ -3939,7 +3941,7 @@ msgstr ""
#: model:ir.actions.act_window,name:crm.crm_case_section_act_tree
#: model:ir.ui.menu,name:crm.menu_crm_case_section_act_tree
msgid "Cases by section"
msgstr ""
msgstr "Вопросы по секциям"
#. module: crm
#: view:crm.job:0

View File

@ -76,6 +76,7 @@ class crm_lead_report(osv.osv):
_columns = {
'name': fields.char('Year', size=64, required=False, readonly=True),
'user_id':fields.many2one('res.users', 'User', readonly=True),
'country_id':fields.many2one('res.country', 'Country', readonly=True),
'section_id':fields.many2one('crm.case.section', 'Section', readonly=True),
'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True),
'avg_answers': fields.function(_get_data, string='Avg. Answers', method=True, type="integer"),
@ -141,6 +142,7 @@ class crm_lead_report(osv.osv):
c.section_id,
c.categ_id,
c.partner_id,
c.country_id,
c.planned_revenue,
1 as nbr,
0 as avg_answers,

View File

@ -104,6 +104,7 @@
<filter string="User" name="user" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" />
<filter string="Partner" icon="terp-personal" context="{'group_by':'partner_id'}" />
<filter string="Country" icon="terp-go-home" context="{'group_by':'country_id'}" />
<separator orientation="vertical" />
<filter string="Section" icon="terp-personal+"
domain="[]"
@ -133,7 +134,7 @@
<group expand="0" string="Extended options..." groups="base.group_extended">
<field name="partner_id"/>
<separator orientation="vertical"/>
<field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
<field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]" />
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
<separator orientation="vertical"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
@ -159,6 +160,7 @@
<field name="section_id" invisible="1" groups="base.group_extended"/>
<field name="user_id" invisible="1"/>
<field name="partner_id" invisible="1"/>
<field name="country_id" invisible="1"/>
<field name="day" invisible="1"/>
<field name="state" invisible="1"/>
<field name="stage_id" invisible="1"/>

View File

@ -26,11 +26,13 @@ class res_partner(osv.osv):
_inherit = 'res.partner'
_columns = {
'opportunity_ids': fields.one2many('crm.lead', 'partner_id',\
'Leads and Opportunities'),
'Leads and Opportunities'),
'meeting_ids': fields.one2many('crm.meeting', 'partner_id',\
'Meetings'),
'Meetings'),
'phonecall_ids': fields.one2many('crm.phonecall', 'partner_id',\
'Phonecalls'),
'Phonecalls'),
'opportunity_assigned_ids': fields.one2many('crm.lead', 'partner_assigned_id',\
'Assigned Opportunities'),
}
res_partner()

View File

@ -44,6 +44,39 @@
icon="gtk-cancel" />
</tree>
</field>
<field name="opportunity_assigned_ids" colspan="4" nolabel="1">
<tree string="Assigned Opportunities" colors="blue:state=='pending';grey:state=='cancel')">
<field name="create_date"/>
<field name="name"/>
<field name="type"/>
<field name="stage_id"/>
<button name="stage_previous" string="Previous"
states="open,pending" type="object" icon="gtk-go-back" />
<button name="stage_next" string="Next"
states="open,pending" type="object"
icon="gtk-go-forward" />
<field name="section_id"
invisible="context.get('invisible_section', True)" />
<field name="user_id" />
<field name="state" />
<button name="case_open" string="Open"
states="draft,pending" type="object"
icon="gtk-go-forward" />
<button name="case_close" string="Close"
states="open,draft,pending" type="object"
icon="gtk-close" />
<button string="Convert to Opportunity"
name="convert_opportunity"
states="draft,open,pending" icon="gtk-index"
type="object" />
<button name="case_escalate" string="Escalate"
states="open,draft,pending" type="object"
icon="gtk-go-up" />
<button name="case_cancel" string="Cancel"
states="draft,open,pending" type="object"
icon="gtk-cancel" />
</tree>
</field>
<field name="meeting_ids" colspan="4" nolabel="1" >
<tree string="Meetings" colors="gray:state in ('draft', 'cancel','done','pending')">
<field name="user_id" string="Responsible"/>

View File

@ -39,3 +39,7 @@
"access_res_partner_category","res.partner.category.crm.user","base.model_res_partner_category","crm.group_crm_user",1,0,0,0
"mail_gateway_mailgate_message","mail_gateway.mailgate.message","mail_gateway.model_mailgate_message","crm.group_crm_user",1,1,1,1
"mail_gateway_mailgate_thread","mail_gateway.mailgate.thread","mail_gateway.model_mailgate_thread","crm.group_crm_user",1,1,1,1
"access_crm_case_section_custom_user","crm.case.section.custom.user","model_crm_case_section_custom","crm.group_crm_user",1,0,0,0
"access_crm_case_section_custom_manager","crm.case.section.custom.manager","model_crm_case_section_custom","crm.group_crm_manager",1,1,1,1
"access_crm_case_custom_user","crm.case.custom.user","model_crm_case_custom","crm.group_crm_user",1,1,1,1
"access_crm_case_custom_manager","crm.case.custom.manager","model_crm_case_custom","crm.group_crm_manager",1,1,1,1

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
39 access_res_partner_category res.partner.category.crm.user base.model_res_partner_category crm.group_crm_user 1 0 0 0
40 mail_gateway_mailgate_message mail_gateway.mailgate.message mail_gateway.model_mailgate_message crm.group_crm_user 1 1 1 1
41 mail_gateway_mailgate_thread mail_gateway.mailgate.thread mail_gateway.model_mailgate_thread crm.group_crm_user 1 1 1 1
42 access_crm_case_section_custom_user crm.case.section.custom.user model_crm_case_section_custom crm.group_crm_user 1 0 0 0
43 access_crm_case_section_custom_manager crm.case.section.custom.manager model_crm_case_section_custom crm.group_crm_manager 1 1 1 1
44 access_crm_case_custom_user crm.case.custom.user model_crm_case_custom crm.group_crm_user 1 1 1 1
45 access_crm_case_custom_manager crm.case.custom.manager model_crm_case_custom crm.group_crm_manager 1 1 1 1

View File

@ -78,24 +78,12 @@
!python {model: crm.lead2opportunity}: |
self.action_apply(cr, uid, [ref('crm_lead2opportunity_stonage_0')], {'active_id': ref('crm_lead_newcustomer0')})
- |
I can check that a lead and a business opportunity is now assigned to this
lead.
#-
# !python {model: crm.lead, id: crm_lead_newcustomer0}:
# - opportunity_id == False
- |
I check that the partner associated to this lead as the same country, phone number
and name than the opportunity.
In order to check the opportunity is created or not, I check type.
-
!python {model: crm.lead}: |
lead = self.browse(cr, uid, ref("crm_lead_newcustomer0"))
obj_opportunity = self.pool.get('crm.lead')
ids = obj_opportunity.search(cr, uid, [('name', '=', lead.partner_name)])
opportunity = obj_opportunity.browse(cr, uid, ids)[0]
assert lead.partner_name == opportunity.partner_id.name
assert lead.phone == opportunity.phone
assert lead.type == 'opportunity'
#-
# |

View File

@ -4,7 +4,7 @@
-
!record {model: crm.lead, id: crm_opportunity_abcfuelcounits0}:
email_from: info@balmerinc.be
name: 'ABC FUEL CO 829264 - 10002 units '
name: 'ABC FUEL CO 829264 - 10002 units'
partner_address_id: base.res_partner_address_1
partner_id: base.res_partner_9
probability: 1.0
@ -35,17 +35,15 @@
then I click on the date on which I want schedule meeting.
I fill proper data for that meeting and save it
-
!record {model: crm.meeting, id: crm_meeting_abcfuelcounits0}:
alarm_id: base_calendar.alarm3
!record {model: crm.meeting, id: crm_meeting_abcfuelcounits0}:
date: '2010-04-16 00:00:00'
date_deadline: '2010-04-16 08:00:00'
duration: 8.0
email_from: info@balmerinc.be
name: 'ABC FUEL CO 829264 - 10002 units '
name: 'ABC FUEL CO 829264 - 10002 units'
opportunity_id: 'crm_opportunity_abcfuelcounits0'
partner_address_id: base.res_partner_address_1
partner_id: base.res_partner_9
rrule_type: weekly
section_id: crm.section_sales_department
state: open
- |
@ -54,7 +52,7 @@
-
!record {model: crm.opportunity2phonecall, id: crm_opportunity2phonecall_abcfuelcounits0}:
date: '2010-04-17 11:15:00'
name: 'ABC FUEL CO 829264 - 10002 units '
name: 'ABC FUEL CO 829264 - 10002 units'
section_id: crm.section_sales_department
user_id: base.user_demo
- |
@ -66,8 +64,9 @@
I check that phonecall record is created for that opportunity.
-
!python {model: crm.phonecall}: |
ids = self.search(cr, uid, [('name', '=', 'ABC FUEL CO 829264 - 10002 units')])
assert len(ids)
phone_obj = self.pool.get('crm.phonecall')
ids = phone_obj.search(cr, uid, [('name', '=', 'ABC FUEL CO 829264 - 10002 units')])
assert len(ids)
- |
I can see phonecall record after click on "Schedule call" wizard.
-
@ -78,4 +77,4 @@
partner_address_id: base.res_partner_address_1
partner_id: base.res_partner_9
section_id: crm.section_sales_department

View File

@ -33,22 +33,19 @@
-
!python {model: crm.phonecall2opportunity}: |
self.action_apply(cr, uid, [ref("crm_phonecall2opportunity_interviewcall0")], {"active_id": ref("crm_phonecall_interviewcall0")})
-
# This is not working, find a way to do that in YAML
- |
I can see that a business opportunity is now assigned to this phonecall
-
!assert {model: crm.phonecall, id: crm_phonecall_interviewcall0}:
- opportunity_id == True
- opportunity_id != False
- |
And I check that the phonecall and the newly created business opportunity is linked
to same partner
-
!python {model: crm.phonecall}: |
xid= ref('crm_phonecall_interviewcall0')
obj_phonecall = self.browse(cr, uid, xid)
obj_phonecall = self.browse(cr, uid, ref('crm_phonecall_interviewcall0'))
ids = self.pool.get('crm.lead').search(cr, uid, [('name', '=', obj_phonecall.opportunity_id.name)])
obj_opp = self.pool.get('crm.lead').browse(cr, uid, ids)[0]
assert obj_phonecall.partner_id == obj_opp.partner_id
@ -77,12 +74,6 @@
phonecall_id: 'crm_phonecall_interviewcall0'
rrule_type: weekly
state: open
-
#This is not working for yaml
- |
I can jump to this meeting by "Meetings" shortcut from my phonecall's form view
-
- |
In order to schedule other phonecall to the partner

View File

@ -45,7 +45,7 @@ class crm_case_custom_create_menu(osv.osv_memory):
"""
data_obj = self.pool.get('ir.model.data')
for this in self.browse(cr, uid, ids, context=context):
domain = [('section_id', '=', this.section_id)]
domain = [('section_id', '=', this.section_id.id)]
view_mode = [this.view_tree and 'tree', this.view_form and 'form', this.view_calendar and 'calendar']
view_mode = filter(None , view_mode)
action_id = self.pool.get('ir.actions.act_window').create(cr,uid, {

View File

@ -11,9 +11,7 @@
<field name="name"/>
<field name="menu_parent_id"/>
<field name="section_id"/>
<label string="This wizard will create all sub-menus, within the selected menu." align="0.0" colspan="4"/>
<label string="You may want to create a new parent menu to put all the created menus in." align="0.0" colspan="4"/>
<separator string="Select Views (Empty for default)" colspan="4"/>
<separator string="Select Views (Empty for Default)" colspan="4"/>
<field name="view_form"/>
<field name="view_tree"/>
<field name="view_calendar"/>
@ -34,7 +32,5 @@
<field name="target">new</field>
</record>
<menuitem action="crm_custom_create_menu_action" id="crm_case_create_custom_menu" parent="base.menu_crm_config_sales"/>
</data>
</openerp>

View File

@ -22,6 +22,7 @@
import base64
import itertools
import time
from osv import osv, fields
import tools
@ -48,7 +49,7 @@ class crm_lead_forward_to_partner(osv.osv_memory):
_defaults = {
'name' : 'email',
'history': 'latest',
'history': 'info',
'add_cc': True,
'email_from': lambda self, cr, uid, *a: self.pool.get('res.users')._get_email_from(cr, uid, uid)[uid]
}
@ -218,6 +219,10 @@ class crm_lead_forward_to_partner(osv.osv_memory):
if result:
case_pool.history(cr, uid, [case], _('Forward'), history=True, email=this.email_to, subject=this.subject, details=body, email_from=email_from, attach=attach)
to_write = {'date_assign': time.strftime('%Y-%m-%d')}
if (this.name == 'partner' and this.partner_id):
to_write['partner_assigned_id'] = this.partner_id.id
case_pool.write(cr, uid, case.id, to_write)
else:
raise osv.except_osv(_('Error!'), _('Unable to send mail. Please check SMTP is configured properly.'))

View File

@ -30,7 +30,7 @@
<form string="Create a Partner">
<field name="action"/>
<group attrs="{'invisible':[('action','!=','exist')]}">
<field name="partner_id"/>
<field name="partner_id" attrs="{'required':[('action','=','exist')]}" />
</group>
<separator string="" colspan="4" />
<group col="4" colspan="4">

Some files were not shown because too many files have changed in this diff Show More