[MERGE] merged with main trunk
bzr revid: qdp-launchpad@openerp.com-20131010133212-t058auv973pvvmjm
This commit is contained in:
commit
65966940c8
|
@ -1 +1,2 @@
|
||||||
.*
|
.*
|
||||||
|
**/node_modules
|
||||||
|
|
|
@ -146,6 +146,7 @@ for a particular financial year and for preparation of vouchers there is a modul
|
||||||
'account_unit_test.xml',
|
'account_unit_test.xml',
|
||||||
],
|
],
|
||||||
'test': [
|
'test': [
|
||||||
|
'test/account_test_users.yml',
|
||||||
'test/account_customer_invoice.yml',
|
'test/account_customer_invoice.yml',
|
||||||
'test/account_supplier_invoice.yml',
|
'test/account_supplier_invoice.yml',
|
||||||
'test/account_change_currency.yml',
|
'test/account_change_currency.yml',
|
||||||
|
|
|
@ -137,16 +137,27 @@ class account_account_type(osv.osv):
|
||||||
_name = "account.account.type"
|
_name = "account.account.type"
|
||||||
_description = "Account Type"
|
_description = "Account Type"
|
||||||
|
|
||||||
def _get_current_report_type(self, cr, uid, ids, name, arg, context=None):
|
def _get_financial_report_ref(self, cr, uid, context=None):
|
||||||
obj_data = self.pool.get('ir.model.data')
|
obj_data = self.pool.get('ir.model.data')
|
||||||
obj_financial_report = self.pool.get('account.financial.report')
|
obj_financial_report = self.pool.get('account.financial.report')
|
||||||
|
financial_report_ref = {}
|
||||||
|
for key, financial_report in [
|
||||||
|
('asset','account_financial_report_assets0'),
|
||||||
|
('liability','account_financial_report_liability0'),
|
||||||
|
('income','account_financial_report_income0'),
|
||||||
|
('expense','account_financial_report_expense0'),
|
||||||
|
]:
|
||||||
|
try:
|
||||||
|
financial_report_ref[key] = obj_financial_report.browse(cr, uid,
|
||||||
|
obj_data.get_object_reference(cr, uid, 'account', financial_report)[1],
|
||||||
|
context=context)
|
||||||
|
except ValueError:
|
||||||
|
pass
|
||||||
|
return financial_report_ref
|
||||||
|
|
||||||
|
def _get_current_report_type(self, cr, uid, ids, name, arg, context=None):
|
||||||
res = {}
|
res = {}
|
||||||
financial_report_ref = {
|
financial_report_ref = self._get_financial_report_ref(cr, uid, context=context)
|
||||||
'asset': obj_financial_report.browse(cr, uid, obj_data.get_object_reference(cr, uid, 'account','account_financial_report_assets0')[1], context=context),
|
|
||||||
'liability': obj_financial_report.browse(cr, uid, obj_data.get_object_reference(cr, uid, 'account','account_financial_report_liability0')[1], context=context),
|
|
||||||
'income': obj_financial_report.browse(cr, uid, obj_data.get_object_reference(cr, uid, 'account','account_financial_report_income0')[1], context=context),
|
|
||||||
'expense': obj_financial_report.browse(cr, uid, obj_data.get_object_reference(cr, uid, 'account','account_financial_report_expense0')[1], context=context),
|
|
||||||
}
|
|
||||||
for record in self.browse(cr, uid, ids, context=context):
|
for record in self.browse(cr, uid, ids, context=context):
|
||||||
res[record.id] = 'none'
|
res[record.id] = 'none'
|
||||||
for key, financial_report in financial_report_ref.items():
|
for key, financial_report in financial_report_ref.items():
|
||||||
|
@ -157,15 +168,9 @@ class account_account_type(osv.osv):
|
||||||
|
|
||||||
def _save_report_type(self, cr, uid, account_type_id, field_name, field_value, arg, context=None):
|
def _save_report_type(self, cr, uid, account_type_id, field_name, field_value, arg, context=None):
|
||||||
field_value = field_value or 'none'
|
field_value = field_value or 'none'
|
||||||
obj_data = self.pool.get('ir.model.data')
|
|
||||||
obj_financial_report = self.pool.get('account.financial.report')
|
obj_financial_report = self.pool.get('account.financial.report')
|
||||||
#unlink if it exists somewhere in the financial reports related to BS or PL
|
#unlink if it exists somewhere in the financial reports related to BS or PL
|
||||||
financial_report_ref = {
|
financial_report_ref = self._get_financial_report_ref(cr, uid, context=context)
|
||||||
'asset': obj_financial_report.browse(cr, uid, obj_data.get_object_reference(cr, uid, 'account','account_financial_report_assets0')[1], context=context),
|
|
||||||
'liability': obj_financial_report.browse(cr, uid, obj_data.get_object_reference(cr, uid, 'account','account_financial_report_liability0')[1], context=context),
|
|
||||||
'income': obj_financial_report.browse(cr, uid, obj_data.get_object_reference(cr, uid, 'account','account_financial_report_income0')[1], context=context),
|
|
||||||
'expense': obj_financial_report.browse(cr, uid, obj_data.get_object_reference(cr, uid, 'account','account_financial_report_expense0')[1], context=context),
|
|
||||||
}
|
|
||||||
for key, financial_report in financial_report_ref.items():
|
for key, financial_report in financial_report_ref.items():
|
||||||
list_ids = [x.id for x in financial_report.account_type_ids]
|
list_ids = [x.id for x in financial_report.account_type_ids]
|
||||||
if account_type_id in list_ids:
|
if account_type_id in list_ids:
|
||||||
|
@ -1258,6 +1263,10 @@ class account_move(osv.osv):
|
||||||
return [('id', 'in', tuple(ids))]
|
return [('id', 'in', tuple(ids))]
|
||||||
return [('id', '=', '0')]
|
return [('id', '=', '0')]
|
||||||
|
|
||||||
|
def _get_move_from_lines(self, cr, uid, ids, context=None):
|
||||||
|
line_obj = self.pool.get('account.move.line')
|
||||||
|
return [line.move_id.id for line in line_obj.browse(cr, uid, ids, context=context)]
|
||||||
|
|
||||||
_columns = {
|
_columns = {
|
||||||
'name': fields.char('Number', size=64, required=True),
|
'name': fields.char('Number', size=64, required=True),
|
||||||
'ref': fields.char('Reference', size=64),
|
'ref': fields.char('Reference', size=64),
|
||||||
|
@ -1267,7 +1276,10 @@ class account_move(osv.osv):
|
||||||
help='All manually created new journal entries are usually in the status \'Unposted\', but you can set the option to skip that status on the related journal. In that case, they will behave as journal entries automatically created by the system on document validation (invoices, bank statements...) and will be created in \'Posted\' status.'),
|
help='All manually created new journal entries are usually in the status \'Unposted\', but you can set the option to skip that status on the related journal. In that case, they will behave as journal entries automatically created by the system on document validation (invoices, bank statements...) and will be created in \'Posted\' status.'),
|
||||||
'line_id': fields.one2many('account.move.line', 'move_id', 'Entries', states={'posted':[('readonly',True)]}),
|
'line_id': fields.one2many('account.move.line', 'move_id', 'Entries', states={'posted':[('readonly',True)]}),
|
||||||
'to_check': fields.boolean('To Review', help='Check this box if you are unsure of that journal entry and if you want to note it as \'to be reviewed\' by an accounting expert.'),
|
'to_check': fields.boolean('To Review', help='Check this box if you are unsure of that journal entry and if you want to note it as \'to be reviewed\' by an accounting expert.'),
|
||||||
'partner_id': fields.related('line_id', 'partner_id', type="many2one", relation="res.partner", string="Partner", store=True),
|
'partner_id': fields.related('line_id', 'partner_id', type="many2one", relation="res.partner", string="Partner", store={
|
||||||
|
_name: (lambda self, cr,uid,ids,c: ids, ['line_id'], 10),
|
||||||
|
'account.move.line': (_get_move_from_lines, ['partner_id'],10)
|
||||||
|
}),
|
||||||
'amount': fields.function(_amount_compute, string='Amount', digits_compute=dp.get_precision('Account'), type='float', fnct_search=_search_amount),
|
'amount': fields.function(_amount_compute, string='Amount', digits_compute=dp.get_precision('Account'), type='float', fnct_search=_search_amount),
|
||||||
'date': fields.date('Date', required=True, states={'posted':[('readonly',True)]}, select=True),
|
'date': fields.date('Date', required=True, states={'posted':[('readonly',True)]}, select=True),
|
||||||
'narration':fields.text('Internal Note'),
|
'narration':fields.text('Internal Note'),
|
||||||
|
@ -1404,14 +1416,17 @@ class account_move(osv.osv):
|
||||||
l[2]['period_id'] = default_period
|
l[2]['period_id'] = default_period
|
||||||
context['period_id'] = default_period
|
context['period_id'] = default_period
|
||||||
|
|
||||||
if 'line_id' in vals:
|
if vals.get('line_id', False):
|
||||||
c = context.copy()
|
c = context.copy()
|
||||||
c['novalidate'] = True
|
c['novalidate'] = True
|
||||||
c['period_id'] = vals['period_id'] if 'period_id' in vals else self._get_period(cr, uid, context)
|
c['period_id'] = vals['period_id'] if 'period_id' in vals else self._get_period(cr, uid, context)
|
||||||
c['journal_id'] = vals['journal_id']
|
c['journal_id'] = vals['journal_id']
|
||||||
if 'date' in vals: c['date'] = vals['date']
|
if 'date' in vals: c['date'] = vals['date']
|
||||||
result = super(account_move, self).create(cr, uid, vals, c)
|
result = super(account_move, self).create(cr, uid, vals, c)
|
||||||
self.validate(cr, uid, [result], context)
|
tmp = self.validate(cr, uid, [result], context)
|
||||||
|
journal = self.pool.get('account.journal').browse(cr, uid, vals['journal_id'], context)
|
||||||
|
if journal.entry_posted and tmp:
|
||||||
|
self.button_validate(cr,uid, [result], context)
|
||||||
else:
|
else:
|
||||||
result = super(account_move, self).create(cr, uid, vals, context)
|
result = super(account_move, self).create(cr, uid, vals, context)
|
||||||
return result
|
return result
|
||||||
|
@ -1633,9 +1648,11 @@ class account_move(osv.osv):
|
||||||
else:
|
else:
|
||||||
# We can't validate it (it's unbalanced)
|
# We can't validate it (it's unbalanced)
|
||||||
# Setting the lines as draft
|
# Setting the lines as draft
|
||||||
obj_move_line.write(cr, uid, line_ids, {
|
not_draft_line_ids = list(set(line_ids) - set(line_draft_ids))
|
||||||
'state': 'draft'
|
if not_draft_line_ids:
|
||||||
}, context, check=False)
|
obj_move_line.write(cr, uid, not_draft_line_ids, {
|
||||||
|
'state': 'draft'
|
||||||
|
}, context, check=False)
|
||||||
# Create analytic lines for the valid moves
|
# Create analytic lines for the valid moves
|
||||||
for record in valid_moves:
|
for record in valid_moves:
|
||||||
obj_move_line.create_analytic_lines(cr, uid, [line.id for line in record.line_id], context)
|
obj_move_line.create_analytic_lines(cr, uid, [line.id for line in record.line_id], context)
|
||||||
|
@ -2774,6 +2791,7 @@ class account_chart_template(osv.osv):
|
||||||
'parent_id': fields.many2one('account.chart.template', 'Parent Chart Template'),
|
'parent_id': fields.many2one('account.chart.template', 'Parent Chart Template'),
|
||||||
'code_digits': fields.integer('# of Digits', required=True, help="No. of Digits to use for account code"),
|
'code_digits': fields.integer('# of Digits', required=True, help="No. of Digits to use for account code"),
|
||||||
'visible': fields.boolean('Can be Visible?', help="Set this to False if you don't want this template to be used actively in the wizard that generate Chart of Accounts from templates, this is useful when you want to generate accounts of this template only when loading its child template."),
|
'visible': fields.boolean('Can be Visible?', help="Set this to False if you don't want this template to be used actively in the wizard that generate Chart of Accounts from templates, this is useful when you want to generate accounts of this template only when loading its child template."),
|
||||||
|
'currency_id': fields.many2one('res.currency', 'Currency'),
|
||||||
'complete_tax_set': fields.boolean('Complete Set of Taxes', help='This boolean helps you to choose if you want to propose to the user to encode the sale and purchase rates or choose from list of taxes. This last choice assumes that the set of tax defined on this template is complete'),
|
'complete_tax_set': fields.boolean('Complete Set of Taxes', help='This boolean helps you to choose if you want to propose to the user to encode the sale and purchase rates or choose from list of taxes. This last choice assumes that the set of tax defined on this template is complete'),
|
||||||
'account_root_id': fields.many2one('account.account.template', 'Root Account', domain=[('parent_id','=',False)]),
|
'account_root_id': fields.many2one('account.account.template', 'Root Account', domain=[('parent_id','=',False)]),
|
||||||
'tax_code_root_id': fields.many2one('account.tax.code.template', 'Root Tax Code', domain=[('parent_id','=',False)]),
|
'tax_code_root_id': fields.many2one('account.tax.code.template', 'Root Tax Code', domain=[('parent_id','=',False)]),
|
||||||
|
@ -3029,12 +3047,6 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
||||||
'complete_tax_set': fields.boolean('Complete Set of Taxes', help='This boolean helps you to choose if you want to propose to the user to encode the sales and purchase rates or use the usual m2o fields. This last choice assumes that the set of tax defined for the chosen template is complete'),
|
'complete_tax_set': fields.boolean('Complete Set of Taxes', help='This boolean helps you to choose if you want to propose to the user to encode the sales and purchase rates or use the usual m2o fields. This last choice assumes that the set of tax defined for the chosen template is complete'),
|
||||||
}
|
}
|
||||||
|
|
||||||
def onchange_company_id(self, cr, uid, ids, company_id, context=None):
|
|
||||||
currency_id = False
|
|
||||||
if company_id:
|
|
||||||
currency_id = self.pool.get('res.company').browse(cr, uid, company_id, context=context).currency_id.id
|
|
||||||
return {'value': {'currency_id': currency_id}}
|
|
||||||
|
|
||||||
def onchange_tax_rate(self, cr, uid, ids, rate=False, context=None):
|
def onchange_tax_rate(self, cr, uid, ids, rate=False, context=None):
|
||||||
return {'value': {'purchase_tax_rate': rate or False}}
|
return {'value': {'purchase_tax_rate': rate or False}}
|
||||||
|
|
||||||
|
@ -3044,7 +3056,8 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
||||||
res['value'] = {'complete_tax_set': False, 'sale_tax': False, 'purchase_tax': False}
|
res['value'] = {'complete_tax_set': False, 'sale_tax': False, 'purchase_tax': False}
|
||||||
if chart_template_id:
|
if chart_template_id:
|
||||||
data = self.pool.get('account.chart.template').browse(cr, uid, chart_template_id, context=context)
|
data = self.pool.get('account.chart.template').browse(cr, uid, chart_template_id, context=context)
|
||||||
res['value'].update({'complete_tax_set': data.complete_tax_set})
|
currency_id = data.currency_id and data.currency_id.id or self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.currency_id.id
|
||||||
|
res['value'].update({'complete_tax_set': data.complete_tax_set, 'currency_id': currency_id})
|
||||||
if data.complete_tax_set:
|
if data.complete_tax_set:
|
||||||
# default tax is given by the lowest sequence. For same sequence we will take the latest created as it will be the case for tax created while isntalling the generic chart of account
|
# default tax is given by the lowest sequence. For same sequence we will take the latest created as it will be the case for tax created while isntalling the generic chart of account
|
||||||
sale_tax_ids = tax_templ_obj.search(cr, uid, [("chart_template_id"
|
sale_tax_ids = tax_templ_obj.search(cr, uid, [("chart_template_id"
|
||||||
|
@ -3076,7 +3089,13 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
||||||
ids = self.pool.get('account.chart.template').search(cr, uid, [('visible', '=', True)], context=context)
|
ids = self.pool.get('account.chart.template').search(cr, uid, [('visible', '=', True)], context=context)
|
||||||
if ids:
|
if ids:
|
||||||
if 'chart_template_id' in fields:
|
if 'chart_template_id' in fields:
|
||||||
res.update({'only_one_chart_template': len(ids) == 1, 'chart_template_id': ids[0]})
|
#in order to get set default chart which was last created set max of ids.
|
||||||
|
chart_id = max(ids)
|
||||||
|
if context.get("default_charts"):
|
||||||
|
model_data = self.pool.get('ir.model.data').search_read(cr, uid, [('model','=','account.chart.template'),('module','=',context.get("default_charts"))], ['res_id'], context=context)
|
||||||
|
if model_data:
|
||||||
|
chart_id = model_data[0]['res_id']
|
||||||
|
res.update({'only_one_chart_template': len(ids) == 1, 'chart_template_id': chart_id})
|
||||||
if 'sale_tax' in fields:
|
if 'sale_tax' in fields:
|
||||||
sale_tax_ids = tax_templ_obj.search(cr, uid, [("chart_template_id"
|
sale_tax_ids = tax_templ_obj.search(cr, uid, [("chart_template_id"
|
||||||
, "=", ids[0]), ('type_tax_use', 'in', ('sale','all'))], order="sequence")
|
, "=", ids[0]), ('type_tax_use', 'in', ('sale','all'))], order="sequence")
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
</form>
|
</form>
|
||||||
<footer position="replace">
|
<footer position="replace">
|
||||||
<footer>
|
<footer>
|
||||||
<button name="action_next" type="object" string="Continue" class="oe_highlight"/>
|
<button name="action_next" context="{'default_charts':charts}" type="object" string="Continue" class="oe_highlight"/>
|
||||||
</footer>
|
</footer>
|
||||||
</footer>
|
</footer>
|
||||||
<separator string="title" position="replace">
|
<separator string="title" position="replace">
|
||||||
|
|
|
@ -561,10 +561,14 @@ class account_invoice(osv.osv):
|
||||||
|
|
||||||
def onchange_payment_term_date_invoice(self, cr, uid, ids, payment_term_id, date_invoice):
|
def onchange_payment_term_date_invoice(self, cr, uid, ids, payment_term_id, date_invoice):
|
||||||
res = {}
|
res = {}
|
||||||
|
if isinstance(ids, (int, long)):
|
||||||
|
ids = [ids]
|
||||||
if not date_invoice:
|
if not date_invoice:
|
||||||
date_invoice = time.strftime('%Y-%m-%d')
|
date_invoice = time.strftime('%Y-%m-%d')
|
||||||
if not payment_term_id:
|
if not payment_term_id:
|
||||||
return {'value':{'date_due': date_invoice}} #To make sure the invoice has a due date when no payment term
|
inv = self.browse(cr, uid, ids[0])
|
||||||
|
#To make sure the invoice due date should contain due date which is entered by user when there is no payment term defined
|
||||||
|
return {'value':{'date_due': inv.date_due and inv.date_due or date_invoice}}
|
||||||
pterm_list = self.pool.get('account.payment.term').compute(cr, uid, payment_term_id, value=1, date_ref=date_invoice)
|
pterm_list = self.pool.get('account.payment.term').compute(cr, uid, payment_term_id, value=1, date_ref=date_invoice)
|
||||||
if pterm_list:
|
if pterm_list:
|
||||||
pterm_list = [line[0] for line in pterm_list]
|
pterm_list = [line[0] for line in pterm_list]
|
||||||
|
@ -1427,6 +1431,7 @@ class account_invoice_line(osv.osv):
|
||||||
|
|
||||||
_name = "account.invoice.line"
|
_name = "account.invoice.line"
|
||||||
_description = "Invoice Line"
|
_description = "Invoice Line"
|
||||||
|
_order = "invoice_id,sequence,id"
|
||||||
_columns = {
|
_columns = {
|
||||||
'name': fields.text('Description', required=True),
|
'name': fields.text('Description', required=True),
|
||||||
'origin': fields.char('Source Document', size=256, help="Reference of the document that produced this invoice."),
|
'origin': fields.char('Source Document', size=256, help="Reference of the document that produced this invoice."),
|
||||||
|
@ -1463,6 +1468,7 @@ class account_invoice_line(osv.osv):
|
||||||
'discount': 0.0,
|
'discount': 0.0,
|
||||||
'price_unit': _price_unit_default,
|
'price_unit': _price_unit_default,
|
||||||
'account_id': _default_account_id,
|
'account_id': _default_account_id,
|
||||||
|
'sequence': 10,
|
||||||
}
|
}
|
||||||
|
|
||||||
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
|
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
|
||||||
|
|
|
@ -192,6 +192,7 @@
|
||||||
<page string="Invoice">
|
<page string="Invoice">
|
||||||
<field context="{'partner_id': partner_id, 'price_type': context.get('price_type') or False, 'type': type}" name="invoice_line">
|
<field context="{'partner_id': partner_id, 'price_type': context.get('price_type') or False, 'type': type}" name="invoice_line">
|
||||||
<tree string="Invoice lines" editable="bottom">
|
<tree string="Invoice lines" editable="bottom">
|
||||||
|
<field name="sequence" widget="handle" />
|
||||||
<field name="product_id"
|
<field name="product_id"
|
||||||
on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, context, parent.company_id)"/>
|
on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, context, parent.company_id)"/>
|
||||||
<field name="name"/>
|
<field name="name"/>
|
||||||
|
@ -250,7 +251,7 @@
|
||||||
<group>
|
<group>
|
||||||
<group>
|
<group>
|
||||||
<field domain="[('partner_id', '=', partner_id)]" name="partner_bank_id" on_change="onchange_partner_bank(partner_bank_id)"/>
|
<field domain="[('partner_id', '=', partner_id)]" name="partner_bank_id" on_change="onchange_partner_bank(partner_bank_id)"/>
|
||||||
<field name="user_id"/>
|
<field name="user_id" context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'account.group_account_invoice']}"/>
|
||||||
<field name="name" invisible="1"/>
|
<field name="name" invisible="1"/>
|
||||||
<field name="payment_term" widget="selection"/>
|
<field name="payment_term" widget="selection"/>
|
||||||
</group>
|
</group>
|
||||||
|
@ -348,6 +349,7 @@
|
||||||
<page string="Invoice Lines">
|
<page string="Invoice Lines">
|
||||||
<field name="invoice_line" nolabel="1" widget="one2many_list" context="{'type': type}">
|
<field name="invoice_line" nolabel="1" widget="one2many_list" context="{'type': type}">
|
||||||
<tree string="Invoice Lines" editable="bottom">
|
<tree string="Invoice Lines" editable="bottom">
|
||||||
|
<field name="sequence" widget="handle"/>
|
||||||
<field name="product_id"
|
<field name="product_id"
|
||||||
on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, context, parent.company_id)"/>
|
on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, context, parent.company_id)"/>
|
||||||
<field name="name"/>
|
<field name="name"/>
|
||||||
|
@ -392,7 +394,7 @@
|
||||||
<group col="4">
|
<group col="4">
|
||||||
<group>
|
<group>
|
||||||
<field name="company_id" on_change="onchange_company_id(company_id,partner_id,type,invoice_line,currency_id,context)" widget="selection" groups="base.group_multi_company"/>
|
<field name="company_id" on_change="onchange_company_id(company_id,partner_id,type,invoice_line,currency_id,context)" widget="selection" groups="base.group_multi_company"/>
|
||||||
<field name="user_id" groups="base.group_user"/>
|
<field name="user_id" groups="base.group_user" context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'account.group_account_invoice']}"/>
|
||||||
<field domain="[('partner_id.ref_companies', 'in', [company_id])]" name="partner_bank_id"/>
|
<field domain="[('partner_id.ref_companies', 'in', [company_id])]" name="partner_bank_id"/>
|
||||||
<field name="period_id" domain="[('state', '=', 'draft'), ('company_id', '=', company_id)]"
|
<field name="period_id" domain="[('state', '=', 'draft'), ('company_id', '=', company_id)]"
|
||||||
groups="account.group_account_manager"
|
groups="account.group_account_manager"
|
||||||
|
@ -467,8 +469,8 @@
|
||||||
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
|
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
|
||||||
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
|
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
|
||||||
<filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id'}"/>
|
<filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id'}"/>
|
||||||
<filter string="Invoice Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_invoice'}"/>
|
<filter string="Invoice Month" icon="terp-go-month" domain="[]" context="{'group_by':'date_invoice'}"/>
|
||||||
<filter string="Due Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_due'}"/>
|
<filter string="Due Month" icon="terp-go-month" domain="[]" context="{'group_by':'date_due'}"/>
|
||||||
</group>
|
</group>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
|
|
|
@ -800,7 +800,7 @@ class account_move_line(osv.osv):
|
||||||
r_id = move_rec_obj.create(cr, uid, {
|
r_id = move_rec_obj.create(cr, uid, {
|
||||||
'type': type,
|
'type': type,
|
||||||
'line_partial_ids': map(lambda x: (4,x,False), merges+unmerge)
|
'line_partial_ids': map(lambda x: (4,x,False), merges+unmerge)
|
||||||
})
|
}, context=context)
|
||||||
move_rec_obj.reconcile_partial_check(cr, uid, [r_id] + merges_rec, context=context)
|
move_rec_obj.reconcile_partial_check(cr, uid, [r_id] + merges_rec, context=context)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
@ -1283,7 +1283,7 @@ class account_move_line(osv.osv):
|
||||||
self.create(cr, uid, data, context)
|
self.create(cr, uid, data, context)
|
||||||
del vals['account_tax_id']
|
del vals['account_tax_id']
|
||||||
|
|
||||||
if check and ((not context.get('no_store_function')) or journal.entry_posted):
|
if check and not context.get('novalidate') and ((not context.get('no_store_function')) or journal.entry_posted):
|
||||||
tmp = move_obj.validate(cr, uid, [vals['move_id']], context)
|
tmp = move_obj.validate(cr, uid, [vals['move_id']], context)
|
||||||
if journal.entry_posted and tmp:
|
if journal.entry_posted and tmp:
|
||||||
move_obj.button_validate(cr,uid, [vals['move_id']], context)
|
move_obj.button_validate(cr,uid, [vals['move_id']], context)
|
||||||
|
|
|
@ -413,7 +413,7 @@
|
||||||
<page string="Advanced Settings">
|
<page string="Advanced Settings">
|
||||||
<group>
|
<group>
|
||||||
<group>
|
<group>
|
||||||
<field name="user_id"/>
|
<field name="user_id" context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'account.group_account_user']}"/>
|
||||||
<field name="sequence_id" required="0"/>
|
<field name="sequence_id" required="0"/>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
|
@ -1406,7 +1406,7 @@
|
||||||
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
|
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
|
||||||
<filter string="States" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
|
<filter string="States" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
|
||||||
<filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id'}"/>
|
<filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id'}"/>
|
||||||
<filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
|
<filter string="Entries Month" icon="terp-go-month" domain="[]" context="{'group_by':'date'}" help="Journal Entries by Month"/>
|
||||||
</group>
|
</group>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
|
@ -2120,7 +2120,7 @@
|
||||||
<field name="chart_template_id" widget="selection" on_change="onchange_chart_template_id(chart_template_id)" domain="[('visible','=', True)]"/>
|
<field name="chart_template_id" widget="selection" on_change="onchange_chart_template_id(chart_template_id)" domain="[('visible','=', True)]"/>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<field name="company_id" widget="selection" on_change="onchange_company_id(company_id)"/> <!-- we assume that this wizard will be run only by administrators and as this field may cause problem if hidden (because of the default company of the user removed from the selection because already configured), we simply choosed to remove the group "multi company" of it -->
|
<field name="company_id" widget="selection"/> <!-- we assume that this wizard will be run only by administrators and as this field may cause problem if hidden (because of the default company of the user removed from the selection because already configured), we simply choosed to remove the group "multi company" of it -->
|
||||||
<field name="currency_id" class="oe_inline"/>
|
<field name="currency_id" class="oe_inline"/>
|
||||||
<field name="sale_tax" attrs="{'invisible': [('complete_tax_set', '!=', True)]}" domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('sale','all'))]"/>
|
<field name="sale_tax" attrs="{'invisible': [('complete_tax_set', '!=', True)]}" domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('sale','all'))]"/>
|
||||||
<label for="sale_tax_rate" string="Sale Tax" attrs="{'invisible': [('complete_tax_set', '=', True)]}"/>
|
<label for="sale_tax_rate" string="Sale Tax" attrs="{'invisible': [('complete_tax_set', '=', True)]}"/>
|
||||||
|
|
|
@ -266,7 +266,7 @@ class account_invoice(osv.osv, EDIMixin):
|
||||||
params = {
|
params = {
|
||||||
"cmd": "_xclick",
|
"cmd": "_xclick",
|
||||||
"business": inv.company_id.paypal_account,
|
"business": inv.company_id.paypal_account,
|
||||||
"item_name": inv.company_id.name + " Invoice " + inv.number,
|
"item_name": "%s Invoice %s" % (inv.company_id.name, inv.number or ''),
|
||||||
"invoice": inv.number,
|
"invoice": inv.number,
|
||||||
"amount": inv.residual,
|
"amount": inv.residual,
|
||||||
"currency_code": inv.currency_id.name,
|
"currency_code": inv.currency_id.name,
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-07-11 05:17+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-12 05:27+0000\n"
|
||||||
"X-Generator: Launchpad (build 16696)\n"
|
"X-Generator: Launchpad (build 16761)\n"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
|
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-06-30 05:55+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-12 05:35+0000\n"
|
||||||
"X-Generator: Launchpad (build 16692)\n"
|
"X-Generator: Launchpad (build 16761)\n"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
|
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
|
||||||
|
|
|
@ -8,13 +8,13 @@ msgstr ""
|
||||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||||
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
||||||
"PO-Revision-Date: 2013-06-07 09:22+0000\n"
|
"PO-Revision-Date: 2013-06-07 09:22+0000\n"
|
||||||
"Last-Translator: 盈通 ccdos <ccdos@163.com>\n"
|
"Last-Translator: 盈通 ccdos <ccdos@intoerp.com>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-06-08 05:52+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-12 05:38+0000\n"
|
||||||
"X-Generator: Launchpad (build 16667)\n"
|
"X-Generator: Launchpad (build 16761)\n"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
|
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
|
||||||
|
@ -25,7 +25,7 @@ msgstr "系统支付"
|
||||||
#: sql_constraint:account.fiscal.position.account:0
|
#: sql_constraint:account.fiscal.position.account:0
|
||||||
msgid ""
|
msgid ""
|
||||||
"An account fiscal position could be defined only once time on same accounts."
|
"An account fiscal position could be defined only once time on same accounts."
|
||||||
msgstr "在一个科目上只能设置一个应税设定"
|
msgstr "在一个科目上只能设置一个替换规则。"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: help:account.tax.code,sequence:0
|
#: help:account.tax.code,sequence:0
|
||||||
|
@ -130,10 +130,10 @@ msgstr "如果设置为false,该付款条款将会被隐藏。"
|
||||||
#: code:addons/account/account.py:686
|
#: code:addons/account/account.py:686
|
||||||
#: code:addons/account/account.py:781
|
#: code:addons/account/account.py:781
|
||||||
#: code:addons/account/account.py:1058
|
#: code:addons/account/account.py:1058
|
||||||
#: code:addons/account/account_invoice.py:817
|
|
||||||
#: code:addons/account/account_invoice.py:820
|
#: code:addons/account/account_invoice.py:820
|
||||||
#: code:addons/account/account_invoice.py:823
|
#: code:addons/account/account_invoice.py:823
|
||||||
#: code:addons/account/account_invoice.py:1542
|
#: code:addons/account/account_invoice.py:826
|
||||||
|
#: code:addons/account/account_invoice.py:1545
|
||||||
#: code:addons/account/account_move_line.py:98
|
#: code:addons/account/account_move_line.py:98
|
||||||
#: code:addons/account/account_move_line.py:771
|
#: code:addons/account/account_move_line.py:771
|
||||||
#: code:addons/account/account_move_line.py:824
|
#: code:addons/account/account_move_line.py:824
|
||||||
|
@ -348,7 +348,7 @@ msgid "Allow multi currencies"
|
||||||
msgstr "允许多种货币"
|
msgstr "允许多种货币"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:74
|
#: code:addons/account/account_invoice.py:77
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "You must define an analytic journal of type '%s'!"
|
msgid "You must define an analytic journal of type '%s'!"
|
||||||
msgstr "你必须定义一个类型为 '%s'的成本凭证簿!"
|
msgstr "你必须定义一个类型为 '%s'的成本凭证簿!"
|
||||||
|
@ -360,7 +360,7 @@ msgstr "你必须定义一个类型为 '%s'的成本凭证簿!"
|
||||||
#: selection:report.account.sales,month:0
|
#: selection:report.account.sales,month:0
|
||||||
#: selection:report.account_type.sales,month:0
|
#: selection:report.account_type.sales,month:0
|
||||||
msgid "June"
|
msgid "June"
|
||||||
msgstr "6"
|
msgstr "6月"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/wizard/account_automatic_reconcile.py:148
|
#: code:addons/account/wizard/account_automatic_reconcile.py:148
|
||||||
|
@ -442,7 +442,7 @@ msgstr ""
|
||||||
#. module: account
|
#. module: account
|
||||||
#: help:account.bank.statement.line,name:0
|
#: help:account.bank.statement.line,name:0
|
||||||
msgid "Originator to Beneficiary Information"
|
msgid "Originator to Beneficiary Information"
|
||||||
msgstr ""
|
msgstr "发起人到受益人的信息"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#. openerp-web
|
#. openerp-web
|
||||||
|
@ -462,7 +462,7 @@ msgstr "科目一览表模板"
|
||||||
#. module: account
|
#. module: account
|
||||||
#: selection:account.invoice.refund,filter_refund:0
|
#: selection:account.invoice.refund,filter_refund:0
|
||||||
msgid "Modify: create refund, reconcile and create a new draft invoice"
|
msgid "Modify: create refund, reconcile and create a new draft invoice"
|
||||||
msgstr ""
|
msgstr "修改:创建退款,核销并创建一个新的发票草稿"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: help:account.config.settings,tax_calculation_rounding_method:0
|
#: help:account.config.settings,tax_calculation_rounding_method:0
|
||||||
|
@ -528,7 +528,7 @@ msgstr "允许比较"
|
||||||
#: model:ir.model,name:account.model_account_journal
|
#: model:ir.model,name:account.model_account_journal
|
||||||
#: field:validate.account.move,journal_id:0
|
#: field:validate.account.move,journal_id:0
|
||||||
msgid "Journal"
|
msgid "Journal"
|
||||||
msgstr "账簿"
|
msgstr "凭证"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: model:ir.model,name:account.model_account_invoice_confirm
|
#: model:ir.model,name:account.model_account_invoice_confirm
|
||||||
|
@ -548,7 +548,7 @@ msgstr "显示发票的时候给出明细编号。"
|
||||||
#. module: account
|
#. module: account
|
||||||
#: field:account.bank.statement,account_id:0
|
#: field:account.bank.statement,account_id:0
|
||||||
msgid "Account used in this journal"
|
msgid "Account used in this journal"
|
||||||
msgstr "这账簿上的科目"
|
msgstr "凭证上的科目"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: help:account.aged.trial.balance,chart_account_id:0
|
#: help:account.aged.trial.balance,chart_account_id:0
|
||||||
|
@ -617,7 +617,7 @@ msgstr "没有什么被核销"
|
||||||
#. module: account
|
#. module: account
|
||||||
#: field:account.config.settings,decimal_precision:0
|
#: field:account.config.settings,decimal_precision:0
|
||||||
msgid "Decimal precision on journal entries"
|
msgid "Decimal precision on journal entries"
|
||||||
msgstr "日记帐分录小数精度"
|
msgstr "凭证分录小数精度"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: selection:account.config.settings,period:0
|
#: selection:account.config.settings,period:0
|
||||||
|
@ -745,7 +745,9 @@ msgstr "设置辅助核算项,用于退款时发票上默认税科目。如果
|
||||||
#: selection:account.common.partner.report,result_selection:0
|
#: selection:account.common.partner.report,result_selection:0
|
||||||
#: selection:account.partner.balance,result_selection:0
|
#: selection:account.partner.balance,result_selection:0
|
||||||
#: selection:account.partner.ledger,result_selection:0
|
#: selection:account.partner.ledger,result_selection:0
|
||||||
|
#: report:account.third_party_ledger:0
|
||||||
#: code:addons/account/report/account_partner_balance.py:297
|
#: code:addons/account/report/account_partner_balance.py:297
|
||||||
|
#: code:addons/account/report/account_partner_ledger.py:272
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Receivable Accounts"
|
msgid "Receivable Accounts"
|
||||||
msgstr "应收款科目"
|
msgstr "应收款科目"
|
||||||
|
@ -783,7 +785,7 @@ msgid "Are you sure you want to create entries?"
|
||||||
msgstr "你确定创建分录?"
|
msgstr "你确定创建分录?"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:1358
|
#: code:addons/account/account_invoice.py:1361
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Invoice partially paid: %s%s of %s%s (%s%s remaining)."
|
msgid "Invoice partially paid: %s%s of %s%s (%s%s remaining)."
|
||||||
msgstr "发票已经支付:%s%s ,总额: %s%s (剩余:%s%s )。"
|
msgstr "发票已经支付:%s%s ,总额: %s%s (剩余:%s%s )。"
|
||||||
|
@ -852,7 +854,7 @@ msgid "Type"
|
||||||
msgstr "类型"
|
msgstr "类型"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:823
|
#: code:addons/account/account_invoice.py:826
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Taxes are missing!\n"
|
"Taxes are missing!\n"
|
||||||
|
@ -1035,7 +1037,7 @@ msgid "Liability"
|
||||||
msgstr "负债"
|
msgstr "负债"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:896
|
#: code:addons/account/account_invoice.py:899
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Please define sequence on the journal related to this invoice."
|
msgid "Please define sequence on the journal related to this invoice."
|
||||||
msgstr "请为这张发票对应的凭证簿选择编号规则"
|
msgstr "请为这张发票对应的凭证簿选择编号规则"
|
||||||
|
@ -1108,8 +1110,8 @@ msgstr "特性"
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account.py:2346
|
#: code:addons/account/account.py:2346
|
||||||
#: code:addons/account/account_bank_statement.py:424
|
#: code:addons/account/account_bank_statement.py:424
|
||||||
#: code:addons/account/account_invoice.py:74
|
#: code:addons/account/account_invoice.py:77
|
||||||
#: code:addons/account/account_invoice.py:772
|
#: code:addons/account/account_invoice.py:775
|
||||||
#: code:addons/account/account_move_line.py:195
|
#: code:addons/account/account_move_line.py:195
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "No Analytic Journal !"
|
msgid "No Analytic Journal !"
|
||||||
|
@ -1547,8 +1549,10 @@ msgid "%s (copy)"
|
||||||
msgstr "%s (副本)"
|
msgstr "%s (副本)"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
|
#: report:account.account.balance:0
|
||||||
#: selection:account.balance.report,display_account:0
|
#: selection:account.balance.report,display_account:0
|
||||||
#: selection:account.common.account.report,display_account:0
|
#: selection:account.common.account.report,display_account:0
|
||||||
|
#: report:account.general.ledger_landscape:0
|
||||||
#: selection:account.partner.balance,display_partner:0
|
#: selection:account.partner.balance,display_partner:0
|
||||||
#: selection:account.report.general.ledger,display_account:0
|
#: selection:account.report.general.ledger,display_account:0
|
||||||
msgid "With balance is not equal to 0"
|
msgid "With balance is not equal to 0"
|
||||||
|
@ -1642,7 +1646,7 @@ msgstr "# 分录 "
|
||||||
msgid ""
|
msgid ""
|
||||||
"By unchecking the active field, you may hide a fiscal position without "
|
"By unchecking the active field, you may hide a fiscal position without "
|
||||||
"deleting it."
|
"deleting it."
|
||||||
msgstr "如不勾选该项,可以隐藏而不删除此应税条件"
|
msgstr "如不勾选该项,可以隐藏而不删除此替换规则。"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: model:ir.model,name:account.model_temp_range
|
#: model:ir.model,name:account.model_temp_range
|
||||||
|
@ -1685,7 +1689,7 @@ msgstr "定期分录"
|
||||||
#. module: account
|
#. module: account
|
||||||
#: model:ir.model,name:account.model_account_fiscal_position_template
|
#: model:ir.model,name:account.model_account_fiscal_position_template
|
||||||
msgid "Template for Fiscal Position"
|
msgid "Template for Fiscal Position"
|
||||||
msgstr "财务结构模板"
|
msgstr "替换规则模板"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: view:account.subscription:0
|
#: view:account.subscription:0
|
||||||
|
@ -1780,7 +1784,7 @@ msgstr ""
|
||||||
#: view:account.invoice:0
|
#: view:account.invoice:0
|
||||||
#: view:account.invoice.report:0
|
#: view:account.invoice.report:0
|
||||||
#: field:account.move.line,invoice:0
|
#: field:account.move.line,invoice:0
|
||||||
#: code:addons/account/account_invoice.py:1154
|
#: code:addons/account/account_invoice.py:1157
|
||||||
#: model:ir.model,name:account.model_account_invoice
|
#: model:ir.model,name:account.model_account_invoice
|
||||||
#: model:res.request.link,name:account.req_link_invoice
|
#: model:res.request.link,name:account.req_link_invoice
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -2033,9 +2037,9 @@ msgstr ""
|
||||||
#: code:addons/account/account_bank_statement.py:419
|
#: code:addons/account/account_bank_statement.py:419
|
||||||
#: code:addons/account/account_cash_statement.py:256
|
#: code:addons/account/account_cash_statement.py:256
|
||||||
#: code:addons/account/account_cash_statement.py:300
|
#: code:addons/account/account_cash_statement.py:300
|
||||||
#: code:addons/account/account_invoice.py:896
|
#: code:addons/account/account_invoice.py:899
|
||||||
#: code:addons/account/account_invoice.py:930
|
#: code:addons/account/account_invoice.py:933
|
||||||
#: code:addons/account/account_invoice.py:1121
|
#: code:addons/account/account_invoice.py:1124
|
||||||
#: code:addons/account/account_move_line.py:579
|
#: code:addons/account/account_move_line.py:579
|
||||||
#: code:addons/account/account_move_line.py:828
|
#: code:addons/account/account_move_line.py:828
|
||||||
#: code:addons/account/account_move_line.py:851
|
#: code:addons/account/account_move_line.py:851
|
||||||
|
@ -2232,7 +2236,7 @@ msgstr "流水帐"
|
||||||
#. module: account
|
#. module: account
|
||||||
#: sql_constraint:account.fiscal.position.tax:0
|
#: sql_constraint:account.fiscal.position.tax:0
|
||||||
msgid "A tax fiscal position could be defined only once time on same taxes."
|
msgid "A tax fiscal position could be defined only once time on same taxes."
|
||||||
msgstr "同样的税 上面一次只能定义一个财务结构。"
|
msgstr "同样的税上面一次只能定义一个税务替换规则。"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: view:account.tax:0
|
#: view:account.tax:0
|
||||||
|
@ -2277,7 +2281,9 @@ msgstr "固定资产管理"
|
||||||
#: selection:account.common.partner.report,result_selection:0
|
#: selection:account.common.partner.report,result_selection:0
|
||||||
#: selection:account.partner.balance,result_selection:0
|
#: selection:account.partner.balance,result_selection:0
|
||||||
#: selection:account.partner.ledger,result_selection:0
|
#: selection:account.partner.ledger,result_selection:0
|
||||||
|
#: report:account.third_party_ledger:0
|
||||||
#: code:addons/account/report/account_partner_balance.py:299
|
#: code:addons/account/report/account_partner_balance.py:299
|
||||||
|
#: code:addons/account/report/account_partner_ledger.py:274
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Payable Accounts"
|
msgid "Payable Accounts"
|
||||||
msgstr "应付款科目"
|
msgstr "应付款科目"
|
||||||
|
@ -2582,7 +2588,7 @@ msgid "Create an Account Based on this Template"
|
||||||
msgstr "基于此模板创建科目"
|
msgstr "基于此模板创建科目"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:930
|
#: code:addons/account/account_invoice.py:933
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Cannot create the invoice.\n"
|
"Cannot create the invoice.\n"
|
||||||
|
@ -2624,7 +2630,7 @@ msgstr "付款条款"
|
||||||
#: model:ir.actions.act_window,name:account.action_account_fiscal_position_form
|
#: model:ir.actions.act_window,name:account.action_account_fiscal_position_form
|
||||||
#: model:ir.ui.menu,name:account.menu_action_account_fiscal_position_form
|
#: model:ir.ui.menu,name:account.menu_action_account_fiscal_position_form
|
||||||
msgid "Fiscal Positions"
|
msgid "Fiscal Positions"
|
||||||
msgstr "财务结构"
|
msgstr "替换规则"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_move_line.py:579
|
#: code:addons/account/account_move_line.py:579
|
||||||
|
@ -2851,11 +2857,11 @@ msgstr "科目"
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account.py:3541
|
#: code:addons/account/account.py:3541
|
||||||
#: code:addons/account/account_bank_statement.py:405
|
#: code:addons/account/account_bank_statement.py:405
|
||||||
#: code:addons/account/account_invoice.py:504
|
#: code:addons/account/account_invoice.py:507
|
||||||
#: code:addons/account/account_invoice.py:606
|
#: code:addons/account/account_invoice.py:609
|
||||||
#: code:addons/account/account_invoice.py:621
|
#: code:addons/account/account_invoice.py:624
|
||||||
#: code:addons/account/account_invoice.py:629
|
#: code:addons/account/account_invoice.py:632
|
||||||
#: code:addons/account/account_invoice.py:654
|
#: code:addons/account/account_invoice.py:657
|
||||||
#: code:addons/account/account_move_line.py:536
|
#: code:addons/account/account_move_line.py:536
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Configuration Error!"
|
msgid "Configuration Error!"
|
||||||
|
@ -3088,7 +3094,7 @@ msgstr "销售分类帐"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account.py:2346
|
#: code:addons/account/account.py:2346
|
||||||
#: code:addons/account/account_invoice.py:772
|
#: code:addons/account/account_invoice.py:775
|
||||||
#: code:addons/account/account_move_line.py:195
|
#: code:addons/account/account_move_line.py:195
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "You have to define an analytic journal on the '%s' journal!"
|
msgid "You have to define an analytic journal on the '%s' journal!"
|
||||||
|
@ -3244,10 +3250,10 @@ msgstr "盈利或亏损"
|
||||||
#: model:ir.model,name:account.model_account_fiscal_position
|
#: model:ir.model,name:account.model_account_fiscal_position
|
||||||
#: field:res.partner,property_account_position:0
|
#: field:res.partner,property_account_position:0
|
||||||
msgid "Fiscal Position"
|
msgid "Fiscal Position"
|
||||||
msgstr "财务结构"
|
msgstr "替换规则"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:820
|
#: code:addons/account/account_invoice.py:823
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Tax base different!\n"
|
"Tax base different!\n"
|
||||||
|
@ -3407,7 +3413,7 @@ msgstr "视图"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account.py:3460
|
#: code:addons/account/account.py:3460
|
||||||
#: code:addons/account/account_bank.py:95
|
#: code:addons/account/account_bank.py:94
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "BNK"
|
msgid "BNK"
|
||||||
msgstr "BNK"
|
msgstr "BNK"
|
||||||
|
@ -3668,7 +3674,7 @@ msgid ""
|
||||||
msgstr "如果您指定其它名称,它创建的凭证或分录将用报表名相同的名称。这使得报表它自己关联相似的分录。"
|
msgstr "如果您指定其它名称,它创建的凭证或分录将用报表名相同的名称。这使得报表它自己关联相似的分录。"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:1013
|
#: code:addons/account/account_invoice.py:1016
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"You cannot create an invoice on a centralized journal. Uncheck the "
|
"You cannot create an invoice on a centralized journal. Uncheck the "
|
||||||
|
@ -3683,7 +3689,7 @@ msgid "Starting Balance"
|
||||||
msgstr "期初余额"
|
msgstr "期初余额"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:1462
|
#: code:addons/account/account_invoice.py:1465
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "No Partner Defined !"
|
msgid "No Partner Defined !"
|
||||||
msgstr "未定义业务伙伴!"
|
msgstr "未定义业务伙伴!"
|
||||||
|
@ -3952,9 +3958,13 @@ msgid "VAT :"
|
||||||
msgstr "增值税 :"
|
msgstr "增值税 :"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
|
#: report:account.account.balance:0
|
||||||
#: report:account.central.journal:0
|
#: report:account.central.journal:0
|
||||||
#: view:account.config.settings:0
|
#: view:account.config.settings:0
|
||||||
|
#: report:account.general.journal:0
|
||||||
#: report:account.general.ledger:0
|
#: report:account.general.ledger:0
|
||||||
|
#: report:account.general.ledger_landscape:0
|
||||||
|
#: report:account.journal.period.print:0
|
||||||
#: report:account.partner.balance:0
|
#: report:account.partner.balance:0
|
||||||
#: report:account.third_party_ledger:0
|
#: report:account.third_party_ledger:0
|
||||||
#: report:account.third_party_ledger_other:0
|
#: report:account.third_party_ledger_other:0
|
||||||
|
@ -4054,8 +4064,10 @@ msgstr ""
|
||||||
"请在业务伙伴里定义它"
|
"请在业务伙伴里定义它"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
|
#: report:account.account.balance:0
|
||||||
#: selection:account.balance.report,display_account:0
|
#: selection:account.balance.report,display_account:0
|
||||||
#: selection:account.common.account.report,display_account:0
|
#: selection:account.common.account.report,display_account:0
|
||||||
|
#: report:account.general.ledger_landscape:0
|
||||||
#: selection:account.report.general.ledger,display_account:0
|
#: selection:account.report.general.ledger,display_account:0
|
||||||
#: selection:account.tax,type_tax_use:0
|
#: selection:account.tax,type_tax_use:0
|
||||||
#: selection:account.tax.template,type_tax_use:0
|
#: selection:account.tax.template,type_tax_use:0
|
||||||
|
@ -4310,7 +4322,7 @@ msgid "Consolidated Children"
|
||||||
msgstr "合并子科目"
|
msgstr "合并子科目"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:570
|
#: code:addons/account/account_invoice.py:573
|
||||||
#: code:addons/account/wizard/account_invoice_refund.py:146
|
#: code:addons/account/wizard/account_invoice_refund.py:146
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Insufficient Data!"
|
msgid "Insufficient Data!"
|
||||||
|
@ -4363,7 +4375,7 @@ msgstr "显示业务伙伴"
|
||||||
#. module: account
|
#. module: account
|
||||||
#: view:account.invoice:0
|
#: view:account.invoice:0
|
||||||
msgid "Validate"
|
msgid "Validate"
|
||||||
msgstr "使其生效"
|
msgstr "确认生效"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: model:account.financial.report,name:account.account_financial_report_assets0
|
#: model:account.financial.report,name:account.account_financial_report_assets0
|
||||||
|
@ -4579,8 +4591,8 @@ msgid "Supplier invoice sequence"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:607
|
#: code:addons/account/account_invoice.py:610
|
||||||
#: code:addons/account/account_invoice.py:622
|
#: code:addons/account/account_invoice.py:625
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Cannot find a chart of account, you should create one from Settings\\"
|
"Cannot find a chart of account, you should create one from Settings\\"
|
||||||
|
@ -4853,7 +4865,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:655
|
#: code:addons/account/account_invoice.py:658
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Cannot find any account journal of %s type for this company.\n"
|
"Cannot find any account journal of %s type for this company.\n"
|
||||||
|
@ -5177,7 +5189,7 @@ msgid "Tax Application"
|
||||||
msgstr "税适用"
|
msgstr "税适用"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:919
|
#: code:addons/account/account_invoice.py:922
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please verify the price of the invoice !\n"
|
"Please verify the price of the invoice !\n"
|
||||||
|
@ -5502,7 +5514,7 @@ msgid "Compute Code (if type=code)"
|
||||||
msgstr "计算代码(如果类型=代码)"
|
msgstr "计算代码(如果类型=代码)"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:505
|
#: code:addons/account/account_invoice.py:508
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Cannot find a chart of accounts for this company, you should create one."
|
"Cannot find a chart of accounts for this company, you should create one."
|
||||||
|
@ -5902,7 +5914,7 @@ msgstr ""
|
||||||
#: view:account.fiscal.position.template:0
|
#: view:account.fiscal.position.template:0
|
||||||
#: field:account.fiscal.position.template,name:0
|
#: field:account.fiscal.position.template,name:0
|
||||||
msgid "Fiscal Position Template"
|
msgid "Fiscal Position Template"
|
||||||
msgstr "财务结构模板"
|
msgstr "替换规则模版"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: view:account.invoice:0
|
#: view:account.invoice:0
|
||||||
|
@ -6037,7 +6049,7 @@ msgstr "收入"
|
||||||
#: view:account.config.settings:0
|
#: view:account.config.settings:0
|
||||||
#: view:account.invoice:0
|
#: view:account.invoice:0
|
||||||
#: view:account.invoice.report:0
|
#: view:account.invoice.report:0
|
||||||
#: code:addons/account/account_invoice.py:387
|
#: code:addons/account/account_invoice.py:390
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Supplier"
|
msgid "Supplier"
|
||||||
msgstr "供应商"
|
msgstr "供应商"
|
||||||
|
@ -6057,7 +6069,7 @@ msgid "Account n°"
|
||||||
msgstr "科目编码"
|
msgstr "科目编码"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:92
|
#: code:addons/account/account_invoice.py:95
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Free Reference"
|
msgid "Free Reference"
|
||||||
msgstr "无限制的单号"
|
msgstr "无限制的单号"
|
||||||
|
@ -6067,7 +6079,9 @@ msgstr "无限制的单号"
|
||||||
#: selection:account.common.partner.report,result_selection:0
|
#: selection:account.common.partner.report,result_selection:0
|
||||||
#: selection:account.partner.balance,result_selection:0
|
#: selection:account.partner.balance,result_selection:0
|
||||||
#: selection:account.partner.ledger,result_selection:0
|
#: selection:account.partner.ledger,result_selection:0
|
||||||
|
#: report:account.third_party_ledger:0
|
||||||
#: code:addons/account/report/account_partner_balance.py:301
|
#: code:addons/account/report/account_partner_balance.py:301
|
||||||
|
#: code:addons/account/report/account_partner_ledger.py:276
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Receivable and Payable Accounts"
|
msgid "Receivable and Payable Accounts"
|
||||||
msgstr "应收款与应付款科目"
|
msgstr "应收款与应付款科目"
|
||||||
|
@ -6234,7 +6248,7 @@ msgstr "报表"
|
||||||
#. module: account
|
#. module: account
|
||||||
#: model:ir.model,name:account.model_account_fiscal_position_tax_template
|
#: model:ir.model,name:account.model_account_fiscal_position_tax_template
|
||||||
msgid "Template Tax Fiscal Position"
|
msgid "Template Tax Fiscal Position"
|
||||||
msgstr "税务的模板"
|
msgstr "税务替换规则的模板"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: help:account.tax,name:0
|
#: help:account.tax,name:0
|
||||||
|
@ -6293,7 +6307,7 @@ msgstr "生成循环分录"
|
||||||
#. module: account
|
#. module: account
|
||||||
#: report:account.invoice:0
|
#: report:account.invoice:0
|
||||||
msgid "Fiscal Position Remark :"
|
msgid "Fiscal Position Remark :"
|
||||||
msgstr "财务状况备注:"
|
msgstr "替换规则备注:"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: view:analytic.entries.report:0
|
#: view:analytic.entries.report:0
|
||||||
|
@ -6365,7 +6379,7 @@ msgid "Models"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:1121
|
#: code:addons/account/account_invoice.py:1124
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"You cannot cancel an invoice which is partially paid. You need to "
|
"You cannot cancel an invoice which is partially paid. You need to "
|
||||||
|
@ -6537,7 +6551,7 @@ msgid "You cannot create journal items on closed account."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:630
|
#: code:addons/account/account_invoice.py:633
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Invoice line account's company and invoice's compnay does not match."
|
msgid "Invoice line account's company and invoice's compnay does not match."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -6686,7 +6700,7 @@ msgstr "序列字段用于税从低到高排序, 如果税中有子税这排序
|
||||||
#: code:addons/account/account.py:1453
|
#: code:addons/account/account.py:1453
|
||||||
#: code:addons/account/account.py:1482
|
#: code:addons/account/account.py:1482
|
||||||
#: code:addons/account/account.py:1489
|
#: code:addons/account/account.py:1489
|
||||||
#: code:addons/account/account_invoice.py:1012
|
#: code:addons/account/account_invoice.py:1015
|
||||||
#: code:addons/account/account_move_line.py:1005
|
#: code:addons/account/account_move_line.py:1005
|
||||||
#: code:addons/account/wizard/account_automatic_reconcile.py:148
|
#: code:addons/account/wizard/account_automatic_reconcile.py:148
|
||||||
#: code:addons/account/wizard/account_fiscalyear_close.py:88
|
#: code:addons/account/wizard/account_fiscalyear_close.py:88
|
||||||
|
@ -6765,7 +6779,7 @@ msgstr "你不能修改已经存在凭证的公司帐户。"
|
||||||
#: report:account.invoice:0
|
#: report:account.invoice:0
|
||||||
#: selection:account.invoice,type:0
|
#: selection:account.invoice,type:0
|
||||||
#: selection:account.invoice.report,type:0
|
#: selection:account.invoice.report,type:0
|
||||||
#: code:addons/account/account_invoice.py:1157
|
#: code:addons/account/account_invoice.py:1160
|
||||||
#: selection:report.invoice.created,type:0
|
#: selection:report.invoice.created,type:0
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Supplier Refund"
|
msgid "Supplier Refund"
|
||||||
|
@ -7174,7 +7188,7 @@ msgstr "科目核销"
|
||||||
#. module: account
|
#. module: account
|
||||||
#: model:ir.model,name:account.model_account_fiscal_position_tax
|
#: model:ir.model,name:account.model_account_fiscal_position_tax
|
||||||
msgid "Taxes Fiscal Position"
|
msgid "Taxes Fiscal Position"
|
||||||
msgstr "税负"
|
msgstr "税负替换规则"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: report:account.general.ledger:0
|
#: report:account.general.ledger:0
|
||||||
|
@ -7269,7 +7283,7 @@ msgstr ""
|
||||||
#. module: account
|
#. module: account
|
||||||
#: field:account.config.settings,module_account_voucher:0
|
#: field:account.config.settings,module_account_voucher:0
|
||||||
msgid "Manage customer payments"
|
msgid "Manage customer payments"
|
||||||
msgstr ""
|
msgstr "管理客户付款"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: help:report.invoice.created,origin:0
|
#: help:report.invoice.created,origin:0
|
||||||
|
@ -7896,7 +7910,7 @@ msgid "May"
|
||||||
msgstr "5"
|
msgstr "5"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:817
|
#: code:addons/account/account_invoice.py:820
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Global taxes defined, but they are not in invoice lines !"
|
msgid "Global taxes defined, but they are not in invoice lines !"
|
||||||
msgstr "定义了全局税,但发票行中没有!"
|
msgstr "定义了全局税,但发票行中没有!"
|
||||||
|
@ -7937,7 +7951,7 @@ msgstr "登账"
|
||||||
#: view:account.config.settings:0
|
#: view:account.config.settings:0
|
||||||
#: view:account.invoice:0
|
#: view:account.invoice:0
|
||||||
#: view:account.invoice.report:0
|
#: view:account.invoice.report:0
|
||||||
#: code:addons/account/account_invoice.py:385
|
#: code:addons/account/account_invoice.py:388
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Customer"
|
msgid "Customer"
|
||||||
msgstr "客户"
|
msgstr "客户"
|
||||||
|
@ -8185,7 +8199,7 @@ msgid "Select a currency to apply on the invoice"
|
||||||
msgstr "在发票上选择合适的币别"
|
msgstr "在发票上选择合适的币别"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:898
|
#: code:addons/account/account_invoice.py:901
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "No Invoice Lines !"
|
msgid "No Invoice Lines !"
|
||||||
msgstr "没有发票明细"
|
msgstr "没有发票明细"
|
||||||
|
@ -8262,7 +8276,7 @@ msgid "Associated Partner"
|
||||||
msgstr "相关业务伙伴"
|
msgstr "相关业务伙伴"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:1462
|
#: code:addons/account/account_invoice.py:1465
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "You must first select a partner !"
|
msgid "You must first select a partner !"
|
||||||
msgstr "你必须首先选择一个业务伙伴!"
|
msgstr "你必须首先选择一个业务伙伴!"
|
||||||
|
@ -8452,7 +8466,7 @@ msgstr "已调整的余额"
|
||||||
#: model:ir.actions.act_window,name:account.action_account_fiscal_position_template_form
|
#: model:ir.actions.act_window,name:account.action_account_fiscal_position_template_form
|
||||||
#: model:ir.ui.menu,name:account.menu_action_account_fiscal_position_form_template
|
#: model:ir.ui.menu,name:account.menu_action_account_fiscal_position_form_template
|
||||||
msgid "Fiscal Position Templates"
|
msgid "Fiscal Position Templates"
|
||||||
msgstr "财务结构模板"
|
msgstr "替换规则模板"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: view:account.entries.report:0
|
#: view:account.entries.report:0
|
||||||
|
@ -8744,7 +8758,7 @@ msgstr "到期日期"
|
||||||
#: model:ir.ui.menu,name:account.menu_account_supplier
|
#: model:ir.ui.menu,name:account.menu_account_supplier
|
||||||
#: model:ir.ui.menu,name:account.menu_finance_payables
|
#: model:ir.ui.menu,name:account.menu_finance_payables
|
||||||
msgid "Suppliers"
|
msgid "Suppliers"
|
||||||
msgstr "供应商列表"
|
msgstr "供应商"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: view:account.journal:0
|
#: view:account.journal:0
|
||||||
|
@ -9208,7 +9222,7 @@ msgid "Purchase Tax(%)"
|
||||||
msgstr "进项税(%)"
|
msgstr "进项税(%)"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:898
|
#: code:addons/account/account_invoice.py:901
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Please create some invoice lines."
|
msgid "Please create some invoice lines."
|
||||||
msgstr "请创建发票明细。"
|
msgstr "请创建发票明细。"
|
||||||
|
@ -9764,7 +9778,7 @@ msgid "Unreconciled"
|
||||||
msgstr "反核销"
|
msgstr "反核销"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:919
|
#: code:addons/account/account_invoice.py:922
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Bad total !"
|
msgid "Bad total !"
|
||||||
msgstr "坏的合计!"
|
msgstr "坏的合计!"
|
||||||
|
@ -10237,6 +10251,7 @@ msgstr "开始银行对账"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: field:account.account,company_id:0
|
#: field:account.account,company_id:0
|
||||||
|
#: report:account.account.balance:0
|
||||||
#: field:account.aged.trial.balance,company_id:0
|
#: field:account.aged.trial.balance,company_id:0
|
||||||
#: field:account.analytic.journal,company_id:0
|
#: field:account.analytic.journal,company_id:0
|
||||||
#: field:account.balance.report,company_id:0
|
#: field:account.balance.report,company_id:0
|
||||||
|
@ -10252,7 +10267,9 @@ msgstr "开始银行对账"
|
||||||
#: field:account.entries.report,company_id:0
|
#: field:account.entries.report,company_id:0
|
||||||
#: field:account.fiscal.position,company_id:0
|
#: field:account.fiscal.position,company_id:0
|
||||||
#: field:account.fiscalyear,company_id:0
|
#: field:account.fiscalyear,company_id:0
|
||||||
|
#: report:account.general.journal:0
|
||||||
#: field:account.general.journal,company_id:0
|
#: field:account.general.journal,company_id:0
|
||||||
|
#: report:account.general.ledger_landscape:0
|
||||||
#: field:account.installer,company_id:0
|
#: field:account.installer,company_id:0
|
||||||
#: field:account.invoice,company_id:0
|
#: field:account.invoice,company_id:0
|
||||||
#: field:account.invoice.line,company_id:0
|
#: field:account.invoice.line,company_id:0
|
||||||
|
@ -10261,6 +10278,7 @@ msgstr "开始银行对账"
|
||||||
#: field:account.invoice.tax,company_id:0
|
#: field:account.invoice.tax,company_id:0
|
||||||
#: field:account.journal,company_id:0
|
#: field:account.journal,company_id:0
|
||||||
#: field:account.journal.period,company_id:0
|
#: field:account.journal.period,company_id:0
|
||||||
|
#: report:account.journal.period.print:0
|
||||||
#: field:account.model,company_id:0
|
#: field:account.model,company_id:0
|
||||||
#: field:account.move,company_id:0
|
#: field:account.move,company_id:0
|
||||||
#: field:account.move.line,company_id:0
|
#: field:account.move.line,company_id:0
|
||||||
|
@ -10414,14 +10432,14 @@ msgstr "销售科目的报表"
|
||||||
#. module: account
|
#. module: account
|
||||||
#: model:ir.model,name:account.model_account_fiscal_position_account
|
#: model:ir.model,name:account.model_account_fiscal_position_account
|
||||||
msgid "Accounts Fiscal Position"
|
msgid "Accounts Fiscal Position"
|
||||||
msgstr "财务结构"
|
msgstr "替换规则"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: report:account.invoice:0
|
#: report:account.invoice:0
|
||||||
#: view:account.invoice:0
|
#: view:account.invoice:0
|
||||||
#: selection:account.invoice,type:0
|
#: selection:account.invoice,type:0
|
||||||
#: selection:account.invoice.report,type:0
|
#: selection:account.invoice.report,type:0
|
||||||
#: code:addons/account/account_invoice.py:1155
|
#: code:addons/account/account_invoice.py:1158
|
||||||
#: model:process.process,name:account.process_process_supplierinvoiceprocess0
|
#: model:process.process,name:account.process_process_supplierinvoiceprocess0
|
||||||
#: selection:report.invoice.created,type:0
|
#: selection:report.invoice.created,type:0
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -10511,8 +10529,10 @@ msgstr ""
|
||||||
"内部类型用于对不同类型的科目进行控制:视图科目不能做凭证,合并科目用于在多公司合并中指定子科目,应收应付科目用于业务伙伴,关闭科目用于不再使用的科目。"
|
"内部类型用于对不同类型的科目进行控制:视图科目不能做凭证,合并科目用于在多公司合并中指定子科目,应收应付科目用于业务伙伴,关闭科目用于不再使用的科目。"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
|
#: report:account.account.balance:0
|
||||||
#: selection:account.balance.report,display_account:0
|
#: selection:account.balance.report,display_account:0
|
||||||
#: selection:account.common.account.report,display_account:0
|
#: selection:account.common.account.report,display_account:0
|
||||||
|
#: report:account.general.ledger_landscape:0
|
||||||
#: selection:account.report.general.ledger,display_account:0
|
#: selection:account.report.general.ledger,display_account:0
|
||||||
msgid "With movements"
|
msgid "With movements"
|
||||||
msgstr "进展"
|
msgstr "进展"
|
||||||
|
@ -10607,7 +10627,7 @@ msgid "Entries Sorted by"
|
||||||
msgstr "排序依据:"
|
msgstr "排序依据:"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:1543
|
#: code:addons/account/account_invoice.py:1546
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"The selected unit of measure is not compatible with the unit of measure of "
|
"The selected unit of measure is not compatible with the unit of measure of "
|
||||||
|
@ -10688,7 +10708,7 @@ msgstr "搜索发票"
|
||||||
#: report:account.invoice:0
|
#: report:account.invoice:0
|
||||||
#: view:account.invoice:0
|
#: view:account.invoice:0
|
||||||
#: view:account.invoice.report:0
|
#: view:account.invoice.report:0
|
||||||
#: code:addons/account/account_invoice.py:1156
|
#: code:addons/account/account_invoice.py:1159
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Refund"
|
msgid "Refund"
|
||||||
msgstr "红字发票"
|
msgstr "红字发票"
|
||||||
|
@ -10731,7 +10751,7 @@ msgstr "使凭证行生效"
|
||||||
#: help:res.partner,property_account_position:0
|
#: help:res.partner,property_account_position:0
|
||||||
msgid ""
|
msgid ""
|
||||||
"The fiscal position will determine taxes and accounts used for the partner."
|
"The fiscal position will determine taxes and accounts used for the partner."
|
||||||
msgstr ""
|
msgstr "替换规则将决定合作伙伴说使用的税和科目"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: model:process.node,note:account.process_node_supplierpaidinvoice0
|
#: model:process.node,note:account.process_node_supplierpaidinvoice0
|
||||||
|
@ -10760,7 +10780,7 @@ msgid "Manual Invoice Taxes"
|
||||||
msgstr "手动的发票税(非主营业务纳税)"
|
msgstr "手动的发票税(非主营业务纳税)"
|
||||||
|
|
||||||
#. module: account
|
#. module: account
|
||||||
#: code:addons/account/account_invoice.py:570
|
#: code:addons/account/account_invoice.py:573
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The payment term of supplier does not have a payment term line."
|
msgid "The payment term of supplier does not have a payment term line."
|
||||||
msgstr "供应商付款条件没有包含付款条件行"
|
msgstr "供应商付款条件没有包含付款条件行"
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -133,7 +133,7 @@
|
||||||
<field name="name"/>
|
<field name="name"/>
|
||||||
<field name="account_id"/>
|
<field name="account_id"/>
|
||||||
<field name="journal_id"/>
|
<field name="journal_id"/>
|
||||||
<field name="user_id"/>
|
<field name="user_id" context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'account.group_account_invoice']}"/>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<field name="date"/>
|
<field name="date"/>
|
||||||
|
@ -206,7 +206,7 @@
|
||||||
<filter string="Product" context="{'group_by':'product_id'}"/>
|
<filter string="Product" context="{'group_by':'product_id'}"/>
|
||||||
<filter string="User" context="{'group_by':'user_id'}"/>
|
<filter string="User" context="{'group_by':'user_id'}"/>
|
||||||
<separator/>
|
<separator/>
|
||||||
<filter string="Date" context="{'group_by':'date'}" name="group_date"/>
|
<filter string="Tasks Month" context="{'group_by':'date'}" name="group_date" help="Invoice Tasks by Month"/>
|
||||||
|
|
||||||
</group>
|
</group>
|
||||||
</search>
|
</search>
|
||||||
|
|
|
@ -7,16 +7,16 @@
|
||||||
<field name="model">account.analytic.chart</field>
|
<field name="model">account.analytic.chart</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<form string="Analytic Account Charts" version="7.0">
|
<form string="Analytic Account Charts" version="7.0">
|
||||||
<header>
|
|
||||||
<button name="analytic_account_chart_open_window" string="Open Charts" type="object" class="oe_highlight"/>
|
|
||||||
or
|
|
||||||
<button string="Cancel" class="oe_link" special="cancel"/>
|
|
||||||
</header>
|
|
||||||
<group string="Select the Period for Analysis" col="4">
|
<group string="Select the Period for Analysis" col="4">
|
||||||
<field name="from_date"/>
|
<field name="from_date"/>
|
||||||
<field name="to_date"/>
|
<field name="to_date"/>
|
||||||
<label string="(Keep empty to open the current situation)" colspan="4"/>
|
<label string="(Keep empty to open the current situation)" colspan="4"/>
|
||||||
</group>
|
</group>
|
||||||
|
<footer>
|
||||||
|
<button name="analytic_account_chart_open_window" string="Open Charts" type="object" class="oe_highlight"/>
|
||||||
|
or
|
||||||
|
<button string="Cancel" class="oe_link" special="cancel"/>
|
||||||
|
</footer>
|
||||||
</form>
|
</form>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
|
@ -92,7 +92,7 @@
|
||||||
<filter string="Acc.Type" icon="terp-stock_symbol-selection" context="{'group_by':'user_type'}" name="usertype"/>
|
<filter string="Acc.Type" icon="terp-stock_symbol-selection" context="{'group_by':'user_type'}" name="usertype"/>
|
||||||
<filter string="Int.Type" icon="terp-stock_symbol-selection" context="{'group_by':'type'}"/>
|
<filter string="Int.Type" icon="terp-stock_symbol-selection" context="{'group_by':'type'}"/>
|
||||||
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||||
<filter string="Date" icon="terp-go-today" context="{'group_by':'date'}"/>
|
<filter string="Entries Month" icon="terp-go-today" context="{'group_by':'date'}" help="Entries Date by Month"/>
|
||||||
<filter string="Period" icon="terp-go-month" name="group_period" context="{'group_by':'period_id'}"/>
|
<filter string="Period" icon="terp-go-month" name="group_period" context="{'group_by':'period_id'}"/>
|
||||||
<filter string="Fiscal Year" icon="terp-go-year" context="{'group_by':'fiscalyear_id'}"/>
|
<filter string="Fiscal Year" icon="terp-go-year" context="{'group_by':'fiscalyear_id'}"/>
|
||||||
</group>
|
</group>
|
||||||
|
|
|
@ -38,6 +38,7 @@ class report_account_common(report_sxw.rml_parse, common_report_header):
|
||||||
'get_filter': self._get_filter,
|
'get_filter': self._get_filter,
|
||||||
'get_start_date':self._get_start_date,
|
'get_start_date':self._get_start_date,
|
||||||
'get_end_date':self._get_end_date,
|
'get_end_date':self._get_end_date,
|
||||||
|
'get_target_move': self._get_target_move,
|
||||||
})
|
})
|
||||||
self.context = context
|
self.context = context
|
||||||
|
|
||||||
|
|
|
@ -166,11 +166,12 @@
|
||||||
<para style="Standard">
|
<para style="Standard">
|
||||||
<font color="white"> </font>
|
<font color="white"> </font>
|
||||||
</para>
|
</para>
|
||||||
<blockTable colWidths="163.0,163.0,163.0" style="Table2_header">
|
<blockTable colWidths="122.0,122.0,122.0,122.0" style="Table2_header">
|
||||||
<tr>
|
<tr>
|
||||||
<td><para style="terp_tblheader_General_Centre">Chart of Accounts</para></td>
|
<td><para style="terp_tblheader_General_Centre">Chart of Accounts</para></td>
|
||||||
<td><para style="terp_tblheader_General_Centre">Fiscal Year</para></td>
|
<td><para style="terp_tblheader_General_Centre">Fiscal Year</para></td>
|
||||||
<td><para style="terp_tblheader_General_Centre">Filter By [[ get_filter(data)!='No Filters' and get_filter(data) ]]</para></td>
|
<td><para style="terp_tblheader_General_Centre">Filter By [[ get_filter(data)!='No Filters' and get_filter(data) ]]</para></td>
|
||||||
|
<td><para style="terp_tblheader_General_Centre">Target Moves</para></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><para style="terp_default_Centre_8">[[ get_account(data) or removeParentNode('para') ]]</para></td>
|
<td><para style="terp_default_Centre_8">[[ get_account(data) or removeParentNode('para') ]]</para></td>
|
||||||
|
@ -197,6 +198,10 @@
|
||||||
</tr>
|
</tr>
|
||||||
</blockTable>
|
</blockTable>
|
||||||
</td>
|
</td>
|
||||||
|
<td>
|
||||||
|
<para style="terp_default_Centre_8">[[ get_target_move(data) ]]</para>
|
||||||
|
</td>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
</blockTable>
|
</blockTable>
|
||||||
<para style="Standard">
|
<para style="Standard">
|
||||||
|
|
|
@ -71,7 +71,7 @@
|
||||||
<filter string="Commercial Partner" name="commercial_partner_id" context="{'group_by':'commercial_partner_id','residual_visible':True}"/>
|
<filter string="Commercial Partner" name="commercial_partner_id" context="{'group_by':'commercial_partner_id','residual_visible':True}"/>
|
||||||
<filter string="Commercial Partner's Country" name="country_id" context="{'group_by':'country_id'}"/>
|
<filter string="Commercial Partner's Country" name="country_id" context="{'group_by':'country_id'}"/>
|
||||||
<filter string="Salesperson" name='user' icon="terp-personal" context="{'group_by':'user_id'}"/>
|
<filter string="Salesperson" name='user' icon="terp-personal" context="{'group_by':'user_id'}"/>
|
||||||
<filter string="Due Date" icon="terp-go-today" context="{'group_by':'date_due'}"/>
|
<filter string="Due Month" icon="terp-go-today" context="{'group_by':'date_due'}"/>
|
||||||
<filter string="Period" icon="terp-go-month" context="{'group_by':'period_id'}" name="period"/>
|
<filter string="Period" icon="terp-go-month" context="{'group_by':'period_id'}" name="period"/>
|
||||||
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id','set_visible':True,'residual_invisible':True}"/>
|
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id','set_visible':True,'residual_invisible':True}"/>
|
||||||
<filter string="Category of Product" name="category_product" icon="terp-stock_symbol-selection" context="{'group_by':'categ_id','residual_invisible':True}"/>
|
<filter string="Category of Product" name="category_product" icon="terp-stock_symbol-selection" context="{'group_by':'categ_id','residual_invisible':True}"/>
|
||||||
|
|
|
@ -25,7 +25,7 @@ from dateutil.relativedelta import relativedelta
|
||||||
from operator import itemgetter
|
from operator import itemgetter
|
||||||
from os.path import join as opj
|
from os.path import join as opj
|
||||||
|
|
||||||
from openerp.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT as DF
|
from openerp.tools import DEFAULT_SERVER_DATE_FORMAT as DF
|
||||||
from openerp.tools.translate import _
|
from openerp.tools.translate import _
|
||||||
from openerp.osv import fields, osv
|
from openerp.osv import fields, osv
|
||||||
from openerp import tools
|
from openerp import tools
|
||||||
|
@ -81,31 +81,31 @@ class account_config_settings(osv.osv_memory):
|
||||||
'purchase_refund_sequence_next': fields.related('purchase_refund_journal_id', 'sequence_id', 'number_next', type='integer', string='Next supplier credit note number'),
|
'purchase_refund_sequence_next': fields.related('purchase_refund_journal_id', 'sequence_id', 'number_next', type='integer', string='Next supplier credit note number'),
|
||||||
|
|
||||||
'module_account_check_writing': fields.boolean('Pay your suppliers by check',
|
'module_account_check_writing': fields.boolean('Pay your suppliers by check',
|
||||||
help="""This allows you to check writing and printing.
|
help='This allows you to check writing and printing.\n'
|
||||||
This installs the module account_check_writing."""),
|
'-This installs the module account_check_writing.'),
|
||||||
'module_account_accountant': fields.boolean('Full accounting features: journals, legal statements, chart of accounts, etc.',
|
'module_account_accountant': fields.boolean('Full accounting features: journals, legal statements, chart of accounts, etc.',
|
||||||
help="""If you do not check this box, you will be able to do invoicing & payments, but not accounting (Journal Items, Chart of Accounts, ...)"""),
|
help="""If you do not check this box, you will be able to do invoicing & payments, but not accounting (Journal Items, Chart of Accounts, ...)"""),
|
||||||
'module_account_asset': fields.boolean('Assets management',
|
'module_account_asset': fields.boolean('Assets management',
|
||||||
help="""This allows you to manage the assets owned by a company or a person.
|
help='This allows you to manage the assets owned by a company or a person.\n'
|
||||||
It keeps track of the depreciation occurred on those assets, and creates account move for those depreciation lines.
|
'It keeps track of the depreciation occurred on those assets, and creates account move for those depreciation lines.\n'
|
||||||
This installs the module account_asset. If you do not check this box, you will be able to do invoicing & payments,
|
'-This installs the module account_asset. If you do not check this box, you will be able to do invoicing & payments, '
|
||||||
but not accounting (Journal Items, Chart of Accounts, ...)"""),
|
'but not accounting (Journal Items, Chart of Accounts, ...)'),
|
||||||
'module_account_budget': fields.boolean('Budget management',
|
'module_account_budget': fields.boolean('Budget management',
|
||||||
help="""This allows accountants to manage analytic and crossovered budgets.
|
help='This allows accountants to manage analytic and crossovered budgets. '
|
||||||
Once the master budgets and the budgets are defined,
|
'Once the master budgets and the budgets are defined, '
|
||||||
the project managers can set the planned amount on each analytic account.
|
'the project managers can set the planned amount on each analytic account.\n'
|
||||||
This installs the module account_budget."""),
|
'-This installs the module account_budget.'),
|
||||||
'module_account_payment': fields.boolean('Manage payment orders',
|
'module_account_payment': fields.boolean('Manage payment orders',
|
||||||
help="""This allows you to create and manage your payment orders, with purposes to
|
help='This allows you to create and manage your payment orders, with purposes to \n'
|
||||||
* serve as base for an easy plug-in of various automated payment mechanisms, and
|
'* serve as base for an easy plug-in of various automated payment mechanisms, and \n'
|
||||||
* provide a more efficient way to manage invoice payments.
|
'* provide a more efficient way to manage invoice payments.\n'
|
||||||
This installs the module account_payment."""),
|
'-This installs the module account_payment.' ),
|
||||||
'module_account_voucher': fields.boolean('Manage customer payments',
|
'module_account_voucher': fields.boolean('Manage customer payments',
|
||||||
help="""This includes all the basic requirements of voucher entries for bank, cash, sales, purchase, expense, contra, etc.
|
help='This includes all the basic requirements of voucher entries for bank, cash, sales, purchase, expense, contra, etc.\n'
|
||||||
This installs the module account_voucher."""),
|
'-This installs the module account_voucher.'),
|
||||||
'module_account_followup': fields.boolean('Manage customer payment follow-ups',
|
'module_account_followup': fields.boolean('Manage customer payment follow-ups',
|
||||||
help="""This allows to automate letters for unpaid invoices, with multi-level recalls.
|
help='This allows to automate letters for unpaid invoices, with multi-level recalls.\n'
|
||||||
This installs the module account_followup."""),
|
'-This installs the module account_followup.'),
|
||||||
'group_proforma_invoices': fields.boolean('Allow pro-forma invoices',
|
'group_proforma_invoices': fields.boolean('Allow pro-forma invoices',
|
||||||
implied_group='account.group_proforma_invoices',
|
implied_group='account.group_proforma_invoices',
|
||||||
help="Allows you to put invoices in pro-forma state."),
|
help="Allows you to put invoices in pro-forma state."),
|
||||||
|
|
|
@ -67,9 +67,10 @@
|
||||||
Then I cancel Bank Statements and verifies that it raises a warning
|
Then I cancel Bank Statements and verifies that it raises a warning
|
||||||
-
|
-
|
||||||
!python {model: account.bank.statement}: |
|
!python {model: account.bank.statement}: |
|
||||||
|
from openerp.osv import osv
|
||||||
try:
|
try:
|
||||||
self.button_cancel(cr, uid, [ref("account_bank_statement_0")])
|
self.button_cancel(cr, uid, [ref("account_bank_statement_0")])
|
||||||
assert False, "An exception should have been raised, the journal should not let us cancel moves!"
|
assert False, "An exception should have been raised, the journal should not let us cancel moves!"
|
||||||
except Exception:
|
except osv.except_osv:
|
||||||
# exception was raised as expected, as the journal does not allow cancelling moves
|
# exception was raised as expected, as the journal does not allow cancelling moves
|
||||||
pass
|
pass
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
-
|
-
|
||||||
In order to test account invoice I create a new customer invoice
|
In order to test account invoice I create a new customer invoice
|
||||||
-
|
-
|
||||||
I will create bank detail
|
I will create bank detail with using manager access rights because account manager can only create bank details.
|
||||||
|
-
|
||||||
|
!context
|
||||||
|
uid: 'res_users_account_manager'
|
||||||
-
|
-
|
||||||
!record {model: res.partner.bank, id: res_partner_bank_0}:
|
!record {model: res.partner.bank, id: res_partner_bank_0}:
|
||||||
state: bank
|
state: bank
|
||||||
|
@ -11,6 +14,11 @@
|
||||||
footer: True
|
footer: True
|
||||||
bank: base.res_bank_1
|
bank: base.res_bank_1
|
||||||
bank_name: Reserve
|
bank_name: Reserve
|
||||||
|
-
|
||||||
|
Test with that user which have rights to make Invoicing and payment and who is accountant.
|
||||||
|
-
|
||||||
|
!context
|
||||||
|
uid: 'res_users_account_user'
|
||||||
-
|
-
|
||||||
I create a customer invoice
|
I create a customer invoice
|
||||||
-
|
-
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
-
|
||||||
|
Test with that user which have rights to make Invoicing.
|
||||||
|
-
|
||||||
|
!context
|
||||||
|
uid: 'res_users_account_user'
|
||||||
-
|
-
|
||||||
In order to test Confirm Draft Invoice wizard I create an invoice and confirm it with this wizard
|
In order to test Confirm Draft Invoice wizard I create an invoice and confirm it with this wizard
|
||||||
-
|
-
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
-
|
||||||
|
Test with that Finance manager who can only create supplier invoice.
|
||||||
|
-
|
||||||
|
!context
|
||||||
|
uid: 'res_users_account_manager'
|
||||||
-
|
-
|
||||||
In order to test account invoice I create a new supplier invoice
|
In order to test account invoice I create a new supplier invoice
|
||||||
-
|
-
|
||||||
|
@ -73,14 +78,16 @@
|
||||||
I cancel the account move which is in posted state and verifies that it gives warning message
|
I cancel the account move which is in posted state and verifies that it gives warning message
|
||||||
-
|
-
|
||||||
!python {model: account.move}: |
|
!python {model: account.move}: |
|
||||||
|
from openerp.osv import osv
|
||||||
inv_obj = self.pool.get('account.invoice')
|
inv_obj = self.pool.get('account.invoice')
|
||||||
inv = inv_obj.browse(cr, uid, ref('account_invoice_supplier0'))
|
inv = inv_obj.browse(cr, uid, ref('account_invoice_supplier0'))
|
||||||
try:
|
try:
|
||||||
mov_cancel = self.button_cancel(cr, uid, [inv.move_id.id], {'lang': u'en_US', 'tz': False,
|
mov_cancel = self.button_cancel(cr, uid, [inv.move_id.id], {'lang': u'en_US', 'tz': False,
|
||||||
'active_model': 'ir.ui.menu', 'journal_type': 'purchase', 'active_ids': [ref('menu_action_invoice_tree2')],
|
'active_model': 'ir.ui.menu', 'journal_type': 'purchase', 'active_ids': [ref('menu_action_invoice_tree2')],
|
||||||
'type': 'in_invoice', 'active_id': ref('menu_action_invoice_tree2')})
|
'type': 'in_invoice', 'active_id': ref('menu_action_invoice_tree2')})
|
||||||
except Exception, e:
|
assert False, "This should never happen!"
|
||||||
assert e, 'Warning message has not been raised'
|
except osv.except_osv:
|
||||||
|
pass
|
||||||
-
|
-
|
||||||
I verify that 'Period Sum' and 'Year sum' of the tax code are the expected values
|
I verify that 'Period Sum' and 'Year sum' of the tax code are the expected values
|
||||||
-
|
-
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
-
|
||||||
|
Create a user as 'Accountant'
|
||||||
|
-
|
||||||
|
!record {model: res.users, id: res_users_account_user, view: False}:
|
||||||
|
company_id: base.main_company
|
||||||
|
name: Accountant
|
||||||
|
login: acc
|
||||||
|
password: acc
|
||||||
|
email: accountuser@yourcompany.com
|
||||||
|
-
|
||||||
|
I added groups for Accountant.
|
||||||
|
-
|
||||||
|
!record {model: res.users, id: res_users_account_user}:
|
||||||
|
groups_id:
|
||||||
|
- account.group_account_user
|
||||||
|
- base.group_partner_manager
|
||||||
|
-
|
||||||
|
Create a user as 'Financial Manager'
|
||||||
|
-
|
||||||
|
!record {model: res.users, id: res_users_account_manager, view: False}:
|
||||||
|
company_id: base.main_company
|
||||||
|
name: Financial Manager
|
||||||
|
login: fm
|
||||||
|
password: fm
|
||||||
|
email: accountmanager@yourcompany.com
|
||||||
|
-
|
||||||
|
I added groups for Financial Manager.
|
||||||
|
-
|
||||||
|
!record {model: res.users, id: res_users_account_manager}:
|
||||||
|
groups_id:
|
||||||
|
- account.group_account_manager
|
||||||
|
- base.group_partner_manager
|
|
@ -1,3 +1,8 @@
|
||||||
|
-
|
||||||
|
Test validate account move with user who is accountant which have its rights.'
|
||||||
|
-
|
||||||
|
!context
|
||||||
|
uid: 'res_users_account_user'
|
||||||
-
|
-
|
||||||
In order to test the account move lines in OpenERP, I create account move
|
In order to test the account move lines in OpenERP, I create account move
|
||||||
-
|
-
|
||||||
|
|
|
@ -62,6 +62,7 @@ class accounting_report(osv.osv_memory):
|
||||||
result['fiscalyear'] = 'fiscalyear_id_cmp' in data['form'] and data['form']['fiscalyear_id_cmp'] or False
|
result['fiscalyear'] = 'fiscalyear_id_cmp' in data['form'] and data['form']['fiscalyear_id_cmp'] or False
|
||||||
result['journal_ids'] = 'journal_ids' in data['form'] and data['form']['journal_ids'] or False
|
result['journal_ids'] = 'journal_ids' in data['form'] and data['form']['journal_ids'] or False
|
||||||
result['chart_account_id'] = 'chart_account_id' in data['form'] and data['form']['chart_account_id'] or False
|
result['chart_account_id'] = 'chart_account_id' in data['form'] and data['form']['chart_account_id'] or False
|
||||||
|
result['state'] = 'target_move' in data['form'] and data['form']['target_move'] or ''
|
||||||
if data['form']['filter_cmp'] == 'filter_date':
|
if data['form']['filter_cmp'] == 'filter_date':
|
||||||
result['date_from'] = data['form']['date_from_cmp']
|
result['date_from'] = data['form']['date_from_cmp']
|
||||||
result['date_to'] = data['form']['date_to_cmp']
|
result['date_to'] = data['form']['date_to_cmp']
|
||||||
|
@ -86,7 +87,7 @@ class accounting_report(osv.osv_memory):
|
||||||
return res
|
return res
|
||||||
|
|
||||||
def _print_report(self, cr, uid, ids, data, context=None):
|
def _print_report(self, cr, uid, ids, data, context=None):
|
||||||
data['form'].update(self.read(cr, uid, ids, ['date_from_cmp', 'debit_credit', 'date_to_cmp', 'fiscalyear_id_cmp', 'period_from_cmp', 'period_to_cmp', 'filter_cmp', 'account_report_id', 'enable_filter', 'label_filter'], context=context)[0])
|
data['form'].update(self.read(cr, uid, ids, ['date_from_cmp', 'debit_credit', 'date_to_cmp', 'fiscalyear_id_cmp', 'period_from_cmp', 'period_to_cmp', 'filter_cmp', 'account_report_id', 'enable_filter', 'label_filter','target_move'], context=context)[0])
|
||||||
return {
|
return {
|
||||||
'type': 'ir.actions.report.xml',
|
'type': 'ir.actions.report.xml',
|
||||||
'report_name': 'account.financial.report',
|
'report_name': 'account.financial.report',
|
||||||
|
|
|
@ -157,8 +157,8 @@ class account_invoice_refund(osv.osv_memory):
|
||||||
for line in movelines:
|
for line in movelines:
|
||||||
if line.account_id.id == inv.account_id.id:
|
if line.account_id.id == inv.account_id.id:
|
||||||
to_reconcile_ids[line.account_id.id] = [line.id]
|
to_reconcile_ids[line.account_id.id] = [line.id]
|
||||||
if type(line.reconcile_id) != osv.orm.browse_null:
|
if line.reconcile_id:
|
||||||
reconcile_obj.unlink(cr, uid, line.reconcile_id.id)
|
line.reconcile_id.unlink()
|
||||||
inv_obj.signal_invoice_open(cr, uid, [refund.id])
|
inv_obj.signal_invoice_open(cr, uid, [refund.id])
|
||||||
refund = inv_obj.browse(cr, uid, refund_id[0], context=context)
|
refund = inv_obj.browse(cr, uid, refund_id[0], context=context)
|
||||||
for tmpline in refund.move_id.line_id:
|
for tmpline in refund.move_id.line_id:
|
||||||
|
|
|
@ -11,7 +11,8 @@
|
||||||
<separator string="Aged Partner Balance"/>
|
<separator string="Aged Partner Balance"/>
|
||||||
<label string="Aged Partner Balance is a more detailed report of your receivables by intervals. When opening that report, OpenERP asks for the name of the company, the fiscal period and the size of the interval to be analyzed (in days). OpenERP then calculates a table of credit balance by period. So if you request an interval of 30 days OpenERP generates an analysis of creditors for the past month, past two months, and so on. "/>
|
<label string="Aged Partner Balance is a more detailed report of your receivables by intervals. When opening that report, OpenERP asks for the name of the company, the fiscal period and the size of the interval to be analyzed (in days). OpenERP then calculates a table of credit balance by period. So if you request an interval of 30 days OpenERP generates an analysis of creditors for the past month, past two months, and so on. "/>
|
||||||
<group col="4">
|
<group col="4">
|
||||||
<field name="chart_account_id" widget='selection'/>
|
<field name="chart_account_id" widget='selection' on_change="onchange_chart_id(chart_account_id, context)"/>
|
||||||
|
<field name="fiscalyear_id" invisible="1"/>
|
||||||
<newline/>
|
<newline/>
|
||||||
<field name="date_from"/>
|
<field name="date_from"/>
|
||||||
<field name="period_length"/>
|
<field name="period_length"/>
|
||||||
|
|
|
@ -34,7 +34,10 @@ class account_common_report(osv.osv_memory):
|
||||||
res = {}
|
res = {}
|
||||||
if chart_account_id:
|
if chart_account_id:
|
||||||
company_id = self.pool.get('account.account').browse(cr, uid, chart_account_id, context=context).company_id.id
|
company_id = self.pool.get('account.account').browse(cr, uid, chart_account_id, context=context).company_id.id
|
||||||
res['value'] = {'company_id': company_id}
|
now = time.strftime('%Y-%m-%d')
|
||||||
|
domain = [('company_id', '=', company_id), ('date_start', '<', now), ('date_stop', '>', now)]
|
||||||
|
fiscalyears = self.pool.get('account.fiscalyear').search(cr, uid, domain, limit=1)
|
||||||
|
res['value'] = {'company_id': company_id, 'fiscalyear_id': fiscalyears and fiscalyears[0] or False}
|
||||||
return res
|
return res
|
||||||
|
|
||||||
_columns = {
|
_columns = {
|
||||||
|
@ -124,10 +127,11 @@ class account_common_report(osv.osv_memory):
|
||||||
now = time.strftime('%Y-%m-%d')
|
now = time.strftime('%Y-%m-%d')
|
||||||
company_id = False
|
company_id = False
|
||||||
ids = context.get('active_ids', [])
|
ids = context.get('active_ids', [])
|
||||||
domain = [('date_start', '<', now), ('date_stop', '>', now)]
|
|
||||||
if ids and context.get('active_model') == 'account.account':
|
if ids and context.get('active_model') == 'account.account':
|
||||||
company_id = self.pool.get('account.account').browse(cr, uid, ids[0], context=context).company_id.id
|
company_id = self.pool.get('account.account').browse(cr, uid, ids[0], context=context).company_id.id
|
||||||
domain += [('company_id', '=', company_id)]
|
else: # use current company id
|
||||||
|
company_id = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.id
|
||||||
|
domain = [('company_id', '=', company_id), ('date_start', '<', now), ('date_stop', '>', now)]
|
||||||
fiscalyears = self.pool.get('account.fiscalyear').search(cr, uid, domain, limit=1)
|
fiscalyears = self.pool.get('account.fiscalyear').search(cr, uid, domain, limit=1)
|
||||||
return fiscalyears and fiscalyears[0] or False
|
return fiscalyears and fiscalyears[0] or False
|
||||||
|
|
||||||
|
@ -150,6 +154,7 @@ class account_common_report(osv.osv_memory):
|
||||||
result['fiscalyear'] = 'fiscalyear_id' in data['form'] and data['form']['fiscalyear_id'] or False
|
result['fiscalyear'] = 'fiscalyear_id' in data['form'] and data['form']['fiscalyear_id'] or False
|
||||||
result['journal_ids'] = 'journal_ids' in data['form'] and data['form']['journal_ids'] or False
|
result['journal_ids'] = 'journal_ids' in data['form'] and data['form']['journal_ids'] or False
|
||||||
result['chart_account_id'] = 'chart_account_id' in data['form'] and data['form']['chart_account_id'] or False
|
result['chart_account_id'] = 'chart_account_id' in data['form'] and data['form']['chart_account_id'] or False
|
||||||
|
result['state'] = 'target_move' in data['form'] and data['form']['target_move'] or ''
|
||||||
if data['form']['filter'] == 'filter_date':
|
if data['form']['filter'] == 'filter_date':
|
||||||
result['date_from'] = data['form']['date_from']
|
result['date_from'] = data['form']['date_from']
|
||||||
result['date_to'] = data['form']['date_to']
|
result['date_to'] = data['form']['date_to']
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue