[MERGE] Merged with main addons

bzr revid: tde@openerp.com-20120214130700-ednaydgc1my2ktw5
This commit is contained in:
Thibault Delavallée 2012-02-14 14:07:00 +01:00
commit 4da82cdfc9
5315 changed files with 625968 additions and 338825 deletions

View File

@ -661,7 +661,7 @@ class account_account(osv.osv):
# Allow the write if the value is the same # Allow the write if the value is the same
for i in [i['company_id'][0] for i in self.read(cr,uid,ids,['company_id'])]: for i in [i['company_id'][0] for i in self.read(cr,uid,ids,['company_id'])]:
if vals['company_id']!=i: if vals['company_id']!=i:
raise osv.except_osv(_('Warning !'), _('You cannot modify the company as its related to existing journal items.')) raise osv.except_osv(_('Warning !'), _('You cannot change the owner company of an account that already contains journal items.'))
if 'active' in vals and not vals['active']: if 'active' in vals and not vals['active']:
self._check_moves(cr, uid, ids, "write", context=context) self._check_moves(cr, uid, ids, "write", context=context)
if 'type' in vals.keys(): if 'type' in vals.keys():
@ -933,11 +933,12 @@ class account_fiscalyear(osv.osv):
if de.strftime('%Y-%m-%d') > fy.date_stop: if de.strftime('%Y-%m-%d') > fy.date_stop:
de = datetime.strptime(fy.date_stop, '%Y-%m-%d') de = datetime.strptime(fy.date_stop, '%Y-%m-%d')
context_today = fields.date.context_today(self,cr,uid,context=context)
period_obj.create(cr, uid, { period_obj.create(cr, uid, {
'name': ds.strftime('%m/%Y'), 'name': ds.strftime('%m/%Y'),
'code': ds.strftime('%m/%Y'), 'code': ds.strftime('%m/%Y'),
'date_start': ds.strftime('%Y-%m-%d'), 'date_start': context_today,
'date_stop': de.strftime('%Y-%m-%d'), 'date_stop': context_today,
'fiscalyear_id': fy.id, 'fiscalyear_id': fy.id,
}) })
ds = ds + relativedelta(months=interval) ds = ds + relativedelta(months=interval)
@ -950,7 +951,7 @@ class account_fiscalyear(osv.osv):
def finds(self, cr, uid, dt=None, exception=True, context=None): def finds(self, cr, uid, dt=None, exception=True, context=None):
if context is None: context = {} if context is None: context = {}
if not dt: if not dt:
dt = time.strftime('%Y-%m-%d') dt = fields.date.context_today(self,cr,uid,context=context)
args = [('date_start', '<=' ,dt), ('date_stop', '>=', dt)] args = [('date_start', '<=' ,dt), ('date_stop', '>=', dt)]
if context.get('company_id', False): if context.get('company_id', False):
args.append(('company_id', '=', context['company_id'])) args.append(('company_id', '=', context['company_id']))
@ -1039,7 +1040,7 @@ class account_period(osv.osv):
def find(self, cr, uid, dt=None, context=None): def find(self, cr, uid, dt=None, context=None):
if context is None: context = {} if context is None: context = {}
if not dt: if not dt:
dt = time.strftime('%Y-%m-%d') dt = fields.date.context_today(self,cr,uid,context=context)
#CHECKME: shouldn't we check the state of the period? #CHECKME: shouldn't we check the state of the period?
args = [('date_start', '<=' ,dt), ('date_stop', '>=', dt)] args = [('date_start', '<=' ,dt), ('date_stop', '>=', dt)]
if context.get('company_id', False): if context.get('company_id', False):
@ -1078,6 +1079,8 @@ class account_period(osv.osv):
return super(account_period, self).write(cr, uid, ids, vals, context=context) return super(account_period, self).write(cr, uid, ids, vals, context=context)
def build_ctx_periods(self, cr, uid, period_from_id, period_to_id): def build_ctx_periods(self, cr, uid, period_from_id, period_to_id):
if period_from_id == period_to_id:
return period_from_id
period_from = self.browse(cr, uid, period_from_id) period_from = self.browse(cr, uid, period_from_id)
period_date_start = period_from.date_start period_date_start = period_from.date_start
company1_id = period_from.company_id.id company1_id = period_from.company_id.id
@ -1271,12 +1274,14 @@ class account_move(osv.osv):
'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'),
'company_id': fields.related('journal_id','company_id',type='many2one',relation='res.company',string='Company', store=True, readonly=True), 'company_id': fields.related('journal_id','company_id',type='many2one',relation='res.company',string='Company', store=True, readonly=True),
'balance': fields.float('balance', digits_compute=dp.get_precision('Account'), help="This is a field only used for internal purpose and shouldn't be displayed"),
} }
_defaults = { _defaults = {
'name': '/', 'name': '/',
'state': 'draft', 'state': 'draft',
'period_id': _get_period, 'period_id': _get_period,
'date': lambda *a: time.strftime('%Y-%m-%d'), 'date': fields.date.context_today,
'company_id': lambda self, cr, uid, c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id, 'company_id': lambda self, cr, uid, c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id,
} }
@ -1341,7 +1346,8 @@ class account_move(osv.osv):
if not top_common: if not top_common:
top_common = top_account top_common = top_account
elif top_account.id != top_common.id: elif top_account.id != top_common.id:
raise osv.except_osv(_('Error !'), _('You cannot validate a journal entry because account "%s" does not belong to chart of accounts "%s"!' % (account.name, top_common.name))) raise osv.except_osv(_('Error !'),
_('You cannot validate this journal entry because account "%s" does not belong to chart of accounts "%s"!') % (account.name, top_common.name))
return self.post(cursor, user, ids, context=context) return self.post(cursor, user, ids, context=context)
def button_cancel(self, cr, uid, ids, context=None): def button_cancel(self, cr, uid, ids, context=None):
@ -1354,6 +1360,13 @@ class account_move(osv.osv):
'WHERE id IN %s', ('draft', tuple(ids),)) 'WHERE id IN %s', ('draft', tuple(ids),))
return True return True
def onchange_line_id(self, cr, uid, ids, line_ids, context=None):
balance = 0.0
for line in line_ids:
if line[2]:
balance += (line[2]['debit'] or 0.00)- (line[2]['credit'] or 0.00)
return {'value': {'balance': balance}}
def write(self, cr, uid, ids, vals, context=None): def write(self, cr, uid, ids, vals, context=None):
if context is None: if context is None:
context = {} context = {}
@ -2257,7 +2270,7 @@ class account_model(osv.osv):
'ref': entry['name'], 'ref': entry['name'],
'period_id': period_id, 'period_id': period_id,
'journal_id': model.journal_id.id, 'journal_id': model.journal_id.id,
'date': context.get('date',time.strftime('%Y-%m-%d')) 'date': context.get('date', fields.date.context_today(self,cr,uid,context=context))
}) })
move_ids.append(move_id) move_ids.append(move_id)
for line in model.lines_id: for line in model.lines_id:
@ -2294,7 +2307,7 @@ class account_model(osv.osv):
'account_id': line.account_id.id, 'account_id': line.account_id.id,
'move_id': move_id, 'move_id': move_id,
'partner_id': line.partner_id.id, 'partner_id': line.partner_id.id,
'date': context.get('date',time.strftime('%Y-%m-%d')), 'date': context.get('date', fields.date.context_today(self,cr,uid,context=context)),
'date_maturity': date_maturity 'date_maturity': date_maturity
}) })
account_move_line_obj.create(cr, uid, val, context=ctx) account_move_line_obj.create(cr, uid, val, context=ctx)
@ -2347,7 +2360,7 @@ class account_subscription(osv.osv):
'lines_id': fields.one2many('account.subscription.line', 'subscription_id', 'Subscription Lines') 'lines_id': fields.one2many('account.subscription.line', 'subscription_id', 'Subscription Lines')
} }
_defaults = { _defaults = {
'date_start': lambda *a: time.strftime('%Y-%m-%d'), 'date_start': fields.date.context_today,
'period_type': 'month', 'period_type': 'month',
'period_total': 12, 'period_total': 12,
'period_nbr': 1, 'period_nbr': 1,

View File

@ -19,8 +19,6 @@
# #
############################################################################## ##############################################################################
import time
from osv import fields from osv import fields
from osv import osv from osv import osv
from tools.translate import _ from tools.translate import _
@ -41,7 +39,7 @@ class account_analytic_line(osv.osv):
} }
_defaults = { _defaults = {
'date': lambda *a: time.strftime('%Y-%m-%d'), 'date': fields.date.context_today,
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'account.analytic.line', context=c), 'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'account.analytic.line', context=c),
} }
_order = 'date desc' _order = 'date desc'

View File

@ -163,7 +163,7 @@ class account_bank_statement(osv.osv):
_defaults = { _defaults = {
'name': "/", 'name': "/",
'date': lambda *a: time.strftime('%Y-%m-%d'), 'date': fields.date.context_today,
'state': 'draft', 'state': 'draft',
'journal_id': _default_journal_id, 'journal_id': _default_journal_id,
'period_id': _get_period, 'period_id': _get_period,
@ -483,7 +483,7 @@ class account_bank_statement_line(osv.osv):
} }
_defaults = { _defaults = {
'name': lambda self,cr,uid,context={}: self.pool.get('ir.sequence').get(cr, uid, 'account.bank.statement.line'), 'name': lambda self,cr,uid,context={}: self.pool.get('ir.sequence').get(cr, uid, 'account.bank.statement.line'),
'date': lambda self,cr,uid,context={}: context.get('date', time.strftime('%Y-%m-%d')), 'date': lambda self,cr,uid,context={}: context.get('date', fields.date.context_today(self,cr,uid,context=context)),
'type': 'general', 'type': 'general',
} }

View File

@ -55,39 +55,37 @@ class account_financial_report(osv.osv):
res += self._get_children_by_order(cr, uid, ids2, context=context) res += self._get_children_by_order(cr, uid, ids2, context=context)
return res return res
def _get_balance(self, cr, uid, ids, name, args, context=None): def _get_balance(self, cr, uid, ids, field_names, args, context=None):
account_obj = self.pool.get('account.account') account_obj = self.pool.get('account.account')
res = {} res = {}
res_all = {}
for report in self.browse(cr, uid, ids, context=context): for report in self.browse(cr, uid, ids, context=context):
balance = 0.0 if report.id in res:
if report.id in res_all: continue
balance = res_all[report.id] res[report.id] = dict((fn, 0.0) for fn in field_names)
elif report.type == 'accounts': if report.type == 'accounts':
# it's the sum of balance of the linked accounts # it's the sum of the linked accounts
for a in report.account_ids: for a in report.account_ids:
balance += a.balance for field in field_names:
res[report.id][field] += getattr(a, field)
elif report.type == 'account_type': elif report.type == 'account_type':
# it's the sum of balance of the leaf accounts with such an account type # it's the sum the leaf accounts with such an account type
report_types = [x.id for x in report.account_type_ids] report_types = [x.id for x in report.account_type_ids]
account_ids = account_obj.search(cr, uid, [('user_type','in', report_types), ('type','!=','view')], context=context) account_ids = account_obj.search(cr, uid, [('user_type','in', report_types), ('type','!=','view')], context=context)
for a in account_obj.browse(cr, uid, account_ids, context=context): for a in account_obj.browse(cr, uid, account_ids, context=context):
balance += a.balance for field in field_names:
res[report.id][field] += getattr(a, field)
elif report.type == 'account_report' and report.account_report_id: elif report.type == 'account_report' and report.account_report_id:
# it's the amount of the linked report # it's the amount of the linked report
res2 = self._get_balance(cr, uid, [report.account_report_id.id], 'balance', False, context=context) res2 = self._get_balance(cr, uid, [report.account_report_id.id], field_names, False, context=context)
res_all.update(res2)
for key, value in res2.items(): for key, value in res2.items():
balance += value for field in field_names:
res[report.id][field] += value[field]
elif report.type == 'sum': elif report.type == 'sum':
# it's the sum of balance of the children of this account.report # it's the sum of the children of this account.report
#for child in report.children_ids: res2 = self._get_balance(cr, uid, [rec.id for rec in report.children_ids], field_names, False, context=context)
res2 = self._get_balance(cr, uid, [rec.id for rec in report.children_ids], 'balance', False, context=context)
res_all.update(res2)
for key, value in res2.items(): for key, value in res2.items():
balance += value for field in field_names:
res[report.id] = balance res[report.id][field] += value[field]
res_all[report.id] = balance
return res return res
_columns = { _columns = {
@ -95,7 +93,9 @@ class account_financial_report(osv.osv):
'parent_id': fields.many2one('account.financial.report', 'Parent'), 'parent_id': fields.many2one('account.financial.report', 'Parent'),
'children_ids': fields.one2many('account.financial.report', 'parent_id', 'Account Report'), 'children_ids': fields.one2many('account.financial.report', 'parent_id', 'Account Report'),
'sequence': fields.integer('Sequence'), 'sequence': fields.integer('Sequence'),
'balance': fields.function(_get_balance, 'Balance'), 'balance': fields.function(_get_balance, 'Balance', multi='balance'),
'debit': fields.function(_get_balance, 'Debit', multi='balance'),
'credit': fields.function(_get_balance, 'Credit', multi="balance"),
'level': fields.function(_get_level, string='Level', store=True, type='integer'), 'level': fields.function(_get_level, string='Level', store=True, type='integer'),
'type': fields.selection([ 'type': fields.selection([
('sum','View'), ('sum','View'),

View File

@ -289,7 +289,7 @@ class account_invoice(osv.osv):
'user_id': lambda s, cr, u, c: u, 'user_id': lambda s, cr, u, c: u,
} }
_sql_constraints = [ _sql_constraints = [
('number_uniq', 'unique(number, company_id)', 'Invoice Number must be unique per Company!'), ('number_uniq', 'unique(number, company_id, journal_id, type)', 'Invoice Number must be unique per Company!'),
] ]
def fields_view_get(self, cr, uid, view_id=None, view_type=False, context=None, toolbar=False, submenu=False): def fields_view_get(self, cr, uid, view_id=None, view_type=False, context=None, toolbar=False, submenu=False):
@ -349,7 +349,7 @@ class account_invoice(osv.osv):
context = {} context = {}
res = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account', 'invoice_form') res = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account', 'invoice_form')
view_id = res and res[1] or False view_id = res and res[1] or False
context.update({'view_id': view_id}) context['view_id'] = view_id
return context return context
def create(self, cr, uid, vals, context=None): def create(self, cr, uid, vals, context=None):
@ -814,7 +814,7 @@ class account_invoice(osv.osv):
ctx = context.copy() ctx = context.copy()
ctx.update({'lang': inv.partner_id.lang}) ctx.update({'lang': inv.partner_id.lang})
if not inv.date_invoice: if not inv.date_invoice:
self.write(cr, uid, [inv.id], {'date_invoice':time.strftime('%Y-%m-%d')}, context=ctx) self.write(cr, uid, [inv.id], {'date_invoice': fields.date.context_today(self,cr,uid,context=context)}, context=ctx)
company_currency = inv.company_id.currency_id.id company_currency = inv.company_id.currency_id.id
# create the analytical lines # create the analytical lines
# one move line per invoice line # one move line per invoice line

View File

@ -228,13 +228,8 @@ class account_move_line(osv.osv):
# Compute simple values # Compute simple values
data = super(account_move_line, self).default_get(cr, uid, fields, context=context) data = super(account_move_line, self).default_get(cr, uid, fields, context=context)
# Starts: Manual entry from account.move form # Starts: Manual entry from account.move form
if context.get('lines',[]): if context.get('lines'):
total_new = 0.00 total_new = context.get('balance', 0.00)
for i in context['lines']:
if i[2]:
total_new += (i[2]['debit'] or 0.00)- (i[2]['credit'] or 0.00)
for item in i[2]:
data[item] = i[2][item]
if context['journal']: if context['journal']:
journal_data = journal_obj.browse(cr, uid, context['journal'], context=context) journal_data = journal_obj.browse(cr, uid, context['journal'], context=context)
if journal_data.type == 'purchase': if journal_data.type == 'purchase':
@ -555,7 +550,7 @@ class account_move_line(osv.osv):
'blocked': False, 'blocked': False,
'centralisation': 'normal', 'centralisation': 'normal',
'date': _get_date, 'date': _get_date,
'date_created': lambda *a: time.strftime('%Y-%m-%d'), 'date_created': fields.date.context_today,
'state': 'draft', 'state': 'draft',
'currency_id': _get_currency, 'currency_id': _get_currency,
'journal_id': lambda self, cr, uid, c: c.get('journal_id', False), 'journal_id': lambda self, cr, uid, c: c.get('journal_id', False),
@ -826,13 +821,9 @@ class account_move_line(osv.osv):
(tuple(ids), )) (tuple(ids), ))
r = cr.fetchall() r = cr.fetchall()
#TODO: move this check to a constraint in the account_move_reconcile object #TODO: move this check to a constraint in the account_move_reconcile object
if (len(r) != 1) and not context.get('fy_closing', False):
raise osv.except_osv(_('Error'), _('Entries are not of the same account or already reconciled ! '))
if not unrec_lines: if not unrec_lines:
raise osv.except_osv(_('Error'), _('Entry is already reconciled')) raise osv.except_osv(_('Error'), _('Entry is already reconciled'))
account = account_obj.browse(cr, uid, account_id, context=context) account = account_obj.browse(cr, uid, account_id, context=context)
if not context.get('fy_closing', False) and not account.reconcile:
raise osv.except_osv(_('Error'), _('This account does not allow reconciliation! You should update the account definition to change this.'))
if r[0][1] != None: if r[0][1] != None:
raise osv.except_osv(_('Error'), _('Some entries are already reconciled !')) raise osv.except_osv(_('Error'), _('Some entries are already reconciled !'))

View File

@ -524,8 +524,9 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<search string="Search Bank Statements"> <search string="Search Bank Statements">
<group> <group>
<filter string="Draft" domain="[('state','=','draft')]" icon="terp-document-new"/> <filter string="Draft" name="state_draft" domain="[('state','=','draft')]" icon="terp-document-new"/>
<filter string="Confirmed" domain="[('state','=','confirm')]" icon="terp-camera_test"/> <filter string="Open" name="state_open" domain="[('state','=','open')]" icon="terp-check"/>
<filter string="Confirmed" name="state_confirmed" domain="[('state','=','confirm')]" icon="terp-camera_test"/>
<separator orientation="vertical"/> <separator orientation="vertical"/>
<field name="date"/> <field name="date"/>
<field name="name"/> <field name="name"/>
@ -1275,14 +1276,6 @@
groups="group_account_user" groups="group_account_user"
/> />
<record id="action_move_line_select" model="ir.actions.act_window">
<field name="name">Journal Items</field>
<field name="res_model">account.move.line</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_account_move_line_filter"/>
</record>
<record id="action_view_move_line" model="ir.actions.act_window"> <record id="action_view_move_line" model="ir.actions.act_window">
<field name="name">Lines to reconcile</field> <field name="name">Lines to reconcile</field>
<field name="res_model">account.move.line</field> <field name="res_model">account.move.line</field>
@ -1301,7 +1294,6 @@
<field name="view_mode">tree,form</field> <field name="view_mode">tree,form</field>
<field name="view_id" ref="view_move_line_tree"/> <field name="view_id" ref="view_move_line_tree"/>
<field name="search_view_id" ref="view_account_move_line_filter"/> <field name="search_view_id" ref="view_account_move_line_filter"/>
<field name="domain">[]</field>
<field name="context">{'search_default_account_id': [active_id]}</field> <field name="context">{'search_default_account_id': [active_id]}</field>
</record> </record>
@ -1364,7 +1356,10 @@
</group> </group>
<notebook colspan="4"> <notebook colspan="4">
<page string="Journal Items"> <page string="Journal Items">
<field colspan="4" name="line_id" nolabel="1" height="250" widget="one2many_list" context="{'lines':line_id ,'journal':journal_id }"> <field name="balance" invisible="1"/>
<field colspan="4" name="line_id" nolabel="1" height="250" widget="one2many_list"
on_change="onchange_line_id(line_id)"
context="{'balance': balance , 'journal': journal_id }">
<form string="Journal Item"> <form string="Journal Item">
<group col="6" colspan="4"> <group col="6" colspan="4">
<field name="name"/> <field name="name"/>
@ -2490,11 +2485,20 @@
<field name="model_id" ref="base.model_ir_actions_todo"/> <field name="model_id" ref="base.model_ir_actions_todo"/>
<field eval="5" name="sequence"/> <field eval="5" name="sequence"/>
<field name="code"> <field name="code">
act_window_ids = pool.get('ir.actions.act_window').search(cr, uid,[('name', 'in', ('Accounting Chart Configuration', 'Generate Chart of Accounts from a Chart Template'))], context=context) # check for unconfigured companies
account_installer_obj = self.pool.get('account.installer')
account_installer_obj.check_unconfigured_cmp(cr, uid, context=context)
action_ids = []
# fetch the act_window actions related to chart of account configuration
# we use ir.actions.todo to enable the possibility for other modules to insert their own
# wizards during the configuration process
ref = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account', 'action_wizard_multi_chart')
if ref:
action_ids += [ref[1]]
ref = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account', 'action_account_configuration_installer') ref = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account', 'action_account_configuration_installer')
if ref: if ref:
act_window_ids += [ref[1]] action_ids += [ref[1]]
todo_ids = pool.get('ir.actions.todo').search(cr, uid, [('action_id', 'in', act_window_ids)], context=context) todo_ids = pool.get('ir.actions.todo').search(cr, uid, [('action_id', 'in', action_ids)], context=context)
pool.get('ir.actions.todo').write(cr, uid, todo_ids, {'state':'open'}, context=context) pool.get('ir.actions.todo').write(cr, uid, todo_ids, {'state':'open'}, context=context)
action = pool.get('res.config').next(cr, uid, [], context) action = pool.get('res.config').next(cr, uid, [], context)
</field> </field>

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

13350
addons/account/i18n/es_CR.po Normal file

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

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

View File

@ -79,14 +79,25 @@ class account_installer(osv.osv_memory):
'charts': 'configurable' 'charts': 'configurable'
} }
def get_unconfigured_cmp(self, cr, uid, context=None):
""" get the list of companies that have not been configured yet
but don't care about the demo chart of accounts """
cmp_select = []
company_ids = self.pool.get('res.company').search(cr, uid, [], context=context)
cr.execute("SELECT company_id FROM account_account WHERE active = 't' AND account_account.parent_id IS NULL AND name != %s", ("Chart For Automated Tests",))
configured_cmp = [r[0] for r in cr.fetchall()]
return list(set(company_ids)-set(configured_cmp))
def check_unconfigured_cmp(self, cr, uid, context=None):
""" check if there are still unconfigured companies """
if not self.get_unconfigured_cmp(cr, uid, context=context):
raise osv.except_osv(_('No unconfigured company !'), _("There are currently no company without chart of account. The wizard will therefore not be executed."))
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):
res = super(account_installer, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False) res = super(account_installer, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False)
cmp_select = [] cmp_select = []
company_ids = self.pool.get('res.company').search(cr, uid, [], context=context) # display in the widget selection only the companies that haven't been configured yet
#display in the widget selection of companies, only the companies that haven't been configured yet (but don't care about the demo chart of accounts) unconfigured_cmp = self.get_unconfigured_cmp(cr, uid, context=context)
cr.execute("SELECT company_id FROM account_account WHERE active = 't' AND account_account.parent_id IS NULL AND name != %s", ("Chart For Automated Tests",))
configured_cmp = [r[0] for r in cr.fetchall()]
unconfigured_cmp = list(set(company_ids)-set(configured_cmp))
for field in res['fields']: for field in res['fields']:
if field == 'company_id': if field == 'company_id':
res['fields'][field]['domain'] = [('id','in',unconfigured_cmp)] res['fields'][field]['domain'] = [('id','in',unconfigured_cmp)]

View File

@ -13,6 +13,7 @@
<field name="code" groups="base.group_extended"/> <field name="code" groups="base.group_extended"/>
<field name="quantity"/> <field name="quantity"/>
<field name="date"/> <field name="date"/>
<field name="date_start" invisible="1"/>
<field name="user_id" invisible="1"/> <field name="user_id" invisible="1"/>
<field name="parent_id" invisible="1"/> <field name="parent_id" invisible="1"/>
<field name="partner_id" invisible="1"/> <field name="partner_id" invisible="1"/>

View File

@ -61,6 +61,9 @@ class report_account_common(report_sxw.rml_parse, common_report_header):
'level': bool(report.style_overwrite) and report.style_overwrite or report.level, 'level': bool(report.style_overwrite) and report.style_overwrite or report.level,
'account_type': report.type =='sum' and 'view' or False, #used to underline the financial report balances 'account_type': report.type =='sum' and 'view' or False, #used to underline the financial report balances
} }
if data['form']['debit_credit']:
vals['debit'] = report.debit
vals['credit'] = report.credit
if data['form']['enable_filter']: if data['form']['enable_filter']:
vals['balance_cmp'] = self.pool.get('account.financial.report').browse(self.cr, self.uid, report.id, context=data['form']['comparison_context']).balance vals['balance_cmp'] = self.pool.get('account.financial.report').browse(self.cr, self.uid, report.id, context=data['form']['comparison_context']).balance
lines.append(vals) lines.append(vals)
@ -87,6 +90,10 @@ class report_account_common(report_sxw.rml_parse, common_report_header):
'level': report.display_detail == 'detail_with_hierarchy' and min(account.level + 1,6) or 6, #account.level + 1 'level': report.display_detail == 'detail_with_hierarchy' and min(account.level + 1,6) or 6, #account.level + 1
'account_type': account.type, 'account_type': account.type,
} }
if data['form']['debit_credit']:
vals['debit'] = account.debit
vals['credit'] = account.credit
if not currency_obj.is_zero(self.cr, self.uid, account.company_id.currency_id, vals['balance']): if not currency_obj.is_zero(self.cr, self.uid, account.company_id.currency_id, vals['balance']):
flag = True flag = True
if data['form']['enable_filter']: if data['form']['enable_filter']:

View File

@ -143,7 +143,7 @@
<blockTableStyle id="Table1"> <blockTableStyle id="Table1">
<blockTopPadding start="0,0" stop="-1,0" length="10"/> <blockTopPadding start="0,0" stop="-1,0" length="10"/>
<blockAlignment value="LEFT"/> <blockAlignment value="LEFT"/>
<lineStyle kind="LINEBELOW" colorName="#666666" start="1,1" stop="1,1"/> <lineStyle kind="LINEBELOW" colorName="#666666" start="1,1" stop="-1,1"/>
</blockTableStyle> </blockTableStyle>
<blockTableStyle id="Table2"> <blockTableStyle id="Table2">
<blockValign value="TOP"/> <blockValign value="TOP"/>
@ -205,8 +205,40 @@
<para style="Standard"> <para style="Standard">
<font color="white"> </font> <font color="white"> </font>
</para> </para>
<!-- table with debit/credit displayed -->
<blockTable colWidths="210.0,90.0,90.0,100.0" style="Table_Account_Line_Title">
[[ data['form']['debit_credit'] == 1 or removeParentNode('blockTable') ]]
<tr>
<td>
<para style="terp_default_Bold_9">Name</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Debit</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Credit</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Balance</para>
</td>
</tr>
<tr style="Table3">
[[ repeatIn(get_lines(data), 'a') ]]
[[ (a.get('level') &lt;&gt; 0) or removeParentNode('tr') ]]
[[ setTag('tr','tr',{'style': 'Table'+str(min(3,'level' in a and a.get('level') or 1))}) ]]
<td><para style="terp_level_3_name">[[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a.get('level')))+'_name'}) ]][[ a.get('name') ]]</para></td>
<td><para style="terp_level_3_balance">[[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a.get('level')))+'_balance'}) ]][[ formatLang(a.get('debit',0.0), currency_obj = company.currency_id) ]]</para></td>
<td><para style="terp_level_3_balance">[[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a.get('level')))+'_balance'}) ]][[ formatLang(a.get('credit',0.0), currency_obj = company.currency_id) ]]</para></td>
<td>[[ (a.get('account_type') =='view' and a.get('level') &lt;&gt; 1) or removeParentNode('td') ]]
<para style="terp_level_3_balance"><u>[[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a.get('level')))+'_balance'}) ]][[ formatLang(a.get('balance'), currency_obj = company.currency_id) ]]</u></para></td>
<td>[[ (a.get('account_type') &lt;&gt;'view' or a.get('level') == 1) or removeParentNode('td') ]]
<para style="terp_level_3_balance">[[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a.get('level')))+'_balance'}) ]][[ formatLang(a.get('balance'), currency_obj = company.currency_id) ]]</para></td>
</tr>
</blockTable>
<!-- table with no comparison, no debit/credit displayed -->
<blockTable colWidths="390.0,100.0" style="Table_Account_Line_Title"> <blockTable colWidths="390.0,100.0" style="Table_Account_Line_Title">
[[ data['form']['enable_filter'] == 0 or removeParentNode('blockTable') ]] [[ (not data['form']['enable_filter'] and not data['form']['debit_credit']) or removeParentNode('blockTable') ]]
<tr> <tr>
<td> <td>
<para style="terp_default_Bold_9">Name</para> <para style="terp_default_Bold_9">Name</para>
@ -220,17 +252,19 @@
[[ (a.get('level') &lt;&gt; 0) or removeParentNode('tr') ]] [[ (a.get('level') &lt;&gt; 0) or removeParentNode('tr') ]]
[[ setTag('tr','tr',{'style': 'Table'+str(min(3,'level' in a and a.get('level') or 1))}) ]] [[ setTag('tr','tr',{'style': 'Table'+str(min(3,'level' in a and a.get('level') or 1))}) ]]
<td><para style="terp_level_3_name">[[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a.get('level')))+'_name'}) ]][[ a.get('name') ]]</para></td> <td><para style="terp_level_3_name">[[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a.get('level')))+'_name'}) ]][[ a.get('name') ]]</para></td>
<td>[[ a.get('account_type') =='view' or removeParentNode('td') ]] <td>[[ (a.get('account_type') =='view' and a.get('level') &lt;&gt; 1) or removeParentNode('td') ]]
<para style="terp_level_3_balance"><u>[[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a.get('level')))+'_balance'}) ]][[ formatLang(a.get('balance'), currency_obj = company.currency_id) ]]</u></para></td> <para style="terp_level_3_balance"><u>[[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a.get('level')))+'_balance'}) ]][[ formatLang(a.get('balance'), currency_obj = company.currency_id) ]]</u></para></td>
<td>[[ a.get('account_type') &lt;&gt;'view' or removeParentNode('td') ]] <td>[[ (a.get('account_type') &lt;&gt;'view' or a.get('level') == 1) or removeParentNode('td') ]]
<para style="terp_level_3_balance">[[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a.get('level')))+'_balance'}) ]][[ formatLang(a.get('balance'), currency_obj = company.currency_id) ]]</para></td> <para style="terp_level_3_balance">[[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a.get('level')))+'_balance'}) ]][[ formatLang(a.get('balance'), currency_obj = company.currency_id) ]]</para></td>
</tr> </tr>
</blockTable> </blockTable>
<para style="Standard"> <para style="Standard">
<font color="white"> </font> <font color="white"> </font>
</para> </para>
<!-- table with comparison -->
<blockTable colWidths="263.0,100.0,100" style="Table_Account_Line_Title"> <blockTable colWidths="263.0,100.0,100" style="Table_Account_Line_Title">
[[ data['form']['enable_filter'] == 1 or removeParentNode('blockTable') ]] [[ (data['form']['enable_filter'] == 1 and not data['form']['debit_credit']) or removeParentNode('blockTable') ]]
<tr> <tr>
<td> <td>
<para style="terp_default_Bold_9">Name</para> <para style="terp_default_Bold_9">Name</para>
@ -247,13 +281,13 @@
[[ (a.get('level') &lt;&gt; 0) or removeParentNode('tr') ]] [[ (a.get('level') &lt;&gt; 0) or removeParentNode('tr') ]]
[[ setTag('tr','tr',{'style': 'Table'+str(min(3,'level' in a and a.get('level') or 1))}) ]] [[ setTag('tr','tr',{'style': 'Table'+str(min(3,'level' in a and a.get('level') or 1))}) ]]
<td><para style="terp_level_3_name">[[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a.get('level')))+'_name'}) ]][[ a.get('name') ]]</para></td> <td><para style="terp_level_3_name">[[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a.get('level')))+'_name'}) ]][[ a.get('name') ]]</para></td>
<td>[[ a.get('account_type') =='view' or removeParentNode('td') ]] <td>[[ (a.get('account_type') =='view' and a.get('level') &lt;&gt; 1) or removeParentNode('td') ]]
<para style="terp_level_3_balance"><u>[[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a.get('level')))+'_balance'}) ]][[ formatLang(a.get('balance'), currency_obj = company.currency_id) ]]</u></para></td> <para style="terp_level_3_balance"><u>[[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a.get('level')))+'_balance'}) ]][[ formatLang(a.get('balance'), currency_obj = company.currency_id) ]]</u></para></td>
<td>[[ a.get('account_type') &lt;&gt;'view' or removeParentNode('td') ]] <td>[[ (a.get('account_type') &lt;&gt;'view' or a.get('level') == 1) or removeParentNode('td') ]]
<para style="terp_level_3_balance">[[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a.get('level')))+'_balance'}) ]][[ formatLang(a.get('balance'), currency_obj = company.currency_id) ]]</para></td> <para style="terp_level_3_balance">[[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a.get('level')))+'_balance'}) ]][[ formatLang(a.get('balance'), currency_obj = company.currency_id) ]]</para></td>
<td>[[ a.get('account_type') =='view' or removeParentNode('td') ]] <td>[[ (a.get('account_type') =='view' and a.get('level') &lt;&gt; 1) or removeParentNode('td') ]]
<para style="terp_level_3_balance"><u>[[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a.get('level')))+'_balance'}) ]][[ formatLang(a.get('balance_cmp'), currency_obj = company.currency_id) ]]</u></para></td> <para style="terp_level_3_balance"><u>[[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a.get('level')))+'_balance'}) ]][[ formatLang(a.get('balance_cmp'), currency_obj = company.currency_id) ]]</u></para></td>
<td>[[ a.get('account_type') &lt;&gt;'view' or removeParentNode('td') ]] <td>[[ (a.get('account_type') &lt;&gt;'view' or a.get('level') == 1) or removeParentNode('td') ]]
<para style="terp_level_3_balance">[[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a.get('level')))+'_balance'}) ]][[ formatLang(a.get('balance_cmp'), currency_obj = company.currency_id) ]]</para></td> <para style="terp_level_3_balance">[[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a.get('level')))+'_balance'}) ]][[ formatLang(a.get('balance_cmp'), currency_obj = company.currency_id) ]]</para></td>
</tr> </tr>
</blockTable> </blockTable>

View File

@ -211,7 +211,7 @@
</para> </para>
<para style="Standard"><font color="white">[[ set_last_move_id(False)]]</font></para> <para style="Standard"><font color="white">[[ set_last_move_id(False)]]</font></para>
<section> <section>
<para style="Standard"><font color="white">[[ display_currency(data) == False or removeParentNode('section') ]]</font></para> [[ display_currency(data) == False or removeParentNode('section') ]]
<blockTable rowHeights="0.55cm" colWidths="55.0,45.0,50.0,95.0,160.0,70.0,70.0" style="Table1"> <blockTable rowHeights="0.55cm" colWidths="55.0,45.0,50.0,95.0,160.0,70.0,70.0" style="Table1">
<tr> <tr>
<td><para style="P10a">Move</para></td> <td><para style="P10a">Move</para></td>
@ -257,7 +257,7 @@
</section> </section>
<section> <section>
<para style="Standard"><font color="white">[[ display_currency(data) or removeParentNode('section') ]]</font></para> [[ display_currency(data) or removeParentNode('section') ]]
<blockTable rowHeights="0.55cm" colWidths="55.0,45.0,50.0,70.0,130.0,70.0,70.0,70.0" style="Table1"> <blockTable rowHeights="0.55cm" colWidths="55.0,45.0,50.0,70.0,130.0,70.0,70.0,70.0" style="Table1">
<tr> <tr>
<td><para style="P10a">Move</para></td> <td><para style="P10a">Move</para></td>

View File

@ -211,8 +211,8 @@
</para> </para>
<para style="Standard"><font color="white">[[ set_last_move_id(False) ]]</font></para> <para style="Standard"><font color="white">[[ set_last_move_id(False) ]]</font></para>
<section> <section>
<para style="Standard"><font color="white">[[ display_currency(data) == False or removeParentNode('section') ]]</font></para> [[ display_currency(data) == False or removeParentNode('section') ]]
<blockTable rowHeights="0.55cm" colWidths="55.0,45.0,50.0,80.0,110.0,15.0,50.0,70.0,70.0" style="Table1"> <blockTable rowHeights="0.55cm" colWidths="55.0,45.0,50.0,60.0,110.0,15.0,70.0,70.0,70.0" style="Table1">
<tr> <tr>
<td><para style="P10a">Move</para></td> <td><para style="P10a">Move</para></td>
<td><para style="P10a">Date</para></td> <td><para style="P10a">Date</para></td>
@ -232,12 +232,12 @@
<td><para style="P8">[[ not check_last_move_id(line.move_id.id) and removeParentNode('blockTable') ]]</para></td> <td><para style="P8">[[ not check_last_move_id(line.move_id.id) and removeParentNode('blockTable') ]]</para></td>
</tr> </tr>
</blockTable> </blockTable>
<blockTable rowHeights="0.55cm" colWidths="55.0,45.0,50.0,80.0,110.0,15.0,50.0,70.0,70.0" style="Table_no_lines"> <blockTable rowHeights="0.55cm" colWidths="55.0,45.0,50.0,60.0,110.0,15.0,70.0,70.0,70.0" style="Table_no_lines">
<tr> <tr>
<td><para style="terp_default_8">[[ line.move_id.name &lt;&gt; '/' and line.move_id.name or ('*'+str(line.move_id.id)) ]]</para></td> <td><para style="terp_default_8">[[ line.move_id.name &lt;&gt; '/' and line.move_id.name or ('*'+str(line.move_id.id)) ]]</para></td>
<td><para style="terp_default_8">[[ formatLang(line.date,date=True) ]]</para></td> <td><para style="terp_default_8">[[ formatLang(line.date,date=True) ]]</para></td>
<td><para style="terp_default_8">[[ line.account_id.code ]]</para></td> <td><para style="terp_default_8">[[ line.account_id.code ]]</para></td>
<td><para style="terp_default_8">[[ line.partner_id and strip_name(line.partner_id.name,17) ]]</para></td> <td><para style="terp_default_8">[[ line.partner_id and strip_name(line.partner_id.name,15) ]]</para></td>
<td><para style="terp_default_8">[[ strip_name(line.name,25) ]]</para></td> <td><para style="terp_default_8">[[ strip_name(line.name,25) ]]</para></td>
<td><para style="P8">[[ line.tax_code_id and (line.tax_code_id.code + ':') ]]</para></td> <td><para style="P8">[[ line.tax_code_id and (line.tax_code_id.code + ':') ]]</para></td>
<td><para style="terp_default_8">[[ line.tax_amount and formatLang(line.tax_amount, currency_obj=company.currency_id) ]]</para></td> <td><para style="terp_default_8">[[ line.tax_amount and formatLang(line.tax_amount, currency_obj=company.currency_id) ]]</para></td>
@ -247,7 +247,7 @@
</blockTable> </blockTable>
<para style="terp_default_8">[[ set_last_move_id(line.move_id.id) ]]</para> <para style="terp_default_8">[[ set_last_move_id(line.move_id.id) ]]</para>
</section> </section>
<blockTable rowHeights="0.55cm" colWidths="55.0,45.0,50.0,80.0,110.0,15.0,50.0,70.0,70.0" style="Table4Total"> <blockTable rowHeights="0.55cm" colWidths="55.0,45.0,50.0,60.0,110.0,15.0,70.0,70.0,70.0" style="Table4Total">
<tr> <tr>
<td><para style="P11"></para></td> <td><para style="P11"></para></td>
<td><para style="P11"></para></td> <td><para style="P11"></para></td>
@ -263,8 +263,8 @@
</section> </section>
<section> <section>
<para style="Standard"><font color="white">[[ display_currency(data) or removeParentNode('section') ]]</font></para> [[ display_currency(data) or removeParentNode('section') ]]
<blockTable rowHeights="0.55cm" colWidths="55.0,45.0,50.0,70.0,70.0,10.0,50.0,70.0,70.0,70.0" style="Table1"> <blockTable rowHeights="0.55cm" colWidths="55.0,45.0,50.0,50.0,70.0,10.0,70.0,70.0,70.0,70.0" style="Table1">
<tr> <tr>
<td><para style="P10a">Move</para></td> <td><para style="P10a">Move</para></td>
<td><para style="P10a">Date</para></td> <td><para style="P10a">Date</para></td>
@ -285,13 +285,13 @@
<td><para style="P8">[[ not check_last_move_id(line.move_id.id) and removeParentNode('blockTable') ]]</para></td> <td><para style="P8">[[ not check_last_move_id(line.move_id.id) and removeParentNode('blockTable') ]]</para></td>
</tr> </tr>
</blockTable> </blockTable>
<blockTable rowHeights="0.55cm" colWidths="55.0,45.0,50.0,70.0,70.0,10.0,50.0,70.0,70.0,70.0" style="Table_no_lines"> <blockTable rowHeights="0.55cm" colWidths="55.0,45.0,50.0,50.0,70.0,10.0,70.0,70.0,70.0,70.0" style="Table_no_lines">
<tr> <tr>
<td><para style="terp_default_8">[[ line.move_id.name &lt;&gt; '/' and line.move_id.name or ('*'+str(line.move_id.id)) ]]</para></td> <td><para style="terp_default_8">[[ line.move_id.name &lt;&gt; '/' and line.move_id.name or ('*'+str(line.move_id.id)) ]]</para></td>
<td><para style="terp_default_8">[[ formatLang(line.date,date=True) ]]</para></td> <td><para style="terp_default_8">[[ formatLang(line.date,date=True) ]]</para></td>
<td><para style="terp_default_8">[[ line.account_id.code ]]</para></td> <td><para style="terp_default_8">[[ line.account_id.code ]]</para></td>
<td><para style="terp_default_8">[[ line.partner_id and strip_name(line.partner_id.name,17) ]]</para></td> <td><para style="terp_default_8">[[ line.partner_id and strip_name(line.partner_id.name,12) ]]</para></td>
<td><para style="terp_default_8">[[ strip_name(line.name,17) ]]</para></td> <td><para style="terp_default_8">[[ strip_name(line.name,16) ]]</para></td>
<td><para style="terp_default_8">[[ line.tax_code_id and (line.tax_code_id.code + ':') ]]</para></td> <td><para style="terp_default_8">[[ line.tax_code_id and (line.tax_code_id.code + ':') ]]</para></td>
<td><para style="P8">[[ line.tax_amount and formatLang(line.tax_amount, currency_obj=company.currency_id) ]]</para></td> <td><para style="P8">[[ line.tax_amount and formatLang(line.tax_amount, currency_obj=company.currency_id) ]]</para></td>
<td><para style="P8">[[ formatLang(line.debit, currency_obj=company.currency_id) ]]</para></td> <td><para style="P8">[[ formatLang(line.debit, currency_obj=company.currency_id) ]]</para></td>
@ -301,7 +301,7 @@
</blockTable> </blockTable>
<para style="terp_default_8">[[ set_last_move_id(line.move_id.id) ]]</para> <para style="terp_default_8">[[ set_last_move_id(line.move_id.id) ]]</para>
</section> </section>
<blockTable rowHeights="0.55cm" colWidths="55.0,45.0,50.0,70.0,70.0,10.0,50.0,70.0,70.0,70.0" style="Table4Total"> <blockTable rowHeights="0.55cm" colWidths="55.0,45.0,50.0,50.0,70.0,10.0,70.0,70.0,70.0,70.0" style="Table4Total">
<tr> <tr>
<td><para style="P11"></para></td> <td><para style="P11"></para></td>
<td><para style="P11"></para></td> <td><para style="P11"></para></td>

View File

@ -36,6 +36,7 @@ class accounting_report(osv.osv_memory):
'period_to_cmp': fields.many2one('account.period', 'End Period'), 'period_to_cmp': fields.many2one('account.period', 'End Period'),
'date_from_cmp': fields.date("Start Date"), 'date_from_cmp': fields.date("Start Date"),
'date_to_cmp': fields.date("End Date"), 'date_to_cmp': fields.date("End Date"),
'debit_credit': fields.boolean('Display Debit/Credit Columns', help="This option allow you to get more details about your the way your balances are computed. Because it is space consumming, we do not allow to use it while doing a comparison"),
} }
def _get_account_report(self, cr, uid, context=None): def _get_account_report(self, cr, uid, context=None):
@ -85,7 +86,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', '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'], 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',

View File

@ -11,6 +11,7 @@
<xpath expr="//field[@name='target_move']" position="after"> <xpath expr="//field[@name='target_move']" position="after">
<field name="account_report_id" domain="[('parent_id','=',False)]"/> <field name="account_report_id" domain="[('parent_id','=',False)]"/>
<field name="enable_filter"/> <field name="enable_filter"/>
<field name="debit_credit" attrs="{'invisible': [('enable_filter','=',True)]}"/>
</xpath> </xpath>
<xpath expr="//notebook/page[@string='Filters']" position="after"> <xpath expr="//notebook/page[@string='Filters']" position="after">
<page string="Comparison" attrs="{'invisible': [('enable_filter','=',False)]}"> <page string="Comparison" attrs="{'invisible': [('enable_filter','=',False)]}">
@ -33,7 +34,7 @@
<menuitem parent="account.menu_finance_legal_statement" id="final_accounting_reports" name="Accounting Reports"/> <menuitem parent="account.menu_finance_legal_statement" id="final_accounting_reports" name="Accounting Reports"/>
<record id="action_account_report_bs" model="ir.actions.act_window"> <record id="action_account_report_bs" model="ir.actions.act_window">
<field name="name">Financial Reports</field> <field name="name">Balance Sheet</field>
<field name="res_model">accounting.report</field> <field name="res_model">accounting.report</field>
<field name="type">ir.actions.act_window</field> <field name="type">ir.actions.act_window</field>
<field name="view_type">form</field> <field name="view_type">form</field>
@ -45,7 +46,7 @@
<menuitem icon="STOCK_PRINT" name="Balance Sheet" action="action_account_report_bs" id="menu_account_report_bs" parent="final_accounting_reports"/> <menuitem icon="STOCK_PRINT" name="Balance Sheet" action="action_account_report_bs" id="menu_account_report_bs" parent="final_accounting_reports"/>
<record id="action_account_report_pl" model="ir.actions.act_window"> <record id="action_account_report_pl" model="ir.actions.act_window">
<field name="name">Financial Reports</field> <field name="name">Profit and Loss</field>
<field name="res_model">accounting.report</field> <field name="res_model">accounting.report</field>
<field name="type">ir.actions.act_window</field> <field name="type">ir.actions.act_window</field>
<field name="view_type">form</field> <field name="view_type">form</field>

View File

@ -49,6 +49,21 @@ class account_fiscalyear_close(osv.osv_memory):
@param ids: List of Account fiscalyear close states IDs @param ids: List of Account fiscalyear close states IDs
""" """
def _reconcile_fy_closing(cr, uid, ids, context=None):
"""
This private function manually do the reconciliation on the account_move_line given as `ids´, and directly
through psql. It's necessary to do it this way because the usual `reconcile()´ function on account.move.line
object is really resource greedy (not supposed to work on reconciliation between thousands of records) and
it does a lot of different computation that are useless in this particular case.
"""
#check that the reconcilation concern journal entries from only one company
cr.execute('select distinct(company_id) from account_move_line where id in %s',(tuple(ids),))
if len(cr.fetchall()) > 1:
raise osv.except_osv(_('Warning !'), _('The entries to reconcile should belong to the same company'))
r_id = self.pool.get('account.move.reconcile').create(cr, uid, {'type': 'auto'})
cr.execute('update account_move_line set reconcile_id = %s where id in %s',(r_id, tuple(ids),))
return r_id
obj_acc_period = self.pool.get('account.period') obj_acc_period = self.pool.get('account.period')
obj_acc_fiscalyear = self.pool.get('account.fiscalyear') obj_acc_fiscalyear = self.pool.get('account.fiscalyear')
obj_acc_journal = self.pool.get('account.journal') obj_acc_journal = self.pool.get('account.journal')
@ -78,6 +93,7 @@ class account_fiscalyear_close(osv.osv_memory):
new_journal = data[0].journal_id.id new_journal = data[0].journal_id.id
new_journal = obj_acc_journal.browse(cr, uid, new_journal, context=context) new_journal = obj_acc_journal.browse(cr, uid, new_journal, context=context)
company_id = new_journal.company_id.id
if not new_journal.default_credit_account_id or not new_journal.default_debit_account_id: if not new_journal.default_credit_account_id or not new_journal.default_debit_account_id:
raise osv.except_osv(_('UserError'), raise osv.except_osv(_('UserError'),
@ -117,7 +133,8 @@ class account_fiscalyear_close(osv.osv_memory):
LEFT JOIN account_account_type t ON (a.user_type = t.id) LEFT JOIN account_account_type t ON (a.user_type = t.id)
WHERE a.active WHERE a.active
AND a.type != 'view' AND a.type != 'view'
AND t.close_method = %s''', ('unreconciled', )) AND a.company_id = %s
AND t.close_method = %s''', (company_id, 'unreconciled', ))
account_ids = map(lambda x: x[0], cr.fetchall()) account_ids = map(lambda x: x[0], cr.fetchall())
if account_ids: if account_ids:
cr.execute(''' cr.execute('''
@ -166,7 +183,8 @@ class account_fiscalyear_close(osv.osv_memory):
LEFT JOIN account_account_type t ON (a.user_type = t.id) LEFT JOIN account_account_type t ON (a.user_type = t.id)
WHERE a.active WHERE a.active
AND a.type != 'view' AND a.type != 'view'
AND t.close_method = %s''', ('detail', )) AND a.company_id = %s
AND t.close_method = %s''', (company_id, 'detail', ))
account_ids = map(lambda x: x[0], cr.fetchall()) account_ids = map(lambda x: x[0], cr.fetchall())
if account_ids: if account_ids:
@ -194,7 +212,8 @@ class account_fiscalyear_close(osv.osv_memory):
LEFT JOIN account_account_type t ON (a.user_type = t.id) LEFT JOIN account_account_type t ON (a.user_type = t.id)
WHERE a.active WHERE a.active
AND a.type != 'view' AND a.type != 'view'
AND t.close_method = %s''', ('balance', )) AND a.company_id = %s
AND t.close_method = %s''', (company_id, 'balance', ))
account_ids = map(lambda x: x[0], cr.fetchall()) account_ids = map(lambda x: x[0], cr.fetchall())
query_1st_part = """ query_1st_part = """
@ -239,9 +258,8 @@ class account_fiscalyear_close(osv.osv_memory):
#reconcile all the move.line of the opening move #reconcile all the move.line of the opening move
ids = obj_acc_move_line.search(cr, uid, [('journal_id', '=', new_journal.id), ids = obj_acc_move_line.search(cr, uid, [('journal_id', '=', new_journal.id),
('period_id.fiscalyear_id','=',new_fyear.id)]) ('period_id.fiscalyear_id','=',new_fyear.id)])
context['fy_closing'] = True
if ids: if ids:
reconcile_id = obj_acc_move_line.reconcile(cr, uid, ids, context=context) reconcile_id = _reconcile_fy_closing(cr, uid, ids, context=context)
#set the creation date of the reconcilation at the first day of the new fiscalyear, in order to have good figures in the aged trial balance #set the creation date of the reconcilation at the first day of the new fiscalyear, in order to have good figures in the aged trial balance
self.pool.get('account.move.reconcile').write(cr, uid, [reconcile_id], {'create_date': new_fyear.date_start}, context=context) self.pool.get('account.move.reconcile').write(cr, uid, [reconcile_id], {'create_date': new_fyear.date_start}, context=context)

View File

@ -1,30 +1,19 @@
# Translation of OpenERP Server. # Translations template for PROJECT.
# This file contains the translation of the following modules: # Copyright (C) 2012 ORGANIZATION
# * account_accountant # This file is distributed under the same license as the PROJECT project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
# #
#, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: OpenERP Server 6.0.0-rc2\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: support@openerp.com\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2011-01-11 11:14:28+0000\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2011-01-11 11:14:28+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: <>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: \n" "Language-Team: LANGUAGE <LL@li.org>\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: \n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: \n" "Generated-By: Babel 0.9.6\n"
#. module: account_accountant
#: model:ir.module.module,description:account_accountant.module_meta_information
msgid "\n"
"This module gives the admin user the access to all the accounting features like the journal\n"
"items and the chart of accounts.\n"
" "
msgstr ""
#. module: account_accountant
#: model:ir.module.module,shortdesc:account_accountant.module_meta_information
msgid "Accountant"
msgstr ""

View File

@ -7,31 +7,27 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: openobject-addons\n" "Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2011-01-18 21:27+0000\n" "PO-Revision-Date: 2011-01-18 21:27+0000\n"
"Last-Translator: bamuhrez <bamuhrez@gmail.com>\n" "Last-Translator: bamuhrez <bamuhrez@gmail.com>\n"
"Language-Team: Arabic <ar@li.org>\n" "Language-Team: Arabic <ar@li.org>\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: 2011-11-05 05:52+0000\n" "X-Launchpad-Export-Date: 2012-02-09 07:05+0000\n"
"X-Generator: Launchpad (build 14231)\n" "X-Generator: Launchpad (build 14763)\n"
#. module: account_accountant #~ msgid "Accountant"
#: model:ir.module.module,description:account_accountant.module_meta_information #~ msgstr "محاسب"
msgid ""
"\n"
"This module gives the admin user the access to all the accounting features "
"like the journal\n"
"items and the chart of accounts.\n"
" "
msgstr ""
"\n"
"هذا البرنامج يعطي المشرف صلاحية الاطلاع على جميع الخصائص المحاسبية مثل "
"الحسابات و سجل الحركات.\n"
" "
#. module: account_accountant #~ msgid ""
#: model:ir.module.module,shortdesc:account_accountant.module_meta_information #~ "\n"
msgid "Accountant" #~ "This module gives the admin user the access to all the accounting features "
msgstr "محاسب" #~ "like the journal\n"
#~ "items and the chart of accounts.\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ "هذا البرنامج يعطي المشرف صلاحية الاطلاع على جميع الخصائص المحاسبية مثل "
#~ "الحسابات و سجل الحركات.\n"
#~ " "

View File

@ -7,31 +7,27 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: openobject-addons\n" "Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2011-12-06 05:22+0000\n" "PO-Revision-Date: 2011-12-06 05:22+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Azerbaijani <az@li.org>\n" "Language-Team: Azerbaijani <az@li.org>\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: 2011-12-07 04:52+0000\n" "X-Launchpad-Export-Date: 2012-02-09 07:05+0000\n"
"X-Generator: Launchpad (build 14435)\n" "X-Generator: Launchpad (build 14763)\n"
#. module: account_accountant #~ msgid ""
#: model:ir.module.module,description:account_accountant.module_meta_information #~ "\n"
msgid "" #~ "This module gives the admin user the access to all the accounting features "
"\n" #~ "like the journal\n"
"This module gives the admin user the access to all the accounting features " #~ "items and the chart of accounts.\n"
"like the journal\n" #~ " "
"items and the chart of accounts.\n" #~ msgstr ""
" " #~ "\n"
msgstr "" #~ "Bu modul jurnal yazıları, hesab qrafikləri kimi mühasibat uçotu "
"\n" #~ "funksiyalarına idarəçilik imkanı verir.\n"
"Bu modul jurnal yazıları, hesab qrafikləri kimi mühasibat uçotu " #~ " "
"funksiyalarına idarəçilik imkanı verir.\n"
" "
#. module: account_accountant #~ msgid "Accountant"
#: model:ir.module.module,shortdesc:account_accountant.module_meta_information #~ msgstr "Mühasib"
msgid "Accountant"
msgstr "Mühasib"

View File

@ -7,32 +7,28 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: openobject-addons\n" "Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2011-01-31 13:18+0000\n" "PO-Revision-Date: 2011-01-31 13:18+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Bulgarian <bg@li.org>\n" "Language-Team: Bulgarian <bg@li.org>\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: 2011-11-05 05:52+0000\n" "X-Launchpad-Export-Date: 2012-02-09 07:05+0000\n"
"X-Generator: Launchpad (build 14231)\n" "X-Generator: Launchpad (build 14763)\n"
#. module: account_accountant #~ msgid "Accountant"
#: model:ir.module.module,description:account_accountant.module_meta_information #~ msgstr "Счетоводител"
msgid ""
"\n"
"This module gives the admin user the access to all the accounting features "
"like the journal\n"
"items and the chart of accounts.\n"
" "
msgstr ""
"\n"
"Този модул дава достъп на администратора до всички счетоводни свойства като "
"счетоводни\n"
"дневници и сметкоплан.\n"
" "
#. module: account_accountant #~ msgid ""
#: model:ir.module.module,shortdesc:account_accountant.module_meta_information #~ "\n"
msgid "Accountant" #~ "This module gives the admin user the access to all the accounting features "
msgstr "Счетоводител" #~ "like the journal\n"
#~ "items and the chart of accounts.\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ "Този модул дава достъп на администратора до всички счетоводни свойства като "
#~ "счетоводни\n"
#~ "дневници и сметкоплан.\n"
#~ " "

View File

@ -7,30 +7,26 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: openobject-addons\n" "Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2011-11-21 12:33+0000\n" "PO-Revision-Date: 2011-11-21 12:33+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Bengali <bn@li.org>\n" "Language-Team: Bengali <bn@li.org>\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: 2011-11-22 05:00+0000\n" "X-Launchpad-Export-Date: 2012-02-09 07:05+0000\n"
"X-Generator: Launchpad (build 14299)\n" "X-Generator: Launchpad (build 14763)\n"
#. module: account_accountant #~ msgid ""
#: model:ir.module.module,description:account_accountant.module_meta_information #~ "\n"
msgid "" #~ "This module gives the admin user the access to all the accounting features "
"\n" #~ "like the journal\n"
"This module gives the admin user the access to all the accounting features " #~ "items and the chart of accounts.\n"
"like the journal\n" #~ " "
"items and the chart of accounts.\n" #~ msgstr ""
" " #~ "\n"
msgstr "" #~ "এই মডিউল admin ব্যবহারকারীকে সকল হিসাবরক্ষন এর সুবিধা দিবে\n"
"\n" #~ " "
"এই মডিউল admin ব্যবহারকারীকে সকল হিসাবরক্ষন এর সুবিধা দিবে\n"
" "
#. module: account_accountant #~ msgid "Accountant"
#: model:ir.module.module,shortdesc:account_accountant.module_meta_information #~ msgstr "হিসাবরক্ষনকারী"
msgid "Accountant"
msgstr "হিসাবরক্ষনকারী"

View File

@ -7,32 +7,28 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: openobject-addons\n" "Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2011-05-08 08:24+0000\n" "PO-Revision-Date: 2011-05-08 08:24+0000\n"
"Last-Translator: Bojan Markovic <Unknown>\n" "Last-Translator: Bojan Markovic <Unknown>\n"
"Language-Team: Bosnian <bs@li.org>\n" "Language-Team: Bosnian <bs@li.org>\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: 2011-11-05 05:52+0000\n" "X-Launchpad-Export-Date: 2012-02-09 07:05+0000\n"
"X-Generator: Launchpad (build 14231)\n" "X-Generator: Launchpad (build 14763)\n"
#. module: account_accountant #~ msgid ""
#: model:ir.module.module,description:account_accountant.module_meta_information #~ "\n"
msgid "" #~ "This module gives the admin user the access to all the accounting features "
"\n" #~ "like the journal\n"
"This module gives the admin user the access to all the accounting features " #~ "items and the chart of accounts.\n"
"like the journal\n" #~ " "
"items and the chart of accounts.\n" #~ msgstr ""
" " #~ "\n"
msgstr "" #~ "Ovaj modul daje administratoru pristup računovodstvenim mogućnostima kao što "
"\n" #~ "su\n"
"Ovaj modul daje administratoru pristup računovodstvenim mogućnostima kao što " #~ "knjiženja i kontni plan\n"
"su\n" #~ " "
"knjiženja i kontni plan\n"
" "
#. module: account_accountant #~ msgid "Accountant"
#: model:ir.module.module,shortdesc:account_accountant.module_meta_information #~ msgstr "Računovođa"
msgid "Accountant"
msgstr "Računovođa"

View File

@ -7,32 +7,28 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: openobject-addons\n" "Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2011-03-06 23:13+0000\n" "PO-Revision-Date: 2011-03-06 23:13+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Catalan <ca@li.org>\n" "Language-Team: Catalan <ca@li.org>\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: 2011-11-05 05:52+0000\n" "X-Launchpad-Export-Date: 2012-02-09 07:05+0000\n"
"X-Generator: Launchpad (build 14231)\n" "X-Generator: Launchpad (build 14763)\n"
#. module: account_accountant #~ msgid "Accountant"
#: model:ir.module.module,description:account_accountant.module_meta_information #~ msgstr "Comptable"
msgid ""
"\n"
"This module gives the admin user the access to all the accounting features "
"like the journal\n"
"items and the chart of accounts.\n"
" "
msgstr ""
"\n"
"Aquest mòdul proporciona a l'usuari admin l'accés a totes les funcionalitats "
"de comptabilitat com\n"
"els assentaments i el pla comptable.\n"
" "
#. module: account_accountant #~ msgid ""
#: model:ir.module.module,shortdesc:account_accountant.module_meta_information #~ "\n"
msgid "Accountant" #~ "This module gives the admin user the access to all the accounting features "
msgstr "Comptable" #~ "like the journal\n"
#~ "items and the chart of accounts.\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ "Aquest mòdul proporciona a l'usuari admin l'accés a totes les funcionalitats "
#~ "de comptabilitat com\n"
#~ "els assentaments i el pla comptable.\n"
#~ " "

View File

@ -7,32 +7,28 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: openobject-addons\n" "Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2011-01-26 09:46+0000\n" "PO-Revision-Date: 2011-01-26 09:46+0000\n"
"Last-Translator: Pavel Stejskal <Unknown>\n" "Last-Translator: Pavel Stejskal <Unknown>\n"
"Language-Team: Czech <cs@li.org>\n" "Language-Team: Czech <cs@li.org>\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: 2011-11-05 05:52+0000\n" "X-Launchpad-Export-Date: 2012-02-09 07:05+0000\n"
"X-Generator: Launchpad (build 14231)\n" "X-Generator: Launchpad (build 14763)\n"
#. module: account_accountant #~ msgid "Accountant"
#: model:ir.module.module,description:account_accountant.module_meta_information #~ msgstr "účetní"
msgid ""
"\n"
"This module gives the admin user the access to all the accounting features "
"like the journal\n"
"items and the chart of accounts.\n"
" "
msgstr ""
"\n"
"Tento modul dává administrátorovi přístup ke všem možnostem účetnictví, jako "
"jsou položky\n"
"deníku a účtový rozvrh.\n"
" "
#. module: account_accountant #~ msgid ""
#: model:ir.module.module,shortdesc:account_accountant.module_meta_information #~ "\n"
msgid "Accountant" #~ "This module gives the admin user the access to all the accounting features "
msgstr "účetní" #~ "like the journal\n"
#~ "items and the chart of accounts.\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ "Tento modul dává administrátorovi přístup ke všem možnostem účetnictví, jako "
#~ "jsou položky\n"
#~ "deníku a účtový rozvrh.\n"
#~ " "

View File

@ -7,31 +7,27 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: openobject-addons\n" "Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2011-11-08 10:35+0000\n" "PO-Revision-Date: 2011-11-08 10:35+0000\n"
"Last-Translator: OpenERP Danmark / Mikhael Saxtorph <Unknown>\n" "Last-Translator: OpenERP Danmark / Mikhael Saxtorph <Unknown>\n"
"Language-Team: Danish <da@li.org>\n" "Language-Team: Danish <da@li.org>\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: 2011-11-10 04:58+0000\n" "X-Launchpad-Export-Date: 2012-02-09 07:05+0000\n"
"X-Generator: Launchpad (build 14263)\n" "X-Generator: Launchpad (build 14763)\n"
#. module: account_accountant #~ msgid "Accountant"
#: model:ir.module.module,description:account_accountant.module_meta_information #~ msgstr "Bogholder"
msgid ""
"\n"
"This module gives the admin user the access to all the accounting features "
"like the journal\n"
"items and the chart of accounts.\n"
" "
msgstr ""
"\n"
"Dette modul giver brugeren admin adgang til alle regnskabsfunktioner som "
"bogføringsjournaler og kontoplaner.\n"
" "
#. module: account_accountant #~ msgid ""
#: model:ir.module.module,shortdesc:account_accountant.module_meta_information #~ "\n"
msgid "Accountant" #~ "This module gives the admin user the access to all the accounting features "
msgstr "Bogholder" #~ "like the journal\n"
#~ "items and the chart of accounts.\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ "Dette modul giver brugeren admin adgang til alle regnskabsfunktioner som "
#~ "bogføringsjournaler og kontoplaner.\n"
#~ " "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: openobject-addons\n" "Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2010-12-25 19:02+0000\n" "PO-Revision-Date: 2010-12-25 19:02+0000\n"
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-" "Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
"consulting.net>\n" "consulting.net>\n"
@ -15,25 +15,21 @@ 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: 2011-11-05 05:52+0000\n" "X-Launchpad-Export-Date: 2012-02-09 07:05+0000\n"
"X-Generator: Launchpad (build 14231)\n" "X-Generator: Launchpad (build 14763)\n"
#. module: account_accountant #~ msgid "Accountant"
#: model:ir.module.module,description:account_accountant.module_meta_information #~ msgstr "Finanzbuchhaltung Administrator"
msgid ""
"\n"
"This module gives the admin user the access to all the accounting features "
"like the journal\n"
"items and the chart of accounts.\n"
" "
msgstr ""
"\n"
"Dieses Modul ermöglicht dem Administrator Zugriff auf alle Funktionen der "
"Finanzbuchhaltung, z.B.\n"
"auf Journale oder den Kontenplan.\n"
" "
#. module: account_accountant #~ msgid ""
#: model:ir.module.module,shortdesc:account_accountant.module_meta_information #~ "\n"
msgid "Accountant" #~ "This module gives the admin user the access to all the accounting features "
msgstr "Finanzbuchhaltung Administrator" #~ "like the journal\n"
#~ "items and the chart of accounts.\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ "Dieses Modul ermöglicht dem Administrator Zugriff auf alle Funktionen der "
#~ "Finanzbuchhaltung, z.B.\n"
#~ "auf Journale oder den Kontenplan.\n"
#~ " "

View File

@ -7,32 +7,28 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: openobject-addons\n" "Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2010-12-29 13:17+0000\n" "PO-Revision-Date: 2010-12-29 13:17+0000\n"
"Last-Translator: Dimitris Andavoglou <dimitrisand@gmail.com>\n" "Last-Translator: Dimitris Andavoglou <dimitrisand@gmail.com>\n"
"Language-Team: Greek <el@li.org>\n" "Language-Team: Greek <el@li.org>\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: 2011-11-05 05:52+0000\n" "X-Launchpad-Export-Date: 2012-02-09 07:05+0000\n"
"X-Generator: Launchpad (build 14231)\n" "X-Generator: Launchpad (build 14763)\n"
#. module: account_accountant #~ msgid "Accountant"
#: model:ir.module.module,description:account_accountant.module_meta_information #~ msgstr "Λογιστής"
msgid ""
"\n"
"This module gives the admin user the access to all the accounting features "
"like the journal\n"
"items and the chart of accounts.\n"
" "
msgstr ""
"\n"
"Αυτό το άρθωμα δίνει στον Διαχειριστή πρόσβαση σε όλες τις δυνατότητες της "
"λογιστικής όπως το ημερολόγιο\n"
"και το Λογιστικό Σχέδιο.\n"
" "
#. module: account_accountant #~ msgid ""
#: model:ir.module.module,shortdesc:account_accountant.module_meta_information #~ "\n"
msgid "Accountant" #~ "This module gives the admin user the access to all the accounting features "
msgstr "Λογιστής" #~ "like the journal\n"
#~ "items and the chart of accounts.\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ "Αυτό το άρθωμα δίνει στον Διαχειριστή πρόσβαση σε όλες τις δυνατότητες της "
#~ "λογιστικής όπως το ημερολόγιο\n"
#~ "και το Λογιστικό Σχέδιο.\n"
#~ " "

View File

@ -7,32 +7,28 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: openobject-addons\n" "Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2011-08-25 11:46+0000\n" "PO-Revision-Date: 2011-08-25 11:46+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: English (United Kingdom) <en_GB@li.org>\n" "Language-Team: English (United Kingdom) <en_GB@li.org>\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: 2011-11-05 05:52+0000\n" "X-Launchpad-Export-Date: 2012-02-09 07:05+0000\n"
"X-Generator: Launchpad (build 14231)\n" "X-Generator: Launchpad (build 14763)\n"
#. module: account_accountant #~ msgid ""
#: model:ir.module.module,description:account_accountant.module_meta_information #~ "\n"
msgid "" #~ "This module gives the admin user the access to all the accounting features "
"\n" #~ "like the journal\n"
"This module gives the admin user the access to all the accounting features " #~ "items and the chart of accounts.\n"
"like the journal\n" #~ " "
"items and the chart of accounts.\n" #~ msgstr ""
" " #~ "\n"
msgstr "" #~ "This module gives the admin user access to all accounting features such as "
"\n" #~ "the journal\n"
"This module gives the admin user access to all accounting features such as " #~ "items and the chart of accounts.\n"
"the journal\n" #~ " "
"items and the chart of accounts.\n"
" "
#. module: account_accountant #~ msgid "Accountant"
#: model:ir.module.module,shortdesc:account_accountant.module_meta_information #~ msgstr "Accountant"
msgid "Accountant"
msgstr "Accountant"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: openobject-addons\n" "Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2010-12-26 08:18+0000\n" "PO-Revision-Date: 2010-12-26 08:18+0000\n"
"Last-Translator: Jordi Esteve (www.zikzakmedia.com) " "Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
"<jesteve@zikzakmedia.com>\n" "<jesteve@zikzakmedia.com>\n"
@ -15,25 +15,21 @@ 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: 2011-11-05 05:52+0000\n" "X-Launchpad-Export-Date: 2012-02-09 07:05+0000\n"
"X-Generator: Launchpad (build 14231)\n" "X-Generator: Launchpad (build 14763)\n"
#. module: account_accountant #~ msgid "Accountant"
#: model:ir.module.module,description:account_accountant.module_meta_information #~ msgstr "Contable"
msgid ""
"\n"
"This module gives the admin user the access to all the accounting features "
"like the journal\n"
"items and the chart of accounts.\n"
" "
msgstr ""
"\n"
"Este módulo proporciona al usuario admin el acceso a todas las "
"funcionalidades de contabilidad como\n"
"los asientos y el plan contable.\n"
" "
#. module: account_accountant #~ msgid ""
#: model:ir.module.module,shortdesc:account_accountant.module_meta_information #~ "\n"
msgid "Accountant" #~ "This module gives the admin user the access to all the accounting features "
msgstr "Contable" #~ "like the journal\n"
#~ "items and the chart of accounts.\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ "Este módulo proporciona al usuario admin el acceso a todas las "
#~ "funcionalidades de contabilidad como\n"
#~ "los asientos y el plan contable.\n"
#~ " "

View File

@ -0,0 +1,36 @@
# Spanish translation for openobject-addons
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2012-02-13 17:28+0000\n"
"Last-Translator: Carlos Vásquez (CLEARCORP) "
"<carlos.vasquez@clearcorp.co.cr>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-14 05:46+0000\n"
"X-Generator: Launchpad (build 14781)\n"
"Language: es\n"
#~ msgid "Accountant"
#~ msgstr "Contable"
#~ msgid ""
#~ "\n"
#~ "This module gives the admin user the access to all the accounting features "
#~ "like the journal\n"
#~ "items and the chart of accounts.\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ "Este módulo proporciona al usuario admin el acceso a todas las "
#~ "funcionalidades de contabilidad como\n"
#~ "los asientos y el plan contable.\n"
#~ " "

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