[MERGE] merge with lp:~openerp-dev/openobject-addons/trunk-dev-addons3
bzr revid: atp@tinyerp.co.in-20100520055319-cs90se8l5opu5rae
This commit is contained in:
+84
-18
@@ -124,10 +124,10 @@ class account_account_type(osv.osv):
|
||||
'sign': fields.selection([(-1, 'Negative'), (1, 'Positive')], 'Sign on Reports', required=True, help='Allows you to change the sign of the balance amount displayed in the reports, so that you can see positive figures instead of negative ones in expenses accounts.'),
|
||||
'report_type':fields.selection([
|
||||
('none','/'),
|
||||
('income','Profilt & Loss (Income Accounts)'),
|
||||
('expanse','Profilt & Loss (Expanse Accounts)'),
|
||||
('income','Profit & Loss (Income Accounts)'),
|
||||
('expense','Profit & Loss (Expense Accounts)'),
|
||||
('asset','Balance Sheet (Assets Accounts)'),
|
||||
('liabilities','Balance Sheet (Liabilities Accounts)')
|
||||
('liability','Balance Sheet (Liability Accounts)')
|
||||
],'Type Heads', select=True, readonly=False, help="According value related accounts will be display on respective reports (Balance Sheet Profit & Loss Account)"),
|
||||
'parent_id':fields.many2one('account.account.type', 'Parent Type', required=False),
|
||||
'child_ids':fields.one2many('account.account.type', 'parent_id', 'Child Types', required=False),
|
||||
@@ -231,9 +231,9 @@ class account_account(osv.osv):
|
||||
aml_query = self.pool.get('account.move.line')._query_get(cr, uid, context=context)
|
||||
|
||||
wheres = [""]
|
||||
if query:
|
||||
if query.strip():
|
||||
wheres.append(query.strip())
|
||||
if aml_query:
|
||||
if aml_query.strip():
|
||||
wheres.append(aml_query.strip())
|
||||
query = " AND ".join(wheres)
|
||||
|
||||
@@ -251,6 +251,7 @@ class account_account(osv.osv):
|
||||
|
||||
|
||||
# consolidate accounts with direct children
|
||||
ids2.reverse()
|
||||
brs = list(self.browse(cr, uid, ids2, context=context))
|
||||
sums = {}
|
||||
while brs:
|
||||
@@ -270,8 +271,9 @@ class account_account(osv.osv):
|
||||
if current.child_id:
|
||||
sums[current.id][fn] += sum(sums[child.id][fn] for child in current.child_id)
|
||||
res = {}
|
||||
null_result = dict((fn, 0.0) for fn in field_names)
|
||||
for id in ids:
|
||||
res[id] = sums[id]
|
||||
res[id] = sums.get(id, null_result)
|
||||
return res
|
||||
|
||||
def _get_company_currency(self, cr, uid, ids, field_name, arg, context={}):
|
||||
@@ -313,7 +315,7 @@ class account_account(osv.osv):
|
||||
'user_type': fields.many2one('account.account.type', 'Account Type', required=True,
|
||||
help="These types are defined according to your country. The type contains more information "\
|
||||
"about the account and its specificities."),
|
||||
'parent_id': fields.many2one('account.account', 'Parent', ondelete='cascade'),
|
||||
'parent_id': fields.many2one('account.account', 'Parent', ondelete='cascade', domain=[('type','=','view')]),
|
||||
'child_parent_ids': fields.one2many('account.account','parent_id','Children'),
|
||||
'child_consol_ids': fields.many2many('account.account', 'account_account_consol_rel', 'child_id', 'parent_id', 'Consolidated Children'),
|
||||
'child_id': fields.function(_get_child_ids, method=True, type='many2many', relation="account.account", string="Child Accounts"),
|
||||
@@ -450,18 +452,42 @@ class account_account(osv.osv):
|
||||
def _check_moves(self, cr, uid, ids, method, context):
|
||||
line_obj = self.pool.get('account.move.line')
|
||||
account_ids = self.search(cr, uid, [('id', 'child_of', ids)])
|
||||
|
||||
if line_obj.search(cr, uid, [('account_id', 'in', account_ids)]):
|
||||
if method == 'write':
|
||||
raise osv.except_osv(_('Error !'), _('You cannot deactivate an account that contains account moves.'))
|
||||
elif method == 'unlink':
|
||||
raise osv.except_osv(_('Error !'), _('You cannot remove an account which has account entries!. '))
|
||||
#Checking whether the account is set as a property to any Partner or not
|
||||
value = 'account.account,' + str(ids[0])
|
||||
partner_prop_acc = self.pool.get('ir.property').search(cr, uid, [('value_reference','=',value)], context=context)
|
||||
if partner_prop_acc:
|
||||
raise osv.except_osv(_('Warning !'), _('You cannot remove/deactivate an account which is set as a property to any Partner.'))
|
||||
return True
|
||||
|
||||
def _check_allow_type_change(self, cr, uid, ids, new_type, context):
|
||||
group1 = ['payable', 'receivable', 'other']
|
||||
group2 = ['consolidation','view']
|
||||
line_obj = self.pool.get('account.move.line')
|
||||
for account in self.browse(cr, uid, ids, context=context):
|
||||
old_type = account.type
|
||||
account_ids = self.search(cr, uid, [('id', 'child_of', [account.id])])
|
||||
if line_obj.search(cr, uid, [('account_id', 'in', account_ids)]):
|
||||
#Check for 'Closed' type
|
||||
if old_type == 'closed' and new_type !='closed':
|
||||
raise osv.except_osv(_('Warning !'), _("You cannot change the type of account from 'Closed' to any other type which contains account entries!"))
|
||||
#Check for change From group1 to group2 and vice versa
|
||||
if (old_type in group1 and new_type in group2) or (old_type in group2 and new_type in group1):
|
||||
raise osv.except_osv(_('Warning !'), _("You cannot change the type of account from '%s' to '%s' type as it contains account entries!") % (old_type,new_type,))
|
||||
return True
|
||||
|
||||
def write(self, cr, uid, ids, vals, context=None):
|
||||
if not context:
|
||||
if context is None:
|
||||
context = {}
|
||||
if 'active' in vals and not vals['active']:
|
||||
self._check_moves(cr, uid, ids, "write", context)
|
||||
if 'type' in vals.keys():
|
||||
self._check_allow_type_change(cr, uid, ids, vals['type'], context=context)
|
||||
return super(account_account, self).write(cr, uid, ids, vals, context=context)
|
||||
|
||||
def unlink(self, cr, uid, ids, context={}):
|
||||
@@ -557,15 +583,16 @@ class account_journal(osv.osv):
|
||||
|
||||
def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100):
|
||||
if not args:
|
||||
args=[]
|
||||
if not context:
|
||||
context={}
|
||||
args = []
|
||||
if context is None:
|
||||
context = {}
|
||||
ids = []
|
||||
if name:
|
||||
ids = self.search(cr, user, [('code','ilike',name)]+ args, limit=limit)
|
||||
ids = self.search(cr, user, [('code','ilike',name)]+ args, limit=limit, context=context)
|
||||
if not ids:
|
||||
ids = self.search(cr, user, [('name',operator,name)]+ args, limit=limit)
|
||||
ids = self.search(cr, user, [('name',operator,name)]+ args, limit=limit, context=context)
|
||||
return self.name_get(cr, user, ids, context=context)
|
||||
|
||||
account_journal()
|
||||
|
||||
class account_fiscalyear(osv.osv):
|
||||
@@ -631,6 +658,19 @@ class account_fiscalyear(osv.osv):
|
||||
else:
|
||||
return False
|
||||
return ids[0]
|
||||
|
||||
def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
|
||||
if args is None:
|
||||
args = []
|
||||
if context is None:
|
||||
context = {}
|
||||
ids = []
|
||||
if name:
|
||||
ids = self.search(cr, user, [('code','ilike',name)]+ args, limit=limit)
|
||||
if not ids:
|
||||
ids = self.search(cr, user, [('name',operator,name)]+ args, limit=limit)
|
||||
return self.name_get(cr, user, ids, context=context)
|
||||
|
||||
account_fiscalyear()
|
||||
|
||||
class account_period(osv.osv):
|
||||
@@ -706,12 +746,24 @@ class account_period(osv.osv):
|
||||
cr.execute('update account_journal_period set state=%s where period_id=%s', (mode, id))
|
||||
cr.execute('update account_period set state=%s where id=%s', (mode, id))
|
||||
return True
|
||||
|
||||
def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
|
||||
if args is None:
|
||||
args = []
|
||||
if context is None:
|
||||
context = {}
|
||||
ids = []
|
||||
if name:
|
||||
ids = self.search(cr, user, [('code','ilike',name)]+ args, limit=limit)
|
||||
if not ids:
|
||||
ids = self.search(cr, user, [('name',operator,name)]+ args, limit=limit)
|
||||
return self.name_get(cr, user, ids, context=context)
|
||||
|
||||
account_period()
|
||||
|
||||
class account_journal_period(osv.osv):
|
||||
_name = "account.journal.period"
|
||||
_description = "Journal - Period"
|
||||
_description = "Journal Period"
|
||||
|
||||
def _icon_get(self, cr, uid, ids, field_name, arg=None, context={}):
|
||||
result = {}.fromkeys(ids, 'STOCK_NEW')
|
||||
@@ -950,7 +1002,6 @@ class account_move(osv.osv):
|
||||
l[2]['period_id'] = default_period
|
||||
context['period_id'] = default_period
|
||||
|
||||
accnt_journal = self.pool.get('account.journal').browse(cr, uid, vals['journal_id'])
|
||||
if 'line_id' in vals:
|
||||
c = context.copy()
|
||||
c['novalidate'] = True
|
||||
@@ -1248,7 +1299,7 @@ class account_tax_code(osv.osv):
|
||||
_description = 'Tax Code'
|
||||
_rec_name = 'code'
|
||||
_columns = {
|
||||
'name': fields.char('Tax Case Name', size=64, required=True),
|
||||
'name': fields.char('Tax Case Name', size=64, required=True, translate=True),
|
||||
'code': fields.char('Case Code', size=64),
|
||||
'info': fields.text('Description'),
|
||||
'sum': fields.function(_sum_year, method=True, string="Year Sum"),
|
||||
@@ -1262,6 +1313,15 @@ class account_tax_code(osv.osv):
|
||||
}
|
||||
|
||||
|
||||
def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
|
||||
if not args:
|
||||
args = []
|
||||
if context is None:
|
||||
context = {}
|
||||
ids = self.search(cr, user, ['|',('name',operator,name),('code',operator,name)] + args, limit=limit, context=context)
|
||||
return self.name_get(cr, user, ids, context)
|
||||
|
||||
|
||||
def name_get(self, cr, uid, ids, context=None):
|
||||
if not len(ids):
|
||||
return []
|
||||
@@ -1290,7 +1350,15 @@ class account_tax_code(osv.osv):
|
||||
return False
|
||||
level -= 1
|
||||
return True
|
||||
|
||||
|
||||
def copy(self, cr, uid, id, default=None, context=None):
|
||||
if default is None:
|
||||
default = {}
|
||||
default = default.copy()
|
||||
default.update({'line_ids': []})
|
||||
return super(account_tax_code, self).copy(cr, uid, id, default, context)
|
||||
|
||||
_constraints = [
|
||||
(_check_recursion, 'Error ! You can not create recursive accounts.', ['parent_id'])
|
||||
]
|
||||
@@ -1348,7 +1416,6 @@ class account_tax(osv.osv):
|
||||
'include_base_amount': fields.boolean('Included in base amount', help="Indicates if the amount of tax must be included in the base amount for the computation of the next taxes"),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||
'description': fields.char('Tax Code',size=32),
|
||||
'price_include': fields.boolean('Tax Included in Price', help="Check this if the price you use on the product and invoices includes this tax."),
|
||||
'type_tax_use': fields.selection([('sale','Sale'),('purchase','Purchase'),('all','All')], 'Tax Application', required=True)
|
||||
|
||||
}
|
||||
@@ -1381,7 +1448,6 @@ class account_tax(osv.osv):
|
||||
'applicable_type': lambda *a: 'true',
|
||||
'type': lambda *a: 'percent',
|
||||
'amount': lambda *a: 0,
|
||||
'price_include': lambda *a: 0,
|
||||
'active': lambda *a: 1,
|
||||
'type_tax_use': lambda *a: 'all',
|
||||
'sequence': lambda *a: 1,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
@@ -15,7 +15,7 @@
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
@@ -30,7 +30,7 @@ from tools import config
|
||||
|
||||
class account_analytic_line(osv.osv):
|
||||
_inherit = 'account.analytic.line'
|
||||
_description = 'Analytic lines'
|
||||
_description = 'Analytic Line'
|
||||
_columns = {
|
||||
'product_uom_id' : fields.many2one('product.uom', 'UoM'),
|
||||
'product_id' : fields.many2one('product.product', 'Product'),
|
||||
@@ -42,23 +42,23 @@ class account_analytic_line(osv.osv):
|
||||
}
|
||||
_defaults = {
|
||||
'date': lambda *a: time.strftime('%Y-%m-%d'),
|
||||
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'account.analytic.line', c),
|
||||
'company_id': lambda self,cr,uid,context: self.pool.get('res.company')._company_default_get(cr, uid, 'account.analytic.line', context=context),
|
||||
}
|
||||
_order = 'date'
|
||||
|
||||
|
||||
def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
if context.get('from_date',False):
|
||||
args.append(['date', '>=',context['from_date']])
|
||||
|
||||
|
||||
if context.get('to_date',False):
|
||||
args.append(['date','<=',context['to_date']])
|
||||
|
||||
|
||||
return super(account_analytic_line, self).search(cr, uid, args, offset, limit,
|
||||
order, context=context, count=count)
|
||||
|
||||
|
||||
def _check_company(self, cr, uid, ids):
|
||||
lines = self.browse(cr, uid, ids)
|
||||
for l in lines:
|
||||
@@ -68,7 +68,7 @@ class account_analytic_line(osv.osv):
|
||||
_constraints = [
|
||||
# (_check_company, 'You can not create analytic line that is not in the same company than the account line', ['account_id'])
|
||||
]
|
||||
|
||||
|
||||
# Compute the cost based on the price type define into company
|
||||
# property_valuation_price_type property
|
||||
def on_change_unit_amount(self, cr, uid, id, prod_id, unit_amount,company_id,
|
||||
@@ -90,7 +90,7 @@ class account_analytic_line(osv.osv):
|
||||
(prod.name, prod.id,))
|
||||
if not company_id:
|
||||
company_id=company_obj._company_default_get(cr, uid, 'account.analytic.line', context)
|
||||
|
||||
|
||||
# Compute based on pricetype
|
||||
pricetype=self.pool.get('product.price.type').browse(cr,uid,company_obj.browse(cr,uid,company_id).property_valuation_price_type.id)
|
||||
# Take the company currency as the reference one
|
||||
@@ -118,7 +118,7 @@ account_analytic_line()
|
||||
|
||||
class timesheet_invoice(osv.osv):
|
||||
_name = "report.hr.timesheet.invoice.journal"
|
||||
_description = "Analytic account costs and revenues"
|
||||
_description = "Analytic Account Costs and Revenues"
|
||||
_auto = False
|
||||
_columns = {
|
||||
'name': fields.char('Year',size=64,required=False, readonly=True),
|
||||
@@ -164,10 +164,10 @@ timesheet_invoice()
|
||||
class res_partner(osv.osv):
|
||||
""" Inherits partner and adds contract information in the partner form """
|
||||
_inherit = 'res.partner'
|
||||
|
||||
|
||||
_columns = {
|
||||
'contract_ids': fields.one2many('account.analytic.account', \
|
||||
'partner_id', 'Contracts'),
|
||||
'partner_id', 'Contracts'),
|
||||
}
|
||||
|
||||
res_partner()
|
||||
|
||||
@@ -387,7 +387,7 @@ account_bank_statement()
|
||||
|
||||
class account_bank_statement_reconcile(osv.osv):
|
||||
_name = "account.bank.statement.reconcile"
|
||||
_description = "Statement reconcile"
|
||||
_description = "Statement Reconcile"
|
||||
|
||||
def _total_entry(self, cursor, user, ids, name, attr, context=None):
|
||||
result = {}
|
||||
@@ -558,35 +558,40 @@ class account_bank_statement_line(osv.osv):
|
||||
|
||||
def onchange_partner_id(self, cursor, user, line_id, partner_id, type, currency_id,
|
||||
context={}):
|
||||
res = {'value': {}}
|
||||
if not partner_id:
|
||||
return {}
|
||||
res_currency_obj = self.pool.get('res.currency')
|
||||
res_users_obj = self.pool.get('res.users')
|
||||
|
||||
company_currency_id = res_users_obj.browse(cursor, user, user,
|
||||
context=context).company_id.currency_id.id
|
||||
|
||||
if not currency_id:
|
||||
currency_id = company_currency_id
|
||||
|
||||
part = self.pool.get('res.partner').browse(cursor, user, partner_id,
|
||||
return res
|
||||
line = self.browse(cursor, user, line_id)
|
||||
|
||||
if not line or (line and not line[0].account_id):
|
||||
part = self.pool.get('res.partner').browse(cursor, user, partner_id,
|
||||
context=context)
|
||||
if type == 'supplier':
|
||||
account_id = part.property_account_payable.id
|
||||
else:
|
||||
account_id = part.property_account_receivable.id
|
||||
if type == 'supplier':
|
||||
account_id = part.property_account_payable.id
|
||||
else:
|
||||
account_id = part.property_account_receivable.id
|
||||
res['value']['account_id'] = account_id
|
||||
|
||||
cursor.execute('SELECT sum(debit-credit) \
|
||||
if not line or (line and not line[0].amount):
|
||||
res_users_obj = self.pool.get('res.users')
|
||||
res_currency_obj = self.pool.get('res.currency')
|
||||
company_currency_id = res_users_obj.browse(cursor, user, user,
|
||||
context=context).company_id.currency_id.id
|
||||
if not currency_id:
|
||||
currency_id = company_currency_id
|
||||
|
||||
cursor.execute('SELECT sum(debit-credit) \
|
||||
FROM account_move_line \
|
||||
WHERE (reconcile_id is null) \
|
||||
AND partner_id = %s \
|
||||
AND account_id=%s', (partner_id, account_id))
|
||||
res = cursor.fetchone()
|
||||
balance = res and res[0] or 0.0
|
||||
pgres = cursor.fetchone()
|
||||
balance = pgres and pgres[0] or 0.0
|
||||
|
||||
balance = res_currency_obj.compute(cursor, user, company_currency_id,
|
||||
balance = res_currency_obj.compute(cursor, user, company_currency_id,
|
||||
currency_id, balance, context=context)
|
||||
return {'value': {'amount': balance, 'account_id': account_id}}
|
||||
res['value']['amount'] = balance
|
||||
return res
|
||||
|
||||
def _reconcile_amount(self, cursor, user, ids, name, args, context=None):
|
||||
if not ids:
|
||||
@@ -633,7 +638,7 @@ class account_bank_statement_line(osv.osv):
|
||||
'note': fields.text('Notes'),
|
||||
'reconcile_amount': fields.function(_reconcile_amount,
|
||||
string='Amount reconciled', method=True, type='float'),
|
||||
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of bank statement line."),
|
||||
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of bank statement lines."),
|
||||
}
|
||||
_defaults = {
|
||||
'name': lambda self,cr,uid,context={}: self.pool.get('ir.sequence').get(cr, uid, 'account.bank.statement.line'),
|
||||
|
||||
@@ -484,22 +484,22 @@
|
||||
|
||||
<act_window domain="[('account_analytic_id', '=', active_id)]" id="act_account_analytic_account_2_account_invoice_line" name="Invoice lines" res_model="account.invoice.line" src_model="account.analytic.account"/>
|
||||
|
||||
<act_window domain="[('partner_id', '=', partner_id), ('account_id.type', 'in', ['receivable', 'payable']), ('reconcile_id','=',False)]" id="act_account_invoice_account_move_unreconciled" name="Unreconciled Receivables & Payables" res_model="account.move.line" src_model="account.invoice"/>
|
||||
|
||||
<!-- Partners inherited form -->
|
||||
|
||||
<record id="view_invoice_partner_info_form" model="ir.ui.view">
|
||||
<record id="view_invoice_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.invoice.info.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<notebook position="inside">
|
||||
<page string="Account Info">
|
||||
<field name="invoice_ids" colspan="4" nolabel="1" context="{'group_by':'product_id'}"/>
|
||||
</page>
|
||||
<page string="Account Info">
|
||||
<field name="invoice_ids" colspan="4" nolabel="1" context="{'group_by':'product_id'}"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -50,7 +50,7 @@ write({'state':'open'})</field>
|
||||
<field name="wkf_id" ref="wkf"/>
|
||||
<field name="name">paid</field>
|
||||
<!--<field name="flow_stop">True</field>-->
|
||||
<field name="action">write({'state':'paid'})</field>
|
||||
<field name="action">confirm_paid()</field>
|
||||
<field name="kind">function</field>
|
||||
<field name="signal_send">subflow.paid</field>
|
||||
</record>
|
||||
|
||||
@@ -30,7 +30,7 @@ import tools
|
||||
|
||||
class account_move_line(osv.osv):
|
||||
_name = "account.move.line"
|
||||
_description = "Entry lines"
|
||||
_description = "Entry Lines"
|
||||
|
||||
def _query_get(self, cr, uid, obj='l', context={}):
|
||||
fiscalyear_obj = self.pool.get('account.fiscalyear')
|
||||
@@ -577,11 +577,12 @@ class account_move_line(osv.osv):
|
||||
merges_rec = []
|
||||
for line in self.browse(cr, uid, ids, context):
|
||||
if line.reconcile_id:
|
||||
raise osv.except_osv(_('Already Reconciled'), _('Already Reconciled'))
|
||||
raise osv.except_osv(_('Warning'), _('Already Reconciled!'))
|
||||
if line.reconcile_partial_id:
|
||||
for line2 in line.reconcile_partial_id.line_partial_ids:
|
||||
if not line2.reconcile_id:
|
||||
merges.append(line2.id)
|
||||
if line2.id not in merges:
|
||||
merges.append(line2.id)
|
||||
total += (line2.debit or 0.0) - (line2.credit or 0.0)
|
||||
merges_rec.append(line.reconcile_partial_id.id)
|
||||
else:
|
||||
@@ -774,6 +775,17 @@ class account_move_line(osv.osv):
|
||||
result['fields'] = self.fields_get(cr, uid, fields, context)
|
||||
return result
|
||||
|
||||
def _check_moves(self, cr, uid, context):
|
||||
# use the first move ever created for this journal and period
|
||||
cr.execute('select id, state, name from account_move where journal_id=%s and period_id=%s order by id limit 1', (context['journal_id'],context['period_id']))
|
||||
res = cr.fetchone()
|
||||
if res:
|
||||
if res[1] != 'draft':
|
||||
raise osv.except_osv(_('UserError'),
|
||||
_('The account move (%s) for centralisation ' \
|
||||
'has been confirmed!') % res[2])
|
||||
return res
|
||||
|
||||
def unlink(self, cr, uid, ids, context={}, check=True):
|
||||
self._update_check(cr, uid, ids, context)
|
||||
result = False
|
||||
@@ -809,7 +821,7 @@ class account_move_line(osv.osv):
|
||||
return True
|
||||
|
||||
def write(self, cr, uid, ids, vals, context=None, check=True, update_check=True):
|
||||
if not context:
|
||||
if context is None:
|
||||
context={}
|
||||
if vals.get('account_tax_id', False):
|
||||
raise osv.except_osv(_('Unable to change tax !'), _('You can not change the tax, you should remove and recreate lines !'))
|
||||
@@ -825,6 +837,24 @@ class account_move_line(osv.osv):
|
||||
if vals.get('date', False):
|
||||
todo_date = vals['date']
|
||||
del vals['date']
|
||||
|
||||
for line in self.browse(cr, uid, ids,context=context):
|
||||
ctx = context.copy()
|
||||
if ('journal_id' not in ctx):
|
||||
if line.move_id:
|
||||
ctx['journal_id'] = line.move_id.journal_id.id
|
||||
else:
|
||||
ctx['journal_id'] = line.journal_id.id
|
||||
if ('period_id' not in ctx):
|
||||
if line.move_id:
|
||||
ctx['period_id'] = line.move_id.period_id.id
|
||||
else:
|
||||
ctx['period_id'] = line.period_id.id
|
||||
#Check for centralisation
|
||||
journal = self.pool.get('account.journal').browse(cr, uid, ctx['journal_id'], context=ctx)
|
||||
if journal.centralisation:
|
||||
self._check_moves(cr, uid, context=ctx)
|
||||
|
||||
result = super(account_move_line, self).write(cr, uid, ids, vals, context)
|
||||
|
||||
if check:
|
||||
@@ -891,14 +921,9 @@ class account_move_line(osv.osv):
|
||||
is_new_move = False
|
||||
if not move_id:
|
||||
if journal.centralisation:
|
||||
# use the first move ever created for this journal and period
|
||||
cr.execute('select id, state, name from account_move where journal_id=%s and period_id=%s order by id limit 1', (context['journal_id'],context['period_id']))
|
||||
res = cr.fetchone()
|
||||
#Check for centralisation
|
||||
res = self._check_moves(cr, uid, context)
|
||||
if res:
|
||||
if res[1] != 'draft':
|
||||
raise osv.except_osv(_('UserError'),
|
||||
_('The Ledger Posting (%s) for centralisation ' \
|
||||
'has been confirmed!') % res[2])
|
||||
vals['move_id'] = res[0]
|
||||
|
||||
if not vals.get('move_id', False):
|
||||
@@ -926,7 +951,7 @@ class account_move_line(osv.osv):
|
||||
break
|
||||
if journal.account_control_ids and not ok:
|
||||
for a in journal.account_control_ids:
|
||||
if a.id==vals['account_id']:
|
||||
if a.id == vals['account_id']:
|
||||
ok = True
|
||||
break
|
||||
if (account.currency_id) and 'amount_currency' not in vals and account.currency_id.id <> company_currency:
|
||||
@@ -941,7 +966,7 @@ class account_move_line(osv.osv):
|
||||
if not ok:
|
||||
raise osv.except_osv(_('Bad account !'), _('You can not use this general account in this journal !'))
|
||||
|
||||
if 'analytic_account_id' in vals and vals['analytic_account_id']:
|
||||
if vals.get('analytic_account_id',False):
|
||||
if journal.analytic_journal_id:
|
||||
vals['analytic_lines'] = [(0,0, {
|
||||
'name': vals['name'],
|
||||
@@ -961,8 +986,8 @@ class account_move_line(osv.osv):
|
||||
|
||||
result = super(osv.osv, self).create(cr, uid, vals, context)
|
||||
# CREATE Taxes
|
||||
if 'account_tax_id' in vals and vals['account_tax_id']:
|
||||
tax_id=tax_obj.browse(cr,uid,vals['account_tax_id'])
|
||||
if vals.get('account_tax_id',False):
|
||||
tax_id = tax_obj.browse(cr, uid, vals['account_tax_id'])
|
||||
total = vals['debit'] - vals['credit']
|
||||
if journal.refund_journal:
|
||||
base_code = 'ref_base_code_id'
|
||||
@@ -978,7 +1003,7 @@ class account_move_line(osv.osv):
|
||||
tax_sign = 'tax_sign'
|
||||
|
||||
tmp_cnt = 0
|
||||
for tax in tax_obj.compute(cr,uid,[tax_id],total,1.00):
|
||||
for tax in tax_obj.compute(cr, uid, [tax_id], total, 1.00):
|
||||
#create the base movement
|
||||
if tmp_cnt == 0:
|
||||
if tax[base_code]:
|
||||
@@ -1031,7 +1056,7 @@ class account_move_line(osv.osv):
|
||||
# if context and ('__last_update' in context):
|
||||
# del context['__last_update']
|
||||
# self.pool.get('account.move').write(cr, uid, [move_id], {'date':vals['date']}, context=context)
|
||||
if check and not context.get('no_store_function'):
|
||||
if check and ((not context.get('no_store_function')) or journal.entry_posted):
|
||||
tmp = self.pool.get('account.move').validate(cr, uid, [vals['move_id']], context)
|
||||
if journal.entry_posted and tmp:
|
||||
self.pool.get('account.move').button_validate(cr,uid, [vals['move_id']],context)
|
||||
|
||||
@@ -284,7 +284,7 @@
|
||||
<field name="default_debit_account_id" attrs="{'required':[('type','=','cash')]}" domain="[('type','<>','view'),('type','<>','consolidation')]"/>
|
||||
<field name="default_credit_account_id" attrs="{'required':[('type','=','cash')]}" domain="[('type','<>','view'),('type','<>','consolidation')]"/>
|
||||
<field name="user_id" groups="base.group_extended"/>
|
||||
<field name="allow_date" />
|
||||
<field name="allow_date" groups="base.group_extended"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<newline/>
|
||||
<field name="centralisation"/>
|
||||
@@ -531,7 +531,10 @@
|
||||
<field name="create_date" select="1"/>
|
||||
<field name="type" select="1"/>
|
||||
</group>
|
||||
<separator colspan="4" string="Reconcile Entries"/>
|
||||
<field colspan="4" name="line_id" nolabel="1"/>
|
||||
<separator colspan="4" string="Partial Reconcile Entries"/>
|
||||
<field colspan="4" name="line_partial_ids" nolabel="1"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
@@ -551,6 +554,7 @@
|
||||
<field name="code"/>
|
||||
<field name="sum"/>
|
||||
<field name="sum_period"/>
|
||||
<field name="company_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -562,7 +566,7 @@
|
||||
<form string="Account Tax Code">
|
||||
<field name="name" select="1"/>
|
||||
<field name="code" select="1"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
<field name="company_id" select="1"/>
|
||||
<field name="notprintable"/>
|
||||
<field name="parent_id" select="1"/>
|
||||
<field name="sign"/>
|
||||
@@ -596,7 +600,6 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Account Tax">
|
||||
<field name="name"/>
|
||||
<field name="price_include"/>
|
||||
<field name="description"/>
|
||||
</tree>
|
||||
</field>
|
||||
@@ -628,7 +631,6 @@
|
||||
<label colspan="2" nolabel="1" string="Keep empty to use the expense account"/>
|
||||
<field groups="base.group_extended" name="child_depend"/>
|
||||
<field groups="base.group_extended" name="sequence"/>
|
||||
<field groups="base.group_extended" name="price_include"/>
|
||||
<field name="type_tax_use"/>
|
||||
<newline/>
|
||||
<field colspan="4" groups="base.group_extended" name="child_ids"/>
|
||||
@@ -648,9 +650,9 @@
|
||||
</page>
|
||||
<page groups="base.group_extended" string="Special Computation">
|
||||
<separator colspan="4" string="Compute Code (if type=code)"/>
|
||||
<field colspan="4" name="python_compute" nolabel="1" attrs="{'readonly':[('type','!=','code')]}"/>
|
||||
<field colspan="4" name="python_compute" nolabel="1" attrs="{'readonly':[('type','!=','code')],'required':[('type','=','code')]}"/>
|
||||
<separator colspan="4" string="Applicable Code (if type=code)"/>
|
||||
<field colspan="4" name="python_applicable" nolabel="1" attrs="{'readonly':[('applicable_type','=','true')]}"/>
|
||||
<field colspan="4" name="python_applicable" nolabel="1" attrs="{'readonly':[('applicable_type','=','true')], 'required':[('applicable_type','=','code')]}"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
@@ -1453,9 +1455,11 @@
|
||||
|
||||
<act_window domain="[('journal_id', '=', active_id)]" id="act_account_journal_2_account_move_line" name="Entry lines" res_model="account.move.line" src_model="account.journal"/>
|
||||
|
||||
<act_window domain="[('partner_id', '=', active_id), ('account_id.type', 'in', ['receivable', 'payable']), ('reconcile_id','=',False)]" id="act_account_partner_account_move_unreconciled" name="Receivables & Payables" res_model="account.move.line" src_model="res.partner"/>
|
||||
<act_window domain="[('partner_id', '=', active_id), ('account_id.type', 'in', ['receivable', 'payable']), ('reconcile_id','=',False)]" id="act_account_partner_account_move_unreconciled" name="Unreconciled Receivables & Payables" res_model="account.move.line" src_model="res.partner"/>
|
||||
|
||||
<act_window domain="[('partner_id', '=', active_id)]" id="act_account_partner_account_move" name="All account entries" res_model="account.move.line" src_model="res.partner"/>
|
||||
<act_window domain="[('partner_id', '=', active_id), ('account_id.type', 'in', ['receivable', 'payable'])]" id="act_account_partner_account_move_all" name="Receivables & Payables" res_model="account.move.line" src_model="res.partner"/>
|
||||
|
||||
<act_window domain="[('partner_id', '=', active_id)]" id="act_account_partner_account_move" name="All Account Entries" res_model="account.move.line" src_model="res.partner"/>
|
||||
|
||||
<record id="view_account_addtmpl_wizard_form" model="ir.ui.view">
|
||||
<field name="name">Account Add wizard</field>
|
||||
|
||||
@@ -8,13 +8,13 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-05-14 15:45+0000\n"
|
||||
"PO-Revision-Date: 2010-05-17 13:10+0000\n"
|
||||
"Last-Translator: Jon A. Ortuondo (Euskotec) <Unknown>\n"
|
||||
"Language-Team: Basque <eu@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-15 04:58+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-19 05:12+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
@@ -66,7 +66,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: wizard_view:account_use_models,init_form:0
|
||||
msgid "Select Message"
|
||||
msgstr "Mexua Aukeratu"
|
||||
msgstr "Mezua aurkeratu"
|
||||
|
||||
#. module: account
|
||||
#: help:product.category,property_account_income_categ:0
|
||||
|
||||
@@ -8,13 +8,13 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-03-13 10:33+0000\n"
|
||||
"Last-Translator: Cédric VALMARY (Per Tot en òc) <cvalmary@yahoo.fr>\n"
|
||||
"PO-Revision-Date: 2010-05-18 08:45+0000\n"
|
||||
"Last-Translator: Cédric VALMARY (Tot en òc) <cvalmary@yahoo.fr>\n"
|
||||
"Language-Team: Occitan (post 1500) <oc@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-17 04:07+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-19 05:12+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
@@ -175,7 +175,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: view:account.move:0
|
||||
msgid "Total Credit"
|
||||
msgstr "Total crrdit"
|
||||
msgstr "Credit Total"
|
||||
|
||||
#. module: account
|
||||
#: field:account.config.wizard,charts:0
|
||||
@@ -255,7 +255,7 @@ msgstr "Taxas provesidors"
|
||||
#. module: account
|
||||
#: view:account.move:0
|
||||
msgid "Total Debit"
|
||||
msgstr "Total debit"
|
||||
msgstr "Debit Total"
|
||||
|
||||
#. module: account
|
||||
#: rml:account.tax.code.entries:0
|
||||
@@ -808,7 +808,6 @@ msgstr ""
|
||||
msgid "Move Lines"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
|
||||
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
|
||||
@@ -2136,7 +2135,8 @@ msgid "Analytic Entry"
|
||||
msgstr ""
|
||||
|
||||
#. module: account
|
||||
#: view:res.company:0 field:res.company,overdue_msg:0
|
||||
#: view:res.company:0
|
||||
#: field:res.company,overdue_msg:0
|
||||
msgid "Overdue Payments Message"
|
||||
msgstr ""
|
||||
|
||||
|
||||
+38
-15
@@ -23,8 +23,8 @@ import time
|
||||
import decimal_precision as dp
|
||||
|
||||
import netsvc
|
||||
from osv import fields, osv
|
||||
import ir
|
||||
|
||||
from osv import fields, osv, orm
|
||||
import pooler
|
||||
from tools import config
|
||||
from tools.translate import _
|
||||
@@ -217,6 +217,7 @@ class account_invoice(osv.osv):
|
||||
_name = "account.invoice"
|
||||
_description = 'Invoice'
|
||||
_order = "number"
|
||||
_log_create = True
|
||||
_columns = {
|
||||
'name': fields.char('Description', size=64, select=True,readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'origin': fields.char('Source Document', size=64, help="Reference of the document that produced this invoice."),
|
||||
@@ -330,11 +331,18 @@ class account_invoice(osv.osv):
|
||||
return res
|
||||
except Exception,e:
|
||||
if '"journal_id" viol' in e.args[0]:
|
||||
raise except_orm(_('Configuration Error!'),
|
||||
raise orm.except_orm(_('Configuration Error!'),
|
||||
_('There is no Accounting Journal of type Sale/Purchase defined!'))
|
||||
else:
|
||||
raise except_orm(_('UnknownError'), str(e))
|
||||
|
||||
raise orm.except_orm(_('UnknownError'), str(e))
|
||||
|
||||
def confirm_paid(self, cr, uid, ids, context=None):
|
||||
self.write(cr, uid, ids, {'state':'paid'}, context=context)
|
||||
for (id,name) in self.name_get(cr, uid, ids):
|
||||
message = _('Document ') + " '" + name + "' "+ _("has been paid.")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
|
||||
def unlink(self, cr, uid, ids, context=None):
|
||||
invoices = self.read(cr, uid, ids, ['state'])
|
||||
unlink_ids = []
|
||||
@@ -350,7 +358,7 @@ class account_invoice(osv.osv):
|
||||
# res = self.pool.get('res.partner').address_get(cr, uid, [part], ['invoice'])
|
||||
# return [{}]
|
||||
def onchange_partner_id(self, cr, uid, ids, type, partner_id,
|
||||
date_invoice=False, payment_term=False, partner_bank_id=False, company_id=False):
|
||||
date_invoice=False, payment_term=False, partner_bank=False, company_id=False):
|
||||
invoice_addr_id = False
|
||||
contact_addr_id = False
|
||||
partner_payment_term = False
|
||||
@@ -415,7 +423,7 @@ class account_invoice(osv.osv):
|
||||
else:
|
||||
result['value']['date_due'] = False
|
||||
|
||||
if partner_bank_id != bank_id:
|
||||
if partner_bank != bank_id:
|
||||
to_update = self.onchange_partner_bank(cr, uid, ids, bank_id)
|
||||
result['value'].update(to_update['value'])
|
||||
return result
|
||||
@@ -450,7 +458,7 @@ class account_invoice(osv.osv):
|
||||
def onchange_invoice_line(self, cr, uid, ids, lines):
|
||||
return {}
|
||||
|
||||
def onchange_partner_bank(self, cursor, user, ids, partner_bank_id):
|
||||
def onchange_partner_bank(self, cursor, user, ids, partner_bank):
|
||||
return {'value': {}}
|
||||
|
||||
def onchange_company_id(self, cr, uid, ids, company_id, part_id, type, invoice_line, currency_id):
|
||||
@@ -650,6 +658,16 @@ class account_invoice(osv.osv):
|
||||
self.write(cr, uid, [inv.id], res['value'])
|
||||
return True
|
||||
|
||||
def finalize_invoice_move_lines(self, cr, uid, invoice_browse, move_lines):
|
||||
"""finalize_invoice_move_lines(cr, uid, invoice, move_lines) -> move_lines
|
||||
Hook method to be overridden in additional modules to verify and possibly alter the
|
||||
move lines to be created by an invoice, for special cases.
|
||||
:param invoice_browse: browsable record of the invoice that is generating the move lines
|
||||
:param move_lines: list of dictionaries with the account.move.lines (as for create())
|
||||
:return: the (possibly updated) final move_lines to create for this invoice
|
||||
"""
|
||||
return move_lines
|
||||
|
||||
def check_tax_lines(self, cr, uid, inv, compute_taxes, ait_obj):
|
||||
if not inv.tax_line:
|
||||
for tax in compute_taxes.values():
|
||||
@@ -912,7 +930,12 @@ class account_invoice(osv.osv):
|
||||
# will be automatically deleted too
|
||||
account_move_obj.unlink(cr, uid, [i['move_id'][0]])
|
||||
if i['payment_ids']:
|
||||
self.pool.get('account.move.line').write(cr, uid, i['payment_ids'], {'reconcile_partial_id': False})
|
||||
account_move_line_obj = self.pool.get('account.move.line')
|
||||
pay_ids = account_move_line_obj.browse(cr, uid , i['payment_ids'])
|
||||
for move_line in pay_ids:
|
||||
if move_line.reconcile_partial_id and move_line.reconcile_partial_id.line_partial_ids:
|
||||
raise osv.except_osv(_('Error !'), _('You cannot cancel the Invoice which is Partially Paid! You need to unreconcile concerned payment entries!'))
|
||||
|
||||
self.write(cr, uid, ids, {'state':'cancel', 'move_id':False})
|
||||
self._log_event(cr, uid, ids,-1.0, 'Cancel Invoice')
|
||||
return True
|
||||
@@ -1147,14 +1170,14 @@ class account_invoice_line(osv.osv):
|
||||
t = t - (p * l[2].get('quantity'))
|
||||
taxes = l[2].get('invoice_line_tax_id')
|
||||
if len(taxes[0]) >= 3 and taxes[0][2]:
|
||||
taxes=tax_obj.browse(cr, uid, taxes[0][2])
|
||||
taxes = tax_obj.browse(cr, uid, taxes[0][2])
|
||||
for tax in tax_obj.compute(cr, uid, taxes, p,l[2].get('quantity'), context.get('address_invoice_id', False), l[2].get('product_id', False), context.get('partner_id', False)):
|
||||
t = t - tax['amount']
|
||||
return t
|
||||
return 0
|
||||
|
||||
_name = "account.invoice.line"
|
||||
_description = "Invoice line"
|
||||
_description = "Invoice Line"
|
||||
_columns = {
|
||||
'name': fields.char('Description', size=256, required=True),
|
||||
'origin': fields.char('Origin', size=256, help="Reference of the document that produced this invoice."),
|
||||
@@ -1200,8 +1223,8 @@ class account_invoice_line(osv.osv):
|
||||
part = self.pool.get('res.partner').browse(cr, uid, partner_id)
|
||||
fpos = fposition_id and self.pool.get('account.fiscal.position').browse(cr, uid, fposition_id) or False
|
||||
|
||||
lang=part.lang
|
||||
context.update({'lang': lang})
|
||||
if part.lang:
|
||||
context.update({'lang': part.lang})
|
||||
result = {}
|
||||
res = self.pool.get('product.product').browse(cr, uid, product, context=context)
|
||||
|
||||
@@ -1500,9 +1523,9 @@ account_invoice_tax()
|
||||
class res_partner(osv.osv):
|
||||
""" Inherits partner and adds invoice information in the partner form """
|
||||
_inherit = 'res.partner'
|
||||
|
||||
|
||||
_columns = {
|
||||
'invoice_ids': fields.one2many('account.invoice.line', 'partner_id', 'Invoices'),
|
||||
'invoice_ids': fields.one2many('account.invoice.line', 'partner_id', 'Invoices'),
|
||||
}
|
||||
|
||||
res_partner()
|
||||
|
||||
@@ -113,6 +113,7 @@
|
||||
</form>
|
||||
<tree string="Bank Details">
|
||||
<field name="state"/>
|
||||
<field name="bank"/>
|
||||
<field name="owner_name"/>
|
||||
<field name="acc_number"/>
|
||||
</tree>
|
||||
|
||||
@@ -25,13 +25,13 @@
|
||||
<field name="arch" type="xml">
|
||||
<search string="Analytic Account">
|
||||
<group col="8" colspan="4">
|
||||
<filter icon="gtk-execute" string="My Accounts" domain="[('user_id','=',uid)]" help="My Analytic Accounts"/>
|
||||
<filter icon="gtk-execute" string="Current" domain="[('state','=','open')]" help="Current Accounts"/>
|
||||
<filter icon="gtk-execute" string="Pending" domain="[('state','=','pending')]" help="Pending Accounts"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name" select="1"/>
|
||||
<field name="code" select="1"/>
|
||||
<field name="partner_id" select="1"/>
|
||||
<field name="user_id" widget="selection"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
@@ -97,6 +97,7 @@
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph,form</field>
|
||||
<field name="view_id" ref="view_account_analytic_account_tree"/>
|
||||
<field name="context">{"search_default_user_id":uid}</field>
|
||||
<field name="search_view_id" ref="account.view_account_analytic_account_search"/>
|
||||
</record>
|
||||
<!--<menuitem id="menu_analytic_account" name="Analytic Accounts" parent="account.menu_analytic_accounting"/>-->
|
||||
@@ -188,11 +189,11 @@
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Analytic Lines">
|
||||
<group col='6' colspan='4'>
|
||||
<filter icon="gtk-execute" string="My" domain="[('user_id','=',uid)]" help="My Analytic Entries"/>
|
||||
<field name="name" select="1"/>
|
||||
<field name="journal_id" select="1"/>
|
||||
<field name="account_id" select="1"/>
|
||||
<field name="date" select="1"/>
|
||||
<field name="user_id" widget="selection"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
@@ -202,6 +203,7 @@
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account.analytic.line</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="context">{"search_default_user_id":uid}</field>
|
||||
<field name="view_id" ref="view_account_analytic_line_tree"/>
|
||||
</record>
|
||||
<wizard id="action_account_analytic_line" menu="False" model="account.analytic.line" name="account.analytic.line" string="Entries by Line"/>
|
||||
|
||||
@@ -54,12 +54,12 @@ class account_analytic_analytic_check(report_sxw.rml_parse):
|
||||
|
||||
self.cr.execute("SELECT abs(sum(amount)) AS balance \
|
||||
FROM account_analytic_line \
|
||||
WHERE date>=%s AND date<=%s AND amount>0 AND general_account_id = %s", (date1, date2, a['id']))
|
||||
WHERE date>=%s AND date<=%s AND amount<0 AND general_account_id = %s", (date1, date2, a['id']))
|
||||
(ad,) = self.cr.fetchone()
|
||||
ad = ad or 0.0
|
||||
self.cr.execute("SELECT abs(sum(amount)) AS balance \
|
||||
FROM account_analytic_line \
|
||||
WHERE date>=%s AND date<=%s AND amount<0 AND general_account_id = %s", (date1, date2, a['id']))
|
||||
WHERE date>=%s AND date<=%s AND amount>0 AND general_account_id = %s", (date1, date2, a['id']))
|
||||
(ac,) = self.cr.fetchone()
|
||||
ac = ac or 0.0
|
||||
|
||||
|
||||
@@ -44,12 +44,7 @@
|
||||
<filter string="End" icon="terp-account" domain="[('date_end','=',time.strftime('%%Y/%%m/%%d'))]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name"/>
|
||||
<field name="user_id" widget="selection">
|
||||
<filter icon="terp-account"
|
||||
string="My Accounts"
|
||||
name="User"
|
||||
domain="[('user_id','=',uid)]"/>
|
||||
</field>
|
||||
<field name="user_id" widget="selection"/>
|
||||
<field name="partner_id"/>
|
||||
</group>
|
||||
<newline/>
|
||||
|
||||
@@ -79,10 +79,6 @@
|
||||
<field name="product_id"/>
|
||||
<field name="user_id" widget="selection">
|
||||
|
||||
<filter icon="terp-account"
|
||||
string="My Invoices"
|
||||
help = "My Invoices"
|
||||
domain="[('user_id','=',uid)]" />
|
||||
<filter icon="terp-account"
|
||||
string="Invoices Non Users"
|
||||
help="Invoices Non Users"
|
||||
@@ -141,7 +137,7 @@
|
||||
<field name="res_model">account.invoice.report</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="context">{'search_default_month':1,'search_default_User':1,'group_by_no_leaf':1,'group_by':[]}</field>
|
||||
<field name="context">{'search_default_month':1,'search_default_User':1,'group_by_no_leaf':1,'group_by':[],'search_default_user_id':uid}</field>
|
||||
<field name="search_view_id" ref="view_account_invoice_report_search"/>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -84,8 +84,8 @@
|
||||
<paraStyle name="terp_default_Bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Centre_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<images/>
|
||||
</stylesheet>
|
||||
<images/>
|
||||
<story>
|
||||
<para style="terp_default_8">[[ repeatIn(objects,'o') ]]</para>
|
||||
<para style="terp_default_8">[[ setLang(o.lang) ]]</para>
|
||||
@@ -177,16 +177,16 @@
|
||||
<para style="terp_default_Centre_9">[[ line['ref'] ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Centre_9">[[ line['date_maturity'] ]]</para>
|
||||
<para style="terp_default_Centre_9">[[ line['date_maturity'] and formatLang(line['date_maturity'],date=True) or '' ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">[[ formatLang(line['debit']) and formatLang(line['debit'] * (line['account_id']['type'] == 'payable' and -1 or 1)) ]]</para>
|
||||
<para style="terp_default_Right_9">[[ (line['account_id']['type'] == 'receivable' and formatLang(line['debit']) or 0) or (line['account_id']['type'] == 'payable' and formatLang(line['credit'] * -1) or ' ') ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">[[ formatLang(line['credit']) and formatLang(line['credit'] * (line['account_id']['type'] == 'payable' and -1 or 1)) ]]</para>
|
||||
<para style="terp_default_Right_9">[[ (line['account_id']['type'] == 'receivable' and formatLang(line['credit']) or 0) or (line['account_id']['type'] == 'payable' and formatLang(line['debit'] * -1) or 0) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">[[ formatLang((line['date_maturity'] < time.strftime('%Y-%m-%d')) and ((line['debit'] - line['credit']) * (line['account_id']['type'] == 'payable' and -1 or 1))) ]]</para>
|
||||
<para style="terp_default_Right_9">[[ formatLang((line['date_maturity'] < time.strftime('%Y-%m-%d'))) and (line['debit'] - line['credit']) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Centre_9">[[ line['blocked'] and 'X' or '' ]]</para>
|
||||
@@ -205,13 +205,13 @@
|
||||
<para style="terp_default_Bold_9">Sub-Total : </para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">[[ formatLang((reduce(lambda x, y: x + (y['debit'] * (y['account_id']['type'] == 'payable' and -1 or 1)), getLines(o), 0))) ]]</para>
|
||||
<para style="terp_default_Right_9">[[ formatLang((reduce(lambda x, y: x + ((y['account_id']['type'] == 'receivable' and y['debit'] or 0) or (y['account_id']['type'] == 'payable' and y['credit'] * -1 or 0)), getLines(o), 0))) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">[[ formatLang((reduce(lambda x ,y: x + (y['credit'] * (y['account_id']['type'] == 'payable' and -1 or 1)), getLines(o), 0))) ]] </para>
|
||||
<para style="terp_default_Right_9">[[ formatLang((reduce(lambda x, y: x + ((y['account_id']['type'] == 'receivable' and y['credit'] or 0) or (y['account_id']['type'] == 'payable' and y['debit'] * -1 or 0)), getLines(o), 0))) ]] </para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">[[ formatLang((reduce(lambda x, y: x + ((y['debit'] - y['credit']) * (y['account_id']['type'] == 'payable' and -1 or 1)), filter(lambda x: x['date_maturity'] < time.strftime('%Y-%m-%d'), getLines(o)), 0))) ]]</para>
|
||||
<para style="terp_default_Right_9">[[ formatLang((reduce(lambda x, y: x + (y['debit'] - y['credit']), filter(lambda x: x['date_maturity'] < time.strftime('%Y-%m-%d'), getLines(o)), 0))) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_9">
|
||||
@@ -229,7 +229,7 @@
|
||||
<para style="terp_default_Bold_9">Balance : </para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">[[ formatLang((reduce(lambda x, y: x +((y['debit'] - y['credit']) * (y['account_id']['type'] == 'payable' and -1 or 1)), getLines(o), 0))) ]]</para>
|
||||
<para style="terp_default_Right_9">[[ formatLang((reduce(lambda x, y: x +(y['debit'] - y['credit']), getLines(o), 0))) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_9">
|
||||
@@ -248,9 +248,9 @@
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<para style="terp_default_9">Total amount due: [[ formatLang((reduce(lambda x, y: x + ((y['debit'] - y['credit']) * (y['account_id']['type'] == 'payable' and -1 or 1)), getLines(o), 0))) ]] [[ company.currency_id.name ]].</para>
|
||||
<para style="terp_default_9">Total amount due: [[ formatLang((reduce(lambda x, y: x + (y['debit'] - y['credit']), getLines(o), 0))) ]] [[ company.currency_id.name ]].</para>
|
||||
<para style="terp_default_8">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</story>
|
||||
</document>
|
||||
</document>
|
||||
@@ -15,8 +15,8 @@
|
||||
"access_account_move","account.move","model_account_move","account.group_account_user",1,1,1,1
|
||||
"access_account_move_line","account.move.line","model_account_move_line","account.group_account_user",1,1,1,1
|
||||
"access_account_move_reconcile","account.move.reconcile","model_account_move_reconcile","account.group_account_user",1,1,1,1
|
||||
"access_account_tax_code","account.tax.code","model_account_tax_code",,1,0,0,0
|
||||
"access_account_tax","account.tax","model_account_tax",,1,0,0,0
|
||||
"access_account_tax_code","account.tax.code","model_account_tax_code","account.group_account_invoice",1,0,0,0
|
||||
"access_account_tax","account.tax","model_account_tax","account.group_account_invoice",1,0,0,0
|
||||
"access_account_model","account.model","model_account_model","account.group_account_user",1,1,1,1
|
||||
"access_account_model_line","account.model.line","model_account_model_line","account.group_account_user",1,1,1,1
|
||||
"access_account_subscription","account.subscription","model_account_subscription","account.group_account_user",1,1,1,1
|
||||
@@ -93,3 +93,13 @@
|
||||
"access_report_account_type_sales","report.account_type.sales","model_report_account_type_sales","account.group_account_manager",1,0,0,0
|
||||
"access_report_account_sales","report.account.sales","model_report_account_sales","account.group_account_manager",1,0,0,0
|
||||
"access_account_invoice_report","account.invoice.report","model_account_invoice_report","account.group_account_manager",1,0,0,0
|
||||
"access_project_account_analytic_line","project.account.analytic.line","model_project_account_analytic_line","account.group_account_manager",1,1,1,1
|
||||
"access_account_move_line_reconcile_select","account.move.line.reconcile.select","model_account_move_line_reconcile_select","account.group_account_manager",1,1,1,1
|
||||
"access_account_move_line_unreconcile_select","account.move.line.unreconcile.select","model_account_move_line_unreconcile_select","account.group_account_manager",1,1,1,1
|
||||
"access_account_invoice_refund","account.invoice.refund","model_account_invoice_refund","account.group_account_manager",1,1,1,1
|
||||
"access_account_move_journal","account.move.journal","model_account_move_journal","account.group_account_manager",1,1,1,1
|
||||
"access_account_move_bank_reconcile","account.move.bank.reconcile","model_account_move_bank_reconcile","account.group_account_manager",1,1,1,1
|
||||
"access_account_subscription_generate","account.subscription.generate","model_account_subscription_generate","account.group_account_manager",1,1,1,1
|
||||
"access_account_period_close","account.period.close","model_account_period_close","account.group_account_manager",1,1,1,1
|
||||
"access_account_fiscalyear_close_state","account.fiscalyear.close.state","model_account_fiscalyear_close_state","account.group_account_manager",1,1,1,1
|
||||
"access_account_chart","account.chart","model_account_chart","account.group_account_manager",1,1,1,1
|
||||
|
||||
|
@@ -42,7 +42,7 @@ class ir_sequence(osv.osv):
|
||||
_columns = {
|
||||
'fiscal_ids' : fields.one2many('account.sequence.fiscalyear', 'sequence_main_id', 'Sequences')
|
||||
}
|
||||
def get_id(self, cr, uid, sequence_id, test='id', context={}):
|
||||
def get_id(self, cr, uid, sequence_id, test='id', context={}):
|
||||
cr.execute('select id from ir_sequence where '+test+'=%s and active=%s', (sequence_id, True,))
|
||||
res = cr.dictfetchone()
|
||||
if res:
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
from osv import fields, osv
|
||||
from tools.translate import _
|
||||
import netsvc
|
||||
import time
|
||||
|
||||
class account_invoice_refund(osv.osv_memory):
|
||||
|
||||
@@ -29,10 +30,14 @@ class account_invoice_refund(osv.osv_memory):
|
||||
_name = "account.invoice.refund"
|
||||
_description = "Invoice Refund"
|
||||
_columns = {
|
||||
'date': fields.date('Operation date', required=False),
|
||||
'date': fields.date('Operation date', required=False, help='This date will be used as the invoice date for Refund Invoice and Period will be chosen accordingly!'),
|
||||
'period': fields.many2one('account.period', 'Force period', required=False),
|
||||
'description': fields.char('Description', size=150, required=True),
|
||||
}
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
'date': time.strftime('%Y-%m-%d'),
|
||||
}
|
||||
|
||||
def compute_refund(self, cr, uid, ids, mode, context=None):
|
||||
"""
|
||||
@@ -167,7 +172,7 @@ class account_invoice_refund(osv.osv_memory):
|
||||
xml_id = 'action_invoice_tree1'
|
||||
elif inv.type == 'in_invoice':
|
||||
xml_id = 'action_invoice_tree2'
|
||||
elif type == 'out_refund':
|
||||
elif inv.type == 'out_refund':
|
||||
xml_id = 'action_invoice_tree3'
|
||||
else:
|
||||
xml_id = 'action_invoice_tree4'
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#
|
||||
##############################################################################
|
||||
import time
|
||||
import datetime
|
||||
|
||||
from osv import fields, osv
|
||||
from tools.translate import _
|
||||
|
||||
@@ -29,11 +29,17 @@ class account_unreconcile(osv.osv_memory):
|
||||
obj_move_reconcile = self.pool.get('account.move.reconcile')
|
||||
if context is None:
|
||||
context = {}
|
||||
recs = obj_move_line.read(cr, uid, context['active_ids'], ['reconcile_id',])
|
||||
recs = filter(lambda x: x['reconcile_id'], recs)
|
||||
rec_ids = [rec['reconcile_id'][0] for rec in recs]
|
||||
if len(rec_ids):
|
||||
obj_move_reconcile.unlink(cr, uid, rec_ids)
|
||||
recs = pool.get('account.move.line').read(cr, uid, data['ids'], ['reconcile_id','reconcile_partial_id'])
|
||||
unlink_ids = []
|
||||
full_recs = filter(lambda x: x['reconcile_id'], recs)
|
||||
rec_ids = [rec['reconcile_id'][0] for rec in full_recs]
|
||||
part_recs = filter(lambda x: x['reconcile_partial_id'], recs)
|
||||
part_rec_ids = [rec['reconcile_partial_id'][0] for rec in part_recs]
|
||||
unlink_ids += rec_ids
|
||||
unlink_ids += part_rec_ids
|
||||
|
||||
if len(unlink_ids):
|
||||
pooler.get_pool(cr.dbname).get('account.move.reconcile').unlink(cr, uid, unlink_ids)
|
||||
return {}
|
||||
|
||||
account_unreconcile()
|
||||
@@ -44,10 +50,11 @@ class account_unreconcile_reconcile(osv.osv_memory):
|
||||
|
||||
def trans_unrec_reconcile(self, cr, uid, ids, context=None):
|
||||
obj_move_reconcile = self.pool.get('account.move.reconcile')
|
||||
rec_ids = context['active_ids']
|
||||
if context is None:
|
||||
context = {}
|
||||
if len(rec_ids):
|
||||
obj_move_reconcile.unlink(cr, uid, context['active_ids'])
|
||||
obj_move_reconcile.unlink(cr, uid, rec_ids)
|
||||
return {}
|
||||
|
||||
account_unreconcile_reconcile()
|
||||
|
||||
@@ -393,7 +393,7 @@ account_analytic_account()
|
||||
|
||||
class account_analytic_account_summary_user(osv.osv):
|
||||
_name = "account_analytic_analysis.summary.user"
|
||||
_description = "Hours summary by user"
|
||||
_description = "Hours Summary by User"
|
||||
_order='user'
|
||||
_auto = False
|
||||
_rec_name = 'user'
|
||||
|
||||
@@ -25,7 +25,7 @@ import time
|
||||
|
||||
class account_analytic_default(osv.osv):
|
||||
_name = 'account.analytic.default'
|
||||
_description = 'Analytic Distributions'
|
||||
_description = 'Analytic Distribution'
|
||||
_rec_name = 'analytic_id'
|
||||
_order = 'sequence'
|
||||
_columns = {
|
||||
@@ -69,7 +69,7 @@ account_analytic_default()
|
||||
|
||||
class account_invoice_line(osv.osv):
|
||||
_inherit = 'account.invoice.line'
|
||||
_description = 'account invoice line'
|
||||
_description = 'Invoice Line'
|
||||
|
||||
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition=False, price_unit=False, address_invoice_id=False, currency_id=False, context={}):
|
||||
res_prod = super(account_invoice_line,self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition, price_unit, address_invoice_id, currency_id=currency_id, context=context)
|
||||
@@ -103,6 +103,8 @@ class sale_order_line(osv.osv):
|
||||
# Method overridden to set the analytic account by default on criterion match
|
||||
def invoice_line_create(self, cr, uid, ids, context={}):
|
||||
create_ids = super(sale_order_line,self).invoice_line_create(cr, uid, ids, context)
|
||||
if not ids:
|
||||
return create_ids
|
||||
sale_line_obj = self.browse(cr, uid, ids[0], context)
|
||||
pool_inv_line = self.pool.get('account.invoice.line')
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ class one2many_mod2(fields.one2many):
|
||||
|
||||
class account_analytic_plan(osv.osv):
|
||||
_name = "account.analytic.plan"
|
||||
_description = "Analytic Plans"
|
||||
_description = "Analytic Plan"
|
||||
_columns = {
|
||||
'name': fields.char('Analytic Plan', size=64, required=True, select=True,),
|
||||
'plan_ids': fields.one2many('account.analytic.plan.line','plan_id','Analytic Plans'),
|
||||
@@ -63,7 +63,7 @@ account_analytic_plan()
|
||||
|
||||
class account_analytic_plan_line(osv.osv):
|
||||
_name = "account.analytic.plan.line"
|
||||
_description = "Analytic Plan Lines"
|
||||
_description = "Analytic Plan Line"
|
||||
_columns = {
|
||||
'plan_id':fields.many2one('account.analytic.plan','Analytic Plan'),
|
||||
'name': fields.char('Plan Name', size=64, required=True, select=True),
|
||||
@@ -297,14 +297,15 @@ class account_move_line(osv.osv):
|
||||
|
||||
def create_analytic_lines(self, cr, uid, ids, context={}):
|
||||
super(account_move_line, self).create_analytic_lines(cr, uid, ids, context)
|
||||
analytic_line_obj = self.pool.get('account.analytic.line')
|
||||
for line in self.browse(cr, uid, ids, context):
|
||||
if line.analytics_id:
|
||||
if not line.journal_id.analytic_journal_id:
|
||||
raise osv.except_osv(_('No Analytic Journal !'),_("You have to define an analytic journal on the '%s' journal!") % (line.journal_id.name,))
|
||||
|
||||
toremove = self.pool.get('account.analytic.line').search(cr, uid, [('move_id','=',line.id)], context=context)
|
||||
toremove = analytic_line_obj.search(cr, uid, [('move_id','=',line.id)], context=context)
|
||||
if toremove:
|
||||
line.unlink(cr, uid, toremove, context=context)
|
||||
analytic_line_obj.unlink(cr, uid, toremove, context=context)
|
||||
for line2 in line.analytics_id.account_ids:
|
||||
val = (line.credit or 0.0) - (line.debit or 0.0)
|
||||
amt=val * (line2.rate/100)
|
||||
@@ -321,7 +322,7 @@ class account_move_line(osv.osv):
|
||||
'journal_id': line.journal_id.analytic_journal_id.id,
|
||||
'ref': line.ref,
|
||||
}
|
||||
ali_id=self.pool.get('account.analytic.line').create(cr,uid,al_vals)
|
||||
ali_id=analytic_line_obj.create(cr, uid, al_vals, context=context)
|
||||
return True
|
||||
|
||||
account_move_line()
|
||||
|
||||
@@ -24,7 +24,7 @@ from osv import fields, osv
|
||||
class purchase_order(osv.osv):
|
||||
_name = "purchase.order"
|
||||
_inherit = "purchase.order"
|
||||
_description = "Purchase order"
|
||||
_description = "Purchase Order"
|
||||
|
||||
def inv_line_create(self, cr, uid, a, ol):
|
||||
line = super(purchase_order, self).inv_line_create(cr, uid, a, ol)
|
||||
@@ -37,5 +37,4 @@ class purchase_order(osv.osv):
|
||||
a = self.pool.get('account.fiscal.position').map_account(cr, uid, fpos, oa)
|
||||
line[2].update({'account_id': a})
|
||||
return line
|
||||
purchase_order()
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
purchase_order()
|
||||
|
||||
@@ -239,7 +239,7 @@ class crossovered_budget_lines(osv.osv):
|
||||
res[line.id]=0.00
|
||||
return res
|
||||
_name="crossovered.budget.lines"
|
||||
_description = "Budget Lines"
|
||||
_description = "Budget Line"
|
||||
_columns = {
|
||||
'crossovered_budget_id': fields.many2one('crossovered.budget', 'Budget', ondelete='cascade', select=True, required=True),
|
||||
'analytic_account_id': fields.many2one('account.analytic.account', 'Analytic Account',required=True),
|
||||
|
||||
@@ -0,0 +1,486 @@
|
||||
# Occitan (post 1500) translation for openobject-addons
|
||||
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-05-18 08:42+0000\n"
|
||||
"Last-Translator: Cédric VALMARY (Tot en òc) <cvalmary@yahoo.fr>\n"
|
||||
"Language-Team: Occitan (post 1500) <oc@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-19 05:12+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_budget
|
||||
#: field:crossovered.budget,creating_user_id:0
|
||||
msgid "Responsible User"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.budget:0
|
||||
msgid "% performance"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: model:ir.actions.act_window,name:account_budget.open_budget_post_form
|
||||
#: model:ir.ui.menu,name:account_budget.menu_budget_post_form
|
||||
msgid "Budgetary Positions"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Nom del Modèl invalid per la definicion de l'accion."
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.analytic.account.budget:0
|
||||
#: rml:crossovered.budget.report:0
|
||||
msgid "Printed at:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: view:crossovered.budget:0
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar"
|
||||
|
||||
#. module: account_budget
|
||||
#: field:crossovered.budget,validating_user_id:0
|
||||
msgid "Validate User"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
"Lo nom de l'objècte deu començar amb x_ e conténer pas de caractèrs "
|
||||
"especials !"
|
||||
|
||||
#. module: account_budget
|
||||
#: selection:crossovered.budget,state:0
|
||||
msgid "Confirmed"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: field:account.budget.post.dotation,period_id:0
|
||||
msgid "Period"
|
||||
msgstr "Periòde"
|
||||
|
||||
#. module: account_budget
|
||||
#: wizard_field:account.budget.report,init,date2:0
|
||||
#: wizard_field:wizard.analytic.account.budget.report,init,date_to:0
|
||||
#: wizard_field:wizard.crossovered.budget,init,date_to:0
|
||||
#: wizard_field:wizard.crossovered.budget.summary,init,date_to:0
|
||||
msgid "End of period"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.budget:0
|
||||
msgid "Printing date:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: selection:crossovered.budget,state:0
|
||||
msgid "Draft"
|
||||
msgstr "Borrolhon"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.analytic.account.budget:0
|
||||
#: rml:account.budget:0
|
||||
#: rml:crossovered.budget.report:0
|
||||
msgid "at"
|
||||
msgstr "a"
|
||||
|
||||
#. module: account_budget
|
||||
#: view:account.budget.post:0
|
||||
msgid "Dotations"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.budget:0
|
||||
msgid "Performance"
|
||||
msgstr "Performància"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.analytic.account.budget:0
|
||||
#: rml:account.budget:0
|
||||
#: rml:crossovered.budget.report:0
|
||||
msgid "Currency:"
|
||||
msgstr "Devisa :"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.budget:0
|
||||
msgid "From"
|
||||
msgstr "De"
|
||||
|
||||
#. module: account_budget
|
||||
#: field:crossovered.budget.lines,percentage:0
|
||||
msgid "Percentage"
|
||||
msgstr "Percentatge"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.budget:0
|
||||
msgid "Results"
|
||||
msgstr "Resultats"
|
||||
|
||||
#. module: account_budget
|
||||
#: field:crossovered.budget,state:0
|
||||
msgid "Status"
|
||||
msgstr "Estat"
|
||||
|
||||
#. module: account_budget
|
||||
#: model:ir.module.module,description:account_budget.module_meta_information
|
||||
msgid ""
|
||||
"This module allows accountants to manage analytic and crossovered budgets.\n"
|
||||
"\n"
|
||||
"Once the Master Budgets and the Budgets defined (in Financial\n"
|
||||
"Management/Budgets/), the Project Managers can set the planned amount on "
|
||||
"each\n"
|
||||
"Analytic Account.\n"
|
||||
"\n"
|
||||
"The accountant has the possibility to see the total of amount planned for "
|
||||
"each\n"
|
||||
"Budget and Master Budget in order to ensure the total planned is not\n"
|
||||
"greater/lower than what he planned for this Budget/Master Budget. Each list "
|
||||
"of\n"
|
||||
"record can also be switched to a graphical view of it.\n"
|
||||
"\n"
|
||||
"Three reports are available:\n"
|
||||
" 1. The first is available from a list of Budgets. It gives the "
|
||||
"spreading, for these Budgets, of the Analytic Accounts per Master Budgets.\n"
|
||||
"\n"
|
||||
" 2. The second is a summary of the previous one, it only gives the "
|
||||
"spreading, for the selected Budgets, of the Analytic Accounts.\n"
|
||||
"\n"
|
||||
" 3. The last one is available from the Analytic Chart of Accounts. It "
|
||||
"gives the spreading, for the selected Analytic Accounts, of the Master "
|
||||
"Budgets per Budgets.\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.budget:0
|
||||
#: rml:crossovered.budget.report:0
|
||||
msgid "%"
|
||||
msgstr "%"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.analytic.account.budget:0
|
||||
#: rml:crossovered.budget.report:0
|
||||
msgid "Description"
|
||||
msgstr "Descripcion"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.analytic.account.budget:0
|
||||
msgid "Analytic Account :"
|
||||
msgstr "Compte Analitic :"
|
||||
|
||||
#. module: account_budget
|
||||
#: wizard_button:account.budget.report,init,report:0
|
||||
#: wizard_button:wizard.analytic.account.budget.report,init,report:0
|
||||
#: wizard_button:wizard.crossovered.budget,init,report:0
|
||||
#: wizard_button:wizard.crossovered.budget.summary,init,report:0
|
||||
msgid "Print"
|
||||
msgstr "Estampar"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.budget:0
|
||||
msgid "A/c No."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.analytic.account.budget:0
|
||||
#: rml:account.budget:0
|
||||
#: rml:crossovered.budget.report:0
|
||||
msgid "to"
|
||||
msgstr "a"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.analytic.account.budget:0
|
||||
#: rml:account.budget:0
|
||||
#: rml:crossovered.budget.report:0
|
||||
msgid "Total :"
|
||||
msgstr "Total :"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.analytic.account.budget:0
|
||||
#: field:crossovered.budget.lines,planned_amount:0
|
||||
#: rml:crossovered.budget.report:0
|
||||
msgid "Planned Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.analytic.account.budget:0
|
||||
#: rml:crossovered.budget.report:0
|
||||
msgid "Perc(%)"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.budget:0
|
||||
msgid "Period Budget"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.budget:0
|
||||
msgid "Budget Analysis"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: view:crossovered.budget:0
|
||||
#: selection:crossovered.budget,state:0
|
||||
msgid "Done"
|
||||
msgstr "Acabat"
|
||||
|
||||
#. module: account_budget
|
||||
#: view:crossovered.budget:0
|
||||
msgid "Validate"
|
||||
msgstr "Validar"
|
||||
|
||||
#. module: account_budget
|
||||
#: wizard_view:wizard.crossovered.budget,init:0
|
||||
#: wizard_view:wizard.crossovered.budget.summary,init:0
|
||||
msgid "Select Options"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.analytic.account.budget:0
|
||||
#: field:crossovered.budget.lines,practical_amount:0
|
||||
#: rml:crossovered.budget.report:0
|
||||
msgid "Practical Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: field:crossovered.budget,date_to:0
|
||||
#: field:crossovered.budget.lines,date_to:0
|
||||
msgid "End Date"
|
||||
msgstr "Data de fin"
|
||||
|
||||
#. module: account_budget
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "XML invalid per l'arquitectura de la vista"
|
||||
|
||||
#. module: account_budget
|
||||
#: field:crossovered.budget.lines,theoritical_amount:0
|
||||
msgid "Theoritical Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: field:account.budget.post,name:0
|
||||
#: field:account.budget.post.dotation,name:0
|
||||
#: field:crossovered.budget,name:0
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#. module: account_budget
|
||||
#: model:ir.actions.wizard,name:account_budget.wizard_crossovered_budget_menu_1
|
||||
msgid "Print Summary of Budgets"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: model:ir.actions.wizard,name:account_budget.wizard_budget_spread
|
||||
msgid "Spread amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: view:account.analytic.account:0
|
||||
#: view:account.budget.post:0
|
||||
msgid "Lines"
|
||||
msgstr "Linhas"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.budget:0
|
||||
#: view:crossovered.budget:0
|
||||
#: field:crossovered.budget.lines,crossovered_budget_id:0
|
||||
#: model:ir.actions.act_window,name:account_budget.act_crossovered_budget_view
|
||||
#: model:ir.actions.wizard,name:account_budget.wizard_budget_report
|
||||
#: model:ir.model,name:account_budget.model_crossovered_budget
|
||||
#: model:ir.ui.menu,name:account_budget.menu_act_crossovered_budget_view
|
||||
msgid "Budget"
|
||||
msgstr "Budgèt"
|
||||
|
||||
#. module: account_budget
|
||||
#: field:account.budget.post.dotation,post_id:0
|
||||
msgid "Item"
|
||||
msgstr "Element"
|
||||
|
||||
#. module: account_budget
|
||||
#: field:account.budget.post.dotation,amount:0
|
||||
#: wizard_field:account.budget.spread,init,amount:0
|
||||
msgid "Amount"
|
||||
msgstr "Soma"
|
||||
|
||||
#. module: account_budget
|
||||
#: field:crossovered.budget.lines,paid_date:0
|
||||
msgid "Paid Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: model:ir.actions.act_window,name:account_budget.action_account_budget_post_tree
|
||||
#: model:ir.ui.menu,name:account_budget.menu_action_account_budget_post_tree
|
||||
#: model:ir.ui.menu,name:account_budget.next_id_31
|
||||
msgid "Budgets"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: selection:crossovered.budget,state:0
|
||||
msgid "Cancelled"
|
||||
msgstr "Anullat"
|
||||
|
||||
#. module: account_budget
|
||||
#: view:account.budget.post.dotation:0
|
||||
#: model:ir.model,name:account_budget.model_account_budget_post_dotation
|
||||
msgid "Budget Dotation"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: view:account.budget.post.dotation:0
|
||||
msgid "Budget Dotations"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.budget:0
|
||||
msgid "Budget Item Detail"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: view:account.budget.post:0
|
||||
#: field:crossovered.budget.lines,general_budget_id:0
|
||||
#: model:ir.model,name:account_budget.model_account_budget_post
|
||||
msgid "Budgetary Position"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: wizard_field:account.budget.report,init,date1:0
|
||||
#: wizard_field:wizard.analytic.account.budget.report,init,date_from:0
|
||||
#: wizard_field:wizard.crossovered.budget,init,date_from:0
|
||||
#: wizard_field:wizard.crossovered.budget.summary,init,date_from:0
|
||||
msgid "Start of period"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: model:ir.actions.report.xml,name:account_budget.account_analytic_account_budget
|
||||
#: model:ir.actions.report.xml,name:account_budget.report_crossovered_budget
|
||||
#: model:ir.actions.wizard,name:account_budget.account_analytic_account_budget_report
|
||||
#: model:ir.actions.wizard,name:account_budget.wizard_crossovered_budget_menu
|
||||
msgid "Print Budgets"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: field:account.budget.post,code:0
|
||||
#: field:crossovered.budget,code:0
|
||||
msgid "Code"
|
||||
msgstr "Còde"
|
||||
|
||||
#. module: account_budget
|
||||
#: field:account.budget.post.dotation,tot_planned:0
|
||||
msgid "Total Planned Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: wizard_view:wizard.analytic.account.budget.report,init:0
|
||||
msgid "Select Dates Period"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: field:account.budget.post,dotation_ids:0
|
||||
msgid "Spreading"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.analytic.account.budget:0
|
||||
#: rml:crossovered.budget.report:0
|
||||
msgid "Theoretical Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: wizard_field:account.budget.spread,init,fiscalyear:0
|
||||
msgid "Fiscal Year"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: field:crossovered.budget.lines,analytic_account_id:0
|
||||
msgid "Analytic Account"
|
||||
msgstr "Compte Analitic"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:crossovered.budget.report:0
|
||||
msgid "Budget :"
|
||||
msgstr "Budgèt :"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.budget:0
|
||||
#: view:account.budget.post:0
|
||||
#: wizard_view:account.budget.spread,init:0
|
||||
#: wizard_button:account.budget.spread,init,spread:0
|
||||
msgid "Spread"
|
||||
msgstr "Difusir"
|
||||
|
||||
#. module: account_budget
|
||||
#: view:account.budget.post:0
|
||||
#: field:account.budget.post,account_ids:0
|
||||
msgid "Accounts"
|
||||
msgstr "Comptes"
|
||||
|
||||
#. module: account_budget
|
||||
#: model:ir.actions.report.xml,name:account_budget.account_budget
|
||||
msgid "Print Budget"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: view:account.analytic.account:0
|
||||
#: field:account.analytic.account,crossovered_budget_line:0
|
||||
#: view:account.budget.post:0
|
||||
#: field:account.budget.post,crossovered_budget_line:0
|
||||
#: view:crossovered.budget:0
|
||||
#: field:crossovered.budget,crossovered_budget_line:0
|
||||
#: view:crossovered.budget.lines:0
|
||||
#: model:ir.actions.act_window,name:account_budget.act_account_analytic_account_cb_lines
|
||||
#: model:ir.actions.act_window,name:account_budget.act_crossovered_budget_lines_view
|
||||
#: model:ir.model,name:account_budget.model_crossovered_budget_lines
|
||||
#: model:ir.ui.menu,name:account_budget.menu_act_crossovered_budget_lines_view
|
||||
msgid "Budget Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: wizard_button:account.budget.report,init,end:0
|
||||
#: wizard_button:account.budget.spread,init,end:0
|
||||
#: view:crossovered.budget:0
|
||||
#: wizard_button:wizard.analytic.account.budget.report,init,end:0
|
||||
#: wizard_button:wizard.crossovered.budget,init,end:0
|
||||
#: wizard_button:wizard.crossovered.budget.summary,init,end:0
|
||||
msgid "Cancel"
|
||||
msgstr "Anullar"
|
||||
|
||||
#. module: account_budget
|
||||
#: model:ir.module.module,shortdesc:account_budget.module_meta_information
|
||||
msgid "Budget Management"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: field:crossovered.budget,date_from:0
|
||||
#: field:crossovered.budget.lines,date_from:0
|
||||
msgid "Start Date"
|
||||
msgstr "Data de començament"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.analytic.account.budget:0
|
||||
#: rml:crossovered.budget.report:0
|
||||
msgid "Analysis from"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: selection:crossovered.budget,state:0
|
||||
msgid "Validated"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_budget
|
||||
#: wizard_view:account.budget.report,init:0
|
||||
msgid "Select period"
|
||||
msgstr "Seleccionatz un periòde"
|
||||
@@ -23,7 +23,7 @@ from osv import fields, osv
|
||||
|
||||
class followup(osv.osv):
|
||||
_name = 'account_followup.followup'
|
||||
_description = 'Follow-Ups'
|
||||
_description = 'Follow-Up'
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=64, required=True),
|
||||
'description': fields.text('Description'),
|
||||
@@ -34,7 +34,7 @@ followup()
|
||||
|
||||
class followup_line(osv.osv):
|
||||
_name = 'account_followup.followup.line'
|
||||
_description = 'Follow-Ups Criteria'
|
||||
_description = 'Follow-Up Criteria'
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=64, required=True),
|
||||
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of follow-up lines."),
|
||||
|
||||
@@ -30,7 +30,7 @@ def _code_get(self, cr, uid, context={}):
|
||||
|
||||
class account_followup_stat(osv.osv):
|
||||
_name = "account_followup.stat"
|
||||
_description = "Followup statistics"
|
||||
_description = "Followup Statistics"
|
||||
_auto = False
|
||||
_columns = {
|
||||
'name': fields.many2one('res.partner', 'Partner', readonly=True),
|
||||
|
||||
@@ -124,7 +124,7 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<act_window domain="[('partner_id', '=', active_id),('reconcile_id','=',False),('account_id.reconcile', '=', True)]" id="account.act_account_partner_account_move_unreconciled" name="Receivables & Payables" res_model="account.move.line" view="account_move_line_partner_tree"/>
|
||||
<act_window domain="[('partner_id', '=', active_id),('reconcile_id','=',False),('account_id.reconcile', '=', True),('account_id.type', 'in', ['receivable', 'payable'])]" id="account.act_account_partner_account_move_unreconciled" name="Receivables & Payables" res_model="account.move.line" view="account_move_line_partner_tree"/>
|
||||
|
||||
<act_window domain="[('reconcile_id', '=', False),('account_id.type','=','receivable')]" id="act_account_partner_account_move_all" name="All receivable entries" res_model="account.move.line" src_model="" view="account_move_line_partner_tree"/>
|
||||
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-01-07 13:19+0000\n"
|
||||
"Last-Translator: opix <inur.opix@gmail.com>\n"
|
||||
"PO-Revision-Date: 2010-05-18 11:05+0000\n"
|
||||
"Last-Translator: Pandu Pradana <p4ndupr4d4n4@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-17 04:12+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-19 05:12+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
@@ -35,7 +35,7 @@ msgstr ""
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Cancelled Invoice"
|
||||
msgstr ""
|
||||
msgstr "Pembatalan Tagihan"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: selection:account.invoice.line,state:0
|
||||
@@ -56,7 +56,7 @@ msgstr "Potongan (%)"
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "(Incl. taxes):"
|
||||
msgstr ""
|
||||
msgstr "(Termasuk pajak):"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: selection:account.invoice.line,state:0
|
||||
@@ -132,7 +132,7 @@ msgstr "Harga"
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "/ ("
|
||||
msgstr ""
|
||||
msgstr "/ ("
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
@@ -147,7 +147,7 @@ msgstr "Rekening Asal"
|
||||
#. module: account_invoice_layout
|
||||
#: model:ir.actions.act_window,name:account_invoice_layout.notify_mesage_tree_form
|
||||
msgid "Write Messages"
|
||||
msgstr ""
|
||||
msgstr "Tulis Pesan"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
@@ -212,7 +212,7 @@ msgstr "Invoice dengan Layout"
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Description / Taxes"
|
||||
msgstr ""
|
||||
msgstr "Penjelasan / Pajak"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
@@ -222,7 +222,7 @@ msgstr "Jumlah"
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Description/Taxes"
|
||||
msgstr ""
|
||||
msgstr "Penjelasan/Pajak"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
@@ -262,7 +262,7 @@ msgstr "Faktur Pembelian"
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Note :"
|
||||
msgstr ""
|
||||
msgstr "Catatan :"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
@@ -272,12 +272,12 @@ msgstr "Pajak"
|
||||
#. module: account_invoice_layout
|
||||
#: model:ir.module.module,shortdesc:account_invoice_layout.module_meta_information
|
||||
msgid "account_invoice_layout"
|
||||
msgstr ""
|
||||
msgstr "Tatanan_tagihan_akun"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Total (Excl. taxes):"
|
||||
msgstr ""
|
||||
msgstr "Jumlah (Tidak termasuk pajak):"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
|
||||
@@ -28,7 +28,7 @@ import pooler
|
||||
|
||||
class payment_type(osv.osv):
|
||||
_name= 'payment.type'
|
||||
_description= 'Payment type'
|
||||
_description= 'Payment Type'
|
||||
_columns= {
|
||||
'name': fields.char('Name', size=64, required=True,help='Payment Type'),
|
||||
'code': fields.char('Code', size=64, required=True,help='Specifies the Code for Payment Type'),
|
||||
@@ -43,7 +43,7 @@ payment_type()
|
||||
|
||||
class payment_mode(osv.osv):
|
||||
_name= 'payment.mode'
|
||||
_description= 'Payment mode'
|
||||
_description= 'Payment Mode'
|
||||
_columns= {
|
||||
'name': fields.char('Name', size=64, required=True,help='Mode of Payment'),
|
||||
'bank_id': fields.many2one('res.partner.bank', "Bank account",
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
<field name="partner_id"/>
|
||||
<field name="ref"/>
|
||||
<field name="name"/>
|
||||
<field name="journal_id"/>
|
||||
<field name="account_id"/>
|
||||
<field name="date_maturity"/>
|
||||
<field name="date"/>
|
||||
<field name="debit" sum="Total debit"/>
|
||||
@@ -279,7 +281,6 @@
|
||||
<field name="currency"/>
|
||||
<field name="bank_id" domain="[('partner_id', '=', partner_id)]"/>
|
||||
<field name="move_line_id" on_change="onchange_move_line(move_line_id,parent.mode)"/>
|
||||
<field domain="[('partner_id', '=', partner_id)]" name="bank_id"/>
|
||||
<field name="create_date"/>
|
||||
<field name="name"/>
|
||||
</tree>
|
||||
|
||||
@@ -104,7 +104,7 @@ class payment_order_create(osv.osv_memory):
|
||||
|
||||
# Search for move line to pay:
|
||||
domain = [('reconcile_id', '=', False),('account_id.type', '=', 'payable'),('amount_to_pay', '>', 0)]
|
||||
domain = domain + ['|',('date_maturity','<',search_due_date),('date_maturity','=',False)]
|
||||
domain = domain + ['|',('date_maturity','<=',search_due_date),('date_maturity','=',False)]
|
||||
line_ids = line_obj.search(cr, uid, domain, context=context)
|
||||
context.update({'line_ids': line_ids})
|
||||
model_data_ids = mod_obj.search(cr, uid,[('model','=','ir.ui.view'),('name','=','view_create_payment_order_lines')], context=context)
|
||||
|
||||
@@ -106,5 +106,3 @@ class account_payment_populate_statement(osv.osv_memory):
|
||||
return {'type' : 'ir.actions.act_window_close'}
|
||||
|
||||
account_payment_populate_statement()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
@@ -32,7 +32,7 @@ from mx.DateTime import RelativeDateTime, now, DateTime, localtime
|
||||
|
||||
class account_report(osv.osv):
|
||||
_name = "account.report.report"
|
||||
_description = "Account reporting"
|
||||
_description = "Account Reporting"
|
||||
# _color = [
|
||||
# ('', ''),
|
||||
# ('green','Green'),
|
||||
|
||||
@@ -0,0 +1,532 @@
|
||||
# Occitan (post 1500) translation for openobject-addons
|
||||
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-05-18 08:43+0000\n"
|
||||
"Last-Translator: Cédric VALMARY (Tot en òc) <cvalmary@yahoo.fr>\n"
|
||||
"Language-Team: Occitan (post 1500) <oc@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-19 05:11+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_report
|
||||
#: field:account.report.history,name:0
|
||||
#: selection:account.report.report,type:0
|
||||
#: model:ir.model,name:account_report.model_account_report_history
|
||||
msgid "Indicator"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: wizard_field:print.indicators.pdf,init,file:0
|
||||
msgid "Select a PDF File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Nom del Modèl invalid per la definicion de l'accion."
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "Operators:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: field:account.report.report,parent_id:0
|
||||
msgid "Parent"
|
||||
msgstr "Parent"
|
||||
|
||||
#. module: account_report
|
||||
#: field:account.report.report,disp_graph:0
|
||||
msgid "Display As Graph"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "Account Debit:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: selection:account.report.report,type:0
|
||||
msgid "Others"
|
||||
msgstr "Autres"
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "balance(['ACCOUNT_CODE',],fiscalyear)"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: rml:print.indicators:0
|
||||
msgid "Tabular Summary"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "Notes"
|
||||
msgstr "Nòtas"
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "= Goodness Indicator Limit:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "Very bad"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: field:account.report.history,val:0
|
||||
#: field:account.report.report,amount:0
|
||||
msgid "Value"
|
||||
msgstr "Valor"
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "= Badness Indicator Limit:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
#: selection:account.report.report,status:0
|
||||
msgid "Bad"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: wizard_view:print.indicators.pdf,init:0
|
||||
msgid "Select the PDF file on which Indicators will be printed."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "> Goodness Indicator Limit:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: field:account.report.report,badness_limit:0
|
||||
msgid "Badness Indicator Limit"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: selection:account.report.report,status:0
|
||||
msgid "Very Bad"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: model:ir.actions.act_window,name:account_report.account_report_history_record_structure
|
||||
msgid "Indicator history"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "credit(['ACCOUNT_CODE',],fiscalyear)"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "Report Amount:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: model:ir.actions.report.xml,name:account_report.fiscal_statements
|
||||
msgid "Fiscal Statements"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: wizard_button:print.indicators,init,next:0
|
||||
msgid "Next"
|
||||
msgstr "Seguent"
|
||||
|
||||
#. module: account_report
|
||||
#: model:ir.module.module,shortdesc:account_report.module_meta_information
|
||||
msgid "Reporting for accounting"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: wizard_button:print.indicators,next,print:0
|
||||
#: wizard_button:print.indicators.pdf,init,print:0
|
||||
msgid "Print"
|
||||
msgstr "Estampar"
|
||||
|
||||
#. module: account_report
|
||||
#: field:account.report.report,type:0
|
||||
msgid "Type"
|
||||
msgstr "Tipe"
|
||||
|
||||
#. module: account_report
|
||||
#: model:ir.actions.report.xml,name:account_report.report_indicator_pdf
|
||||
msgid "Print Indicators in PDF"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "Account Tax Code:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
#: selection:account.report.report,status:0
|
||||
msgid "Good"
|
||||
msgstr "Bon"
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.history:0
|
||||
msgid "Account Report History"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "XML invalid per l'arquitectura de la vista"
|
||||
|
||||
#. module: account_report
|
||||
#: help:account.report.report,badness_limit:0
|
||||
msgid "This Value sets the limit of badness."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: wizard_field:print.indicators,init,select_base:0
|
||||
msgid "Choose Criteria"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "debit(['ACCOUNT_CODE',],fiscalyear)"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "Account Credit:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: wizard_view:print.indicators,init:0
|
||||
msgid "Select the criteria based on which Indicators will be printed."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "< Badness Indicator Limit:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
#: selection:account.report.report,status:0
|
||||
msgid "Very Good"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: field:account.report.report,note:0
|
||||
msgid "Note"
|
||||
msgstr "Nòta"
|
||||
|
||||
#. module: account_report
|
||||
#: rml:accounting.report:0
|
||||
#: rml:print.indicators:0
|
||||
msgid "Currency:"
|
||||
msgstr "Devisa :"
|
||||
|
||||
#. module: account_report
|
||||
#: field:account.report.report,status:0
|
||||
msgid "Status"
|
||||
msgstr "Estat"
|
||||
|
||||
#. module: account_report
|
||||
#: help:account.report.report,disp_tree:0
|
||||
msgid ""
|
||||
"When the indicators are printed, if one indicator is set with this field to "
|
||||
"True, then it will display one more graphs with all its children in tree"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: selection:account.report.report,status:0
|
||||
msgid "Normal"
|
||||
msgstr "Normala"
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "Example: (balance(['6','45'],-1) - credit(['7'])) / report('RPT1')"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: field:account.report.report,active:0
|
||||
msgid "Active"
|
||||
msgstr "Actiu"
|
||||
|
||||
#. module: account_report
|
||||
#: field:account.report.report,disp_tree:0
|
||||
msgid "Display Tree"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: selection:print.indicators,init,select_base:0
|
||||
msgid "Based On Fiscal Years"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: model:ir.model,name:account_report.model_account_report_report
|
||||
msgid "Account reporting"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "Account Balance:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: rml:print.indicators:0
|
||||
msgid "Expression :"
|
||||
msgstr "Expression :"
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "report('REPORT_CODE')"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: field:account.report.report,expression:0
|
||||
msgid "Expression"
|
||||
msgstr "Expression"
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "Accounting reporting"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: model:ir.actions.act_window,name:account_report.action_account_report_form
|
||||
#: model:ir.ui.menu,name:account_report.menu_action_account_report_form
|
||||
msgid "New Reporting Item Formula"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: field:account.report.report,code:0
|
||||
#: rml:accounting.report:0
|
||||
msgid "Code"
|
||||
msgstr "Còde"
|
||||
|
||||
#. module: account_report
|
||||
#: field:account.report.history,tmp:0
|
||||
msgid "temp"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: field:account.report.history,period_id:0
|
||||
msgid "Period"
|
||||
msgstr "Periòde"
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "General"
|
||||
msgstr "General"
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "Legend of operators"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: wizard_button:print.indicators,init,end:0
|
||||
#: wizard_button:print.indicators,next,end:0
|
||||
#: wizard_button:print.indicators.pdf,init,end:0
|
||||
msgid "Cancel"
|
||||
msgstr "Anullar"
|
||||
|
||||
#. module: account_report
|
||||
#: field:account.report.report,child_ids:0
|
||||
msgid "Children"
|
||||
msgstr "Enfants"
|
||||
|
||||
#. module: account_report
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
"Lo nom de l'objècte deu començar amb x_ e conténer pas de caractèrs "
|
||||
"especials !"
|
||||
|
||||
#. module: account_report
|
||||
#: help:account.report.report,goodness_limit:0
|
||||
msgid "This Value sets the limit of goodness."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: model:ir.actions.wizard,name:account_report.wizard_print_indicators
|
||||
#: model:ir.ui.menu,name:account_report.menu_wizard_print_indicators
|
||||
#: wizard_view:print.indicators,init:0
|
||||
#: wizard_view:print.indicators,next:0
|
||||
msgid "Print Indicators"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "+ - * / ( )"
|
||||
msgstr "+ - * / ( )"
|
||||
|
||||
#. module: account_report
|
||||
#: rml:accounting.report:0
|
||||
#: rml:print.indicators:0
|
||||
msgid "Printing date:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: model:ir.actions.wizard,name:account_report.wizard_indicators_with_pdf
|
||||
msgid "Indicators in PDF"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: rml:accounting.report:0
|
||||
#: rml:print.indicators:0
|
||||
msgid "at"
|
||||
msgstr "a"
|
||||
|
||||
#. module: account_report
|
||||
#: rml:accounting.report:0
|
||||
msgid "Accounting Report"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: field:account.report.report,goodness_limit:0
|
||||
msgid "Goodness Indicator Limit"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: model:ir.actions.act_window,name:account_report.action_account_report_tree_view_other
|
||||
#: model:ir.ui.menu,name:account_report.menu_action_account_report_tree_view_other
|
||||
msgid "Other reports"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid ""
|
||||
"Note: The second arguement 'fiscalyear' and 'period' are optional "
|
||||
"arguements.If the value is -1,previous fiscalyear or period is considered."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: rml:print.indicators:0
|
||||
msgid ")"
|
||||
msgstr ")"
|
||||
|
||||
#. module: account_report
|
||||
#: model:ir.actions.act_window,name:account_report.action_account_report_tree_view_fiscal
|
||||
#: model:ir.ui.menu,name:account_report.menu_action_account_report_tree_view_fiscal
|
||||
msgid "Fiscal Statements reporting"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: selection:print.indicators,init,select_base:0
|
||||
msgid "Based on Fiscal Periods"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: model:ir.actions.report.xml,name:account_report.report_print_indicators
|
||||
#: rml:print.indicators:0
|
||||
msgid "Indicators"
|
||||
msgstr "Indicadors"
|
||||
|
||||
#. module: account_report
|
||||
#: wizard_view:print.indicators.pdf,init:0
|
||||
msgid "Print Indicators with PDF"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: model:ir.actions.act_window,name:account_report.action_account_report_tree_view_indicator
|
||||
#: model:ir.ui.menu,name:account_report.menu_action_account_report_tree_view_indicator
|
||||
msgid "Indicators reporting"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: field:account.report.report,name:0
|
||||
#: rml:accounting.report:0
|
||||
#: rml:print.indicators:0
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#. module: account_report
|
||||
#: wizard_field:print.indicators,next,base_selection:0
|
||||
msgid "Select Criteria"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "tax_code(['ACCOUNT_TAX_CODE',],period)"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: field:account.report.history,fiscalyear_id:0
|
||||
msgid "Fiscal Year"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: model:ir.actions.act_window,name:account_report.action_account_report_tree
|
||||
#: model:ir.actions.act_window,name:account_report.action_account_report_tree_view
|
||||
#: model:ir.ui.menu,name:account_report.menu_action_account_report_tree_define
|
||||
#: model:ir.ui.menu,name:account_report.menu_action_account_report_tree_view
|
||||
msgid "Custom reporting"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: rml:print.indicators:0
|
||||
msgid "Page"
|
||||
msgstr "Pagina"
|
||||
|
||||
#. module: account_report
|
||||
#: selection:account.report.report,type:0
|
||||
msgid "View"
|
||||
msgstr "Afichatge"
|
||||
|
||||
#. module: account_report
|
||||
#: rml:print.indicators:0
|
||||
msgid "Indicators -"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: help:account.report.report,disp_graph:0
|
||||
msgid ""
|
||||
"If the field is set to True, information will be printed as a Graph, "
|
||||
"otherwise as an array."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: view:account.report.report:0
|
||||
msgid "Return value for status"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: field:account.report.report,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr "Sequéncia"
|
||||
|
||||
#. module: account_report
|
||||
#: rml:accounting.report:0
|
||||
msgid "Amount"
|
||||
msgstr "Soma"
|
||||
|
||||
#. module: account_report
|
||||
#: rml:print.indicators:0
|
||||
msgid "1cm 27.7cm 20cm 27.7cm"
|
||||
msgstr "1cm 27.7cm 20cm 27.7cm"
|
||||
|
||||
#. module: account_report
|
||||
#: model:ir.module.module,description:account_report.module_meta_information
|
||||
msgid ""
|
||||
"Financial and accounting reporting\n"
|
||||
" Fiscal statements\n"
|
||||
" Indicators\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: account_report
|
||||
#: selection:account.report.report,type:0
|
||||
msgid "Fiscal Statement"
|
||||
msgstr ""
|
||||
@@ -0,0 +1,3 @@
|
||||
|
||||
import report
|
||||
import wizard
|
||||
@@ -1,3 +1,4 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
@@ -19,32 +20,29 @@
|
||||
##############################################################################
|
||||
|
||||
{
|
||||
"name" : "Email Client",
|
||||
"name" : "Accounting Reports",
|
||||
"version" : "1.0",
|
||||
"depends" : ["base"],
|
||||
"author" : "Tiny/Axelor",
|
||||
"description": """Email Client module that provides:
|
||||
Sending Email
|
||||
Use Multiple Server
|
||||
Multi Threading
|
||||
Multi Attachment
|
||||
"depends" : [
|
||||
"account",
|
||||
"account_voucher"
|
||||
],
|
||||
"author" : "Tiny ERP",
|
||||
"description": """Accounting Reports
|
||||
Modules gives the 2 most Important Reports for the Accounting
|
||||
* Profit and Loss Account
|
||||
* Balance Sheet
|
||||
""",
|
||||
"website" : "http://www.openerp.com",
|
||||
"category" : "Generic Modules",
|
||||
"website" : "http://tinyerp.com/module_account.html",
|
||||
"category" : "Generic Modules/Accounting",
|
||||
"init_xml" : [
|
||||
],
|
||||
"demo_xml" : [
|
||||
"smtpclient_demo.xml"
|
||||
|
||||
],
|
||||
"update_xml" : [
|
||||
"smtpclient_view.xml",
|
||||
"serveraction_view.xml",
|
||||
"smtpclient_wizard.xml",
|
||||
"security/ir.model.access.csv",
|
||||
"smtpclient_data.xml",
|
||||
"wizard/account_pl_report_view.xml",
|
||||
"wizard/account_bs_report_view.xml"
|
||||
],
|
||||
"active": False,
|
||||
"installable": True
|
||||
}
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
|
||||
import report_bs
|
||||
import report_pl
|
||||
@@ -0,0 +1,245 @@
|
||||
<?xml version="1.0"?>
|
||||
<document filename="test.pdf">
|
||||
<template pageSize="(595.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20">
|
||||
<pageTemplate id="first">
|
||||
<frame id="first" x1="28.0" y1="28.0" width="539" height="786"/>
|
||||
</pageTemplate>
|
||||
</template>
|
||||
<stylesheet>
|
||||
<blockTableStyle id="Standard_Outline">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Heading">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Company_Name">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Date_from_To">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Account_Line_Title">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="2,0" stop="2,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEAFTER" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="3,0" stop="3,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table5">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Net_Profit_Loss">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,-1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,-1" stop="1,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="2,0" stop="2,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="2,-1" stop="2,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEAFTER" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="3,0" stop="3,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="3,-1" stop="3,-1"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table1">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="2,0" stop="2,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEAFTER" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="3,0" stop="3,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table2">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table3">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,-1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,-1" stop="1,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="2,0" stop="2,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="2,-1" stop="2,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEAFTER" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="3,0" stop="3,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="3,-1" stop="3,-1"/>
|
||||
</blockTableStyle>
|
||||
<initialize>
|
||||
<paraStyle name="all" alignment="justify"/>
|
||||
</initialize>
|
||||
<paraStyle name="P1" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P2" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="Standard" fontName="Times-Roman"/>
|
||||
<paraStyle name="Heading" fontName="Helvetica" fontSize="12.0" leading="15" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Caption" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Index" fontName="Helvetica" fontSize="9.0" leading="11"/>
|
||||
<paraStyle name="Footer" fontName="Times-Roman"/>
|
||||
<paraStyle name="Table Contents" fontName="Times-Roman"/>
|
||||
<paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER"/>
|
||||
<paraStyle name="Horizontal Line" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/>
|
||||
<paraStyle name="terp_header" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Heading 9" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_default_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Bold_8" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_General_Right" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_Details_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_header_Centre" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="CENTER" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_default_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Centre_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Right_9_Bold" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_2" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
</stylesheet>
|
||||
<images/>
|
||||
<story>
|
||||
<para style="Standard">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<blockTable colWidths="539.0" style="Table_Heading">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_header_Centre">[[ get_company(data['form']) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="539.0" style="Table_Company_Name">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_header_Centre">Balance Sheet</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="539.0" style="Table_Date_from_To">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_header_Centre">From : [[ formatLang(data['form']['date_from'],date=True) ]] To: [[ formatLang(data['form']['date_to'], date=True) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_8">[[ get_data(data['form']) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="100.0,326.0,113.0" style="Table_Account_Line_Title" repeatRows="1">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Code</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Liabilities</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details_Right">Total Amount([[ get_currency(data['form']) ]])</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_9"><font face="Times-Roman">[[ repeatIn(get_lines_another('liability'), 'a') ]]</font>[[ a['code'] ]]<font>[[ a['level']<4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) ]]</font></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_9"><font color="white">[[ '. '*(a['level']-1) ]]</font><font>[[ a['level']<4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) ]][[ a['name'] ]]</font></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold">[[ formatLang(abs(a['balance'])) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="426.0,113.0" style="Table_Net_Profit_Loss">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Balance:([[ get_currency(data['form']) ]])</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold"><u>[[ formatLang(sum_dr()) ]]</u></para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<condPageBreak height="20cm"/>
|
||||
<para style="terp_default_9">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<blockTable colWidths="100.0,326.0,113.0" style="Table1" repeatRows="1">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Code</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Assets</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details_Right">Total Amount([[ get_currency(data['form']) ]])</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_9"><font face="Times-Roman">[[ repeatIn(get_lines_another('asset'), 'a') ]]</font>[[ a['code'] ]]<font>[[ a['level']<4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) ]]</font></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_9">[[ a['code'] ]]<font>[[ a['level']<4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) ]][[ a['name'] ]]</font></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold">[[ formatLang(abs(a['balance'])) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="426.0,113.0" style="Table3">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Balance:([[ get_currency(data['form']) ]])</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold"><u>[[ formatLang(sum_cr()) ]]</u></para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<para style="Standard">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</story>
|
||||
</document>
|
||||
@@ -0,0 +1,234 @@
|
||||
<?xml version="1.0"?>
|
||||
<document filename="test.pdf">
|
||||
<template pageSize="(1120.0,770.0)" title="Test" author="Martin Simon" allowSplitting="20" >
|
||||
<pageTemplate id="first">
|
||||
<frame id="first" x1="22.0" y1="15.0" width="1080" height="680"/>
|
||||
<pageGraphics>
|
||||
<setFont name="Helvetica-Bold" size="9"/>
|
||||
<!--COL 1-->
|
||||
<drawString x="1.3cm" y="25.50cm">[[ get_company(data['form']) ]]</drawString>
|
||||
<!--COL 2-->
|
||||
<setFont name="Helvetica" size="9"/>
|
||||
<drawString x="1.3cm" y="0.50cm"> [[ formatLang(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),date_time = True) ]]</drawString>
|
||||
<drawString x="37.20cm" y="0.50cm">Page <pageNumber/></drawString>
|
||||
|
||||
<lineMode width="0.7"/>
|
||||
<lines>1.3cm 24.9cm 38.3cm 24.9cm</lines>
|
||||
<setFont name="Helvetica" size="8"/>
|
||||
</pageGraphics>
|
||||
</pageTemplate>
|
||||
</template>
|
||||
<stylesheet>
|
||||
<blockTableStyle id="Standard_Outline">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Heading">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Company_Name">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Date_from_To">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Account_Line_Title">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="2,0" stop="2,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="3,0" stop="3,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="4,0" stop="4,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="4,0" stop="4,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="4,0" stop="4,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="5,0" stop="5,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="5,0" stop="5,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="5,0" stop="5,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="6,0" stop="6,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="6,0" stop="6,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="6,0" stop="6,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="7,0" stop="7,-1"/>
|
||||
<lineStyle kind="LINEAFTER" colorName="#cccccc" start="7,0" stop="7,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="7,0" stop="7,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="7,0" stop="7,-1"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Main_Content">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Liability_side">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Asset_Side_Content">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Net_Profit_Loss">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,-1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,-1" stop="1,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="2,0" stop="2,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="2,-1" stop="2,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="3,0" stop="3,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="3,-1" stop="3,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="4,0" stop="4,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="4,0" stop="4,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="4,-1" stop="4,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="5,0" stop="5,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="5,0" stop="5,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="5,-1" stop="5,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="6,0" stop="6,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="6,0" stop="6,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="6,-1" stop="6,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="7,0" stop="7,-1"/>
|
||||
<lineStyle kind="LINEAFTER" colorName="#cccccc" start="7,0" stop="7,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="7,0" stop="7,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="7,-1" stop="7,-1"/>
|
||||
</blockTableStyle>
|
||||
<initialize>
|
||||
<paraStyle name="all" alignment="justify"/>
|
||||
</initialize>
|
||||
<paraStyle name="P1" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P2" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P3" rightIndent="0.0" leftIndent="1.0" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P4" rightIndent="121.0" leftIndent="-1.0" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="Standard" fontName="Times-Roman"/>
|
||||
<paraStyle name="Heading" fontName="Helvetica" fontSize="12.0" leading="15" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Caption" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Index" fontName="Helvetica" fontSize="9.0" leading="11"/>
|
||||
<paraStyle name="Footer" fontName="Times-Roman"/>
|
||||
<paraStyle name="Table Contents" fontName="Times-Roman"/>
|
||||
<paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER"/>
|
||||
<paraStyle name="Horizontal Line" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/>
|
||||
<paraStyle name="terp_header" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Heading 9" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_default_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Bold_8" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_General_Right" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_Details_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_header_Centre" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="CENTER" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_default_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Centre_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Right_9_Bold" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_2" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
</stylesheet>
|
||||
<images/>
|
||||
<story>
|
||||
<para style="Standard">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<blockTable colWidths="1049.0" style="Table_Company_Name">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_header_Centre">Balance Sheet </para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="1049.0" style="Table_Date_from_To">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_header_Centre">From : [[ formatLang(data['form']['date_from'],date=True) ]] To: [[ formatLang(data['form']['date_to'], date=True) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_8">[[ get_data(data['form']) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="100.0,308.16,116.32,100.0,308.16,116.32" style="Table_Account_Line_Title" repeatRows="1">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Code</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Liabilities</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details_Right">Total Amount([[ get_currency(data['form']) ]])</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Code</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Assets</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details_Right">Total Amount([[ get_currency(data['form']) ]])</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_9"><font face="Times-Roman">[[ repeatIn(get_lines(), 'a') ]]</font> <font>[[ a['level']<4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) ]]</font><font>[[ a['code'] ]]</font></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_9"><font color="white">[[ '. '*(a['level']-1) ]]</font><font>[[ a['level']<4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) ]][[ a['name'] ]]</font></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold">[[ formatLang(abs(a['balance'])) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_9"><font>[[ a['level']<4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) ]]</font><font>[[ a['code1'] ]]</font></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_9"><font color="white">[[ '. '*(a['level1']-1) ]]</font><font>[[ a['level1']<4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) ]][[ a['name1'] ]]</font></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold">[[ formatLang(abs(a['balance1'])) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="408.16,116.32,408.16,116.32" style="Table_Net_Profit_Loss">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Balance:([[ get_currency(data['form']) ]])</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold"><u>[[ formatLang(abs(sum_dr())) ]]</u></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Balance:([[ get_currency(data['form']) ]])</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold"><u>[[ formatLang(abs(sum_cr())) ]]</u></para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<para style="terp_default_Right_9">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</story>
|
||||
</document>
|
||||
|
||||
@@ -0,0 +1,202 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import pooler
|
||||
import time
|
||||
import mx.DateTime
|
||||
import rml_parse
|
||||
from report import report_sxw
|
||||
from account_report_india.report import report_pl
|
||||
|
||||
class report_balancesheet_horizontal(rml_parse.rml_parse):
|
||||
def __init__(self, cr, uid, name, context):
|
||||
super(report_balancesheet_horizontal, self).__init__(cr, uid, name, context)
|
||||
self.obj_pl=report_pl.report_pl_account_horizontal(cr, uid, name, context)
|
||||
self.result_sum_dr=0.0
|
||||
self.result_sum_cr=0.0
|
||||
self.result = {}
|
||||
self.res_pl={}
|
||||
self.result_temp=[]
|
||||
self.localcontext.update({
|
||||
'time': time,
|
||||
'get_lines' : self.get_lines,
|
||||
'get_lines_another' : self.get_lines_another,
|
||||
'get_company': self.get_company,
|
||||
'get_currency': self._get_currency,
|
||||
'sum_dr' : self.sum_dr,
|
||||
'sum_cr' : self.sum_cr,
|
||||
'get_data':self.get_data,
|
||||
'get_pl_balance':self.get_pl_balance,
|
||||
|
||||
})
|
||||
self.context = context
|
||||
|
||||
def sum_dr(self):
|
||||
if self.res_pl['type'] == 'Net Profit':
|
||||
self.result_sum_dr += self.res_pl['balance']
|
||||
return self.result_sum_dr or 0.0
|
||||
|
||||
def sum_cr(self):
|
||||
if self.res_pl['type'] == 'Net Loss':
|
||||
self.result_sum_cr += self.res_pl['balance']
|
||||
return self.result_sum_cr or 0.0
|
||||
|
||||
def get_pl_balance(self):
|
||||
return self.res_pl or 0.0
|
||||
|
||||
def get_data(self,form):
|
||||
cr, uid = self.cr, self.uid
|
||||
db_pool = pooler.get_pool(self.cr.dbname)
|
||||
|
||||
#Getting Profit or Loss Balance from profit and Loss report
|
||||
result_pl=self.obj_pl.get_data(form)
|
||||
self.res_pl=self.obj_pl.final_result()
|
||||
|
||||
type_pool = db_pool.get('account.account.type')
|
||||
account_pool = db_pool.get('account.account')
|
||||
year_pool = db_pool.get('account.fiscalyear')
|
||||
|
||||
types = [
|
||||
'liability',
|
||||
'asset'
|
||||
]
|
||||
|
||||
ctx = self.context.copy()
|
||||
ctx['state'] = form['context'].get('state','all')
|
||||
ctx['fiscalyear'] = form['fiscalyear']
|
||||
if form['state']=='byperiod' :
|
||||
ctx['periods'] = form['periods']
|
||||
elif form['state']== 'bydate':
|
||||
ctx['date_from'] = form['date_from']
|
||||
ctx['date_to'] = form['date_to']
|
||||
elif form['state'] == 'all' :
|
||||
ctx['periods'] = form['periods']
|
||||
ctx['date_from'] = form['date_from']
|
||||
ctx['date_to'] = form['date_to']
|
||||
|
||||
cal_list={}
|
||||
pl_dict = {}
|
||||
account_dict = {}
|
||||
account_id = [form['Account_list']]
|
||||
account_ids = account_pool._get_children_and_consol(cr, uid, account_id, context=ctx)
|
||||
accounts = account_pool.browse(cr, uid, account_ids, context=ctx)
|
||||
|
||||
if self.res_pl['type'] == 'Net Profit C.F.B.L.':
|
||||
self.res_pl['type'] = 'Net Profit'
|
||||
else:
|
||||
self.res_pl['type'] = 'Net Loss'
|
||||
pl_dict = {
|
||||
'code' : False,
|
||||
'name' : self.res_pl['type'],
|
||||
'level': False,
|
||||
'balance':self.res_pl['balance'],
|
||||
}
|
||||
for typ in types:
|
||||
accounts_temp = []
|
||||
for account in accounts:
|
||||
if (account.user_type.report_type) and (account.user_type.report_type == typ):
|
||||
account_dict = {
|
||||
'id' : account.id,
|
||||
'code' : account.code,
|
||||
'name' : account.name,
|
||||
'level': account.level,
|
||||
'balance':account.balance,
|
||||
}
|
||||
if typ == 'liability' and account.type <> 'view' and (account.debit <> account.credit):
|
||||
self.result_sum_dr += abs(account.debit - account.credit)
|
||||
if typ == 'asset' and account.type <> 'view' and (account.debit <> account.credit):
|
||||
self.result_sum_cr += abs(account.debit - account.credit)
|
||||
if form['display_account'] == 'bal_mouvement':
|
||||
if account.credit > 0 or account.debit > 0 or account.balance > 0 :
|
||||
accounts_temp.append(account_dict)
|
||||
elif form['display_account'] == 'bal_solde':
|
||||
if account.balance != 0:
|
||||
accounts_temp.append(account_dict)
|
||||
else:
|
||||
accounts_temp.append(account_dict)
|
||||
if account.id == form['reserve_account_id']:
|
||||
pl_dict['level'] = account['level'] + 1
|
||||
accounts_temp.append(pl_dict)
|
||||
|
||||
self.result[typ] = accounts_temp
|
||||
cal_list[typ]=self.result[typ]
|
||||
if cal_list:
|
||||
temp={}
|
||||
for i in range(0,max(len(cal_list['liability']),len(cal_list['asset']))):
|
||||
if i < len(cal_list['liability']) and i < len(cal_list['asset']):
|
||||
temp={
|
||||
'code' : cal_list['liability'][i]['code'],
|
||||
'name' : cal_list['liability'][i]['name'],
|
||||
'level': cal_list['liability'][i]['level'],
|
||||
'balance':cal_list['liability'][i]['balance'],
|
||||
'code1' : cal_list['asset'][i]['code'],
|
||||
'name1' : cal_list['asset'][i]['name'],
|
||||
'level1': cal_list['asset'][i]['level'],
|
||||
'balance1':cal_list['asset'][i]['balance'],
|
||||
}
|
||||
self.result_temp.append(temp)
|
||||
else:
|
||||
if i < len(cal_list['asset']):
|
||||
temp={
|
||||
'code' : '',
|
||||
'name' : '',
|
||||
'level': False,
|
||||
'balance':False,
|
||||
'code1' : cal_list['asset'][i]['code'],
|
||||
'name1' : cal_list['asset'][i]['name'],
|
||||
'level1': cal_list['asset'][i]['level'],
|
||||
'balance1':cal_list['asset'][i]['balance'],
|
||||
}
|
||||
self.result_temp.append(temp)
|
||||
if i < len(cal_list['liability']):
|
||||
temp={
|
||||
'code' : cal_list['liability'][i]['code'],
|
||||
'name' : cal_list['liability'][i]['name'],
|
||||
'level': cal_list['liability'][i]['level'],
|
||||
'balance':cal_list['liability'][i]['balance'],
|
||||
'code1' : '',
|
||||
'name1' : '',
|
||||
'level1': False,
|
||||
'balance1':False,
|
||||
}
|
||||
self.result_temp.append(temp)
|
||||
return None
|
||||
|
||||
def get_lines(self):
|
||||
return self.result_temp
|
||||
|
||||
def get_lines_another(self, group):
|
||||
return self.result.get(group, [])
|
||||
|
||||
def _get_currency(self, form):
|
||||
return pooler.get_pool(self.cr.dbname).get('res.company').browse(self.cr, self.uid, form['company_id']).currency_id.code
|
||||
|
||||
def get_company(self,form):
|
||||
comp_obj=pooler.get_pool(self.cr.dbname).get('res.company').browse(self.cr,self.uid,form['company_id'])
|
||||
return comp_obj.name
|
||||
|
||||
report_sxw.report_sxw('report.account.balancesheet.horizontal', 'account.account',
|
||||
'addons/account_report_india/report/report_balance_sheet_horizontal.rml',parser=report_balancesheet_horizontal,
|
||||
header=False)
|
||||
|
||||
report_sxw.report_sxw('report.account.balancesheet', 'account.account',
|
||||
'addons/account_report_india/report/report_balance_sheet.rml',parser=report_balancesheet_horizontal,
|
||||
header=False)
|
||||
@@ -0,0 +1,177 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import pooler
|
||||
import time
|
||||
import mx.DateTime
|
||||
import rml_parse
|
||||
from report import report_sxw
|
||||
|
||||
class report_pl_account_horizontal(rml_parse.rml_parse):
|
||||
def __init__(self, cr, uid, name, context):
|
||||
super(report_pl_account_horizontal, self).__init__(cr, uid, name, context)
|
||||
self.result_sum_dr=0.0
|
||||
self.result_sum_cr=0.0
|
||||
self.res_pl ={}
|
||||
self.result = {}
|
||||
self.result_temp=[]
|
||||
self.localcontext.update( {
|
||||
'time': time,
|
||||
'get_lines' : self.get_lines,
|
||||
'get_lines_another' : self.get_lines_another,
|
||||
'get_company': self.get_company,
|
||||
'get_currency': self._get_currency,
|
||||
'get_data': self.get_data,
|
||||
'sum_dr' : self.sum_dr,
|
||||
'sum_cr' : self.sum_cr,
|
||||
'final_result' : self.final_result,
|
||||
})
|
||||
self.context = context
|
||||
|
||||
def final_result(self):
|
||||
return self.res_pl
|
||||
|
||||
def sum_dr(self):
|
||||
if self.res_pl['type'] == 'Net Profit C.F.B.L.':
|
||||
self.result_sum_dr += self.res_pl['balance']
|
||||
return self.result_sum_dr or 0.0
|
||||
|
||||
def sum_cr(self):
|
||||
if self.res_pl['type'] == 'Net Loss C.F.B.L.':
|
||||
self.result_sum_cr += self.res_pl['balance']
|
||||
return self.result_sum_cr or 0.0
|
||||
|
||||
def get_data(self,form):
|
||||
cr, uid = self.cr, self.uid
|
||||
db_pool = pooler.get_pool(self.cr.dbname)
|
||||
|
||||
type_pool = db_pool.get('account.account.type')
|
||||
account_pool = db_pool.get('account.account')
|
||||
year_pool = db_pool.get('account.fiscalyear')
|
||||
|
||||
types = [
|
||||
'expense',
|
||||
'income'
|
||||
]
|
||||
|
||||
ctx = self.context.copy()
|
||||
ctx['state'] = form['context'].get('state','all')
|
||||
ctx['fiscalyear'] = form['fiscalyear']
|
||||
if form['state']=='byperiod' :
|
||||
ctx['periods'] = form['periods']
|
||||
elif form['state']== 'bydate':
|
||||
ctx['date_from'] = form['date_from']
|
||||
ctx['date_to'] = form['date_to']
|
||||
elif form['state'] == 'all' :
|
||||
ctx['periods'] = form['periods']
|
||||
ctx['date_from'] = form['date_from']
|
||||
ctx['date_to'] = form['date_to']
|
||||
|
||||
cal_list={}
|
||||
account_id = [form['Account_list']]
|
||||
account_ids = account_pool._get_children_and_consol(cr, uid, account_id, context=ctx)
|
||||
accounts = account_pool.browse(cr, uid, account_ids, context=ctx)
|
||||
|
||||
for typ in types:
|
||||
accounts_temp = []
|
||||
for account in accounts:
|
||||
if (account.user_type.report_type) and (account.user_type.report_type == typ):
|
||||
if typ == 'expense' and account.type <> 'view' and (account.debit <> account.credit):
|
||||
self.result_sum_dr += abs(account.debit - account.credit)
|
||||
if typ == 'income' and account.type <> 'view' and (account.debit <> account.credit):
|
||||
self.result_sum_cr += abs(account.debit - account.credit)
|
||||
if form['display_account'] == 'bal_mouvement':
|
||||
if account.credit > 0 or account.debit > 0 or account.balance > 0 :
|
||||
accounts_temp.append(account)
|
||||
elif form['display_account'] == 'bal_solde':
|
||||
if account.balance != 0:
|
||||
accounts_temp.append(account)
|
||||
else:
|
||||
accounts_temp.append(account)
|
||||
if self.result_sum_dr > self.result_sum_cr:
|
||||
self.res_pl['type'] = 'Net Loss C.F.B.L.'
|
||||
self.res_pl['balance'] = (self.result_sum_dr - self.result_sum_cr)
|
||||
else:
|
||||
self.res_pl['type'] = 'Net Profit C.F.B.L.'
|
||||
self.res_pl['balance'] = (self.result_sum_cr - self.result_sum_dr)
|
||||
self.result[typ] = accounts_temp
|
||||
cal_list[typ]=self.result[typ]
|
||||
if cal_list:
|
||||
temp={}
|
||||
for i in range(0,max(len(cal_list['expense']),len(cal_list['income']))):
|
||||
if i < len(cal_list['expense']) and i < len(cal_list['income']):
|
||||
temp={
|
||||
'code' : cal_list['expense'][i].code,
|
||||
'name' : cal_list['expense'][i].name,
|
||||
'level': cal_list['expense'][i].level,
|
||||
'balance':cal_list['expense'][i].balance,
|
||||
'code1' : cal_list['income'][i].code,
|
||||
'name1' : cal_list['income'][i].name,
|
||||
'level1': cal_list['income'][i].level,
|
||||
'balance1':cal_list['income'][i].balance,
|
||||
}
|
||||
self.result_temp.append(temp)
|
||||
else:
|
||||
if i < len(cal_list['income']):
|
||||
temp={
|
||||
'code' : '',
|
||||
'name' : '',
|
||||
'level': False,
|
||||
'balance':False,
|
||||
'code1' : cal_list['income'][i].code,
|
||||
'name1' : cal_list['income'][i].name,
|
||||
'level1': cal_list['income'][i].level,
|
||||
'balance1':cal_list['income'][i].balance,
|
||||
}
|
||||
self.result_temp.append(temp)
|
||||
if i < len(cal_list['expense']):
|
||||
temp={
|
||||
'code' : cal_list['expense'][i].code,
|
||||
'name' : cal_list['expense'][i].name,
|
||||
'level': cal_list['expense'][i].level,
|
||||
'balance':cal_list['expense'][i].balance,
|
||||
'code1' : '',
|
||||
'name1' : '',
|
||||
'level1': False,
|
||||
'balance1':False,
|
||||
}
|
||||
self.result_temp.append(temp)
|
||||
return None
|
||||
|
||||
def get_lines(self):
|
||||
return self.result_temp
|
||||
|
||||
def get_lines_another(self, group):
|
||||
return self.result.get(group, [])
|
||||
|
||||
def _get_currency(self, form):
|
||||
return pooler.get_pool(self.cr.dbname).get('res.company').browse(self.cr, self.uid, form['company_id']).currency_id.code
|
||||
|
||||
def get_company(self,form):
|
||||
comp_obj=pooler.get_pool(self.cr.dbname).get('res.company').browse(self.cr,self.uid,form['company_id'])
|
||||
return comp_obj.name
|
||||
|
||||
report_sxw.report_sxw('report.pl.account.horizontal', 'account.account',
|
||||
'addons/account_report_india/report/report_pl_account_horizontal.rml',parser=report_pl_account_horizontal, header=False)
|
||||
|
||||
report_sxw.report_sxw('report.pl.account', 'account.account',
|
||||
'addons/account_report_india/report/report_pl_account.rml',parser=report_pl_account_horizontal, header=False)
|
||||
|
||||
@@ -0,0 +1,293 @@
|
||||
<?xml version="1.0"?>
|
||||
<document filename="test.pdf">
|
||||
<template pageSize="(595.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20">
|
||||
<pageTemplate id="first">
|
||||
<frame id="first" x1="28.0" y1="28.0" width="539" height="786"/>
|
||||
</pageTemplate>
|
||||
</template>
|
||||
<stylesheet>
|
||||
<blockTableStyle id="Standard_Outline">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Heading">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Company_Name">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Date_from_To">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Account_Line_Title">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="2,0" stop="2,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEAFTER" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="3,0" stop="3,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table6">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Net_Profit_Loss">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,-1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,-1" stop="1,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="2,0" stop="2,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="2,-1" stop="2,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEAFTER" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="3,0" stop="3,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="3,-1" stop="3,-1"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table2">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="2,0" stop="2,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEAFTER" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="3,0" stop="3,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table3">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table4">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,-1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,-1" stop="1,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="2,0" stop="2,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="2,-1" stop="2,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEAFTER" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="3,0" stop="3,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="3,-1" stop="3,-1"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Final_Result">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,-1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEAFTER" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,-1" stop="1,-1"/>
|
||||
</blockTableStyle>
|
||||
<initialize>
|
||||
<paraStyle name="all" alignment="justify"/>
|
||||
</initialize>
|
||||
<paraStyle name="P1" rightIndent="2.0" leftIndent="0.0" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="P2" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="Standard" fontName="Times-Roman"/>
|
||||
<paraStyle name="Heading" fontName="Helvetica" fontSize="12.0" leading="15" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Caption" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Index" fontName="Helvetica" fontSize="9.0" leading="11"/>
|
||||
<paraStyle name="Footer" fontName="Times-Roman"/>
|
||||
<paraStyle name="Table Contents" fontName="Times-Roman"/>
|
||||
<paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER"/>
|
||||
<paraStyle name="Horizontal Line" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/>
|
||||
<paraStyle name="terp_header" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Heading 9" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_default_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Bold_8" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_General_Right" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_Details_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_header_Centre" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="CENTER" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_default_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Centre_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Right_9_Bold" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_2" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
</stylesheet>
|
||||
<images/>
|
||||
<story>
|
||||
<para style="Standard">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<blockTable colWidths="539.0" style="Table_Heading">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_header_Centre">[[ get_company(data['form']) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="539.0" style="Table_Company_Name">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_header_Centre">Profit And Loss Account</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="539.0" style="Table_Date_from_To">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_header_Centre">From : [[ formatLang(data['form']['date_from'],date=True) ]] To: [[ formatLang(data['form']['date_to'], date=True) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="P2">[[ get_data(data['form']) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="100.0,326.0,113.0" style="Table_Account_Line_Title" repeatRows="1">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Code</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Expenses</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details_Right">Total Amount([[ get_currency(data['form']) ]])</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_9">
|
||||
<font face="Times-Roman">[[ repeatIn(get_lines_another('expense'),'a' ) ]] </font>[[ a.code ]]<font>[[ a.level<3 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) ]]</font>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_9">
|
||||
<font color="white">[[ '. '*(a.level-1) ]]</font><font>[[ a.level<3 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) ]][[ a.name ]]</font>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold">[[ formatLang(abs(a.balance)) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="100.0,326.0,113.0" style="Table_Net_Profit_Loss">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9"></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">[[ final_result()['type'] == 'Net Profit C.F.B.L.' and final_result()['type'] or removeParentNode('blockTable') ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold">[[ final_result()['type'] == 'Net Profit C.F.B.L.' and formatLang(abs(final_result()['balance'])) or '' ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="426.0,113.0" style="Table_Net_Profit_Loss">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Total:([[ get_currency(data['form']) ]])</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold"><u>[[ formatLang(abs(sum_dr())) ]]</u></para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<condPageBreak height="20cm"/>
|
||||
<para style="terp_default_Right_9_Bold">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<blockTable colWidths="100.0,326.0,113.0" style="Table2" repeatRows="1">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Code</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Incomes</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="P1">Total Amount([[ get_currency(data['form']) ]])</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_9">
|
||||
<font face="Times-Roman">[[ repeatIn(get_lines_another('income'),'a') ]] </font>[[ a.code ]]<font>[[ a.level<3 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) ]]</font>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_9">
|
||||
<font color="white">[[ '. '*(a.level-1) ]]</font><font>[[ a.level<3 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) ]][[ a.name ]]</font>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold">[[ formatLang(abs(a.balance)) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="100.0,326.0,113.0" style="Table4">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9"></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">[[ final_result()['type'] == 'Net Loss C.F.B.L.' and final_result()['type'] or removeParentNode('blockTable') ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold">[[ final_result()['type'] == 'Net Loss C.F.B.L.' and formatLang(abs(final_result()['balance'])) or '' ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="426.0,113.0" style="Table4">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Total:([[ get_currency(data['form']) ]])</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold"><u>[[ formatLang(abs(sum_cr())) ]]</u></para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<para style="Standard">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<para style="terp_default_Right_9_Bold">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</story>
|
||||
</document>
|
||||
@@ -0,0 +1,278 @@
|
||||
<?xml version="1.0"?>
|
||||
<document filename="test.pdf">
|
||||
<template pageSize="(1120.0,770.0)" title="Test" author="Martin Simon" allowSplitting="20" >
|
||||
<pageTemplate id="first">
|
||||
<frame id="first" x1="22.0" y1="15.0" width="1080" height="680"/>
|
||||
<pageGraphics>
|
||||
<setFont name="Helvetica-Bold" size="9"/>
|
||||
<!--COL 1-->
|
||||
<drawString x="1.3cm" y="25.50cm">[[ get_company(data['form']) ]]</drawString>
|
||||
<!--COL 2-->
|
||||
<setFont name="Helvetica" size="9"/>
|
||||
<drawString x="1.3cm" y="0.50cm"> [[ formatLang(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),date_time = True) ]]</drawString>
|
||||
<drawString x="37.20cm" y="0.50cm">Page <pageNumber/></drawString>
|
||||
|
||||
<lineMode width="0.7"/>
|
||||
<lines>1.3cm 24.9cm 38.3cm 24.9cm</lines>
|
||||
<setFont name="Helvetica" size="8"/>
|
||||
</pageGraphics>
|
||||
</pageTemplate>
|
||||
</template>
|
||||
<stylesheet>
|
||||
<blockTableStyle id="Standard_Outline">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Heading">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Company_Name">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Date_from_To">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_debit_credit">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Account_Line_Title">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="2,0" stop="2,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="3,0" stop="3,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="4,0" stop="4,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="4,0" stop="4,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="4,0" stop="4,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="5,0" stop="5,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="5,0" stop="5,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="5,0" stop="5,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="6,0" stop="6,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="6,0" stop="6,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="6,0" stop="6,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="7,0" stop="7,-1"/>
|
||||
<lineStyle kind="LINEAFTER" colorName="#cccccc" start="7,0" stop="7,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="7,0" stop="7,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="7,0" stop="7,-1"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Main_Content">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Expense_Content">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Income_Content">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Net_Profit_Loss">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,-1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,-1" stop="1,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="2,0" stop="2,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="2,-1" stop="2,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="3,0" stop="3,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="3,-1" stop="3,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="4,0" stop="4,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="4,0" stop="4,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="4,-1" stop="4,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="5,0" stop="5,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="5,0" stop="5,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="5,-1" stop="5,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="6,0" stop="6,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="6,0" stop="6,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="6,-1" stop="6,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="7,0" stop="7,-1"/>
|
||||
<lineStyle kind="LINEAFTER" colorName="#cccccc" start="7,0" stop="7,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="7,0" stop="7,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="7,-1" stop="7,-1"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table_Final_Result">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,-1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEAFTER" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,-1" stop="1,-1"/>
|
||||
</blockTableStyle>
|
||||
<initialize>
|
||||
<paraStyle name="all" alignment="justify"/>
|
||||
</initialize>
|
||||
<paraStyle name="P1" rightIndent="2.0" leftIndent="0.0" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="P2" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="Standard" fontName="Times-Roman"/>
|
||||
<paraStyle name="Heading" fontName="Helvetica" fontSize="12.0" leading="15" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Caption" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Index" fontName="Helvetica" fontSize="9.0" leading="11"/>
|
||||
<paraStyle name="Footer" fontName="Times-Roman"/>
|
||||
<paraStyle name="Table Contents" fontName="Times-Roman"/>
|
||||
<paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER"/>
|
||||
<paraStyle name="Horizontal Line" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/>
|
||||
<paraStyle name="terp_header" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Heading 9" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_default_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Bold_8" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_General_Right" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_Details_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_header_Centre" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="CENTER" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_default_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Centre_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Right_9_Bold" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_2" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
</stylesheet>
|
||||
<images/>
|
||||
<story>
|
||||
<para style="Standard">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<blockTable colWidths="1049.0" style="Table_Company_Name">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_header_Centre">Profit And Loss Account </para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="1049.0" style="Table_Date_from_To">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_header_Centre">From : [[ formatLang(data['form']['date_from'],date=True) ]] To: [[ formatLang(data['form']['date_to'], date=True) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_9">[[ get_data(data['form']) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="100.0,308.16,116.32,100.0,308.16,116.32" style="Table_Account_Line_Title" repeatRows="1">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Code</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Perticular</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details_Right">Total Amount([[ get_currency(data['form'])]])</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Code</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Perticular</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="P1">Total Amount([[ get_currency(data['form'])]])</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_9">
|
||||
<font face="Times-Roman">[[ repeatIn(get_lines(),'a' ) ]] </font>[[ a['code'] ]]<font>[[ a['level']<3 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) ]]</font>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_9">
|
||||
<font color="white">[[ '. '*(a['level']-1) ]]</font><font>[[ a['level']<3 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) ]][[ a['name'] ]]</font>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold">[[ formatLang(abs(a['balance'])) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_9">
|
||||
[[ a['code1'] ]]<font>[[ a['level1']<3 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) ]]</font>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_9">
|
||||
<font color="white">[[ '. '*(a['level1']-1) ]]</font><font>[[ a['level1']<3 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) ]][[ a['name1'] ]]</font>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold">[[ formatLang(abs(a['balance1'])) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="100.0,308.16,116.32,100.0,308.16,116.32" style="Table_Net_Profit_Loss">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9"></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">[[ final_result()['type'] == 'Net Profit C.F.B.L.' and final_result()['type'] or '' ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold">[[ final_result()['type'] == 'Net Profit C.F.B.L.' and formatLang(abs(final_result()['balance'])) or '' ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9"></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">[[ final_result()['type'] == 'Net Loss C.F.B.L.' and final_result()['type'] or '' ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold">[[ final_result()['type'] == 'Net Loss C.F.B.L.' and formatLang(abs(final_result()['balance'])) or '' ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
<blockTable colWidths="408.16,116.32,408.16,116.32" style="Table_Net_Profit_Loss">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Total:([[ get_currency(data['form']) ]])</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold"><u>[[ formatLang(abs(sum_dr())) ]]</u></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Total:([[ get_currency(data['form']) ]])</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold"><u>[[ formatLang(abs(sum_cr())) ]]</u></para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<para style="terp_default_8">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</story>
|
||||
</document>
|
||||
|
||||
+165
@@ -0,0 +1,165 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
from report import report_sxw
|
||||
import xml.dom.minidom
|
||||
import os, time
|
||||
import osv
|
||||
import re
|
||||
import tools
|
||||
import pooler
|
||||
import re
|
||||
import sys
|
||||
|
||||
|
||||
class rml_parse(report_sxw.rml_parse):
|
||||
def __init__(self, cr, uid, name, context):
|
||||
super(rml_parse, self).__init__(cr, uid, name, context=None)
|
||||
self.localcontext.update({
|
||||
'comma_me': self.comma_me,
|
||||
'format_date': self._get_and_change_date_format_for_swiss,
|
||||
'strip_name' : self._strip_name,
|
||||
'explode_name' : self._explode_name,
|
||||
})
|
||||
|
||||
def comma_me(self,amount):
|
||||
#print "#" + str(amount) + "#"
|
||||
if not amount:
|
||||
amount = 0.0
|
||||
if type(amount) is float :
|
||||
amount = str('%.2f'%amount)
|
||||
else :
|
||||
amount = str(amount)
|
||||
if (amount == '0'):
|
||||
return ' '
|
||||
orig = amount
|
||||
new = re.sub("^(-?\d+)(\d{3})", "\g<1>'\g<2>", amount)
|
||||
if orig == new:
|
||||
return new
|
||||
else:
|
||||
return self.comma_me(new)
|
||||
|
||||
def _ellipsis(self, string, maxlen=100, ellipsis = '...'):
|
||||
ellipsis = ellipsis or ''
|
||||
try:
|
||||
return string[:maxlen - len(ellipsis) ] + (ellipsis, '')[len(string) < maxlen]
|
||||
except Exception, e:
|
||||
return False
|
||||
|
||||
def _strip_name(self, name, maxlen=50):
|
||||
return self._ellipsis(name, maxlen, '...')
|
||||
|
||||
def _get_and_change_date_format_for_swiss (self,date_to_format):
|
||||
date_formatted=''
|
||||
if date_to_format:
|
||||
date_formatted = strptime (date_to_format,'%Y-%m-%d').strftime('%d.%m.%Y')
|
||||
return date_formatted
|
||||
|
||||
def _explode_name(self,chaine,length):
|
||||
# We will test if the size is less then account
|
||||
full_string = ''
|
||||
if (len(str(chaine)) <= length):
|
||||
return chaine
|
||||
#
|
||||
else:
|
||||
chaine = unicode(chaine,'utf8').encode('iso-8859-1')
|
||||
rup = 0
|
||||
for carac in chaine:
|
||||
rup = rup + 1
|
||||
if rup == length:
|
||||
full_string = full_string + '\n'
|
||||
full_string = full_string + carac
|
||||
rup = 0
|
||||
else:
|
||||
full_string = full_string + carac
|
||||
|
||||
return full_string
|
||||
|
||||
def makeAscii(self,str):
|
||||
try:
|
||||
Stringer = str.encode("utf-8")
|
||||
except UnicodeDecodeError:
|
||||
try:
|
||||
Stringer = str.encode("utf-16")
|
||||
except UnicodeDecodeError:
|
||||
print "UTF_16 Error"
|
||||
Stringer = str
|
||||
else:
|
||||
return Stringer
|
||||
else:
|
||||
return Stringer
|
||||
return Stringer
|
||||
|
||||
def explode_this(self,chaine,length):
|
||||
#chaine = self.repair_string(chaine)
|
||||
chaine = rstrip(chaine)
|
||||
ast = list(chaine)
|
||||
i = length
|
||||
while i <= len(ast):
|
||||
ast.insert(i,'\n')
|
||||
i = i + length
|
||||
chaine = str("".join(ast))
|
||||
return chaine
|
||||
|
||||
def repair_string(self,chaine):
|
||||
ast = list(chaine)
|
||||
UnicodeAst = []
|
||||
_previouslyfound = False
|
||||
i = 0
|
||||
#print str(ast)
|
||||
while i < len(ast):
|
||||
elem = ast[i]
|
||||
try:
|
||||
Stringer = elem.encode("utf-8")
|
||||
except UnicodeDecodeError:
|
||||
to_reencode = elem + ast[i+1]
|
||||
print str(to_reencode)
|
||||
Good_char = to_reencode.decode('utf-8')
|
||||
UnicodeAst.append(Good_char)
|
||||
i += i +2
|
||||
else:
|
||||
UnicodeAst.append(elem)
|
||||
i += i + 1
|
||||
return "".join(UnicodeAst)
|
||||
|
||||
def ReencodeAscii(self,str):
|
||||
print sys.stdin.encoding
|
||||
try:
|
||||
Stringer = str.decode("ascii")
|
||||
except UnicodeEncodeError:
|
||||
print "REENCODING ERROR"
|
||||
return str.encode("ascii")
|
||||
except UnicodeDecodeError:
|
||||
print "DECODING ERROR"
|
||||
return str.encode("ascii")
|
||||
else:
|
||||
print Stringer
|
||||
return Stringer
|
||||
|
||||
def _add_header(self, node, header=1):
|
||||
if header==2:
|
||||
rml_head = self.rml_header2
|
||||
else:
|
||||
rml_head = self.rml_header
|
||||
rml_head = rml_head.replace('<pageGraphics>','''<pageGraphics> <image x="10" y="26cm" height="770.0" width="1120.0" >[[company.logo]] </image> ''')
|
||||
return True
|
||||
|
||||
|
||||
|
||||
Regular → Executable
+3
-6
@@ -1,3 +1,4 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
@@ -18,9 +19,5 @@
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import smtpclient
|
||||
import serveraction
|
||||
import ir_model
|
||||
import wizard
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
import account_bs_report
|
||||
import account_pl_report
|
||||
@@ -0,0 +1,158 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
import time
|
||||
|
||||
from osv import osv, fields
|
||||
from tools.translate import _
|
||||
|
||||
class account_bs_report(osv.osv_memory):
|
||||
"""
|
||||
This wizard will provide the account balance sheet report by periods, between any two dates.
|
||||
"""
|
||||
_name = 'account.bs.report'
|
||||
_description = 'Account Balance Sheet Report'
|
||||
_columns = {
|
||||
'Account_list': fields.many2one('account.account', 'Chart account',
|
||||
required=True, domain = [('parent_id','=',False)]),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||
'display_account': fields.selection([('bal_movement','With movements'),
|
||||
('bal_solde','With balance is not equal to 0'),
|
||||
('bal_all','All'),
|
||||
],'Display accounts'),
|
||||
'display_type': fields.boolean("Landscape Mode"),
|
||||
'reserve_account_id': fields.many2one('account.account', 'Reserve & Surplus Account',required = True,
|
||||
help='This Account is used for trasfering Profit/Loss(If It is Profit : Amount will be added, Loss : Amount will be duducted.), Which is calculated from Profilt & Loss Report', domain = [('type','=','payable')]),
|
||||
'fiscalyear': fields.many2one('account.fiscalyear', 'Fiscal year', help='Keep empty for all open fiscal year'),
|
||||
'state': fields.selection([('bydate','By Date'),
|
||||
('byperiod','By Period'),
|
||||
('all','By Date and Period'),
|
||||
('none','No Filter')
|
||||
],'Date/Period Filter'),
|
||||
'periods': fields.many2many('account.period', 'period_account_balance_rel',
|
||||
'report_id', 'period_id', 'Periods',
|
||||
help='Keep empty for all open fiscal year'),
|
||||
'date_from': fields.date('Start date', required=True),
|
||||
'date_to': fields.date('End date', required=True),
|
||||
}
|
||||
|
||||
def _get_company(self, cr, uid, context=None):
|
||||
user_obj = self.pool.get('res.users')
|
||||
company_obj = self.pool.get('res.company')
|
||||
user = user_obj.browse(cr, uid, uid, context=context)
|
||||
if user.company_id:
|
||||
return user.company_id.id
|
||||
else:
|
||||
return company_obj.search(cr, uid, [('parent_id', '=', False)])[0]
|
||||
|
||||
_defaults={
|
||||
'state' : 'none',
|
||||
'date_from' : time.strftime('%Y-01-01'),
|
||||
'date_to' : time.strftime('%Y-%m-%d'),
|
||||
'company_id' : _get_company,
|
||||
'fiscalyear' : False,
|
||||
'display_account': 'bal_all',
|
||||
'display_type': True,
|
||||
}
|
||||
|
||||
def next_view(self, cr, uid, ids, context=None):
|
||||
obj_model = self.pool.get('ir.model.data')
|
||||
if context is None:
|
||||
context = {}
|
||||
data = self.read(cr, uid, ids, [])[0]
|
||||
context.update({'Account_list': data['Account_list'],'reserve_account_id':data['reserve_account_id']})
|
||||
model_data_ids = obj_model.search(cr,uid,[('model','=','ir.ui.view'),('name','=','account_bs_report_view')])
|
||||
resource_id = obj_model.read(cr, uid, model_data_ids, fields=['res_id'])[0]['res_id']
|
||||
return {
|
||||
'view_type': 'form',
|
||||
'view_mode': 'form',
|
||||
'res_model': 'account.bs.report',
|
||||
'views': [(resource_id,'form')],
|
||||
'type': 'ir.actions.act_window',
|
||||
'target': 'new',
|
||||
'context': context
|
||||
}
|
||||
|
||||
def check_state(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
data={}
|
||||
data['ids'] = context['active_ids']
|
||||
data['form'] = self.read(cr, uid, ids, ['date_from', 'company_id', 'state', 'periods', 'date_to', 'display_account', 'display_type', 'fiscalyear'])[0]
|
||||
data['form']['Account_list'] = context.get('Account_list',[])
|
||||
data['form']['reserve_account_id'] = context.get('reserve_account_id',[])
|
||||
data['form']['context'] = context
|
||||
if data['form']['Account_list']:
|
||||
data['model'] = 'ir.ui.menu'
|
||||
else:
|
||||
data['model'] = 'account.account'
|
||||
|
||||
if data['form']['state'] == 'bydate' :
|
||||
return self._check_date(cr, uid, data, context)
|
||||
elif data['form']['state'] == 'byperiod':
|
||||
if not data['form']['periods']:
|
||||
raise osv.except_osv(_('Warning'),_('Please Enter Periods ! '))
|
||||
if data['form']['display_type']:
|
||||
return {
|
||||
'type': 'ir.actions.report.xml',
|
||||
'report_name': 'account.balancesheet.horizontal',
|
||||
'datas': data,
|
||||
'nodestroy':True,
|
||||
}
|
||||
else:
|
||||
return {
|
||||
'type': 'ir.actions.report.xml',
|
||||
'report_name': 'account.balancesheet',
|
||||
'datas': data,
|
||||
'nodestroy':True,
|
||||
}
|
||||
|
||||
def _check_date(self, cr, uid, data, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
sql = """
|
||||
SELECT f.id, f.date_start, f.date_stop FROM account_fiscalyear f Where %s between f.date_start and f.date_stop """
|
||||
cr.execute(sql,(data['form']['date_from'],))
|
||||
res = cr.dictfetchall()
|
||||
if res:
|
||||
|
||||
if (data['form']['date_to'] > res[0]['date_stop'] or data['form']['date_to'] < res[0]['date_start']):
|
||||
raise osv.except_osv(_('UserError'),_('Date to must be set between %s and %s') % (res[0]['date_start'], res[0]['date_stop']))
|
||||
else:
|
||||
if data['form']['display_type']:
|
||||
return {
|
||||
'type': 'ir.actions.report.xml',
|
||||
'report_name': 'account.balancesheet.horizontal',
|
||||
'datas': data,
|
||||
'nodestroy':True,
|
||||
}
|
||||
else:
|
||||
return {
|
||||
'type': 'ir.actions.report.xml',
|
||||
'report_name': 'account.balancesheet',
|
||||
'datas': data,
|
||||
'nodestroy':True,
|
||||
}
|
||||
else:
|
||||
raise osv.except_osv(_('UserError'),_('Date not in a defined fiscal year'))
|
||||
|
||||
account_bs_report()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
@@ -0,0 +1,85 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="account_bs_report_view" model="ir.ui.view">
|
||||
<field name="name">Select period</field>
|
||||
<field name="model">account.bs.report</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select period">
|
||||
<field name="company_id"/>
|
||||
<field name="display_account" required = "True"/>
|
||||
<newline/>
|
||||
<field name="fiscalyear"/>
|
||||
<label colspan="2" string="(Keep empty for all open fiscal years)" align="0.0"/>
|
||||
<field name="display_type"/>
|
||||
<newline/>
|
||||
<separator string="Filters" colspan="4"/>
|
||||
<field name="state" required="True"/>
|
||||
<newline/>
|
||||
<group attrs="{'invisible':[('state','=','none')]}" colspan="4">
|
||||
<group attrs="{'invisible':[('state','=','byperiod')]}" colspan="4">
|
||||
<separator string="Date Filter" colspan="4"/>
|
||||
<field name="date_from"/>
|
||||
<field name="date_to"/>
|
||||
</group>
|
||||
<group attrs="{'invisible':[('state','=','bydate')]}" colspan="4">
|
||||
<separator string="Filter on Periods" colspan="4"/>
|
||||
<field name="periods" colspan="4" nolabel="1"/>
|
||||
</group>
|
||||
</group>
|
||||
<newline/>
|
||||
<group colspan="4" col="6">
|
||||
<label string ="" colspan="2"/>
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="check_state" string="Print" type="object" icon="gtk-print" default_focus="1"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_account_bs_report" model="ir.actions.act_window">
|
||||
<field name="name">Account Balance Sheet</field>
|
||||
<field name="res_model">account.bs.report</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="account_bs_report_view"/>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
<record id="account_bs_report_account_view" model="ir.ui.view">
|
||||
<field name="name">Account Chart</field>
|
||||
<field name="model">account.bs.report</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select Chart">
|
||||
<field name="Account_list" />
|
||||
<field name="reserve_account_id"/>
|
||||
<separator colspan="4"/>
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel" colspan="2"/>
|
||||
<button name="next_view" string="Next" type="object" icon="gtk-go-forward" default_focus="1" colspan="2"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_bs_balance_account_report" model="ir.actions.act_window">
|
||||
<field name="name">Select Account</field>
|
||||
<field name="res_model">account.bs.report</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="account_bs_report_account_view"/>
|
||||
<field name="context">{'record_id':active_id}</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
<menuitem icon="STOCK_PRINT"
|
||||
name="Balance Sheet"
|
||||
action="action_bs_balance_account_report"
|
||||
id="menu_account_bs_report"
|
||||
parent="final_accounting_reports"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -0,0 +1,155 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
import time
|
||||
|
||||
from osv import osv, fields
|
||||
from tools.translate import _
|
||||
|
||||
class account_pl_report(osv.osv_memory):
|
||||
"""
|
||||
This wizard will provide the account profit and loss report by periods, between any two dates.
|
||||
"""
|
||||
_name = 'account.pl.report'
|
||||
_description = 'Account Profit And Loss Report'
|
||||
_columns = {
|
||||
'Account_list': fields.many2one('account.account', 'Chart account',
|
||||
required=True, domain = [('parent_id','=',False)]),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||
'display_account': fields.selection([('bal_movement','With movements'),
|
||||
('bal_solde','With balance is not equal to 0'),
|
||||
('bal_all','All'),
|
||||
],'Display accounts'),
|
||||
'display_type': fields.boolean("Landscape Mode"),
|
||||
'fiscalyear': fields.many2one('account.fiscalyear', 'Fiscal year', help='Keep empty for all open fiscal year'),
|
||||
'state': fields.selection([('bydate','By Date'),
|
||||
('byperiod','By Period'),
|
||||
('all','By Date and Period'),
|
||||
('none','No Filter')
|
||||
],'Date/Period Filter'),
|
||||
'periods': fields.many2many('account.period', 'period_account_balance_rel',
|
||||
'report_id', 'period_id', 'Periods',
|
||||
help='Keep empty for all open fiscal year'),
|
||||
'date_from': fields.date('Start date', required=True),
|
||||
'date_to': fields.date('End date', required=True),
|
||||
}
|
||||
|
||||
def _get_company(self, cr, uid, context=None):
|
||||
user_obj = self.pool.get('res.users')
|
||||
company_obj = self.pool.get('res.company')
|
||||
user = user_obj.browse(cr, uid, uid, context=context)
|
||||
if user.company_id:
|
||||
return user.company_id.id
|
||||
else:
|
||||
return company_obj.search(cr, uid, [('parent_id', '=', False)])[0]
|
||||
|
||||
_defaults={
|
||||
'state' : 'none',
|
||||
'date_from' : time.strftime('%Y-01-01'),
|
||||
'date_to' : time.strftime('%Y-%m-%d'),
|
||||
'company_id' : _get_company,
|
||||
'fiscalyear' : False,
|
||||
'display_account': 'bal_all',
|
||||
'display_type': True,
|
||||
}
|
||||
|
||||
def next_view(self, cr, uid, ids, context=None):
|
||||
obj_model = self.pool.get('ir.model.data')
|
||||
if context is None:
|
||||
context = {}
|
||||
data = self.read(cr, uid, ids, [])[0]
|
||||
context.update({'Account_list': data['Account_list']})
|
||||
model_data_ids = obj_model.search(cr,uid,[('model','=','ir.ui.view'),('name','=','account_pl_report_view')])
|
||||
resource_id = obj_model.read(cr, uid, model_data_ids, fields=['res_id'])[0]['res_id']
|
||||
return {
|
||||
'view_type': 'form',
|
||||
'view_mode': 'form',
|
||||
'res_model': 'account.pl.report',
|
||||
'views': [(resource_id,'form')],
|
||||
'type': 'ir.actions.act_window',
|
||||
'target': 'new',
|
||||
'context': context
|
||||
}
|
||||
|
||||
def check_state(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
data={}
|
||||
data['ids'] = context['active_ids']
|
||||
data['form'] = self.read(cr, uid, ids, ['date_from', 'company_id', 'state', 'periods', 'date_to', 'display_account', 'display_type', 'fiscalyear'])[0]
|
||||
data['form']['Account_list'] = context.get('Account_list',[])
|
||||
data['form']['context'] = context
|
||||
if data['form']['Account_list']:
|
||||
data['model'] = 'ir.ui.menu'
|
||||
else:
|
||||
data['model'] = 'account.account'
|
||||
|
||||
if data['form']['state'] == 'bydate' :
|
||||
return self._check_date(cr, uid, data, context)
|
||||
elif data['form']['state'] == 'byperiod':
|
||||
if not data['form']['periods']:
|
||||
raise osv.except_osv(_('Warning'),_('Please Enter Periods ! '))
|
||||
if data['form']['display_type']:
|
||||
return {
|
||||
'type': 'ir.actions.report.xml',
|
||||
'report_name': 'pl.account.horizontal',
|
||||
'datas': data,
|
||||
'nodestroy':True,
|
||||
}
|
||||
else:
|
||||
return {
|
||||
'type': 'ir.actions.report.xml',
|
||||
'report_name': 'pl.account',
|
||||
'datas': data,
|
||||
'nodestroy':True,
|
||||
}
|
||||
|
||||
def _check_date(self, cr, uid, data, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
sql = """
|
||||
SELECT f.id, f.date_start, f.date_stop FROM account_fiscalyear f Where %s between f.date_start and f.date_stop """
|
||||
cr.execute(sql,(data['form']['date_from'],))
|
||||
res = cr.dictfetchall()
|
||||
if res:
|
||||
|
||||
if (data['form']['date_to'] > res[0]['date_stop'] or data['form']['date_to'] < res[0]['date_start']):
|
||||
raise osv.except_osv(_('UserError'),_('Date to must be set between %s and %s') % (res[0]['date_start'], res[0]['date_stop']))
|
||||
else:
|
||||
if data['form']['display_type']:
|
||||
return {
|
||||
'type': 'ir.actions.report.xml',
|
||||
'report_name': 'pl.account.horizontal',
|
||||
'datas': data,
|
||||
'nodestroy':True,
|
||||
}
|
||||
else:
|
||||
return {
|
||||
'type': 'ir.actions.report.xml',
|
||||
'report_name': 'pl.account',
|
||||
'datas': data,
|
||||
'nodestroy':True,
|
||||
}
|
||||
else:
|
||||
raise osv.except_osv(_('UserError'),_('Date not in a defined fiscal year'))
|
||||
|
||||
account_pl_report()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
@@ -0,0 +1,89 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="account_pl_report_view" model="ir.ui.view">
|
||||
<field name="name">Select period</field>
|
||||
<field name="model">account.pl.report</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select period">
|
||||
<field name="company_id"/>
|
||||
<field name="display_account" required = "True"/>
|
||||
<newline/>
|
||||
<field name="fiscalyear"/>
|
||||
<label colspan="2" string="(Keep empty for all open fiscal years)" align="0.0"/>
|
||||
<field name="display_type"/>
|
||||
<newline/>
|
||||
<separator string="Filters" colspan="4"/>
|
||||
<field name="state" required="True"/>
|
||||
<newline/>
|
||||
<group attrs="{'invisible':[('state','=','none')]}" colspan="4">
|
||||
<group attrs="{'invisible':[('state','=','byperiod')]}" colspan="4">
|
||||
<separator string="Date Filter" colspan="4"/>
|
||||
<field name="date_from"/>
|
||||
<field name="date_to"/>
|
||||
</group>
|
||||
<group attrs="{'invisible':[('state','=','bydate')]}" colspan="4">
|
||||
<separator string="Filter on Periods" colspan="4"/>
|
||||
<field name="periods" colspan="4" nolabel="1"/>
|
||||
</group>
|
||||
</group>
|
||||
<newline/>
|
||||
<group colspan="4" col="6">
|
||||
<label string ="" colspan="2"/>
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="check_state" string="Print" type="object" icon="gtk-print" default_focus="1"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_account_pl_report" model="ir.actions.act_window">
|
||||
<field name="name">Account Profit And Loss</field>
|
||||
<field name="res_model">account.pl.report</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="account_pl_report_view"/>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
<record id="account_pl_report_account_view" model="ir.ui.view">
|
||||
<field name="name">Account Chart</field>
|
||||
<field name="model">account.pl.report</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select Chart">
|
||||
<field name="Account_list"/>
|
||||
<separator colspan="4"/>
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button name="next_view" string="Next" type="object" icon="gtk-go-forward" default_focus="1"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_pl_balance_account_report" model="ir.actions.act_window">
|
||||
<field name="name">Select Account</field>
|
||||
<field name="res_model">account.pl.report</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="account_pl_report_account_view"/>
|
||||
<field name="context">{'record_id':active_id}</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
parent="account.menu_finance_legal_statement"
|
||||
id="final_accounting_reports"
|
||||
name="Accounting Reports"/>
|
||||
|
||||
<menuitem icon="STOCK_PRINT"
|
||||
name="Profit And Loss"
|
||||
action="action_pl_balance_account_report"
|
||||
id="menu_account_pl_report"
|
||||
parent="final_accounting_reports"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -30,7 +30,7 @@ from mx.DateTime import RelativeDateTime, now, DateTime, localtime
|
||||
|
||||
class color_rml(osv.osv):
|
||||
_name = "color.rml"
|
||||
_description = "Rml Colors"
|
||||
_description = "Rml Color"
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=64, required=True),
|
||||
'code': fields.char('code',size=64,required=True),
|
||||
|
||||
@@ -0,0 +1,246 @@
|
||||
# Occitan (post 1500) translation for openobject-addons
|
||||
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-05-18 08:40+0000\n"
|
||||
"Last-Translator: Cédric VALMARY (Tot en òc) <cvalmary@yahoo.fr>\n"
|
||||
"Language-Team: Occitan (post 1500) <oc@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-19 05:12+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_reporting
|
||||
#: field:color.rml,code:0
|
||||
msgid "code"
|
||||
msgstr "còde"
|
||||
|
||||
#. module: account_reporting
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
"Lo nom de l'objècte deu començar amb x_ e conténer pas de caractèrs "
|
||||
"especials !"
|
||||
|
||||
#. module: account_reporting
|
||||
#: selection:account.report.bs,font_style:0
|
||||
msgid "Helvetica-Bold"
|
||||
msgstr "Helvetica-Gras"
|
||||
|
||||
#. module: account_reporting
|
||||
#: selection:account.report.bs,font_style:0
|
||||
msgid "Helvetica"
|
||||
msgstr "Helvetica"
|
||||
|
||||
#. module: account_reporting
|
||||
#: field:account.report.bs,note:0
|
||||
msgid "Note"
|
||||
msgstr "Nòta"
|
||||
|
||||
#. module: account_reporting
|
||||
#: field:account.report.bs,report_type:0
|
||||
msgid "Report Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: model:ir.ui.menu,name:account_reporting.action_account_report_bs_form
|
||||
#: model:ir.ui.menu,name:account_reporting.menu_finan_config_BSheet
|
||||
msgid "Balance Sheet Report"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Nom del Modèl invalid per la definicion de l'accion."
|
||||
|
||||
#. module: account_reporting
|
||||
#: selection:account.report.bs,font_style:0
|
||||
msgid "Courier"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: selection:account.report.bs,font_style:0
|
||||
msgid "Courier-BoldOblique"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: wizard_button:account.account.balancesheet.report,init,report:0
|
||||
msgid "Print BalanceSheet"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: help:account.account.balancesheet.report,init,periods:0
|
||||
msgid "All periods if empty"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: field:account.report.bs,color_font:0
|
||||
msgid "Font Color"
|
||||
msgstr "Color de la poliça"
|
||||
|
||||
#. module: account_reporting
|
||||
#: selection:account.report.bs,report_type:0
|
||||
msgid "Report Objects With Accounts and child of Accounts"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: model:ir.module.module,description:account_reporting.module_meta_information
|
||||
msgid ""
|
||||
"Financial and accounting reporting\n"
|
||||
" Balance Sheet Report"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: selection:account.report.bs,report_type:0
|
||||
msgid "Report Objects With Accounts"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: selection:account.report.bs,font_style:0
|
||||
msgid "Courier-Oblique"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "XML invalid per l'arquitectura de la vista"
|
||||
|
||||
#. module: account_reporting
|
||||
#: field:account.report.bs,name:0
|
||||
#: field:color.rml,name:0
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#. module: account_reporting
|
||||
#: view:account.report.bs:0
|
||||
msgid "Account reporting"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: model:ir.ui.menu,name:account_reporting.bs_report_action_form
|
||||
msgid "Balance Sheet Report Form"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: view:account.report.bs:0
|
||||
msgid "Notes"
|
||||
msgstr "Nòtas"
|
||||
|
||||
#. module: account_reporting
|
||||
#: selection:account.report.bs,font_style:0
|
||||
msgid "Times-BoldItalic"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: model:ir.model,name:account_reporting.model_account_report_bs
|
||||
msgid "Account reporting for Balance Sheet"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: selection:account.report.bs,font_style:0
|
||||
msgid "Courier-Bold"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: selection:account.report.bs,font_style:0
|
||||
msgid "Times-Italic"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: selection:account.report.bs,report_type:0
|
||||
msgid "Report Objects Only"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: model:ir.model,name:account_reporting.model_color_rml
|
||||
msgid "Rml Colors"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: model:ir.module.module,shortdesc:account_reporting.module_meta_information
|
||||
msgid "Reporting of Balancesheet for accounting"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: field:account.report.bs,code:0
|
||||
msgid "Code"
|
||||
msgstr "Còde"
|
||||
|
||||
#. module: account_reporting
|
||||
#: field:account.report.bs,parent_id:0
|
||||
msgid "Parent"
|
||||
msgstr "Parent"
|
||||
|
||||
#. module: account_reporting
|
||||
#: field:account.report.bs,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr "Sequéncia"
|
||||
|
||||
#. module: account_reporting
|
||||
#: selection:account.report.bs,font_style:0
|
||||
msgid "Times-Bold"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: view:account.report.bs:0
|
||||
msgid "General"
|
||||
msgstr "General"
|
||||
|
||||
#. module: account_reporting
|
||||
#: wizard_field:account.account.balancesheet.report,init,fiscalyear:0
|
||||
msgid "Fiscal year"
|
||||
msgstr "Exercici fiscal"
|
||||
|
||||
#. module: account_reporting
|
||||
#: view:account.report.bs:0
|
||||
#: field:account.report.bs,account_id:0
|
||||
msgid "Accounts"
|
||||
msgstr "Comptes"
|
||||
|
||||
#. module: account_reporting
|
||||
#: wizard_field:account.account.balancesheet.report,init,periods:0
|
||||
msgid "Periods"
|
||||
msgstr "Periòdes"
|
||||
|
||||
#. module: account_reporting
|
||||
#: field:account.report.bs,color_back:0
|
||||
msgid "Back Color"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: field:account.report.bs,child_id:0
|
||||
msgid "Children"
|
||||
msgstr "Enfants"
|
||||
|
||||
#. module: account_reporting
|
||||
#: wizard_button:account.account.balancesheet.report,init,end:0
|
||||
msgid "Cancel"
|
||||
msgstr "Anullar"
|
||||
|
||||
#. module: account_reporting
|
||||
#: selection:account.report.bs,font_style:0
|
||||
msgid "Times-Roman"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: selection:account.report.bs,font_style:0
|
||||
msgid "Helvetica-Oblique"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: field:account.report.bs,font_style:0
|
||||
msgid "Font"
|
||||
msgstr "Poliça de caractèr"
|
||||
|
||||
#. module: account_reporting
|
||||
#: wizard_view:account.account.balancesheet.report,init:0
|
||||
msgid "Customize Report"
|
||||
msgstr ""
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
@@ -15,11 +15,11 @@
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import invoice_tax_incl
|
||||
import account_tax_include
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
@@ -15,7 +15,7 @@
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
@@ -26,14 +26,14 @@
|
||||
'category': 'Generic Modules/Accounting',
|
||||
'description': """Allow the user to work tax included prices.
|
||||
Especially useful for b2c businesses.
|
||||
|
||||
|
||||
This module implement the modification on the invoice form.
|
||||
""",
|
||||
'author': 'Tiny',
|
||||
'website': 'http://www.openerp.com',
|
||||
'depends': ['account'],
|
||||
'init_xml': [],
|
||||
'update_xml': ['invoice_tax_incl.xml'],
|
||||
'update_xml': ['account_tax_include_view.xml'],
|
||||
'demo_xml': [],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
|
||||
+33
-19
@@ -18,14 +18,23 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import time
|
||||
import netsvc
|
||||
|
||||
from osv import fields, osv
|
||||
import ir
|
||||
from tools import config
|
||||
import decimal_precision as dp
|
||||
|
||||
class account_tax(osv.osv):
|
||||
_inherit = 'account.tax'
|
||||
_description = 'Account Tax'
|
||||
_columns = {
|
||||
'price_include': fields.boolean('Tax Included in Price', help="Check this if the price you use on the product and invoices includes this tax."),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
'price_include': 0,
|
||||
}
|
||||
account_tax()
|
||||
|
||||
class account_invoice(osv.osv):
|
||||
_inherit = "account.invoice"
|
||||
_columns = {
|
||||
@@ -35,7 +44,7 @@ class account_invoice(osv.osv):
|
||||
states={'draft':[('readonly',False)]}),
|
||||
}
|
||||
_defaults = {
|
||||
'price_type': lambda *a: 'tax_excluded',
|
||||
'price_type': 'tax_excluded',
|
||||
}
|
||||
|
||||
def refund(self, cr, uid, ids, date=None, period_id=None, description=None):
|
||||
@@ -55,6 +64,7 @@ account_invoice()
|
||||
|
||||
class account_invoice_line(osv.osv):
|
||||
_inherit = "account.invoice.line"
|
||||
|
||||
def _amount_line2(self, cr, uid, ids, name, args, context=None):
|
||||
"""
|
||||
Return the subtotal excluding taxes with respect to price_type.
|
||||
@@ -62,6 +72,7 @@ class account_invoice_line(osv.osv):
|
||||
res = {}
|
||||
tax_obj = self.pool.get('account.tax')
|
||||
cur_obj = self.pool.get('res.currency')
|
||||
dec_obj = self.pool.get('decimal.precision')
|
||||
for line in self.browse(cr, uid, ids):
|
||||
cur = line.invoice_id and line.invoice_id.currency_id or False
|
||||
res_init = super(account_invoice_line, self)._amount_line(cr, uid, [line.id], name, args, context)
|
||||
@@ -85,7 +96,7 @@ class account_invoice_line(osv.osv):
|
||||
else:
|
||||
res[line.id]['price_subtotal'] = cur and cur_obj.round(cr, uid, cur, res_init[line.id]) or res_init[line.id]
|
||||
for tax in tax_obj.compute_inv(cr, uid, product_taxes, res_init[line.id]/line.quantity, line.quantity):
|
||||
res[line.id]['price_subtotal'] = res[line.id]['price_subtotal'] - round(tax['amount'], self.pool.get('decimal.precision').precision_get(cr, uid, 'Account'))
|
||||
res[line.id]['price_subtotal'] = res[line.id]['price_subtotal'] - round(tax['amount'], dec_obj.precision_get(cr, uid, 'Account'))
|
||||
else:
|
||||
res[line.id]['price_subtotal'] = cur and cur_obj.round(cr, uid, cur, res_init[line.id]) or res_init[line.id]
|
||||
|
||||
@@ -93,15 +104,15 @@ class account_invoice_line(osv.osv):
|
||||
res[line.id]['price_subtotal_incl'] = res[line.id]['price_subtotal']
|
||||
for tax in tax_obj.compute(cr, uid, line.invoice_line_tax_id, res[line.id]['price_subtotal']/line.quantity, line.quantity):
|
||||
res[line.id]['price_subtotal_incl'] = res[line.id]['price_subtotal_incl'] + tax['amount']
|
||||
res[line.id]['data'].append( tax)
|
||||
res[line.id]['data'].append(tax)
|
||||
else:
|
||||
res[line.id]['price_subtotal'] = res[line.id]['price_subtotal_incl']
|
||||
for tax in tax_obj.compute_inv(cr, uid, line.invoice_line_tax_id, res[line.id]['price_subtotal_incl']/line.quantity, line.quantity):
|
||||
res[line.id]['price_subtotal'] = res[line.id]['price_subtotal'] - tax['amount']
|
||||
res[line.id]['data'].append( tax)
|
||||
|
||||
res[line.id]['price_subtotal']= round(res[line.id]['price_subtotal'], self.pool.get('decimal.precision').precision_get(cr, uid, 'Account'))
|
||||
res[line.id]['price_subtotal_incl']= round(res[line.id]['price_subtotal_incl'], self.pool.get('decimal.precision').precision_get(cr, uid, 'Account'))
|
||||
res[line.id]['price_subtotal']= round(res[line.id]['price_subtotal'], dec_obj.precision_get(cr, uid, 'Account'))
|
||||
res[line.id]['price_subtotal_incl']= round(res[line.id]['price_subtotal_incl'], dec_obj.precision_get(cr, uid, 'Account'))
|
||||
return res
|
||||
|
||||
def _price_unit_default(self, cr, uid, context=None):
|
||||
@@ -124,16 +135,17 @@ class account_invoice_line(osv.osv):
|
||||
for line in inv.invoice_line:
|
||||
result[line.id] = True
|
||||
return result.keys()
|
||||
|
||||
_columns = {
|
||||
'price_subtotal': fields.function(_amount_line2, method=True, string='Subtotal w/o tax', multi='amount',
|
||||
store={'account.invoice':(_get_invoice,['price_type'],10), 'account.invoice.line': (lambda self,cr,uid,ids,c={}: ids, None,10)}),
|
||||
'price_subtotal_incl': fields.function(_amount_line2, method=True, string='Subtotal', multi='amount',
|
||||
store={'account.invoice':(_get_invoice,['price_type'],10), 'account.invoice.line': (lambda self,cr,uid,ids,c={}: ids, None,10)}),
|
||||
}
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
'price_unit': _price_unit_default,
|
||||
}
|
||||
}
|
||||
|
||||
def move_line_get_item(self, cr, uid, line, context=None):
|
||||
return {
|
||||
@@ -146,7 +158,7 @@ class account_invoice_line(osv.osv):
|
||||
'product_id': line.product_id.id,
|
||||
'uos_id':line.uos_id.id,
|
||||
'account_analytic_id':line.account_analytic_id.id,
|
||||
}
|
||||
}
|
||||
|
||||
def product_id_change_unit_price_inv(self, cr, uid, tax_id, price_unit, qty, address_invoice_id, product, partner_id, context=None):
|
||||
if context is None:
|
||||
@@ -167,23 +179,26 @@ class account_invoice_line(osv.osv):
|
||||
ctx = (context and context.copy()) or {}
|
||||
ctx.update({'price_type': ctx.get('price_type','tax_excluded')})
|
||||
return super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, address_invoice_id, currency_id=currency_id, context=ctx)
|
||||
|
||||
account_invoice_line()
|
||||
|
||||
class account_invoice_tax(osv.osv):
|
||||
_inherit = "account.invoice.tax"
|
||||
|
||||
def compute(self, cr, uid, invoice_id, context=None):
|
||||
inv = self.pool.get('account.invoice').browse(cr, uid, invoice_id)
|
||||
line_ids = map(lambda x: x.id, inv.invoice_line)
|
||||
|
||||
tax_grouped = {}
|
||||
tax_obj = self.pool.get('account.tax')
|
||||
cur_obj = self.pool.get('res.currency')
|
||||
line_obj = self.pool.get('account.invoice.line')
|
||||
|
||||
inv = self.pool.get('account.invoice').browse(cr, uid, invoice_id)
|
||||
line_ids = map(lambda x: x.id, inv.invoice_line)
|
||||
|
||||
cur = inv.currency_id
|
||||
company_currency = inv.company_id.currency_id.id
|
||||
|
||||
for line in inv.invoice_line:
|
||||
data = self.pool.get('account.invoice.line')._amount_line2(cr, uid, [line.id], [], [], context)[line.id]
|
||||
data = line_obj._amount_line2(cr, uid, [line.id], [], [], context)[line.id]
|
||||
for tax in data['data']:
|
||||
val={}
|
||||
val['invoice_id'] = inv.id
|
||||
@@ -221,8 +236,7 @@ class account_invoice_tax(osv.osv):
|
||||
t['tax_amount'] = cur_obj.round(cr, uid, cur, t['tax_amount'])
|
||||
|
||||
return tax_grouped
|
||||
|
||||
account_invoice_tax()
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
+33
-7
@@ -1,7 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
|
||||
<!-- Add price include (boolean) on tax form/tree view -->
|
||||
<record id="view_tax_tree_inherit" model="ir.ui.view">
|
||||
<field name="name">account.tax.tree.inherit.tree</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="model">account.tax</field>
|
||||
<field name="inherit_id" ref="account.view_tax_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="name" position="after">
|
||||
<field name="price_include"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_tax_form_inherit" model="ir.ui.view">
|
||||
<field name="name">account.tax.tree.inherit.form</field>
|
||||
<field name="type">form</field>
|
||||
<field name="model">account.tax</field>
|
||||
<field name="inherit_id" ref="account.view_tax_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="sequence" position="after">
|
||||
<field groups="base.group_extended" name="price_include"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
<!-- End -->
|
||||
|
||||
<record id="account_tax_view_price" model="ir.ui.view">
|
||||
<field name="name">account.tax.exlcuded.view.form</field>
|
||||
<field name="type">form</field>
|
||||
@@ -14,7 +40,7 @@
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="account_invoice_view_price" model="ir.ui.view">
|
||||
<field name="name">account.invoice.vat.exlcuded.view.form</field>
|
||||
<field name="type">form</field>
|
||||
@@ -26,7 +52,7 @@
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="invoice_supplier_form_tax_include" model="ir.ui.view">
|
||||
<field name="name">account.invoice.supplier.tax_include</field>
|
||||
<field name="type">form</field>
|
||||
@@ -38,7 +64,7 @@
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="invoice_supplier_form_tax_include2" model="ir.ui.view">
|
||||
<field name="name">account.invoice.supplier.tax_include2</field>
|
||||
<field name="type">form</field>
|
||||
@@ -50,7 +76,7 @@
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="invoice_supplier_form_tax_include3" model="ir.ui.view">
|
||||
<field name="name">account.invoice.supplier.tax_include3</field>
|
||||
<field name="type">form</field>
|
||||
@@ -62,7 +88,7 @@
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="view_invoice_line_tree" model="ir.ui.view">
|
||||
<field name="name">account.invoice.line.tree</field>
|
||||
<field name="model">account.invoice.line</field>
|
||||
@@ -74,6 +100,6 @@
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -0,0 +1,601 @@
|
||||
# Occitan (post 1500) translation for openobject-addons
|
||||
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-05-18 08:57+0000\n"
|
||||
"Last-Translator: Cédric VALMARY (Tot en òc) <cvalmary@yahoo.fr>\n"
|
||||
"Language-Team: Occitan (post 1500) <oc@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-19 05:12+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.actions.act_window,name:account_voucher.act_account_acount_move_line_open1
|
||||
msgid "Opening Balance Entry"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.ui.menu,name:account_voucher.menu_action_receipt_bakreceipt_voucher_list
|
||||
msgid "Bank Receipts"
|
||||
msgstr "Recebuts bancaris"
|
||||
|
||||
#. module: account_voucher
|
||||
#: rml:voucher.cash_amount:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid "Particulars"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: rml:voucher.cash_amount:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid "State :"
|
||||
msgstr "Estat :"
|
||||
|
||||
#. module: account_voucher
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Nom del Modèl invalid per la definicion de l'accion."
|
||||
|
||||
#. module: account_voucher
|
||||
#: rml:voucher.cash_amount:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid "Ref. :"
|
||||
msgstr "Ref. :"
|
||||
|
||||
#. module: account_voucher
|
||||
#: selection:account.move,voucher_type:0
|
||||
#: selection:account.voucher,type:0
|
||||
#: selection:account.voucher.open,init,type:0
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_view_cont_voucher_form
|
||||
#: model:ir.ui.menu,name:account_voucher.menu_action_view_cont_voucher_form
|
||||
msgid "Contra Voucher"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,company_id:0
|
||||
msgid "Company"
|
||||
msgstr "Entrepresa"
|
||||
|
||||
#. module: account_voucher
|
||||
#: selection:account.move,voucher_type:0
|
||||
#: selection:account.voucher,type:0
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_view_jour_voucher_form
|
||||
#: model:ir.ui.menu,name:account_voucher.menu_action_view_jour_voucher_form
|
||||
msgid "Journal Voucher"
|
||||
msgstr "Jornal dels chèques"
|
||||
|
||||
#. module: account_voucher
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid ","
|
||||
msgstr ","
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
msgid "Set to Draft"
|
||||
msgstr "Metre en Borrolhon"
|
||||
|
||||
#. module: account_voucher
|
||||
#: wizard_button:account.voucher.open,init,open:0
|
||||
msgid "Open Voucher Entries"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.model,name:account_voucher.model_account_voucher_line
|
||||
msgid "Voucher Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.move:0
|
||||
msgid "Total Credit"
|
||||
msgstr "Credit Total"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,account_id:0
|
||||
#: field:account.voucher.line,account_id:0
|
||||
msgid "Account"
|
||||
msgstr "Compte"
|
||||
|
||||
#. module: account_voucher
|
||||
#: rml:voucher.cash_amount:0
|
||||
msgid "D"
|
||||
msgstr "D"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.account,level:0
|
||||
msgid "Level"
|
||||
msgstr "Nivèl"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.move:0
|
||||
msgid "Account Entry Line"
|
||||
msgstr "Linha d'escritura comptabla"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.move:0
|
||||
msgid "Total Debit"
|
||||
msgstr "Debit Total"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,amount:0
|
||||
#: field:account.voucher.line,amount:0
|
||||
#: rml:voucher.cash_amount:0
|
||||
msgid "Amount"
|
||||
msgstr "Soma"
|
||||
|
||||
#. module: account_voucher
|
||||
#: rml:voucher.cash_amount:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid "Receiver's Signature"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: rml:voucher.cash_amount:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid "No."
|
||||
msgstr "N°"
|
||||
|
||||
#. module: account_voucher
|
||||
#: rml:voucher.cash_amount:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid "Amount (in words) :"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher.line,account_analytic_id:0
|
||||
msgid "Analytic Account"
|
||||
msgstr "Compte Analitic"
|
||||
|
||||
#. module: account_voucher
|
||||
#: selection:account.move,voucher_type:0
|
||||
#: selection:account.voucher,type:0
|
||||
#: selection:account.voucher.open,init,type:0
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_view_jour_sale_voucher_form
|
||||
#: model:ir.ui.menu,name:account_voucher.menu_action_view_jour_sale_voucher_form
|
||||
msgid "Journal Sale Voucher"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_receipt_vou_voucher_list
|
||||
#: model:ir.ui.menu,name:account_voucher.menu_action_receipt_vou_voucher_list
|
||||
msgid "Receipt Vouchers"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: rml:voucher.cash_amount:0
|
||||
msgid "Account :"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: rml:voucher.cash_amount:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid "On Account of :"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_payments_bankpay_voucher_list
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_payments_cashpay_voucher_list
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_payments_voucher_list
|
||||
#: model:ir.ui.menu,name:account_voucher.menu_action_payments_voucher_list
|
||||
msgid "Payment Vouchers"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
msgid "Create"
|
||||
msgstr "Crear"
|
||||
|
||||
#. module: account_voucher
|
||||
#: selection:account.account,type1:0
|
||||
#: selection:account.account.template,type1:0
|
||||
msgid "None"
|
||||
msgstr "Pas cap"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,number:0
|
||||
msgid "Number"
|
||||
msgstr "Numèro"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.move:0
|
||||
#: field:account.voucher,state:0
|
||||
#: wizard_field:account.voucher.open,init,state:0
|
||||
msgid "State"
|
||||
msgstr "Estat"
|
||||
|
||||
#. module: account_voucher
|
||||
#: selection:account.account,type1:0
|
||||
#: selection:account.account.template,type1:0
|
||||
#: selection:account.voucher.line,type:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid "Debit"
|
||||
msgstr "Debit"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,type:0
|
||||
#: field:account.voucher.line,type:0
|
||||
msgid "Type"
|
||||
msgstr "Tipe"
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.ui.menu,name:account_voucher.menu_action_voucher_list
|
||||
msgid "Voucher Entries"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: rml:voucher.cash_amount:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid "Authorised Signatory"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_voucher_list
|
||||
msgid "Vouchers"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
#: field:account.voucher.line,voucher_id:0
|
||||
#: model:res.request.link,name:account_voucher.req_link_voucher
|
||||
msgid "Voucher"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: wizard_view:account.voucher.open,init:0
|
||||
#: model:ir.ui.menu,name:account_voucher.menu_wizard_account_voucher_open
|
||||
msgid "Open Vouchers"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "XML invalid per l'arquitectura de la vista"
|
||||
|
||||
#. module: account_voucher
|
||||
#: rml:voucher.cash_amount:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid "Dated :"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.ui.menu,name:account_voucher.menu_action_receipt_cashreceipt_voucher_list
|
||||
msgid "Cash Receipts"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,partner_id:0
|
||||
#: field:account.voucher.line,partner_id:0
|
||||
msgid "Partner"
|
||||
msgstr "Partenari"
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.ui.menu,name:account_voucher.menu_action_view_bank_pay_voucher_form
|
||||
msgid "New Bank Payment"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
#: field:account.voucher,payment_ids:0
|
||||
msgid "Voucher Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,currency_id:0
|
||||
msgid "Currency"
|
||||
msgstr "Devisa"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.move:0
|
||||
#: field:account.move,narration:0
|
||||
#: view:account.voucher:0
|
||||
#: field:account.voucher,narration:0
|
||||
msgid "Narration"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,reference:0
|
||||
msgid "Voucher Reference"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.ui.menu,name:account_voucher.menu_action_view_cash_rec_voucher_form
|
||||
msgid "New Cash Receipt"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.actions.report.xml,name:account_voucher.report_account_voucher_amt
|
||||
msgid "Voucher Report"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.account,open_bal:0
|
||||
msgid "Opening Balance"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: selection:account.voucher,state:0
|
||||
#: selection:account.voucher.open,init,state:0
|
||||
#: rml:voucher.cash_amount:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid "Draft"
|
||||
msgstr "Borrolhon"
|
||||
|
||||
#. module: account_voucher
|
||||
#: rml:voucher.cash_amount:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid "PRO-FORMA"
|
||||
msgstr "PRO-FORMA"
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_receipt_cashreceipt_voucher_list
|
||||
msgid "Cash Receipt"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.ui.menu,name:account_voucher.menu_action_view_cash_pay_voucher_form
|
||||
msgid "New Cash Payment"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.move:0
|
||||
msgid "Optional Information"
|
||||
msgstr "Entresenhas opcionalas"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
msgid "General Entries"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,date:0
|
||||
msgid "Date"
|
||||
msgstr "Data"
|
||||
|
||||
#. module: account_voucher
|
||||
#: rml:voucher.cash_amount:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid ":"
|
||||
msgstr ":"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.account,type1:0
|
||||
#: field:account.account.template,type1:0
|
||||
msgid "Dr/Cr"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.actions.report.xml,name:account_voucher.report_account_voucher
|
||||
msgid "Voucher Report (Cr/Dr)"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.move,voucher_type:0
|
||||
#: wizard_field:account.voucher.open,init,type:0
|
||||
msgid "Voucher Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: selection:account.account,type1:0
|
||||
#: selection:account.account.template,type1:0
|
||||
#: selection:account.voucher.line,type:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid "Credit"
|
||||
msgstr "Credit"
|
||||
|
||||
#. module: account_voucher
|
||||
#: rml:voucher.cash_amount:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid "Through :"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,reference_type:0
|
||||
msgid "Reference Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.model,name:account_voucher.model_account_voucher
|
||||
msgid "Accounting Voucher"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,period_id:0
|
||||
msgid "Period"
|
||||
msgstr "Periòde"
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.ui.menu,name:account_voucher.menu_action_payments_bankpay_voucher_list
|
||||
msgid "Bank Payments"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.move:0
|
||||
msgid "General Information"
|
||||
msgstr "Informacions generalas"
|
||||
|
||||
#. module: account_voucher
|
||||
#: wizard_field:account.voucher.open,init,period_ids:0
|
||||
msgid "Periods"
|
||||
msgstr "Periòdes"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
#: selection:account.voucher,state:0
|
||||
#: wizard_button:account.voucher.open,init,end:0
|
||||
#: selection:account.voucher.open,init,state:0
|
||||
msgid "Cancel"
|
||||
msgstr "Anullar"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
#: selection:account.voucher,state:0
|
||||
#: selection:account.voucher.open,init,state:0
|
||||
msgid "Pro-forma"
|
||||
msgstr "Pro-forma"
|
||||
|
||||
#. module: account_voucher
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
"Lo nom de l'objècte deu començar amb x_ e conténer pas de caractèrs "
|
||||
"especials !"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
msgid "Other Info"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.module.module,shortdesc:account_voucher.module_meta_information
|
||||
msgid "Accounting Voucher Entries"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:res.currency,sub_name:0
|
||||
msgid "Sub Currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_other_voucher_list
|
||||
#: model:ir.ui.menu,name:account_voucher.menu_action_other_voucher_list
|
||||
msgid "Other Vouchers"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher.line,name:0
|
||||
msgid "Description"
|
||||
msgstr "Descripcion"
|
||||
|
||||
#. module: account_voucher
|
||||
#: rml:voucher.cash_amount:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid "Canceled"
|
||||
msgstr "Anullat"
|
||||
|
||||
#. module: account_voucher
|
||||
#: selection:account.move,voucher_type:0
|
||||
#: selection:account.voucher,type:0
|
||||
#: selection:account.voucher.open,init,type:0
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_view_cash_pay_voucher_form
|
||||
#: rml:voucher.cash_amount:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid "Cash Payment Voucher"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_receipt_bakreceipt_voucher_list
|
||||
msgid "Bank Receipt"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: rml:voucher.cash_amount:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid "-"
|
||||
msgstr "-"
|
||||
|
||||
#. module: account_voucher
|
||||
#: selection:account.move,voucher_type:0
|
||||
#: selection:account.voucher,type:0
|
||||
#: selection:account.voucher.open,init,type:0
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_view_jour_pur_voucher_form
|
||||
#: model:ir.ui.menu,name:account_voucher.menu_action_view_jour_pur_voucher_form
|
||||
msgid "Journal Purchase Voucher"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.account:0
|
||||
msgid "Closing Balance"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher.line,ref:0
|
||||
msgid "Ref."
|
||||
msgstr "Ref."
|
||||
|
||||
#. module: account_voucher
|
||||
#: selection:account.voucher,state:0
|
||||
#: selection:account.voucher.open,init,state:0
|
||||
#: rml:voucher.cash_amount:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid "Posted"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,name:0
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,move_ids:0
|
||||
msgid "Real Entry"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.actions.wizard,name:account_voucher.wizard_account_voucher_open
|
||||
msgid "Open a Voucher Entry"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,move_id:0
|
||||
msgid "Account Entry"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
msgid "Entry Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.ui.menu,name:account_voucher.menu_action_view_bank_rec_voucher_form
|
||||
msgid "New Bank Receipt"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.ui.menu,name:account_voucher.menu_action_payments_cashpay_voucher_list
|
||||
msgid "Cash Payments"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: selection:account.move,voucher_type:0
|
||||
#: selection:account.voucher,type:0
|
||||
#: selection:account.voucher.open,init,type:0
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_view_cash_rec_voucher_form
|
||||
#: rml:voucher.cash_amount:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid "Cash Receipt Voucher"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: selection:account.move,voucher_type:0
|
||||
#: selection:account.voucher,type:0
|
||||
#: selection:account.voucher.open,init,type:0
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_view_bank_pay_voucher_form
|
||||
#: rml:voucher.cash_amount:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid "Bank Payment Voucher"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: selection:account.move,voucher_type:0
|
||||
#: selection:account.voucher,type:0
|
||||
#: selection:account.voucher.open,init,type:0
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_view_bank_rec_voucher_form
|
||||
#: rml:voucher.cash_amount:0
|
||||
#: rml:voucher.cash_receipt.drcr:0
|
||||
msgid "Bank Receipt Voucher"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.account,journal_id:0
|
||||
#: field:account.voucher,journal_id:0
|
||||
msgid "Journal"
|
||||
msgstr "Jornal"
|
||||
@@ -103,7 +103,7 @@ class account_voucher(osv.osv):
|
||||
],'Type', readonly=True, select=True , size=128),
|
||||
'date':fields.date('Date', readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'journal_id':fields.many2one('account.journal', 'Journal', required=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'account_id':fields.many2one('account.account', 'Account', required=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'account_id':fields.many2one('account.account', 'Account', required=True, readonly=True, states={'draft':[('readonly',False)]}, domain=[('type','<>','view')]),
|
||||
'payment_ids':fields.one2many('account.voucher.line','voucher_id','Voucher Lines', readonly=False, states={'proforma':[('readonly',True)]}),
|
||||
'period_id': fields.many2one('account.period', 'Period', required=True, states={'posted':[('readonly',True)]}),
|
||||
'narration':fields.text('Narration', readonly=True, states={'draft':[('readonly',False)]}, required=True),
|
||||
@@ -167,15 +167,14 @@ class account_voucher(osv.osv):
|
||||
return {'value':{'account_id':account_id.id}}
|
||||
|
||||
def open_voucher(self, cr, uid, ids, context={}):
|
||||
obj=self.pool.get('account.voucher').browse(cr,uid,ids)
|
||||
total=0
|
||||
obj = self.pool.get('account.voucher').browse(cr,uid,ids)
|
||||
total = 0
|
||||
for i in obj[0].payment_ids:
|
||||
total+=i.amount
|
||||
if total!=0:
|
||||
self.write(cr,uid,ids,{'amount':total})
|
||||
self.write(cr, uid, ids, {'state':'proforma'})
|
||||
total += i.amount
|
||||
if total != 0:
|
||||
self.write(cr, uid, ids, {'amount':total, 'state':'proforma'})
|
||||
else:
|
||||
raise osv.except_osv('Invalid action !', 'You can not post to Pro-Forma a voucher with Total amount = 0')
|
||||
raise osv.except_osv('Invalid action !', 'You cannot post to Pro-Forma a voucher with Total amount = 0 !')
|
||||
return True
|
||||
|
||||
def proforma_voucher(self, cr, uid, ids, context={}):
|
||||
@@ -302,9 +301,9 @@ class account_voucher(osv.osv):
|
||||
name = self.pool.get('ir.sequence').get_id(cr, uid, journal.sequence_id.id)
|
||||
|
||||
move = {
|
||||
'name': name,
|
||||
'name' : name,
|
||||
'journal_id': journal_id,
|
||||
'voucher_type':inv.type,
|
||||
'type' : inv.type,
|
||||
'narration' : inv.narration
|
||||
}
|
||||
if inv.period_id:
|
||||
@@ -487,7 +486,7 @@ class account_voucher_line(osv.osv):
|
||||
_columns = {
|
||||
'voucher_id':fields.many2one('account.voucher', 'Voucher'),
|
||||
'name':fields.char('Description', size=256, required=True),
|
||||
'account_id':fields.many2one('account.account','Account', required=True),
|
||||
'account_id':fields.many2one('account.account','Account', required=True, domain=[('type','<>','view')]),
|
||||
'partner_id': fields.many2one('res.partner', 'Partner', change_default=True),
|
||||
'amount':fields.float('Amount'),
|
||||
'type':fields.selection([('dr','Debit'),('cr','Credit')], 'Type'),
|
||||
|
||||
@@ -31,7 +31,7 @@ import decimal_precision as dp
|
||||
|
||||
class account_analytic_account(osv.osv):
|
||||
_name = 'account.analytic.account'
|
||||
_description = 'Analytic Accounts'
|
||||
_description = 'Analytic Account'
|
||||
|
||||
def _compute_currency_for_level_tree(self, cr, uid, ids, ids2, res, acc_set, context={}):
|
||||
# Handle multi-currency on each level of analytic account
|
||||
@@ -261,7 +261,7 @@ class account_analytic_account(osv.osv):
|
||||
partner = parent['partner_id'][0]
|
||||
else:
|
||||
partner = False
|
||||
res = {'value' : {'code' : '%s - %03d' % (parent['code'] or '', numchild + 1),}}
|
||||
res = {'value' : {}}
|
||||
if partner:
|
||||
res['value']['partner_id'] = partner
|
||||
return res
|
||||
@@ -285,7 +285,7 @@ account_analytic_account()
|
||||
|
||||
class account_analytic_line(osv.osv):
|
||||
_name = 'account.analytic.line'
|
||||
_description = 'Analytic lines'
|
||||
_description = 'Analytic Line'
|
||||
def _amount_currency(self, cr, uid, ids, field_name, arg, context={}):
|
||||
result = {}
|
||||
for rec in self.browse(cr, uid, ids, context):
|
||||
@@ -343,7 +343,7 @@ class account_analytic_line(osv.osv):
|
||||
}
|
||||
_defaults = {
|
||||
'date': lambda *a: time.strftime('%Y-%m-%d'),
|
||||
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'account.analytic.line', 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'
|
||||
account_analytic_line()
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
# Occitan (post 1500) translation for openobject-addons
|
||||
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-05-18 08:44+0000\n"
|
||||
"Last-Translator: Cédric VALMARY (Tot en òc) <cvalmary@yahoo.fr>\n"
|
||||
"Language-Team: Occitan (post 1500) <oc@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-19 05:12+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "XML invalid per l'arquitectura de la vista"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Jornal analitic"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
"Lo nom de l'objècte deu començar amb x_ e conténer pas de caractèrs "
|
||||
"especials !"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
msgid "Analytic Account"
|
||||
msgstr "Compte Analitic"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.module.module,shortdesc:analytic_journal_billing_rate.module_meta_information
|
||||
msgid "Analytic Journal Billing Rate"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr ""
|
||||
@@ -100,7 +100,7 @@ class hr_analytic_timesheet(osv.osv):
|
||||
'for this product: "%s" (id:%d)') % \
|
||||
(r.product_id.name, r.product_id.id,))
|
||||
# Compute based on pricetype
|
||||
amount_unit=self.on_change_unit_amount(cr, uid, ids,
|
||||
amount_unit = self.on_change_unit_amount(cr, uid, ids,
|
||||
r.product_id.id, unit_amount, r.product_id.uom_id.id)['value']['amount']
|
||||
|
||||
amount = unit_amount * amount_unit
|
||||
@@ -136,7 +136,7 @@ class hr_analytic_timesheet(osv.osv):
|
||||
'for this product: "%s" (id:%d)') % \
|
||||
(r.product_id.name, r.product_id.id,))
|
||||
# Compute based on pricetype
|
||||
amount_unit=self.on_change_unit_amount(cr, uid, ids,
|
||||
amount_unit = self.on_change_unit_amount(cr, uid, ids,
|
||||
r.product_id.id, unit_amount, r.product_id.uom_id.id)['value']['amount']
|
||||
|
||||
amount = unit_amount * amount_unit
|
||||
|
||||
@@ -32,3 +32,5 @@
|
||||
"acess_auction_payer","auction.payer","model_auction_payer","base.group_user",1,0,0,0
|
||||
"access_auction_pay_sel","auction.pay.sel","model_auction_payer_sel","base.group_user",1,0,0,0
|
||||
"acess_auction_taken","auction.taken","model_auction_taken","base.group_user",1,0,0,0
|
||||
"access_auction_catalog_flagey","auction.catalog.flagey","model_auction_catalog_flagey","base.group_user",1,0,0,0
|
||||
"access_auction_lots_buyer_map_user","auction_lots_buyer_map_user","model_auction_lots_buyer_map","base.group_user",1,0,0,0
|
||||
|
||||
|
@@ -0,0 +1,311 @@
|
||||
# Occitan (post 1500) translation for openobject-addons
|
||||
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-05-18 08:49+0000\n"
|
||||
"Last-Translator: Cédric VALMARY (Tot en òc) <cvalmary@yahoo.fr>\n"
|
||||
"Language-Team: Occitan (post 1500) <oc@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-19 05:12+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: audittrail
|
||||
#: model:ir.module.module,shortdesc:audittrail.module_meta_information
|
||||
msgid "Audit Trail"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
"Lo nom de l'objècte deu començar amb x_ e conténer pas de caractèrs "
|
||||
"especials !"
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.log.line,log_id:0
|
||||
msgid "Log"
|
||||
msgstr "Jornal"
|
||||
|
||||
#. module: audittrail
|
||||
#: selection:audittrail.rule,state:0
|
||||
msgid "Subscribed"
|
||||
msgstr "Abonat"
|
||||
|
||||
#. module: audittrail
|
||||
#: view:audittrail.log:0
|
||||
msgid "Old Value : "
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: selection:audittrail.log,method:0
|
||||
msgid "Create"
|
||||
msgstr "Crear"
|
||||
|
||||
#. module: audittrail
|
||||
#: wizard_view:audittrail.view.log,init:0
|
||||
msgid "Audit Logs"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.rule,state:0
|
||||
msgid "State"
|
||||
msgstr "Estat"
|
||||
|
||||
#. module: audittrail
|
||||
#: selection:audittrail.rule,state:0
|
||||
msgid "Draft"
|
||||
msgstr "Borrolhon"
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.log.line,old_value:0
|
||||
msgid "Old Value"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Nom del Modèl invalid per la definicion de l'accion."
|
||||
|
||||
#. module: audittrail
|
||||
#: model:ir.actions.wizard,name:audittrail.wizard_audittrail_log
|
||||
msgid "View log"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: model:ir.model,name:audittrail.model_audittrail_log_line
|
||||
msgid "audittrail.log.line"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.log,method:0
|
||||
msgid "Method"
|
||||
msgstr "Metòde"
|
||||
|
||||
#. module: audittrail
|
||||
#: wizard_field:audittrail.view.log,init,from:0
|
||||
msgid "Log From"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.log.line,log:0
|
||||
msgid "Log ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.log,res_id:0
|
||||
msgid "Resource Id"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: selection:audittrail.log,method:0
|
||||
msgid "Write"
|
||||
msgstr "Escriure"
|
||||
|
||||
#. module: audittrail
|
||||
#: model:ir.ui.menu,name:audittrail.menu_action_audittrail
|
||||
msgid "Audittrails"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: view:audittrail.log:0
|
||||
msgid "Log Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: view:audittrail.rule:0
|
||||
msgid "Subscribe"
|
||||
msgstr "S'abonar"
|
||||
|
||||
#. module: audittrail
|
||||
#: selection:audittrail.log,method:0
|
||||
msgid "Read"
|
||||
msgstr "Legir"
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.log,object_id:0
|
||||
#: field:audittrail.rule,object_id:0
|
||||
msgid "Object"
|
||||
msgstr "Objècte"
|
||||
|
||||
#. module: audittrail
|
||||
#: view:audittrail.rule:0
|
||||
msgid "AuditTrail Rule"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: wizard_field:audittrail.view.log,init,to:0
|
||||
msgid "Log To"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: view:audittrail.log:0
|
||||
msgid "New Value Text: "
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: model:ir.module.module,description:audittrail.module_meta_information
|
||||
msgid ""
|
||||
"Allows the administrator to track every user operations on all objects of "
|
||||
"the system.\n"
|
||||
" Subscribe Rules for read, write, create and delete on objects and check "
|
||||
"logs"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.log,timestamp:0
|
||||
msgid "Date"
|
||||
msgstr "Data"
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.log,user_id:0
|
||||
msgid "User"
|
||||
msgstr "Utilizaire"
|
||||
|
||||
#. module: audittrail
|
||||
#: view:audittrail.log:0
|
||||
msgid "Old Value Text : "
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "XML invalid per l'arquitectura de la vista"
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.log,name:0
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.log,line_ids:0
|
||||
msgid "Log lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: model:ir.ui.menu,name:audittrail.menu_action_audittrail_rule_tree_sub
|
||||
msgid "Subscribed Rules"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.log.line,field_id:0
|
||||
msgid "Fields"
|
||||
msgstr "Camps"
|
||||
|
||||
#. module: audittrail
|
||||
#: view:audittrail.rule:0
|
||||
msgid "AuditTrail Rules"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: model:ir.model,name:audittrail.model_audittrail_rule
|
||||
msgid "audittrail.rule"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: view:audittrail.rule:0
|
||||
msgid "UnSubscribe"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.rule,log_write:0
|
||||
msgid "Log writes"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: model:ir.model,name:audittrail.model_audittrail_log
|
||||
msgid "audittrail.log"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.log.line,field_description:0
|
||||
msgid "Field Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: selection:audittrail.log,method:0
|
||||
msgid "Delete"
|
||||
msgstr "Suprimir"
|
||||
|
||||
#. module: audittrail
|
||||
#: wizard_button:audittrail.view.log,init,open:0
|
||||
msgid "Open Logs"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.log.line,new_value_text:0
|
||||
msgid "New value Text"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.rule,name:0
|
||||
msgid "Rule Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.rule,log_read:0
|
||||
msgid "Log reads"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: model:ir.ui.menu,name:audittrail.menu_action_audittrail_log_tree
|
||||
msgid "Logs"
|
||||
msgstr "Jornals"
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.log.line,new_value:0
|
||||
msgid "New Value"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: model:ir.ui.menu,name:audittrail.menu_action_log_tree2
|
||||
msgid "View Logs"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.rule,log_create:0
|
||||
msgid "Log creates"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: view:audittrail.log:0
|
||||
msgid "AuditTrail Logs"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: model:ir.ui.menu,name:audittrail.menu_action_audittrail_rule_tree
|
||||
msgid "Rules"
|
||||
msgstr "Règlas"
|
||||
|
||||
#. module: audittrail
|
||||
#: view:audittrail.log:0
|
||||
msgid "New Value : "
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.rule,user_id:0
|
||||
msgid "Users"
|
||||
msgstr "Utilizaires"
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.log.line,old_value_text:0
|
||||
msgid "Old value Text"
|
||||
msgstr ""
|
||||
|
||||
#. module: audittrail
|
||||
#: wizard_button:audittrail.view.log,init,end:0
|
||||
msgid "Cancel"
|
||||
msgstr "Anullar"
|
||||
|
||||
#. module: audittrail
|
||||
#: field:audittrail.rule,log_unlink:0
|
||||
msgid "Log deletes"
|
||||
msgstr ""
|
||||
@@ -1618,15 +1618,14 @@ class ir_model(osv.osv):
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
|
||||
if isinstance(ids, (str, int, long)):
|
||||
ids = [ids]
|
||||
new_ids = isinstance(ids, (str, int, long)) and [ids] or ids
|
||||
|
||||
data = super(ir_model, self).read(cr, uid, ids, fields=fields, \
|
||||
data = super(ir_model, self).read(cr, uid, new_ids, fields=fields, \
|
||||
context=context, load=load)
|
||||
if data:
|
||||
for val in data:
|
||||
val['id'] = base_calendar_id2real_id(val['id'])
|
||||
return data
|
||||
return isinstance(ids, (str, int, long)) and data[0] or data
|
||||
|
||||
ir_model()
|
||||
|
||||
|
||||
@@ -19,14 +19,13 @@
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import netsvc
|
||||
from osv import fields, osv
|
||||
|
||||
class res_partner_contact(osv.osv):
|
||||
""" Partner Contact """
|
||||
|
||||
_name = "res.partner.contact"
|
||||
_description = "res.partner.contact"
|
||||
_description = "Contact"
|
||||
|
||||
def _title_get(self,cr, user, context={}):
|
||||
"""
|
||||
@@ -116,22 +115,6 @@ res_partner_contact()
|
||||
|
||||
class res_partner_address(osv.osv):
|
||||
|
||||
def search(self, cr, user, args, offset=0, limit=None, order=None,
|
||||
context=None, count=False):
|
||||
""" search parnter address
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param user: the current user
|
||||
@param args: list of tuples of form [(‘name_of_the_field’, ‘operator’, value), ...].
|
||||
@param offset: The Number of Results to Pass
|
||||
@param limit: The Number of Results to Return
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
|
||||
if context and context.has_key('address_partner_id' ) and context['address_partner_id']:
|
||||
args.append(('partner_id', '=', context['address_partner_id']))
|
||||
return super(res_partner_address, self).search(cr, user, args, offset, limit, order, context, count)
|
||||
|
||||
#overriding of the name_get defined in base in order to remove the old contact name
|
||||
def name_get(self, cr, user, ids, context={}):
|
||||
"""
|
||||
@@ -208,6 +191,8 @@ class res_partner_job(osv.osv):
|
||||
if arg[2] and not count:
|
||||
search_arg = ['|', ('first_name', 'ilike', arg[2]), ('name', 'ilike', arg[2])]
|
||||
contact_ids = contact_obj.search(cr, user, search_arg, offset=offset, limit=limit, order=order, context=context, count=count)
|
||||
if not contact_ids:
|
||||
continue
|
||||
contacts = contact_obj.browse(cr, user, contact_ids, context=context)
|
||||
for contact in contacts:
|
||||
job_ids.extend([item.id for item in contact.job_ids])
|
||||
@@ -224,10 +209,10 @@ class res_partner_job(osv.osv):
|
||||
_order = 'sequence_contact'
|
||||
|
||||
_columns = {
|
||||
'name': fields.related('address_id','partner_id', type='many2one',\
|
||||
'name': fields.related('address_id', 'partner_id', type='many2one',\
|
||||
relation='res.partner', string='Partner', help="You may\
|
||||
enter Address first,Partner will be linked automatically if any."),
|
||||
'address_id': fields.many2one('res.partner.address','Address', \
|
||||
'address_id': fields.many2one('res.partner.address', 'Address', domain=[('partner_id', '=', name)], \
|
||||
help='Address which is linked to the Partner'),
|
||||
'contact_id': fields.many2one('res.partner.contact','Contact', required=True, ondelete='cascade'),
|
||||
'function_id': fields.many2one('res.partner.function','Partner Function', \
|
||||
@@ -251,7 +236,34 @@ class res_partner_job(osv.osv):
|
||||
'sequence_contact' : lambda *a: 0,
|
||||
'state': lambda *a: 'current',
|
||||
}
|
||||
|
||||
def onchange_partner(self, cr, uid, _, partner_id, context=None):
|
||||
"""
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user,
|
||||
@param _: List of IDs,
|
||||
@partner_id : ID of the Partner selected,
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
return {'value': {'address_id': False}}
|
||||
|
||||
def onchange_address(self, cr, uid, _, address_id, context=None):
|
||||
"""
|
||||
@@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user,
|
||||
@param _: List of IDs,
|
||||
@address_id : ID of the Address selected,
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
partner_id = False
|
||||
if address_id:
|
||||
address = self.pool.get('res.partner.address')\
|
||||
.browse(cr, uid, address_id, context)
|
||||
partner_id = address.partner_id.id
|
||||
return {'value': {'name': partner_id}}
|
||||
|
||||
res_partner_job()
|
||||
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
<form string="Functions and Addresses">
|
||||
<group string="Partner" colspan="2" col="4">
|
||||
<field name="function_id"/>
|
||||
<field name="address_id" context="{'address_partner_id': name}"/>
|
||||
<field name="address_id"/>
|
||||
<field name="name"/>
|
||||
<field name="date_start" />
|
||||
<field name="date_stop" />
|
||||
@@ -357,23 +357,19 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Contact Functions">
|
||||
<notebook>
|
||||
<page string="General">
|
||||
<field name="name" select="1"/>
|
||||
<field name="address_id" select="1" context="{'address_partner_id': name}"/>
|
||||
<field name="contact_id" select="1"/>
|
||||
<field name="function_id" select="1"/>
|
||||
<field name="email" widget="email"/>
|
||||
<field name="phone"/>
|
||||
<field name="fax"/>
|
||||
<field name="extension"/>
|
||||
<field name="sequence_contact" groups="base.group_user"/>
|
||||
<field name="sequence_partner" groups="base.group_user"/>
|
||||
<field name="date_start" groups="base.group_user"/>
|
||||
<field name="date_stop" groups="base.group_user"/>
|
||||
<field name="state" />
|
||||
</page>
|
||||
</notebook>
|
||||
<field name="name" select="1" on_change="onchange_partner(name)"/>
|
||||
<field name="address_id" select="1" attrs="{'required': [('name', '!=', False)]}" on_change="onchange_address(address_id)"/>
|
||||
<field name="contact_id" select="1"/>
|
||||
<field name="function_id" select="1"/>
|
||||
<field name="email" widget="email"/>
|
||||
<field name="phone"/>
|
||||
<field name="fax"/>
|
||||
<field name="extension"/>
|
||||
<field name="sequence_contact" groups="base.group_user"/>
|
||||
<field name="sequence_partner" groups="base.group_user"/>
|
||||
<field name="date_start" groups="base.group_user"/>
|
||||
<field name="date_stop" groups="base.group_user"/>
|
||||
<field name="state" />
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -0,0 +1,357 @@
|
||||
# Occitan (post 1500) translation for openobject-addons
|
||||
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-05-18 08:57+0000\n"
|
||||
"Last-Translator: Cédric VALMARY (Tot en òc) <cvalmary@yahoo.fr>\n"
|
||||
"Language-Team: Occitan (post 1500) <oc@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-19 05:11+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,sequence_contact:0
|
||||
msgid "Contact Seq."
|
||||
msgstr "Seq. del contacte"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:ir.model,name:base_contact.model_res_partner_contact
|
||||
msgid "res.partner.contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
"Lo nom de l'objècte deu començar amb x_ e conténer pas de caractèrs "
|
||||
"especials !"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,function_id:0
|
||||
msgid "Partner Function"
|
||||
msgstr "Foncion del partenari"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form
|
||||
#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form
|
||||
#: model:process.node,name:base_contact.process_node_contacts0
|
||||
#: view:res.partner:0
|
||||
#: view:res.partner.address:0
|
||||
#: field:res.partner.address,job_ids:0
|
||||
msgid "Contacts"
|
||||
msgstr "Contactes"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,sequence_partner:0
|
||||
msgid "Partner Seq."
|
||||
msgstr "Seq. del partenari"
|
||||
|
||||
#. module: base_contact
|
||||
#: selection:res.partner.job,state:0
|
||||
msgid "Current"
|
||||
msgstr "Actual"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,first_name:0
|
||||
msgid "First Name"
|
||||
msgstr "Pichon nom"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:ir.model,name:base_contact.model_res_partner_job
|
||||
msgid "Contact Partner Function"
|
||||
msgstr "Foncion del contacte del partenari"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,other:0
|
||||
msgid "Other"
|
||||
msgstr "Autre"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.transition,name:base_contact.process_transition_contacttofunction0
|
||||
msgid "Contact to function"
|
||||
msgstr "Contacte cap a foncion"
|
||||
|
||||
#. module: base_contact
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Nom del Modèl invalid per la definicion de l'accion."
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.transition,name:base_contact.process_transition_partnertoaddress0
|
||||
msgid "Partner to address"
|
||||
msgstr "Partenari cap a adreça"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.address:0
|
||||
msgid "# of Contacts"
|
||||
msgstr "# de contactes"
|
||||
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,other:0
|
||||
msgid "Additional phone field"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.node,name:base_contact.process_node_function0
|
||||
msgid "Function"
|
||||
msgstr "Foncion"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,fax:0
|
||||
msgid "Fax"
|
||||
msgstr "Fax"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,lang_id:0
|
||||
msgid "Language"
|
||||
msgstr "Lenga"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,phone:0
|
||||
msgid "Phone"
|
||||
msgstr "Telefòn"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.transition,note:base_contact.process_transition_contacttofunction0
|
||||
msgid "Defines contacts and functions."
|
||||
msgstr "Definir los contactes e lors foncions"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,title:0
|
||||
msgid "Title"
|
||||
msgstr "Títol"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.job:0
|
||||
msgid "Contact Functions"
|
||||
msgstr "Foncions del contacte"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:ir.module.module,shortdesc:base_contact.module_meta_information
|
||||
msgid "Base Contact"
|
||||
msgstr "Basa Contacte"
|
||||
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,sequence_partner:0
|
||||
msgid ""
|
||||
"Order of importance of this job title in the list of job title of the linked "
|
||||
"partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,email:0
|
||||
#: field:res.partner.job,email:0
|
||||
msgid "E-Mail"
|
||||
msgstr "Corrièr electronic"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,date_stop:0
|
||||
msgid "Date Stop"
|
||||
msgstr "Data de fin d'emplec"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner:0
|
||||
#: field:res.partner.job,address_id:0
|
||||
msgid "Address"
|
||||
msgstr "Adreça"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:ir.actions.act_window,name:base_contact.action_res_partner_job
|
||||
#: model:ir.ui.menu,name:base_contact.menu_action_res_partner_job
|
||||
msgid "Contact's Jobs"
|
||||
msgstr "Foncions dels contactes"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,country_id:0
|
||||
msgid "Nationality"
|
||||
msgstr "Nacionalitat"
|
||||
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,sequence_contact:0
|
||||
msgid ""
|
||||
"Order of importance of this address in the list of addresses of the linked "
|
||||
"contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.address,job_id:0
|
||||
#: field:res.partner.contact,job_id:0
|
||||
msgid "Main Job"
|
||||
msgstr "Emplec principal"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner:0
|
||||
msgid "Categories"
|
||||
msgstr "Categorias"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,function_id:0
|
||||
msgid "Main Function"
|
||||
msgstr "Foncion principala"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.transition,note:base_contact.process_transition_partnertoaddress0
|
||||
msgid "Define partners and their addresses."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "XML invalid per l'arquitectura de la vista"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.process,name:base_contact.process_process_basecontactprocess0
|
||||
msgid "Base Contact Process"
|
||||
msgstr "Tractar los contactes de basa"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
msgid "Seq."
|
||||
msgstr "Seq."
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,extension:0
|
||||
msgid "Extension"
|
||||
msgstr "Extension"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,mobile:0
|
||||
msgid "Mobile"
|
||||
msgstr "Telefonet"
|
||||
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,extension:0
|
||||
msgid "Internal/External extension phone number"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.node,note:base_contact.process_node_contacts0
|
||||
msgid "People you work with."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
msgid "Extra Information"
|
||||
msgstr "Informacion suplementària"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
#: field:res.partner.contact,job_ids:0
|
||||
msgid "Functions and Addresses"
|
||||
msgstr "Foncions e adreças"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,active:0
|
||||
msgid "Active"
|
||||
msgstr "Actiu"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,contact_id:0
|
||||
msgid "Contact"
|
||||
msgstr "Contacte"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.node,note:base_contact.process_node_partners0
|
||||
msgid "Companies you work with."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,partner_id:0
|
||||
msgid "Main Employer"
|
||||
msgstr "Emplegaire principal"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.transition,name:base_contact.process_transition_functiontoaddress0
|
||||
msgid "Function to address"
|
||||
msgstr "Foncion cap a adreça"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:ir.actions.act_window,name:base_contact.act_res_partner_jobs
|
||||
msgid "Partner Contacts"
|
||||
msgstr "Contactes del partenari"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
msgid "Partner Contact"
|
||||
msgstr "Contacte del partenari"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.node,name:base_contact.process_node_partners0
|
||||
msgid "Partners"
|
||||
msgstr "Partenaris"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.node,name:base_contact.process_node_addresses0
|
||||
#: view:res.partner:0
|
||||
msgid "Addresses"
|
||||
msgstr "Adreças"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.node,note:base_contact.process_node_addresses0
|
||||
msgid "Working and private addresses."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,name:0
|
||||
msgid "Last Name"
|
||||
msgstr "Nom d'ostal"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,state:0
|
||||
msgid "State"
|
||||
msgstr "Estat"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
#: view:res.partner.job:0
|
||||
msgid "General"
|
||||
msgstr "General"
|
||||
|
||||
#. module: base_contact
|
||||
#: selection:res.partner.job,state:0
|
||||
msgid "Past"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
msgid "General Information"
|
||||
msgstr "Informacions generalas"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.node,note:base_contact.process_node_function0
|
||||
msgid "Jobs at a same partner address."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,name:0
|
||||
msgid "Partner"
|
||||
msgstr "Partenari"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Data de començament"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.transition,note:base_contact.process_transition_functiontoaddress0
|
||||
msgid "Define functions and address."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,website:0
|
||||
msgid "Website"
|
||||
msgstr "Site web"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,birthdate:0
|
||||
msgid "Birth Date"
|
||||
msgstr "Data de naissença"
|
||||
@@ -42,6 +42,17 @@
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_partner_iban_list" model="ir.ui.view">
|
||||
<field name="name">res.partner.form.iban.inherit.list</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/notebook/page/field[@name='bank_ids']/tree/field[@name='acc_number']" position="after">
|
||||
<field name="iban"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
# Occitan (post 1500) translation for openobject-addons
|
||||
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-05-18 08:28+0000\n"
|
||||
"Last-Translator: Cédric VALMARY (Tot en òc) <cvalmary@yahoo.fr>\n"
|
||||
"Language-Team: Occitan (post 1500) <oc@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-19 05:11+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_iban
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "XML invalid per l'arquitectura de la vista"
|
||||
|
||||
#. module: base_iban
|
||||
#: model:res.partner.bank.type.field,name:base_iban.bank_zip_field
|
||||
msgid "zip"
|
||||
msgstr "zip"
|
||||
|
||||
#. module: base_iban
|
||||
#: help:res.partner.bank,iban:0
|
||||
msgid "International Bank Account Number"
|
||||
msgstr "Numèro Internacional de Compte Bancari"
|
||||
|
||||
#. module: base_iban
|
||||
#: model:res.partner.bank.type.field,name:base_iban.bank_country_field
|
||||
msgid "country_id"
|
||||
msgstr "country_id"
|
||||
|
||||
#. module: base_iban
|
||||
#: model:res.partner.bank.type.field,name:base_iban.bank_swift_field
|
||||
msgid "bic"
|
||||
msgstr "bic"
|
||||
|
||||
#. module: base_iban
|
||||
#: model:res.partner.bank.type.field,name:base_iban.bank_iban_field
|
||||
msgid "iban"
|
||||
msgstr "iban"
|
||||
|
||||
#. module: base_iban
|
||||
#: model:ir.module.module,shortdesc:base_iban.module_meta_information
|
||||
#: field:res.partner.bank,iban:0
|
||||
msgid "IBAN"
|
||||
msgstr "IBAN"
|
||||
|
||||
#. module: base_iban
|
||||
#: model:res.partner.bank.type,name:base_iban.bank_iban
|
||||
msgid "IBAN Account"
|
||||
msgstr "N° IBAN del compte"
|
||||
|
||||
#. module: base_iban
|
||||
#: model:res.partner.bank.type.field,name:base_iban.bank_acc_number_field
|
||||
msgid "acc_number"
|
||||
msgstr "acc_number"
|
||||
@@ -0,0 +1,23 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
import base_module_doc_rst
|
||||
import wizard
|
||||
import report
|
||||
@@ -0,0 +1,41 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
{
|
||||
'name': 'Module Technical Guide in Restructured Text ',
|
||||
'version': '1.0',
|
||||
'category': 'Generic Modules/Base',
|
||||
'description': """
|
||||
* This module generate the Technical Guides of selected modules in Restructured Text format (RST)
|
||||
* It uses the Sphinx (http://sphinx.pocoo.org) implementation of RST
|
||||
* It creates a tarball (.tgz file suffix) containing an index file and one file per module
|
||||
* Generate Relationship Graph
|
||||
""",
|
||||
'author': 'Tiny',
|
||||
'website': 'http://www.openerp.com',
|
||||
'depends': ['base'],
|
||||
'init_xml': [],
|
||||
'update_xml': ['base_module_doc_rst_view.xml', 'base_module_doc_rst_wizard.xml', 'module_report.xml'],
|
||||
'demo_xml': [],
|
||||
'installable': True,
|
||||
'certificate': '',
|
||||
}
|
||||
|
||||
+178
@@ -0,0 +1,178 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
import os
|
||||
import pydot
|
||||
import base64
|
||||
|
||||
import report
|
||||
from osv import fields, osv, orm
|
||||
import tools
|
||||
from tools.translate import _
|
||||
|
||||
class module(osv.osv):
|
||||
_inherit = 'ir.module.module'
|
||||
_description = 'Module With Relationship Graph'
|
||||
_columns = {
|
||||
'file_graph': fields.binary('Relationship Graph'),
|
||||
}
|
||||
|
||||
def _get_graphical_representation(self, cr, uid, model_ids, level=1, context={}):
|
||||
obj_model = self.pool.get('ir.model')
|
||||
if level == 0:
|
||||
return tuple()
|
||||
relation = []
|
||||
for id in model_ids:
|
||||
model_data = obj_model.browse(cr, uid, id, context=context)
|
||||
for field in (f for f in model_data.field_id if f.ttype in ('many2many', 'many2one', 'one2many')):
|
||||
relation.append((model_data.model, field.name, field.ttype, field.relation, field.field_description))
|
||||
new_model_ids = obj_model.search(cr, uid, [('model', '=', field.relation)], context=context)
|
||||
if new_model_ids:
|
||||
model = obj_model.read(cr, uid, new_model_ids, ['id', 'name'], context=context)[0]
|
||||
relation.extend(self._get_graphical_representation(cr, uid, model['id'], level - 1))
|
||||
return tuple(relation)
|
||||
|
||||
def _get_structure(self, relations, main_element):
|
||||
res = {}
|
||||
for rel in relations:
|
||||
# if we have to display the string along with field name then uncomment the first line n comment the second line
|
||||
# res.setdefault(rel[0], set()).add(rel[1]+'('+rel[4]+')')
|
||||
res.setdefault(rel[0], set()).add(rel[1])
|
||||
res.setdefault(rel[3], set())
|
||||
val = []
|
||||
for obj, fields in res.items():
|
||||
val.append('"%s" [%s label="{<id>%s|%s}"];' % (obj,
|
||||
obj in main_element and 'fillcolor=yellow, style="filled,rounded"' or "",
|
||||
obj,
|
||||
"|".join(["<%s> %s" % (fn, fn) for fn in fields])))
|
||||
return "\n".join(val)
|
||||
|
||||
def _get_arrow(self, field_type='many2one'):
|
||||
return {
|
||||
'many2one': 'arrowtail="none" arrowhead="normal" color="red" label="m2o"',
|
||||
'many2many': 'arrowtail="crow" arrowhead="crow" color="green" label="m2m"',
|
||||
'one2many': 'arrowtail="none" arrowhead="crow" color="blue" label="o2m"',
|
||||
}[field_type]
|
||||
|
||||
def get_graphical_representation(self, cr, uid, model_ids, context=None):
|
||||
obj_model = self.pool.get('ir.model')
|
||||
if context is None:
|
||||
context = {}
|
||||
res = {}
|
||||
models = []
|
||||
for obj in obj_model.browse(cr, uid, model_ids, context=context):
|
||||
models.append(obj.model)
|
||||
relations = set(self._get_graphical_representation(cr, uid, model_ids, context.get('level', 1)))
|
||||
res[obj.model] = "digraph G {\nnode [style=rounded, shape=record];\n%s\n%s }" % (
|
||||
self._get_structure(relations, models),
|
||||
''.join('"%s":%s -> "%s":id:n [%s]; // %s\n' % (m, fn, fr, self._get_arrow(ft),ft) for m, fn, ft, fr, fl in relations),
|
||||
)
|
||||
return res
|
||||
|
||||
def _get_module_objects(self, cr, uid, module, context={}):
|
||||
obj_model = self.pool.get('ir.model')
|
||||
obj_mod_data = self.pool.get('ir.model.data')
|
||||
obj_ids = []
|
||||
model_data_ids = obj_mod_data.search(cr, uid, [('module', '=', module), ('model', '=', 'ir.model')], context=context)
|
||||
model_ids = []
|
||||
for mod in obj_mod_data.browse(cr, uid, model_data_ids, context=context):
|
||||
model_ids.append(mod.res_id)
|
||||
models = obj_model.browse(cr, uid, model_ids, context=context)
|
||||
map(lambda x: obj_ids.append(x.id),models)
|
||||
return obj_ids
|
||||
|
||||
def get_relation_graph(self, cr, uid, module_name, context=None):
|
||||
object_ids = self._get_module_objects(cr, uid, module_name, context=context)
|
||||
if not object_ids:
|
||||
return {'module_file': False}
|
||||
# raise orm.except_orm(_('Warning'),
|
||||
# _('No object available on this module or Module is not installed'))
|
||||
context.update({'level': 1})
|
||||
dots = self.get_graphical_representation(cr, uid, object_ids, context=context)
|
||||
# todo: use os.realpath
|
||||
file_path = tools.config['addons_path']+"/base_module_doc_rst/"
|
||||
path_png = file_path + "/module.png"
|
||||
for key, val in dots.items():
|
||||
path_dotfile = file_path + "/%s.dot" % (key,)
|
||||
fp = file(path_dotfile, "w")
|
||||
fp.write(val)
|
||||
fp.close()
|
||||
os.popen('dot -Tpng' +' '+ path_dotfile + ' '+ '-o' +' ' + path_png)
|
||||
fp = file(path_png, "r")
|
||||
x = fp.read()
|
||||
fp.close()
|
||||
os.popen('rm ' + path_dotfile + ' ' + path_png)
|
||||
return {'module_file': base64.encodestring(x)}
|
||||
|
||||
module()
|
||||
|
||||
#class report_graph_instance(object):
|
||||
# def __init__(self, cr, uid, ids, data):
|
||||
# print "data", data
|
||||
# self.done = False
|
||||
#
|
||||
# graph = pydot.Dot(fontsize=16, label="")
|
||||
#
|
||||
# ps_string = graph.create_ps(prog='dot')
|
||||
# if os.name == 'nt':
|
||||
# prog = 'ps2pdf.bat'
|
||||
# else:
|
||||
# prog = 'ps2pdf'
|
||||
#
|
||||
# args = (prog, '-', '-')
|
||||
# try:
|
||||
# input, output = tools.exec_command_pipe(*args)
|
||||
# except:
|
||||
# return
|
||||
#
|
||||
# input.write(ps_string)
|
||||
# input.close()
|
||||
#
|
||||
# self.result = output.read()
|
||||
# output.close()
|
||||
# self.done = True
|
||||
#
|
||||
# def is_done(self):
|
||||
# return self.done
|
||||
#
|
||||
# def get(self):
|
||||
# if self.done:
|
||||
# return self.result
|
||||
# else:
|
||||
# return False
|
||||
#
|
||||
#class report_graph(report.interface.report_int):
|
||||
# def init__(self, name, table):
|
||||
# super(report_graph, self).__init__(name)
|
||||
#
|
||||
# def result(self):
|
||||
# if self.obj.is_done():
|
||||
# return (True, self.obj.get(), 'pdf')
|
||||
# else:
|
||||
# return (False, False, False)
|
||||
#
|
||||
# def create(self, cr, uid, ids, data, context=None):
|
||||
# self.obj = report_graph_instance(cr, uid, ids, data)
|
||||
# return (self.obj.get(), 'pdf')
|
||||
#
|
||||
#report_graph('report.ir.model.graph')
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!--
|
||||
Relationshio Graph on Module object
|
||||
-->
|
||||
|
||||
<record model="ir.ui.view" id="view_module_module_graph">
|
||||
<field name="name">ir.module.module.form.graph</field>
|
||||
<field name="model">ir.module.module</field>
|
||||
<field name="inherit_id" ref="base.module_form"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<notebook position="inside">
|
||||
<page string="Relationship Graph">
|
||||
<separator colspan="4" string="You can save this image as .png file"/>
|
||||
<field name="file_graph" widget="image" nolabel="1" />
|
||||
</page>
|
||||
</notebook>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<wizard
|
||||
id="wiz_tech_guide_rst"
|
||||
model="ir.module.module"
|
||||
name="tech.guide.rst"
|
||||
string="Create RST Technical Guide"
|
||||
keyword="client_action_multi"
|
||||
multi="True"
|
||||
/>
|
||||
|
||||
<wizard
|
||||
id="wiz_gen_graph"
|
||||
model="ir.module.module"
|
||||
name="create.relation.graph"
|
||||
string="Generate Relationship Graph"
|
||||
multi="False"
|
||||
/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -0,0 +1,57 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_module_doc_rst
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:58+0000\n"
|
||||
"PO-Revision-Date: 2010-01-26 10:55+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-24 04:03+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr ""
|
||||
@@ -0,0 +1,57 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_module_doc_rst
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:39:09+0000\n"
|
||||
"PO-Revision-Date: 2009-01-28 00:39:09+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr ""
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_module_doc_rst
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:58:16+0000\n"
|
||||
"PO-Revision-Date: 2009-01-28 00:58:16+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr ""
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_module_doc_rst
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:58+0000\n"
|
||||
"PO-Revision-Date: 2010-01-26 11:45+0000\n"
|
||||
"Last-Translator: Boris <boris.t.ivanov@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-24 04:03+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr "Техническо ръководство във формат rst"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr "Име на файла"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr "Създай ръководство във формат rst"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr "Изберете фйл в който Техническото ръководство ще бъде написано."
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr "файл"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr "Затвори"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr "Модул Техническо ръководство като преструктуриран текст "
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr "Създай Техническо ръководство във формат rst"
|
||||
@@ -0,0 +1,57 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_module_doc_rst
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:40:23+0000\n"
|
||||
"PO-Revision-Date: 2009-01-28 00:40:23+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr ""
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_module_doc_rst
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:58+0000\n"
|
||||
"PO-Revision-Date: 2010-01-26 10:55+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-24 04:03+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr ""
|
||||
@@ -0,0 +1,57 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_module_doc_rst
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:39:46+0000\n"
|
||||
"PO-Revision-Date: 2009-01-28 00:39:46+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr ""
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_module_doc_rst
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:58+0000\n"
|
||||
"PO-Revision-Date: 2010-01-26 11:45+0000\n"
|
||||
"Last-Translator: Jordi Esteve - http://www.zikzakmedia.com "
|
||||
"<jesteve@zikzakmedia.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-24 04:03+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr "Guia tècnica en format RST"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr "Nom fitxer"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr "Crea guia tècnica RST"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr "Seleccioneu un fitxer on la guia tècnica serà escrita."
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr "Fitxer"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr "Tanca"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr "Guia tècnica d'un mòdul en text reestructurat (RST) "
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr "Crea guia tècnica en format RST"
|
||||
@@ -0,0 +1,57 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_module_doc_rst
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:41:01+0000\n"
|
||||
"PO-Revision-Date: 2009-01-28 00:41:01+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr ""
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_module_doc_rst
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:58+0000\n"
|
||||
"PO-Revision-Date: 2010-03-10 05:46+0000\n"
|
||||
"Last-Translator: Konki <pavel.konkol@seznam.cz>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-24 04:03+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr "Technická příručka v rst formátu"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr "název souboru"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr "Vytvořit RST technickou příručku"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr "Prosím zvolte soubor do kterého bude zapsán Technický průvodce."
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr "soubor"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr "Ukončit"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr "Modul Technického průvodce v přepracovaném znění "
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr "Vytvořit Technického průvodce v rst formátu"
|
||||
@@ -0,0 +1,57 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_module_doc_rst
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:43:35+0000\n"
|
||||
"PO-Revision-Date: 2009-01-28 00:43:35+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr ""
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_module_doc_rst
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:58+0000\n"
|
||||
"PO-Revision-Date: 2010-01-26 11:45+0000\n"
|
||||
"Last-Translator: mra (Open ERP) <mra@tinyerp.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-24 04:03+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr "Technische Anleitung in rst Format"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr "Dateiname"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr "Erzeuge RST technische Anleitung"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr "Auswahl einer Datei zum Speichern des technischen Anleitung"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr "Datei"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr "Schließen"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr "Modul technische Anleitung in \"Restrukturiertem Text\" "
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr "Erzeuge technische Anleitung in RST Format"
|
||||
@@ -0,0 +1,57 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_module_doc_rst
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:46:14+0000\n"
|
||||
"PO-Revision-Date: 2009-01-28 00:46:14+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr ""
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
# Greek translation for openobject-addons
|
||||
# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:58+0000\n"
|
||||
"PO-Revision-Date: 2010-01-26 10:55+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Greek <el@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-24 04:03+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr ""
|
||||
@@ -0,0 +1,58 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_module_doc_rst
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:58+0000\n"
|
||||
"PO-Revision-Date: 2010-01-26 11:45+0000\n"
|
||||
"Last-Translator: Jordi Esteve - http://www.zikzakmedia.com "
|
||||
"<jesteve@zikzakmedia.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-24 04:03+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr "Guía técnica en formato RST"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr "Nombre archivo"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr "Crear guía técnica RST"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr "Por favor, seleccione un archivo donde la guía técnica será escrita."
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr "Archivo"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr "Guía técnica de un módulo en texto reestructurado (RST) "
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr "Crear guía técnica en formato RST"
|
||||
@@ -0,0 +1,58 @@
|
||||
# Spanish (Argentina) translation for openobject-addons
|
||||
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:58+0000\n"
|
||||
"PO-Revision-Date: 2010-01-26 10:55+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Spanish (Argentina) <es_AR@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-24 04:03+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr "Guía técnica en formato RST"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr "Nombre de archivo"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr "Crear guía técnica RST"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr "Por favor, seleccione el archivo donde la guía técnica será escrita."
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr "Archivo"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr "Guía técnica de módulo en texto reestructurado (RST) "
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr "Crear guía técnica en formato RST"
|
||||
@@ -0,0 +1,57 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_module_doc_rst
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:53:54+0000\n"
|
||||
"PO-Revision-Date: 2009-01-28 00:53:54+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr ""
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_module_doc_rst
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:58+0000\n"
|
||||
"PO-Revision-Date: 2010-01-26 11:45+0000\n"
|
||||
"Last-Translator: Ahti Hinnov <sipelgas@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-24 04:03+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr "Tehniline juhis rst formaadis"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr "failinimi"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr "Loo RST tehniline juhis"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr "Palun vali fail, kuhu tehniline juhis kirjutatakse"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr "fail"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr "Sulge"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr "Mooduli tehniline juhis ümber korraldatud tekstis "
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr "Loo tehniline juhis rst formaadis"
|
||||
@@ -0,0 +1,57 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_module_doc_rst
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:44:54+0000\n"
|
||||
"PO-Revision-Date: 2009-01-28 00:44:54+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr ""
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
# Finnish translation for openobject-addons
|
||||
# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:58+0000\n"
|
||||
"PO-Revision-Date: 2010-01-26 11:01+0000\n"
|
||||
"Last-Translator: Pieter J. Kersten (EduSense BV) <Unknown>\n"
|
||||
"Language-Team: Finnish <fi@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-24 04:03+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr "Tekninen opas RST-muodossa"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr "Tiedoston nimi"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr "Luo RST tekninen opas"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr "Valitse mihin tekninen opas luodaan."
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr "tiedosto"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr "Sulje"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr "Moduulin tekninen opas uudelleen jäsenneltynä tekstinä "
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr "Luo tekninen opas RST-muodossa"
|
||||
@@ -0,0 +1,57 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_module_doc_rst
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:58+0000\n"
|
||||
"PO-Revision-Date: 2010-01-26 11:45+0000\n"
|
||||
"Last-Translator: nel <nel@tinyerp.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-24 04:03+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr "Guide Technique au format rst"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr "Nom du Fichier"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr "Crée le Guide Technical au format rst"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr "Choisissez un fichier où le Guide Technique sera créé."
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr "Fichier"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr "Fermer"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr "Module du guide technique en texte restructuré "
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr "Crée le Guide Technique au format rst"
|
||||
@@ -0,0 +1,57 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_module_doc_rst
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:45:34+0000\n"
|
||||
"PO-Revision-Date: 2009-01-28 00:45:34+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr "Guide Technique au format rst"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr "Nom du Fichier"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr "Crée le Guide Technical au format rst"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr "Choisissez un fichier où le Guide Technique sera créé."
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr "Fichier"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr "Fermer"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr "Crée le Guide Technique au format rst"
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_module_doc_rst
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:45:34+0000\n"
|
||||
"PO-Revision-Date: 2009-01-28 00:45:34+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr "Guide Technique au format rst"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr "Nom du Fichier"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr "Crée le Guide Technical au format rst"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr "Choisissez un fichier où le Guide Technique sera créé."
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr "Fichier"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr "Fermer"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr ""
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr "Crée le Guide Technique au format rst"
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
# translation of base-module-doc-rst-gl.po to Galego
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_module_doc_rst
|
||||
#
|
||||
# Frco. Javier Rial Rodríguez <fjrial@cesga.es>, 2009.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: base-module-doc-rst-gl\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-01-28 00:58+0000\n"
|
||||
"PO-Revision-Date: 2010-01-26 10:55+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"Language-Team: Galego <g11n@mancomun.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-24 04:03+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Technical Guide in rst format"
|
||||
msgstr "Guía técnica en formato RST"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,name:0
|
||||
msgid "filename"
|
||||
msgstr "Nome ficheiro"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.actions.wizard,name:base_module_doc_rst.wiz_tech_guide_rst
|
||||
msgid "Create RST Technical Guide"
|
||||
msgstr "Crear guía técnica RST"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Please choose a file where the Technical Guide will be written."
|
||||
msgstr "Por favor, elixa un ficheiro onde gardar a guía técnica."
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_field:tech.guide.rst,init,rst_file:0
|
||||
msgid "file"
|
||||
msgstr "ficheiro"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_button:tech.guide.rst,init,end:0
|
||||
msgid "Close"
|
||||
msgstr "Pechar"
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: model:ir.module.module,shortdesc:base_module_doc_rst.module_meta_information
|
||||
msgid "Module Technical Guide in Restructured Text "
|
||||
msgstr "Guía técnica dun módulo en texto reestruturado (RST) "
|
||||
|
||||
#. module: base_module_doc_rst
|
||||
#: wizard_view:tech.guide.rst,init:0
|
||||
msgid "Create Technical Guide in rst format"
|
||||
msgstr "Crear guía técnica en formato RST"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user