commit
1769bc9476
|
@ -458,7 +458,7 @@ class account_account(osv.osv):
|
|||
ids = self.search(cr, user, [('name', operator, name)]+ args, limit=limit)
|
||||
if not ids and len(name.split()) >= 2:
|
||||
#Separating code and name of account for searching
|
||||
operand1,operand2 = name.split(' ',1) #name can contain spaces e.g. OpenERP S.A.
|
||||
operand1,operand2 = name.split(' ',1) #name can contain spaces e.g. OpenERP S.A.
|
||||
ids = self.search(cr, user, [('code', operator, operand1), ('name', operator, operand2)]+ args, limit=limit)
|
||||
else:
|
||||
ids = self.search(cr, user, args, context=context, limit=limit)
|
||||
|
@ -2542,7 +2542,22 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
|||
'bank_accounts_id': fields.one2many('account.bank.accounts.wizard', 'bank_account_id', 'Bank Accounts', required=True),
|
||||
'code_digits':fields.integer('# of Digits', required=True, help="No. of Digits to use for account code"),
|
||||
'seq_journal':fields.boolean('Separated Journal Sequences', help="Check this box if you want to use a different sequence for each created journal. Otherwise, all will use the same sequence."),
|
||||
"sale_tax": fields.many2one("account.tax.template", "Sale Tax"),
|
||||
"purchase_tax": fields.many2one("account.tax.template", "Purchase Tax"),
|
||||
}
|
||||
def onchange_chart_template_id(self, cr, uid, ids, chart_template_id=False, context=None):
|
||||
res = {}
|
||||
res['value'] = {}
|
||||
res['value']["sale_tax"] = False
|
||||
res['value']["purchase_tax"] = False
|
||||
if chart_template_id:
|
||||
ids = self.pool.get('account.tax.template').search(cr, uid, [("chart_template_id"
|
||||
, "=", chart_template_id)], order="sequence")
|
||||
if len(ids) > 0:
|
||||
id=ids[0]
|
||||
res['value']["sale_tax"] = id
|
||||
res['value']["purchase_tax"] = id
|
||||
return res
|
||||
|
||||
def _get_chart(self, cr, uid, context={}):
|
||||
ids = self.pool.get('account.chart.template').search(cr, uid, [], context=context)
|
||||
|
@ -2604,6 +2619,7 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
|||
tax_code_template_ref[tax_code_template.id] = new_tax_code
|
||||
|
||||
#create all the tax
|
||||
tax_template_to_tax = {}
|
||||
for tax in obj_multi.chart_template_id.tax_template_ids:
|
||||
#create it
|
||||
vals_tax = {
|
||||
|
@ -2632,6 +2648,7 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
|||
'type_tax_use': tax.type_tax_use
|
||||
}
|
||||
new_tax = obj_acc_tax.create(cr, uid, vals_tax)
|
||||
tax_template_to_tax[tax.id] = new_tax
|
||||
#as the accounts have not been created yet, we have to wait before filling these fields
|
||||
todo_dict[new_tax] = {
|
||||
'account_collected_id': tax.account_collected_id and tax.account_collected_id.id or False,
|
||||
|
@ -2856,6 +2873,12 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
|||
}
|
||||
obj_ac_fp.create(cr, uid, vals_acc)
|
||||
|
||||
ir_values = self.pool.get('ir.values')
|
||||
ir_values.set(cr, uid, key='default', key2=False, name="taxes_id", company=obj_multi.company_id.id
|
||||
, models =[('product.product',False)], value=[tax_template_to_tax[obj_multi.sale_tax.id]])
|
||||
ir_values.set(cr, uid, key='default', key2=False, name="supplier_taxes_id", company=obj_multi.company_id.id
|
||||
, models =[('product.product',False)], value=[tax_template_to_tax[obj_multi.purchase_tax.id]])
|
||||
|
||||
wizard_multi_charts_accounts()
|
||||
|
||||
class account_bank_accounts_wizard(osv.osv_memory):
|
||||
|
|
|
@ -38,12 +38,13 @@ class account_bank_statement(osv.osv):
|
|||
|
||||
def write(self, cr, uid, ids, vals, context=None):
|
||||
res = super(account_bank_statement, self).write(cr, uid, ids, vals, context=context)
|
||||
account_bank_statement_line_obj = self.pool.get('account.bank.statement.line')
|
||||
for statement in self.browse(cr, uid, ids, context):
|
||||
seq = 0
|
||||
for line in statement.line_ids:
|
||||
seq += 1
|
||||
if not line.sequence:
|
||||
self.pool.get('account.bank.statement.line').write(cr, uid, [line.id], {'sequence': seq}, context=context)
|
||||
account_bank_statement_line_obj.write(cr, uid, [line.id], {'sequence': seq}, context=context)
|
||||
return res
|
||||
|
||||
def button_import_invoice(self, cr, uid, ids, context=None):
|
||||
|
@ -381,13 +382,14 @@ class account_bank_statement(osv.osv):
|
|||
|
||||
def button_cancel(self, cr, uid, ids, context=None):
|
||||
done = []
|
||||
account_move_obj = self.pool.get('account.move')
|
||||
for st in self.browse(cr, uid, ids, context):
|
||||
if st.state=='draft':
|
||||
continue
|
||||
ids = []
|
||||
for line in st.line_ids:
|
||||
ids += [x.id for x in line.move_ids]
|
||||
self.pool.get('account.move').unlink(cr, uid, ids, context)
|
||||
account_move_obj.unlink(cr, uid, ids, context)
|
||||
done.append(st.id)
|
||||
return self.write(cr, uid, done, {'state':'draft'}, context=context)
|
||||
|
||||
|
@ -496,4 +498,4 @@ class account_bank_statement_line(osv.osv):
|
|||
|
||||
account_bank_statement_line()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -23,7 +23,6 @@
|
|||
import time
|
||||
|
||||
from osv import osv, fields
|
||||
from decimal import Decimal
|
||||
from tools.translate import _
|
||||
import decimal_precision as dp
|
||||
|
||||
|
@ -53,14 +52,14 @@ class account_cashbox_line(osv.osv):
|
|||
@param number:
|
||||
"""
|
||||
sub = pieces * number
|
||||
return {'value':{'subtotal': sub or 0.0}}
|
||||
return {'value': {'subtotal': sub or 0.0}}
|
||||
|
||||
_columns = {
|
||||
'pieces': fields.float('Values', digits_compute=dp.get_precision('Account')),
|
||||
'number': fields.integer('Number'),
|
||||
'subtotal': fields.function(_sub_total, method=True, string='Sub Total', type='float', digits_compute=dp.get_precision('Account')),
|
||||
'starting_id': fields.many2one('account.bank.statement',ondelete='cascade'),
|
||||
'ending_id': fields.many2one('account.bank.statement',ondelete='cascade'),
|
||||
'starting_id': fields.many2one('account.bank.statement', ondelete='cascade'),
|
||||
'ending_id': fields.many2one('account.bank.statement', ondelete='cascade'),
|
||||
}
|
||||
|
||||
account_cashbox_line()
|
||||
|
@ -86,7 +85,7 @@ class account_cash_statement(osv.osv):
|
|||
for line in statement.starting_details_ids:
|
||||
amount_total+= line.pieces * line.number
|
||||
res[statement.id] = {
|
||||
'balance_start':amount_total
|
||||
'balance_start': amount_total
|
||||
}
|
||||
return res
|
||||
|
||||
|
@ -166,13 +165,13 @@ class account_cash_statement(osv.osv):
|
|||
curr = [1, 2, 5, 10, 20, 50, 100, 500]
|
||||
for rs in curr:
|
||||
dct = {
|
||||
'pieces':rs,
|
||||
'number':0
|
||||
'pieces': rs,
|
||||
'number': 0
|
||||
}
|
||||
res.append(dct)
|
||||
journal_ids = self.pool.get('account.journal').search(cr, uid, [('type','=','cash')], context=context)
|
||||
journal_ids = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'cash')], context=context)
|
||||
if journal_ids:
|
||||
results = self.search(cr, uid, [('journal_id','in',journal_ids),('state','=','confirm')],context=context)
|
||||
results = self.search(cr, uid, [('journal_id', 'in', journal_ids),('state', '=', 'confirm')], context=context)
|
||||
if results:
|
||||
cash_st = self.browse(cr, uid, results, context)[0]
|
||||
for cash_line in cash_st.ending_details_ids:
|
||||
|
@ -186,8 +185,8 @@ class account_cash_statement(osv.osv):
|
|||
curr = [1, 2, 5, 10, 20, 50, 100, 500]
|
||||
for rs in curr:
|
||||
dct = {
|
||||
'pieces':rs,
|
||||
'number':0
|
||||
'pieces': rs,
|
||||
'number': 0
|
||||
}
|
||||
res.append(dct)
|
||||
return res
|
||||
|
@ -197,10 +196,10 @@ class account_cash_statement(osv.osv):
|
|||
curr = [1, 2, 5, 10, 20, 50, 100, 500]
|
||||
for rs in curr:
|
||||
dct = {
|
||||
'pieces':rs,
|
||||
'number':0
|
||||
'pieces': rs,
|
||||
'number': 0
|
||||
}
|
||||
res.append((0,0,dct))
|
||||
res.append((0, 0, dct))
|
||||
return res
|
||||
|
||||
def _get_cash_open_close_box_lines(self, cr, uid, context={}):
|
||||
|
@ -210,41 +209,41 @@ class account_cash_statement(osv.osv):
|
|||
starting_details = self._get_cash_open_box_lines(cr, uid, context)
|
||||
ending_details = self._get_default_cash_close_box_lines(cr, uid, context)
|
||||
for start in starting_details:
|
||||
start_l.append((0,0,start))
|
||||
start_l.append((0, 0, start))
|
||||
for end in ending_details:
|
||||
end_l.append((0,0,end))
|
||||
end_l.append((0, 0, end))
|
||||
res['start'] = start_l
|
||||
res['end'] = end_l
|
||||
return res
|
||||
|
||||
_columns = {
|
||||
'balance_end_real': fields.float('Closing Balance', digits_compute=dp.get_precision('Account'), states={'confirm':[('readonly', True)]}, help="closing balance entered by the cashbox verifier"),
|
||||
'balance_end_real': fields.float('Closing Balance', digits_compute=dp.get_precision('Account'), states={'confirm': [('readonly', True)]}, help="closing balance entered by the cashbox verifier"),
|
||||
'state': fields.selection(
|
||||
[('draft', 'Draft'),
|
||||
('confirm', 'Closed'),
|
||||
('open','Open')], 'State', required=True, states={'confirm': [('readonly', True)]}, readonly="1"),
|
||||
'total_entry_encoding':fields.function(_get_sum_entry_encoding, method=True, store=True, string="Cash Transaction", help="Total cash transactions"),
|
||||
'closing_date':fields.datetime("Closed On"),
|
||||
'total_entry_encoding': fields.function(_get_sum_entry_encoding, method=True, store=True, string="Cash Transaction", help="Total cash transactions"),
|
||||
'closing_date': fields.datetime("Closed On"),
|
||||
'balance_end': fields.function(_end_balance, method=True, store=True, string='Balance', help="Closing balance based on Starting Balance and Cash Transactions"),
|
||||
'balance_end_cash': fields.function(_balance_end_cash, method=True, store=True, string='Balance', help="Closing balance based on cashBox"),
|
||||
'starting_details_ids': fields.one2many('account.cashbox.line', 'starting_id', string='Opening Cashbox'),
|
||||
'ending_details_ids': fields.one2many('account.cashbox.line', 'ending_id', string='Closing Cashbox'),
|
||||
'name': fields.char('Name', size=64, required=True, states={'draft': [('readonly', False)]}, readonly=True, help='if you give the Name other then /, its created Accounting Entries Move will be with same name as statement name. This allows the statement entries to have the same references than the statement itself'),
|
||||
'user_id':fields.many2one('res.users', 'Responsible', required=False),
|
||||
'user_id': fields.many2one('res.users', 'Responsible', required=False),
|
||||
}
|
||||
_defaults = {
|
||||
'state': 'draft',
|
||||
'date': time.strftime("%Y-%m-%d %H:%M:%S"),
|
||||
'user_id': lambda self, cr, uid, context=None: uid,
|
||||
'starting_details_ids':_get_cash_open_box_lines,
|
||||
'ending_details_ids':_get_default_cash_close_box_lines
|
||||
'starting_details_ids': _get_cash_open_box_lines,
|
||||
'ending_details_ids': _get_default_cash_close_box_lines
|
||||
}
|
||||
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
if 'journal_id' not in vals:
|
||||
raise osv.except_osv('Error', _('You cannot create a bank or cash register without a journal!'))
|
||||
sql = [
|
||||
('journal_id', '=', vals['journal_id']),
|
||||
('journal_id', '=', vals.get('journal_id', False)),
|
||||
('state', '=', 'open')
|
||||
]
|
||||
open_jrnl = self.search(cr, uid, sql)
|
||||
|
@ -253,20 +252,20 @@ class account_cash_statement(osv.osv):
|
|||
|
||||
if self.pool.get('account.journal').browse(cr, uid, vals['journal_id']).type == 'cash':
|
||||
open_close = self._get_cash_open_close_box_lines(cr, uid, context)
|
||||
if vals.get('starting_details_ids',False):
|
||||
if vals.get('starting_details_ids', False):
|
||||
for start in vals.get('starting_details_ids'):
|
||||
dict_val = start[2]
|
||||
for end in open_close['end']:
|
||||
if end[2]['pieces'] == dict_val['pieces']:
|
||||
end[2]['number'] += dict_val['number']
|
||||
vals.update({
|
||||
'ending_details_ids':open_close['start'],
|
||||
'starting_details_ids':open_close['end']
|
||||
# 'ending_details_ids': open_close['start'],
|
||||
'starting_details_ids': open_close['end']
|
||||
})
|
||||
else:
|
||||
vals.update({
|
||||
'ending_details_ids':False,
|
||||
'starting_details_ids':False
|
||||
'ending_details_ids': False,
|
||||
'starting_details_ids': False
|
||||
})
|
||||
res_id = super(account_cash_statement, self).create(cr, uid, vals, context=context)
|
||||
self.write(cr, uid, [res_id], {})
|
||||
|
@ -298,8 +297,6 @@ class account_cash_statement(osv.osv):
|
|||
@param journal_id: Changed journal_id
|
||||
@return: Dictionary of changed values
|
||||
"""
|
||||
cash_pool = self.pool.get('account.cashbox.line')
|
||||
statement_pool = self.pool.get('account.bank.statement')
|
||||
res = {}
|
||||
balance_start = 0.0
|
||||
|
||||
|
@ -319,34 +316,35 @@ class account_cash_statement(osv.osv):
|
|||
else:
|
||||
return True
|
||||
|
||||
def _user_allow(self, cr, uid, ids, statement, context={}):
|
||||
def _user_allow(self, cr, uid, statement_id, context=None):
|
||||
return True
|
||||
|
||||
def button_open(self, cr, uid, ids, context=None):
|
||||
|
||||
""" Changes statement state to Running.
|
||||
@return: True
|
||||
"""
|
||||
cash_pool = self.pool.get('account.cashbox.line')
|
||||
if context is None:
|
||||
context = {}
|
||||
statement_pool = self.pool.get('account.bank.statement')
|
||||
statement = statement_pool.browse(cr, uid, ids[0])
|
||||
vals = {}
|
||||
for statement in statement_pool.browse(cr, uid, ids, context=context):
|
||||
vals = {}
|
||||
|
||||
if not self._user_allow(cr, uid, ids, statement, context={}):
|
||||
raise osv.except_osv(_('Error !'), _('User %s does not have rights to access %s journal !' % (statement.user_id.name, statement.journal_id.name)))
|
||||
if not self._user_allow(cr, uid, statement.id, context=context):
|
||||
raise osv.except_osv(_('Error !'), _('User %s does not have rights to access %s journal !' % (statement.user_id.name, statement.journal_id.name)))
|
||||
|
||||
if statement.name and statement.name == '/':
|
||||
number = self.pool.get('ir.sequence').get(cr, uid, 'account.cash.statement')
|
||||
vals.update({
|
||||
'name': number
|
||||
})
|
||||
|
||||
if statement.name and statement.name == '/':
|
||||
number = self.pool.get('ir.sequence').get(cr, uid, 'account.cash.statement')
|
||||
vals.update({
|
||||
'name': number
|
||||
'date': time.strftime("%Y-%m-%d %H:%M:%S"),
|
||||
'state': 'open',
|
||||
|
||||
})
|
||||
|
||||
vals.update({
|
||||
'date':time.strftime("%Y-%m-%d %H:%M:%S"),
|
||||
'state':'open',
|
||||
|
||||
})
|
||||
return self.write(cr, uid, ids, vals)
|
||||
self.write(cr, uid, [statement.id], vals)
|
||||
return True
|
||||
|
||||
def balance_check(self, cr, uid, cash_id, journal_type='bank', context=None):
|
||||
if journal_type == 'bank':
|
||||
|
@ -371,14 +369,14 @@ class account_cash_statement(osv.osv):
|
|||
|
||||
def button_confirm_cash(self, cr, uid, ids, context=None):
|
||||
super(account_cash_statement, self).button_confirm_bank(cr, uid, ids, context=context)
|
||||
return self.write(cr, uid, ids, {'closing_date':time.strftime("%Y-%m-%d %H:%M:%S")}, context=context)
|
||||
return self.write(cr, uid, ids, {'closing_date': time.strftime("%Y-%m-%d %H:%M:%S")}, context=context)
|
||||
|
||||
def button_cancel(self, cr, uid, ids, context=None):
|
||||
cash_box_line_pool = self.pool.get('account.cashbox.line')
|
||||
super(account_cash_statement, self).button_cancel(cr, uid, ids, context=context)
|
||||
for st in self.browse(cr, uid, ids, context):
|
||||
for end in st.ending_details_ids:
|
||||
cash_box_line_pool.write(cr, uid, [end.id], {'number':0})
|
||||
cash_box_line_pool.write(cr, uid, [end.id], {'number': 0})
|
||||
return True
|
||||
|
||||
account_cash_statement()
|
||||
|
|
|
@ -177,7 +177,7 @@ class account_move_line(osv.osv):
|
|||
for item in i[2]:
|
||||
data[item] = i[2][item]
|
||||
if context['journal']:
|
||||
journal_data = obj_journal.browse(cr, uid, context['journal'])
|
||||
journal_data = journal_obj.browse(cr, uid, context['journal'])
|
||||
if journal_data.type == 'purchase':
|
||||
if total_new > 0:
|
||||
account = journal_data.default_credit_account_id
|
||||
|
@ -293,6 +293,8 @@ class account_move_line(osv.osv):
|
|||
return data
|
||||
|
||||
def on_create_write(self, cr, uid, id, context={}):
|
||||
if not id:
|
||||
return []
|
||||
ml = self.browse(cr, uid, id, context)
|
||||
return map(lambda x: x.id, ml.move_id.line_id)
|
||||
|
||||
|
@ -363,7 +365,7 @@ class account_move_line(osv.osv):
|
|||
return [('id', '=', '0')]
|
||||
return [('id', 'in', [x[0] for x in res])]
|
||||
|
||||
def _invoice_search(self, cursor, user, obj, name, args, context):
|
||||
def _invoice_search(self, cursor, user, obj, name, args, context=None):
|
||||
if not args:
|
||||
return []
|
||||
invoice_obj = self.pool.get('account.invoice')
|
||||
|
@ -408,7 +410,7 @@ class account_move_line(osv.osv):
|
|||
return [('id', '=', '0')]
|
||||
return [('id', 'in', [x[0] for x in res])]
|
||||
|
||||
def _get_move_lines(self, cr, uid, ids, context={}):
|
||||
def _get_move_lines(self, cr, uid, ids, context=None):
|
||||
result = []
|
||||
for move in self.pool.get('account.move').browse(cr, uid, ids, context=context):
|
||||
for line in move.line_id:
|
||||
|
@ -458,7 +460,7 @@ class account_move_line(osv.osv):
|
|||
'company_id': fields.related('account_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True)
|
||||
}
|
||||
|
||||
def _get_date(self, cr, uid, context):
|
||||
def _get_date(self, cr, uid, context=None):
|
||||
period_obj = self.pool.get('account.period')
|
||||
dt = time.strftime('%Y-%m-%d')
|
||||
if ('journal_id' in context) and ('period_id' in context):
|
||||
|
@ -474,7 +476,9 @@ class account_move_line(osv.osv):
|
|||
dt = period.date_start
|
||||
return dt
|
||||
|
||||
def _get_currency(self, cr, uid, context={}):
|
||||
def _get_currency(self, cr, uid, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
if not context.get('journal_id', False):
|
||||
return False
|
||||
cur = self.pool.get('account.journal').browse(cr, uid, context['journal_id']).currency
|
||||
|
@ -1126,6 +1130,8 @@ class account_move_line(osv.osv):
|
|||
'period_id': context['period_id'],
|
||||
'journal_id': context['journal_id']
|
||||
}
|
||||
if vals.get('ref', ''):
|
||||
v.update({'ref': vals['ref']})
|
||||
move_id = move_obj.create(cr, uid, v, context)
|
||||
vals['move_id'] = move_id
|
||||
else:
|
||||
|
@ -1243,4 +1249,4 @@ class account_move_line(osv.osv):
|
|||
|
||||
account_move_line()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -1557,7 +1557,7 @@
|
|||
|
||||
|
||||
<menuitem
|
||||
name="Manual Reconcilication" icon="STOCK_EXECUTE"
|
||||
name="Manual Reconciliation" icon="STOCK_EXECUTE"
|
||||
action="action_account_manual_reconcile"
|
||||
id="menu_manual_reconcile"
|
||||
parent="account.periodical_processing_reconciliation"/>
|
||||
|
@ -2415,8 +2415,10 @@
|
|||
<group string="res_config_contents" position="replace">
|
||||
<field name="company_id" widget="selection"/>
|
||||
<field name ="code_digits" groups="base.group_extended"/>
|
||||
<field name="chart_template_id" widget="selection"/>
|
||||
<field name="chart_template_id" widget="selection" on_change="onchange_chart_template_id(chart_template_id)"/>
|
||||
<field name ="seq_journal" groups="base.group_extended"/>
|
||||
<field name="sale_tax" domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False)]"/>
|
||||
<field name="purchase_tax" domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False)]"/>
|
||||
<field colspan="4" mode="tree" name="bank_accounts_id" nolabel="1" widget="one2many_list">
|
||||
<form string="Bank Information">
|
||||
<field name="acc_name"/>
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-10-24 21:56+0000\n"
|
||||
"Last-Translator: Carlos @ smile.fr <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-10-25 07:09+0000\n"
|
||||
"Last-Translator: Carlos-smile <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-25 04:39+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
|
|
|
@ -14,7 +14,7 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-25 04:39+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-10-20 07:22+0000\n"
|
||||
"Last-Translator: Lorenzo Battistini <lorenzo.battistini@domsense.com>\n"
|
||||
"PO-Revision-Date: 2010-10-25 21:04+0000\n"
|
||||
"Last-Translator: Davide Corio - Domsense <davide.corio@domsense.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-10-21 05:02+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
|
@ -372,7 +372,7 @@ msgstr "Contabilità Analitica"
|
|||
#: field:account.tax,child_depend:0
|
||||
#: field:account.tax.template,child_depend:0
|
||||
msgid "Tax on Children"
|
||||
msgstr ""
|
||||
msgstr "Calcolo su tasse figlie"
|
||||
|
||||
#. module: account
|
||||
#: rml:account.central.journal:0
|
||||
|
@ -416,7 +416,7 @@ msgstr "Riconciliazione dei pagamenti"
|
|||
#. module: account
|
||||
#: model:account.journal,name:account.expenses_journal
|
||||
msgid "Journal de frais"
|
||||
msgstr ""
|
||||
msgstr "Giornale Acquisti"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.act_acc_analytic_acc_5_report_hr_timesheet_invoice_journal
|
||||
|
@ -494,7 +494,7 @@ msgstr "Rif"
|
|||
#. module: account
|
||||
#: field:account.tax.template,type_tax_use:0
|
||||
msgid "Tax Use In"
|
||||
msgstr ""
|
||||
msgstr "Tassa usata per"
|
||||
|
||||
#. module: account
|
||||
#: help:account.tax.template,include_base_amount:0
|
||||
|
@ -572,7 +572,7 @@ msgstr "Linea"
|
|||
#. module: account
|
||||
#: rml:account.analytic.account.cost_ledger:0
|
||||
msgid "J.C. or Move name"
|
||||
msgstr ""
|
||||
msgstr "J.C. o nome movimento"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.tax,applicable_type:0
|
||||
|
@ -634,7 +634,7 @@ msgstr "(Tenere vuoto per aprire la situazione corrente)"
|
|||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_fiscal_position_account
|
||||
msgid "Accounts Fiscal Mapping"
|
||||
msgstr ""
|
||||
msgstr "Mappatura Posizioni Fiscali"
|
||||
|
||||
#. module: account
|
||||
#: field:account.analytic.account,contact_id:0
|
||||
|
@ -666,7 +666,7 @@ msgstr "Sconto (%)"
|
|||
#: wizard_field:account.move.line.reconcile,init_full,writeoff:0
|
||||
#: wizard_field:account.move.line.reconcile,init_partial,writeoff:0
|
||||
msgid "Write-Off amount"
|
||||
msgstr ""
|
||||
msgstr "Conto per storno"
|
||||
|
||||
#. module: account
|
||||
#: help:account.fiscalyear,company_id: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-10-21 09:08+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-10-26 04:01+0000\n"
|
||||
"Last-Translator: sugi <Unknown>\n"
|
||||
"Language-Team: Mongolian <mn@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-10-22 04:40+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
|
@ -5204,7 +5204,7 @@ msgstr "Дансны татварын кодны загвар"
|
|||
#. module: account
|
||||
#: view:account.subscription:0
|
||||
msgid "Subscription Periods"
|
||||
msgstr ""
|
||||
msgstr "Баталгааны мөчлөгүүд"
|
||||
|
||||
#. module: account
|
||||
#: model:process.node,name:account.process_node_manually0
|
||||
|
@ -5484,7 +5484,7 @@ msgstr "Баримтын бичилт"
|
|||
#: model:ir.actions.act_window,name:account.action_invoice_tree6
|
||||
#: model:ir.ui.menu,name:account.menu_action_invoice_tree6
|
||||
msgid "PRO-FORMA Customer Invoices"
|
||||
msgstr ""
|
||||
msgstr "Үйлчлүүлэгчийн нэхэмжлэл PRO-FORMA"
|
||||
|
||||
#. module: account
|
||||
#: field:account.subscription,period_total:0
|
||||
|
@ -5609,7 +5609,7 @@ msgstr "Ажил гүйлгээ"
|
|||
#. module: account
|
||||
#: selection:account.invoice,state:0
|
||||
msgid "Pro-forma"
|
||||
msgstr ""
|
||||
msgstr "Pro-forma"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_account_form
|
||||
|
@ -5647,7 +5647,7 @@ msgstr "Баримтын дугаараар"
|
|||
#. module: account
|
||||
#: rml:account.overdue:0
|
||||
msgid "Total amount due:"
|
||||
msgstr ""
|
||||
msgstr "Нийт товлосон хэмжээ"
|
||||
|
||||
#. module: account
|
||||
#: wizard_field:account.analytic.account.chart,init,to_date:0
|
||||
|
@ -5701,7 +5701,7 @@ msgstr "Загварууд"
|
|||
#. module: account
|
||||
#: wizard_button:account.vat.declaration,init,report:0
|
||||
msgid "Print VAT Decl."
|
||||
msgstr ""
|
||||
msgstr "НӨАТ хэвлэх"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.report.xml,name:account.account_intracom
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-10-24 09:01+0000\n"
|
||||
"PO-Revision-Date: 2010-10-25 07:13+0000\n"
|
||||
"Last-Translator: Chertykov Denis <chertykov@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-10-25 04:39+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
|
|
|
@ -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-10-18 12:12+0000\n"
|
||||
"Last-Translator: qdp (OpenERP) <qdp-launchpad@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-10-25 21:56+0000\n"
|
||||
"Last-Translator: zmmaj <Unknown>\n"
|
||||
"Language-Team: Serbian <sr@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-10-20 04:55+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
|
@ -80,7 +80,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: help:account.invoice,period_id:0
|
||||
msgid "Keep empty to use the period of the validation(invoice) date."
|
||||
msgstr ""
|
||||
msgstr "Ostavi prazno da bi koristio validacioni period ( racuna) datuma."
|
||||
|
||||
#. module: account
|
||||
#: wizard_view:account.automatic.reconcile,reconcile:0
|
||||
|
@ -501,6 +501,8 @@ msgid ""
|
|||
"Set if the amount of tax must be included in the base amount before "
|
||||
"computing the next taxes."
|
||||
msgstr ""
|
||||
"Postavi ovo ukoliko iznos ovog poreza mora biti ukljucen u osnovicu pre "
|
||||
"izračuna sledećeg poreza."
|
||||
|
||||
#. module: account
|
||||
#: model:ir.ui.menu,name:account.menu_finance_periodical_processing
|
||||
|
@ -569,7 +571,7 @@ msgstr "Red"
|
|||
#. module: account
|
||||
#: rml:account.analytic.account.cost_ledger:0
|
||||
msgid "J.C. or Move name"
|
||||
msgstr ""
|
||||
msgstr "J.C. ili pomeri ime"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.tax,applicable_type:0
|
||||
|
@ -589,7 +591,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_tax
|
||||
msgid "account.tax"
|
||||
msgstr ""
|
||||
msgstr "account.tax"
|
||||
|
||||
#. module: account
|
||||
#: rml:account.central.journal:0
|
||||
|
@ -599,13 +601,13 @@ msgstr "Datum štampe"
|
|||
#. module: account
|
||||
#: rml:account.general.ledger:0
|
||||
msgid "Mvt"
|
||||
msgstr ""
|
||||
msgstr "Mvt"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.wizard,name:account.wizard_aged_trial_balance
|
||||
#: model:ir.ui.menu,name:account.menu_aged_trial_balance
|
||||
msgid "Aged Partner Balance"
|
||||
msgstr ""
|
||||
msgstr "Godisnja potraživanja/obaveze partnera"
|
||||
|
||||
#. module: account
|
||||
#: view:account.journal:0
|
||||
|
@ -618,6 +620,7 @@ msgid ""
|
|||
"The sequence field is used to order the resources from lower sequences to "
|
||||
"higher ones"
|
||||
msgstr ""
|
||||
"Ovo polje se koristi da se odredi redosled resursa od najnizeg ka najvecem"
|
||||
|
||||
#. module: account
|
||||
#: wizard_view:account.analytic.account.chart,init:0
|
||||
|
@ -726,12 +729,12 @@ msgstr "Ukupan iznos dugovanja kupca"
|
|||
#. module: account
|
||||
#: view:account.move.line:0
|
||||
msgid "St."
|
||||
msgstr ""
|
||||
msgstr "St."
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_tax_code_line_open
|
||||
msgid "account.move.line"
|
||||
msgstr ""
|
||||
msgstr "account.move.line"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,name:account.process_transition_supplieranalyticcost0
|
||||
|
@ -773,7 +776,7 @@ msgstr "Delimično plaćanje"
|
|||
#. module: account
|
||||
#: wizard_view:account_use_models,create:0
|
||||
msgid "Move Lines Created."
|
||||
msgstr ""
|
||||
msgstr "Kreirani redovi prenosa"
|
||||
|
||||
#. module: account
|
||||
#: field:account.fiscalyear,state:0
|
||||
|
@ -920,6 +923,8 @@ msgid ""
|
|||
"If a default tax is given in the partner it only overrides taxes from "
|
||||
"accounts (or products) in the same group."
|
||||
msgstr ""
|
||||
"Ako je dat podrazumevani porez partnera, on samo upisuje poreze iz naloga ( "
|
||||
"ili proizvoda) iste grupe."
|
||||
|
||||
#. module: account
|
||||
#: wizard_field:account.open_closed_fiscalyear,init,fyear_id:0
|
||||
|
@ -1024,7 +1029,7 @@ msgstr "Neto Ukupno"
|
|||
#: model:ir.model,name:account.model_account_fiscal_position
|
||||
#: field:res.partner,property_account_position:0
|
||||
msgid "Fiscal Mapping"
|
||||
msgstr ""
|
||||
msgstr "Poreska mapiranja"
|
||||
|
||||
#. module: account
|
||||
#: field:account.analytic.line,product_uom_id:0
|
||||
|
@ -1167,7 +1172,7 @@ msgstr "Iznos je predstavljen opciono u drugoj valuti"
|
|||
#: view:account.fiscal.position.template:0
|
||||
#: field:account.fiscal.position.template,name:0
|
||||
msgid "Fiscal Mapping Template"
|
||||
msgstr ""
|
||||
msgstr "Predlozak poreskog mapiranja"
|
||||
|
||||
#. module: account
|
||||
#: field:account.payment.term,line_ids:0
|
||||
|
@ -1238,7 +1243,7 @@ msgstr "Valuta preduzeca"
|
|||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_fiscal_position_account_template
|
||||
msgid "Template Account Fiscal Mapping"
|
||||
msgstr ""
|
||||
msgstr "Predlozak poreskog mapiranja konta"
|
||||
|
||||
#. module: account
|
||||
#: field:account.analytic.account,parent_id:0
|
||||
|
@ -2023,7 +2028,7 @@ msgstr "Iznos poreza"
|
|||
#. module: account
|
||||
#: rml:account.analytic.account.quantity_cost_ledger:0
|
||||
msgid "J.C./Move name"
|
||||
msgstr ""
|
||||
msgstr "J.C./Pomeri ime"
|
||||
|
||||
#. module: account
|
||||
#: field:account.journal.period,name:0
|
||||
|
@ -2034,7 +2039,7 @@ msgstr "Naziv dnevnika-razdoblja"
|
|||
#: field:account.tax.code,name:0
|
||||
#: field:account.tax.code.template,name:0
|
||||
msgid "Tax Case Name"
|
||||
msgstr ""
|
||||
msgstr "Naziv pozicije PDV obrasca"
|
||||
|
||||
#. module: account
|
||||
#: help:account.journal,entry_posted:0
|
||||
|
@ -2043,6 +2048,9 @@ msgid ""
|
|||
"'draft' state and instead goes directly to the 'posted state' without any "
|
||||
"manual validation."
|
||||
msgstr ""
|
||||
"Cekirajte ovde ukoliko ne zelite da novi nalog ne prolazi \" pripremni "
|
||||
"stadijum\" vec zelite da ode u \" zakljuceno stanje\" bez ikakve rucne "
|
||||
"validacije"
|
||||
|
||||
#. module: account
|
||||
#: field:account.bank.statement.line,partner_id:0
|
||||
|
@ -2104,7 +2112,7 @@ msgstr "Period početnog stanja"
|
|||
#: model:ir.actions.wizard,name:account.wizard_validate_account_moves_line
|
||||
#: model:ir.ui.menu,name:account.menu_validate_account_moves
|
||||
msgid "Validate Account Moves"
|
||||
msgstr ""
|
||||
msgstr "Potvrdi osnovice"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.subscription,period_type:0
|
||||
|
@ -2375,7 +2383,7 @@ msgstr "Predložak kontnog plana"
|
|||
#. module: account
|
||||
#: model:account.journal,name:account.refund_sales_journal
|
||||
msgid "Journal d'extourne"
|
||||
msgstr ""
|
||||
msgstr "Dnevnik povrata"
|
||||
|
||||
#. module: account
|
||||
#: rml:account.journal.period.print:0
|
||||
|
@ -2469,7 +2477,7 @@ msgstr "Otvori dnevnik"
|
|||
#. module: account
|
||||
#: rml:account.analytic.account.journal:0
|
||||
msgid "KI"
|
||||
msgstr ""
|
||||
msgstr "KI"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.wizard,name:account.action_account_analytic_line
|
||||
|
@ -3151,7 +3159,7 @@ msgstr "Osnova"
|
|||
#. module: account
|
||||
#: field:account.model,name:0
|
||||
msgid "Model Name"
|
||||
msgstr ""
|
||||
msgstr "Naziv modela"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.account,type:0
|
||||
|
@ -3404,6 +3412,8 @@ msgid ""
|
|||
"This account will be used instead of the default one as the receivable "
|
||||
"account for the current partner"
|
||||
msgstr ""
|
||||
"Ovaj ce se nalog koristiti umesto podrazumevanog kao prijemni nalog datog "
|
||||
"partnera"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.tax,applicable_type:0
|
||||
|
@ -3490,6 +3500,7 @@ msgid ""
|
|||
"The amount expressed in an optional other currency if it is a multi-currency "
|
||||
"entry."
|
||||
msgstr ""
|
||||
"Iznos troskova u drugoj opcionoj valuti ako je ovo multi-valutni sadrzaj"
|
||||
|
||||
#. module: account
|
||||
#: field:account.tax,parent_id:0
|
||||
|
@ -3907,6 +3918,8 @@ msgid ""
|
|||
"This account will be used instead of the default one to value outgoing stock "
|
||||
"for the current product"
|
||||
msgstr ""
|
||||
"Ovaj nalog ce se koristiti umesto podrazumevanog da potvrdi izlazni magacin "
|
||||
"za dati prozivod"
|
||||
|
||||
#. module: account
|
||||
#: model:process.node,note:account.process_node_manually0
|
||||
|
@ -4444,6 +4457,9 @@ msgid ""
|
|||
"to the higher ones. The order is important if you have a tax with several "
|
||||
"tax children. In this case, the evaluation order is important."
|
||||
msgstr ""
|
||||
"Ovo polje se korosti da odredi redosled poreza od najmanjeg do najveceg. "
|
||||
"Ovaj redosled je vazan ako imate porez sa nekoliko podporeza,\r\n"
|
||||
"U tom slucaju, evolucioni poredak je jako vazan."
|
||||
|
||||
#. module: account
|
||||
#: view:account.tax:0
|
||||
|
@ -4510,7 +4526,7 @@ msgstr "Opcione kolicine u stavkama"
|
|||
#: rml:account.third_party_ledger:0
|
||||
#: rml:account.third_party_ledger_other:0
|
||||
msgid "JNRL"
|
||||
msgstr ""
|
||||
msgstr "JNRL"
|
||||
|
||||
#. module: account
|
||||
#: view:account.fiscalyear:0
|
||||
|
@ -5265,7 +5281,7 @@ msgstr "Predznak na izveštajima"
|
|||
#. module: account
|
||||
#: help:account.move.line,currency_id:0
|
||||
msgid "The optional other currency if it is a multi-currency entry."
|
||||
msgstr ""
|
||||
msgstr "Opciona druga valuta ako je ovo multi-valutni sadrzaj"
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice:0
|
||||
|
@ -5747,6 +5763,8 @@ msgid ""
|
|||
"This account will be used instead of the default one as the payable account "
|
||||
"for the current partner"
|
||||
msgstr ""
|
||||
"Ovaj nalog ce se koristiti umesto podrazumevanog kao platni nalog za datog "
|
||||
"partnera"
|
||||
|
||||
#. module: account
|
||||
#: field:account.tax.code,code:0
|
||||
|
@ -6066,7 +6084,7 @@ msgstr "Dospela potraživanja"
|
|||
#. module: account
|
||||
#: model:ir.module.module,shortdesc:account.module_meta_information
|
||||
msgid "Board for accountant"
|
||||
msgstr ""
|
||||
msgstr "Tabla Naloga"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_aged_income
|
||||
|
|
|
@ -35,19 +35,19 @@ class account_installer(osv.osv_memory):
|
|||
_inherit = 'res.config.installer'
|
||||
|
||||
def _get_default_accounts(self, cr, uid, context=None):
|
||||
accounts = [{'acc_name':'Current','account_type':'bank'},
|
||||
{'acc_name':'Deposit','account_type':'bank'},
|
||||
{'acc_name':'Cash','account_type':'cash'}]
|
||||
accounts = [{'acc_name': 'Current', 'account_type': 'bank'},
|
||||
{'acc_name': 'Deposit', 'account_type': 'bank'},
|
||||
{'acc_name': 'Cash', 'account_type': 'cash'}]
|
||||
return accounts
|
||||
|
||||
def _get_charts(self, cr, uid, context=None):
|
||||
modules = self.pool.get('ir.module.module')
|
||||
ids = modules.search(cr, uid, [('category_id','=','Account Charts')])
|
||||
ids = modules.search(cr, uid, [('category_id', '=', 'Account Charts')], context=context)
|
||||
charts = list(
|
||||
sorted(((m.name, m.shortdesc)
|
||||
for m in modules.browse(cr, uid, ids)),
|
||||
key=itemgetter(1)))
|
||||
charts.insert(0,('configurable','Generic Chart Of Account'))
|
||||
charts.insert(0, ('configurable', 'Generic Chart Of Account'))
|
||||
return charts
|
||||
|
||||
_columns = {
|
||||
|
@ -59,7 +59,7 @@ class account_installer(osv.osv_memory):
|
|||
"country."),
|
||||
'date_start': fields.date('Start Date', required=True),
|
||||
'date_stop': fields.date('End Date', required=True),
|
||||
'period': fields.selection([('month','Monthly'), ('3months','3 Monthly')], 'Periods', required=True),
|
||||
'period': fields.selection([('month', 'Monthly'), ('3months','3 Monthly')], 'Periods', required=True),
|
||||
'bank_accounts_id': fields.one2many('account.bank.accounts.wizard', 'bank_account_id', 'Your Bank and Cash Accounts'),
|
||||
'sale_tax': fields.float('Sale Tax(%)'),
|
||||
'purchase_tax': fields.float('Purchase Tax(%)'),
|
||||
|
@ -68,28 +68,26 @@ class account_installer(osv.osv_memory):
|
|||
|
||||
def _default_company(self, cr, uid, context=None):
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
|
||||
if user.company_id:
|
||||
return user.company_id.id
|
||||
return False
|
||||
return user.company_id and user.company_id.id or False
|
||||
|
||||
def _get_default_charts(self, cr, uid, context=None):
|
||||
module_name = False
|
||||
company_id = self._default_company(cr, uid, context=context)
|
||||
company = self.pool.get('res.company').browse(cr, uid, company_id)
|
||||
company = self.pool.get('res.company').browse(cr, uid, company_id, context=context)
|
||||
address_id = self.pool.get('res.partner').address_get(cr, uid, [company.partner_id.id])
|
||||
if address_id['default']:
|
||||
address = self.pool.get('res.partner.address').browse(cr, uid, address_id['default'])
|
||||
address = self.pool.get('res.partner.address').browse(cr, uid, address_id['default'], context=context)
|
||||
code = address.country_id.code
|
||||
module_name = (code and 'l10n_' + code.lower()) or False
|
||||
if module_name:
|
||||
module_id = self.pool.get('ir.module.module').search(cr, uid, [('name', '=', module_name)])
|
||||
module_id = self.pool.get('ir.module.module').search(cr, uid, [('name', '=', module_name)], context=context)
|
||||
if module_id:
|
||||
return module_name
|
||||
return 'configurable'
|
||||
|
||||
_defaults = {
|
||||
'date_start': lambda *a: time.strftime('%Y-01-01'),
|
||||
'date_stop': lambda *a: time.strftime('%Y-12-31'),
|
||||
'date_start': time.strftime('%Y-01-01'),
|
||||
'date_stop': time.strftime('%Y-12-31'),
|
||||
'period': 'month',
|
||||
'sale_tax': 0.0,
|
||||
'purchase_tax': 0.0,
|
||||
|
@ -105,29 +103,37 @@ class account_installer(osv.osv_memory):
|
|||
if start_date:
|
||||
start_date = datetime.datetime.strptime(start_date, "%Y-%m-%d")
|
||||
end_date = (start_date + relativedelta(months=12)) - relativedelta(days=1)
|
||||
return {'value':{'date_stop':end_date.strftime('%Y-%m-%d')}}
|
||||
return {'value': {'date_stop': end_date.strftime('%Y-%m-%d')}}
|
||||
return {}
|
||||
|
||||
def generate_configurable_chart(self, cr, uid, ids, context=None):
|
||||
obj_acc = self.pool.get('account.account')
|
||||
obj_acc_tax = self.pool.get('account.tax')
|
||||
obj_journal = self.pool.get('account.journal')
|
||||
obj_sequence = self.pool.get('ir.sequence')
|
||||
obj_acc_tax_code = self.pool.get('account.tax.code')
|
||||
obj_acc_template = self.pool.get('account.account.template')
|
||||
obj_acc_tax_template = self.pool.get('account.tax.code.template')
|
||||
obj_fiscal_position_template = self.pool.get('account.fiscal.position.template')
|
||||
obj_fiscal_position = self.pool.get('account.fiscal.position')
|
||||
mod_obj = self.pool.get('ir.model.data')
|
||||
analytic_journal_obj = self.pool.get('account.analytic.journal')
|
||||
obj_acc_chart_template = self.pool.get('account.chart.template')
|
||||
obj_acc_journal_view = self.pool.get('account.journal.view')
|
||||
mod_obj = self.pool.get('ir.model.data')
|
||||
obj_sequence = self.pool.get('ir.sequence')
|
||||
property_obj = self.pool.get('ir.property')
|
||||
fields_obj = self.pool.get('ir.model.fields')
|
||||
obj_tax_fp = self.pool.get('account.fiscal.position.tax')
|
||||
obj_ac_fp = self.pool.get('account.fiscal.position.account')
|
||||
|
||||
result = mod_obj._get_id(cr, uid, 'account', 'configurable_chart_template')
|
||||
id = mod_obj.read(cr, uid, [result], ['res_id'])[0]['res_id']
|
||||
obj_multi = self.pool.get('account.chart.template').browse(cr, uid, id)
|
||||
id = mod_obj.read(cr, uid, [result], ['res_id'], context=context)[0]['res_id']
|
||||
obj_multi = obj_acc_chart_template.browse(cr, uid, id, context=context)
|
||||
|
||||
record = self.browse(cr, uid, ids, context=context)[0]
|
||||
|
||||
if context is None:
|
||||
context = {}
|
||||
company_id = self.browse(cr, uid, ids, context)[0].company_id
|
||||
company_id = self.browse(cr, uid, ids, context=context)[0].company_id
|
||||
seq_journal = True
|
||||
|
||||
# Creating Account
|
||||
|
@ -141,10 +147,10 @@ class account_installer(osv.osv_memory):
|
|||
todo_dict = {}
|
||||
|
||||
#create all the tax code
|
||||
children_tax_code_template = self.pool.get('account.tax.code.template').search(cr, uid, [('parent_id','child_of',[tax_code_root_id])], order='id')
|
||||
children_tax_code_template = obj_acc_tax_template.search(cr, uid, [('parent_id', 'child_of', [tax_code_root_id])], order='id')
|
||||
children_tax_code_template.sort()
|
||||
for tax_code_template in self.pool.get('account.tax.code.template').browse(cr, uid, children_tax_code_template):
|
||||
vals={
|
||||
for tax_code_template in obj_acc_tax_template.browse(cr, uid, children_tax_code_template, context=context):
|
||||
vals = {
|
||||
'name': (tax_code_root_id == tax_code_template.id) and company_id.name or tax_code_template.name,
|
||||
'code': tax_code_template.code,
|
||||
'info': tax_code_template.info,
|
||||
|
@ -152,7 +158,7 @@ class account_installer(osv.osv_memory):
|
|||
'company_id': company_id.id,
|
||||
'sign': tax_code_template.sign,
|
||||
}
|
||||
new_tax_code = self.pool.get('account.tax.code').create(cr, uid, vals)
|
||||
new_tax_code = obj_acc_tax_code.create(cr, uid, vals, context=context)
|
||||
#recording the new tax code to do the mapping
|
||||
tax_code_template_ref[tax_code_template.id] = new_tax_code
|
||||
|
||||
|
@ -160,7 +166,7 @@ class account_installer(osv.osv_memory):
|
|||
for tax in obj_multi.tax_template_ids:
|
||||
#create it
|
||||
vals_tax = {
|
||||
'name':tax.name,
|
||||
'name': tax.name,
|
||||
'sequence': tax.sequence,
|
||||
'amount': tax.amount,
|
||||
'type': tax.type,
|
||||
|
@ -180,11 +186,11 @@ class account_installer(osv.osv_memory):
|
|||
'ref_base_sign': tax.ref_base_sign,
|
||||
'ref_tax_sign': tax.ref_tax_sign,
|
||||
'include_base_amount': tax.include_base_amount,
|
||||
'description':tax.description,
|
||||
'description': tax.description,
|
||||
'company_id': company_id.id,
|
||||
'type_tax_use': tax.type_tax_use
|
||||
}
|
||||
new_tax = obj_acc_tax.create(cr, uid, vals_tax)
|
||||
new_tax = obj_acc_tax.create(cr, uid, vals_tax, context=context)
|
||||
#as the accounts have not been created yet, we have to wait before filling these fields
|
||||
todo_dict[new_tax] = {
|
||||
'account_collected_id': tax.account_collected_id and tax.account_collected_id.id or False,
|
||||
|
@ -195,9 +201,9 @@ class account_installer(osv.osv_memory):
|
|||
#deactivate the parent_store functionnality on account_account for rapidity purpose
|
||||
self.pool._init = True
|
||||
|
||||
children_acc_template = obj_acc_template.search(cr, uid, [('parent_id','child_of',[obj_acc_root.id]),('nocreate','!=',True)])
|
||||
children_acc_template = obj_acc_template.search(cr, uid, [('parent_id', 'child_of', [obj_acc_root.id]), ('nocreate', '!=', True)], context=context)
|
||||
children_acc_template.sort()
|
||||
for account_template in obj_acc_template.browse(cr, uid, children_acc_template):
|
||||
for account_template in obj_acc_template.browse(cr, uid, children_acc_template, context=context):
|
||||
tax_ids = []
|
||||
for tax in account_template.tax_ids:
|
||||
tax_ids.append(tax_template_ref[tax.id])
|
||||
|
@ -206,9 +212,9 @@ class account_installer(osv.osv_memory):
|
|||
dig = 6
|
||||
code_main = account_template.code and len(account_template.code) or 0
|
||||
code_acc = account_template.code or ''
|
||||
if code_main>0 and code_main<=dig and account_template.type != 'view':
|
||||
code_acc=str(code_acc) + (str('0'*(dig-code_main)))
|
||||
vals={
|
||||
if code_main > 0 and code_main <= dig and account_template.type != 'view':
|
||||
code_acc = str(code_acc) + (str('0'*(dig-code_main)))
|
||||
vals = {
|
||||
'name': (obj_acc_root.id == account_template.id) and company_id.name or account_template.name,
|
||||
#'sign': account_template.sign,
|
||||
'currency_id': account_template.currency_id and account_template.currency_id.id or False,
|
||||
|
@ -222,10 +228,10 @@ class account_installer(osv.osv_memory):
|
|||
'tax_ids': [(6, 0, tax_ids)],
|
||||
'company_id': company_id.id,
|
||||
}
|
||||
new_account = obj_acc.create(cr, uid, vals)
|
||||
new_account = obj_acc.create(cr, uid, vals, context=context)
|
||||
acc_template_ref[account_template.id] = new_account
|
||||
if account_template.name == 'Bank Current Account':
|
||||
b_vals={
|
||||
b_vals = {
|
||||
'name': 'Bank Accounts',
|
||||
'code': '110500',
|
||||
'type': 'view',
|
||||
|
@ -236,47 +242,52 @@ class account_installer(osv.osv_memory):
|
|||
'tax_ids': [(6,0,tax_ids)],
|
||||
'company_id': company_id.id,
|
||||
}
|
||||
bank_account = obj_acc.create(cr, uid, b_vals)
|
||||
bank_account = obj_acc.create(cr, uid, b_vals, context=context)
|
||||
|
||||
view_id_cash = self.pool.get('account.journal.view').search(cr, uid, [('name', '=', 'Bank/Cash Journal View')])[0] #why fixed name here?
|
||||
view_id_cur = self.pool.get('account.journal.view').search(cr, uid, [('name', '=', 'Bank/Cash Journal (Multi-Currency) View')])[0] #Why Fixed name here?
|
||||
view_id_cash = obj_acc_journal_view.search(cr, uid, [('name', '=', 'Bank/Cash Journal View')], context=context)[0] #why fixed name here?
|
||||
view_id_cur = obj_acc_journal_view.search(cr, uid, [('name', '=', 'Bank/Cash Journal (Multi-Currency) View')], context=context)[0] #Why Fixed name here?
|
||||
|
||||
cash_result = mod_obj._get_id(cr, uid, 'account', 'conf_account_type_cash')
|
||||
cash_type_id = mod_obj.read(cr, uid, [cash_result], ['res_id'])[0]['res_id']
|
||||
cash_type_id = mod_obj.read(cr, uid, [cash_result], ['res_id'], context=context)[0]['res_id']
|
||||
|
||||
bank_result = mod_obj._get_id(cr, uid, 'account', 'conf_account_type_bnk')
|
||||
bank_type_id = mod_obj.read(cr, uid, [bank_result], ['res_id'])[0]['res_id']
|
||||
bank_type_id = mod_obj.read(cr, uid, [bank_result], ['res_id'], context=context)[0]['res_id']
|
||||
|
||||
check_result = mod_obj._get_id(cr, uid, 'account', 'conf_account_type_chk')
|
||||
check_type_id = mod_obj.read(cr, uid, [check_result], ['res_id'])[0]['res_id']
|
||||
check_type_id = mod_obj.read(cr, uid, [check_result], ['res_id'], context=context)[0]['res_id']
|
||||
|
||||
# record = self.browse(cr, uid, ids, context=context)[0]
|
||||
code_cnt = 1
|
||||
vals_seq = {
|
||||
'name': _('Bank Journal '),
|
||||
'code': 'account.journal',
|
||||
'prefix': 'BNK/%(year)s/',
|
||||
'padding': 5
|
||||
}
|
||||
seq_id = obj_sequence.create(cr, uid, vals_seq)
|
||||
'name': _('Bank Journal '),
|
||||
'code': 'account.journal',
|
||||
'prefix': 'BNK/%(year)s/',
|
||||
'padding': 5
|
||||
}
|
||||
seq_id = obj_sequence.create(cr, uid, vals_seq, context=context)
|
||||
|
||||
#create the bank journals
|
||||
analitical_bank_ids = analytic_journal_obj.search(cr, uid, [('type','=','situation')])
|
||||
analitical_bank_ids = analytic_journal_obj.search(cr, uid, [('type', '=', 'situation')], context=context)
|
||||
analitical_journal_bank = analitical_bank_ids and analitical_bank_ids[0] or False
|
||||
vals_journal = {}
|
||||
vals_journal['name'] = _('Bank Journal ')
|
||||
vals_journal['code'] = _('BNK')
|
||||
vals_journal['sequence_id'] = seq_id
|
||||
vals_journal['type'] = 'bank'
|
||||
vals_journal['analytic_journal_id'] = analitical_journal_bank
|
||||
vals_journal = {
|
||||
'name': _('Bank Journal '),
|
||||
'code': _('BNK'),
|
||||
'sequence_id': seq_id,
|
||||
'type': 'bank',
|
||||
'analytic_journal_id': analitical_journal_bank
|
||||
}
|
||||
if vals.get('currency_id', False):
|
||||
vals_journal['view_id'] = view_id_cur
|
||||
vals_journal['currency'] = vals.get('currency_id', False)
|
||||
vals_journal.update({
|
||||
'view_id': view_id_cur,
|
||||
'currency': vals.get('currency_id', False)
|
||||
})
|
||||
else:
|
||||
vals_journal['view_id'] = view_id_cash
|
||||
vals_journal['default_credit_account_id'] = new_account
|
||||
vals_journal['default_debit_account_id'] = new_account
|
||||
obj_journal.create(cr, uid, vals_journal)
|
||||
vals_journal.update({'view_id': view_id_cash})
|
||||
vals_journal.update({
|
||||
'default_credit_account_id': new_account,
|
||||
'default_debit_account_id': new_account,
|
||||
})
|
||||
obj_journal.create(cr, uid, vals_journal, context=context)
|
||||
|
||||
for val in record.bank_accounts_id:
|
||||
seq_padding = 5
|
||||
|
@ -290,44 +301,52 @@ class account_installer(osv.osv_memory):
|
|||
type = check_type_id
|
||||
seq_padding = None
|
||||
|
||||
vals_bnk = {'name': val.acc_name or '',
|
||||
vals_bnk = {
|
||||
'name': val.acc_name or '',
|
||||
'currency_id': val.currency_id.id or False,
|
||||
'code': str(110500 + code_cnt),
|
||||
'type': 'liquidity',
|
||||
'user_type': type,
|
||||
'parent_id':bank_account,
|
||||
'company_id': company_id.id }
|
||||
child_bnk_acc = obj_acc.create(cr, uid, vals_bnk)
|
||||
'parent_id': bank_account,
|
||||
'company_id': company_id.id
|
||||
}
|
||||
child_bnk_acc = obj_acc.create(cr, uid, vals_bnk, context=context)
|
||||
vals_seq_child = {
|
||||
'name': _(vals_bnk['name'] + ' ' + 'Journal'),
|
||||
'code': 'account.journal',
|
||||
'prefix': _((vals_bnk['name'][:3].upper()) + '/%(year)s/'),
|
||||
'padding': seq_padding
|
||||
}
|
||||
seq_id = obj_sequence.create(cr, uid, vals_seq_child)
|
||||
}
|
||||
seq_id = obj_sequence.create(cr, uid, vals_seq_child, context=context)
|
||||
|
||||
#create the bank journal
|
||||
vals_journal = {}
|
||||
vals_journal['name'] = vals_bnk['name'] + ' Journal'
|
||||
vals_journal['code'] = _(vals_bnk['name'][:3]).upper()
|
||||
vals_journal['sequence_id'] = seq_id
|
||||
vals_journal['type'] = 'cash'
|
||||
vals_journal = {
|
||||
'name': vals_bnk['name'] + _(' Journal'),
|
||||
'code': _(vals_bnk['name'][:3]).upper(),
|
||||
'sequence_id': seq_id,
|
||||
'type': 'cash',
|
||||
}
|
||||
if vals.get('currency_id', False):
|
||||
vals_journal['view_id'] = view_id_cur
|
||||
vals_journal['currency'] = vals_bnk.get('currency_id', False)
|
||||
vals_journal.update({
|
||||
'view_id': view_id_cur,
|
||||
'currency': vals_bnk.get('currency_id', False),
|
||||
})
|
||||
else:
|
||||
vals_journal['view_id'] = view_id_cash
|
||||
vals_journal['default_credit_account_id'] = child_bnk_acc
|
||||
vals_journal['default_debit_account_id'] = child_bnk_acc
|
||||
vals_journal['analytic_journal_id'] = analitical_journal_bank
|
||||
obj_journal.create(cr,uid,vals_journal)
|
||||
vals_journal.update({'view_id': view_id_cash})
|
||||
vals_journal.update({
|
||||
'default_credit_account_id': child_bnk_acc,
|
||||
'default_debit_account_id': child_bnk_acc,
|
||||
'analytic_journal_id': analitical_journal_bank
|
||||
})
|
||||
obj_journal.create(cr, uid, vals_journal, context=context)
|
||||
code_cnt += 1
|
||||
|
||||
#reactivate the parent_store functionality on account_account
|
||||
self.pool._init = False
|
||||
self.pool.get('account.account')._parent_store_compute(cr)
|
||||
obj_acc._parent_store_compute(cr)
|
||||
|
||||
for key,value in todo_dict.items():
|
||||
for key, value in todo_dict.items():
|
||||
if value['account_collected_id'] or value['account_paid_id']:
|
||||
obj_acc_tax.write(cr, uid, [key], {
|
||||
'account_collected_id': acc_template_ref[value['account_collected_id']],
|
||||
|
@ -335,42 +354,41 @@ class account_installer(osv.osv_memory):
|
|||
})
|
||||
|
||||
# Creating Journals Sales and Purchase
|
||||
vals_journal={}
|
||||
data_id = mod_obj.search(cr, uid, [('model','=','account.journal.view'), ('name','=','account_sp_journal_view')])
|
||||
data = mod_obj.browse(cr, uid, data_id[0])
|
||||
vals_journal = {}
|
||||
data_id = mod_obj.search(cr, uid, [('model', '=', 'account.journal.view'), ('name', '=', 'account_sp_journal_view')], context=context)
|
||||
data = mod_obj.browse(cr, uid, data_id[0], context=context)
|
||||
view_id = data.res_id
|
||||
|
||||
seq_id = obj_sequence.search(cr,uid,[('name','=','Account Journal')])[0]
|
||||
seq_id = obj_sequence.search(cr,uid,[('name', '=', 'Account Journal')], context=context)[0]
|
||||
|
||||
if seq_journal:
|
||||
seq_sale = {
|
||||
'name': 'Sale Journal',
|
||||
'code': 'account.journal',
|
||||
'prefix': 'SAJ/%(year)s/',
|
||||
'padding': 3
|
||||
}
|
||||
seq_id_sale = obj_sequence.create(cr, uid, seq_sale)
|
||||
'name': 'Sale Journal',
|
||||
'code': 'account.journal',
|
||||
'prefix': 'SAJ/%(year)s/',
|
||||
'padding': 3
|
||||
}
|
||||
seq_id_sale = obj_sequence.create(cr, uid, seq_sale, context=context)
|
||||
seq_purchase = {
|
||||
'name': 'Purchase Journal',
|
||||
'code': 'account.journal',
|
||||
'prefix': 'EXJ/%(year)s/',
|
||||
'padding': 3
|
||||
}
|
||||
seq_id_purchase = obj_sequence.create(cr, uid, seq_purchase)
|
||||
'name': 'Purchase Journal',
|
||||
'code': 'account.journal',
|
||||
'prefix': 'EXJ/%(year)s/',
|
||||
'padding': 3
|
||||
}
|
||||
seq_id_purchase = obj_sequence.create(cr, uid, seq_purchase, context=context)
|
||||
seq_refund_sale = {
|
||||
'name': 'Sales Refund Journal',
|
||||
'code': 'account.journal',
|
||||
'prefix': 'SCNJ/%(year)s/',
|
||||
'padding': 3
|
||||
}
|
||||
seq_id_sale_refund = obj_sequence.create(cr, uid, seq_refund_sale)
|
||||
'name': 'Sales Refund Journal',
|
||||
'code': 'account.journal',
|
||||
'prefix': 'SCNJ/%(year)s/',
|
||||
'padding': 3
|
||||
}
|
||||
seq_id_sale_refund = obj_sequence.create(cr, uid, seq_refund_sale, context=context)
|
||||
seq_refund_purchase = {
|
||||
'name': 'Purchase Refund Journal',
|
||||
'code': 'account.journal',
|
||||
'prefix': 'ECNJ/%(year)s/',
|
||||
'padding': 3
|
||||
}
|
||||
seq_id_purchase_refund = obj_sequence.create(cr, uid, seq_refund_purchase)
|
||||
'name': 'Purchase Refund Journal',
|
||||
'code': 'account.journal',
|
||||
'prefix': 'ECNJ/%(year)s/',
|
||||
'padding': 3
|
||||
}
|
||||
seq_id_purchase_refund = obj_sequence.create(cr, uid, seq_refund_purchase, context=context)
|
||||
else:
|
||||
seq_id_sale = seq_id
|
||||
seq_id_purchase = seq_id
|
||||
|
@ -380,83 +398,90 @@ class account_installer(osv.osv_memory):
|
|||
vals_journal['view_id'] = view_id
|
||||
|
||||
#Sales Journal
|
||||
analitical_sale_ids = analytic_journal_obj.search(cr,uid,[('type','=','sale')])
|
||||
analitical_sale_ids = analytic_journal_obj.search(cr, uid, [('type','=','sale')], context=context)
|
||||
analitical_journal_sale = analitical_sale_ids and analitical_sale_ids[0] or False
|
||||
|
||||
vals_journal['name'] = _('Sales Journal')
|
||||
vals_journal['type'] = 'sale'
|
||||
vals_journal['code'] = _('SAJ')
|
||||
vals_journal['sequence_id'] = seq_id_sale
|
||||
vals_journal['analytic_journal_id'] = analitical_journal_sale
|
||||
|
||||
vals_journal.update({
|
||||
'name': _('Sales Journal'),
|
||||
'type': 'sale',
|
||||
'code': _('SAJ'),
|
||||
'sequence_id': seq_id_sale,
|
||||
'analytic_journal_id': analitical_journal_sale
|
||||
})
|
||||
|
||||
if obj_multi.property_account_receivable:
|
||||
vals_journal['default_credit_account_id'] = acc_template_ref[obj_multi.property_account_income_categ.id]
|
||||
vals_journal['default_debit_account_id'] = acc_template_ref[obj_multi.property_account_income_categ.id]
|
||||
|
||||
obj_journal.create(cr,uid,vals_journal)
|
||||
vals_journal.update({
|
||||
'default_credit_account_id': acc_template_ref[obj_multi.property_account_income_categ.id],
|
||||
'default_debit_account_id': acc_template_ref[obj_multi.property_account_income_categ.id],
|
||||
})
|
||||
obj_journal.create(cr, uid, vals_journal, context=context)
|
||||
|
||||
# Purchase Journal
|
||||
analitical_purchase_ids = analytic_journal_obj.search(cr, uid, [('type','=','purchase')])
|
||||
analitical_purchase_ids = analytic_journal_obj.search(cr, uid, [('type', '=', 'purchase')], context=context)
|
||||
analitical_journal_purchase = analitical_purchase_ids and analitical_purchase_ids[0] or False
|
||||
|
||||
vals_journal['name'] = _('Purchase Journal')
|
||||
vals_journal['type'] = 'purchase'
|
||||
vals_journal['code'] = _('EXJ')
|
||||
vals_journal['sequence_id'] = seq_id_purchase
|
||||
vals_journal['analytic_journal_id'] = analitical_journal_purchase
|
||||
vals_journal.update({
|
||||
'name': _('Purchase Journal'),
|
||||
'type': 'purchase',
|
||||
'code': _('EXJ'),
|
||||
'sequence_id': seq_id_purchase,
|
||||
'analytic_journal_id': analitical_journal_purchase
|
||||
})
|
||||
|
||||
if obj_multi.property_account_payable:
|
||||
vals_journal['default_credit_account_id'] = acc_template_ref[obj_multi.property_account_expense_categ.id]
|
||||
vals_journal['default_debit_account_id'] = acc_template_ref[obj_multi.property_account_expense_categ.id]
|
||||
|
||||
obj_journal.create(cr,uid,vals_journal)
|
||||
vals_journal.update({
|
||||
'default_credit_account_id': acc_template_ref[obj_multi.property_account_expense_categ.id],
|
||||
'default_debit_account_id': acc_template_ref[obj_multi.property_account_expense_categ.id]
|
||||
})
|
||||
|
||||
obj_journal.create(cr, uid, vals_journal, context=context)
|
||||
# Creating Journals Sales Refund and Purchase Refund
|
||||
vals_journal={}
|
||||
data_id = mod_obj.search(cr, uid, [('model','=','account.journal.view'), ('name','=','account_sp_refund_journal_view')])
|
||||
data = mod_obj.browse(cr, uid, data_id[0])
|
||||
vals_journal = {}
|
||||
data_id = mod_obj.search(cr, uid, [('model', '=', 'account.journal.view'), ('name', '=', 'account_sp_refund_journal_view')], context=context)
|
||||
data = mod_obj.browse(cr, uid, data_id[0], context=context)
|
||||
view_id = data.res_id
|
||||
|
||||
vals_journal['view_id'] = view_id
|
||||
|
||||
#Sales Refund Journal
|
||||
vals_journal['name'] = _('Sales Refund Journal')
|
||||
vals_journal['type'] = 'sale_refund'
|
||||
vals_journal['refund_journal'] = True
|
||||
vals_journal['code'] = _('SCNJ')
|
||||
vals_journal['sequence_id'] = seq_id_sale_refund
|
||||
vals_journal['analytic_journal_id'] = analitical_journal_sale
|
||||
|
||||
vals_journal = {
|
||||
'view_id': view_id,
|
||||
'name': _('Sales Refund Journal'),
|
||||
'type': 'sale_refund',
|
||||
'refund_journal': True,
|
||||
'code': _('SCNJ'),
|
||||
'sequence_id': seq_id_sale_refund,
|
||||
'analytic_journal_id': analitical_journal_sale
|
||||
}
|
||||
if obj_multi.property_account_receivable:
|
||||
vals_journal['default_credit_account_id'] = acc_template_ref[obj_multi.property_account_income_categ.id]
|
||||
vals_journal['default_debit_account_id'] = acc_template_ref[obj_multi.property_account_income_categ.id]
|
||||
vals_journal.update({
|
||||
'default_credit_account_id': acc_template_ref[obj_multi.property_account_income_categ.id],
|
||||
'default_debit_account_id': acc_template_ref[obj_multi.property_account_income_categ.id]
|
||||
})
|
||||
|
||||
obj_journal.create(cr,uid,vals_journal)
|
||||
obj_journal.create(cr, uid, vals_journal, context=context)
|
||||
|
||||
# Purchase Refund Journal
|
||||
vals_journal['name'] = _('Purchase Refund Journal')
|
||||
vals_journal['type'] = 'purchase_refund'
|
||||
vals_journal['refund_journal'] = True
|
||||
vals_journal['code'] = _('ECNJ')
|
||||
vals_journal['sequence_id'] = seq_id_purchase_refund
|
||||
vals_journal['analytic_journal_id'] = analitical_journal_purchase
|
||||
vals_journal = {
|
||||
'view_id': view_id,
|
||||
'name': _('Purchase Refund Journal'),
|
||||
'type': 'purchase_refund',
|
||||
'refund_journal': True,
|
||||
'code': _('ECNJ'),
|
||||
'sequence_id': seq_id_purchase_refund,
|
||||
'analytic_journal_id': analitical_journal_purchase
|
||||
}
|
||||
|
||||
if obj_multi.property_account_payable:
|
||||
vals_journal['default_credit_account_id'] = acc_template_ref[obj_multi.property_account_expense_categ.id]
|
||||
vals_journal['default_debit_account_id'] = acc_template_ref[obj_multi.property_account_expense_categ.id]
|
||||
|
||||
obj_journal.create(cr, uid, vals_journal)
|
||||
vals_journal.update({
|
||||
'default_credit_account_id': acc_template_ref[obj_multi.property_account_expense_categ.id],
|
||||
'default_debit_account_id': acc_template_ref[obj_multi.property_account_expense_categ.id]
|
||||
})
|
||||
obj_journal.create(cr, uid, vals_journal, context=context)
|
||||
|
||||
# Bank Journals
|
||||
view_id_cash = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Bank/Cash Journal View')])[0] #TOFIX: Why put fixed name ?
|
||||
view_id_cur = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Bank/Cash Journal (Multi-Currency) View')])[0] #TOFIX: why put fixed name?
|
||||
|
||||
view_id_cash = obj_acc_journal_view.search(cr, uid, [('name', '=', 'Bank/Cash Journal View')], context=context)[0] #TOFIX: Why put fixed name ?
|
||||
view_id_cur = obj_acc_journal_view.search(cr, uid, [('name', '=', 'Bank/Cash Journal (Multi-Currency) View')], context=context)[0] #TOFIX: why put fixed name?
|
||||
|
||||
#create the properties
|
||||
property_obj = self.pool.get('ir.property')
|
||||
fields_obj = self.pool.get('ir.model.fields')
|
||||
|
||||
todo_list = [
|
||||
('property_account_receivable', 'res.partner', 'account.account'),
|
||||
('property_account_payable', 'res.partner', 'account.account'),
|
||||
|
@ -469,52 +494,45 @@ class account_installer(osv.osv_memory):
|
|||
|
||||
for record in todo_list:
|
||||
r = []
|
||||
r = property_obj.search(cr, uid, [('name', '=', record[0]), ('company_id', '=', company_id.id)])
|
||||
r = property_obj.search(cr, uid, [('name', '=', record[0]), ('company_id', '=', company_id.id)], context=context)
|
||||
account = getattr(obj_multi, record[0])
|
||||
field = fields_obj.search(cr, uid, [('name', '=', record[0]), ('model', '=', record[1]), ('relation', '=', record[2])])
|
||||
field = fields_obj.search(cr, uid, [('name', '=', record[0]), ('model', '=', record[1]), ('relation', '=', record[2])], context=context)
|
||||
vals = {
|
||||
'name': record[0],
|
||||
'company_id': company_id.id,
|
||||
'fields_id': field[0],
|
||||
'value': account and 'account.account,'+str(acc_template_ref[account.id]) or False,
|
||||
'value': account and 'account.account, '+str(acc_template_ref[account.id]) or False,
|
||||
}
|
||||
|
||||
if r:
|
||||
#the property exist: modify it
|
||||
property_obj.write(cr, uid, r, vals)
|
||||
property_obj.write(cr, uid, r, vals, context=context)
|
||||
else:
|
||||
#create the property
|
||||
property_obj.create(cr, uid, vals)
|
||||
|
||||
fp_ids = obj_fiscal_position_template.search(cr, uid,[('chart_template_id', '=', obj_multi.id)])
|
||||
property_obj.create(cr, uid, vals, context=context)
|
||||
|
||||
fp_ids = obj_fiscal_position_template.search(cr, uid, [('chart_template_id', '=', obj_multi.id)], context=context)
|
||||
if fp_ids:
|
||||
for position in obj_fiscal_position_template.browse(cr, uid, fp_ids):
|
||||
|
||||
for position in obj_fiscal_position_template.browse(cr, uid, fp_ids, context=context):
|
||||
vals_fp = {
|
||||
'company_id': company_id.id,
|
||||
'name': position.name,
|
||||
}
|
||||
new_fp = obj_fiscal_position.create(cr, uid, vals_fp)
|
||||
|
||||
obj_tax_fp = self.pool.get('account.fiscal.position.tax')
|
||||
obj_ac_fp = self.pool.get('account.fiscal.position.account')
|
||||
|
||||
'company_id': company_id.id,
|
||||
'name': position.name,
|
||||
}
|
||||
new_fp = obj_fiscal_position.create(cr, uid, vals_fp, context=context)
|
||||
for tax in position.tax_ids:
|
||||
vals_tax = {
|
||||
'tax_src_id': tax_template_ref[tax.tax_src_id.id],
|
||||
'tax_dest_id': tax.tax_dest_id and tax_template_ref[tax.tax_dest_id.id] or False,
|
||||
'position_id': new_fp,
|
||||
}
|
||||
obj_tax_fp.create(cr, uid, vals_tax)
|
||||
'tax_src_id': tax_template_ref[tax.tax_src_id.id],
|
||||
'tax_dest_id': tax.tax_dest_id and tax_template_ref[tax.tax_dest_id.id] or False,
|
||||
'position_id': new_fp,
|
||||
}
|
||||
obj_tax_fp.create(cr, uid, vals_tax, context=context)
|
||||
|
||||
for acc in position.account_ids:
|
||||
vals_acc = {
|
||||
'account_src_id': acc_template_ref[acc.account_src_id.id],
|
||||
'account_dest_id': acc_template_ref[acc.account_dest_id.id],
|
||||
'position_id': new_fp,
|
||||
}
|
||||
obj_ac_fp.create(cr, uid, vals_acc)
|
||||
'account_src_id': acc_template_ref[acc.account_src_id.id],
|
||||
'account_dest_id': acc_template_ref[acc.account_dest_id.id],
|
||||
'position_id': new_fp,
|
||||
}
|
||||
obj_ac_fp.create(cr, uid, vals_acc, context=context)
|
||||
|
||||
def execute(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
|
@ -524,58 +542,58 @@ class account_installer(osv.osv_memory):
|
|||
obj_acc = self.pool.get('account.account')
|
||||
obj_tax_code = self.pool.get('account.tax.code')
|
||||
obj_temp_tax_code = self.pool.get('account.tax.code.template')
|
||||
obj_tax = self.pool.get('account.tax')
|
||||
obj_product = self.pool.get('product.product')
|
||||
ir_values = self.pool.get('ir.values')
|
||||
super(account_installer, self).execute(cr, uid, ids, context=context)
|
||||
record = self.browse(cr, uid, ids, context=context)[0]
|
||||
company_id = record.company_id
|
||||
for res in self.read(cr, uid, ids):
|
||||
for res in self.read(cr, uid, ids, context=context):
|
||||
if record.charts == 'configurable':
|
||||
fp = tools.file_open(opj('account','configurable_account_chart.xml'))
|
||||
tools.convert_xml_import(cr, 'account', fp, {}, 'init',True, None)
|
||||
fp = tools.file_open(opj('account', 'configurable_account_chart.xml'))
|
||||
tools.convert_xml_import(cr, 'account', fp, {}, 'init', True, None)
|
||||
fp.close()
|
||||
self.generate_configurable_chart(cr, uid, ids, context=context)
|
||||
obj_tax = self.pool.get('account.tax')
|
||||
obj_product = self.pool.get('product.product')
|
||||
ir_values = self.pool.get('ir.values')
|
||||
s_tax = (res.get('sale_tax', 0.0))/100
|
||||
p_tax = (res.get('purchase_tax', 0.0))/100
|
||||
tax_val = {}
|
||||
default_tax = []
|
||||
|
||||
pur_temp_tax = mod_obj._get_id(cr, uid, 'account', 'tax_code_base_purchases')
|
||||
pur_temp_tax_id = mod_obj.read(cr, uid, [pur_temp_tax], ['res_id'])[0]['res_id']
|
||||
pur_temp_tax_names = obj_temp_tax_code.read(cr, uid, [pur_temp_tax_id], ['name'])
|
||||
pur_temp_tax_id = mod_obj.read(cr, uid, [pur_temp_tax], ['res_id'], context=context)[0]['res_id']
|
||||
pur_temp_tax_names = obj_temp_tax_code.read(cr, uid, [pur_temp_tax_id], ['name'], context=context)
|
||||
pur_tax_parent_name = pur_temp_tax_names and pur_temp_tax_names[0]['name'] or False
|
||||
pur_taxcode_parent_id = obj_tax_code.search(cr, uid, [('name', 'ilike', pur_tax_parent_name)])
|
||||
pur_taxcode_parent_id = obj_tax_code.search(cr, uid, [('name', 'ilike', pur_tax_parent_name)], context=context)
|
||||
if pur_taxcode_parent_id:
|
||||
pur_taxcode_parent_id = pur_taxcode_parent_id[0]
|
||||
else:
|
||||
pur_taxcode_parent_id = False
|
||||
|
||||
pur_temp_tax_paid = mod_obj._get_id(cr, uid, 'account', 'tax_code_input')
|
||||
pur_temp_tax_paid_id = mod_obj.read(cr, uid, [pur_temp_tax_paid], ['res_id'])[0]['res_id']
|
||||
pur_temp_tax_paid_names = obj_temp_tax_code.read(cr, uid, [pur_temp_tax_paid_id], ['name'])
|
||||
pur_temp_tax_paid_id = mod_obj.read(cr, uid, [pur_temp_tax_paid], ['res_id'], context=context)[0]['res_id']
|
||||
pur_temp_tax_paid_names = obj_temp_tax_code.read(cr, uid, [pur_temp_tax_paid_id], ['name'], context=context)
|
||||
pur_tax_paid_parent_name = pur_temp_tax_names and pur_temp_tax_paid_names[0]['name'] or False
|
||||
pur_taxcode_paid_parent_id = obj_tax_code.search(cr, uid, [('name', 'ilike', pur_tax_paid_parent_name)])
|
||||
pur_taxcode_paid_parent_id = obj_tax_code.search(cr, uid, [('name', 'ilike', pur_tax_paid_parent_name)], context=context)
|
||||
if pur_taxcode_paid_parent_id:
|
||||
pur_taxcode_paid_parent_id = pur_taxcode_paid_parent_id[0]
|
||||
else:
|
||||
pur_taxcode_paid_parent_id = False
|
||||
|
||||
sale_temp_tax = mod_obj._get_id(cr, uid, 'account', 'tax_code_base_sales')
|
||||
sale_temp_tax_id = mod_obj.read(cr, uid, [sale_temp_tax], ['res_id'])[0]['res_id']
|
||||
sale_temp_tax_names = obj_temp_tax_code.read(cr, uid, [sale_temp_tax_id], ['name'])
|
||||
sale_temp_tax_id = mod_obj.read(cr, uid, [sale_temp_tax], ['res_id'], context=context)[0]['res_id']
|
||||
sale_temp_tax_names = obj_temp_tax_code.read(cr, uid, [sale_temp_tax_id], ['name'], context=context)
|
||||
sale_tax_parent_name = sale_temp_tax_names and sale_temp_tax_names[0]['name'] or False
|
||||
sale_taxcode_parent_id = obj_tax_code.search(cr, uid, [('name', 'ilike', sale_tax_parent_name)])
|
||||
sale_taxcode_parent_id = obj_tax_code.search(cr, uid, [('name', 'ilike', sale_tax_parent_name)], context=context)
|
||||
if sale_taxcode_parent_id:
|
||||
sale_taxcode_parent_id = sale_taxcode_parent_id[0]
|
||||
else:
|
||||
sale_taxcode_parent_id = False
|
||||
|
||||
sale_temp_tax_paid = mod_obj._get_id(cr, uid, 'account', 'tax_code_output')
|
||||
sale_temp_tax_paid_id = mod_obj.read(cr, uid, [sale_temp_tax_paid], ['res_id'])[0]['res_id']
|
||||
sale_temp_tax_paid_names = obj_temp_tax_code.read(cr, uid, [sale_temp_tax_paid_id], ['name'])
|
||||
sale_temp_tax_paid_id = mod_obj.read(cr, uid, [sale_temp_tax_paid], ['res_id'], context=context)[0]['res_id']
|
||||
sale_temp_tax_paid_names = obj_temp_tax_code.read(cr, uid, [sale_temp_tax_paid_id], ['name'], context=context)
|
||||
sale_tax_paid_parent_name = sale_temp_tax_paid_names and sale_temp_tax_paid_names[0]['name'] or False
|
||||
sale_taxcode_paid_parent_id = obj_tax_code.search(cr, uid, [('name', 'ilike', sale_tax_paid_parent_name)])
|
||||
sale_taxcode_paid_parent_id = obj_tax_code.search(cr, uid, [('name', 'ilike', sale_tax_paid_parent_name)], context=context)
|
||||
if sale_taxcode_paid_parent_id:
|
||||
sale_taxcode_paid_parent_id = sale_taxcode_paid_parent_id[0]
|
||||
else:
|
||||
|
@ -590,8 +608,8 @@ class account_installer(osv.osv_memory):
|
|||
'company_id': company_id.id,
|
||||
'sign': 1,
|
||||
'parent_id': sale_taxcode_parent_id
|
||||
}
|
||||
new_tax_code = self.pool.get('account.tax.code').create(cr, uid, vals_tax_code)
|
||||
}
|
||||
new_tax_code = obj_tax_code.create(cr, uid, vals_tax_code, context=context)
|
||||
|
||||
vals_paid_tax_code = {
|
||||
'name': 'TAX Received %s%%'%(s_tax*100),
|
||||
|
@ -600,20 +618,20 @@ class account_installer(osv.osv_memory):
|
|||
'sign': 1,
|
||||
'parent_id': sale_taxcode_paid_parent_id
|
||||
}
|
||||
new_paid_tax_code = self.pool.get('account.tax.code').create(cr, uid, vals_paid_tax_code)
|
||||
new_paid_tax_code = obj_tax_code.create(cr, uid, vals_paid_tax_code, context=context)
|
||||
|
||||
sales_tax = obj_tax.create(cr, uid,
|
||||
{'name':'TAX %s%%'%(s_tax*100),
|
||||
'amount':s_tax,
|
||||
'base_code_id':new_tax_code,
|
||||
'tax_code_id':new_paid_tax_code,
|
||||
'type_tax_use':'sale',
|
||||
'account_collected_id':sales_tax_account_id,
|
||||
'account_paid_id':sales_tax_account_id
|
||||
})
|
||||
default_account_ids = obj_acc.search(cr, uid, [('name', '=', 'Product Sales')],context=context)
|
||||
{'name': 'TAX %s%%'%(s_tax*100),
|
||||
'amount': s_tax,
|
||||
'base_code_id': new_tax_code,
|
||||
'tax_code_id': new_paid_tax_code,
|
||||
'type_tax_use': 'sale',
|
||||
'account_collected_id': sales_tax_account_id,
|
||||
'account_paid_id': sales_tax_account_id
|
||||
}, context=context)
|
||||
default_account_ids = obj_acc.search(cr, uid, [('name', '=', 'Product Sales')], context=context)
|
||||
if default_account_ids:
|
||||
obj_acc.write(cr, uid, default_account_ids, {'tax_ids': [(6, 0, [sales_tax])]})
|
||||
obj_acc.write(cr, uid, default_account_ids, {'tax_ids': [(6, 0, [sales_tax])]}, context=context)
|
||||
tax_val.update({'taxes_id': [(6, 0, [sales_tax])]})
|
||||
default_tax.append(('taxes_id', sales_tax))
|
||||
if p_tax*100 > 0.0:
|
||||
|
@ -626,8 +644,7 @@ class account_installer(osv.osv_memory):
|
|||
'sign': 1,
|
||||
'parent_id': pur_taxcode_parent_id
|
||||
}
|
||||
new_tax_code = self.pool.get('account.tax.code').create(cr, uid, vals_tax_code)
|
||||
|
||||
new_tax_code = obj_tax_code.create(cr, uid, vals_tax_code, context=context)
|
||||
vals_paid_tax_code = {
|
||||
'name': 'TAX Paid %s%%'%(p_tax*100),
|
||||
'code': 'TAX Paid %s%%'%(p_tax*100),
|
||||
|
@ -635,7 +652,7 @@ class account_installer(osv.osv_memory):
|
|||
'sign': 1,
|
||||
'parent_id': pur_taxcode_paid_parent_id
|
||||
}
|
||||
new_paid_tax_code = self.pool.get('account.tax.code').create(cr, uid, vals_paid_tax_code)
|
||||
new_paid_tax_code = obj_tax_code.create(cr, uid, vals_paid_tax_code, context=context)
|
||||
|
||||
purchase_tax = obj_tax.create(cr, uid,
|
||||
{'name': 'TAX%s%%'%(p_tax*100),
|
||||
|
@ -646,32 +663,33 @@ class account_installer(osv.osv_memory):
|
|||
'type_tax_use': 'purchase',
|
||||
'account_collected_id': purchase_tax_account_id,
|
||||
'account_paid_id': purchase_tax_account_id
|
||||
})
|
||||
}, context=context)
|
||||
default_account_ids = obj_acc.search(cr, uid, [('name', '=', 'Expenses')], context=context)
|
||||
if default_account_ids:
|
||||
obj_acc.write(cr, uid, default_account_ids, {'tax_ids': [(6, 0, [purchase_tax])]})
|
||||
obj_acc.write(cr, uid, default_account_ids, {'tax_ids': [(6, 0, [purchase_tax])]}, context=context)
|
||||
tax_val.update({'supplier_taxes_id': [(6 ,0, [purchase_tax])]})
|
||||
default_tax.append(('supplier_taxes_id', purchase_tax))
|
||||
if tax_val:
|
||||
product_ids = obj_product.search(cr, uid, [])
|
||||
for product in obj_product.browse(cr, uid, product_ids):
|
||||
obj_product.write(cr, uid, product.id, tax_val)
|
||||
product_ids = obj_product.search(cr, uid, [], context=context)
|
||||
for product in obj_product.browse(cr, uid, product_ids, context=context):
|
||||
obj_product.write(cr, uid, product.id, tax_val, context=context)
|
||||
for name, value in default_tax:
|
||||
ir_values.set(cr, uid, key='default', key2=False, name=name, models =[('product.product',False)], value=[value])
|
||||
ir_values.set(cr, uid, key='default', key2=False, name=name, models =[('product.product', False)], value=[value])
|
||||
|
||||
if 'date_start' in res and 'date_stop' in res:
|
||||
f_ids = fy_obj.search(cr, uid, [('date_start', '<=', res['date_start']), ('date_stop', '>=', res['date_stop']), ('company_id', '=', res['company_id'])])
|
||||
f_ids = fy_obj.search(cr, uid, [('date_start', '<=', res['date_start']), ('date_stop', '>=', res['date_stop']), ('company_id', '=', res['company_id'])], context=context)
|
||||
if not f_ids:
|
||||
name = code = res['date_start'][:4]
|
||||
if int(name) != int(res['date_stop'][:4]):
|
||||
name = res['date_start'][:4] +'-'+ res['date_stop'][:4]
|
||||
code = res['date_start'][2:4] +'-'+ res['date_stop'][2:4]
|
||||
vals = {'name': name,
|
||||
'code': code,
|
||||
'date_start': res['date_start'],
|
||||
'date_stop': res['date_stop'],
|
||||
'company_id': res['company_id']
|
||||
}
|
||||
vals = {
|
||||
'name': name,
|
||||
'code': code,
|
||||
'date_start': res['date_start'],
|
||||
'date_stop': res['date_stop'],
|
||||
'company_id': res['company_id']
|
||||
}
|
||||
fiscal_id = fy_obj.create(cr, uid, vals, context=context)
|
||||
if res['period'] == 'month':
|
||||
fy_obj.create_period(cr, uid, [fiscal_id])
|
||||
|
@ -698,11 +716,8 @@ class account_bank_accounts_wizard(osv.osv_memory):
|
|||
'acc_name': fields.char('Account Name.', size=64, required=True),
|
||||
'bank_account_id': fields.many2one('account.installer', 'Bank Account', required=True),
|
||||
'currency_id': fields.many2one('res.currency', 'Secondary Currency', help="Forces all moves for this account to have this secondary currency."),
|
||||
'account_type': fields.selection([('cash','Cash'),('check','Check'),('bank','Bank')], 'Account Type', size=32),
|
||||
'account_type': fields.selection([('cash','Cash'), ('check','Check'), ('bank','Bank')], 'Account Type', size=32),
|
||||
}
|
||||
# _defaults = {
|
||||
# 'currency_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.currency_id.id,
|
||||
# }
|
||||
|
||||
account_bank_accounts_wizard()
|
||||
|
||||
|
@ -710,7 +725,6 @@ class account_installer_modules(osv.osv_memory):
|
|||
_name = 'account.installer.modules'
|
||||
_inherit = 'res.config.installer'
|
||||
_columns = {
|
||||
# Accounting
|
||||
'account_analytic_plans': fields.boolean('Multiple Analytic Plans',
|
||||
help="Allows invoice lines to impact multiple analytic accounts "
|
||||
"simultaneously."),
|
||||
|
@ -727,9 +741,6 @@ class account_installer_modules(osv.osv_memory):
|
|||
'account_anglo_saxon': fields.boolean('Anglo-Saxon Accounting',
|
||||
help="This module will support the Anglo-Saxons accounting methodology by "
|
||||
"changing the accounting logic with stock transactions."),
|
||||
# 'account_voucher_payment':fields.boolean('Voucher and Reconcile Management',
|
||||
# help="Extension Account Voucher module includes allows to link payment / receipt "
|
||||
# "entries with voucher, also automatically reconcile during the payment and receipt entries."),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
|
@ -738,4 +749,4 @@ class account_installer_modules(osv.osv_memory):
|
|||
|
||||
account_installer_modules()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -24,8 +24,8 @@ from lxml import etree
|
|||
import decimal_precision as dp
|
||||
|
||||
import netsvc
|
||||
from osv import fields, osv, orm
|
||||
import pooler
|
||||
from osv import fields, osv, orm
|
||||
from tools.translate import _
|
||||
|
||||
class account_invoice(osv.osv):
|
||||
|
@ -57,17 +57,13 @@ class account_invoice(osv.osv):
|
|||
('company_id', '=', company_id),
|
||||
('refund_journal', '=', refund_journal.get(type_inv, False))],
|
||||
limit=1)
|
||||
if res:
|
||||
return res[0]
|
||||
else:
|
||||
return False
|
||||
return res and res[0] or False
|
||||
|
||||
def _get_currency(self, cr, uid, context=None):
|
||||
user = pooler.get_pool(cr.dbname).get('res.users').browse(cr, uid, [uid])[0]
|
||||
if user.company_id:
|
||||
return user.company_id.currency_id.id
|
||||
else:
|
||||
return pooler.get_pool(cr.dbname).get('res.currency').search(cr, uid, [('rate','=',1.0)])[0]
|
||||
return pooler.get_pool(cr.dbname).get('res.currency').search(cr, uid, [('rate','=', 1.0)])[0]
|
||||
|
||||
def _get_journal_analytic(self, cr, uid, type_inv, context=None):
|
||||
type2journal = {'out_invoice': 'sale', 'in_invoice': 'purchase', 'out_refund': 'sale', 'in_refund': 'purchase'}
|
||||
|
@ -134,7 +130,6 @@ class account_invoice(osv.osv):
|
|||
result = inv.amount_total - amount
|
||||
# Use is_zero function to avoid rounding trouble => should be fixed into ORM
|
||||
res[inv.id] = not self.pool.get('res.currency').is_zero(cr, uid, inv.company_id.currency_id, result) and result or 0.0
|
||||
|
||||
return res
|
||||
|
||||
# Give Journal Items related to the payment reconciled to this invoice
|
||||
|
@ -359,12 +354,26 @@ class account_invoice(osv.osv):
|
|||
res['arch'] = etree.tostring(doc)
|
||||
return res
|
||||
|
||||
def get_log_context(self, cr, uid, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
mob_obj = self.pool.get('ir.model.data')
|
||||
res = mob_obj.get_object_reference(cr, uid, 'account', 'invoice_form') or False
|
||||
view_id = res and res[1] or False
|
||||
context.update({'view_id': view_id})
|
||||
return context
|
||||
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
try:
|
||||
res = super(account_invoice, self).create(cr, uid, vals, context)
|
||||
for inv_id, name in self.name_get(cr, uid, [res], context=context):
|
||||
ctx = context.copy()
|
||||
if vals.get('type', 'in_invoice') in ('out_invoice', 'out_refund'):
|
||||
ctx = self.get_log_context(cr, uid, context=ctx)
|
||||
message = _("Invoice '%s' is waiting for validation.") % name
|
||||
self.log(cr, uid, inv_id, message)
|
||||
self.log(cr, uid, inv_id, message, context=ctx)
|
||||
return res
|
||||
except Exception, e:
|
||||
if '"journal_id" viol' in e.args[0]:
|
||||
|
@ -491,7 +500,6 @@ class account_invoice(osv.osv):
|
|||
res = {'value':{'date_due': pterm_list[-1]}}
|
||||
else:
|
||||
raise osv.except_osv(_('Data Insufficient !'), _('The Payment Term of Supplier does not have Payment Term Lines(Computation) defined !'))
|
||||
|
||||
return res
|
||||
|
||||
def onchange_invoice_line(self, cr, uid, ids, lines):
|
||||
|
@ -504,6 +512,8 @@ class account_invoice(osv.osv):
|
|||
val = {}
|
||||
dom = {}
|
||||
obj_journal = self.pool.get('account.journal')
|
||||
account_obj = self.pool.get('account.account')
|
||||
inv_line_obj = self.pool.get('account.invoice.line')
|
||||
if company_id and part_id and type:
|
||||
acc_id = False
|
||||
partner_obj = self.pool.get('res.partner').browse(cr,uid,part_id)
|
||||
|
@ -528,7 +538,6 @@ class account_invoice(osv.osv):
|
|||
else:
|
||||
acc_id = pay_res_id
|
||||
val= {'account_id': acc_id}
|
||||
account_obj = self.pool.get('account.account')
|
||||
if ids:
|
||||
if company_id:
|
||||
inv_obj = self.browse(cr,uid,ids)
|
||||
|
@ -539,7 +548,7 @@ class account_invoice(osv.osv):
|
|||
if not result_id:
|
||||
raise osv.except_osv(_('Configuration Error !'),
|
||||
_('Can not find account chart for this company in invoice line account, Please Create account.'))
|
||||
self.pool.get('account.invoice.line').write(cr, uid, [line.id], {'account_id': result_id[0]})
|
||||
inv_line_obj.write(cr, uid, [line.id], {'account_id': result_id[0]})
|
||||
else:
|
||||
if invoice_line:
|
||||
for inv_line in invoice_line:
|
||||
|
@ -580,7 +589,7 @@ class account_invoice(osv.osv):
|
|||
else:
|
||||
val['currency_id'] = company.currency_id.id
|
||||
|
||||
return {'value': val, 'domain': dom }
|
||||
return {'value': val, 'domain': dom}
|
||||
|
||||
# go from canceled state to draft state
|
||||
def action_cancel_draft(self, cr, uid, ids, *args):
|
||||
|
@ -792,7 +801,6 @@ class account_invoice(osv.osv):
|
|||
line = []
|
||||
for key, val in line2.items():
|
||||
line.append((0,0,val))
|
||||
|
||||
return line
|
||||
|
||||
def action_move_create(self, cr, uid, ids, *args):
|
||||
|
@ -967,7 +975,9 @@ class account_invoice(osv.osv):
|
|||
'analytic_account_id':x.get('account_analytic_id',False),
|
||||
}
|
||||
|
||||
def action_number(self, cr, uid, ids, *args):
|
||||
def action_number(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
#TODO: not correct fix but required a frech values before reading it.
|
||||
self.write(cr, uid, ids, {})
|
||||
|
||||
|
@ -981,7 +991,10 @@ class account_invoice(osv.osv):
|
|||
self.write(cr, uid, ids, {'internal_number':number})
|
||||
|
||||
if invtype in ('in_invoice', 'in_refund'):
|
||||
ref = reference
|
||||
if not reference:
|
||||
ref = self._convert_ref(cr, uid, number)
|
||||
else:
|
||||
ref = reference
|
||||
else:
|
||||
ref = self._convert_ref(cr, uid, number)
|
||||
|
||||
|
@ -998,9 +1011,11 @@ class account_invoice(osv.osv):
|
|||
(ref, move_id))
|
||||
|
||||
for inv_id, name in self.name_get(cr, uid, [id]):
|
||||
ctx = context.copy()
|
||||
if obj_inv.type in ('out_invoice', 'out_refund'):
|
||||
ctx = self.get_log_context(cr, uid, context=ctx)
|
||||
message = _('Invoice ') + " '" + name + "' "+ _("is validated.")
|
||||
self.log(cr, uid, inv_id, message)
|
||||
|
||||
self.log(cr, uid, inv_id, message, context=ctx)
|
||||
return True
|
||||
|
||||
def action_cancel(self, cr, uid, ids, *args):
|
||||
|
@ -1489,8 +1504,8 @@ class account_invoice_line(osv.osv):
|
|||
taxes = self.pool.get('account.account').browse(cr, uid, account_id).tax_ids
|
||||
fpos = fposition_id and self.pool.get('account.fiscal.position').browse(cr, uid, fposition_id) or False
|
||||
res = self.pool.get('account.fiscal.position').map_tax(cr, uid, fpos, taxes)
|
||||
r = {'value':{'invoice_line_tax_id': res}}
|
||||
return r
|
||||
return {'value':{'invoice_line_tax_id': res}}
|
||||
|
||||
account_invoice_line()
|
||||
|
||||
class account_invoice_tax(osv.osv):
|
||||
|
@ -1522,7 +1537,6 @@ class account_invoice_tax(osv.osv):
|
|||
'amount': fields.float('Amount', digits_compute=dp.get_precision('Account')),
|
||||
'manual': fields.boolean('Manual'),
|
||||
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of invoice tax."),
|
||||
|
||||
'base_code_id': fields.many2one('account.tax.code', 'Base Code', help="The account basis of the tax declaration."),
|
||||
'base_amount': fields.float('Base Code Amount', digits_compute=dp.get_precision('Account')),
|
||||
'tax_code_id': fields.many2one('account.tax.code', 'Tax Code', help="The tax basis of the tax declaration."),
|
||||
|
@ -1560,9 +1574,9 @@ class account_invoice_tax(osv.osv):
|
|||
|
||||
_order = 'sequence'
|
||||
_defaults = {
|
||||
'manual': lambda *a: 1,
|
||||
'base_amount': lambda *a: 0.0,
|
||||
'tax_amount': lambda *a: 0.0,
|
||||
'manual': 1,
|
||||
'base_amount': 0.0,
|
||||
'tax_amount': 0.0,
|
||||
}
|
||||
def compute(self, cr, uid, invoice_id, context={}):
|
||||
tax_grouped = {}
|
||||
|
|
|
@ -44,7 +44,7 @@ class account_journal(osv.osv):
|
|||
_inherit="account.journal"
|
||||
|
||||
_columns = {
|
||||
'analytic_journal_id':fields.many2one('account.analytic.journal','Analytic Journal',help="Journal for analytic entries"),
|
||||
'analytic_journal_id':fields.many2one('account.analytic.journal','Analytic Journal', help="Journal for analytic entries"),
|
||||
}
|
||||
|
||||
account_journal()
|
||||
|
|
|
@ -197,7 +197,7 @@
|
|||
<group col='6' colspan='4'>
|
||||
<filter name="sales" string="Sales" domain="[('journal_id.type','=','sale')]" icon="terp-sale" help="Analytic Journal Items related to a sale journal."/>
|
||||
<filter name="purchases" string="Purchases" domain="[('journal_id.type','=','purchase')]" icon="terp-purchase" help="Analytic Journal Items related to a purchase journal."/>
|
||||
<filter name="others" string="Others" domain="[('journal_id.type','in',('cash','general','situation')]" icon="terp-folder-orange"/>
|
||||
<filter name="others" string="Others" domain="[('journal_id.type','in',('cash','general','situation'))]" icon="terp-folder-orange"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="date"/>
|
||||
<field name="name"/>
|
||||
|
|
|
@ -26,6 +26,7 @@ import rml_parse
|
|||
from report import report_sxw
|
||||
from account.report import account_profit_loss
|
||||
from common_report_header import common_report_header
|
||||
from tools.translate import _
|
||||
|
||||
class report_balancesheet_horizontal(rml_parse.rml_parse, common_report_header):
|
||||
def __init__(self, cr, uid, name, context=None):
|
||||
|
@ -61,12 +62,12 @@ class report_balancesheet_horizontal(rml_parse.rml_parse, common_report_header):
|
|||
self.context = context
|
||||
|
||||
def sum_dr(self):
|
||||
if self.res_bl['type'] == 'Net Profit':
|
||||
if self.res_bl['type'] == _('Net Profit'):
|
||||
self.result_sum_dr += self.res_bl['balance']*-1
|
||||
return self.result_sum_dr
|
||||
|
||||
def sum_cr(self):
|
||||
if self.res_bl['type'] == 'Net Loss':
|
||||
if self.res_bl['type'] == _('Net Loss'):
|
||||
self.result_sum_cr += self.res_bl['balance']
|
||||
return self.result_sum_cr
|
||||
|
||||
|
@ -78,6 +79,7 @@ class report_balancesheet_horizontal(rml_parse.rml_parse, common_report_header):
|
|||
db_pool = pooler.get_pool(self.cr.dbname)
|
||||
|
||||
#Getting Profit or Loss Balance from profit and Loss report
|
||||
self.obj_pl.get_data(data)
|
||||
self.res_bl = self.obj_pl.final_result()
|
||||
|
||||
account_pool = db_pool.get('account.account')
|
||||
|
@ -103,10 +105,14 @@ class report_balancesheet_horizontal(rml_parse.rml_parse, common_report_header):
|
|||
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_bl['type'] == 'Net Profit C.F.B.L.':
|
||||
self.res_bl['type'] = 'Net Profit'
|
||||
if not self.res_bl:
|
||||
self.res_bl['type'] = _('Net Profit')
|
||||
self.res_bl['balance'] = 0.0
|
||||
|
||||
if self.res_bl['type'] == _('Net Profit'):
|
||||
self.res_bl['type'] = _('Net Profit')
|
||||
else:
|
||||
self.res_bl['type'] = 'Net Loss'
|
||||
self.res_bl['type'] = _('Net Loss')
|
||||
pl_dict = {
|
||||
'code': self.res_bl['type'],
|
||||
'name': self.res_bl['type'],
|
||||
|
@ -199,4 +205,4 @@ report_sxw.report_sxw('report.account.balancesheet', 'account.account',
|
|||
'addons/account/report/account_balance_sheet.rml',parser=report_balancesheet_horizontal,
|
||||
header='internal')
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -98,17 +98,6 @@
|
|||
<field name="categ_id" />
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended Filters..." groups="base.group_extended">
|
||||
<field name="product_id"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="journal_id" widget="selection"/>
|
||||
<field name="account_id"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="date_due"/>
|
||||
<separator orientation="vertical" groups="base.group_multi_company"/>
|
||||
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Partner" name="partner" icon="terp-partner" context="{'group_by':'partner_id','residual_visible':True}"/>
|
||||
<filter string="Salesman" name='user' icon="terp-personal" context="{'group_by':'user_id'}"/>
|
||||
|
@ -130,6 +119,17 @@
|
|||
<filter string="Month" name="month" icon="terp-go-month" context="{'group_by':'month'}" help="Group by month of Invoice Date"/>
|
||||
<filter string="Year" name="year" icon="terp-go-year" context="{'group_by':'year'}" help="Group by year of Invoice Date"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended Filters..." groups="base.group_extended">
|
||||
<field name="product_id"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="journal_id" widget="selection"/>
|
||||
<field name="account_id"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="date_due"/>
|
||||
<separator orientation="vertical" groups="base.group_multi_company"/>
|
||||
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -20,8 +20,6 @@
|
|||
##############################################################################
|
||||
|
||||
import time
|
||||
import re
|
||||
import copy
|
||||
|
||||
from tools.translate import _
|
||||
from report import report_sxw
|
||||
|
|
|
@ -21,8 +21,6 @@
|
|||
|
||||
import time
|
||||
|
||||
import ir
|
||||
from osv import osv
|
||||
from report import report_sxw
|
||||
import pooler
|
||||
|
||||
|
|
|
@ -199,7 +199,7 @@
|
|||
<para style="terp_default_Bold_9">Code</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Perticular</para>
|
||||
<para style="terp_default_Bold_9">Particular</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details_Right">Balance</para>
|
||||
|
@ -208,7 +208,7 @@
|
|||
<para style="terp_default_Bold_9">Code</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Perticular</para>
|
||||
<para style="terp_default_Bold_9">Particular</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="P1">Balance</para>
|
||||
|
@ -250,19 +250,19 @@
|
|||
<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>
|
||||
<para style="terp_default_Bold_9">[[ final_result()['type'] == 'Net Profit' and final_result()['type'] or '' ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold">[[ final_result()['balance'] and final_result()['type'] == 'Net Profit C.F.B.L.' and formatLang(abs(final_result()['balance'])) ]] [[ company.currency_id.symbol ]]</para>
|
||||
<para style="terp_default_Right_9_Bold">[[ final_result()['balance'] and final_result()['type'] == 'Net Profit' and formatLang(abs(final_result()['balance'])) ]] [[ company.currency_id.symbol ]]</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>
|
||||
<para style="terp_default_Bold_9">[[ final_result()['type'] == 'Net Loss' and final_result()['type'] or '' ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold">[[ final_result()['balance'] and final_result()['type'] == 'Net Loss C.F.B.L.' and formatLang(abs(final_result()['balance'])) ]] [[ final_result()['balance'] and final_result()['type'] == 'Net Loss C.F.B.L.' and company.currency_id.symbol ]]</para>
|
||||
<para style="terp_default_Right_9_Bold">[[ final_result()['balance'] and final_result()['type'] == 'Net Loss' and formatLang(abs(final_result()['balance'])) ]] [[ final_result()['balance'] and final_result()['type'] == 'Net Loss' and company.currency_id.symbol ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
|
|
@ -24,6 +24,7 @@ import pooler
|
|||
import rml_parse
|
||||
from report import report_sxw
|
||||
from common_report_header import common_report_header
|
||||
from tools.translate import _
|
||||
|
||||
class report_pl_account_horizontal(rml_parse.rml_parse, common_report_header):
|
||||
|
||||
|
@ -62,12 +63,12 @@ class report_pl_account_horizontal(rml_parse.rml_parse, common_report_header):
|
|||
return self.res_pl
|
||||
|
||||
def sum_dr(self):
|
||||
if self.res_pl['type'] == 'Net Profit C.F.B.L.':
|
||||
if self.res_pl['type'] == _('Net Profit'):
|
||||
self.result_sum_dr += self.res_pl['balance']
|
||||
return self.result_sum_dr
|
||||
|
||||
def sum_cr(self):
|
||||
if self.res_pl['type'] == 'Net Loss C.F.B.L.':
|
||||
if self.res_pl['type'] == _('Net Loss'):
|
||||
self.result_sum_cr += self.res_pl['balance']
|
||||
return self.result_sum_cr
|
||||
|
||||
|
@ -114,10 +115,10 @@ class report_pl_account_horizontal(rml_parse.rml_parse, common_report_header):
|
|||
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['type'] = _('Net Loss')
|
||||
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['type'] = _('Net Profit')
|
||||
self.res_pl['balance'] = (self.result_sum_cr - self.result_sum_dr)
|
||||
self.result[typ] = accounts_temp
|
||||
cal_list[typ] = self.result[typ]
|
||||
|
|
|
@ -228,10 +228,10 @@
|
|||
<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>
|
||||
<para style="terp_default_Bold_9">[[ final_result()['type'] == 'Net Profit' and final_result()['type'] or removeParentNode('blockTable') ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold">[[ final_result()['balance'] and final_result()['type'] == 'Net Loss C.F.B.L.' and formatLang(abs(final_result()['balance'])) ]] [[ final_result()['balance'] and final_result()['type'] == 'Net Loss C.F.B.L.' and company.currency_id.symbol ]]</para>
|
||||
<para style="terp_default_Right_9_Bold">[[ final_result()['balance'] and final_result()['type'] == 'Net Loss' and formatLang(abs(final_result()['balance'])) ]] [[ final_result()['balance'] and final_result()['type'] == 'Net Loss' and company.currency_id.symbol ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
@ -283,10 +283,10 @@
|
|||
<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>
|
||||
<para style="terp_default_Bold_9">[[ final_result()['type'] == 'Net Loss' and final_result()['type'] or removeParentNode('blockTable') ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold">[[ final_result()['balance'] and final_result()['type'] == 'Net Loss C.F.B.L.' and formatLang(abs(final_result()['balance'])) ]] [[ final_result()['balance'] and final_result()['type'] == 'Net Loss C.F.B.L.' and company.currency_id.symbol ]]</para>
|
||||
<para style="terp_default_Right_9_Bold">[[ final_result()['balance'] and final_result()['type'] == 'Net Loss' and formatLang(abs(final_result()['balance'])) ]] [[ final_result()['balance'] and final_result()['type'] == 'Net Loss' and company.currency_id.symbol ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
|
|
@ -21,9 +21,7 @@
|
|||
##############################################################################
|
||||
|
||||
import time
|
||||
import pooler
|
||||
import rml_parse
|
||||
import copy
|
||||
from report import report_sxw
|
||||
import re
|
||||
|
||||
|
|
|
@ -20,46 +20,54 @@
|
|||
##############################################################################
|
||||
|
||||
import time
|
||||
import copy
|
||||
|
||||
import rml_parse
|
||||
from common_report_header import common_report_header
|
||||
from report import report_sxw
|
||||
|
||||
class tax_report(rml_parse.rml_parse):
|
||||
class tax_report(rml_parse.rml_parse, common_report_header):
|
||||
_name = 'report.account.vat.declaration'
|
||||
def __init__(self, cr, uid, name, context={}):
|
||||
super(tax_report, self).__init__(cr, uid, name, context=context)
|
||||
self.localcontext.update({
|
||||
'time': time,
|
||||
'get_period': self._get_period,
|
||||
'get_codes': self._get_codes,
|
||||
'get_general': self._get_general,
|
||||
'get_company': self._get_company,
|
||||
'get_currency': self._get_currency,
|
||||
'get_lines': self._get_lines,
|
||||
'get_years': self.get_years,
|
||||
})
|
||||
|
||||
def set_context(self, objects, data, ids, report_type=None):
|
||||
new_ids = ids
|
||||
res = {}
|
||||
self.period_ids = []
|
||||
period_obj = self.pool.get('account.period')
|
||||
res['periods'] = ''
|
||||
res['fiscalyear'] = data['form']['fiscalyear_id']
|
||||
|
||||
def get_years(self,form):
|
||||
res={}
|
||||
fiscal_year_name = self.pool.get('account.fiscalyear').name_get(self.cr,self.uid,form['fiscalyear'])
|
||||
|
||||
if fiscal_year_name:
|
||||
res['fname'] = fiscal_year_name[0][1]
|
||||
res['periods'] = ''
|
||||
if form['periods']:
|
||||
periods_l = self.pool.get('account.period').read(self.cr, self.uid, form['periods'], ['name'])
|
||||
if data['form']['period_from'] and data['form']['period_to']:
|
||||
self.period_ids = period_obj.build_ctx_periods(self.cr, self.uid, data['form']['period_from'], data['form']['period_to'])
|
||||
periods_l = period_obj.read(self.cr, self.uid, self.period_ids, ['name'])
|
||||
for period in periods_l:
|
||||
if res['periods']=='':
|
||||
if res['periods'] == '':
|
||||
res['periods'] = period['name']
|
||||
else:
|
||||
res['periods'] += ", "+ period['name']
|
||||
return res
|
||||
return super(tax_report, self).set_context(objects, data, new_ids, report_type=report_type)
|
||||
|
||||
def _get_lines(self, based_on, period_list, company_id=False, parent=False, level=0, context={}):
|
||||
def __init__(self, cr, uid, name, context=None):
|
||||
super(tax_report, self).__init__(cr, uid, name, context=context)
|
||||
self.localcontext.update({
|
||||
'time': time,
|
||||
'get_codes': self._get_codes,
|
||||
'get_general': self._get_general,
|
||||
'get_currency': self._get_currency,
|
||||
'get_lines': self._get_lines,
|
||||
'get_fiscalyear': self._get_fiscalyear,
|
||||
'get_account': self._get_account,
|
||||
'get_start_period': self.get_start_period,
|
||||
'get_end_period': self.get_end_period,
|
||||
'get_basedon': self._get_basedon,
|
||||
})
|
||||
|
||||
|
||||
def _get_basedon(self, form):
|
||||
return form['form']['based_on']
|
||||
|
||||
def _get_lines(self, based_on, company_id=False, parent=False, level=0, context=None):
|
||||
period_list = self.period_ids
|
||||
res = self._get_codes(based_on, company_id, parent, level, period_list, context=context)
|
||||
|
||||
if period_list:
|
||||
res = self._add_codes(based_on, res, period_list, context=context)
|
||||
else:
|
||||
|
@ -96,13 +104,9 @@ class tax_report(rml_parse.rml_parse):
|
|||
ind_general+=1
|
||||
i+=1
|
||||
return top_result
|
||||
#return array_result
|
||||
|
||||
def _get_period(self, period_id, context={}):
|
||||
return self.pool.get('account.period').browse(self.cr, self.uid, period_id, context=context).name
|
||||
|
||||
def _get_general(self, tax_code_id, period_list,company_id, based_on, context={}):
|
||||
res=[]
|
||||
def _get_general(self, tax_code_id, period_list, company_id, based_on, context=None):
|
||||
res = []
|
||||
obj_account = self.pool.get('account.account')
|
||||
periods_ids = tuple(period_list)
|
||||
if based_on == 'payments':
|
||||
|
@ -155,7 +159,7 @@ class tax_report(rml_parse.rml_parse):
|
|||
i+=1
|
||||
return res
|
||||
|
||||
def _get_codes(self, based_on, company_id, parent=False, level=0, period_list=[], context={}):
|
||||
def _get_codes(self, based_on, company_id, parent=False, level=0, period_list=[], context=None):
|
||||
obj_tc = self.pool.get('account.tax.code')
|
||||
ids = obj_tc.search(self.cr, self.uid, [('parent_id','=',parent),('company_id','=',company_id)], context=context)
|
||||
|
||||
|
@ -166,7 +170,7 @@ class tax_report(rml_parse.rml_parse):
|
|||
res += self._get_codes(based_on, company_id, code.id, level+1, context=context)
|
||||
return res
|
||||
|
||||
def _add_codes(self, based_on, account_list=[], period_list=[], context={}):
|
||||
def _add_codes(self, based_on, account_list=[], period_list=[], context=None):
|
||||
res = []
|
||||
obj_tc = self.pool.get('account.tax.code')
|
||||
for account in account_list:
|
||||
|
@ -181,16 +185,10 @@ class tax_report(rml_parse.rml_parse):
|
|||
res.append((account[0], code))
|
||||
return res
|
||||
|
||||
def _get_currency(self, form, context=None):
|
||||
return self.pool.get('res.company').browse(self.cr, self.uid, form['company_id'], context=context).currency_id.name
|
||||
|
||||
def _get_company(self, form, context={}):
|
||||
obj_company = self.pool.get('res.company')
|
||||
return obj_company.browse(self.cr, self.uid, form['company_id'], context=context).name
|
||||
|
||||
def _get_currency(self, form, context={}):
|
||||
obj_company = self.pool.get('res.company')
|
||||
return obj_company.browse(self.cr, self.uid, form['company_id'], context=context).currency_id.name
|
||||
|
||||
def sort_result(self, accounts, context={}):
|
||||
def sort_result(self, accounts, context=None):
|
||||
# On boucle sur notre rapport
|
||||
result_accounts = []
|
||||
ind=0
|
||||
|
@ -233,4 +231,4 @@ class tax_report(rml_parse.rml_parse):
|
|||
report_sxw.report_sxw('report.account.vat.declaration', 'account.tax.code',
|
||||
'addons/account/report/account_tax_report.rml', parser=tax_report, header="internal")
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -61,6 +61,42 @@
|
|||
|
||||
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table4">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table3">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,0" stop="-1,0"/>
|
||||
<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="LINEAFTER" 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"/>
|
||||
<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="LINEAFTER" 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"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Tableau1">
|
||||
<blockAlignment value="LEFT"/>
|
||||
|
@ -100,21 +136,39 @@
|
|||
<paraStyle name="Table Heading" fontName="Helvetica" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Caption" fontName="Helvetica" fontSize="1.0" leading="1" spaceBefore="0" spaceAfter="0"/>
|
||||
<paraStyle name="Index" fontName="Helvetica"/>
|
||||
|
||||
<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_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
|
||||
</stylesheet>
|
||||
<story>
|
||||
<para style="P2">Tax Statement</para>
|
||||
<para style="P2"><font color="white"> </font></para>
|
||||
<blockTable colWidths="538" style="Tableau1">
|
||||
<blockTable colWidths="140.0,120.0,160.0,120.0" style="Table3">
|
||||
<tr>
|
||||
<td><para style="P12">Year : [[ get_years(data['form'])['fname'] ]]</para></td>
|
||||
<td><para style="terp_tblheader_General_Centre">Chart of Tax</para></td>
|
||||
<td><para style="terp_tblheader_General_Centre">Fiscal Year</para></td>
|
||||
<td><para style="terp_tblheader_General_Centre">Periods</para></td>
|
||||
<td><para style="terp_tblheader_General_Centre">Based On</para></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><para style="P12">Periods : [[ get_years(data['form'])['periods'] or removeParentNode('tr')]]</para></td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<para style="P2"><font color="white"> </font></para>
|
||||
<tr>
|
||||
<td><para style="terp_default_Centre_8">[[ get_account(data) or removeParentNode('para') ]]</para></td>
|
||||
<td><para style="terp_default_Centre_8">[[ get_fiscalyear(data) or '' ]]</para></td>
|
||||
<td>
|
||||
<blockTable colWidths="80.0,80.0" style="Table4">
|
||||
<tr>
|
||||
<td><para style="terp_tblheader_General_Centre">Start Period</para></td>
|
||||
<td><para style="terp_tblheader_General_Centre">End Period</para></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><para style="terp_default_Centre_8">[[ get_start_period(data) or '' ]]</para></td>
|
||||
<td><para style="terp_default_Centre_8">[[ get_end_period(data) or '' ]]</para></td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
</td>
|
||||
<td><para style="terp_default_Centre_8">[[ get_basedon(data) or '' ]]</para></td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<para style="P2"><font color="white"> </font></para>
|
||||
<blockTable colWidths="340.0,55.0,55.0,90.0" style="Table2" repeatRows="1">
|
||||
<tr>
|
||||
<td><para style="P12">Tax Name</para></td>
|
||||
|
@ -123,7 +177,7 @@
|
|||
<td><para style="P12a">Tax Amount</para></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><para style="P5"><font>[[ repeatIn(get_lines(data['form']['based_on'],data['form']['periods'],data['form']['company_id']), 'o') ]]</font><font color="white">[[ (o['level']) ]]</font> <font>[[ (len(o['level'])<5 and setTag('para','para',{'fontName':'Helvetica-Bold'})) or removeParentNode('font') ]]</font><font>[[ o['code'] ]] [[ o['name'] ]] </font></para></td>
|
||||
<td><para style="P5"><font>[[ repeatIn(get_lines(data['form']['based_on'], data['form']['company_id']), 'o') ]]</font><font color="white">[[ (o['level']) ]]</font> <font>[[ (len(o['level'])<5 and setTag('para','para',{'fontName':'Helvetica-Bold'})) or removeParentNode('font') ]]</font><font>[[ o['code'] ]] [[ o['name'] ]] </font></para></td>
|
||||
<td><para style="P6"><font>[[ len(o['level'])<5 and setTag('para','para',{'fontName':"Helvetica-Bold"}) or removeParentNode('font')]]</font><font>[[ o['type']=='view' and removeParentNode('font') ]][[ formatLang(o['debit']) ]]</font><font>[[ o['type']<>'view' and removeParentNode('font') ]][[ formatLang(o['debit']) ]]</font></para></td>
|
||||
<td><para style="P6"><font>[[ len(o['level'])<5 and setTag('para','para',{'fontName':"Helvetica-Bold"}) or removeParentNode('font')]]</font><font>[[ o['type']=='view' and removeParentNode('font') ]][[ formatLang(o['credit']) ]]</font><font>[[ o['type']<>'view' and removeParentNode('font') ]][[ formatLang(o['credit'])]]</font></para></td>
|
||||
<td><para style="P6"><font>[[ len(o['level'])<5 and setTag('para','para',{'fontName':"Helvetica-Bold"}) or removeParentNode('font')]]</font><font>[[ o['type']=='view' and removeParentNode('font') ]][[ formatLang(o['tax_amount']) ]] [[ company.currency_id.symbol ]]</font><font>[[ o['type']<>'view' and removeParentNode('font') ]][[ formatLang(o['tax_amount']) ]] [[ company.currency_id.symbol ]]</font> </para></td>
|
||||
|
|
|
@ -19,14 +19,11 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
from report import report_sxw
|
||||
import xml.dom.minidom
|
||||
import time
|
||||
import osv
|
||||
import re
|
||||
import pooler
|
||||
import sys
|
||||
|
||||
from report import report_sxw
|
||||
|
||||
class rml_parse(report_sxw.rml_parse):
|
||||
def __init__(self, cr, uid, name, context):
|
||||
|
@ -148,3 +145,4 @@ class rml_parse(report_sxw.rml_parse):
|
|||
else:
|
||||
return Stringer
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -1,5 +1,5 @@
|
|||
-
|
||||
In order to test Cash statement I create a Cash statement and and confirm it and check it's move created
|
||||
In order to test Cash statement I create a Cash statement and confirm it and check it's move created
|
||||
-
|
||||
!record {model: account.bank.statement, id: account_bank_statement_1}:
|
||||
date: '2010-10-16'
|
||||
|
@ -13,9 +13,9 @@
|
|||
subtotal: 20.0
|
||||
- pieces: 100.0
|
||||
number: 1
|
||||
subtotal: 200.0
|
||||
balance_start: 220.0
|
||||
balance_end: 220.0
|
||||
subtotal: 100.0
|
||||
balance_start: 120.0
|
||||
balance_end: 120.0
|
||||
-
|
||||
I check that Initially bank statement is in the "Draft" state
|
||||
-
|
||||
|
@ -46,18 +46,18 @@
|
|||
partner_id: base.res_partner_4
|
||||
sequence: 0.0
|
||||
type: general
|
||||
balance_end: 1220.0
|
||||
balance_end: 1120.0
|
||||
ending_details_ids:
|
||||
- pieces: 10.0
|
||||
number: 2
|
||||
subtotal: 20.0
|
||||
- pieces: 100.0
|
||||
number: 1
|
||||
subtotal: 200.0
|
||||
subtotal: 100.0
|
||||
- pieces: 500.0
|
||||
number: 2
|
||||
subtotal: 1000.0
|
||||
balance_end_cash: 1220.0
|
||||
balance_end_cash: 1120.0
|
||||
|
||||
-
|
||||
I clicked on Close CashBox button to close the cashbox
|
||||
|
|
|
@ -1,9 +1,22 @@
|
|||
-
|
||||
In order to test the PDF reports defined on an invoice, we will create a Invoice Record
|
||||
-
|
||||
!record {model: account.invoice, id: test_invoice_1}:
|
||||
currency_id: base.EUR
|
||||
company_id: base.main_company
|
||||
address_invoice_id: base.res_partner_address_tang
|
||||
partner_id: base.res_partner_asus
|
||||
state: draft
|
||||
type: out_invoice
|
||||
account_id: account.a_recv
|
||||
name: Test invoice 1
|
||||
address_contact_id: base.res_partner_address_tang
|
||||
-
|
||||
In order to test the PDF reports defined on an invoice, we will print an Invoice Report
|
||||
-
|
||||
!python {model: account.invoice}: |
|
||||
import netsvc, tools, os
|
||||
(data, format) = netsvc.LocalService('report.account.invoice').create(cr, uid, [ref('account.test_invoice_1')], {}, {})
|
||||
(data, format) = netsvc.LocalService('report.account.invoice').create(cr, uid, [ref('test_invoice_1')], {}, {})
|
||||
if tools.config['test_report_directory']:
|
||||
file(os.path.join(tools.config['test_report_directory'], 'account-invoice.'+format), 'wb+').write(data)
|
||||
|
||||
|
@ -56,7 +69,7 @@
|
|||
-
|
||||
!python {model: account.invoice}: |
|
||||
import netsvc, tools, os
|
||||
(data, format) = netsvc.LocalService('report.account.invoice').create(cr, uid, [ref('account.test_invoice_1')], {}, {})
|
||||
(data, format) = netsvc.LocalService('report.account.invoice').create(cr, uid, [ref('test_invoice_1')], {}, {})
|
||||
if tools.config['test_report_directory']:
|
||||
file(os.path.join(tools.config['test_report_directory'], 'account-invoice.'+format), 'wb+').write(data)
|
||||
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
import time
|
||||
from osv import fields, osv
|
||||
|
||||
class account_chart(osv.osv_memory):
|
||||
|
|
|
@ -36,7 +36,7 @@ class account_invoice_refund(osv.osv_memory):
|
|||
'period': fields.many2one('account.period', 'Force period'),
|
||||
'journal_id': fields.many2one('account.journal', 'Refund Journal', help='You can select here the journal to use for the refund invoice that will be created. If you leave that field empty, it will use the same journal as the current invoice.'),
|
||||
'description': fields.char('Description', size=128, required=True),
|
||||
'filter_refund': fields.selection([('modify', 'Modify'), ('refund', 'Refund'), ('cancel', 'Cancel')], "Refund Type", required=True, help='Refund invoice base on this type. You can not Modify and Cancel if the invoice is already rencociled'),
|
||||
'filter_refund': fields.selection([('modify', 'Modify'), ('refund', 'Refund'), ('cancel', 'Cancel')], "Refund Type", required=True, help='Refund invoice base on this type. You can not Modify and Cancel if the invoice is already reconciled'),
|
||||
}
|
||||
|
||||
def _get_journal(self, cr, uid, context=None):
|
||||
|
@ -179,7 +179,6 @@ class account_invoice_refund(osv.osv_memory):
|
|||
invoice_lines = inv_obj._refund_cleanup_lines(cr, uid, invoice_lines)
|
||||
tax_lines = inv_tax_obj.read(cr, uid, invoice['tax_line'], context=context)
|
||||
tax_lines = inv_obj._refund_cleanup_lines(cr, uid, tax_lines)
|
||||
|
||||
invoice.update({
|
||||
'type': inv.type,
|
||||
'date_invoice': date,
|
||||
|
@ -190,33 +189,32 @@ class account_invoice_refund(osv.osv_memory):
|
|||
'period_id': period,
|
||||
'name': description
|
||||
})
|
||||
|
||||
for field in ('address_contact_id', 'address_invoice_id', 'partner_id',
|
||||
'account_id', 'currency_id', 'payment_term', 'journal_id'):
|
||||
invoice[field] = invoice[field] and invoice[field][0]
|
||||
|
||||
inv_id = inv_obj.create(cr, uid, invoice, {})
|
||||
if inv.payment_term.id:
|
||||
data = inv_obj.onchange_payment_term_date_invoice(cr, uid, [inv_id], inv.payment_term.id, date)
|
||||
if 'value' in data and data['value']:
|
||||
inv_obj.write(cr, uid, [inv_id], data['value'])
|
||||
created_inv.append(inv_id)
|
||||
|
||||
if inv.type in ('out_invoice', 'out_refund'):
|
||||
xml_id = 'action_invoice_tree3'
|
||||
else:
|
||||
xml_id = 'action_invoice_tree4'
|
||||
|
||||
result = mod_obj._get_id(cr, uid, 'account', xml_id)
|
||||
id = mod_obj.read(cr, uid, result, ['res_id'], context=context)['res_id']
|
||||
result = act_obj.read(cr, uid, id, context=context)
|
||||
result['res_id'] = created_inv
|
||||
invoice_domain = eval(result['domain'])
|
||||
invoice_domain.append(('id', 'in', created_inv))
|
||||
result['domain'] = invoice_domain
|
||||
return result
|
||||
|
||||
def invoice_refund(self, cr, uid, ids, context=None):
|
||||
data_refund = self.read(cr, uid, ids, [],context=context)[0]['filter_refund']
|
||||
return self.compute_refund(cr, uid, ids, data_refund, context=context)
|
||||
|
||||
|
||||
account_invoice_refund()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -19,6 +19,8 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
from lxml import etree
|
||||
|
||||
from osv import osv
|
||||
from tools.translate import _
|
||||
import tools
|
||||
|
@ -103,8 +105,11 @@ class account_move_journal(osv.osv_memory):
|
|||
</group>
|
||||
</form>""" % (tools.ustr(journal), tools.ustr(period))
|
||||
|
||||
view = etree.fromstring(view.encode('utf8'))
|
||||
xarch, xfields = self._view_look_dom_arch(cr, uid, view, view_id, context=context)
|
||||
view = xarch
|
||||
res.update({
|
||||
'arch':view
|
||||
'arch': view
|
||||
})
|
||||
return res
|
||||
|
||||
|
|
|
@ -19,8 +19,7 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import fields, osv
|
||||
from tools.translate import _
|
||||
from osv import osv
|
||||
|
||||
class account_move_line_select(osv.osv_memory):
|
||||
"""
|
||||
|
|
|
@ -20,8 +20,6 @@
|
|||
##############################################################################
|
||||
|
||||
from osv import fields, osv
|
||||
from tools.translate import _
|
||||
import tools
|
||||
|
||||
class account_move_line_unreconcile_select(osv.osv_memory):
|
||||
_name = "account.move.line.unreconcile.select"
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
from osv import osv, fields
|
||||
from osv import osv
|
||||
|
||||
import netsvc
|
||||
from tools.translate import _
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import fields, osv
|
||||
from osv import osv
|
||||
|
||||
class account_unreconcile(osv.osv_memory):
|
||||
_name = "account.unreconcile"
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
#
|
||||
##############################################################################
|
||||
import time
|
||||
import datetime
|
||||
|
||||
from osv import fields, osv
|
||||
from tools.translate import _
|
||||
|
|
|
@ -25,8 +25,8 @@ class validate_account_move(osv.osv_memory):
|
|||
_name = "validate.account.move"
|
||||
_description = "Validate Account Move"
|
||||
_columns = {
|
||||
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
|
||||
'period_id': fields.many2one('account.period', 'Period', required=True, domain=[('state','<>','done')]),
|
||||
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
|
||||
'period_id': fields.many2one('account.period', 'Period', required=True, domain=[('state','<>','done')]),
|
||||
}
|
||||
|
||||
def validate_move(self, cr, uid, ids, context=None):
|
||||
|
|
|
@ -24,41 +24,36 @@ from osv import osv, fields
|
|||
class account_vat_declaration(osv.osv_memory):
|
||||
_name = 'account.vat.declaration'
|
||||
_description = 'Account Vat Declaration'
|
||||
_inherit = "account.common.account.report"
|
||||
_inherit = "account.common.report"
|
||||
_columns = {
|
||||
'based_on': fields.selection([('invoices','Invoices'),
|
||||
('payments','Payments'),],
|
||||
'based_on': fields.selection([('invoices', 'Invoices'),
|
||||
('payments', 'Payments'),],
|
||||
'Based On', required=True),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||
'periods': fields.many2many('account.period', 'vat_period_rel', 'vat_id', 'period_id', 'Periods', help="All periods if empty"),
|
||||
'fiscalyear': fields.many2many('account.fiscalyear','vat_fiscal_rel','fiscal_id','Fiscal Year',required=True),
|
||||
}
|
||||
'chart_tax_id': fields.many2one('account.tax.code', 'Chart of Tax', help='Select Charts of Taxes', required=True, domain = [('parent_id','=', False)]),
|
||||
}
|
||||
|
||||
def _get_company(self, cr, uid, context={}):
|
||||
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]
|
||||
def _get_tax(self, cr, uid, context=None):
|
||||
taxes = self.pool.get('account.tax.code').search(cr, uid, [('parent_id', '=', False)], limit=1)
|
||||
return taxes and taxes[0] or False
|
||||
|
||||
_defaults = {
|
||||
'based_on': 'invoices',
|
||||
'company_id': _get_company
|
||||
}
|
||||
'chart_tax_id': _get_tax
|
||||
}
|
||||
|
||||
def create_vat(self, cr, uid, ids, context={}):
|
||||
def create_vat(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
datas = {'ids': context.get('active_ids', [])}
|
||||
datas['model'] = 'account.tax.code'
|
||||
datas['form'] = self.read(cr, uid, ids)[0]
|
||||
datas['form']['company_id'] = self.pool.get('account.tax.code').browse(cr, uid, [datas['form']['chart_tax_id']], context=context)[0].company_id.id
|
||||
return {
|
||||
'type': 'ir.actions.report.xml',
|
||||
'report_name': 'account.vat.declaration',
|
||||
'datas': datas,
|
||||
}
|
||||
|
||||
account_vat_declaration()
|
||||
|
||||
#vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
#vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -7,15 +7,13 @@
|
|||
<field name="model">account.vat.declaration</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select Period">
|
||||
<field name="company_id" groups="base.group_multi_company" widget='selection'/>
|
||||
<newline/>
|
||||
<form string="Taxes Report">
|
||||
<field name="chart_tax_id" widget='selection'/>
|
||||
<field name="fiscalyear_id"/>
|
||||
<field name="based_on"/>
|
||||
<newline/>
|
||||
<separator string="Select Period(s)" colspan="4"/>
|
||||
<field name="periods" nolabel="1" colspan="4"/>
|
||||
<separator string="Select FiscalYear(s)" colspan="4"/>
|
||||
<field name="fiscalyear" nolabel="1" colspan="4"/>
|
||||
<separator string="Periods" colspan="4"/>
|
||||
<field name="period_from" domain="[('fiscalyear_id', '=', fiscalyear_id)]" attrs="{'readonly':[('filter','!=','filter_period')], 'required':[('filter', '=', 'filter_period')]}" />
|
||||
<field name="period_to" domain="[('fiscalyear_id', '=', fiscalyear_id)]" attrs="{'readonly':[('filter','!=','filter_period')], 'required':[('filter', '=', 'filter_period')]}" />
|
||||
<group col="2" colspan="4">
|
||||
<button icon='gtk-cancel' special="cancel" string="Cancel" />
|
||||
<button name="create_vat" string="Print Tax Statement" colspan="1" type="object" icon="gtk-ok"/>
|
||||
|
@ -42,4 +40,4 @@
|
|||
icon="STOCK_PRINT"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev_rc3\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
|
||||
"PO-Revision-Date: 2010-10-24 21:58+0000\n"
|
||||
"Last-Translator: Carlos @ smile.fr <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-10-25 07:12+0000\n"
|
||||
"Last-Translator: Carlos-smile <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-25 04:39+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
|
|
|
@ -7,14 +7,14 @@ 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-10-14 07:30+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
|
||||
"PO-Revision-Date: 2010-10-25 17:55+0000\n"
|
||||
"Last-Translator: zmmaj <Unknown>\n"
|
||||
"Language-Team: Serbian <sr@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-10-15 04:42+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
|
@ -26,14 +26,16 @@ msgstr ""
|
|||
"Broj sati koji mogu biti fakturirani zajedno s onima koji su već fakturisana."
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_user
|
||||
msgid "Hours summary by user"
|
||||
msgstr "Sati sumarno od strane korisnika"
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
"Ime objekta mora da počne sa x_ i ne sme da sadrži specijalne karaktere !"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,last_invoice_date:0
|
||||
msgid "Last Invoice Date"
|
||||
msgstr "Zadnji Datum fakture"
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Pogrešno ime modela u definiciji akcije."
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,remaining_ca:0
|
||||
|
@ -46,25 +48,10 @@ msgid "Computed using the formula: Maximum Quantity - Hours Tot."
|
|||
msgstr "Izračunato pomoću formule: Najveća količina - Ukupno vrijeme"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_all
|
||||
msgid "All Analytic Accounts"
|
||||
msgstr "Svi analitički računi"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed_open
|
||||
#: model:ir.ui.menu,name:account_analytic_analysis.menu_analytic_account_to_valid_open
|
||||
msgid "My Current Accounts"
|
||||
msgstr "Moji tekući računi"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "Nevažeći XML za pregled arhitekture"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,last_invoice_date:0
|
||||
msgid "Date of the last invoice created for this analytic account."
|
||||
msgstr "Datum zadnje fakture kreirana za ovaj analitički račun."
|
||||
#: code:addons/account_analytic_analysis/account_analytic_analysis.py:0
|
||||
#, python-format
|
||||
msgid "AccessError"
|
||||
msgstr "Greška u pristupu"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,ca_theorical:0
|
||||
|
@ -72,28 +59,25 @@ msgid "Theorical Revenue"
|
|||
msgstr "Prihodi teoretski"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Pogrešno ime modela u definiciji akcije."
|
||||
#: field:account.analytic.account,last_invoice_date:0
|
||||
msgid "Last Invoice Date"
|
||||
msgstr "Zadnji Datum fakture"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,last_invoice_date:0
|
||||
msgid "Date of the last invoice created for this analytic account."
|
||||
msgstr "Datum zadnje fakture kreirana za ovaj analitički račun."
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: constraint:ir.ui.menu:0
|
||||
msgid "Error ! You can not create recursive Menu."
|
||||
msgstr "Greska! Ne mozete kreirati rekursivni meni."
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,theorical_margin:0
|
||||
msgid "Computed using the formula: Theorial Revenue - Total Costs"
|
||||
msgstr "Izračunato pomoću formule: Prihodi Teorijski - Ukupni troškovi"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
"Ime objekta mora da počne sa x_ i ne sme da sadrži specijalne karaktere !"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_new
|
||||
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_new
|
||||
msgid "New Analytic Account"
|
||||
msgstr "Novi analitički račun"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,theorical_margin:0
|
||||
msgid "Theorical Margin"
|
||||
|
@ -104,17 +88,6 @@ msgstr "Teoretska margina"
|
|||
msgid "Real Margin Rate (%)"
|
||||
msgstr "Realna Stopa Margine (%)"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_all_open
|
||||
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_all_open
|
||||
msgid "Current Analytic Accounts"
|
||||
msgstr "Tekući analitički računi"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,last_worked_date:0
|
||||
msgid "Date of the latest work done on this account."
|
||||
msgstr "Datum najnovijeg rada obavljenog na ovom računu."
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,last_worked_invoiced_date:0
|
||||
msgid ""
|
||||
|
@ -126,8 +99,8 @@ msgstr ""
|
|||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.ui.menu,name:account_analytic_analysis.menu_invoicing
|
||||
msgid "Invoicing"
|
||||
msgstr "Fakturiranje"
|
||||
msgid "Billing"
|
||||
msgstr "Obracunavanje"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,last_worked_date:0
|
||||
|
@ -171,85 +144,56 @@ msgid "User"
|
|||
msgstr "Korisnik"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed_pending
|
||||
#: model:ir.ui.menu,name:account_analytic_analysis.menu_analytic_account_to_valid_pending
|
||||
msgid "My Pending Accounts"
|
||||
msgstr "Moji računi na čekanju"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_my
|
||||
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_my
|
||||
msgid "My Uninvoiced Entries"
|
||||
msgstr "Moji nefakturirani Ulazi"
|
||||
#: field:account.analytic.account,ca_to_invoice:0
|
||||
msgid "Uninvoiced Amount"
|
||||
msgstr "Nefakturirani iznos"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,real_margin:0
|
||||
msgid "Computed using the formula: Invoiced Amount - Total Costs."
|
||||
msgstr "Izračunato korištenjem formule: Fakturirani iznos - Ukupni troškovi."
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed
|
||||
#: model:ir.ui.menu,name:account_analytic_analysis.menu_analytic_account_managed
|
||||
msgid "My Accounts"
|
||||
msgstr "Moji računi"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.module.module,description:account_analytic_analysis.module_meta_information
|
||||
msgid ""
|
||||
"Modify account analytic view to show\n"
|
||||
"important data for project manager of services companies.\n"
|
||||
"Add menu to show relevant information for each manager."
|
||||
msgstr ""
|
||||
"Promeni prozor analitičkog prikaza računa da bi video\n"
|
||||
"važne podatke za projekt menadžer od usluznih kompanija.\n"
|
||||
"Dodaj meni da prikaze relevantne informacije za svakog menadžera."
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,hours_qtt_non_invoiced:0
|
||||
msgid "Uninvoiced Hours"
|
||||
msgstr "Nefakturirani sati"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,hours_quantity:0
|
||||
msgid "Hours Tot"
|
||||
msgstr "Ukupno sati"
|
||||
#: help:account.analytic.account,last_worked_date:0
|
||||
msgid "Date of the latest work done on this account."
|
||||
msgstr "Datum najnovijeg rada obavljenog na ovom računu."
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.ui.menu,name:account_analytic_analysis.menu_account
|
||||
msgid "Analytic Accounts"
|
||||
msgstr "Analitička konta"
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "Nevažeći XML za pregled arhitekture"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.module.module,shortdesc:account_analytic_analysis.module_meta_information
|
||||
msgid "report_account_analytic"
|
||||
msgstr "izvestaj_analitickog_konta"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_user
|
||||
msgid "Hours Summary by User"
|
||||
msgstr "Ukupno sati po Korisniku"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,ca_invoiced:0
|
||||
msgid "Invoiced Amount"
|
||||
msgstr "Fakturirani iznos"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.ui.menu,name:account_analytic_analysis.next_id_71
|
||||
msgid "Financial Project Management"
|
||||
msgstr "Finansijski Projekt Menadzment"
|
||||
#: code:addons/account_analytic_analysis/account_analytic_analysis.py:0
|
||||
#, python-format
|
||||
msgid "You try to bypass an access rule (Document type: %s)."
|
||||
msgstr "Pokušavate da zaobiđete pravilo za pristup (Dokument tipa: %s)."
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,last_worked_invoiced_date:0
|
||||
msgid "Date of Last Invoiced Cost"
|
||||
msgstr "Datum zadnje fakturiranog troška"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,ca_to_invoice:0
|
||||
msgid "Uninvoiced Amount"
|
||||
msgstr "Nefakturirani iznos"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_all_pending
|
||||
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_all_pending
|
||||
msgid "Pending Analytic Accounts"
|
||||
msgstr "Analitički računi na čekanju"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,hours_qtt_invoiced:0
|
||||
msgid "Invoiced Hours"
|
||||
|
@ -258,7 +202,7 @@ msgstr "Fakturirani sati"
|
|||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,real_margin:0
|
||||
msgid "Real Margin"
|
||||
msgstr "Realna margina"
|
||||
msgstr "Realna marza"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,ca_invoiced:0
|
||||
|
@ -312,37 +256,43 @@ msgstr "Izračunato korištenjem formule: Fakturirani iznos / Ukupno sati"
|
|||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,revenue_per_hour:0
|
||||
msgid "Revenue per Hours (real)"
|
||||
msgstr ""
|
||||
msgstr "Prihod po satiima ( stvarni)"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account_analytic_analysis.summary.month,unit_amount:0
|
||||
#: field:account_analytic_analysis.summary.user,unit_amount:0
|
||||
msgid "Total Time"
|
||||
msgstr ""
|
||||
msgstr "Ukupno Vreme"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,month_ids:0
|
||||
#: field:account_analytic_analysis.summary.month,month:0
|
||||
msgid "Month"
|
||||
msgstr ""
|
||||
msgstr "Mesec"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account_analytic_analysis.summary.month,account_id:0
|
||||
#: field:account_analytic_analysis.summary.user,account_id:0
|
||||
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr ""
|
||||
msgstr "Analitički konto"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed_overpassed
|
||||
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_managed_overpassed
|
||||
msgid "Overpassed Accounts"
|
||||
msgstr ""
|
||||
msgstr "Prekoračeni računi"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_all
|
||||
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_all
|
||||
msgid "All Uninvoiced Entries"
|
||||
msgstr ""
|
||||
msgstr "Sve nefakturirane stavke"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,hours_quantity:0
|
||||
msgid "Hours Tot"
|
||||
msgstr "Ukupno sati"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,total_cost:0
|
||||
|
@ -350,3 +300,50 @@ msgid ""
|
|||
"Total of costs for this account. It includes real costs (from invoices) and "
|
||||
"indirect costs, like time spent on timesheets."
|
||||
msgstr ""
|
||||
"Ukupno troškova za ovaj račun. Uključuje stvarne troškove (iz faktura) i "
|
||||
"indirektne troškove, kao, npr,vrijeme potrošeno na timesheetovima."
|
||||
|
||||
#~ msgid "My Current Accounts"
|
||||
#~ msgstr "Moji tekući računi"
|
||||
|
||||
#~ msgid "Hours summary by user"
|
||||
#~ msgstr "Sati sumarno od strane korisnika"
|
||||
|
||||
#~ msgid "All Analytic Accounts"
|
||||
#~ msgstr "Svi analitički računi"
|
||||
|
||||
#~ msgid "New Analytic Account"
|
||||
#~ msgstr "Novi analitički račun"
|
||||
|
||||
#~ msgid "Current Analytic Accounts"
|
||||
#~ msgstr "Tekući analitički računi"
|
||||
|
||||
#~ msgid "Invoicing"
|
||||
#~ msgstr "Fakturiranje"
|
||||
|
||||
#~ msgid "My Pending Accounts"
|
||||
#~ msgstr "Moji računi na čekanju"
|
||||
|
||||
#~ msgid "My Uninvoiced Entries"
|
||||
#~ msgstr "Moji nefakturirani Ulazi"
|
||||
|
||||
#~ msgid "My Accounts"
|
||||
#~ msgstr "Moji računi"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Modify account analytic view to show\n"
|
||||
#~ "important data for project manager of services companies.\n"
|
||||
#~ "Add menu to show relevant information for each manager."
|
||||
#~ msgstr ""
|
||||
#~ "Promeni prozor analitičkog prikaza računa da bi video\n"
|
||||
#~ "važne podatke za projekt menadžer od usluznih kompanija.\n"
|
||||
#~ "Dodaj meni da prikaze relevantne informacije za svakog menadžera."
|
||||
|
||||
#~ msgid "Financial Project Management"
|
||||
#~ msgstr "Finansijski Projekt Menadzment"
|
||||
|
||||
#~ msgid "Pending Analytic Accounts"
|
||||
#~ msgstr "Analitički računi na čekanju"
|
||||
|
||||
#~ msgid "Analytic Accounts"
|
||||
#~ msgstr "Analitička konta"
|
||||
|
|
|
@ -7,33 +7,21 @@ 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-10-14 07:31+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
|
||||
"PO-Revision-Date: 2010-10-25 20:26+0000\n"
|
||||
"Last-Translator: zmmaj <Unknown>\n"
|
||||
"Language-Team: Serbian <sr@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-10-15 04:42+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: view:account.analytic.default:0
|
||||
#: model:ir.actions.act_window,name:account_analytic_default.action_analytic_default_form
|
||||
#: model:ir.ui.menu,name:account_analytic_default.menu_analytic_defaul_form
|
||||
msgid "Analytic Defaults"
|
||||
msgstr "Uobičajene postavke analitike"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: model:ir.module.module,shortdesc:account_analytic_default.module_meta_information
|
||||
msgid "Account Analytic Default"
|
||||
msgstr "Uobičajene postavke analize računa"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "Nevažeći XML za pregled arhitekture"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
|
@ -42,69 +30,21 @@ msgstr ""
|
|||
"Ime objekta mora da počne sa x_ i ne sme da sadrži specijalne karaktere !"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: view:account.analytic.default:0
|
||||
msgid "Seq"
|
||||
msgstr "Red"
|
||||
#: constraint:ir.ui.menu:0
|
||||
msgid "Error ! You can not create recursive Menu."
|
||||
msgstr "Greska! Ne mozete kreirati rekursivni meni."
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: field:account.analytic.default,date_stop:0
|
||||
msgid "End Date"
|
||||
msgstr "Završni Datum"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: field:account.analytic.default,company_id:0
|
||||
msgid "Company"
|
||||
msgstr "Preduzeće"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: field:account.analytic.default,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr "Sekvenca"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: field:account.analytic.default,product_id:0
|
||||
msgid "Product"
|
||||
msgstr "Proizvod"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: field:account.analytic.default,analytic_id:0
|
||||
msgid "Analytic Account"
|
||||
msgstr "Analitički nalog"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: model:ir.model,name:account_analytic_default.model_account_analytic_default
|
||||
msgid "Analytic Distributions"
|
||||
msgstr "Distribucije analitike"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: field:account.analytic.default,user_id:0
|
||||
msgid "User"
|
||||
msgstr "Korisnik"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Pogrešno ime modela u definiciji akcije."
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: model:ir.actions.act_window,name:account_analytic_default.act_account_acount_move_line_open
|
||||
msgid "Entries"
|
||||
msgstr "Stavke"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: field:account.analytic.default,partner_id:0
|
||||
msgid "Partner"
|
||||
msgstr "Partner"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: field:account.analytic.default,date_start:0
|
||||
msgid "Start Date"
|
||||
msgstr "Početni datum"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: view:account.analytic.default:0
|
||||
msgid "Conditions"
|
||||
msgstr "Uslovi"
|
||||
#: help:account.analytic.default,partner_id:0
|
||||
msgid ""
|
||||
"select a partner which will use analytical account specified in analytic "
|
||||
"default (eg. create new cutomer invoice or Sale order if we select this "
|
||||
"partner, it will automatically take this as an analytical account)"
|
||||
msgstr ""
|
||||
"Selektuj partnera koji ce koristiti analiticki konto specificiran kao "
|
||||
"analiticki podrazumevani konto ( npr, kreiras novu fakturu, ili nabavnu "
|
||||
"fakturu, i ako sad selektujemo partnera, on ce automatski ova podesavanja "
|
||||
"kao svoj analiticki konto)"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_partner
|
||||
|
@ -112,3 +52,165 @@ msgstr "Uslovi"
|
|||
#: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_user
|
||||
msgid "Analytic Rules"
|
||||
msgstr "Pravila analitike"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: help:account.analytic.default,analytic_id:0
|
||||
msgid "Analytical Account"
|
||||
msgstr "Analiticka Konta"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: view:account.analytic.default:0
|
||||
msgid "Current"
|
||||
msgstr "Trenutni"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: view:account.analytic.default:0
|
||||
msgid "Group By..."
|
||||
msgstr "Grupirano po"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: help:account.analytic.default,date_stop:0
|
||||
msgid "Default end date for this Analytical Account"
|
||||
msgstr "podrzaumevani Krajnji datum za ovaj Analiticki Konto"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Pogrešno ime modela u definiciji akcije."
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: model:ir.model,name:account_analytic_default.model_stock_picking
|
||||
msgid "Picking List"
|
||||
msgstr "Izborna Lista"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: view:account.analytic.default:0
|
||||
msgid "Conditions"
|
||||
msgstr "Uslovi"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: help:account.analytic.default,company_id:0
|
||||
msgid ""
|
||||
"select a company which will use analytical account specified in analytic "
|
||||
"default (eg. create new cutomer invoice or Sale order if we select this "
|
||||
"company, it will automatically take this as an analytical account)"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: model:ir.model,name:account_analytic_default.model_sale_order_line
|
||||
msgid "Sale Order Line"
|
||||
msgstr "Stavke naloga za prodaju"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: help:account.analytic.default,date_start:0
|
||||
msgid "Default start date for this Analytical Account"
|
||||
msgstr "Podrazumevani Pocetni datum za ovaj Analiticki konto"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: view:account.analytic.default:0
|
||||
#: field:account.analytic.default,product_id:0
|
||||
msgid "Product"
|
||||
msgstr "Proizvod"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: model:ir.model,name:account_analytic_default.model_account_analytic_default
|
||||
msgid "Analytic Distribution"
|
||||
msgstr "Analitička Distribucija"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: view:account.analytic.default:0
|
||||
#: field:account.analytic.default,company_id:0
|
||||
msgid "Company"
|
||||
msgstr "Preduzeće"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: view:account.analytic.default:0
|
||||
#: field:account.analytic.default,user_id:0
|
||||
msgid "User"
|
||||
msgstr "Korisnik"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: model:ir.actions.act_window,name:account_analytic_default.act_account_acount_move_line_open
|
||||
msgid "Entries"
|
||||
msgstr "Stavke"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: field:account.analytic.default,date_stop:0
|
||||
msgid "End Date"
|
||||
msgstr "Datum završetka"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "Nevažeći XML za pregled arhitekture"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: help:account.analytic.default,user_id:0
|
||||
msgid ""
|
||||
"select a user which will use analytical account specified in analytic default"
|
||||
msgstr ""
|
||||
"Izaberi korisnika koji ce koristiti onaj analiticki konto koji je "
|
||||
"specificiran kao podrazumevani."
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: view:account.analytic.default:0
|
||||
#: model:ir.actions.act_window,name:account_analytic_default.action_analytic_default_list
|
||||
#: model:ir.ui.menu,name:account_analytic_default.menu_analytic_default_list
|
||||
msgid "Analytic Defaults"
|
||||
msgstr "Uobičajene postavke analitike"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: help:account.analytic.default,product_id:0
|
||||
msgid ""
|
||||
"select a product which will use analytical account specified in analytic "
|
||||
"default (eg. create new cutomer invoice or Sale order if we select this "
|
||||
"product, it will automatically take this as an analytical account)"
|
||||
msgstr ""
|
||||
"Izaberi proizvod koji ce koristiti Analiticki konto koji je specificiran kao "
|
||||
"podrazumevani ( npr, kada kreiras racun, ili narudzbenicu, i ako selektujes "
|
||||
"ovaj proizvod, on ce automatski preuzeti ovaj kao svoj Analiticki konto)"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: field:account.analytic.default,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr "Sekvenca"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: model:ir.model,name:account_analytic_default.model_account_invoice_line
|
||||
msgid "Invoice Line"
|
||||
msgstr "Faktura"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: view:account.analytic.default:0
|
||||
#: field:account.analytic.default,analytic_id:0
|
||||
msgid "Analytic Account"
|
||||
msgstr "Analitički konto"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: view:account.analytic.default:0
|
||||
msgid "Accounts"
|
||||
msgstr "Nalozi"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: view:account.analytic.default:0
|
||||
#: field:account.analytic.default,partner_id:0
|
||||
msgid "Partner"
|
||||
msgstr "Partner"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: field:account.analytic.default,date_start:0
|
||||
msgid "Start Date"
|
||||
msgstr "Datum početka"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: help:account.analytic.default,sequence:0
|
||||
msgid ""
|
||||
"Gives the sequence order when displaying a list of analytic distribution"
|
||||
msgstr ""
|
||||
"Daje redosled sekvence pri prikazivanju liste analiticke distribucije"
|
||||
|
||||
#~ msgid "Seq"
|
||||
#~ msgstr "Red"
|
||||
|
||||
#~ msgid "Analytic Distributions"
|
||||
#~ msgstr "Distribucije analitike"
|
||||
|
|
|
@ -7,14 +7,14 @@ 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-10-14 07:31+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
|
||||
"PO-Revision-Date: 2010-10-25 21:37+0000\n"
|
||||
"Last-Translator: zmmaj <Unknown>\n"
|
||||
"Language-Team: Serbian <sr@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-10-15 04:42+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
|
@ -22,6 +22,11 @@ msgstr ""
|
|||
msgid "Account4 Id"
|
||||
msgstr "Šifra računa4"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: constraint:ir.ui.menu:0
|
||||
msgid "Error ! You can not create recursive Menu."
|
||||
msgstr "Greska! Ne mozete kreirati rekursivni meni."
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
|
@ -30,8 +35,10 @@ msgstr ""
|
|||
"Ime objekta mora da počne sa x_ i ne sme da sadrži specijalne karaktere !"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: report:account.analytic.account.crossovered.analytic:0
|
||||
#: view:account.crossovered.analytic:0
|
||||
#: model:ir.actions.act_window,name:account_analytic_plans.action_account_crossovered_analytic
|
||||
#: model:ir.actions.report.xml,name:account_analytic_plans.account_analytic_account_crossovered_analytic
|
||||
#: model:ir.actions.wizard,name:account_analytic_plans.account_analytic_account_inverted_balance_report
|
||||
msgid "Crossovered Analytic"
|
||||
msgstr "Unakrsna analitika"
|
||||
|
||||
|
@ -41,10 +48,15 @@ msgid "Account5 Id"
|
|||
msgstr "Šifra računa5"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: wizard_field:wizard.crossovered.analytic,init,date2:0
|
||||
#: field:account.crossovered.analytic,date2:0
|
||||
msgid "End Date"
|
||||
msgstr "Završni Datum"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,account3_ids:0
|
||||
msgid "Account3 Id"
|
||||
msgstr "Šifra računa3"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance.line,rate:0
|
||||
msgid "Rate (%)"
|
||||
|
@ -55,27 +67,41 @@ msgstr "Stopa (%)"
|
|||
#: field:account.analytic.plan,name:0
|
||||
#: field:account.analytic.plan.line,plan_id:0
|
||||
#: model:ir.actions.act_window,name:account_analytic_plans.account_analytic_plan_form_action
|
||||
#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan
|
||||
#: model:ir.ui.menu,name:account_analytic_plans.menu_account_analytic_plan_action
|
||||
msgid "Analytic Plan"
|
||||
msgstr "Analiticki Plan"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: view:analytic.plan.create.model:0
|
||||
msgid ""
|
||||
"This distribution model has been saved.You will be able to reuse it later."
|
||||
msgstr ""
|
||||
"Distribucioni model je sacuvan. Bicete u mogucnosti da ga kasnije koristite."
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:0
|
||||
#, python-format
|
||||
msgid "Please put a name and a code before saving the model !"
|
||||
msgstr "Molim postavite Ime i sadrzaj pre nego sacuvate model !"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_instance_line
|
||||
msgid "Analytic Instance Line"
|
||||
msgstr ""
|
||||
msgstr "Red Analiticke Instance"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: view:account.analytic.plan.instance.line:0
|
||||
msgid "Analytic Distribution Lines"
|
||||
msgstr "Red analitičke instance"
|
||||
msgstr "Red Analiticke Distribucije"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: wizard_button:wizard.crossovered.analytic,init,print:0
|
||||
#: view:account.crossovered.analytic:0
|
||||
msgid "Print"
|
||||
msgstr "Štampaj"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: rml:account.analytic.account.crossovered.analytic:0
|
||||
#: report:account.analytic.account.crossovered.analytic:0
|
||||
msgid "To Date"
|
||||
msgstr "Do datuma"
|
||||
|
||||
|
@ -90,9 +116,9 @@ msgid "Analytic Distribution's Models"
|
|||
msgstr "Modeli analitičke distribucije"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: rml:account.analytic.account.crossovered.analytic:0
|
||||
#: report:account.analytic.account.crossovered.analytic:0
|
||||
msgid "Account Name"
|
||||
msgstr "Naziv računa"
|
||||
msgstr "Naziv Naloga"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: view:account.analytic.plan.instance.line:0
|
||||
|
@ -110,88 +136,114 @@ msgid "Invalid model name in the action definition."
|
|||
msgstr "Pogrešno ime modela u definiciji akcije."
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.line,name:0
|
||||
msgid "Plan Name"
|
||||
msgstr "Ime Plana"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: rml:account.analytic.account.crossovered.analytic:0
|
||||
#: report:account.analytic.account.crossovered.analytic:0
|
||||
msgid "Printing date"
|
||||
msgstr "Datum stampe"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: rml:account.analytic.account.crossovered.analytic:0
|
||||
#: report:account.analytic.account.crossovered.analytic:0
|
||||
msgid "Percentage"
|
||||
msgstr "Procenat"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: wizard_field:wizard.crossovered.analytic,init,empty_line:0
|
||||
#: model:ir.model,name:account_analytic_plans.model_sale_order_line
|
||||
msgid "Sale Order Line"
|
||||
msgstr "Stavke naloga za prodaju"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.crossovered.analytic,empty_line:0
|
||||
msgid "Dont show empty lines"
|
||||
msgstr "Ne prikazuj prazme redove"
|
||||
msgstr "Ne prikazuj prazne redove"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: wizard_view:wizard.crossovered.analytic,init:0
|
||||
msgid "Select Information"
|
||||
msgstr "Selektuj informaciju"
|
||||
#: model:ir.actions.act_window,name:account_analytic_plans.action_analytic_plan_create_model
|
||||
msgid "analytic.plan.create.model.action"
|
||||
msgstr "analytic.plan.create.model.action"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,account3_ids:0
|
||||
msgid "Account3 Id"
|
||||
msgstr "Šifra računa3"
|
||||
#: code:addons/account_analytic_plans/account_analytic_plans.py:0
|
||||
#, python-format
|
||||
msgid "A model having this name and code already exists !"
|
||||
msgstr "Model sa ovim imenom i sadrzajem vec postoji !"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,journal_id:0
|
||||
#: wizard_field:wizard.crossovered.analytic,init,journal_ids:0
|
||||
#: view:account.crossovered.analytic:0
|
||||
#: field:account.crossovered.analytic,journal_ids:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Analiticki Dnevnik"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: rml:account.analytic.account.crossovered.analytic:0
|
||||
#: report:account.analytic.account.crossovered.analytic:0
|
||||
msgid "100.00%"
|
||||
msgstr "100.00%"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: wizard_field:wizard.crossovered.analytic,init,ref:0
|
||||
msgid "Analytic Account Ref."
|
||||
msgstr "Veza analitičkog konta"
|
||||
#: report:account.analytic.account.crossovered.analytic:0
|
||||
msgid "Currency"
|
||||
msgstr "Valuta"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: rml:account.analytic.account.crossovered.analytic:0
|
||||
#: report:account.analytic.account.crossovered.analytic:0
|
||||
msgid "Analytic Account :"
|
||||
msgstr "Analiticki konto :"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: view:account.analytic.plan.line:0
|
||||
#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_line
|
||||
msgid "Analytic Plan Line"
|
||||
msgstr "Red Analitickog Plana"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: rml:account.analytic.account.crossovered.analytic:0
|
||||
#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:0
|
||||
#, python-format
|
||||
msgid "No analytic plan defined !"
|
||||
msgstr "Analiticki plan nije definisan !"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: report:account.analytic.account.crossovered.analytic:0
|
||||
msgid "Analytic Account Reference:"
|
||||
msgstr "Veza analitičkog konta:"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.actions.wizard,name:account_analytic_plans.create_model
|
||||
msgid "Create Model"
|
||||
msgstr "Kreiraj Model"
|
||||
#: field:account.analytic.plan.line,name:0
|
||||
msgid "Plan Name"
|
||||
msgstr "Ime Plana"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan,default_instance_id:0
|
||||
msgid "Default Entries"
|
||||
msgstr "Uobičajene stavke"
|
||||
msgstr "Podrazumevane Stavke"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: code:addons/account_analytic_plans/account_analytic_plans.py:0
|
||||
#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:0
|
||||
#, python-format
|
||||
msgid "Error"
|
||||
msgstr "Greška"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: view:account.analytic.plan:0
|
||||
#: field:account.analytic.plan,plan_ids:0
|
||||
#: field:account.journal,plan_id:0
|
||||
#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan
|
||||
msgid "Analytic Plans"
|
||||
msgstr "Analitički planovi"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.line,min_required:0
|
||||
msgid "Minimum Allowed (%)"
|
||||
msgstr "Minimalno dozvoljeno (%)"
|
||||
#: code:addons/account_analytic_plans/wizard/account_crossovered_analytic.py:0
|
||||
#, python-format
|
||||
msgid "User Error"
|
||||
msgstr "Korisnicka Greska"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.model,name:account_analytic_plans.model_account_move_line
|
||||
msgid "Journal Items"
|
||||
msgstr "Sadrzaj Dnevnika"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.model,name:account_analytic_plans.model_analytic_plan_create_model
|
||||
msgid "analytic.plan.create.model"
|
||||
msgstr "analytic.plan.create.model"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,account1_ids:0
|
||||
|
@ -204,9 +256,16 @@ msgid "Maximum Allowed (%)"
|
|||
msgstr "Maksimalno dozvoljeno (%)"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: wizard_view:create.model,info:0
|
||||
#: field:account.analytic.plan.line,root_analytic_id:0
|
||||
msgid "Root Account"
|
||||
msgstr "Osnovni nalog (root)"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:0
|
||||
#: view:analytic.plan.create.model:0
|
||||
#, python-format
|
||||
msgid "Distribution Model Saved"
|
||||
msgstr "Model distribucije je sacuvan"
|
||||
msgstr "Distribucioni model je sacuvan"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_instance
|
||||
|
@ -223,6 +282,62 @@ msgstr "Nevažeći XML za pregled arhitekture"
|
|||
msgid "Distribution Models"
|
||||
msgstr "Dsitribucioni Modeli"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: view:analytic.plan.create.model:0
|
||||
msgid "Ok"
|
||||
msgstr "U redu"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.module.module,shortdesc:account_analytic_plans.module_meta_information
|
||||
msgid "Multiple-plans management in Analytic Accounting"
|
||||
msgstr "Visestruki-planovi menadzmenta u Analitickom racunovodstvu"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: view:account.analytic.plan.line:0
|
||||
msgid "Analytic Plan Lines"
|
||||
msgstr "Redovi analitičkog plana"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.line,min_required:0
|
||||
msgid "Minimum Allowed (%)"
|
||||
msgstr "Minimalno dozvoljeno (%)"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,plan_id:0
|
||||
msgid "Model's Plan"
|
||||
msgstr "Plan modela"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,account2_ids:0
|
||||
msgid "Account2 Id"
|
||||
msgstr "Šifra računa2"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: code:addons/account_analytic_plans/account_analytic_plans.py:0
|
||||
#, python-format
|
||||
msgid "The Total Should be Between %s and %s"
|
||||
msgstr "Ukupni iznos bi trebalo da se nalazi izmedju %s i %s"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.model,name:account_analytic_plans.model_account_bank_statement_line
|
||||
msgid "Bank Statement Line"
|
||||
msgstr "Red bankovnog izvoda"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: report:account.analytic.account.crossovered.analytic:0
|
||||
msgid "Amount"
|
||||
msgstr "Iznos"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.model,name:account_analytic_plans.model_account_crossovered_analytic
|
||||
msgid "Print Crossovered Analytic"
|
||||
msgstr "Stampa Unakrsne Analitike"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,account6_ids:0
|
||||
msgid "Account6 Id"
|
||||
msgstr "Šifra računa6"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.module.module,description:account_analytic_plans.module_meta_information
|
||||
msgid ""
|
||||
|
@ -255,115 +370,69 @@ msgid ""
|
|||
"So when this line of invoice will be confirmed, it will generate 3 analytic "
|
||||
"lines,\n"
|
||||
"for one account entry.\n"
|
||||
"The analytic plan validates the minimum and maximum percentage at the time "
|
||||
"of creation\n"
|
||||
"of distribution models.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"Ovaj modul vam omogucava da koristite nekoliko analiticka plana, koji "
|
||||
"odgovaraju osnovnom dnevniku,\n"
|
||||
"i tako visestruko analizirate stavke kreirane kada je racun ili stavka\n"
|
||||
"potvrdjena\n"
|
||||
"\n"
|
||||
"Na primer, mozete definisati sledecu analiticku strukturu:\n"
|
||||
" Projekat\n"
|
||||
" Projekat 1\n"
|
||||
" SubProj 1.1\n"
|
||||
" SubProj 1.2\n"
|
||||
" Projekat 2\n"
|
||||
" Prodavac\n"
|
||||
" Janko\n"
|
||||
" Marko\n"
|
||||
"\n"
|
||||
"Ovde imamo dva plana. Projekat i Prodavac. Red racuna mora da\n"
|
||||
"moze da napise analiticke stavke u 2 plana: SubProj 1.1 i\n"
|
||||
"Marko. Iznos se takodje deli. Sledeci primer je za racune koji \n"
|
||||
"su zajednicko sa dva subprojekta i dodati su jednom prodavcu:\n"
|
||||
"\n"
|
||||
"Plan1:\n"
|
||||
" SubProj 1.1 : 50%\n"
|
||||
" SubProj 1.2 : 50%\n"
|
||||
"PLan2:\n"
|
||||
" Janko: 100%\n"
|
||||
"\n"
|
||||
"Tako da kad se ova linija racuna potvrdi, ona ce generisati 3 \n"
|
||||
"analiticke linije za jednu stavku racuna.\n"
|
||||
" "
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.module.module,shortdesc:account_analytic_plans.module_meta_information
|
||||
msgid "Multiple-plans management in Analytic Accounting"
|
||||
msgstr "Visestruki-planovi menadzmenta u Analitickom racunovodstvu"
|
||||
#: view:analytic.plan.create.model:0
|
||||
msgid "Save This Distribution as a Model"
|
||||
msgstr "Sacuvaj Ovu Distribuciju kao Model"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: view:account.analytic.plan.line:0
|
||||
#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_line
|
||||
msgid "Analytic Plan Lines"
|
||||
msgstr "Redovi analitičkog plana"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: rml:account.analytic.account.crossovered.analytic:0
|
||||
msgid "Crossovered Analytic -"
|
||||
msgstr "Unakrsna Analitika-"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,plan_id:0
|
||||
msgid "Model's Plan"
|
||||
msgstr "Plan modela"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,account2_ids:0
|
||||
msgid "Account2 Id"
|
||||
msgstr "Šifra računa2"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: rml:account.analytic.account.crossovered.analytic:0
|
||||
msgid "Amount"
|
||||
msgstr "Iznos"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: help:account.analytic.plan.line,root_analytic_id:0
|
||||
msgid "Root account of this plan."
|
||||
msgstr "Osnovni konto ovog plana."
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,account6_ids:0
|
||||
msgid "Account6 Id"
|
||||
msgstr "Šifra računa6"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: rml:account.analytic.account.crossovered.analytic:0
|
||||
#: report:account.analytic.account.crossovered.analytic:0
|
||||
msgid "Quantity"
|
||||
msgstr "Količina"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.ui.menu,name:account_analytic_plans.menu_account_analytic_multi_plan_action
|
||||
msgid "Multi Plans"
|
||||
msgstr "Multi-Planovi"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,account_ids:0
|
||||
msgid "Account Id"
|
||||
msgstr "Šifra konta"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: rml:account.analytic.account.crossovered.analytic:0
|
||||
#: report:account.analytic.account.crossovered.analytic:0
|
||||
msgid "Code"
|
||||
msgstr "Kod"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: wizard_button:create.model,info,end:0
|
||||
msgid "OK"
|
||||
msgstr "U redu"
|
||||
#: model:ir.model,name:account_analytic_plans.model_account_journal
|
||||
msgid "Journal"
|
||||
msgstr "Dnevnik"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.line,root_analytic_id:0
|
||||
msgid "Root Account"
|
||||
msgstr "Osnovni nalog (root)"
|
||||
#: code:addons/account_analytic_plans/account_analytic_plans.py:0
|
||||
#, python-format
|
||||
msgid "You have to define an analytic journal on the '%s' journal!"
|
||||
msgstr "TReba da definises analiticki dnevnik u '%s' dnevnika!"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: wizard_view:create.model,info:0
|
||||
msgid ""
|
||||
"This distribution model has been saved. You will be able to reuse it later."
|
||||
msgstr "Distribucijski Model je sacuvan. Možete ga koristiti kasnije."
|
||||
#: code:addons/account_analytic_plans/account_analytic_plans.py:0
|
||||
#, python-format
|
||||
msgid "No Analytic Journal !"
|
||||
msgstr "Nema Analitickog Dnevnika"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.line,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr "Sekvenca"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.model,name:account_analytic_plans.model_account_invoice_line
|
||||
msgid "Invoice Line"
|
||||
msgstr "Faktura"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.model,name:account_analytic_plans.model_account_bank_statement
|
||||
msgid "Bank Statement"
|
||||
msgstr "Izvod banke"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance.line,analytic_account_id:0
|
||||
msgid "Analytic Account"
|
||||
|
@ -373,32 +442,140 @@ msgstr "Analitički nalog"
|
|||
#: field:account.analytic.default,analytics_id:0
|
||||
#: view:account.analytic.plan.instance:0
|
||||
#: field:account.analytic.plan.instance,name:0
|
||||
#: field:account.bank.statement.line,analytics_id:0
|
||||
#: field:account.invoice.line,analytics_id:0
|
||||
#: field:account.move.line,analytics_id:0
|
||||
#: model:ir.model,name:account_analytic_plans.model_account_analytic_default
|
||||
msgid "Analytic Distribution"
|
||||
msgstr "Analitička Distribucija"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.ui.menu,name:account_analytic_plans.menu_account_analytic_plan_instance_action
|
||||
msgid "Analytic Distribution's models"
|
||||
msgstr "Modeli Analitičkih Distribucija"
|
||||
#: code:addons/account_analytic_plans/account_analytic_plans.py:0
|
||||
#, python-format
|
||||
msgid "Value Error"
|
||||
msgstr "Pogresna Vrednost"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: wizard_button:wizard.crossovered.analytic,init,end:0
|
||||
#: help:account.analytic.plan.line,root_analytic_id:0
|
||||
msgid "Root account of this plan."
|
||||
msgstr "Osnovni konto ovog plana."
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.crossovered.analytic,ref:0
|
||||
msgid "Analytic Account Reference"
|
||||
msgstr "referenca Analitickjog naloga"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.model,name:account_analytic_plans.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Račun"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: view:account.crossovered.analytic:0
|
||||
#: view:analytic.plan.create.model:0
|
||||
msgid "Cancel"
|
||||
msgstr "Otkaži"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: wizard_field:wizard.crossovered.analytic,init,date1:0
|
||||
#: field:account.crossovered.analytic,date1:0
|
||||
msgid "Start Date"
|
||||
msgstr "Početni datum"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: rml:account.analytic.account.crossovered.analytic:0
|
||||
#: report:account.analytic.account.crossovered.analytic:0
|
||||
msgid "at"
|
||||
msgstr "u"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: rml:account.analytic.account.crossovered.analytic:0
|
||||
#: report:account.analytic.account.crossovered.analytic:0
|
||||
msgid "Company"
|
||||
msgstr "Preduzeće"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: report:account.analytic.account.crossovered.analytic:0
|
||||
msgid "From Date"
|
||||
msgstr "Od datuma"
|
||||
|
||||
#~ msgid "Analytic Account Ref."
|
||||
#~ msgstr "Veza analitičkog konta"
|
||||
|
||||
#~ msgid "Select Information"
|
||||
#~ msgstr "Selektuj informaciju"
|
||||
|
||||
#~ msgid "Create Model"
|
||||
#~ msgstr "Kreiraj Model"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This module allows to use several analytic plans, according to the general "
|
||||
#~ "journal,\n"
|
||||
#~ "so that multiple analytic lines are created when the invoice or the entries\n"
|
||||
#~ "are confirmed.\n"
|
||||
#~ "\n"
|
||||
#~ "For example, you can define the following analytic structure:\n"
|
||||
#~ " Projects\n"
|
||||
#~ " Project 1\n"
|
||||
#~ " SubProj 1.1\n"
|
||||
#~ " SubProj 1.2\n"
|
||||
#~ " Project 2\n"
|
||||
#~ " Salesman\n"
|
||||
#~ " Eric\n"
|
||||
#~ " Fabien\n"
|
||||
#~ "\n"
|
||||
#~ "Here, we have two plans: Projects and Salesman. An invoice line must\n"
|
||||
#~ "be able to write analytic entries in the 2 plans: SubProj 1.1 and\n"
|
||||
#~ "Fabien. The amount can also be split. The following example is for\n"
|
||||
#~ "an invoice that touches the two subproject and assigned to one salesman:\n"
|
||||
#~ "\n"
|
||||
#~ "Plan1:\n"
|
||||
#~ " SubProject 1.1 : 50%\n"
|
||||
#~ " SubProject 1.2 : 50%\n"
|
||||
#~ "Plan2:\n"
|
||||
#~ " Eric: 100%\n"
|
||||
#~ "\n"
|
||||
#~ "So when this line of invoice will be confirmed, it will generate 3 analytic "
|
||||
#~ "lines,\n"
|
||||
#~ "for one account entry.\n"
|
||||
#~ " "
|
||||
#~ msgstr ""
|
||||
#~ "Ovaj modul vam omogucava da koristite nekoliko analiticka plana, koji "
|
||||
#~ "odgovaraju osnovnom dnevniku,\n"
|
||||
#~ "i tako visestruko analizirate stavke kreirane kada je racun ili stavka\n"
|
||||
#~ "potvrdjena\n"
|
||||
#~ "\n"
|
||||
#~ "Na primer, mozete definisati sledecu analiticku strukturu:\n"
|
||||
#~ " Projekat\n"
|
||||
#~ " Projekat 1\n"
|
||||
#~ " SubProj 1.1\n"
|
||||
#~ " SubProj 1.2\n"
|
||||
#~ " Projekat 2\n"
|
||||
#~ " Prodavac\n"
|
||||
#~ " Janko\n"
|
||||
#~ " Marko\n"
|
||||
#~ "\n"
|
||||
#~ "Ovde imamo dva plana. Projekat i Prodavac. Red racuna mora da\n"
|
||||
#~ "moze da napise analiticke stavke u 2 plana: SubProj 1.1 i\n"
|
||||
#~ "Marko. Iznos se takodje deli. Sledeci primer je za racune koji \n"
|
||||
#~ "su zajednicko sa dva subprojekta i dodati su jednom prodavcu:\n"
|
||||
#~ "\n"
|
||||
#~ "Plan1:\n"
|
||||
#~ " SubProj 1.1 : 50%\n"
|
||||
#~ " SubProj 1.2 : 50%\n"
|
||||
#~ "PLan2:\n"
|
||||
#~ " Janko: 100%\n"
|
||||
#~ "\n"
|
||||
#~ "Tako da kad se ova linija racuna potvrdi, ona ce generisati 3 \n"
|
||||
#~ "analiticke linije za jednu stavku racuna.\n"
|
||||
#~ " "
|
||||
|
||||
#~ msgid "Crossovered Analytic -"
|
||||
#~ msgstr "Unakrsna Analitika-"
|
||||
|
||||
#~ msgid "Analytic Distribution's models"
|
||||
#~ msgstr "Modeli Analitičkih Distribucija"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This distribution model has been saved. You will be able to reuse it later."
|
||||
#~ msgstr "Distribucijski Model je sacuvan. Možete ga koristiti kasnije."
|
||||
|
||||
#~ msgid "OK"
|
||||
#~ msgstr "U redu"
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
|
||||
"PO-Revision-Date: 2010-10-24 22:06+0000\n"
|
||||
"Last-Translator: Carlos @ smile.fr <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-10-25 07:16+0000\n"
|
||||
"Last-Translator: Carlos-smile <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-25 04:39+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_budget
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
import time
|
||||
|
||||
from osv import osv,fields
|
||||
from tools.translate import _
|
||||
|
||||
class account_coda(osv.osv):
|
||||
_name = "account.coda"
|
||||
|
@ -41,6 +42,13 @@ class account_coda(osv.osv):
|
|||
'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'account.coda', context=c),
|
||||
}
|
||||
|
||||
def search(self, cr, user, args, offset=0, limit=None, order=None, context=None, count=False):
|
||||
res = super(account_coda, self).search(cr, user, args=args, offset=offset, limit=limit, order=order,
|
||||
context=context, count=count)
|
||||
if context.get('bank_statement', False) and not res:
|
||||
raise osv.except_osv('Error', _('Coda file not found for bank statement !!'))
|
||||
return res
|
||||
|
||||
account_coda()
|
||||
|
||||
class account_bank_statement(osv.osv):
|
||||
|
|
|
@ -80,12 +80,13 @@
|
|||
id="menu_account_coda_import" sequence="20"/>
|
||||
|
||||
<act_window name="Coda File"
|
||||
domain="[('statement_ids', 'in', [active_id])]"
|
||||
res_model="account.coda"
|
||||
src_model="account.bank.statement"
|
||||
view_type="form"
|
||||
view_mode="tree,form"
|
||||
id="act_account_payment_account_bank_statement"/>
|
||||
domain="[('statement_ids', 'in', [active_id])]"
|
||||
context="{'bank_statement': 1}"
|
||||
res_model="account.coda"
|
||||
src_model="account.bank.statement"
|
||||
view_type="form"
|
||||
view_mode="tree,form"
|
||||
id="act_account_payment_account_bank_statement"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
|
||||
"PO-Revision-Date: 2010-10-24 22:16+0000\n"
|
||||
"Last-Translator: Carlos @ smile.fr <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-10-25 07:09+0000\n"
|
||||
"Last-Translator: Carlos-smile <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-25 04:39+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_followup
|
||||
|
|
|
@ -1,9 +1,22 @@
|
|||
-
|
||||
In order to Print the Invoice layout report in Normal Mode, we will create a invoice record
|
||||
-
|
||||
!record {model: account.invoice, id: test_invoice_1}:
|
||||
currency_id: base.EUR
|
||||
company_id: base.main_company
|
||||
address_invoice_id: base.res_partner_address_tang
|
||||
partner_id: base.res_partner_asus
|
||||
state: draft
|
||||
type: out_invoice
|
||||
account_id: account.a_recv
|
||||
name: Test invoice 1
|
||||
address_contact_id: base.res_partner_address_tang
|
||||
-
|
||||
Print the Invoice layout report in Normal Mode
|
||||
-
|
||||
-
|
||||
!python {model: account.invoice}: |
|
||||
import netsvc, tools, os
|
||||
(data, format) = netsvc.LocalService('report.account.invoice.layout').create(cr, uid, [ref('account.test_invoice_1')], {}, {})
|
||||
(data, format) = netsvc.LocalService('report.account.invoice.layout').create(cr, uid, [ref('test_invoice_1')], {}, {})
|
||||
if tools.config['test_report_directory']:
|
||||
file(os.path.join(tools.config['test_report_directory'], 'account_invoice_layout.'+format), 'wb+').write(data)
|
||||
-
|
||||
|
@ -11,7 +24,7 @@
|
|||
-
|
||||
!python {model: account.invoice}: |
|
||||
import netsvc, tools, os, time
|
||||
data_dict = {'model': 'account.invoice', 'form': {'message':ref('account_invoice_layout.demo_message1'),'id':ref('account.test_invoice_1'),'context':{}}}
|
||||
(data, format) = netsvc.LocalService('report.notify_account.invoice').create(cr, uid, [ref('account.test_invoice_1')], data_dict, {})
|
||||
data_dict = {'model': 'account.invoice', 'form': {'message':ref('account_invoice_layout.demo_message1'),'id':ref('test_invoice_1'),'context':{}}}
|
||||
(data, format) = netsvc.LocalService('report.notify_account.invoice').create(cr, uid, [ref('test_invoice_1')], data_dict, {})
|
||||
if tools.config['test_report_directory']:
|
||||
file(os.path.join(tools.config['test_report_directory'], 'account_invoice_layout_message_report.'+format), 'wb+').write(data)
|
||||
file(os.path.join(tools.config['test_report_directory'], 'account_invoice_layout_message_report.'+format), 'wb+').write(data)
|
|
@ -19,7 +19,6 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
|
||||
{
|
||||
"name": "Payment Management",
|
||||
"version": "1.1",
|
||||
|
@ -56,4 +55,4 @@ This module provides :
|
|||
'active': False,
|
||||
'certificate': '0061703998541',
|
||||
}
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -20,6 +20,7 @@
|
|||
##############################################################################
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
from osv import fields, osv
|
||||
|
||||
class Invoice(osv.osv):
|
||||
|
@ -49,4 +50,4 @@ class Invoice(osv.osv):
|
|||
|
||||
Invoice()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -18,6 +18,7 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from operator import itemgetter
|
||||
from osv import fields, osv
|
||||
from tools.translate import _
|
||||
|
@ -40,10 +41,10 @@ class account_move_line(osv.osv):
|
|||
INNER JOIN payment_order po
|
||||
ON (pl.order_id = po.id)
|
||||
WHERE move_line_id = ml.id
|
||||
AND po.state != 'cancel') as amount
|
||||
AND po.state != 'cancel') AS amount
|
||||
FROM account_move_line ml
|
||||
WHERE id IN %s""", (tuple(ids),))
|
||||
r=dict(cr.fetchall())
|
||||
r = dict(cr.fetchall())
|
||||
return r
|
||||
|
||||
def _to_pay_search(self, cr, uid, obj, name, args, context):
|
||||
|
@ -74,8 +75,8 @@ class account_move_line(osv.osv):
|
|||
|
||||
res = cr.fetchall()
|
||||
if not res:
|
||||
return [('id','=','0')]
|
||||
return [('id','in',map(lambda x:x[0], res))]
|
||||
return [('id', '=', '0')]
|
||||
return [('id', 'in', map(lambda x:x[0], res))]
|
||||
|
||||
def line2bank(self, cr, uid, ids, payment_type=None, context=None):
|
||||
"""
|
||||
|
@ -116,5 +117,4 @@ class account_move_line(osv.osv):
|
|||
|
||||
account_move_line()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -27,7 +27,7 @@ import netsvc
|
|||
class payment_mode(osv.osv):
|
||||
_name= 'payment.mode'
|
||||
_description= 'Payment Mode'
|
||||
_columns= {
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=64, required=True, help='Mode of Payment'),
|
||||
'bank_id': fields.many2one('res.partner.bank', "Bank account",
|
||||
required=True,help='Bank Account for the Payment Mode'),
|
||||
|
@ -44,10 +44,10 @@ class payment_mode(osv.osv):
|
|||
for the given payment type code"""
|
||||
if not payment_code:
|
||||
return []
|
||||
cr.execute(""" select pb.state
|
||||
from res_partner_bank pb
|
||||
join payment_mode pm on (pm.bank_id = pb.id)
|
||||
where pm.id = %s """, [payment_code])
|
||||
cr.execute(""" SELECT pb.state
|
||||
FROM res_partner_bank pb
|
||||
JOIN payment_mode pm ON (pm.bank_id = pb.id)
|
||||
WHERE pm.id = %s """, [payment_code])
|
||||
return [x[0] for x in cr.fetchall()]
|
||||
|
||||
payment_mode()
|
||||
|
@ -75,48 +75,49 @@ class payment_order(osv.osv):
|
|||
return res
|
||||
|
||||
_columns = {
|
||||
'date_scheduled': fields.date('Scheduled date if fixed', states={'done':[('readonly',True)]}, help='Select a date if you have chosen Preferred Date to be fixed.'),
|
||||
'reference': fields.char('Reference', size=128, required=1, states={'done':[('readonly',True)]}),
|
||||
'mode': fields.many2one('payment.mode','Payment mode', select=True, required=1, states={'done':[('readonly',True)]}, help='Select the Payment Mode to be applied.'),
|
||||
'date_scheduled': fields.date('Scheduled date if fixed', states={'done':[('readonly', True)]}, help='Select a date if you have chosen Preferred Date to be fixed.'),
|
||||
'reference': fields.char('Reference', size=128, required=1, states={'done': [('readonly', True)]}),
|
||||
'mode': fields.many2one('payment.mode', 'Payment mode', select=True, required=1, states={'done': [('readonly', True)]}, help='Select the Payment Mode to be applied.'),
|
||||
'state': fields.selection([
|
||||
('draft', 'Draft'),
|
||||
('open','Confirmed'),
|
||||
('cancel','Cancelled'),
|
||||
('done','Done')], 'State', select=True,
|
||||
('open', 'Confirmed'),
|
||||
('cancel', 'Cancelled'),
|
||||
('done', 'Done')], 'State', select=True,
|
||||
help='When an order is placed the state is \'Draft\'.\n Once the bank is confirmed the state is set to \'Confirmed\'.\n Then the order is paid the state is \'Done\'.'),
|
||||
'line_ids': fields.one2many('payment.line', 'order_id', 'Payment lines', states={'done':[('readonly',True)]}),
|
||||
'total': fields.function(_total, string="Total", method=True,
|
||||
type='float'),
|
||||
'user_id': fields.many2one('res.users', 'User', required=True, states={'done':[('readonly',True)]}),
|
||||
'line_ids': fields.one2many('payment.line', 'order_id', 'Payment lines', states={'done': [('readonly', True)]}),
|
||||
'total': fields.function(_total, string="Total", method=True, type='float'),
|
||||
'user_id': fields.many2one('res.users', 'User', required=True, states={'done': [('readonly', True)]}),
|
||||
'date_prefered': fields.selection([
|
||||
('now', 'Directly'),
|
||||
('due', 'Due date'),
|
||||
('fixed', 'Fixed date')
|
||||
], "Preferred date", change_default=True, required=True, states={'done':[('readonly', True)]}, help="Choose an option for the Payment Order:'Fixed' stands for a date specified by you.'Directly' stands for the direct execution.'Due date' stands for the scheduled date of execution."),
|
||||
], "Preferred date", change_default=True, required=True, states={'done': [('readonly', True)]}, help="Choose an option for the Payment Order:'Fixed' stands for a date specified by you.'Directly' stands for the direct execution.'Due date' stands for the scheduled date of execution."),
|
||||
'date_created': fields.date('Creation date', readonly=True),
|
||||
'date_done': fields.date('Execution date', readonly=True),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
'user_id': lambda self,cr,uid,context: uid,
|
||||
'state': lambda *a: 'draft',
|
||||
'date_prefered': lambda *a: 'due',
|
||||
'date_created': lambda *a: time.strftime('%Y-%m-%d'),
|
||||
'state': 'draft',
|
||||
'date_prefered': 'due',
|
||||
'date_created': time.strftime('%Y-%m-%d'),
|
||||
'reference': lambda self,cr,uid,context: self.pool.get('ir.sequence').get(cr, uid, 'payment.order'),
|
||||
}
|
||||
|
||||
def set_to_draft(self, cr, uid, ids, *args):
|
||||
self.write(cr, uid, ids, {'state':'draft'})
|
||||
self.write(cr, uid, ids, {'state': 'draft'})
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for id in ids:
|
||||
wf_service.trg_create(uid, 'payment.order', id, cr)
|
||||
return True
|
||||
|
||||
def action_open(self, cr, uid, ids, *args):
|
||||
ir_seq_obj = self.pool.get('ir.sequence')
|
||||
|
||||
for order in self.read(cr, uid, ids, ['reference']):
|
||||
if not order['reference']:
|
||||
reference = self.pool.get('ir.sequence').get(cr, uid, 'payment.order')
|
||||
self.write(cr, uid, order['id'],{'reference':reference})
|
||||
reference = ir_seq_obj.get(cr, uid, 'payment.order')
|
||||
self.write(cr, uid, order['id'], {'reference':reference})
|
||||
return True
|
||||
|
||||
def set_done(self, cr, uid, ids, *args):
|
||||
|
@ -127,7 +128,7 @@ class payment_order(osv.osv):
|
|||
|
||||
def copy(self, cr, uid, id, default={}, context=None):
|
||||
default.update({
|
||||
'state':'draft',
|
||||
'state': 'draft',
|
||||
'line_ids': [],
|
||||
'reference': self.pool.get('ir.sequence').get(cr, uid, 'payment.order')
|
||||
})
|
||||
|
@ -138,18 +139,19 @@ class payment_order(osv.osv):
|
|||
context = {}
|
||||
payment_line_obj = self.pool.get('payment.line')
|
||||
payment_line_ids = []
|
||||
|
||||
if (vals.get('date_prefered', False) == 'fixed' and not vals.get('date_scheduled', False)) or vals.get('date_scheduled', False):
|
||||
for order in self.browse(cr, uid, ids, context=context):
|
||||
for line in order.line_ids:
|
||||
payment_line_ids.append(line.id)
|
||||
payment_line_obj.write(cr, uid, payment_line_ids, {'date':vals.get('date_scheduled', False)}, context=context)
|
||||
payment_line_obj.write(cr, uid, payment_line_ids, {'date': vals.get('date_scheduled', False)}, context=context)
|
||||
elif vals.get('date_prefered', False) == 'due':
|
||||
vals.update({'date_scheduled':False})
|
||||
vals.update({'date_scheduled': False})
|
||||
for order in self.browse(cr, uid, ids, context=context):
|
||||
for line in order.line_ids:
|
||||
payment_line_obj.write(cr, uid, [line.id], {'date':line.ml_maturity_date}, context=context)
|
||||
payment_line_obj.write(cr, uid, [line.id], {'date': line.ml_maturity_date}, context=context)
|
||||
elif vals.get('date_prefered', False) == 'now':
|
||||
vals.update({'date_scheduled':False})
|
||||
vals.update({'date_scheduled': False})
|
||||
for order in self.browse(cr, uid, ids, context=context):
|
||||
for line in order.line_ids:
|
||||
payment_line_ids.append(line.id)
|
||||
|
@ -169,63 +171,67 @@ class payment_line(osv.osv):
|
|||
|
||||
def info_owner(self, cr, uid, ids, name=None, args=None, context=None):
|
||||
if not ids: return {}
|
||||
partner_zip_obj = self.pool.get('res.partner.zip')
|
||||
|
||||
result = {}
|
||||
info=''
|
||||
for line in self.browse(cr, uid, ids, context=context):
|
||||
owner=line.order_id.mode.bank_id.partner_id
|
||||
result[line.id]=False
|
||||
owner = line.order_id.mode.bank_id.partner_id
|
||||
result[line.id] = False
|
||||
if owner.address:
|
||||
for ads in owner.address:
|
||||
if ads.type=='default':
|
||||
st=ads.street and ads.street or ''
|
||||
st1=ads.street2 and ads.street2 or ''
|
||||
if ads.type == 'default':
|
||||
st = ads.street and ads.street or ''
|
||||
st1 = ads.street2 and ads.street2 or ''
|
||||
if 'zip_id' in ads:
|
||||
zip_city= ads.zip_id and self.pool.get('res.partner.zip').name_get(cr, uid, [ads.zip_id.id])[0][1] or ''
|
||||
zip_city = ads.zip_id and partner_zip_obj.name_get(cr, uid, [ads.zip_id.id])[0][1] or ''
|
||||
else:
|
||||
zip=ads.zip and ads.zip or ''
|
||||
city= ads.city and ads.city or ''
|
||||
zip_city= zip + ' ' + city
|
||||
cntry= ads.country_id and ads.country_id.name or ''
|
||||
info=owner.name + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry
|
||||
result[line.id]=info
|
||||
zip = ads.zip and ads.zip or ''
|
||||
city = ads.city and ads.city or ''
|
||||
zip_city = zip + ' ' + city
|
||||
cntry = ads.country_id and ads.country_id.name or ''
|
||||
info = owner.name + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry
|
||||
result[line.id] = info
|
||||
break
|
||||
return result
|
||||
|
||||
def info_partner(self, cr, uid, ids, name=None, args=None, context=None):
|
||||
if not ids: return {}
|
||||
partner_zip_obj = self.pool.get('res.partner.zip')
|
||||
result = {}
|
||||
info=''
|
||||
info = ''
|
||||
|
||||
for line in self.browse(cr, uid, ids, context=context):
|
||||
result[line.id]=False
|
||||
result[line.id] = False
|
||||
if not line.partner_id:
|
||||
break
|
||||
partner = line.partner_id.name or ''
|
||||
if line.partner_id.address:
|
||||
for ads in line.partner_id.address:
|
||||
if ads.type=='default':
|
||||
st=ads.street and ads.street or ''
|
||||
st1=ads.street2 and ads.street2 or ''
|
||||
if ads.type == 'default':
|
||||
st = ads.street and ads.street or ''
|
||||
st1 = ads.street2 and ads.street2 or ''
|
||||
if 'zip_id' in ads:
|
||||
zip_city= ads.zip_id and self.pool.get('res.partner.zip').name_get(cr, uid, [ads.zip_id.id])[0][1] or ''
|
||||
zip_city = ads.zip_id and partner_zip_obj.name_get(cr, uid, [ads.zip_id.id])[0][1] or ''
|
||||
else:
|
||||
zip=ads.zip and ads.zip or ''
|
||||
city= ads.city and ads.city or ''
|
||||
zip_city= zip + ' ' + city
|
||||
cntry= ads.country_id and ads.country_id.name or ''
|
||||
info=partner + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry
|
||||
result[line.id]=info
|
||||
zip = ads.zip and ads.zip or ''
|
||||
city = ads.city and ads.city or ''
|
||||
zip_city = zip + ' ' + city
|
||||
cntry = ads.country_id and ads.country_id.name or ''
|
||||
info = partner + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry
|
||||
result[line.id] = info
|
||||
break
|
||||
return result
|
||||
|
||||
def select_by_name(self, cr, uid, ids, name, args, context=None):
|
||||
if not ids: return {}
|
||||
|
||||
partner_obj = self.pool.get('res.partner')
|
||||
|
||||
cr.execute("""SELECT pl.id, ml.%s
|
||||
from account_move_line ml
|
||||
inner join payment_line pl
|
||||
on (ml.id = pl.move_line_id)
|
||||
where pl.id IN %%s"""% self.translate(name),
|
||||
FROM account_move_line ml
|
||||
INNER JOIN payment_line pl
|
||||
ON (ml.id = pl.move_line_id)
|
||||
WHERE pl.id IN %%s"""% self.translate(name),
|
||||
(tuple(ids),))
|
||||
res = dict(cr.fetchall())
|
||||
|
||||
|
@ -252,6 +258,7 @@ class payment_line(osv.osv):
|
|||
if context is None:
|
||||
context = {}
|
||||
res = {}
|
||||
|
||||
for line in self.browse(cursor, user, ids, context=context):
|
||||
ctx = context.copy()
|
||||
ctx['date'] = line.order_id.date_done or time.strftime('%Y-%m-%d')
|
||||
|
@ -261,18 +268,23 @@ class payment_line(osv.osv):
|
|||
return res
|
||||
|
||||
def _get_currency(self, cr, uid, context):
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid)
|
||||
user_obj = self.pool.get('res.users')
|
||||
currency_obj = self.pool.get('res.currency')
|
||||
user = user_obj.browse(cr, uid, uid)
|
||||
|
||||
if user.company_id:
|
||||
return user.company_id.currency_id.id
|
||||
else:
|
||||
return self.pool.get('res.currency').search(cr, uid, [('rate','=',1.0)])[0]
|
||||
return currency_obj.search(cr, uid, [('rate', '=', 1.0)])[0]
|
||||
|
||||
def _get_date(self, cr, uid, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
payment_order_obj = self.pool.get('payment.order')
|
||||
date = False
|
||||
|
||||
if context.get('order_id') and context['order_id']:
|
||||
order = self.pool.get('payment.order').browse(cr, uid, context['order_id'], context)
|
||||
order = payment_order_obj.browse(cr, uid, context['order_id'], context)
|
||||
if order.date_prefered == 'fixed':
|
||||
date = order.date_scheduled
|
||||
else:
|
||||
|
@ -280,7 +292,7 @@ class payment_line(osv.osv):
|
|||
return date
|
||||
|
||||
def _get_ml_inv_ref(self, cr, uid, ids, *a):
|
||||
res={}
|
||||
res = {}
|
||||
for id in self.browse(cr, uid, ids):
|
||||
res[id.id] = False
|
||||
if id.move_line_id:
|
||||
|
@ -289,7 +301,7 @@ class payment_line(osv.osv):
|
|||
return res
|
||||
|
||||
def _get_ml_maturity_date(self, cr, uid, ids, *a):
|
||||
res={}
|
||||
res = {}
|
||||
for id in self.browse(cr, uid, ids):
|
||||
if id.move_line_id:
|
||||
res[id.id] = id.move_line_id.date_maturity
|
||||
|
@ -298,7 +310,7 @@ class payment_line(osv.osv):
|
|||
return res
|
||||
|
||||
def _get_ml_created_date(self, cr, uid, ids, *a):
|
||||
res={}
|
||||
res = {}
|
||||
for id in self.browse(cr, uid, ids):
|
||||
if id.move_line_id:
|
||||
res[id.id] = id.move_line_id.date_created
|
||||
|
@ -310,8 +322,8 @@ class payment_line(osv.osv):
|
|||
'name': fields.char('Your Reference', size=64, required=True),
|
||||
'communication': fields.char('Communication', size=64, required=True, help="Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order ?'"),
|
||||
'communication2': fields.char('Communication 2', size=64, help='The successor message of Communication.'),
|
||||
'move_line_id': fields.many2one('account.move.line', 'Entry line', domain=[('reconcile_id','=', False), ('account_id.type', '=','payable')], help='This Entry Line will be referred for the information of the ordering customer.'),
|
||||
'amount_currency': fields.float('Amount in Partner Currency', digits=(16,2),
|
||||
'move_line_id': fields.many2one('account.move.line', 'Entry line', domain=[('reconcile_id', '=', False), ('account_id.type', '=', 'payable')], help='This Entry Line will be referred for the information of the ordering customer.'),
|
||||
'amount_currency': fields.float('Amount in Partner Currency', digits=(16, 2),
|
||||
required=True, help='Payment amount in the partner currency'),
|
||||
'currency': fields.many2one('res.currency','Partner Currency', required=True),
|
||||
'company_currency': fields.many2one('res.currency', 'Company Currency', readonly=True),
|
||||
|
@ -346,19 +358,20 @@ class payment_line(osv.osv):
|
|||
]
|
||||
|
||||
def onchange_move_line(self, cr, uid, ids, move_line_id, payment_type, date_prefered, date_scheduled, currency=False, company_currency=False, context=None):
|
||||
data={}
|
||||
data = {}
|
||||
move_line_obj = self.pool.get('account.move.line')
|
||||
|
||||
data['amount_currency']=data['communication']=data['partner_id']=data['reference']=data['date_created']=data['bank_id']=data['amount']=False
|
||||
data['amount_currency'] = data['communication'] = data['partner_id'] = data['reference'] = data['date_created'] = data['bank_id'] = data['amount'] = False
|
||||
|
||||
if move_line_id:
|
||||
line = self.pool.get('account.move.line').browse(cr, uid, move_line_id)
|
||||
data['amount_currency']=line.amount_to_pay
|
||||
line = move_line_obj.browse(cr, uid, move_line_id)
|
||||
data['amount_currency'] = line.amount_to_pay
|
||||
|
||||
res = self.onchange_amount(cr, uid, ids, data['amount_currency'], currency,
|
||||
company_currency, context)
|
||||
if res:
|
||||
data['amount'] = res['value']['amount']
|
||||
data['partner_id']=line.partner_id.id
|
||||
data['partner_id'] = line.partner_id.id
|
||||
temp = line.currency_id and line.currency_id.id or False
|
||||
if not temp:
|
||||
if line.invoice:
|
||||
|
@ -367,12 +380,12 @@ class payment_line(osv.osv):
|
|||
data['currency'] = temp
|
||||
|
||||
# calling onchange of partner and updating data dictionary
|
||||
temp_dict=self.onchange_partner(cr, uid, ids, line.partner_id.id, payment_type)
|
||||
temp_dict = self.onchange_partner(cr, uid, ids, line.partner_id.id, payment_type)
|
||||
data.update(temp_dict['value'])
|
||||
|
||||
data['reference']=line.ref
|
||||
data['reference'] = line.ref
|
||||
data['date_created'] = line.date_created
|
||||
data['communication']=line.ref
|
||||
data['communication'] = line.ref
|
||||
|
||||
if date_prefered == 'now':
|
||||
#no payment date => immediate payment
|
||||
|
@ -385,7 +398,7 @@ class payment_line(osv.osv):
|
|||
|
||||
def onchange_amount(self, cr, uid, ids, amount, currency, cmpny_currency, context=None):
|
||||
if (not amount) or (not cmpny_currency):
|
||||
return {'value': {'amount':False}}
|
||||
return {'value': {'amount': False}}
|
||||
res = {}
|
||||
currency_obj = self.pool.get('res.currency')
|
||||
company_amount = currency_obj.compute(cr, uid, currency, cmpny_currency, amount)
|
||||
|
@ -393,33 +406,36 @@ class payment_line(osv.osv):
|
|||
return {'value': res}
|
||||
|
||||
def onchange_partner(self, cr, uid, ids, partner_id, payment_type, context=None):
|
||||
data={}
|
||||
data['info_partner']=data['bank_id']=False
|
||||
data = {}
|
||||
partner_zip_obj = self.pool.get('res.partner.zip')
|
||||
partner_obj = self.pool.get('res.partner')
|
||||
payment_mode_obj = self.pool.get('payment.mode')
|
||||
data['info_partner'] = data['bank_id'] = False
|
||||
|
||||
if partner_id:
|
||||
part_obj=self.pool.get('res.partner').browse(cr, uid, partner_id)
|
||||
partner=part_obj.name or ''
|
||||
part_obj = partner_obj.browse(cr, uid, partner_id)
|
||||
partner = part_obj.name or ''
|
||||
|
||||
if part_obj.address:
|
||||
for ads in part_obj.address:
|
||||
if ads.type=='default':
|
||||
st=ads.street and ads.street or ''
|
||||
st1=ads.street2 and ads.street2 or ''
|
||||
if ads.type == 'default':
|
||||
st = ads.street and ads.street or ''
|
||||
st1 = ads.street2 and ads.street2 or ''
|
||||
|
||||
if 'zip_id' in ads:
|
||||
zip_city= ads.zip_id and self.pool.get('res.partner.zip').name_get(cr, uid, [ads.zip_id.id])[0][1] or ''
|
||||
zip_city = ads.zip_id and partner_zip_obj.name_get(cr, uid, [ads.zip_id.id])[0][1] or ''
|
||||
else:
|
||||
zip=ads.zip and ads.zip or ''
|
||||
city= ads.city and ads.city or ''
|
||||
zip_city= zip + ' ' + city
|
||||
zip = ads.zip and ads.zip or ''
|
||||
city = ads.city and ads.city or ''
|
||||
zip_city = zip + ' ' + city
|
||||
|
||||
cntry= ads.country_id and ads.country_id.name or ''
|
||||
info=partner + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry
|
||||
cntry = ads.country_id and ads.country_id.name or ''
|
||||
info = partner + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry
|
||||
|
||||
data['info_partner']=info
|
||||
data['info_partner'] = info
|
||||
|
||||
if part_obj.bank_ids and payment_type:
|
||||
bank_type = self.pool.get('payment.mode').suitable_bank_types(cr, uid, payment_type, context=context)
|
||||
bank_type = payment_mode_obj.suitable_bank_types(cr, uid, payment_type, context=context)
|
||||
for bank in part_obj.bank_ids:
|
||||
if bank.state in bank_type:
|
||||
data['bank_id'] = bank.id
|
||||
|
@ -432,7 +448,6 @@ class payment_line(osv.osv):
|
|||
res['communication2'].setdefault('states', {})
|
||||
res['communication2']['states']['structured'] = [('readonly', True)]
|
||||
res['communication2']['states']['normal'] = [('readonly', False)]
|
||||
|
||||
return res
|
||||
|
||||
payment_line()
|
||||
|
|
|
@ -20,13 +20,13 @@
|
|||
##############################################################################
|
||||
|
||||
import time
|
||||
import datetime
|
||||
|
||||
import pooler
|
||||
from report import report_sxw
|
||||
|
||||
class payment_order(report_sxw.rml_parse):
|
||||
|
||||
def __init__(self, cr, uid, name, context):
|
||||
def __init__(self, cr, uid, name, context=None):
|
||||
super(payment_order, self).__init__(cr, uid, name, context=context)
|
||||
self.localcontext.update( {
|
||||
'time': time,
|
||||
|
@ -36,8 +36,8 @@ class payment_order(report_sxw.rml_parse):
|
|||
'get_amount_total_in_currency': self._get_amount_total_in_currency,
|
||||
'get_amount_total': self._get_amount_total,
|
||||
'get_account_name': self._get_account_name,
|
||||
|
||||
})
|
||||
|
||||
def _get_invoice_name(self, invoice_id):
|
||||
if invoice_id:
|
||||
pool = pooler.get_pool(self.cr.dbname)
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import account_payment_order
|
||||
import account_payment_populate_statement
|
||||
import account_payment_pay
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import time
|
||||
from lxml import etree
|
||||
|
||||
|
@ -39,10 +40,10 @@ class payment_order_create(osv.osv_memory):
|
|||
_columns = {
|
||||
'duedate': fields.date('Due Date', required=True),
|
||||
'entries': fields.many2many('account.move.line', 'line_pay_rel', 'pay_id', 'line_id', 'Entries')
|
||||
}
|
||||
}
|
||||
_defaults = {
|
||||
'duedate': time.strftime('%Y-%m-%d'),
|
||||
}
|
||||
}
|
||||
|
||||
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
|
||||
res = super(payment_order_create, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=False)
|
||||
|
@ -63,7 +64,8 @@ class payment_order_create(osv.osv_memory):
|
|||
context = {}
|
||||
data = self.read(cr, uid, ids, [])[0]
|
||||
line_ids = data['entries']
|
||||
if not line_ids: return {}
|
||||
if not line_ids:
|
||||
return {}
|
||||
|
||||
payment = order_obj.browse(cr, uid, context['active_id'], context=context)
|
||||
t = None
|
||||
|
@ -99,16 +101,13 @@ class payment_order_create(osv.osv_memory):
|
|||
data = self.read(cr, uid, ids, [], context=context)[0]
|
||||
search_due_date = data['duedate']
|
||||
payment = order_obj.browse(cr, uid, context['active_id'], context=context)
|
||||
ctx = ''
|
||||
if payment.mode:
|
||||
ctx = '''context="{'journal_id': %d}"''' % payment.mode.journal.id
|
||||
|
||||
# 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 = [('reconcile_id', '=', False), ('account_id.type', '=', 'payable'), ('amount_to_pay', '>', 0)]
|
||||
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)
|
||||
model_data_ids = mod_obj.search(cr, uid,[('model', '=', 'ir.ui.view'), ('name', '=', 'view_create_payment_order_lines')], context=context)
|
||||
resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'], context=context)[0]['res_id']
|
||||
return {'name': ('Entrie Lines'),
|
||||
'context': context,
|
||||
|
@ -118,7 +117,7 @@ class payment_order_create(osv.osv_memory):
|
|||
'views': [(resource_id,'form')],
|
||||
'type': 'ir.actions.act_window',
|
||||
'target': 'new',
|
||||
}
|
||||
}
|
||||
|
||||
payment_order_create()
|
||||
|
||||
|
|
|
@ -18,7 +18,8 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
from osv import fields, osv
|
||||
|
||||
from osv import osv
|
||||
|
||||
class account_payment_make_payment(osv.osv_memory):
|
||||
_name = "account.payment.make.payment"
|
||||
|
|
|
@ -29,7 +29,7 @@ class account_payment_populate_statement(osv.osv_memory):
|
|||
_description = "Account Payment Populate Statement"
|
||||
_columns = {
|
||||
'lines': fields.many2many('payment.line', 'payment_line_rel_', 'payment_id', 'line_id', 'Payment Lines')
|
||||
}
|
||||
}
|
||||
|
||||
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
|
||||
line_obj = self.pool.get('payment.line')
|
||||
|
@ -56,6 +56,7 @@ class account_payment_populate_statement(osv.osv_memory):
|
|||
currency_obj = self.pool.get('res.currency')
|
||||
voucher_obj = self.pool.get('account.voucher')
|
||||
voucher_line_obj = self.pool.get('account.voucher.line')
|
||||
move_line_obj = self.pool.get('account.move.line')
|
||||
|
||||
if context is None:
|
||||
context = {}
|
||||
|
@ -75,34 +76,28 @@ class account_payment_populate_statement(osv.osv_memory):
|
|||
context.update({'move_line_ids': [line.move_line_id.id]})
|
||||
result = voucher_obj.onchange_partner_id(cr, uid, [], partner_id=line.partner_id.id, journal_id=statement.journal_id.id, price=abs(amount), currency_id= statement.currency.id, ttype='payment', context=context)
|
||||
|
||||
if line.partner_id:
|
||||
# line['partner_id'] = mv.partner_id.id
|
||||
if amount < 0:
|
||||
account = line.partner_id.property_account_payable.id
|
||||
else:
|
||||
account = line.partner_id.property_account_receivable.id
|
||||
|
||||
if line.move_line_id:
|
||||
voucher_res = { 'type': 'payment',
|
||||
'name': line.name,
|
||||
'partner_id': line.partner_id.id,
|
||||
'journal_id': statement.journal_id.id,
|
||||
'account_id': result.get('account_id', statement.journal_id.default_credit_account_id.id),
|
||||
'company_id': statement.company_id.id,
|
||||
'currency_id': statement.currency.id,
|
||||
'date': line.date or time.strftime('%Y-%m-%d'),
|
||||
'amount': abs(amount),
|
||||
'period_id': statement.period_id.id
|
||||
voucher_res = {
|
||||
'type': 'payment',
|
||||
'name': line.name,
|
||||
'partner_id': line.partner_id.id,
|
||||
'journal_id': statement.journal_id.id,
|
||||
'account_id': result.get('account_id', statement.journal_id.default_credit_account_id.id),
|
||||
'company_id': statement.company_id.id,
|
||||
'currency_id': statement.currency.id,
|
||||
'date': line.date or time.strftime('%Y-%m-%d'),
|
||||
'amount': abs(amount),
|
||||
'period_id': statement.period_id.id
|
||||
}
|
||||
voucher_id = voucher_obj.create(cr, uid, voucher_res, context=context)
|
||||
voucher_line_dict = False
|
||||
if result['value']['line_ids']:
|
||||
for line_dict in result['value']['line_ids']:
|
||||
move_line = self.pool.get('account.move.line').browse(cr, uid, line_dict['move_line_id'], context)
|
||||
move_line = move_line_obj.browse(cr, uid, line_dict['move_line_id'], context)
|
||||
if line.move_line_id.move_id.id == move_line.move_id.id:
|
||||
voucher_line_dict = line_dict
|
||||
if voucher_line_dict:
|
||||
voucher_line_dict.update({'voucher_id':voucher_id})
|
||||
voucher_line_dict.update({'voucher_id': voucher_id})
|
||||
voucher_line_obj.create(cr, uid, voucher_line_dict, context=context)
|
||||
|
||||
st_line_id = statement_line_obj.create(cr, uid, {
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
##############################################################################
|
||||
|
||||
import report
|
||||
import account
|
||||
import account_reporting
|
||||
import wizard
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
|
|
@ -31,9 +31,8 @@
|
|||
'init_xml': [],
|
||||
'update_xml': [
|
||||
'security/ir.model.access.csv',
|
||||
'account_view.xml',
|
||||
'account_report.xml',
|
||||
'account_data.xml',
|
||||
'account_reporting_view.xml',
|
||||
'account_reporting_data.xml',
|
||||
'wizard/account_reporting_balance_report_view.xml',
|
||||
],
|
||||
'demo_xml': ['account_reporting_demo.xml'],
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
</data>
|
||||
</openerp>
|
|
@ -18,19 +18,19 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import time
|
||||
|
||||
import netsvc
|
||||
from osv import fields, osv
|
||||
|
||||
from tools.misc import currency
|
||||
|
||||
|
||||
class color_rml(osv.osv):
|
||||
_name = "color.rml"
|
||||
_description = "Rml Color"
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=64, required=True),
|
||||
'code': fields.char('code',size=64,required=True),
|
||||
'code': fields.char('code', size=64, required=True),
|
||||
}
|
||||
|
||||
color_rml()
|
||||
|
@ -39,44 +39,44 @@ class account_report_bs(osv.osv):
|
|||
_name = "account.report.bs"
|
||||
_description = "Account reporting for Balance Sheet"
|
||||
_font = [
|
||||
('',''),
|
||||
('Courier','Courier'),
|
||||
('Courier-Bold','Courier-Bold'),
|
||||
('Courier-BoldOblique','Courier-BoldOblique'),
|
||||
('Courier-Oblique','Courier-Oblique'),
|
||||
('Helvetica','Helvetica'),
|
||||
('Helvetica-Bold','Helvetica-Bold'),
|
||||
('Helvetica-Oblique','Helvetica-Oblique'),
|
||||
('Times-Bold','Times-Bold'),
|
||||
('Times-BoldItalic','Times-BoldItalic'),
|
||||
('Times-Italic','Times-Italic'),
|
||||
('Times-Roman','Times-Roman'),
|
||||
('', ''),
|
||||
('Courier', 'Courier'),
|
||||
('Courier-Bold', 'Courier-Bold'),
|
||||
('Courier-BoldOblique', 'Courier-BoldOblique'),
|
||||
('Courier-Oblique', 'Courier-Oblique'),
|
||||
('Helvetica', 'Helvetica'),
|
||||
('Helvetica-Bold', 'Helvetica-Bold'),
|
||||
('Helvetica-Oblique', 'Helvetica-Oblique'),
|
||||
('Times-Bold', 'Times-Bold'),
|
||||
('Times-BoldItalic', 'Times-BoldItalic'),
|
||||
('Times-Italic', 'Times-Italic'),
|
||||
('Times-Roman', 'Times-Roman'),
|
||||
]
|
||||
_color = [
|
||||
('', ''),
|
||||
('green','Green'),
|
||||
('red','Red'),
|
||||
('pink','Pink'),
|
||||
('blue','Blue'),
|
||||
('yellow','Yellow'),
|
||||
('cyan','Cyan'),
|
||||
('lightblue','Light Blue'),
|
||||
('orange','Orange'),
|
||||
('green', 'Green'),
|
||||
('red', 'Red'),
|
||||
('pink', 'Pink'),
|
||||
('blue', 'Blue'),
|
||||
('yellow', 'Yellow'),
|
||||
('cyan', 'Cyan'),
|
||||
('lightblue', 'Light Blue'),
|
||||
('orange', 'Orange'),
|
||||
]
|
||||
_style = [
|
||||
('', ''),
|
||||
('h1','Header 1'),
|
||||
('h2','Header 2'),
|
||||
('h3','Header 3'),
|
||||
('h1', 'Header 1'),
|
||||
('h2', 'Header 2'),
|
||||
('h3', 'Header 3'),
|
||||
]
|
||||
|
||||
def onchange_parent_id(self, cr, uid, ids, parent_id):
|
||||
v={}
|
||||
v = {}
|
||||
if parent_id:
|
||||
acc=self.pool.get('account.report.report').browse(cr, uid, parent_id)
|
||||
v['type']=acc.type
|
||||
acc = self.pool.get('account.report.report').browse(cr, uid, parent_id)
|
||||
v['type'] = acc.type
|
||||
if int(acc.style) < 6:
|
||||
v['style'] = str(int(acc.style)+1)
|
||||
v['style'] = str(int(acc.style) + 1)
|
||||
return {'value': v}
|
||||
|
||||
_columns = {
|
||||
|
@ -85,36 +85,35 @@ class account_report_bs(osv.osv):
|
|||
'code': fields.char('Code', size=64, required=True),
|
||||
'account_id': fields.many2many('account.account', 'account_report_rel', 'report_id', 'account_id', 'Accounts'),
|
||||
'note': fields.text('Note'),
|
||||
'color_font' : fields.many2one('color.rml','Font Color'),
|
||||
'color_back' : fields.many2one('color.rml','Back Color'),
|
||||
'font_style' : fields.selection(_font, 'Font'),
|
||||
'color_font': fields.many2one('color.rml', 'Font Color'),
|
||||
'color_back': fields.many2one('color.rml', 'Back Color'),
|
||||
'font_style': fields.selection(_font, 'Font'),
|
||||
'parent_id': fields.many2one('account.report.bs', 'Parent'),
|
||||
'child_id': fields.one2many('account.report.bs', 'parent_id', 'Children'),
|
||||
'report_type' : fields.selection([('only_obj', 'Report Objects Only'),('with_account', 'Report Objects With Accounts'),('acc_with_child', 'Report Objects With Accounts and child of Accounts')],"Report Type")
|
||||
'report_type': fields.selection([('only_obj', 'Report Objects Only'), ('with_account', 'Report Objects With Accounts'), ('acc_with_child', 'Report Objects With Accounts and child of Accounts')], "Report Type")
|
||||
}
|
||||
_defaults = {
|
||||
'report_type': lambda *a :'only_obj',
|
||||
'color_font': lambda *a :'',
|
||||
'color_back': lambda *a :'',
|
||||
'font_style': lambda *a :'',
|
||||
'report_type': 'only_obj',
|
||||
'color_font': '',
|
||||
'color_back': '',
|
||||
'font_style': '',
|
||||
}
|
||||
|
||||
def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100):
|
||||
if not args:
|
||||
args=[]
|
||||
args = []
|
||||
if not context:
|
||||
context={}
|
||||
context = {}
|
||||
ids = []
|
||||
if name:
|
||||
ids = self.search(cr, user, [('code','=',name)]+ args, limit=limit, context=context)
|
||||
ids = self.search(cr, user, [('code', '=', name)]+ args, limit=limit, context=context)
|
||||
if not ids:
|
||||
ids = self.search(cr, user, [('name',operator,name)]+ args, limit=limit, context=context)
|
||||
ids = self.search(cr, user, [('name', operator, name)]+ args, limit=limit, context=context)
|
||||
else:
|
||||
ids = self.search(cr, user, args, limit=limit, context=context)
|
||||
return self.name_get(cr, user, ids, context=context)
|
||||
|
||||
account_report_bs()
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
@ -1,34 +1,34 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<data>
|
||||
|
||||
<record model="ir.ui.view" id="view_account_report_bs_form">
|
||||
<field name="name">account.report.bs.form</field>
|
||||
<field name="model">account.report.bs</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Account reporting">
|
||||
<notebook>
|
||||
<page string="General">
|
||||
<field name="name" select="1"/>
|
||||
<field name="code" select="1"/>
|
||||
<field name="parent_id" select="1"/>
|
||||
<field name="sequence"/>
|
||||
<field name="color_font"/>
|
||||
<field name="color_back"/>
|
||||
<field name="font_style"/>
|
||||
<field name="report_type"/>
|
||||
<newline/>
|
||||
<separator string="Accounts" colspan="4"/>
|
||||
<field name="account_id" colspan="4" nolabel="1"/>
|
||||
</page>
|
||||
<page string="Notes">
|
||||
<field name="note" nolabel="1" colspan="4"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="view_account_report_bs_form">
|
||||
<field name="name">account.report.bs.form</field>
|
||||
<field name="model">account.report.bs</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Account reporting">
|
||||
<notebook>
|
||||
<page string="General">
|
||||
<field name="name" select="1"/>
|
||||
<field name="code" select="1"/>
|
||||
<field name="parent_id" select="1"/>
|
||||
<field name="sequence"/>
|
||||
<field name="color_font"/>
|
||||
<field name="color_back"/>
|
||||
<field name="font_style"/>
|
||||
<field name="report_type"/>
|
||||
<newline/>
|
||||
<separator string="Accounts" colspan="4"/>
|
||||
<field name="account_id" colspan="4" nolabel="1"/>
|
||||
</page>
|
||||
<page string="Notes">
|
||||
<field name="note" nolabel="1" colspan="4"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_account_report_tree_bs">
|
||||
<field name="name">account.report.report.tree.bs</field>
|
||||
|
@ -42,6 +42,7 @@
|
|||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_account_tree_bs">
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account.report.bs</field>
|
||||
|
@ -49,6 +50,7 @@
|
|||
<field name="view_type">tree</field>
|
||||
<field name="view_id" ref="view_account_report_tree_bs"/>
|
||||
</record>
|
||||
|
||||
<menuitem name="Balance Sheet Report" id="menu_finan_config_BSheet" parent="account.menu_finance_configuration"/>
|
||||
<menuitem name="Balance Sheet Report" id="action_account_report_bs_form" action="action_account_tree_bs" parent="menu_finan_config_BSheet"/>
|
||||
|
||||
|
@ -58,9 +60,8 @@
|
|||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="view_account_report_bs_form"/>
|
||||
</record>
|
||||
|
||||
<menuitem name="Balance Sheet Report Form" id="bs_report_action_form" action="acc_bs_report_action_form" parent="menu_finan_config_BSheet"/>
|
||||
|
||||
|
||||
|
||||
</data>
|
||||
</data>
|
||||
</openerp>
|
|
@ -7,16 +7,21 @@ 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-10-15 09:23+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
|
||||
"PO-Revision-Date: 2010-10-25 21:58+0000\n"
|
||||
"Last-Translator: zmmaj <Unknown>\n"
|
||||
"Language-Team: Serbian <sr@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-10-16 04:48+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_reporting
|
||||
#: model:ir.model,name:account_reporting.model_color_rml
|
||||
msgid "Rml Color"
|
||||
msgstr "Rml Boja"
|
||||
|
||||
#. module: account_reporting
|
||||
#: field:color.rml,code:0
|
||||
msgid "code"
|
||||
|
@ -55,11 +60,26 @@ msgstr "Tip izveštaja"
|
|||
msgid "Balance Sheet Report"
|
||||
msgstr "Izvještaj Liste Salda"
|
||||
|
||||
#. module: account_reporting
|
||||
#: constraint:ir.ui.menu:0
|
||||
msgid "Error ! You can not create recursive Menu."
|
||||
msgstr "Greska! Ne mozete kreirati rekursivni meni."
|
||||
|
||||
#. module: account_reporting
|
||||
#: view:account.reporting.balance.report:0
|
||||
msgid "Print"
|
||||
msgstr "Štampaj"
|
||||
|
||||
#. module: account_reporting
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Pogrešno ime modela u definiciji akcije."
|
||||
|
||||
#. module: account_reporting
|
||||
#: field:account.report.bs,font_style:0
|
||||
msgid "Font"
|
||||
msgstr "Font"
|
||||
|
||||
#. module: account_reporting
|
||||
#: selection:account.report.bs,font_style:0
|
||||
msgid "Courier"
|
||||
|
@ -71,12 +91,7 @@ msgid "Courier-BoldOblique"
|
|||
msgstr "Courier-BoldOblique"
|
||||
|
||||
#. module: account_reporting
|
||||
#: wizard_button:account.account.balancesheet.report,init,report:0
|
||||
msgid "Print BalanceSheet"
|
||||
msgstr "Ispis ListeSalda"
|
||||
|
||||
#. module: account_reporting
|
||||
#: help:account.account.balancesheet.report,init,periods:0
|
||||
#: help:account.reporting.balance.report,periods:0
|
||||
msgid "All periods if empty"
|
||||
msgstr "Ako je prazno, sva razdoblja"
|
||||
|
||||
|
@ -160,11 +175,6 @@ msgstr "Times-Italic"
|
|||
msgid "Report Objects Only"
|
||||
msgstr "Izveštaj samo objekata"
|
||||
|
||||
#. module: account_reporting
|
||||
#: model:ir.model,name:account_reporting.model_color_rml
|
||||
msgid "Rml Colors"
|
||||
msgstr "Rml Boje"
|
||||
|
||||
#. module: account_reporting
|
||||
#: model:ir.module.module,shortdesc:account_reporting.module_meta_information
|
||||
msgid "Reporting of Balancesheet for accounting"
|
||||
|
@ -180,6 +190,11 @@ msgstr "Šifra"
|
|||
msgid "Parent"
|
||||
msgstr "Roditelj"
|
||||
|
||||
#. module: account_reporting
|
||||
#: view:account.reporting.balance.report:0
|
||||
msgid "Select Dates Period"
|
||||
msgstr "Selektuj Datume razdoblja"
|
||||
|
||||
#. module: account_reporting
|
||||
#: field:account.report.bs,sequence:0
|
||||
msgid "Sequence"
|
||||
|
@ -190,13 +205,20 @@ msgstr "Sekvenca"
|
|||
msgid "Times-Bold"
|
||||
msgstr "Times-Bold"
|
||||
|
||||
#. module: account_reporting
|
||||
#: help:account.report.bs,sequence:0
|
||||
msgid ""
|
||||
"Gives the sequence order when displaying a list of account reporting for "
|
||||
"balance sheet."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: view:account.report.bs:0
|
||||
msgid "General"
|
||||
msgstr "Opšte"
|
||||
|
||||
#. module: account_reporting
|
||||
#: wizard_field:account.account.balancesheet.report,init,fiscalyear:0
|
||||
#: field:account.reporting.balance.report,fiscalyear:0
|
||||
msgid "Fiscal year"
|
||||
msgstr "Fiskalna Godina"
|
||||
|
||||
|
@ -207,7 +229,8 @@ msgid "Accounts"
|
|||
msgstr "Nalozi"
|
||||
|
||||
#. module: account_reporting
|
||||
#: wizard_field:account.account.balancesheet.report,init,periods:0
|
||||
#: view:account.reporting.balance.report:0
|
||||
#: field:account.reporting.balance.report,periods:0
|
||||
msgid "Periods"
|
||||
msgstr "Razdoblja"
|
||||
|
||||
|
@ -217,12 +240,7 @@ msgid "Back Color"
|
|||
msgstr "Pozadinska Boja"
|
||||
|
||||
#. module: account_reporting
|
||||
#: field:account.report.bs,child_id:0
|
||||
msgid "Children"
|
||||
msgstr "Podređeni"
|
||||
|
||||
#. module: account_reporting
|
||||
#: wizard_button:account.account.balancesheet.report,init,end:0
|
||||
#: view:account.reporting.balance.report:0
|
||||
msgid "Cancel"
|
||||
msgstr "Otkaži"
|
||||
|
||||
|
@ -237,11 +255,20 @@ msgid "Helvetica-Oblique"
|
|||
msgstr "Helvetica-Oblique"
|
||||
|
||||
#. module: account_reporting
|
||||
#: field:account.report.bs,font_style:0
|
||||
msgid "Font"
|
||||
msgstr "Font"
|
||||
#: model:ir.model,name:account_reporting.model_account_reporting_balance_report
|
||||
msgid "Account balance report"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_reporting
|
||||
#: wizard_view:account.account.balancesheet.report,init:0
|
||||
msgid "Customize Report"
|
||||
msgstr "Prilagodi Izvestaj"
|
||||
#: field:account.report.bs,child_id:0
|
||||
msgid "Children"
|
||||
msgstr "Podređeni"
|
||||
|
||||
#~ msgid "Print BalanceSheet"
|
||||
#~ msgstr "Ispis ListeSalda"
|
||||
|
||||
#~ msgid "Rml Colors"
|
||||
#~ msgstr "Rml Boje"
|
||||
|
||||
#~ msgid "Customize Report"
|
||||
#~ msgstr "Prilagodi Izvestaj"
|
||||
|
|
|
@ -20,14 +20,12 @@
|
|||
##############################################################################
|
||||
|
||||
import time
|
||||
import pooler
|
||||
import locale
|
||||
|
||||
from report import report_sxw
|
||||
|
||||
|
||||
parents = {
|
||||
'tr':1,
|
||||
'li':1,
|
||||
'tr': 1,
|
||||
'li': 1,
|
||||
'story': 0,
|
||||
'section': 0
|
||||
}
|
||||
|
@ -42,18 +40,17 @@ class account_report_bs(report_sxw.rml_parse):
|
|||
self.context = context
|
||||
|
||||
|
||||
def line_total(self,line_id,ctx):
|
||||
def line_total(self, line_id, ctx):
|
||||
_total = 0
|
||||
bsline= self.pool.get('account.report.bs').browse(self.cr,self.uid,[line_id])[0]
|
||||
bsline_accids = bsline.account_id
|
||||
res =self.pool.get('account.report.bs').read(self.cr,self.uid,[line_id],['account_id','child_id'])[0]
|
||||
bsline = self.pool.get('account.report.bs').browse(self.cr, self.uid, [line_id])[0]
|
||||
res = self.pool.get('account.report.bs').read(self.cr, self.uid, [line_id], ['account_id', 'child_id'])[0]
|
||||
for acc_id in res['account_id']:
|
||||
acc = self.pool.get('account.account').browse(self.cr,self.uid,[acc_id],ctx)[0]
|
||||
acc = self.pool.get('account.account').browse(self.cr, self.uid, [acc_id], ctx)[0]
|
||||
_total += acc.balance
|
||||
bsline_reportbs = res['child_id']
|
||||
|
||||
for report in bsline_reportbs:
|
||||
_total +=self.line_total(report,ctx)
|
||||
_total += self.line_total(report,ctx)
|
||||
return _total
|
||||
|
||||
def lines(self, form, ids={}, done=None, level=1, object=False):
|
||||
|
@ -64,14 +61,14 @@ class account_report_bs(report_sxw.rml_parse):
|
|||
if not ids:
|
||||
return []
|
||||
if not done:
|
||||
done={}
|
||||
done = {}
|
||||
result = []
|
||||
ctx = self.context.copy()
|
||||
ctx['fiscalyear'] = form['fiscalyear']
|
||||
ctx['periods'] = form['periods']
|
||||
report_objs = self.pool.get('account.report.bs').browse(self.cr, self.uid, ids)
|
||||
title_name = False
|
||||
if level==1:
|
||||
if level == 1:
|
||||
title_name = report_objs[0].name
|
||||
def cmp_code(x, y):
|
||||
return cmp(x.code, y.code)
|
||||
|
@ -92,41 +89,41 @@ class account_report_bs(report_sxw.rml_parse):
|
|||
'name': report_obj.name,
|
||||
'level': level,
|
||||
'balance': self.line_total(report_obj.id,ctx),
|
||||
'parent_id':False,
|
||||
'color_font':color_font,
|
||||
'color_back':color_back,
|
||||
'font_style' : report_obj.font_style
|
||||
'parent_id': False,
|
||||
'color_font': color_font,
|
||||
'color_back': color_back,
|
||||
'font_style': report_obj.font_style
|
||||
}
|
||||
result.append(res)
|
||||
report_type = report_obj.report_type
|
||||
if report_type != 'only_obj':
|
||||
account_ids = self.pool.get('account.report.bs').read(self.cr,self.uid,[report_obj.id],['account_id'])[0]['account_id']
|
||||
account_ids = self.pool.get('account.report.bs').read(self.cr, self.uid, [report_obj.id], ['account_id'])[0]['account_id']
|
||||
if report_type == 'acc_with_child':
|
||||
acc_ids = self.pool.get('account.account')._get_children_and_consol(self.cr, self.uid, account_ids )
|
||||
acc_ids = self.pool.get('account.account')._get_children_and_consol(self.cr, self.uid, account_ids)
|
||||
account_ids = acc_ids
|
||||
account_objs = self.pool.get('account.account').browse(self.cr,self.uid,account_ids,ctx)
|
||||
account_objs = self.pool.get('account.account').browse(self.cr, self.uid, account_ids, ctx)
|
||||
for acc_obj in account_objs:
|
||||
res1={}
|
||||
res1 = {}
|
||||
res1 = {
|
||||
'code': acc_obj.code,
|
||||
'name': acc_obj.name,
|
||||
'level': level+1,
|
||||
'balance': acc_obj.balance,
|
||||
'parent_id':acc_obj.parent_id,
|
||||
'color_font' : 'black',
|
||||
'color_back' :'white',
|
||||
'font_style' : 'Helvetica',
|
||||
'parent_id': acc_obj.parent_id,
|
||||
'color_font': 'black',
|
||||
'color_back': 'white',
|
||||
'font_style': 'Helvetica',
|
||||
}
|
||||
if acc_obj.parent_id:
|
||||
for r in result:
|
||||
if r['name']== acc_obj.parent_id.name:
|
||||
if r['name'] == acc_obj.parent_id.name:
|
||||
res1['level'] = r['level'] + 1
|
||||
break
|
||||
result.append(res1)
|
||||
if report_obj.child_id:
|
||||
ids2 = [(x.code,x.id) for x in report_obj.child_id]
|
||||
ids2 = [(x.code, x.id) for x in report_obj.child_id]
|
||||
ids2.sort()
|
||||
result += self.lines(form,[x[1] for x in ids2], done, level+1,object=False)
|
||||
result += self.lines(form, [x[1] for x in ids2], done, level+1, object=False)
|
||||
|
||||
return result
|
||||
|
||||
|
|
|
@ -18,8 +18,8 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import fields, osv
|
||||
from tools.translate import _
|
||||
|
||||
class account_reporting_balance_report(osv.osv_memory):
|
||||
|
||||
|
@ -33,7 +33,7 @@ class account_reporting_balance_report(osv.osv_memory):
|
|||
_description = 'Account balance report'
|
||||
_columns = {
|
||||
'fiscalyear': fields.many2one('account.fiscalyear', 'Fiscal year', required=True),
|
||||
'periods': fields.many2many('account.period', 'acc_reporting_relation', 'acc_id','period_id', 'Periods', help='All periods if empty'),
|
||||
'periods': fields.many2many('account.period', 'acc_reporting_relation', 'acc_id', 'period_id', 'Periods', help='All periods if empty'),
|
||||
}
|
||||
_defaults = {
|
||||
'fiscalyear' : _get_fiscalyear,
|
||||
|
@ -45,7 +45,7 @@ class account_reporting_balance_report(osv.osv_memory):
|
|||
context = {}
|
||||
data = self.read(cr, uid, ids)[0]
|
||||
datas = {
|
||||
'ids': context.get('active_ids',[]),
|
||||
'ids': context.get('active_ids', []),
|
||||
'model': 'account.report.bs',
|
||||
'form': data
|
||||
}
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
<field name="model">account.reporting.balance.report</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select Dates Period">
|
||||
<field name="fiscalyear" colspan="4"/>
|
||||
<form string="Account Report Balance Sheet">
|
||||
<field name="fiscalyear" colspan="4" widget="selection"/>
|
||||
<newline/>
|
||||
<separator string="Periods" colspan="4"/>
|
||||
<field name="periods" nolabel="1" colspan="4"/>
|
||||
|
|
|
@ -51,10 +51,10 @@
|
|||
"security/account_voucher_security.xml"
|
||||
],
|
||||
"test" : [
|
||||
# "test/account_voucher.yml",
|
||||
"test/sales_receipt.yml",
|
||||
"test/sales_payment.yml",
|
||||
"test/account_voucher_report.yml"
|
||||
"test/account_voucher.yml",
|
||||
"test/sales_receipt.yml",
|
||||
"test/sales_payment.yml",
|
||||
"test/account_voucher_report.yml"
|
||||
],
|
||||
'certificate': '0037580727101',
|
||||
"active": False,
|
||||
|
|
|
@ -574,6 +574,8 @@ class account_voucher(osv.osv):
|
|||
currency_pool = self.pool.get('res.currency')
|
||||
tax_obj = self.pool.get('account.tax')
|
||||
for inv in self.browse(cr, uid, ids):
|
||||
if not inv.line_ids:
|
||||
raise osv.except_osv(_('No Lines !'), _('Please create some lines'))
|
||||
if inv.move_id:
|
||||
continue
|
||||
if inv.number:
|
||||
|
@ -582,13 +584,17 @@ class account_voucher(osv.osv):
|
|||
name = self.pool.get('ir.sequence').get_id(cr, uid, inv.journal_id.sequence_id.id)
|
||||
else:
|
||||
raise osv.except_osv(_('Error !'), _('Please define a sequence on the journal !'))
|
||||
if not inv.reference:
|
||||
ref = name.replace('/','')
|
||||
else:
|
||||
ref = inv.reference
|
||||
|
||||
move = {
|
||||
'name': name,
|
||||
'journal_id': inv.journal_id.id,
|
||||
'narration': inv.narration,
|
||||
'date':inv.date,
|
||||
'ref':inv.reference,
|
||||
'date': inv.date,
|
||||
'ref': ref,
|
||||
'period_id': inv.period_id and inv.period_id.id or False
|
||||
}
|
||||
move_id = move_pool.create(cr, uid, move)
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
|
||||
"PO-Revision-Date: 2010-10-24 09:02+0000\n"
|
||||
"PO-Revision-Date: 2010-10-25 07:11+0000\n"
|
||||
"Last-Translator: Chertykov Denis <chertykov@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-10-25 04:39+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_voucher
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -24,8 +24,8 @@ from tools.translate import _
|
|||
|
||||
class invoice(osv.osv):
|
||||
_inherit = 'account.invoice'
|
||||
|
||||
def invoice_pay_customer(self, cr, uid, ids, context={}):
|
||||
|
||||
def invoice_pay_customer(self, cr, uid, ids, context=None):
|
||||
if not ids: return []
|
||||
inv = self.browse(cr, uid, ids[0], context=context)
|
||||
return {
|
||||
|
@ -46,7 +46,7 @@ class invoice(osv.osv):
|
|||
'invoice_type':inv.type,
|
||||
'invoice_id':inv.id,
|
||||
'default_type': inv.type in ('out_invoice','out_refund') and 'receipt' or 'payment'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
invoice()
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
|
||||
-
|
||||
In order to check account voucher module in OpenERP I create a customer voucher
|
||||
-
|
||||
!record {model: account.voucher, id: account_voucher_voucherforaxelor0}:
|
||||
account_id: account.cash
|
||||
amount: 1000.0
|
||||
company_id: base.main_company
|
||||
currency_id: base.EUR
|
||||
journal_id: account.bank_journal
|
||||
name: Voucher for Axelor
|
||||
narration: Basic Pc
|
||||
line_ids:
|
||||
line_cr_ids:
|
||||
- account_id: account.a_recv
|
||||
amount: 1000.0
|
||||
name: Voucher for Axelor
|
||||
partner_id: base.res_partner_desertic_hispafuentes
|
||||
partner_id: base.res_partner_desertic_hispafuentes
|
||||
period_id: account.period_6
|
||||
reference_type: none
|
||||
reference: none
|
||||
|
||||
-
|
||||
I check that Initially customer voucher is in the "Draft" state
|
||||
|
@ -26,11 +26,7 @@
|
|||
I compute the voucher to calculate the taxes by clicking Compute button
|
||||
-
|
||||
!workflow {model: account.voucher, action: proforma_voucher, ref: account_voucher_voucherforaxelor0}
|
||||
-
|
||||
I check that the voucher state is now "proforma"
|
||||
-
|
||||
!assert {model: account.voucher, id: account_voucher_voucherforaxelor0}:
|
||||
- state == 'proforma'
|
||||
|
||||
-
|
||||
I create voucher by clicking on Create button
|
||||
-
|
||||
|
@ -54,32 +50,25 @@
|
|||
-
|
||||
!record {model: account.voucher, id: account_voucher_voucheraxelor0}:
|
||||
account_id: account.cash
|
||||
amount: 1000.0
|
||||
company_id: base.main_company
|
||||
currency_id: base.EUR
|
||||
journal_id: account.bank_journal
|
||||
name: Voucher Axelor
|
||||
narration: Basic PC
|
||||
line_ids:
|
||||
line_dr_ids:
|
||||
- account_id: account.cash
|
||||
amount: 1000.0
|
||||
name: Voucher Axelor
|
||||
partner_id: base.res_partner_desertic_hispafuentes
|
||||
period_id: account.period_6
|
||||
reference_type: none
|
||||
reference: none
|
||||
|
||||
-
|
||||
I check that Initially vendor voucher is in the "Draft" state
|
||||
-
|
||||
!assert {model: account.voucher, id: account_voucher_voucheraxelor0}:
|
||||
- state == 'draft'
|
||||
-
|
||||
I change the state of voucher to "proforma" by clicking PRO-FORMA button
|
||||
-
|
||||
!workflow {model: account.voucher, action: proforma_voucher, ref: account_voucher_voucheraxelor0}
|
||||
-
|
||||
I check that the voucher state is now "proforma"
|
||||
-
|
||||
!assert {model: account.voucher, id: account_voucher_voucheraxelor0}:
|
||||
- state == 'proforma'
|
||||
-
|
||||
I create voucher by clicking on Create button
|
||||
-
|
||||
|
|
|
@ -153,9 +153,9 @@
|
|||
<button name="cancel_voucher" string="Cancel" states="draft,proforma" icon="gtk-cancel"/>
|
||||
<button name="cancel_voucher" string="Cancel" type="object" states="posted" icon="terp-stock_effects-object-colorize" confirm="Are you sure to confirm this record ?"/>
|
||||
<button name="proforma_voucher" string="Validate" states="draft" icon="gtk-go-forward"/>
|
||||
<group colspan="2" attrs="{'invisible':[('pay_now','!=','pay_now')]}">
|
||||
<button icon="terp-dolar_ok!" name="%(act_pay_voucher)d" context="{'narration':narration, 'title':'Customer Payment', 'type':'receipt', 'partner_id': partner_id, 'reference':reference}" type="action" string="Pay" attrs="{'invisible':[('state','!=','posted')]}"/>
|
||||
</group>
|
||||
<group attrs="{'invisible':[('state','!=','posted')]}">
|
||||
<button icon="terp-dolar_ok!" name="%(act_pay_voucher)d" context="{'narration':narration, 'title':'Customer Payment', 'type':'receipt', 'partner_id': partner_id, 'reference':reference}" type="action" string="Pay" attrs="{'invisible':[('pay_now','!=','pay_now')]}"/>
|
||||
</group>
|
||||
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" icon="terp-stock_effects-object-colorize"/>
|
||||
</group>
|
||||
</form>
|
||||
|
|
|
@ -28,130 +28,65 @@ class account_analytic_account(osv.osv):
|
|||
_name = 'account.analytic.account'
|
||||
_description = 'Analytic Account'
|
||||
|
||||
def _compute_currency_for_level_tree(self, cr, uid, ids, ids2, res, context=None):
|
||||
# Handle multi-currency on each level of analytic account
|
||||
# This is a refactoring of _balance_calc computation
|
||||
cr.execute("SELECT a.id, r.currency_id FROM account_analytic_account a INNER JOIN res_company r ON (a.company_id = r.id) where a.id IN %s" , (tuple(ids2),))
|
||||
currency = dict(cr.fetchall())
|
||||
res_currency= self.pool.get('res.currency')
|
||||
def _compute_level_tree(self, cr, uid, ids, child_ids, res, field_names, context=None):
|
||||
def recursive_computation(account_id, res):
|
||||
account = self.browse(cr, uid, account_id)
|
||||
for son in account.child_ids:
|
||||
res = recursive_computation(son.id, res)
|
||||
for field in field_names:
|
||||
res[account.id][field] += res[son.id][field]
|
||||
return res
|
||||
for account in self.browse(cr, uid, ids, context=context):
|
||||
if account.id not in ids2:
|
||||
if account.id not in child_ids:
|
||||
continue
|
||||
for child in account.child_ids:
|
||||
if child.id != account.id:
|
||||
res.setdefault(account.id, 0.0)
|
||||
if currency[child.id] != currency[account.id]:
|
||||
res[account.id] += res_currency.compute(cr, uid, currency[child.id], currency[account.id], res.get(child.id, 0.0), context=context)
|
||||
else:
|
||||
res[account.id] += res.get(child.id, 0.0)
|
||||
res = recursive_computation(account.id, res)
|
||||
return res
|
||||
|
||||
cur_obj = res_currency.browse(cr, uid, currency.values(), context=context)
|
||||
cur_obj = dict([(o.id, o) for o in cur_obj])
|
||||
for id in ids:
|
||||
if id in ids2:
|
||||
res[id] = res_currency.round(cr, uid, cur_obj[currency[id]], res.get(id,0.0))
|
||||
|
||||
return dict([(i, res[i]) for i in ids ])
|
||||
|
||||
def _credit_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
def _debit_credit_bal_qtty(self, cr, uid, ids, name, arg, context=None):
|
||||
res = {}
|
||||
if context is None:
|
||||
context = {}
|
||||
parent_ids = tuple(self.search(cr, uid, [('parent_id', 'child_of', ids)]))
|
||||
for i in ids:
|
||||
res.setdefault(i,0.0)
|
||||
child_ids = tuple(self.search(cr, uid, [('parent_id', 'child_of', ids)]))
|
||||
for i in child_ids:
|
||||
res[i] = {}
|
||||
for n in name:
|
||||
res[i][n] = 0.0
|
||||
|
||||
if not parent_ids:
|
||||
if not child_ids:
|
||||
return res
|
||||
|
||||
where_date = ''
|
||||
where_clause_args = [tuple(child_ids)]
|
||||
if context.get('from_date', False):
|
||||
where_date += " AND l.date >= '" + context['from_date'] + "'"
|
||||
where_date += " AND l.date >= %s"
|
||||
where_clause_args += [context['from_date']]
|
||||
if context.get('to_date', False):
|
||||
where_date += " AND l.date <= '" + context['to_date'] + "'"
|
||||
cr.execute("SELECT a.id, COALESCE(SUM(l.amount),0) FROM account_analytic_account a LEFT JOIN account_analytic_line l ON (a.id=l.account_id "+where_date+") WHERE l.amount<0 and a.id IN %s GROUP BY a.id",(tuple(parent_ids),))
|
||||
r = dict(cr.fetchall())
|
||||
return self._compute_currency_for_level_tree(cr, uid, ids, parent_ids, r, context)
|
||||
|
||||
def _debit_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
res = {}
|
||||
if context is None:
|
||||
context = {}
|
||||
parent_ids = tuple(self.search(cr, uid, [('parent_id', 'child_of', ids)]))
|
||||
for i in ids:
|
||||
res.setdefault(i,0.0)
|
||||
|
||||
if not parent_ids:
|
||||
return res
|
||||
|
||||
where_date = ''
|
||||
if context.get('from_date',False):
|
||||
where_date += " AND l.date >= '" + context['from_date'] + "'"
|
||||
if context.get('to_date',False):
|
||||
where_date += " AND l.date <= '" + context['to_date'] + "'"
|
||||
cr.execute("SELECT a.id, COALESCE(SUM(l.amount),0) FROM account_analytic_account a LEFT JOIN account_analytic_line l ON (a.id=l.account_id "+where_date+") WHERE l.amount>0 and a.id IN %s GROUP BY a.id" ,(tuple(parent_ids),))
|
||||
r = dict(cr.fetchall())
|
||||
return self._compute_currency_for_level_tree(cr, uid, ids, parent_ids, r, context=context)
|
||||
|
||||
def _balance_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
res = {}
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
parent_ids = tuple(self.search(cr, uid, [('parent_id', 'child_of', ids)]))
|
||||
for i in ids:
|
||||
res.setdefault(i,0.0)
|
||||
|
||||
if not parent_ids:
|
||||
return res
|
||||
|
||||
where_date = ''
|
||||
if context.get('from_date',False):
|
||||
where_date += " AND l.date >= '" + context['from_date'] + "'"
|
||||
if context.get('to_date',False):
|
||||
where_date += " AND l.date <= '" + context['to_date'] + "'"
|
||||
cr.execute("SELECT a.id, COALESCE(SUM(l.amount),0) FROM account_analytic_account a LEFT JOIN account_analytic_line l ON (a.id=l.account_id "+where_date+") WHERE a.id IN %s GROUP BY a.id",(tuple(parent_ids),))
|
||||
|
||||
for account_id, sum in cr.fetchall():
|
||||
res[account_id] = sum
|
||||
return self._compute_currency_for_level_tree(cr, uid, ids, parent_ids, res, context=context)
|
||||
|
||||
def _quantity_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
#XXX must convert into one uom
|
||||
res = {}
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
parent_ids = tuple(self.search(cr, uid, [('parent_id', 'child_of', ids)]))
|
||||
|
||||
for i in ids:
|
||||
res.setdefault(i,0.0)
|
||||
|
||||
if not parent_ids:
|
||||
return res
|
||||
|
||||
where_date = ''
|
||||
if context.get('from_date',False):
|
||||
where_date += " AND l.date >= '" + context['from_date'] + "'"
|
||||
if context.get('to_date',False):
|
||||
where_date += " AND l.date <= '" + context['to_date'] + "'"
|
||||
|
||||
cr.execute('SELECT a.id, COALESCE(SUM(l.unit_amount), 0) \
|
||||
FROM account_analytic_account a \
|
||||
LEFT JOIN account_analytic_line l ON (a.id = l.account_id ' + where_date + ') \
|
||||
WHERE a.id IN %s GROUP BY a.id',(tuple(parent_ids),))
|
||||
|
||||
for account_id, sum in cr.fetchall():
|
||||
res[account_id] = sum
|
||||
|
||||
for account in self.browse(cr, uid, ids, context=context):
|
||||
if account.id not in parent_ids:
|
||||
continue
|
||||
for child in account.child_ids:
|
||||
if child.id != account.id:
|
||||
res.setdefault(account.id, 0.0)
|
||||
res[account.id] += res.get(child.id, 0.0)
|
||||
return dict([(i, res[i]) for i in ids])
|
||||
where_date += " AND l.date <= %s"
|
||||
where_clause_args += [context['to_date']]
|
||||
cr.execute("""
|
||||
SELECT a.id,
|
||||
sum(
|
||||
CASE WHEN l.amount > 0
|
||||
THEN l.amount
|
||||
ELSE 0.0
|
||||
END
|
||||
) as debit,
|
||||
sum(
|
||||
CASE WHEN l.amount < 0
|
||||
THEN -l.amount
|
||||
ELSE 0.0
|
||||
END
|
||||
) as credit,
|
||||
COALESCE(SUM(l.amount),0) AS balance,
|
||||
COALESCE(SUM(l.unit_amount),0) AS quantity
|
||||
FROM account_analytic_account a
|
||||
LEFT JOIN account_analytic_line l ON (a.id = l.account_id)
|
||||
WHERE a.id IN %s
|
||||
""" + where_date + """
|
||||
GROUP BY a.id""", where_clause_args)
|
||||
for ac_id, debit, credit, balance, quantity in cr.fetchall():
|
||||
res[ac_id] = {'debit': debit, 'credit': credit, 'balance': balance, 'quantity': quantity}
|
||||
return self._compute_level_tree(cr, uid, ids, child_ids, res, ['debit', 'credit', 'balance', 'quantity'], context)
|
||||
|
||||
def name_get(self, cr, uid, ids, context=None):
|
||||
if not ids:
|
||||
|
@ -180,10 +115,10 @@ class account_analytic_account(osv.osv):
|
|||
'parent_id': fields.many2one('account.analytic.account', 'Parent Analytic Account', select=2),
|
||||
'child_ids': fields.one2many('account.analytic.account', 'parent_id', 'Child Accounts'),
|
||||
'line_ids': fields.one2many('account.analytic.line', 'account_id', 'Analytic Entries'),
|
||||
'balance': fields.function(_balance_calc, method=True, type='float', string='Balance'),
|
||||
'debit': fields.function(_debit_calc, method=True, type='float', string='Debit'),
|
||||
'credit': fields.function(_credit_calc, method=True, type='float', string='Credit'),
|
||||
'quantity': fields.function(_quantity_calc, method=True, type='float', string='Quantity'),
|
||||
'balance': fields.function(_debit_credit_bal_qtty, method=True, type='float', string='Balance', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')),
|
||||
'debit': fields.function(_debit_credit_bal_qtty, method=True, type='float', string='Debit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')),
|
||||
'credit': fields.function(_debit_credit_bal_qtty, method=True, type='float', string='Credit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')),
|
||||
'quantity': fields.function(_debit_credit_bal_qtty, method=True, type='float', string='Quantity', multi='debit_credit_bal_qtty'),
|
||||
'quantity_max': fields.float('Maximum Quantity', help='Sets the higher limit of quantity of hours.'),
|
||||
'partner_id': fields.many2one('res.partner', 'Partner'),
|
||||
'contact_id': fields.many2one('res.partner.address', 'Contact'),
|
||||
|
|
|
@ -7,14 +7,14 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2010-06-18 10:59+0000\n"
|
||||
"PO-Revision-Date: 2010-10-15 08:47+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
|
||||
"PO-Revision-Date: 2010-10-25 21:45+0000\n"
|
||||
"Last-Translator: zmmaj <Unknown>\n"
|
||||
"Language-Team: Serbian <sr@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-10-16 04:48+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: analytic
|
||||
|
@ -22,14 +22,6 @@ msgstr ""
|
|||
msgid "Child Accounts"
|
||||
msgstr "Podređeni Nalozi"
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.line,amount_currency:0
|
||||
msgid ""
|
||||
"The amount expressed in the related account currency if not equal to the "
|
||||
"company one."
|
||||
msgstr ""
|
||||
"Vrednost izrazena u datom iznosu valute ako nije jednaka valuti preduzeca"
|
||||
|
||||
#. module: analytic
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
|
@ -40,18 +32,13 @@ msgstr ""
|
|||
#. module: analytic
|
||||
#: field:account.analytic.account,name:0
|
||||
msgid "Account Name"
|
||||
msgstr "Naziv računa"
|
||||
msgstr "Naziv Naloga"
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.line,unit_amount:0
|
||||
msgid "Specifies the amount of quantity to count."
|
||||
msgstr "Specificira koju kolicinu iznosa da broji"
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.line,currency_id:0
|
||||
msgid "The related account currency if not equal to the company one."
|
||||
msgstr "Dati iznos valute ako nije jednaka valuti preduzeca"
|
||||
|
||||
#. module: analytic
|
||||
#: model:ir.module.module,description:analytic.module_meta_information
|
||||
msgid ""
|
||||
|
@ -86,40 +73,6 @@ msgstr "Zatvoren"
|
|||
msgid "Debit"
|
||||
msgstr "Duguje"
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.account,state:0
|
||||
msgid ""
|
||||
"* When an account is created its in 'Draft' state. "
|
||||
" \n"
|
||||
"* If any associated partner is there, it can be in 'Open' state. "
|
||||
" \n"
|
||||
"* If any pending balance is there it can be in 'Pending'. "
|
||||
" \n"
|
||||
"* And finally when all the transactions are over, it can be in 'Close' "
|
||||
"state. \n"
|
||||
"* The project can be in either if the states 'Template' and 'Running'.\n"
|
||||
" If it is template then we can make projects based on the template projects. "
|
||||
"If its in 'Running' state it is a normal project. "
|
||||
" \n"
|
||||
" If it is to be reviewed then the state is 'Pending'.\n"
|
||||
" When the project is completed the state is set to 'Done'."
|
||||
msgstr ""
|
||||
"*Kada je neka faktura kreirana a nalazi se u ' U Toku'. "
|
||||
" \n"
|
||||
"*Ako je bilo koji asocirani partner tamo, on mora biti u stanju ' Otvoren'. "
|
||||
" \n"
|
||||
"*Ako je bilo koji Saldo u stanju 'U izvrsenju' on mora i biti tamo. "
|
||||
" "
|
||||
"\n"
|
||||
"*I , na kraju kada su sve transakcije gotove, mora se naci u stanju ' "
|
||||
"Zatvoreno'. "
|
||||
" \n"
|
||||
" Ako je ovo shema(obrazac) onda mi mozemo napraviri projekat baziran na "
|
||||
"istom. Ako je u stanju ' U izvrsenju' to je normalnan\n"
|
||||
"projekat.\n"
|
||||
" Ako zelimo da ga pregledamo, stanje mora biti ' U Toku'.\n"
|
||||
" Kada je projekat zavrsen stanje je postavljeno na ' Zavrseno'."
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,type:0
|
||||
msgid "Account Type"
|
||||
|
@ -147,12 +100,9 @@ msgid "Description"
|
|||
msgstr "Opis"
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.line,amount:0
|
||||
msgid ""
|
||||
"Calculated by multiplying the quantity and the price given in the Product's "
|
||||
"cost price."
|
||||
msgstr ""
|
||||
"Izracunato mnozenjem kolicine i cene dobijene iz Proizvodove cene kostanja"
|
||||
#: selection:account.analytic.account,type:0
|
||||
msgid "Normal"
|
||||
msgstr "Normalan"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,company_id:0
|
||||
|
@ -182,14 +132,23 @@ msgstr "Datum"
|
|||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,currency_id:0
|
||||
#: field:account.analytic.line,currency_id:0
|
||||
msgid "Account currency"
|
||||
msgstr "Valuta Naloga"
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,type:0
|
||||
msgid "View"
|
||||
msgstr "Pregled"
|
||||
#: field:account.analytic.account,quantity:0
|
||||
#: field:account.analytic.line,unit_amount:0
|
||||
msgid "Quantity"
|
||||
msgstr "Količina"
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.line,amount:0
|
||||
msgid ""
|
||||
"Calculated by multiplying the quantity and the price given in the Product's "
|
||||
"cost price. Always expressed in the company main currency."
|
||||
msgstr ""
|
||||
"Izracunato mnozenjem kolicine i cene date u proizvodovom cenovniku. Uvek "
|
||||
"prikazano u osnovnoj valuti preduzeca."
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.account,quantity_max:0
|
||||
|
@ -222,31 +181,29 @@ msgid "Balance"
|
|||
msgstr "Saldo"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Početni datum"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,quantity:0
|
||||
#: field:account.analytic.line,unit_amount:0
|
||||
msgid "Quantity"
|
||||
msgstr "Količina"
|
||||
#: help:account.analytic.account,type:0
|
||||
msgid ""
|
||||
"If you select the View Type, it means you won't allow to create journal "
|
||||
"entries using that account."
|
||||
msgstr ""
|
||||
"Ukoliko izaberete PREGLED, to znaci da ne zelite da kreirate sadrzaj "
|
||||
"dnevnika, koristeci taj nalog."
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Završni datum"
|
||||
|
||||
#. module: analytic
|
||||
#: constraint:ir.rule:0
|
||||
msgid "Rules are not supported for osv_memory objects !"
|
||||
msgstr "Pravila nisu podrzana od strane osv_memory objekata !"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,code:0
|
||||
msgid "Account Code"
|
||||
msgstr "Sifra Naloga"
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,type:0
|
||||
msgid "Normal"
|
||||
msgstr "Normalan"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,complete_name:0
|
||||
msgid "Full Account Name"
|
||||
|
@ -260,19 +217,19 @@ msgid "Analytic Account"
|
|||
msgstr "Analitički konto"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,company_currency_id:0
|
||||
msgid "Currency"
|
||||
msgstr "Valuta"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.line,amount_currency:0
|
||||
msgid "Amount currency"
|
||||
msgstr "Iznos valute"
|
||||
#: selection:account.analytic.account,type:0
|
||||
msgid "View"
|
||||
msgstr "Pregled"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,partner_id:0
|
||||
msgid "Associated Partner"
|
||||
msgstr "Povezani partner"
|
||||
msgid "Partner"
|
||||
msgstr "Partner"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Početni datum"
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
|
@ -283,3 +240,59 @@ msgstr "Otvori"
|
|||
#: field:account.analytic.account,line_ids:0
|
||||
msgid "Analytic Entries"
|
||||
msgstr "Analitičke stavke"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The amount expressed in the related account currency if not equal to the "
|
||||
#~ "company one."
|
||||
#~ msgstr ""
|
||||
#~ "Vrednost izrazena u datom iznosu valute ako nije jednaka valuti preduzeca"
|
||||
|
||||
#~ msgid "The related account currency if not equal to the company one."
|
||||
#~ msgstr "Dati iznos valute ako nije jednaka valuti preduzeca"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "* When an account is created its in 'Draft' state. "
|
||||
#~ " \n"
|
||||
#~ "* If any associated partner is there, it can be in 'Open' state. "
|
||||
#~ " \n"
|
||||
#~ "* If any pending balance is there it can be in 'Pending'. "
|
||||
#~ " \n"
|
||||
#~ "* And finally when all the transactions are over, it can be in 'Close' "
|
||||
#~ "state. \n"
|
||||
#~ "* The project can be in either if the states 'Template' and 'Running'.\n"
|
||||
#~ " If it is template then we can make projects based on the template projects. "
|
||||
#~ "If its in 'Running' state it is a normal project. "
|
||||
#~ " \n"
|
||||
#~ " If it is to be reviewed then the state is 'Pending'.\n"
|
||||
#~ " When the project is completed the state is set to 'Done'."
|
||||
#~ msgstr ""
|
||||
#~ "*Kada je neka faktura kreirana a nalazi se u ' U Toku'. "
|
||||
#~ " \n"
|
||||
#~ "*Ako je bilo koji asocirani partner tamo, on mora biti u stanju ' Otvoren'. "
|
||||
#~ " \n"
|
||||
#~ "*Ako je bilo koji Saldo u stanju 'U izvrsenju' on mora i biti tamo. "
|
||||
#~ " "
|
||||
#~ "\n"
|
||||
#~ "*I , na kraju kada su sve transakcije gotove, mora se naci u stanju ' "
|
||||
#~ "Zatvoreno'. "
|
||||
#~ " \n"
|
||||
#~ " Ako je ovo shema(obrazac) onda mi mozemo napraviri projekat baziran na "
|
||||
#~ "istom. Ako je u stanju ' U izvrsenju' to je normalnan\n"
|
||||
#~ "projekat.\n"
|
||||
#~ " Ako zelimo da ga pregledamo, stanje mora biti ' U Toku'.\n"
|
||||
#~ " Kada je projekat zavrsen stanje je postavljeno na ' Zavrseno'."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Calculated by multiplying the quantity and the price given in the Product's "
|
||||
#~ "cost price."
|
||||
#~ msgstr ""
|
||||
#~ "Izracunato mnozenjem kolicine i cene dobijene iz Proizvodove cene kostanja"
|
||||
|
||||
#~ msgid "Currency"
|
||||
#~ msgstr "Valuta"
|
||||
|
||||
#~ msgid "Associated Partner"
|
||||
#~ msgstr "Povezani partner"
|
||||
|
||||
#~ msgid "Amount currency"
|
||||
#~ msgstr "Iznos valute"
|
||||
|
|
|
@ -1292,8 +1292,8 @@ true, it will allow you to hide the event alarm information without removing it.
|
|||
|
||||
count = 0
|
||||
for data in cr.dictfetchall():
|
||||
start_date = base_start_date and datetime.strptime(base_start_date[:10], "%Y-%m-%d") or False
|
||||
until_date = base_until_date and datetime.strptime(base_until_date[:10], "%Y-%m-%d") or False
|
||||
start_date = base_start_date and datetime.strptime(base_start_date[:10]+ ' 00:00:00' , "%Y-%m-%d %H:%M:%S") or False
|
||||
until_date = base_until_date and datetime.strptime(base_until_date[:10]+ ' 23:59:59', "%Y-%m-%d %H:%M:%S") or False
|
||||
if count > limit:
|
||||
break
|
||||
event_date = datetime.strptime(data['date'], "%Y-%m-%d %H:%M:%S")
|
||||
|
@ -1426,8 +1426,9 @@ true, it will allow you to hide the event alarm information without removing it.
|
|||
args_without_date = []
|
||||
start_date = False
|
||||
until_date = False
|
||||
|
||||
for arg in args:
|
||||
if arg[0] not in ('date', unicode('date')):
|
||||
if arg[0] not in ('date', unicode('date'), 'date_deadline', unicode('date_deadline')):
|
||||
args_without_date.append(arg)
|
||||
else:
|
||||
if arg[1] in ('>', '>='):
|
||||
|
|
|
@ -6,25 +6,269 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-09-29 08:45+0000\n"
|
||||
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
|
||||
"PO-Revision-Date: 2010-10-25 19:25+0000\n"
|
||||
"Last-Translator: Chertykov Denis <chertykov@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-09-30 04:39+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,title:0
|
||||
msgid "Title"
|
||||
msgstr "Название"
|
||||
|
||||
#. module: base_contact
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Недопустимое имя модели в определении действия."
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.address:0
|
||||
msgid "# of Contacts"
|
||||
msgstr "Кол-во контактных лиц"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,fax:0
|
||||
msgid "Fax"
|
||||
msgstr "Факс"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:base.contact.installer:0
|
||||
msgid "title"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,date_start:0
|
||||
msgid "Start date of job(Joining Date)"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,function:0
|
||||
msgid "Function of this contact with this partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,state:0
|
||||
msgid "Status of Address"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,name:0
|
||||
msgid ""
|
||||
"You may enter Address first,Partner will be linked "
|
||||
"automatically if any."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,fax:0
|
||||
msgid "Job FAX no."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,mobile:0
|
||||
msgid "Mobile"
|
||||
msgstr "Моб. тел."
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
#: field:res.partner.contact,comment:0
|
||||
msgid "Notes"
|
||||
msgstr "Примечания"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.node,note:base_contact.process_node_contacts0
|
||||
msgid "People you work with."
|
||||
msgstr "Люди с которыми вы работает"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.transition,note:base_contact.process_transition_functiontoaddress0
|
||||
msgid "Define functions and address."
|
||||
msgstr "Определить функции и адреса."
|
||||
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,date_stop:0
|
||||
msgid "Last date of job"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: view:base.contact.installer:0
|
||||
#: field:base.contact.installer,migrate:0
|
||||
msgid "Migrate"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
#: field:res.partner.job,name:0
|
||||
msgid "Partner"
|
||||
msgstr "Партнер"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.node,note:base_contact.process_node_function0
|
||||
msgid "Jobs at a same partner address."
|
||||
msgstr "Должности с таким же адресом партнера"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.node,name:base_contact.process_node_partners0
|
||||
msgid "Partners"
|
||||
msgstr "Партнеры"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,function:0
|
||||
msgid "Partner Function"
|
||||
msgstr "Функции партнера"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,state:0
|
||||
msgid "State"
|
||||
msgstr "Состояние"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:ir.module.module,shortdesc:base_contact.module_meta_information
|
||||
#: model:process.process,name:base_contact.process_process_basecontactprocess0
|
||||
msgid "Base Contact"
|
||||
msgstr "Основной контакт"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,date_stop:0
|
||||
msgid "Date Stop"
|
||||
msgstr "Дата Остановки"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:ir.actions.act_window,name:base_contact.action_res_partner_job
|
||||
msgid "Contact's Jobs"
|
||||
msgstr "Должность контакта"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner:0
|
||||
msgid "Categories"
|
||||
msgstr "Категории"
|
||||
|
||||
#. 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
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "Неправильный XML для просмотра архитектуры!"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,extension:0
|
||||
msgid "Extension"
|
||||
msgstr "Расширение"
|
||||
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,extension:0
|
||||
msgid "Internal/External extension phone number"
|
||||
msgstr "Внутренний / внешний расширение телефонного номера"
|
||||
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,phone:0
|
||||
msgid "Job Phone no."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
#: field:res.partner.contact,job_ids:0
|
||||
msgid "Functions and Addresses"
|
||||
msgstr "Функции и Адреса"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:ir.model,name:base_contact.model_res_partner_contact
|
||||
#: field:res.partner.job,contact_id:0
|
||||
msgid "Contact"
|
||||
msgstr "Контакт"
|
||||
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,email:0
|
||||
msgid "Job E-Mail"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,sequence_partner:0
|
||||
msgid "Partner Seq."
|
||||
msgstr "Последовательность партнеров"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.transition,name:base_contact.process_transition_functiontoaddress0
|
||||
msgid "Function to address"
|
||||
msgstr "Адрес функции"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,name:0
|
||||
msgid "Last Name"
|
||||
msgstr "Фамилия"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner:0
|
||||
#: view:res.partner.contact:0
|
||||
msgid "Communication"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: field:base.contact.installer,config_logo:0
|
||||
#: field:res.partner.contact,photo:0
|
||||
msgid "Image"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: selection:res.partner.job,state:0
|
||||
msgid "Past"
|
||||
msgstr "Прошлые"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:ir.model,name:base_contact.model_res_partner_address
|
||||
msgid "Partner Addresses"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,sequence_contact:0
|
||||
msgid "Contact Seq."
|
||||
msgstr "Последовательность контакта"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:ir.model,name:base_contact.model_res_partner_contact
|
||||
msgid "res.partner.contact"
|
||||
msgstr "Контакт партнера"
|
||||
#: view:res.partner.address:0
|
||||
msgid "Search Contact"
|
||||
msgstr ""
|
||||
|
||||
#. 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:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form
|
||||
#: model:process.node,name:base_contact.process_node_contacts0
|
||||
#: view:res.partner:0
|
||||
#: field:res.partner.address,job_ids:0
|
||||
msgid "Contacts"
|
||||
msgstr "Контакты"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:base.contact.installer:0
|
||||
msgid ""
|
||||
"Due to changes in Address and Partner's relation, some of the details from "
|
||||
"address are needed to be migrated into contact information."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.node,note:base_contact.process_node_addresses0
|
||||
msgid "Working and private addresses."
|
||||
msgstr "Рабочие и дополнительные адреса."
|
||||
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,address_id:0
|
||||
msgid "Address which is linked to the Partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: constraint:ir.ui.menu:0
|
||||
msgid "Error ! You can not create recursive Menu."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: constraint:ir.model:0
|
||||
|
@ -35,24 +279,117 @@ msgstr ""
|
|||
"символов !"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,function_id:0
|
||||
msgid "Partner Function"
|
||||
msgstr "Функции партнера"
|
||||
#: help:res.partner.job,other:0
|
||||
msgid "Additional phone field"
|
||||
msgstr "Дополнительное поле телефона"
|
||||
|
||||
#. 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 "Контакты"
|
||||
#: field:res.partner.contact,website:0
|
||||
msgid "Website"
|
||||
msgstr "Сайт"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,sequence_partner:0
|
||||
msgid "Partner Seq."
|
||||
msgstr "Последовательность партнеров"
|
||||
#: view:base.contact.installer:0
|
||||
msgid "Otherwise these details will not be visible from address/contact."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: field:base.contact.installer,progress:0
|
||||
msgid "Configuration Progress"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,email:0
|
||||
#: field:res.partner.job,email:0
|
||||
msgid "E-Mail"
|
||||
msgstr "Эл. почта"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:ir.model,name:base_contact.model_base_contact_installer
|
||||
msgid "base.contact.installer"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: help:res.partner.contact,active:0
|
||||
msgid ""
|
||||
"If the active field is set to true, it will allow you to "
|
||||
"hide the partner contact without removing it."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.job:0
|
||||
msgid "Contact Functions"
|
||||
msgstr "Функции контакта"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,phone:0
|
||||
msgid "Phone"
|
||||
msgstr "Телефон"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:base.contact.installer:0
|
||||
msgid "Do you want to migrate your Address data in Contact Data?"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,active:0
|
||||
msgid "Active"
|
||||
msgstr "Активен"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,function:0
|
||||
msgid "Main Function"
|
||||
msgstr "Личная функция"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.transition,note:base_contact.process_transition_partnertoaddress0
|
||||
msgid "Define partners and their addresses."
|
||||
msgstr "Определить партнеров и их адреса."
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
msgid "Seq."
|
||||
msgstr "Посл-ть"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,lang_id:0
|
||||
msgid "Language"
|
||||
msgstr "Язык"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
msgid "Extra Information"
|
||||
msgstr "Доп. информация"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.node,note:base_contact.process_node_partners0
|
||||
msgid "Companies you work with."
|
||||
msgstr "Организации с которыми вы работаете"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
msgid "Partner Contact"
|
||||
msgstr "Контакт партнера"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
msgid "General"
|
||||
msgstr "Основной"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
msgid "Photo"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,birthdate:0
|
||||
msgid "Birth Date"
|
||||
msgstr "Дата рождения"
|
||||
|
||||
#. module: base_contact
|
||||
#: help:base.contact.installer,migrate:0
|
||||
msgid "If you select this, all addresses will be migrated."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: selection:res.partner.job,state:0
|
||||
|
@ -74,195 +411,47 @@ msgstr "Функции сотрудника партнера"
|
|||
msgid "Other"
|
||||
msgstr "Другое"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.transition,name:base_contact.process_transition_contacttofunction0
|
||||
msgid "Contact to function"
|
||||
msgstr "Функции контакта"
|
||||
|
||||
#. module: base_contact
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Недопустимое имя модели в определении действия."
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.transition,name:base_contact.process_transition_partnertoaddress0
|
||||
msgid "Partner to address"
|
||||
msgstr "Адрес партнера"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.address:0
|
||||
msgid "# of Contacts"
|
||||
msgstr "Кол-во контактных лиц"
|
||||
|
||||
#. 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 "Функция"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,fax:0
|
||||
msgid "Fax"
|
||||
msgstr "Факс"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,lang_id:0
|
||||
msgid "Language"
|
||||
msgstr "Язык"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,phone:0
|
||||
msgid "Phone"
|
||||
msgstr "Телефон"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.transition,note:base_contact.process_transition_contacttofunction0
|
||||
msgid "Defines contacts and functions."
|
||||
msgstr "Определить контакты и функции"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,title:0
|
||||
msgid "Title"
|
||||
msgstr "Название"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.job:0
|
||||
msgid "Contact Functions"
|
||||
msgstr "Функции контакта"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:ir.module.module,shortdesc:base_contact.module_meta_information
|
||||
msgid "Base Contact"
|
||||
msgstr "Основной контакт"
|
||||
|
||||
#. 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 "Эл. почта"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,date_stop:0
|
||||
msgid "Date Stop"
|
||||
msgstr "Дата Остановки"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner:0
|
||||
#: field:res.partner.job,address_id:0
|
||||
msgid "Address"
|
||||
msgstr "Адрес"
|
||||
|
||||
#. 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 "Должность контакта"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,country_id:0
|
||||
msgid "Nationality"
|
||||
msgstr "Национальность"
|
||||
|
||||
#. 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 "Основная должность"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.transition,note:base_contact.process_transition_contacttofunction0
|
||||
msgid "Defines contacts and functions."
|
||||
msgstr "Определить контакты и функции"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.transition,name:base_contact.process_transition_contacttofunction0
|
||||
msgid "Contact to function"
|
||||
msgstr "Функции контакта"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner:0
|
||||
msgid "Categories"
|
||||
msgstr "Категории"
|
||||
#: field:res.partner.job,address_id:0
|
||||
msgid "Address"
|
||||
msgstr "Адрес"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,function_id:0
|
||||
msgid "Main Function"
|
||||
msgstr "Личная функция"
|
||||
#: field:res.partner.contact,country_id:0
|
||||
msgid "Nationality"
|
||||
msgstr "Национальность"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.transition,note:base_contact.process_transition_partnertoaddress0
|
||||
msgid "Define partners and their addresses."
|
||||
msgstr "Определить партнеров и их адреса."
|
||||
#: model:ir.actions.act_window,name:base_contact.act_res_partner_jobs
|
||||
msgid "Open Jobs"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "Неправильный XML для просмотра архитектуры!"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.process,name:base_contact.process_process_basecontactprocess0
|
||||
msgid "Base Contact Process"
|
||||
msgstr "Основной контакт"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
msgid "Seq."
|
||||
msgstr "Посл-ть"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,extension:0
|
||||
msgid "Extension"
|
||||
msgstr "Расширение"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,mobile:0
|
||||
msgid "Mobile"
|
||||
msgstr "Моб. тел."
|
||||
|
||||
#. 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 "Доп. информация"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
#: field:res.partner.contact,job_ids:0
|
||||
msgid "Functions and Addresses"
|
||||
msgstr "Функции и Адреса"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,active:0
|
||||
msgid "Active"
|
||||
msgstr "Активен"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,contact_id:0
|
||||
msgid "Contact"
|
||||
msgstr "Контакт"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.node,note:base_contact.process_node_partners0
|
||||
msgid "Companies you work with."
|
||||
msgstr "Организации с которыми вы работаете"
|
||||
#: field:base.contact.installer,name:0
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,partner_id:0
|
||||
|
@ -270,24 +459,14 @@ msgid "Main Employer"
|
|||
msgstr "Основной работодатель"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.transition,name:base_contact.process_transition_functiontoaddress0
|
||||
msgid "Function to address"
|
||||
msgstr "Адрес функции"
|
||||
#: model:ir.actions.act_window,name:base_contact.action_base_contact_installer
|
||||
msgid "Address Migration"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: model:ir.actions.act_window,name:base_contact.act_res_partner_jobs
|
||||
msgid "Partner Contacts"
|
||||
msgstr "Контакты партнера"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
msgid "Partner Contact"
|
||||
msgstr "Контакт партнера"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.node,name:base_contact.process_node_partners0
|
||||
msgid "Partners"
|
||||
msgstr "Партнеры"
|
||||
#: view:res.partner:0
|
||||
msgid "Postal Address"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.node,name:base_contact.process_node_addresses0
|
||||
|
@ -296,45 +475,9 @@ msgid "Addresses"
|
|||
msgstr "Адреса"
|
||||
|
||||
#. 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 "Фамилия"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,state:0
|
||||
msgid "State"
|
||||
msgstr "Состояние"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
#: view:res.partner.job:0
|
||||
msgid "General"
|
||||
msgstr "Основной"
|
||||
|
||||
#. module: base_contact
|
||||
#: selection:res.partner.job,state:0
|
||||
msgid "Past"
|
||||
msgstr "Прошлые"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
msgid "General Information"
|
||||
msgstr "Общая информация"
|
||||
|
||||
#. 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 "Партнер"
|
||||
#: model:process.transition,name:base_contact.process_transition_partnertoaddress0
|
||||
msgid "Partner to address"
|
||||
msgstr "Адрес партнера"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,date_start:0
|
||||
|
@ -342,16 +485,31 @@ msgid "Date Start"
|
|||
msgstr "Дата начала"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.transition,note:base_contact.process_transition_functiontoaddress0
|
||||
msgid "Define functions and address."
|
||||
msgstr "Определить функции и адреса."
|
||||
#: 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.contact,website:0
|
||||
msgid "Website"
|
||||
msgstr "Сайт"
|
||||
#~ msgid "General Information"
|
||||
#~ msgstr "Общая информация"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,birthdate:0
|
||||
msgid "Birth Date"
|
||||
msgstr "Дата рождения"
|
||||
#~ msgid "res.partner.contact"
|
||||
#~ msgstr "Контакт партнера"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Order of importance of this job title in the list of job title of the linked "
|
||||
#~ "partner"
|
||||
#~ msgstr ""
|
||||
#~ "С учетом важности этой работы названия в списке Должность связанного партнера"
|
||||
|
||||
#~ msgid "Base Contact Process"
|
||||
#~ msgstr "Основной контакт"
|
||||
|
||||
#~ msgid "Partner Contacts"
|
||||
#~ msgstr "Контакты партнера"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Order of importance of this address in the list of addresses of the linked "
|
||||
#~ "contact"
|
||||
#~ msgstr "Уровень важности этого адреса в списке адресов связанного контакта"
|
||||
|
|
|
@ -6,35 +6,70 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-08-03 03:17+0000\n"
|
||||
"Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.com>\n"
|
||||
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
|
||||
"PO-Revision-Date: 2010-10-25 19:14+0000\n"
|
||||
"Last-Translator: Chertykov Denis <chertykov@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-09-29 04:59+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_vat
|
||||
#: model:ir.module.module,description:base_vat.module_meta_information
|
||||
#: code:addons/base_vat/base_vat.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Enable the VAT Number for the partner. Check the validity of that VAT Number."
|
||||
msgstr ""
|
||||
"Разрешить использование кода налога для партнера. Проверьте правильность "
|
||||
"кода налога."
|
||||
"The Vat does not seems to be correct. You should have entered something like "
|
||||
"this %s"
|
||||
msgstr "НДС не кажется верным. Вы должны ввести что-то вроде этого: %s"
|
||||
|
||||
#. module: base_vat
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "Некорректный формат XML структуры для просмотра."
|
||||
|
||||
#. module: base_vat
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
"Название объекта должно начинаться с x_ и не должно содержать специальных "
|
||||
"символов !"
|
||||
|
||||
#. module: base_vat
|
||||
#: model:ir.module.module,shortdesc:base_vat.module_meta_information
|
||||
msgid "Base VAT - To check VAT number validity"
|
||||
msgstr "База НДС - для проверки правильности НДС"
|
||||
|
||||
#. module: base_vat
|
||||
#: code:addons/base_vat/base_vat.py:0
|
||||
#, python-format
|
||||
msgid "The VAT is invalid, It should begin with the country code"
|
||||
msgstr "НДС неправильный, он должен начинаться с кода страны"
|
||||
|
||||
#. module: base_vat
|
||||
#: help:res.partner,vat_subjected:0
|
||||
msgid ""
|
||||
"Check this box if the partner is subjected to the VAT. It will be used for "
|
||||
"the VAT legal statement."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_vat
|
||||
#: model:ir.model,name:base_vat.model_res_partner
|
||||
msgid "Partner"
|
||||
msgstr "Партнёр"
|
||||
|
||||
#. module: base_vat
|
||||
#: field:res.partner,vat_subjected:0
|
||||
msgid "VAT Legal Statement"
|
||||
msgstr "Действующий код налога"
|
||||
|
||||
#. module: base_vat
|
||||
#: model:ir.module.module,shortdesc:base_vat.module_meta_information
|
||||
msgid "VAT"
|
||||
msgstr "Код налога"
|
||||
#~ msgid "VAT"
|
||||
#~ msgstr "Код налога"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Enable the VAT Number for the partner. Check the validity of that VAT Number."
|
||||
#~ msgstr ""
|
||||
#~ "Разрешить использование кода налога для партнера. Проверьте правильность "
|
||||
#~ "кода налога."
|
||||
|
|
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
|
||||
"PO-Revision-Date: 2010-10-24 21:49+0000\n"
|
||||
"Last-Translator: Carlos @ smile.fr <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-10-25 07:14+0000\n"
|
||||
"Last-Translator: Carlos-smile <Unknown>\n"
|
||||
"Language-Team: Spanish <es@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-25 04:39+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: claim_from_delivery
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
|
||||
"PO-Revision-Date: 2010-10-24 13:14+0000\n"
|
||||
"PO-Revision-Date: 2010-10-25 18:27+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-25 04:39+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: crm
|
||||
|
@ -445,13 +445,13 @@ msgstr "Zaktualizuj datę"
|
|||
#. module: crm
|
||||
#: help:crm.meeting,count:0
|
||||
msgid "Repeat max that times"
|
||||
msgstr ""
|
||||
msgstr "Powtórz maksymalnie razy"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead2opportunity.action:0
|
||||
#: field:crm.lead2opportunity.action,name:0
|
||||
msgid "Select Action"
|
||||
msgstr ""
|
||||
msgstr "Wybierz akcję"
|
||||
|
||||
#. module: crm
|
||||
#: field:base.action.rule,trg_categ_id:0
|
||||
|
@ -469,17 +469,17 @@ msgstr "Kategoria"
|
|||
#. module: crm
|
||||
#: view:crm.lead.report:0
|
||||
msgid "#Opportunities"
|
||||
msgstr ""
|
||||
msgstr "#Szans"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.resource.type,name:crm.type_oppor2
|
||||
msgid "Campaign 1"
|
||||
msgstr ""
|
||||
msgstr "Kampania 1"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.resource.type,name:crm.type_oppor1
|
||||
msgid "Campaign 2"
|
||||
msgstr ""
|
||||
msgstr "Kampania 2"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
|
@ -489,12 +489,12 @@ msgstr "Prywatność"
|
|||
#. module: crm
|
||||
#: view:crm.lead.report:0
|
||||
msgid "Opportunity Analysis"
|
||||
msgstr ""
|
||||
msgstr "Analiza szans"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.meeting,location:0
|
||||
msgid "Location of Event"
|
||||
msgstr ""
|
||||
msgstr "Miejsce zdarzenia"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.meeting,rrule:0
|
||||
|
@ -504,7 +504,7 @@ msgstr "Reguła rekurencyjna"
|
|||
#. module: crm
|
||||
#: help:crm.installer,fetchmail:0
|
||||
msgid "Allows you to receive E-Mails from POP/IMAP server."
|
||||
msgstr ""
|
||||
msgstr "Pozwala otrzymywać maile z serwera PO/IMAP."
|
||||
|
||||
#. module: crm
|
||||
#: model:process.transition,note:crm.process_transition_opportunitymeeting0
|
||||
|
@ -514,7 +514,7 @@ msgstr "Spotkanie albo rozmowa telefoniczna w sprawie szansy"
|
|||
#. module: crm
|
||||
#: model:process.node,note:crm.process_node_leads0
|
||||
msgid "Very first contact with new prospect"
|
||||
msgstr "Pierwszy kontakt z tą okazją"
|
||||
msgstr "Pierwszy kontakt z nowym potencjalnym klientem"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/crm_lead.py:0
|
||||
|
@ -564,7 +564,7 @@ msgstr "Nie uruchomiony"
|
|||
#: view:crm.send.mail:0
|
||||
#: model:ir.actions.act_window,name:crm.action_crm_reply_mail
|
||||
msgid "Reply to last Mail"
|
||||
msgstr ""
|
||||
msgstr "Odpowiedz na ostatni mail"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead,email:0
|
||||
|
@ -584,7 +584,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: field:crm.meeting,count:0
|
||||
msgid "Count"
|
||||
msgstr ""
|
||||
msgstr "Liczba"
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.lead.report,month:0
|
||||
|
@ -608,7 +608,7 @@ msgstr "Ci ludzie otrzymają wiadomość"
|
|||
#: view:crm.meeting:0
|
||||
#: field:crm.meeting,name:0
|
||||
msgid "Summary"
|
||||
msgstr ""
|
||||
msgstr "Podsumowanie"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.segmentation:0
|
||||
|
@ -629,6 +629,8 @@ msgid ""
|
|||
"Allows you to link your e-mail to OpenERP's documents. You can attach it to "
|
||||
"any existing one in OpenERP or create a new one."
|
||||
msgstr ""
|
||||
"Pozwala połączyć twoje wiadomości z dokumentami OpenERP. Możesz połączyć je "
|
||||
"z dowolnym istniejącym dokumentem lub utworzyć nowy dokument."
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case.categ:0
|
||||
|
@ -648,12 +650,12 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: view:crm.segmentation:0
|
||||
msgid "Profiling Options"
|
||||
msgstr ""
|
||||
msgstr "Opcje profilowania"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.phonecall.report:0
|
||||
msgid "#Phone calls"
|
||||
msgstr ""
|
||||
msgstr "# telefonów"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
|
@ -666,13 +668,13 @@ msgid ""
|
|||
"The channels represent the different communication "
|
||||
"modes available with the customer. With each commercial opportunity, you can "
|
||||
"indicate the canall which is this opportunity source."
|
||||
msgstr ""
|
||||
msgstr "Kanały są różnymi sposobami komunikowania się z klientem."
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/crm_meeting.py:0
|
||||
#, python-format
|
||||
msgid "The meeting '%s' has been confirmed."
|
||||
msgstr ""
|
||||
msgstr "Spotkanie '%s' zostało potwierdzone."
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.section,user_id:0
|
||||
|
|
|
@ -6,16 +6,21 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-09-29 10:27+0000\n"
|
||||
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
|
||||
"PO-Revision-Date: 2010-10-25 19:14+0000\n"
|
||||
"Last-Translator: Chertykov Denis <chertykov@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-09-30 04:43+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: crm_profiling
|
||||
#: view:crm_profiling.questionnaire:0
|
||||
msgid "Questions List"
|
||||
msgstr "Опросный лист"
|
||||
|
||||
#. module: crm_profiling
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
|
@ -24,6 +29,11 @@ msgstr ""
|
|||
"Название объекта должно начинаться с x_ и не должно содержать специальных "
|
||||
"символов !"
|
||||
|
||||
#. module: crm_profiling
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Недопустимое имя модели в определении действия."
|
||||
|
||||
#. module: crm_profiling
|
||||
#: field:crm_profiling.answer,question_id:0
|
||||
#: field:crm_profiling.question,name:0
|
||||
|
@ -42,14 +52,14 @@ msgid "Child Profiles"
|
|||
msgstr "Подчиненные профили"
|
||||
|
||||
#. module: crm_profiling
|
||||
#: model:ir.module.module,shortdesc:crm_profiling.module_meta_information
|
||||
msgid "crm_profiling management"
|
||||
msgstr "Управление профилями CRM"
|
||||
#: view:crm.segmentation:0
|
||||
msgid "Partner Segmentations"
|
||||
msgstr "Сегментация партнеров"
|
||||
|
||||
#. module: crm_profiling
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Недопустимое имя модели в определении действия."
|
||||
#: constraint:ir.ui.menu:0
|
||||
msgid "Error ! You can not create recursive Menu."
|
||||
msgstr "Ошибка ! Нельзя создать зацикленные меню."
|
||||
|
||||
#. module: crm_profiling
|
||||
#: field:crm_profiling.answer,name:0
|
||||
|
@ -57,12 +67,23 @@ msgstr "Недопустимое имя модели в определении
|
|||
msgid "Answer"
|
||||
msgstr "Ответ"
|
||||
|
||||
#. module: crm_profiling
|
||||
#: model:ir.model,name:crm_profiling.model_crm_segmentation
|
||||
msgid "Partner Segmentation"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_profiling
|
||||
#: view:res.partner:0
|
||||
msgid "Profiling"
|
||||
msgstr "Профилирование"
|
||||
|
||||
#. module: crm_profiling
|
||||
#: model:ir.module.module,shortdesc:crm_profiling.module_meta_information
|
||||
msgid "Crm Profiling management - To Perform Segmentation within Partners"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_profiling
|
||||
#: view:crm_profiling.questionnaire:0
|
||||
#: field:crm_profiling.questionnaire,description:0
|
||||
msgid "Description"
|
||||
msgstr "Описание"
|
||||
|
@ -102,11 +123,12 @@ msgid "Questionnaires"
|
|||
msgstr "Опросники"
|
||||
|
||||
#. module: crm_profiling
|
||||
#: field:crm_profiling.questionnaire,name:0
|
||||
#: model:ir.model,name:crm_profiling.model_crm_profiling_questionnaire
|
||||
#: wizard_view:open_questionnaire,init:0
|
||||
msgid "Questionnaire"
|
||||
msgstr "Опросник"
|
||||
#: help:crm.segmentation,profiling_active:0
|
||||
msgid ""
|
||||
"Check this box if you want to use this tab as "
|
||||
"part of the segmentation rule. If not checked, "
|
||||
"the criteria beneath will be ignored"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_profiling
|
||||
#: constraint:crm.segmentation:0
|
||||
|
@ -129,13 +151,6 @@ msgstr "Доступные ответы"
|
|||
msgid "Included Answers"
|
||||
msgstr "Включенные Ответы"
|
||||
|
||||
#. module: crm_profiling
|
||||
#: help:crm.segmentation,profiling_active:0
|
||||
msgid ""
|
||||
"Check this box if you want to use this tab as part of the segmentation rule. "
|
||||
"If not checked, the criteria beneath will be ignored"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_profiling
|
||||
#: view:crm_profiling.question:0
|
||||
#: field:crm_profiling.questionnaire,questions_ids:0
|
||||
|
@ -156,9 +171,18 @@ msgid "Cancel"
|
|||
msgstr "Отмена"
|
||||
|
||||
#. module: crm_profiling
|
||||
#: view:crm.segmentation:0
|
||||
msgid "Partner Segmentations"
|
||||
msgstr "Сегментация партнеров"
|
||||
#: model:ir.model,name:crm_profiling.model_res_partner
|
||||
msgid "Partner"
|
||||
msgstr "Партнёр"
|
||||
|
||||
#. module: crm_profiling
|
||||
#: code:addons/crm_profiling/crm_profiling.py:0
|
||||
#: field:crm_profiling.questionnaire,name:0
|
||||
#: model:ir.model,name:crm_profiling.model_crm_profiling_questionnaire
|
||||
#: wizard_view:open_questionnaire,init:0
|
||||
#, python-format
|
||||
msgid "Questionnaire"
|
||||
msgstr "Опросник"
|
||||
|
||||
#. module: crm_profiling
|
||||
#: model:ir.actions.wizard,name:crm_profiling.wizard_open_questionnaire
|
||||
|
@ -169,3 +193,6 @@ msgstr "Используя опросник"
|
|||
#: wizard_button:open_questionnaire,open,compute:0
|
||||
msgid "Save Data"
|
||||
msgstr "Сохранить данные"
|
||||
|
||||
#~ msgid "crm_profiling management"
|
||||
#~ msgstr "Управление профилями CRM"
|
||||
|
|
|
@ -6,16 +6,367 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-10-16 09:49+0000\n"
|
||||
"Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.com>\n"
|
||||
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
|
||||
"PO-Revision-Date: 2010-10-25 19:23+0000\n"
|
||||
"Last-Translator: Chertykov Denis <chertykov@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-10-17 04:53+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: delivery
|
||||
#: report:sale.shipping:0
|
||||
msgid "Order Ref."
|
||||
msgstr "Ссылка заказа"
|
||||
|
||||
#. module: delivery
|
||||
#: model:product.template,name:delivery.delivery_product_product_template
|
||||
msgid "Delivery by Poste"
|
||||
msgstr "Доставка почтой"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.grid:0
|
||||
msgid "Destination"
|
||||
msgstr "Место назначения"
|
||||
|
||||
#. module: delivery
|
||||
#: field:stock.move,weight_net:0
|
||||
msgid "Net weight"
|
||||
msgstr "Вес нетто"
|
||||
|
||||
#. module: delivery
|
||||
#: code:addons/delivery/delivery.py:0
|
||||
#, python-format
|
||||
msgid "No price available !"
|
||||
msgstr "Нет каталога !"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_delivery_grid_line
|
||||
msgid "Delivery Grid Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: delivery
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Недопустимое имя модели в определении действия."
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.grid:0
|
||||
msgid "Delivery grids"
|
||||
msgstr "Расценки на доставку"
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.grid.line,type:0
|
||||
#: selection:delivery.grid.line,variable_factor:0
|
||||
#: field:stock.picking,volume:0
|
||||
msgid "Volume"
|
||||
msgstr "Объем"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid,line_ids:0
|
||||
msgid "Grid Line"
|
||||
msgstr "Разделяемая строка"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.actions.report.xml,name:delivery.report_shipping
|
||||
msgid "Delivery order"
|
||||
msgstr "Заказ на доставку"
|
||||
|
||||
#. module: delivery
|
||||
#: view:res.partner:0
|
||||
msgid "Deliveries Properties"
|
||||
msgstr "Свойства доставки"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.actions.act_window,name:delivery.action_picking_tree4
|
||||
msgid "Picking to be invoiced"
|
||||
msgstr ""
|
||||
|
||||
#. module: delivery
|
||||
#: help:delivery.grid,sequence:0
|
||||
msgid "Gives the sequence order when displaying a list of delivery grid."
|
||||
msgstr ""
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.grid:0
|
||||
#: field:delivery.grid,country_ids:0
|
||||
msgid "Countries"
|
||||
msgstr "Страны"
|
||||
|
||||
#. module: delivery
|
||||
#: report:sale.shipping:0
|
||||
msgid "Delivery Order :"
|
||||
msgstr "Заказ на доставку:"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_sale_order
|
||||
msgid "Sale Order"
|
||||
msgstr "Заказ на продажу"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,variable_factor:0
|
||||
msgid "Variable Factor"
|
||||
msgstr "Переменный фактор"
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.grid.line,price_type:0
|
||||
msgid "Fixed"
|
||||
msgstr "Фиксированный"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.sale.order:0
|
||||
#: field:delivery.sale.order,carrier_id:0
|
||||
#: model:ir.actions.act_window,name:delivery.action_delivery_carrier_form
|
||||
#: model:ir.ui.menu,name:delivery.menu_action_delivery_carrier_form
|
||||
#: field:res.partner,property_delivery_carrier:0
|
||||
msgid "Delivery Method"
|
||||
msgstr "Метод доставки"
|
||||
|
||||
#. module: delivery
|
||||
#: help:delivery.grid,active:0
|
||||
msgid ""
|
||||
"If the active field is set to true, it will allow you to hide the delivery "
|
||||
"grid without removing it."
|
||||
msgstr ""
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_stock_move
|
||||
msgid "Stock Move"
|
||||
msgstr "Движение ТМЦ"
|
||||
|
||||
#. module: delivery
|
||||
#: code:addons/delivery/delivery.py:0
|
||||
#, python-format
|
||||
msgid "No line matched this order in the choosed delivery grids !"
|
||||
msgstr ""
|
||||
|
||||
#. module: delivery
|
||||
#: field:stock.picking,carrier_tracking_ref:0
|
||||
msgid "Carrier Tracking Ref"
|
||||
msgstr ""
|
||||
|
||||
#. module: delivery
|
||||
#: field:stock.picking,weight_net:0
|
||||
msgid "Net Weight"
|
||||
msgstr "Вес нетто"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.grid.line:0
|
||||
msgid "Grid Lines"
|
||||
msgstr "Разделяемые строки"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.grid:0
|
||||
msgid "Grid definition"
|
||||
msgstr "Определение разделения"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.sale.order:0
|
||||
msgid "_Cancel"
|
||||
msgstr "_Отмена"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,operator:0
|
||||
msgid "Operator"
|
||||
msgstr "Оператор"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_res_partner
|
||||
msgid "Partner"
|
||||
msgstr "Партнёр"
|
||||
|
||||
#. module: delivery
|
||||
#: constraint:ir.ui.menu:0
|
||||
msgid "Error ! You can not create recursive Menu."
|
||||
msgstr "Ошибка ! Нельзя создать зацикленные меню."
|
||||
|
||||
#. module: delivery
|
||||
#: report:sale.shipping:0
|
||||
msgid "Invoiced to"
|
||||
msgstr "счет-фактура"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_stock_picking
|
||||
msgid "Picking List"
|
||||
msgstr "Комплектовочный лист"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_delivery_sale_order
|
||||
msgid "Make Delievery"
|
||||
msgstr "Сделать доставку"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.module.module,description:delivery.module_meta_information
|
||||
msgid ""
|
||||
"Allows you to add delivery methods in sale orders and picking.\n"
|
||||
" You can define your own carrier and delivery grids for prices.\n"
|
||||
" When creating invoices from picking, OpenERP is able to add and compute "
|
||||
"the shipping line.\n"
|
||||
"\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: delivery
|
||||
#: code:addons/delivery/stock.py:0
|
||||
#, python-format
|
||||
msgid "Warning"
|
||||
msgstr "Внимание"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,grid_id:0
|
||||
msgid "Grid"
|
||||
msgstr "Разделение"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid,zip_to:0
|
||||
msgid "To Zip"
|
||||
msgstr "Почтовый индекс получателя"
|
||||
|
||||
#. module: delivery
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "Неправильный XML для просмотра архитектуры!"
|
||||
|
||||
#. module: delivery
|
||||
#: constraint:product.template:0
|
||||
msgid "Error: UOS must be in a different category than the UOM"
|
||||
msgstr ""
|
||||
"Ошибка. Единицы продажи и единицы измерения должны принадлежать к разным "
|
||||
"категориям."
|
||||
|
||||
#. module: delivery
|
||||
#: report:sale.shipping:0
|
||||
msgid "Order Date"
|
||||
msgstr "Дата заказа"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid,name:0
|
||||
msgid "Grid Name"
|
||||
msgstr "Имя разделения"
|
||||
|
||||
#. module: delivery
|
||||
#: view:stock.move:0
|
||||
msgid "Weights"
|
||||
msgstr "Вес"
|
||||
|
||||
#. module: delivery
|
||||
#: field:stock.picking,number_of_packages:0
|
||||
msgid "Number of Packages"
|
||||
msgstr "Количество упаковок"
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.grid.line,type:0
|
||||
#: selection:delivery.grid.line,variable_factor:0
|
||||
#: report:sale.shipping:0
|
||||
#: field:stock.move,weight:0
|
||||
#: field:stock.picking,weight:0
|
||||
msgid "Weight"
|
||||
msgstr "Вес"
|
||||
|
||||
#. module: delivery
|
||||
#: field:sale.order,carrier_id:0
|
||||
msgid "Delivery method"
|
||||
msgstr "Метод доставки"
|
||||
|
||||
#. module: delivery
|
||||
#: code:addons/delivery/wizard/delivery_sale_order.py:0
|
||||
#, python-format
|
||||
msgid "No grid available !"
|
||||
msgstr ""
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.grid.line,operator:0
|
||||
msgid ">="
|
||||
msgstr ">="
|
||||
|
||||
#. module: delivery
|
||||
#: constraint:product.template:0
|
||||
msgid ""
|
||||
"Error: The default UOM and the purchase UOM must be in the same category."
|
||||
msgstr ""
|
||||
"Ошибка. ЕИМ по умолчанию и закупочная ЕИМ должны иметь одинаковую категорию."
|
||||
|
||||
#. module: delivery
|
||||
#: code:addons/delivery/wizard/delivery_sale_order.py:0
|
||||
#, python-format
|
||||
msgid "Order not in draft state !"
|
||||
msgstr "Заказ не в состоянии \"Черновик\" !"
|
||||
|
||||
#. module: delivery
|
||||
#: constraint:res.partner:0
|
||||
msgid "Error ! You can not create recursive associated members."
|
||||
msgstr "Ошибка! Вы не можете создать рекурсивных связанных участников."
|
||||
|
||||
#. module: delivery
|
||||
#: report:sale.shipping:0
|
||||
msgid "Lot"
|
||||
msgstr "Партия"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_delivery_grid
|
||||
msgid "Delivery Grid"
|
||||
msgstr "Расценки на доставку"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.carrier,active:0
|
||||
#: field:delivery.grid,active:0
|
||||
msgid "Active"
|
||||
msgstr "Активен"
|
||||
|
||||
#. module: delivery
|
||||
#: report:sale.shipping:0
|
||||
msgid "Shipping Date"
|
||||
msgstr "Дата отгрузки"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.carrier,product_id:0
|
||||
msgid "Delivery Product"
|
||||
msgstr "Услуга или изделие, соответствующее доставке"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.grid.line:0
|
||||
msgid "Condition"
|
||||
msgstr "Условие"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,standard_price:0
|
||||
msgid "Cost Price"
|
||||
msgstr "Себестоимость"
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.grid.line,price_type:0
|
||||
#: field:delivery.grid.line,type:0
|
||||
msgid "Variable"
|
||||
msgstr "Переменная"
|
||||
|
||||
#. module: delivery
|
||||
#: help:res.partner,property_delivery_carrier:0
|
||||
msgid "This delivery method will be used when invoicing from picking."
|
||||
msgstr ""
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,max_value:0
|
||||
msgid "Maximum Value"
|
||||
msgstr "Максимальное значение"
|
||||
|
||||
#. module: delivery
|
||||
#: report:sale.shipping:0
|
||||
msgid "Quantity"
|
||||
msgstr "Количество"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid,zip_from:0
|
||||
msgid "Start Zip"
|
||||
msgstr "Почтовый индекс отправителя"
|
||||
|
||||
#. module: delivery
|
||||
#: help:sale.order,carrier_id:0
|
||||
msgid ""
|
||||
"Complete this field if you plan to invoice the shipping based on picking."
|
||||
msgstr ""
|
||||
|
||||
#. module: delivery
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
|
@ -25,9 +376,9 @@ msgstr ""
|
|||
"символов !"
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.grid.line,operator:0
|
||||
msgid ">="
|
||||
msgstr ">="
|
||||
#: field:delivery.carrier,partner_id:0
|
||||
msgid "Carrier Partner"
|
||||
msgstr "Партнер по доставке"
|
||||
|
||||
#. module: delivery
|
||||
#: view:res.partner:0
|
||||
|
@ -35,61 +386,20 @@ msgid "Sales & Purchases"
|
|||
msgstr "Продажи и закупки"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.grid:0
|
||||
msgid "Destination"
|
||||
msgstr "Место назначения"
|
||||
#: view:delivery.sale.order:0
|
||||
msgid "Create Deliveries"
|
||||
msgstr "Создать доставки"
|
||||
|
||||
#. module: delivery
|
||||
#: model:product.template,name:delivery.delivery_product_product_template
|
||||
msgid "Delivery by Poste"
|
||||
msgstr "Доставка почтой"
|
||||
#: model:ir.actions.act_window,name:delivery.action_delivery_cost
|
||||
#: view:sale.order:0
|
||||
msgid "Delivery Costs"
|
||||
msgstr "Стоимость поставки"
|
||||
|
||||
#. module: delivery
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "Неправильный XML для просмотра архитектуры!"
|
||||
|
||||
#. module: delivery
|
||||
#: constraint:res.partner:0
|
||||
msgid "Error ! You can not create recursive associated members."
|
||||
msgstr "Ошибка! Вы не можете создать рекурсивных связанных участников."
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid,state_ids:0
|
||||
msgid "States"
|
||||
msgstr "Cостояния"
|
||||
|
||||
#. module: delivery
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Недопустимое имя модели в определении действия."
|
||||
|
||||
#. module: delivery
|
||||
#: help:res.partner,property_delivery_carrier:0
|
||||
msgid "This delivery method will be used when invoicing from packing."
|
||||
msgstr ""
|
||||
"Этот метод доставки должен использоваться при фактурировании на основании "
|
||||
"данных упаковки."
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_delivery_grid
|
||||
msgid "Delivery Grid"
|
||||
msgstr "Расценки на доставку"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid,zip_from:0
|
||||
msgid "Start Zip"
|
||||
msgstr "Почтовый индекс отправителя"
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.grid.line,price_type:0
|
||||
msgid "Fixed"
|
||||
msgstr "Фиксированный"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid,line_ids:0
|
||||
msgid "Grid Line"
|
||||
msgstr "Разделяемая строка"
|
||||
#: report:sale.shipping:0
|
||||
msgid "Description"
|
||||
msgstr "Описание"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.actions.act_window,name:delivery.action_delivery_grid_form
|
||||
|
@ -98,47 +408,23 @@ msgid "Delivery Pricelist"
|
|||
msgstr "Каталог доставки"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.actions.act_window,name:delivery.action_picking_tree5
|
||||
#: model:ir.ui.menu,name:delivery.menu_action_picking_tree5
|
||||
msgid "Generate Draft Invoices On Receptions"
|
||||
msgstr "Генерировать черновики счетов при получении"
|
||||
#: field:delivery.carrier,price:0
|
||||
#: selection:delivery.grid.line,type:0
|
||||
#: selection:delivery.grid.line,variable_factor:0
|
||||
msgid "Price"
|
||||
msgstr "Цена"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_delivery_grid_line
|
||||
msgid "Delivery line of grid"
|
||||
msgstr "Разделяемая строка поставки"
|
||||
#: code:addons/delivery/wizard/delivery_sale_order.py:0
|
||||
#, python-format
|
||||
msgid "No grid matching for this carrier !"
|
||||
msgstr ""
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.ui.menu,name:delivery.menu_delivery
|
||||
msgid "Delivery"
|
||||
msgstr "Доставка"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.grid.line:0
|
||||
msgid "Grid Lines"
|
||||
msgstr "Разделяемые строки"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,grid_id:0
|
||||
msgid "Grid"
|
||||
msgstr "Разделение"
|
||||
|
||||
#. module: delivery
|
||||
#: view:res.partner:0
|
||||
msgid "Deliveries Properties"
|
||||
msgstr "Свойства доставки"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.carrier,active:0
|
||||
#: field:delivery.grid,active:0
|
||||
msgid "Active"
|
||||
msgstr "Активен"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.grid:0
|
||||
msgid "Grid definition"
|
||||
msgstr "Определение разделения"
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.grid.line,type:0
|
||||
#: selection:delivery.grid.line,variable_factor:0
|
||||
|
@ -151,24 +437,10 @@ msgid "="
|
|||
msgstr "="
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.carrier,product_id:0
|
||||
msgid "Delivery Product"
|
||||
msgstr "Услуга или изделие, соответствующее доставке"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.grid.line:0
|
||||
msgid "Condition"
|
||||
msgstr "Условие"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_delivery_carrier
|
||||
msgid "Carrier and delivery grids"
|
||||
msgstr "Разделение поставки и перевозчика"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,standard_price:0
|
||||
msgid "Cost Price"
|
||||
msgstr "Себестоимость"
|
||||
#: code:addons/delivery/stock.py:0
|
||||
#, python-format
|
||||
msgid "The carrier %s (id: %d) has no delivery grid!"
|
||||
msgstr ""
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,name:0
|
||||
|
@ -176,77 +448,26 @@ msgid "Name"
|
|||
msgstr "Название"
|
||||
|
||||
#. module: delivery
|
||||
#: constraint:product.template:0
|
||||
msgid "Error: UOS must be in a different category than the UOM"
|
||||
msgstr ""
|
||||
"Ошибка. Единицы продажи и единицы измерения должны принадлежать к разным "
|
||||
"категориям."
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid,country_ids:0
|
||||
msgid "Countries"
|
||||
msgstr "Страны"
|
||||
|
||||
#. module: delivery
|
||||
#: constraint:product.template:0
|
||||
#: help:delivery.carrier,active:0
|
||||
msgid ""
|
||||
"Error: The default UOM and the purchase UOM must be in the same category."
|
||||
"If the active field is set to true, it will allow you to hide the delivery "
|
||||
"carrier without removing it."
|
||||
msgstr ""
|
||||
"Ошибка. ЕИМ по умолчанию и закупочная ЕИМ должны иметь одинаковую категорию."
|
||||
|
||||
#. module: delivery
|
||||
#: view:sale.order:0
|
||||
msgid "Notes"
|
||||
msgstr "Примечания"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,variable_factor:0
|
||||
msgid "Variable Factor"
|
||||
msgstr "Переменный фактор"
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.grid.line,price_type:0
|
||||
#: field:delivery.grid.line,type:0
|
||||
msgid "Variable"
|
||||
msgstr "Переменная"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid,name:0
|
||||
msgid "Grid Name"
|
||||
msgstr "Имя разделения"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.carrier:0
|
||||
#: field:delivery.carrier,name:0
|
||||
#: field:delivery.grid,carrier_id:0
|
||||
#: model:ir.model,name:delivery.model_delivery_carrier
|
||||
#: report:sale.shipping:0
|
||||
#: field:stock.picking,carrier_id:0
|
||||
msgid "Carrier"
|
||||
msgstr "Доставка"
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.grid.line,type:0
|
||||
#: selection:delivery.grid.line,variable_factor:0
|
||||
#: field:stock.picking,volume:0
|
||||
msgid "Volume"
|
||||
msgstr "Объем"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,max_value:0
|
||||
msgid "Maximum Value"
|
||||
msgstr "Максимальное значение"
|
||||
|
||||
#. module: delivery
|
||||
#: wizard_button:delivery.sale.order,init,delivery:0
|
||||
msgid "Add Delivery Costs"
|
||||
msgstr "Добавить стоимость доставки"
|
||||
|
||||
#. module: delivery
|
||||
#: wizard_field:delivery.sale.order,init,carrier_id:0
|
||||
#: model:ir.actions.act_window,name:delivery.action_delivery_carrier_form
|
||||
#: model:ir.ui.menu,name:delivery.menu_action_delivery_carrier_form
|
||||
#: field:res.partner,property_delivery_carrier:0
|
||||
msgid "Delivery Method"
|
||||
msgstr "Метод доставки"
|
||||
#: view:delivery.sale.order:0
|
||||
msgid "_Apply"
|
||||
msgstr "_Применить"
|
||||
|
||||
#. module: delivery
|
||||
#: field:sale.order,id:0
|
||||
|
@ -254,9 +475,11 @@ msgid "ID"
|
|||
msgstr "Идентификатор"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,operator:0
|
||||
msgid "Operator"
|
||||
msgstr "Оператор"
|
||||
#: code:addons/delivery/wizard/delivery_sale_order.py:0
|
||||
#, python-format
|
||||
msgid "The order state have to be draft to add delivery lines."
|
||||
msgstr ""
|
||||
"Состояние заказа должно быть \"Черновик\" для добавления позиций доставки."
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.module.module,shortdesc:delivery.module_meta_information
|
||||
|
@ -268,96 +491,72 @@ msgstr "Перевозчики и поставки"
|
|||
msgid "Delivery Grids"
|
||||
msgstr "Разделение поставки"
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.grid.line,type:0
|
||||
#: selection:delivery.grid.line,variable_factor:0
|
||||
#: field:stock.picking,weight:0
|
||||
msgid "Weight"
|
||||
msgstr "Вес"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr "Последовательность"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.carrier,partner_id:0
|
||||
msgid "Carrier Partner"
|
||||
msgstr "Партнер по доставке"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.module.module,description:delivery.module_meta_information
|
||||
msgid ""
|
||||
"Allows you to add delivery methods in sales orders and packing. You can "
|
||||
"define your own carrier and delivery grids for prices. When creating "
|
||||
"invoices from picking, Open ERP is able to add and compute the shipping line."
|
||||
msgstr ""
|
||||
"Позволяет добавить методы доставки в заказы на продажу и упаковку. Вы можете "
|
||||
"определить своего собственного перевозчика и выполнить разделение поставка "
|
||||
"для определения стоимости. При создании счета-фактуры на основании упаковки, "
|
||||
"Open ERP имеет возможность добавлять и вычислить строки доставки."
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid,zip_to:0
|
||||
msgid "To Zip"
|
||||
msgstr "Почтовый индекс получателя"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.actions.act_window,name:delivery.action_picking_tree4
|
||||
#: model:ir.ui.menu,name:delivery.menu_action_picking_tree3
|
||||
msgid "Packing to be invoiced"
|
||||
msgstr "Фактурирование по упаковке"
|
||||
|
||||
#. module: delivery
|
||||
#: help:sale.order,carrier_id:0
|
||||
msgid ""
|
||||
"Complete this field if you plan to invoice the shipping based on packing."
|
||||
msgstr ""
|
||||
"Заполните это поле, если вы планируете счет доставки основанный на упаковке."
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.actions.wizard,name:delivery.wizard_deliver_line_add
|
||||
msgid "Delivery Costs"
|
||||
msgstr "Стоимость поставки"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,list_price:0
|
||||
msgid "Sale Price"
|
||||
msgstr "Цена продажи"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.grid:0
|
||||
#: field:delivery.grid,state_ids:0
|
||||
msgid "States"
|
||||
msgstr "Cостояния"
|
||||
|
||||
#. module: delivery
|
||||
#: constraint:product.product:0
|
||||
msgid "Error: Invalid ean code"
|
||||
msgstr "Ошибка: Неправильный штрих-код"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.grid:0
|
||||
msgid "Delivery grids"
|
||||
msgstr "Расценки на доставку"
|
||||
|
||||
#. module: delivery
|
||||
#: wizard_button:delivery.sale.order,init,end:0
|
||||
msgid "Cancel"
|
||||
msgstr "Отмена"
|
||||
|
||||
#. module: delivery
|
||||
#: field:sale.order,carrier_id:0
|
||||
msgid "Delivery method"
|
||||
msgstr "Метод доставки"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.carrier,price:0
|
||||
#: selection:delivery.grid.line,type:0
|
||||
#: selection:delivery.grid.line,variable_factor:0
|
||||
msgid "Price"
|
||||
msgstr "Цена"
|
||||
|
||||
#. module: delivery
|
||||
#: constraint:res.partner:0
|
||||
msgid "The VAT doesn't seem to be correct."
|
||||
msgstr "НДС выглядит неправильно"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,price_type:0
|
||||
msgid "Price Type"
|
||||
msgstr "Тип цены"
|
||||
|
||||
#~ msgid "Generate Draft Invoices On Receptions"
|
||||
#~ msgstr "Генерировать черновики счетов при получении"
|
||||
|
||||
#~ msgid "Notes"
|
||||
#~ msgstr "Примечания"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Отмена"
|
||||
|
||||
#~ msgid "The VAT doesn't seem to be correct."
|
||||
#~ msgstr "НДС выглядит неправильно"
|
||||
|
||||
#~ msgid "Delivery line of grid"
|
||||
#~ msgstr "Разделяемая строка поставки"
|
||||
|
||||
#~ msgid "Carrier and delivery grids"
|
||||
#~ msgstr "Разделение поставки и перевозчика"
|
||||
|
||||
#~ msgid "Add Delivery Costs"
|
||||
#~ msgstr "Добавить стоимость доставки"
|
||||
|
||||
#~ msgid "Packing to be invoiced"
|
||||
#~ msgstr "Фактурирование по упаковке"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Complete this field if you plan to invoice the shipping based on packing."
|
||||
#~ msgstr ""
|
||||
#~ "Заполните это поле, если вы планируете счет доставки основанный на упаковке."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Allows you to add delivery methods in sales orders and packing. You can "
|
||||
#~ "define your own carrier and delivery grids for prices. When creating "
|
||||
#~ "invoices from picking, Open ERP is able to add and compute the shipping line."
|
||||
#~ msgstr ""
|
||||
#~ "Позволяет добавить методы доставки в заказы на продажу и упаковку. Вы можете "
|
||||
#~ "определить своего собственного перевозчика и выполнить разделение поставка "
|
||||
#~ "для определения стоимости. При создании счета-фактуры на основании упаковки, "
|
||||
#~ "Open ERP имеет возможность добавлять и вычислить строки доставки."
|
||||
|
||||
#~ msgid "This delivery method will be used when invoicing from packing."
|
||||
#~ msgstr ""
|
||||
#~ "Этот метод доставки должен использоваться при фактурировании на основании "
|
||||
#~ "данных упаковки."
|
||||
|
|
|
@ -179,8 +179,8 @@
|
|||
<field name="register_min"/>
|
||||
<field name="register_current"/>
|
||||
<field name="section_id" invisible="context.get('invisible_section', True)"/>
|
||||
<field name="state"/>
|
||||
<field name="user_id"/>
|
||||
<field name="state"/>
|
||||
<button string="Confirm Event" help="Confirm Event" name="button_confirm" states="draft" type="object" icon="gtk-apply"/>
|
||||
<button string="Cancel Event" help="Cancel Event" name="button_cancel" states="draft,confirm" type="object" icon="gtk-cancel"/>
|
||||
<button string="Event Done" help="Event Done" name="button_done" states="confirm" type="object" icon="gtk-jump-to"/>
|
||||
|
@ -280,7 +280,7 @@
|
|||
res_model="event.registration"
|
||||
src_model="event.event"
|
||||
view_mode="tree,form,calendar,graph"
|
||||
context="{'search_default_event_id': active_id}"
|
||||
domain="[('event_id','=',active_id)]"
|
||||
view_type="form"/>
|
||||
|
||||
<act_window
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
|
||||
"PO-Revision-Date: 2010-10-24 12:13+0000\n"
|
||||
"PO-Revision-Date: 2010-10-25 18:28+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-25 04:39+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: hr
|
||||
|
@ -357,7 +357,7 @@ msgstr "Kategoria nadrzędna"
|
|||
#. module: hr
|
||||
#: constraint:hr.employee.category:0
|
||||
msgid "Error ! You cannot create recursive Categories."
|
||||
msgstr ""
|
||||
msgstr "Błąd ! Nie możesz tworzyć rekurencyjnych kategorii."
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.department:0
|
||||
|
@ -376,7 +376,7 @@ msgstr "Kontakt do pracownika"
|
|||
#. module: hr
|
||||
#: view:board.board:0
|
||||
msgid "My Board"
|
||||
msgstr ""
|
||||
msgstr "Moja konsola"
|
||||
|
||||
#. module: hr
|
||||
#: selection:hr.employee,gender:0
|
||||
|
@ -398,19 +398,19 @@ msgstr "Kategoria pracownika"
|
|||
#. module: hr
|
||||
#: field:hr.installer,config_logo:0
|
||||
msgid "Image"
|
||||
msgstr ""
|
||||
msgstr "Obraz"
|
||||
|
||||
#. module: hr
|
||||
#: model:process.process,name:hr.process_process_employeecontractprocess0
|
||||
msgid "Employee Contract"
|
||||
msgstr ""
|
||||
msgstr "Umowa pracownika"
|
||||
|
||||
#. module: hr
|
||||
#: help:hr.installer,hr_evaluation:0
|
||||
msgid ""
|
||||
"Lets you create and manage the periodic evaluation and performance review of "
|
||||
"employees."
|
||||
msgstr ""
|
||||
msgstr "Pozwala ci zarządzać okresowymi ocenami i osiągnięciami pracowników."
|
||||
|
||||
#. module: hr
|
||||
#: model:ir.model,name:hr.model_hr_department
|
||||
|
@ -420,12 +420,12 @@ msgstr ""
|
|||
#. module: hr
|
||||
#: help:hr.employee,parent_id:0
|
||||
msgid "It is linked with manager of Department"
|
||||
msgstr ""
|
||||
msgstr "Jest związane z szefem departamentu"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.installer,hr_recruitment:0
|
||||
msgid "Recruitment Process"
|
||||
msgstr ""
|
||||
msgstr "Proces rekrutacji"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.employee,category_ids:0
|
||||
|
@ -436,7 +436,7 @@ msgstr "Kategoria"
|
|||
#. module: hr
|
||||
#: help:hr.employee,bank_account_id:0
|
||||
msgid "Employee bank salary account"
|
||||
msgstr ""
|
||||
msgstr "Konto bankowe pracownika dla płacy"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.department,note:0
|
||||
|
@ -451,12 +451,12 @@ msgstr "Informacje kontaktowe"
|
|||
#. module: hr
|
||||
#: constraint:ir.ui.menu:0
|
||||
msgid "Error ! You can not create recursive Menu."
|
||||
msgstr ""
|
||||
msgstr "Błąd ! Nie możesz tworzyć rekurencyjnych menu."
|
||||
|
||||
#. module: hr
|
||||
#: model:ir.actions.act_window,name:hr.open_board_hr_manager
|
||||
msgid "HR Manager Dashboard"
|
||||
msgstr ""
|
||||
msgstr "Konsola Dyrektora kadr"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.employee:0
|
||||
|
|
|
@ -200,14 +200,12 @@ class hr_evaluation(osv.osv):
|
|||
for employee in employee_obj.browse(cr, uid, [employee_id], context=context):
|
||||
if employee and employee.evaluation_plan_id and employee.evaluation_plan_id.id:
|
||||
evaluation_plan_id=employee.evaluation_plan_id.id
|
||||
employee_ids=employee_obj.search(cr, uid, [('parent_id','=',employee.id)], context=context)
|
||||
return {'value': {'plan_id':evaluation_plan_id}}
|
||||
|
||||
def button_plan_in_progress(self, cr, uid, ids, context=None):
|
||||
hr_eval_inter_obj = self.pool.get('hr.evaluation.interview')
|
||||
if context is None:
|
||||
context = {}
|
||||
apprai_id = []
|
||||
for evaluation in self.browse(cr, uid, ids, context=context):
|
||||
wait = False
|
||||
for phase in evaluation.plan_id.phase_ids:
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
|
||||
"PO-Revision-Date: 2010-10-24 13:12+0000\n"
|
||||
"PO-Revision-Date: 2010-10-25 18:31+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-25 04:39+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: hr_holidays
|
||||
|
@ -355,12 +355,12 @@ msgstr "Pozostało dni urlopu"
|
|||
#: view:hr.holidays:0
|
||||
#: field:hr.holidays,state:0
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
msgstr "Stan"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: model:ir.model,name:hr_holidays.model_hr_holidays_remaining_leaves_user
|
||||
msgid "Total holidays by type"
|
||||
msgstr ""
|
||||
msgstr "Syma urlopów wg typów"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: view:available.holidays.report:0
|
||||
|
@ -384,7 +384,7 @@ msgstr "Ogólne"
|
|||
#: view:available.holidays.report:0
|
||||
#: view:hr.holidays:0
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
msgstr "Typ"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays.status,color_name:0
|
||||
|
@ -394,7 +394,7 @@ msgstr "Czerwony"
|
|||
#. module: hr_holidays
|
||||
#: view:hr.holidays.remaining.leaves.user:0
|
||||
msgid "Leaves by Type"
|
||||
msgstr ""
|
||||
msgstr "Nieobecności wg typów"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays.status,color_name:0
|
||||
|
@ -416,17 +416,17 @@ msgstr "Liczba dni"
|
|||
#. module: hr_holidays
|
||||
#: help:hr.holidays,category_id:0
|
||||
msgid "Category Of employee"
|
||||
msgstr ""
|
||||
msgstr "Kategoria pracownika"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: view:board.board:0
|
||||
msgid "Remaining Leave by Type and User"
|
||||
msgstr ""
|
||||
msgstr "Urlop do wykorzystania wg Typu i Użytkowników"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: selection:available.holidays.report,month:0
|
||||
msgid "July"
|
||||
msgstr ""
|
||||
msgstr "Lipiec"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: constraint:ir.ui.view:0
|
||||
|
@ -439,11 +439,13 @@ msgid ""
|
|||
"If its True then its Allocation/Request have to be validated by second "
|
||||
"validator"
|
||||
msgstr ""
|
||||
"Jeśli to jest prawda, to Wniosek musi być zatwierdzony przez jeszcze jednego "
|
||||
"zatiwerdzającego"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays,state:0
|
||||
msgid "Waiting Approval"
|
||||
msgstr ""
|
||||
msgstr "Oczekuje na aprobatę"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: field:hr.holidays.summary.employee,emp:0
|
||||
|
@ -453,7 +455,7 @@ msgstr "Pracowników"
|
|||
#. module: hr_holidays
|
||||
#: view:available.holidays.report:0
|
||||
msgid " Month "
|
||||
msgstr ""
|
||||
msgstr " Miesiąc "
|
||||
|
||||
#. module: hr_holidays
|
||||
#: help:hr.holidays.status,categ_id:0
|
||||
|
@ -462,11 +464,14 @@ msgid ""
|
|||
"synchronize each leave asked with a case in this category, to display it in "
|
||||
"the company shared calendar for example."
|
||||
msgstr ""
|
||||
"Jeśli połączysz ten typ nieobecności z kategorią w CRM, to uzyskasz "
|
||||
"synchronizację wniosków ze sprawami w danej kategorii, aby na przykład "
|
||||
"wyświetlać je we współdzielonym kalendarzu."
|
||||
|
||||
#. module: hr_holidays
|
||||
#: field:hr.holidays,parent_id:0
|
||||
msgid "Parent"
|
||||
msgstr ""
|
||||
msgstr "Nadrzędny"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: help:hr.holidays,manager_id2:0
|
||||
|
@ -474,21 +479,24 @@ msgid ""
|
|||
"This area is automaticly filled by the user who validate the leave with "
|
||||
"second level (If Leave type need second validation)"
|
||||
msgstr ""
|
||||
"Ta część jest automatycznie wypełniana przez użytkownika, który zatwierdza "
|
||||
"nieobecność na drugim poziomie (jeśli typ nieobecności wymaga drugiego "
|
||||
"zatwierdzania)"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: selection:available.holidays.report,month:0
|
||||
msgid "September"
|
||||
msgstr ""
|
||||
msgstr "Wrzesień"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: selection:available.holidays.report,month:0
|
||||
msgid "December"
|
||||
msgstr ""
|
||||
msgstr "Grudzień"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: model:ir.actions.act_window,name:hr_holidays.action_hr_holidays_remaining_leaves_empoloyee_all
|
||||
msgid "Remaining Leaves by User"
|
||||
msgstr ""
|
||||
msgstr "Pozostałe urlopy wg użytkowników"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays.status,color_name:0
|
||||
|
@ -499,24 +507,24 @@ msgstr "Lawendowy"
|
|||
#: view:available.holidays.report:0
|
||||
#: field:available.holidays.report,month:0
|
||||
msgid "Month"
|
||||
msgstr ""
|
||||
msgstr "Miesiąc"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: model:ir.actions.act_window,name:hr_holidays.open_ask_holidays
|
||||
#: model:ir.ui.menu,name:hr_holidays.menu_open_ask_holidays_new
|
||||
msgid "Leave Requests"
|
||||
msgstr ""
|
||||
msgstr "Wniosek urlopowy"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: field:hr.holidays.status,limit:0
|
||||
msgid "Allow to Override Limit"
|
||||
msgstr ""
|
||||
msgstr "Pozwala przekroczyć limit"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: view:hr.holidays.summary.employee:0
|
||||
#: model:ir.actions.act_window,name:hr_holidays.action_hr_holidays_summary_employee
|
||||
msgid "Employee's Holidays"
|
||||
msgstr ""
|
||||
msgstr "Urlopy pracowników"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: view:available.holidays.report:0
|
||||
|
|
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
|
||||
"PO-Revision-Date: 2010-10-24 21:35+0000\n"
|
||||
"Last-Translator: Magnus Brandt, Aspirix AB <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-10-25 07:13+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"Language-Team: Swedish <sv@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-10-25 04:39+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: hr_payroll
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev_rc3\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
|
||||
"PO-Revision-Date: 2010-10-24 23:10+0000\n"
|
||||
"Last-Translator: Nicola Riolini - Micronaet <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-10-25 07:15+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-25 04:39+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: hr_timesheet
|
||||
|
|
|
@ -261,7 +261,7 @@ class hr_timesheet_sheet(osv.osv):
|
|||
raise osv.except_osv(_('Error !'), _('You can not sign in from an other date than today'))
|
||||
emp_ids = emp_obj.search(cr, uid, [('user_id', '=', uid)], context=context)
|
||||
context['sheet_id']=ids[0]
|
||||
success = emp_obj.attendance_action_change(cr, uid, emp_ids, type='sign_in', context=context,)
|
||||
emp_obj.attendance_action_change(cr, uid, emp_ids, type='sign_in', context=context,)
|
||||
return True
|
||||
|
||||
def sign_out(self, cr, uid, ids, context=None):
|
||||
|
@ -272,7 +272,7 @@ class hr_timesheet_sheet(osv.osv):
|
|||
raise osv.except_osv(_('Error !'), _('You can not sign out from an other date than today'))
|
||||
emp_ids = emp_obj.search(cr, uid, [('user_id', '=', uid)])
|
||||
context['sheet_id']=ids[0]
|
||||
success = emp_obj.attendance_action_change(cr, uid, emp_ids, type='sign_out', context=context,)
|
||||
emp_obj.attendance_action_change(cr, uid, emp_ids, type='sign_out', context=context,)
|
||||
return True
|
||||
|
||||
_columns = {
|
||||
|
|
|
@ -1,11 +1,24 @@
|
|||
-
|
||||
In order to test the PDF reports defined on a l10n_ch, we will create a invoice record
|
||||
-
|
||||
!record {model: account.invoice, id: test_invoice_1}:
|
||||
currency_id: base.EUR
|
||||
company_id: base.main_company
|
||||
address_invoice_id: base.res_partner_address_tang
|
||||
partner_id: base.res_partner_asus
|
||||
state: draft
|
||||
type: out_invoice
|
||||
account_id: account.a_recv
|
||||
name: Test invoice 1
|
||||
address_contact_id: base.res_partner_address_tang
|
||||
-
|
||||
In order to test the PDF reports defined on a l10n_ch, we will print BVR Report
|
||||
-
|
||||
!python {model: account.invoice}: |
|
||||
import netsvc, tools, os
|
||||
run_str = 'cp ' + tools.config['addons_path'] + '/l10n_ch/report/ocrbb.ttf' + ' ' + '/tmp/ocrbb.ttf'
|
||||
run_str = 'cp ' + tools.config['addons_path'] + '/l10n_ch/report/ocrbb.ttf' + ' ' + '/tmp/ocrbb.ttf'
|
||||
os.system(run_str)
|
||||
(data, format) = netsvc.LocalService('report.l10n_ch.bvr').create(cr, uid, [ref('account.test_invoice_1')], {}, {})
|
||||
(data, format) = netsvc.LocalService('report.l10n_ch.bvr').create(cr, uid, [ref('test_invoice_1')], {}, {})
|
||||
if tools.config['test_report_directory']:
|
||||
file(os.path.join(tools.config['test_report_directory'], 'l10ch-bvr_report.'+format), 'wb+').write(data)
|
||||
|
||||
|
@ -14,6 +27,6 @@
|
|||
-
|
||||
!python {model: account.invoice}: |
|
||||
import netsvc, tools, os
|
||||
(data, format) = netsvc.LocalService('report.l10n_ch.invoice.bvr').create(cr, uid, [ref('account.test_invoice_1')], {}, {})
|
||||
(data, format) = netsvc.LocalService('report.l10n_ch.invoice.bvr').create(cr, uid, [ref('test_invoice_1')], {}, {})
|
||||
if tools.config['test_report_directory']:
|
||||
file(os.path.join(tools.config['test_report_directory'], 'l10ch-bvr_invoice_report.'+format), 'wb+').write(data)
|
||||
|
|
|
@ -12,3 +12,5 @@
|
|||
(data, format) = netsvc.LocalService('report.l10n_lu.tax.report.print').create(cr, uid, [], {'model':'ir.ui.menu', 'form':{'tax_code_id': ref('account_tax_code_id_r1'), 'period_id': ref('account.period_1')}}, {})
|
||||
if tools.config['test_report_directory']:
|
||||
file(os.path.join(tools.config['test_report_directory'], 'l10n_lu-vat_report.'+format), 'wb+').write(data)
|
||||
|
||||
|
||||
|
|
|
@ -49,13 +49,21 @@ STATE_PRIOR = {
|
|||
class membership_line(osv.osv):
|
||||
'''Member line'''
|
||||
|
||||
def _get_partners(self, cr, uid, ids, context=None):
|
||||
list_membership_line = []
|
||||
member_line_obj = self.pool.get('membership.membership_line')
|
||||
for partner in self.pool.get('res.partner').browse(cr, uid, ids, context=context):
|
||||
if partner.member_lines:
|
||||
list_membership_line += member_line_obj.search(cr, uid, [('id', 'in', [ l.id for l in partner.member_lines])], context=context)
|
||||
return list_membership_line
|
||||
|
||||
def _get_membership_lines(self, cr, uid, ids, context=None):
|
||||
list_membership_line = []
|
||||
member_line_obj = self.pool.get('membership.membership_line')
|
||||
for invoice in self.pool.get('account.invoice').browse(cr, uid, ids, context=context):
|
||||
if invoice.invoice_line:
|
||||
list_membership_line += member_line_obj.search(cr, uid, [('account_invoice_line', 'in', [ l.id for l in invoice.invoice_line])], context=context)
|
||||
return list_membership_line
|
||||
list_membership_line = []
|
||||
member_line_obj = self.pool.get('membership.membership_line')
|
||||
for invoice in self.pool.get('account.invoice').browse(cr, uid, ids, context=context):
|
||||
if invoice.invoice_line:
|
||||
list_membership_line += member_line_obj.search(cr, uid, [('account_invoice_line', 'in', [ l.id for l in invoice.invoice_line])], context=context)
|
||||
return list_membership_line
|
||||
|
||||
def _check_membership_date(self, cr, uid, ids, context=None):
|
||||
"""Check if membership product is not in the past
|
||||
|
@ -74,7 +82,7 @@ class membership_line(osv.osv):
|
|||
)
|
||||
JOIN account_invoice ai ON (
|
||||
ai.id = ail.invoice_id)
|
||||
WHERE ml.id IN %s''',(tuple(ids),))
|
||||
WHERE ml.id IN %s''', (tuple(ids),))
|
||||
res = cr.fetchall()
|
||||
for r in res:
|
||||
if r[0] and r[0] < 0:
|
||||
|
@ -138,16 +146,22 @@ class membership_line(osv.osv):
|
|||
'date_from': fields.date('From', readonly=True),
|
||||
'date_to': fields.date('To', readonly=True),
|
||||
'date_cancel': fields.date('Cancel date'),
|
||||
'date': fields.date('Join Date'),
|
||||
'member_price':fields.float('Member Price', digits_compute= dp.get_precision('Sale Price'), required=True),
|
||||
'date': fields.date('Join Date', help="Date on which member has joined the membership"),
|
||||
'member_price': fields.float('Member Price', digits_compute= dp.get_precision('Sale Price'), required=True, help='Amount for the membership'),
|
||||
'account_invoice_line': fields.many2one('account.invoice.line', 'Account Invoice line', readonly=True),
|
||||
'account_invoice_id': fields.related('account_invoice_line', 'invoice_id', type='many2one', relation='account.invoice', string='Invoice', readonly=True),
|
||||
'state': fields.function(
|
||||
_state, method=True,
|
||||
'state': fields.function(_state, method=True,
|
||||
string='Membership State', type='selection',
|
||||
selection=STATE, store = {
|
||||
'account.invoice':(_get_membership_lines, ['state'], 10),
|
||||
}),
|
||||
'account.invoice': (_get_membership_lines, ['state'], 10),
|
||||
'res.partner': (_get_partners, ['membership_state'], 12),
|
||||
}, help="""It indicates the membership state.
|
||||
-Non Member: A member who has not applied for any membership.
|
||||
-Cancelled Member: A member who has cancelled his membership.
|
||||
-Old Member: A member whose membership date has expired.
|
||||
-Waiting Member: A member who has applied for the membership and whose invoice is going to be created.
|
||||
-Invoiced Member: A member whose invoice has been created.
|
||||
-Paid Member: A member who has paid the membership amount."""),
|
||||
'company_id': fields.related('account_invoice_line', 'invoice_id', 'company_id', type="many2one", relation="res.company", string="Company", readonly=True, store=True)
|
||||
}
|
||||
_rec_name = 'partner'
|
||||
|
@ -172,7 +186,7 @@ class Partner(osv.osv):
|
|||
list_partner.append(data.partner.id)
|
||||
ids2 = list_partner
|
||||
while ids2:
|
||||
ids2 = res_obj.search(cr, uid, [('associate_member','in',ids2)], context=context)
|
||||
ids2 = res_obj.search(cr, uid, [('associate_member', 'in', ids2)], context=context)
|
||||
list_partner += ids2
|
||||
return list_partner
|
||||
|
||||
|
@ -185,7 +199,7 @@ class Partner(osv.osv):
|
|||
list_partner.append(data.partner_id.id)
|
||||
ids2 = list_partner
|
||||
while ids2:
|
||||
ids2 = res_obj.search(cr, uid, [('associate_member','in',ids2)], context=context)
|
||||
ids2 = res_obj.search(cr, uid, [('associate_member', 'in', ids2)], context=context)
|
||||
list_partner += ids2
|
||||
return list_partner
|
||||
|
||||
|
@ -232,7 +246,7 @@ class Partner(osv.osv):
|
|||
s = 3
|
||||
if s==4:
|
||||
for mline in partner_data.member_lines:
|
||||
if mline.date_from < today and mline.date_to < today and mline.date_from<=mline.date_to and (mline.account_invoice_line and mline.account_invoice_line.invoice_id.state) == 'paid':
|
||||
if mline.date_from < today and mline.date_to < today and mline.date_from <= mline.date_to and (mline.account_invoice_line and mline.account_invoice_line.invoice_id.state) == 'paid':
|
||||
s = 5
|
||||
else:
|
||||
s = 6
|
||||
|
@ -294,7 +308,7 @@ class Partner(osv.osv):
|
|||
def _get_partners(self, cr, uid, ids, context=None):
|
||||
ids2 = ids
|
||||
while ids2:
|
||||
ids2 = self.search(cr, uid, [('associate_member','in',ids2)], context=context)
|
||||
ids2 = self.search(cr, uid, [('associate_member', 'in', ids2)], context=context)
|
||||
ids += ids2
|
||||
return ids
|
||||
|
||||
|
@ -302,45 +316,51 @@ class Partner(osv.osv):
|
|||
return self._membership_state(*args, **kwargs)
|
||||
|
||||
_columns = {
|
||||
'associate_member': fields.many2one('res.partner', 'Associate member'),
|
||||
'associate_member': fields.many2one('res.partner', 'Associate member',help="A member with whom you want to associate your membership.It will consider the membership state of the associated member."),
|
||||
'member_lines': fields.one2many('membership.membership_line', 'partner', 'Membership'),
|
||||
'free_member': fields.boolean('Free member'),
|
||||
'free_member': fields.boolean('Free member', help = "Select if you want to give membership free of cost."),
|
||||
'membership_amount': fields.float(
|
||||
'Membership amount', digits=(16, 2),
|
||||
help = 'The price negociated by the partner'),
|
||||
help = 'The price negotiated by the partner'),
|
||||
'membership_state': fields.function(
|
||||
__get_membership_state, method = True,
|
||||
__get_membership_state, method=True,
|
||||
string = 'Current Membership State', type = 'selection',
|
||||
selection = STATE,
|
||||
store = {
|
||||
'account.invoice': (_get_invoice_partner, ['state'], 10),
|
||||
'membership.membership_line': (_get_partner_id, ['state'], 10),
|
||||
'res.partner': (_get_partners, ['free_member', 'membership_state', 'associate_member'], 10)
|
||||
}),
|
||||
}, help="""It indicates the membership state.
|
||||
-Non Member: A member who has not applied for any membership.
|
||||
-Cancelled Member: A member who has cancelled his membership.
|
||||
-Old Member: A member whose membership date has expired.
|
||||
-Waiting Member: A member who has applied for the membership and whose invoice is going to be created.
|
||||
-Invoiced Member: A member whose invoice has been created.
|
||||
-Paid Member: A member who has paid the membership amount."""),
|
||||
'membership_start': fields.function(
|
||||
_membership_date, method = True, multi = 'membeship_start',
|
||||
_membership_date, method=True, multi = 'membeship_start',
|
||||
string = 'Start membership date', type = 'date',
|
||||
store = {
|
||||
'account.invoice': (_get_invoice_partner, ['state'], 10),
|
||||
'membership.membership_line': (_get_partner_id, ['state'], 10, ),
|
||||
'res.partner': (lambda self, cr, uid, ids, c={}: ids, ['free_member'], 10)
|
||||
}),
|
||||
}, help="Date from which membership becomes active."),
|
||||
'membership_stop': fields.function(
|
||||
_membership_date, method = True,
|
||||
string = 'Stop membership date', type = 'date', multi='membership_stop',
|
||||
_membership_date, method=True,
|
||||
string = 'Stop membership date', type='date', multi='membership_stop',
|
||||
store = {
|
||||
'account.invoice': (_get_invoice_partner, ['state'], 10),
|
||||
'membership.membership_line': (_get_partner_id, ['state'], 10),
|
||||
'res.partner': (lambda self,cr,uid,ids,c={}:ids, ['free_member'], 10)
|
||||
}),
|
||||
'res.partner': (lambda self, cr, uid, ids, c={}: ids, ['free_member'], 10)
|
||||
}, help="Date until which membership remains active."),
|
||||
'membership_cancel': fields.function(
|
||||
_membership_date, method = True,
|
||||
_membership_date, method=True,
|
||||
string = 'Cancel membership date', type='date', multi='membership_cancel',
|
||||
store = {
|
||||
'account.invoice': (_get_invoice_partner, ['state'], 11),
|
||||
'membership.membership_line': (_get_partner_id, ['state'], 10),
|
||||
'res.partner': (lambda self,cr,uid,ids,c={}:ids, ['free_member'], 10)
|
||||
}),
|
||||
'res.partner': (lambda self, cr, uid, ids, c={}: ids, ['free_member'], 10)
|
||||
}, help="Date on which membership has been cancelled"),
|
||||
}
|
||||
_defaults = {
|
||||
'free_member': False,
|
||||
|
@ -375,17 +395,17 @@ class Partner(osv.osv):
|
|||
def create_membership_invoice(self, cr, uid, ids, product_id=None, datas=None, context=None):
|
||||
""" Create Customer Invoice of Membership for partners.
|
||||
@param datas: datas has dictionary value which consist Id of Membership product and Cost Amount of Membership.
|
||||
datas = {'membership_product_id': None, 'amount':None}
|
||||
datas = {'membership_product_id': None, 'amount': None}
|
||||
"""
|
||||
invoice_obj = self.pool.get('account.invoice')
|
||||
invoice_line_obj = self.pool.get('account.invoice.line')
|
||||
invoice_tax_obj = self.pool.get('account.invoice.tax')
|
||||
product_id = product_id or datas.get('membership_product_id',False)
|
||||
product_id = product_id or datas.get('membership_product_id', False)
|
||||
amount = datas.get('amount', 0.0)
|
||||
if not context:
|
||||
context={}
|
||||
invoice_list = []
|
||||
if type(ids) in (int,long,):
|
||||
if type(ids) in (int, long,):
|
||||
ids = [ids]
|
||||
for partner in self.browse(cr, uid, ids, context=context):
|
||||
account_id = partner.property_account_receivable and partner.property_account_receivable.id or False
|
||||
|
@ -432,7 +452,7 @@ Partner()
|
|||
class product_template(osv.osv):
|
||||
_inherit = 'product.template'
|
||||
_columns = {
|
||||
'member_price':fields.float('Member Price', digits_compute= dp.get_precision('Sale Price')),
|
||||
'member_price': fields.float('Member Price', digits_compute= dp.get_precision('Sale Price')),
|
||||
}
|
||||
product_template()
|
||||
|
||||
|
@ -442,7 +462,7 @@ class Product(osv.osv):
|
|||
model_obj = self.pool.get('ir.model.data')
|
||||
|
||||
if ('product' in context) and (context['product']=='membership_product'):
|
||||
model_data_ids_form = model_obj.search(cr, user, [('model','=','ir.ui.view'), ('name','in',['membership_products_form', 'membership_products_tree'])], context=context)
|
||||
model_data_ids_form = model_obj.search(cr, user, [('model','=','ir.ui.view'), ('name', 'in', ['membership_products_form', 'membership_products_tree'])], context=context)
|
||||
resource_id_form = model_obj.read(cr, user, model_data_ids_form, fields=['res_id', 'name'], context=context)
|
||||
dict_model = {}
|
||||
for i in resource_id_form:
|
||||
|
@ -456,13 +476,13 @@ class Product(osv.osv):
|
|||
'''Product'''
|
||||
_inherit = 'product.product'
|
||||
_columns = {
|
||||
'membership': fields.boolean('Membership', help='Specify if this product is a membership product'),
|
||||
'membership_date_from': fields.date('Date from', help='Active Membership since this date'),
|
||||
'membership_date_to': fields.date('Date to', help='Expired date of Membership'),
|
||||
'membership': fields.boolean('Membership', help='Select if a product is a membership product.'),
|
||||
'membership_date_from': fields.date('Date from', help='Date from which membership becomes active.'),
|
||||
'membership_date_to': fields.date('Date to', help='Date until which membership remains active.'),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
'membership': False
|
||||
'membership': False,
|
||||
}
|
||||
Product()
|
||||
|
||||
|
@ -477,8 +497,8 @@ class Invoice(osv.osv):
|
|||
today = time.strftime('%Y-%m-%d')
|
||||
for invoice in self.browse(cr, uid, ids):
|
||||
mlines = member_line_obj.search(cr, uid,
|
||||
[('account_invoice_line','in',
|
||||
[ l.id for l in invoice.invoice_line])])
|
||||
[('account_invoice_line', 'in',
|
||||
[l.id for l in invoice.invoice_line])])
|
||||
member_line_obj.write(cr, uid, mlines, {'date_cancel': today})
|
||||
return super(Invoice, self).action_cancel(cr, uid, ids)
|
||||
Invoice()
|
||||
|
@ -495,7 +515,7 @@ class account_invoice_line(osv.osv):
|
|||
member_line_obj = self.pool.get('membership.membership_line')
|
||||
for line in self.browse(cr, uid, ids, context=context):
|
||||
if line.invoice_id.type == 'out_invoice':
|
||||
ml_ids = member_line_obj.search(cr, uid, [('account_invoice_line','=',line.id)], context=context)
|
||||
ml_ids = member_line_obj.search(cr, uid, [('account_invoice_line', '=', line.id)], context=context)
|
||||
if line.product_id and line.product_id.membership and not ml_ids:
|
||||
# Product line has changed to a membership product
|
||||
date_from = line.product_id.membership_date_from
|
||||
|
@ -523,7 +543,7 @@ class account_invoice_line(osv.osv):
|
|||
context={}
|
||||
member_line_obj = self.pool.get('membership.membership_line')
|
||||
for id in ids:
|
||||
ml_ids = member_line_obj.search(cr, uid, [('account_invoice_line','=',id)], context=context)
|
||||
ml_ids = member_line_obj.search(cr, uid, [('account_invoice_line', '=', id)], context=context)
|
||||
member_line_obj.unlink(cr, uid, ml_ids, context=context)
|
||||
return super(account_invoice_line, self).unlink(cr, uid, ids, context=context)
|
||||
|
||||
|
@ -534,7 +554,7 @@ class account_invoice_line(osv.osv):
|
|||
line = self.browse(cr, uid, result, context=context)
|
||||
member_line_obj = self.pool.get('membership.membership_line')
|
||||
if line.invoice_id.type == 'out_invoice':
|
||||
ml_ids = member_line_obj.search(cr, uid, [('account_invoice_line','=',line.id)], context=context)
|
||||
ml_ids = member_line_obj.search(cr, uid, [('account_invoice_line', '=', line.id)], context=context)
|
||||
if line.product_id and line.product_id.membership and not ml_ids:
|
||||
# Product line is a membership product
|
||||
date_from = line.product_id.membership_date_from
|
||||
|
|
|
@ -71,7 +71,7 @@
|
|||
<separator string="Categorization" colspan="2"/>
|
||||
<field name="list_price" string="Membership Fee"/>
|
||||
<field name="type" />
|
||||
<field name="property_account_income"/>
|
||||
<field name="property_account_income" domain="[('type', '!=', 'view')]"/>
|
||||
<field name="categ_id"/>
|
||||
<separator string="Sale Taxes" colspan="2"/>
|
||||
<newline/>
|
||||
|
|
|
@ -20,3 +20,4 @@
|
|||
##############################################################################
|
||||
|
||||
import report_membership
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -44,7 +44,7 @@ class report_membership(osv.osv):
|
|||
_rec_name = 'year'
|
||||
_columns = {
|
||||
'year': fields.char('Year', size=4, readonly=True, select=1),
|
||||
'month':fields.selection([('01', 'January'), ('02', 'February'), \
|
||||
'month': fields.selection([('01', 'January'), ('02', 'February'), \
|
||||
('03', 'March'), ('04', 'April'),\
|
||||
('05', 'May'), ('06', 'June'), \
|
||||
('07', 'July'), ('08', 'August'),\
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<field name="model">report.membership</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree colors="blue:state in ('draft');black:state in ('open','free');gray:state in ('done','cancel') " string="Membership">
|
||||
<tree colors="blue:membership_state in ('draft');black:membership_state in ('open','free');gray:membership_state in ('done','cancel') " string="Membership">
|
||||
<field name="partner_id"/>
|
||||
<field name="membership_state"/>
|
||||
<field name="associate_member_id" invisible="1"/>
|
||||
|
@ -78,11 +78,10 @@
|
|||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Membership" type="bar">
|
||||
<field name="year"/>
|
||||
<field name="canceled_number"/>
|
||||
<field name="waiting_number"/>
|
||||
<field name="invoiced_number"/>
|
||||
<field name="paid_number"/>
|
||||
<field name="year" />
|
||||
<field name="num_waiting" operator="+"/>
|
||||
<field name="num_invoiced" operator="+"/>
|
||||
<field name="num_paid" operator="+"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
|
||||
"PO-Revision-Date: 2010-10-24 13:13+0000\n"
|
||||
"PO-Revision-Date: 2010-10-25 18:33+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-25 04:38+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: mrp
|
||||
|
@ -340,37 +340,37 @@ msgstr "Odnośnik do pozycji w planie zewnętrznym"
|
|||
#. module: mrp
|
||||
#: selection:mrp.production.order,month:0
|
||||
msgid "August"
|
||||
msgstr ""
|
||||
msgstr "Sierpień"
|
||||
|
||||
#. module: mrp
|
||||
#: model:ir.model,name:mrp.model_mrp_production_order
|
||||
msgid "Production Order Report"
|
||||
msgstr ""
|
||||
msgstr "Raport zamówień produkcji"
|
||||
|
||||
#. module: mrp
|
||||
#: selection:mrp.production.order,month:0
|
||||
msgid "June"
|
||||
msgstr ""
|
||||
msgstr "Czerwiec"
|
||||
|
||||
#. module: mrp
|
||||
#: model:ir.model,name:mrp.model_mrp_product_produce
|
||||
msgid "Product Produce"
|
||||
msgstr ""
|
||||
msgstr "Produkcja produktu"
|
||||
|
||||
#. module: mrp
|
||||
#: selection:mrp.production.order,month:0
|
||||
msgid "October"
|
||||
msgstr ""
|
||||
msgstr "Październik"
|
||||
|
||||
#. module: mrp
|
||||
#: model:process.transition,name:mrp.process_transition_procurestockableproduct0
|
||||
msgid "Procurement of stockable Product"
|
||||
msgstr ""
|
||||
msgstr "Zapotrzebowanie na produkt rejestrowany"
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.bom:0
|
||||
msgid "Default UOM"
|
||||
msgstr ""
|
||||
msgstr "Domyślna JM"
|
||||
|
||||
#. module: mrp
|
||||
#: code:addons/mrp/report/price.py:0
|
||||
|
@ -385,7 +385,7 @@ msgstr "Ilość"
|
|||
#. module: mrp
|
||||
#: field:mrp.production.workcenter.line,hour:0
|
||||
msgid "Nbr of hours"
|
||||
msgstr ""
|
||||
msgstr "Liczba godzin"
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.production:0
|
||||
|
@ -398,6 +398,8 @@ msgid ""
|
|||
"The system creates an order (production or purchased) depending on the sold "
|
||||
"quantity and the products parameters."
|
||||
msgstr ""
|
||||
"System utworzy zamówienie (produkcji lub zakupu) zależnie od sprzedanej "
|
||||
"ilości i parametrów produktu."
|
||||
|
||||
#. module: mrp
|
||||
#: model:process.transition,note:mrp.process_transition_servicemts0
|
||||
|
@ -409,12 +411,12 @@ msgstr ""
|
|||
#. module: mrp
|
||||
#: field:mrp.installer,mrp_repair:0
|
||||
msgid "Repairs"
|
||||
msgstr ""
|
||||
msgstr "Naprawy"
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.installer,stock_location:0
|
||||
msgid "Advanced Routes"
|
||||
msgstr ""
|
||||
msgstr "Zaawansowane marszruty"
|
||||
|
||||
#. module: mrp
|
||||
#: model:ir.actions.act_window,name:mrp.action_report_in_out_picking_tree
|
||||
|
@ -427,6 +429,8 @@ msgid ""
|
|||
"Enables warranty and repair management (and their impact on stocks and "
|
||||
"invoicing)."
|
||||
msgstr ""
|
||||
"Włącza zarządzanie gwarancjami i naprawą (i jego wpływ na zapasy i "
|
||||
"fakturowanie)."
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.production,date_planned_date:0
|
||||
|
@ -454,7 +458,7 @@ msgstr ""
|
|||
#. module: mrp
|
||||
#: view:board.board:0
|
||||
msgid "Stock Value Variation"
|
||||
msgstr ""
|
||||
msgstr "Odchylenia wartości zapasów"
|
||||
|
||||
#. module: mrp
|
||||
#: model:ir.actions.act_window,name:mrp.action2
|
||||
|
@ -464,23 +468,23 @@ msgstr "Struktura zestawień materiałowych"
|
|||
#. module: mrp
|
||||
#: model:process.node,note:mrp.process_node_serviceproduct0
|
||||
msgid "Product type is service"
|
||||
msgstr ""
|
||||
msgstr "Typ produktu jest serwis"
|
||||
|
||||
#. module: mrp
|
||||
#: code:addons/mrp/report/price.py:0
|
||||
#, python-format
|
||||
msgid "of "
|
||||
msgstr ""
|
||||
msgstr "z "
|
||||
|
||||
#. module: mrp
|
||||
#: model:process.transition,name:mrp.process_transition_bom0
|
||||
msgid "Manufacturing decomposition"
|
||||
msgstr ""
|
||||
msgstr "Dekompozycja produkcji"
|
||||
|
||||
#. module: mrp
|
||||
#: model:process.node,note:mrp.process_node_serviceproduct1
|
||||
msgid "For Services."
|
||||
msgstr ""
|
||||
msgstr "Do usług."
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.bom.revision,date:0
|
||||
|
|
|
@ -7,46 +7,16 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-12-08 11:46+0000\n"
|
||||
"PO-Revision-Date: 2010-08-03 08:13+0000\n"
|
||||
"Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.com>\n"
|
||||
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
|
||||
"PO-Revision-Date: 2010-10-25 16:09+0000\n"
|
||||
"Last-Translator: Chertykov Denis <chertykov@gmail.com>\n"
|
||||
"Language-Team: Russian <ru@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-09-29 05:16+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: multi_company
|
||||
#: help:multi_company.default,object_id:0
|
||||
msgid "Object affect by this rules"
|
||||
msgstr "Объект затрагивает эти правила"
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
"Название объекта должно начинаться с x_ и не должно содержать специальных "
|
||||
"символов !"
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:product.template:0
|
||||
msgid ""
|
||||
"Error: The default UOM and the purchase UOM must be in the same category."
|
||||
msgstr ""
|
||||
"Ошибка. ЕИМ по умолчанию и закупочная ЕИМ должны иметь одинаковую категорию."
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:res.partner:0
|
||||
msgid "The VAT doesn't seem to be correct."
|
||||
msgstr "НДС выглядит неправильно"
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Недопустимое имя модели в определении действия"
|
||||
|
||||
#. module: multi_company
|
||||
#: model:res.company,overdue_msg:multi_company.res_company_odoo
|
||||
#: model:res.company,overdue_msg:multi_company.res_company_oerp_be
|
||||
|
@ -54,59 +24,41 @@ msgstr "Недопустимое имя модели в определении
|
|||
#: model:res.company,overdue_msg:multi_company.res_company_oerp_in
|
||||
#: model:res.company,overdue_msg:multi_company.res_company_oerp_us
|
||||
msgid ""
|
||||
"Would your payment have been carried out after this mail was sent, please "
|
||||
"consider the present one as void. Do not hesitate to contact our accounting "
|
||||
"department"
|
||||
"\n"
|
||||
"Date: %(date)s\n"
|
||||
"\n"
|
||||
"Dear %(partner_name)s,\n"
|
||||
"\n"
|
||||
"Please find in attachment a reminder of all your unpaid invoices, for a "
|
||||
"total amount due of:\n"
|
||||
"\n"
|
||||
"%(followup_amount).2f %(company_currency)s\n"
|
||||
"\n"
|
||||
"Thanks,\n"
|
||||
"--\n"
|
||||
"%(user_signature)s\n"
|
||||
"%(company_name)s\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Дата: %(date)s\n"
|
||||
"\n"
|
||||
"Уважаемый / уважаемая %(partner_name)s,\n"
|
||||
"\n"
|
||||
"Пожалуйста, просмотрите в приложении напоминание о всех не оплаченных вами "
|
||||
"счетах.\n"
|
||||
"Всего на сумму: %(followup_amount).2f %(company_currency)s\n"
|
||||
"\n"
|
||||
"Спасибо,\n"
|
||||
"--\n"
|
||||
"%(user_signature)s\n"
|
||||
"%(company_name)s\n"
|
||||
" "
|
||||
|
||||
#. module: multi_company
|
||||
#: field:multi_company.default,company_dest_id:0
|
||||
msgid "Default Company"
|
||||
msgstr "Компания по умолчанию"
|
||||
|
||||
#. module: multi_company
|
||||
#: field:multi_company.default,object_id:0
|
||||
msgid "Object"
|
||||
msgstr "Объект"
|
||||
|
||||
#. module: multi_company
|
||||
#: model:ir.module.module,shortdesc:multi_company.module_meta_information
|
||||
#: view:multi_company.default:0
|
||||
msgid "Multi Company"
|
||||
msgstr "Концерн"
|
||||
|
||||
#. module: multi_company
|
||||
#: model:ir.module.module,description:multi_company.module_meta_information
|
||||
msgid ""
|
||||
"This module add the possibility to easily manage \n"
|
||||
" the default value for each object\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: multi_company
|
||||
#: field:multi_company.default,company_id:0
|
||||
msgid "Main Company"
|
||||
msgstr "Головная компания"
|
||||
|
||||
#. module: multi_company
|
||||
#: view:multi_company.default:0
|
||||
msgid "Condition"
|
||||
msgstr "Условие"
|
||||
|
||||
#. module: multi_company
|
||||
#: help:multi_company.default,company_dest_id:0
|
||||
msgid "Company to store the current record"
|
||||
msgstr ""
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "Некорректный формат XML структуры для просмотра."
|
||||
|
||||
#. module: multi_company
|
||||
#: field:multi_company.default,name:0
|
||||
msgid "Name"
|
||||
msgstr "Имя"
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Недопустимое имя модели в определении действия"
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:product.template:0
|
||||
|
@ -119,77 +71,124 @@ msgid "Odoo Offers"
|
|||
msgstr "Предложения Odoo"
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:res.company:0
|
||||
msgid "Error! You can not create recursive companies."
|
||||
msgstr "Ошибка! Невозможно создать рекурсивную компанию."
|
||||
|
||||
#. module: multi_company
|
||||
#: help:multi_company.default,name:0
|
||||
msgid "Name it to easily find a record"
|
||||
#: constraint:product.template:0
|
||||
msgid ""
|
||||
"Error: The default UOM and the purchase UOM must be in the same category."
|
||||
msgstr ""
|
||||
|
||||
#. module: multi_company
|
||||
#: model:ir.ui.menu,name:multi_company.menu_custom_multicompany
|
||||
msgid "Multi company"
|
||||
msgstr "Концерн"
|
||||
|
||||
#. module: multi_company
|
||||
#: model:ir.model,name:multi_company.model_multi_company_default
|
||||
msgid "multi_company.default"
|
||||
msgstr ""
|
||||
|
||||
#. module: multi_company
|
||||
#: help:multi_company.default,company_id:0
|
||||
msgid "Company where the user is connected"
|
||||
msgstr "Компании, в составе которых находиться пользователь"
|
||||
|
||||
#. module: multi_company
|
||||
#: model:ir.actions.act_window,name:multi_company.action_inventory_form
|
||||
msgid "Default Company per Object"
|
||||
msgstr "Компании по умолчанию для объекта"
|
||||
|
||||
#. module: multi_company
|
||||
#: field:multi_company.default,expression:0
|
||||
msgid "Expression"
|
||||
msgstr "Выражение"
|
||||
|
||||
#. module: multi_company
|
||||
#: model:product.template,name:multi_company.product_product_odoo1_product_template
|
||||
msgid "Odoo Offer"
|
||||
msgstr "Предложение Odoo"
|
||||
|
||||
#. module: multi_company
|
||||
#: field:multi_company.default,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr "Последовательность"
|
||||
"Ошибка. ЕИМ по умолчанию и закупочная ЕИМ должны иметь одинаковую категорию."
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:product.category:0
|
||||
msgid "Error ! You can not create recursive categories."
|
||||
msgstr "Ошибка ! Невозможно создать рекурсивную категорию."
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:res.company:0
|
||||
msgid "Error! You can not create recursive companies."
|
||||
msgstr "Ошибка! Невозможно создать рекурсивную компанию."
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "Некорректный формат XML структуры для просмотра."
|
||||
|
||||
#. module: multi_company
|
||||
#: model:ir.ui.menu,name:multi_company.menu_custom_multicompany
|
||||
msgid "Multi-Companies"
|
||||
msgstr ""
|
||||
|
||||
#. module: multi_company
|
||||
#: model:ir.module.module,shortdesc:multi_company.module_meta_information
|
||||
#: view:multi_company.default:0
|
||||
msgid "Multi Company"
|
||||
msgstr "Концерн"
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:res.partner:0
|
||||
msgid "Error ! You can not create recursive associated members."
|
||||
msgstr "Ошибка! Вы не можете создать рекурсивных связанных участников."
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:product.product:0
|
||||
msgid "Error: Invalid ean code"
|
||||
msgstr "Ошибка: Неправильный штрих-код"
|
||||
|
||||
#. module: multi_company
|
||||
#: help:multi_company.default,expression:0
|
||||
msgid "Expression, must be True to match"
|
||||
#: constraint:res.users:0
|
||||
msgid "The chosen company is not in the allowed companies for this user"
|
||||
msgstr ""
|
||||
"Выбранной компании нет в разрешенных компаниях для этого пользователя"
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:ir.ui.menu:0
|
||||
msgid "Error ! You can not create recursive Menu."
|
||||
msgstr "Ошибка ! Нельзя создать зацикленные меню."
|
||||
|
||||
#. module: multi_company
|
||||
#: view:multi_company.default:0
|
||||
msgid "Returning"
|
||||
msgstr "Возвращаемое"
|
||||
|
||||
#. module: multi_company
|
||||
#: model:ir.actions.act_window,name:multi_company.action_inventory_form
|
||||
#: model:ir.ui.menu,name:multi_company.menu_action_inventory_form
|
||||
msgid "Default company per Object"
|
||||
msgstr "Компания по умолчанию для объекта"
|
||||
|
||||
#. module: multi_company
|
||||
#: code:addons/multi_company/multi_company.py:0
|
||||
#, python-format
|
||||
msgid " (copy)"
|
||||
msgstr " (копия)"
|
||||
msgid "Default Company per Object"
|
||||
msgstr "Компании по умолчанию для объекта"
|
||||
|
||||
#. module: multi_company
|
||||
#: view:multi_company.default:0
|
||||
msgid "Matching"
|
||||
msgstr "Сопоставление"
|
||||
|
||||
#. module: multi_company
|
||||
#: view:multi_company.default:0
|
||||
msgid "Condition"
|
||||
msgstr "Условие"
|
||||
|
||||
#. module: multi_company
|
||||
#: model:product.template,name:multi_company.product_product_odoo1_product_template
|
||||
msgid "Odoo Offer"
|
||||
msgstr "Предложение Odoo"
|
||||
|
||||
#~ msgid "Object"
|
||||
#~ msgstr "Объект"
|
||||
|
||||
#~ msgid "The VAT doesn't seem to be correct."
|
||||
#~ msgstr "НДС выглядит неправильно"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
#~ msgstr ""
|
||||
#~ "Название объекта должно начинаться с x_ и не должно содержать специальных "
|
||||
#~ "символов !"
|
||||
|
||||
#~ msgid "Multi company"
|
||||
#~ msgstr "Концерн"
|
||||
|
||||
#~ msgid "Main Company"
|
||||
#~ msgstr "Головная компания"
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "Имя"
|
||||
|
||||
#~ msgid "Sequence"
|
||||
#~ msgstr "Последовательность"
|
||||
|
||||
#~ msgid "Expression"
|
||||
#~ msgstr "Выражение"
|
||||
|
||||
#, python-format
|
||||
#~ msgid " (copy)"
|
||||
#~ msgstr " (копия)"
|
||||
|
||||
#~ msgid "Object affect by this rules"
|
||||
#~ msgstr "Объект затрагивает эти правила"
|
||||
|
||||
#~ msgid "Default Company"
|
||||
#~ msgstr "Компания по умолчанию"
|
||||
|
||||
#~ msgid "Company where the user is connected"
|
||||
#~ msgstr "Компании, в составе которых находиться пользователь"
|
||||
|
||||
#~ msgid "Default company per Object"
|
||||
#~ msgstr "Компания по умолчанию для объекта"
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue