[MERGE] Merge from trunk addons
bzr revid: mra@mra-laptop-20110316043544-su18vv9wgf1px5qa
This commit is contained in:
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-03-13 20:17+0000\n"
|
||||
"PO-Revision-Date: 2011-03-14 19:24+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: 2011-03-14 04:46+0000\n"
|
||||
"X-Launchpad-Export-Date: 2011-03-15 04:54+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
|
||||
#. module: account
|
||||
@@ -2573,6 +2573,10 @@ msgid ""
|
||||
"Note that journal entries that are automatically created by the system are "
|
||||
"always skipping that state."
|
||||
msgstr ""
|
||||
"Отметьте, если не хотите, чтобы новые записи в журнале проходили через "
|
||||
"состояние 'Черновик', а сразу проводились без утверждения вручную. \n"
|
||||
"Автоматически создаваемые системой записи в журнал всегда пропускают это "
|
||||
"состояние."
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.server,name:account.ir_actions_server_action_wizard_multi_chart
|
||||
@@ -3480,6 +3484,8 @@ msgstr "Счета к оплате"
|
||||
msgid ""
|
||||
"You cannot create entries on different periods/journals in the same move"
|
||||
msgstr ""
|
||||
"Вы не можете создавать проводки по разным периодам / журналам в одном "
|
||||
"действии."
|
||||
|
||||
#. module: account
|
||||
#: model:process.node,name:account.process_node_supplierpaymentorder0
|
||||
@@ -7892,7 +7898,7 @@ msgstr "Общая сумма к оплате этому поставщику."
|
||||
#: model:process.node,name:account.process_node_analytic0
|
||||
#: model:process.node,name:account.process_node_analyticcost0
|
||||
msgid "Analytic Costs"
|
||||
msgstr ""
|
||||
msgstr "Аналитические расходы"
|
||||
|
||||
#. module: account
|
||||
#: field:account.analytic.journal,name:0
|
||||
|
||||
@@ -143,15 +143,15 @@ class account_automatic_reconcile(osv.osv_memory):
|
||||
obj_model = self.pool.get('ir.model.data')
|
||||
if context is None:
|
||||
context = {}
|
||||
form = self.read(cr, uid, ids, [])[0]
|
||||
max_amount = form.get('max_amount', False) and form.get('max_amount') or 0.0
|
||||
power = form['power']
|
||||
allow_write_off = form['allow_write_off']
|
||||
form = self.browse(cr, uid, ids, context=context)[0]
|
||||
max_amount = form.max_amount or 0.0
|
||||
power = form.power
|
||||
allow_write_off = form.allow_write_off
|
||||
reconciled = unreconciled = 0
|
||||
if not form['account_ids']:
|
||||
if not form.account_ids:
|
||||
raise osv.except_osv(_('UserError'), _('You must select accounts to reconcile'))
|
||||
for account_id in form['account_ids']:
|
||||
params = (account_id,)
|
||||
for account_id in form.account_ids:
|
||||
params = (account_id.id,)
|
||||
if not allow_write_off:
|
||||
query = """SELECT partner_id FROM account_move_line WHERE account_id=%s AND reconcile_id IS NULL
|
||||
AND state <> 'draft' GROUP BY partner_id
|
||||
@@ -172,12 +172,12 @@ class account_automatic_reconcile(osv.osv_memory):
|
||||
"AND partner_id=%s " \
|
||||
"AND state <> 'draft' " \
|
||||
"AND reconcile_id IS NULL",
|
||||
(account_id, partner_id))
|
||||
(account_id.id, partner_id))
|
||||
line_ids = [id for (id,) in cr.fetchall()]
|
||||
if line_ids:
|
||||
reconciled += len(line_ids)
|
||||
if allow_write_off:
|
||||
move_line_obj.reconcile(cr, uid, line_ids, 'auto', form['writeoff_acc_id'], form['period_id'], form['journal_id'], context)
|
||||
move_line_obj.reconcile(cr, uid, line_ids, 'auto', form.writeoff_acc_id.id, form.period_id.id, form.journal_id.id, context)
|
||||
else:
|
||||
move_line_obj.reconcile_partial(cr, uid, line_ids, 'manual', context=context)
|
||||
|
||||
@@ -191,7 +191,7 @@ class account_automatic_reconcile(osv.osv_memory):
|
||||
"AND partner_id IS NOT NULL " \
|
||||
"GROUP BY partner_id " \
|
||||
"HAVING count(*)>1",
|
||||
(account_id,))
|
||||
(account_id.id,))
|
||||
partner_ids = [id for (id,) in cr.fetchall()]
|
||||
#filter?
|
||||
for partner_id in partner_ids:
|
||||
@@ -205,7 +205,7 @@ class account_automatic_reconcile(osv.osv_memory):
|
||||
"AND state <> 'draft' " \
|
||||
"AND debit > 0 " \
|
||||
"ORDER BY date_maturity",
|
||||
(account_id, partner_id))
|
||||
(account_id.id, partner_id))
|
||||
debits = cr.fetchall()
|
||||
|
||||
# get the list of unreconciled 'credit transactions' for this partner
|
||||
@@ -218,10 +218,10 @@ class account_automatic_reconcile(osv.osv_memory):
|
||||
"AND state <> 'draft' " \
|
||||
"AND credit > 0 " \
|
||||
"ORDER BY date_maturity",
|
||||
(account_id, partner_id))
|
||||
(account_id.id, partner_id))
|
||||
credits = cr.fetchall()
|
||||
|
||||
(rec, unrec) = self.do_reconcile(cr, uid, credits, debits, max_amount, power, form['writeoff_acc_id'], form['period_id'], form['journal_id'], context)
|
||||
(rec, unrec) = self.do_reconcile(cr, uid, credits, debits, max_amount, power, form.writeoff_acc_id.id, form.period_id.id, form.journal_id.id, context)
|
||||
reconciled += rec
|
||||
unreconciled += unrec
|
||||
|
||||
@@ -234,7 +234,7 @@ class account_automatic_reconcile(osv.osv_memory):
|
||||
"WHERE account_id=%s " \
|
||||
"AND reconcile_id IS NULL " \
|
||||
"AND state <> 'draft' " + partner_filter,
|
||||
(account_id,))
|
||||
(account_id.id,))
|
||||
additional_unrec = cr.fetchone()[0]
|
||||
unreconciled = unreconciled + additional_unrec
|
||||
context.update({'reconciled': reconciled, 'unreconciled': unreconciled})
|
||||
@@ -252,4 +252,4 @@ class account_automatic_reconcile(osv.osv_memory):
|
||||
|
||||
account_automatic_reconcile()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -45,8 +45,8 @@ class account_change_currency(osv.osv_memory):
|
||||
obj_currency = self.pool.get('res.currency')
|
||||
if context is None:
|
||||
context = {}
|
||||
data = self.read(cr, uid, ids)[0]
|
||||
new_currency = data['currency_id']
|
||||
data = self.browse(cr, uid, ids, context=context)[0]
|
||||
new_currency = data.currency_id.id
|
||||
|
||||
invoice = obj_inv.browse(cr, uid, context['active_id'], context=context)
|
||||
if invoice.currency_id.id == new_currency:
|
||||
@@ -76,4 +76,4 @@ class account_change_currency(osv.osv_memory):
|
||||
|
||||
account_change_currency()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -56,22 +56,22 @@ class account_fiscalyear_close(osv.osv_memory):
|
||||
obj_acc_account = self.pool.get('account.account')
|
||||
obj_acc_journal_period = self.pool.get('account.journal.period')
|
||||
|
||||
data = self.read(cr, uid, ids, context=context)
|
||||
data = self.browse(cr, uid, ids, context=context)
|
||||
|
||||
if context is None:
|
||||
context = {}
|
||||
fy_id = data[0]['fy_id']
|
||||
fy_id = data[0].fy_id.id
|
||||
|
||||
cr.execute("SELECT id FROM account_period WHERE date_stop < (SELECT date_start FROM account_fiscalyear WHERE id = %s)", (str(data[0]['fy2_id']),))
|
||||
cr.execute("SELECT id FROM account_period WHERE date_stop < (SELECT date_start FROM account_fiscalyear WHERE id = %s)", (str(data[0].fy2_id.id),))
|
||||
fy_period_set = ','.join(map(lambda id: str(id[0]), cr.fetchall()))
|
||||
cr.execute("SELECT id FROM account_period WHERE date_start > (SELECT date_stop FROM account_fiscalyear WHERE id = %s)", (str(fy_id),))
|
||||
fy2_period_set = ','.join(map(lambda id: str(id[0]), cr.fetchall()))
|
||||
|
||||
period = obj_acc_period.browse(cr, uid, data[0]['period_id'], context=context)
|
||||
new_fyear = obj_acc_fiscalyear.browse(cr, uid, data[0]['fy2_id'], context=context)
|
||||
old_fyear = obj_acc_fiscalyear.browse(cr, uid, data[0]['fy_id'], context=context)
|
||||
period = obj_acc_period.browse(cr, uid, data[0].period_id.id, context=context)
|
||||
new_fyear = obj_acc_fiscalyear.browse(cr, uid, data[0].fy2_id.id, context=context)
|
||||
old_fyear = obj_acc_fiscalyear.browse(cr, uid, fy_id, context=context)
|
||||
|
||||
new_journal = data[0]['journal_id']
|
||||
new_journal = data[0].journal_id.id
|
||||
new_journal = obj_acc_journal.browse(cr, uid, new_journal, context=context)
|
||||
|
||||
if not new_journal.default_credit_account_id or not new_journal.default_debit_account_id:
|
||||
@@ -107,7 +107,7 @@ class account_fiscalyear_close(osv.osv_memory):
|
||||
obj_acc_move_line.create(cr, uid, {
|
||||
'debit': account.balance>0 and account.balance,
|
||||
'credit': account.balance<0 and -account.balance,
|
||||
'name': data[0]['report_name'],
|
||||
'name': data[0].report_name,
|
||||
'date': period.date_start,
|
||||
'journal_id': new_journal.id,
|
||||
'period_id': period.id,
|
||||
@@ -204,7 +204,7 @@ class account_fiscalyear_close(osv.osv_memory):
|
||||
|
||||
if ids:
|
||||
obj_acc_move_line.reconcile(cr, uid, ids, context=context)
|
||||
new_period = data[0]['period_id']
|
||||
new_period = data[0].period_id.id
|
||||
ids = obj_acc_journal_period.search(cr, uid, [('journal_id','=',new_journal.id),('period_id','=',new_period)])
|
||||
if not ids:
|
||||
ids = [obj_acc_journal_period.create(cr, uid, {
|
||||
|
||||
@@ -41,7 +41,7 @@ class account_fiscalyear_close_state(osv.osv_memory):
|
||||
|
||||
"""
|
||||
for data in self.read(cr, uid, ids, context=context):
|
||||
fy_id = data['fy_id']
|
||||
fy_id = data['fy_id'][0]
|
||||
|
||||
cr.execute('UPDATE account_journal_period ' \
|
||||
'SET state = %s ' \
|
||||
@@ -61,4 +61,4 @@ class account_fiscalyear_close_state(osv.osv_memory):
|
||||
|
||||
account_fiscalyear_close_state()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -88,29 +88,29 @@ class account_invoice_refund(osv.osv_memory):
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
for form in self.read(cr, uid, ids, context=context):
|
||||
for form in self.browse(cr, uid, ids, context=context):
|
||||
created_inv = []
|
||||
date = False
|
||||
period = False
|
||||
description = False
|
||||
company = res_users_obj.browse(cr, uid, uid, context=context).company_id
|
||||
journal_id = form.get('journal_id', False)
|
||||
journal_id = form.journal_id.id
|
||||
for inv in inv_obj.browse(cr, uid, context.get('active_ids'), context=context):
|
||||
if inv.state in ['draft', 'proforma2', 'cancel']:
|
||||
raise osv.except_osv(_('Error !'), _('Can not %s draft/proforma/cancel invoice.') % (mode))
|
||||
if inv.reconciled and mode in ('cancel', 'modify'):
|
||||
raise osv.except_osv(_('Error !'), _('Can not %s invoice which is already reconciled, invoice should be unreconciled first. You can only Refund this invoice') % (mode))
|
||||
if form['period']:
|
||||
period = form['period']
|
||||
if form.period.id:
|
||||
period = form.period.id
|
||||
else:
|
||||
period = inv.period_id and inv.period_id.id or False
|
||||
|
||||
if not journal_id:
|
||||
journal_id = inv.journal_id.id
|
||||
|
||||
if form['date']:
|
||||
date = form['date']
|
||||
if not form['period']:
|
||||
if form.date:
|
||||
date = form.date
|
||||
if not form.period.id:
|
||||
cr.execute("select name from ir_model_fields \
|
||||
where model = 'account.period' \
|
||||
and name = 'company_id'")
|
||||
@@ -128,8 +128,8 @@ class account_invoice_refund(osv.osv_memory):
|
||||
period = res[0]
|
||||
else:
|
||||
date = inv.date_invoice
|
||||
if form['description']:
|
||||
description = form['description']
|
||||
if form.description:
|
||||
description = form.description
|
||||
else:
|
||||
description = inv.name
|
||||
|
||||
@@ -211,10 +211,10 @@ class account_invoice_refund(osv.osv_memory):
|
||||
return result
|
||||
|
||||
def invoice_refund(self, cr, uid, ids, context=None):
|
||||
data_refund = self.read(cr, uid, ids, [],context=context)[0]['filter_refund']
|
||||
data_refund = self.read(cr, uid, ids, ['filter_refund'],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:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -148,7 +148,7 @@ class account_move_journal(osv.osv_memory):
|
||||
|
||||
journal_id = self._get_journal(cr, uid, context)
|
||||
period_id = self._get_period(cr, uid, context)
|
||||
target_move = self.read(cr, uid, ids, [])[0]['target_move']
|
||||
target_move = self.read(cr, uid, ids, ['target_move'], context=context)[0]['target_move']
|
||||
|
||||
name = _("Journal Items")
|
||||
if journal_id:
|
||||
|
||||
@@ -31,14 +31,13 @@ class account_open_closed_fiscalyear(osv.osv_memory):
|
||||
}
|
||||
|
||||
def remove_entries(self, cr, uid, ids, context=None):
|
||||
fy_obj = self.pool.get('account.fiscalyear')
|
||||
move_obj = self.pool.get('account.move')
|
||||
|
||||
data = self.read(cr, uid, ids, [], context=context)[0]
|
||||
data_fyear = fy_obj.browse(cr, uid, data['fyear_id'], context=context)
|
||||
if not data_fyear.end_journal_period_id:
|
||||
data = self.browse(cr, uid, ids, context=context)[0]
|
||||
period_journal = data.fyear_id.end_journal_period_id or False
|
||||
if not period_journal:
|
||||
raise osv.except_osv(_('Error !'), _('No End of year journal defined for the fiscal year'))
|
||||
period_journal = data_fyear.end_journal_period_id
|
||||
|
||||
ids_move = move_obj.search(cr, uid, [('journal_id','=',period_journal.journal_id.id),('period_id','=',period_journal.period_id.id)])
|
||||
if ids_move:
|
||||
cr.execute('delete from account_move where id IN %s', (tuple(ids_move),))
|
||||
@@ -46,4 +45,4 @@ class account_open_closed_fiscalyear(osv.osv_memory):
|
||||
|
||||
account_open_closed_fiscalyear()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -131,7 +131,10 @@ class account_common_report(osv.osv_memory):
|
||||
data = {}
|
||||
data['ids'] = context.get('active_ids', [])
|
||||
data['model'] = context.get('active_model', 'ir.ui.menu')
|
||||
data['form'] = self.read(cr, uid, ids, ['date_from', 'date_to', 'fiscalyear_id', 'journal_ids', 'period_from', 'period_to', 'filter', 'chart_account_id', 'target_move'])[0]
|
||||
data['form'] = self.read(cr, uid, ids, ['date_from', 'date_to', 'fiscalyear_id', 'journal_ids', 'period_from', 'period_to', 'filter', 'chart_account_id', 'target_move'], context=context)[0]
|
||||
for field in ['fiscalyear_id', 'chart_account_id', 'period_from', 'period_to']:
|
||||
if isinstance(data['form'][field], tuple):
|
||||
data['form'][field] = data['form'][field][0]
|
||||
used_context = self._build_contexts(cr, uid, ids, data, context=context)
|
||||
data['form']['periods'] = used_context.get('periods', False) and used_context['periods'] or []
|
||||
data['form']['used_context'] = used_context
|
||||
|
||||
@@ -54,21 +54,19 @@ class account_tax_chart(osv.osv_memory):
|
||||
period_obj = self.pool.get('account.period')
|
||||
if context is None:
|
||||
context = {}
|
||||
data = self.read(cr, uid, ids, [], context=context)[0]
|
||||
data = self.browse(cr, uid, ids, context=context)[0]
|
||||
result = mod_obj.get_object_reference(cr, uid, 'account', 'action_tax_code_tree')
|
||||
id = result and result[1] or False
|
||||
result = act_obj.read(cr, uid, [id], context=context)[0]
|
||||
if data['period_id']:
|
||||
fiscalyear_id = period_obj.read(cr, uid, [data['period_id']], context=context)[0]['fiscalyear_id'][0]
|
||||
result['context'] = str({'period_id': data['period_id'], \
|
||||
'fiscalyear_id': fiscalyear_id, \
|
||||
'state': data['target_move']})
|
||||
else:
|
||||
result['context'] = str({'state': data['target_move']})
|
||||
|
||||
if data['period_id']:
|
||||
period_code = period_obj.read(cr, uid, [data['period_id']], context=context)[0]['code']
|
||||
if data.period_id:
|
||||
result['context'] = str({'period_id': data.period_id.id, \
|
||||
'fiscalyear_id': data.period_id.fiscalyear_id.id, \
|
||||
'state': data.target_move})
|
||||
period_code = data.period_id.code
|
||||
result['name'] += period_code and (':' + period_code) or ''
|
||||
else:
|
||||
result['context'] = str({'state': data.target_move})
|
||||
|
||||
return result
|
||||
|
||||
_defaults = {
|
||||
@@ -78,4 +76,4 @@ class account_tax_chart(osv.osv_memory):
|
||||
|
||||
account_tax_chart()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -33,8 +33,8 @@ class validate_account_move(osv.osv_memory):
|
||||
obj_move = self.pool.get('account.move')
|
||||
if context is None:
|
||||
context = {}
|
||||
data = self.read(cr, uid, ids, context=context)[0]
|
||||
ids_move = obj_move.search(cr, uid, [('state','=','draft'),('journal_id','=',data['journal_id']),('period_id','=',data['period_id'])])
|
||||
data = self.browse(cr, uid, ids, context=context)[0]
|
||||
ids_move = obj_move.search(cr, uid, [('state','=','draft'),('journal_id','=',data.journal_id.id),('period_id','=',data.period_id.id)])
|
||||
if not ids_move:
|
||||
raise osv.except_osv(_('Warning'), _('Specified Journal does not have any account move entries in draft state for this period'))
|
||||
obj_move.button_validate(cr, uid, ids_move, context=context)
|
||||
|
||||
@@ -46,7 +46,10 @@ class account_vat_declaration(osv.osv_memory):
|
||||
context = {}
|
||||
datas = {'ids': context.get('active_ids', [])}
|
||||
datas['model'] = 'account.tax.code'
|
||||
datas['form'] = self.read(cr, uid, ids)[0]
|
||||
datas['form'] = self.read(cr, uid, ids, context=context)[0]
|
||||
for field in datas['form'].keys():
|
||||
if isinstance(datas['form'][field], tuple):
|
||||
datas['form'][field] = datas['form'][field][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',
|
||||
|
||||
@@ -45,6 +45,7 @@ class account_crossovered_analytic(osv.osv_memory):
|
||||
acc_ids = [x[0] for x in res]
|
||||
|
||||
data = self.read(cr, uid, ids, [], context=context)[0]
|
||||
data['ref'] = data['ref'][0]
|
||||
|
||||
obj_acc = self.pool.get('account.analytic.account').browse(cr, uid, data['ref'], context=context)
|
||||
name = obj_acc.name
|
||||
@@ -72,4 +73,4 @@ class account_crossovered_analytic(osv.osv_memory):
|
||||
|
||||
account_crossovered_analytic()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -69,14 +69,14 @@ class account_coda_import(osv.osv_memory):
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
data = self.read(cr, uid, ids)[0]
|
||||
data = self.browse(cr, uid, ids, context=context)[0]
|
||||
|
||||
codafile = data['coda']
|
||||
journal_code = journal_obj.browse(cr, uid, data['journal_id'], context=context).code
|
||||
codafile = data.coda
|
||||
journal_code = data.journal_id.code
|
||||
|
||||
period = account_period_obj.find(cr, uid, context=context)[0]
|
||||
def_pay_acc = data['def_payable']
|
||||
def_rec_acc = data['def_receivable']
|
||||
def_pay_acc = data.def_payable.id
|
||||
def_rec_acc = data.def_receivable.id
|
||||
|
||||
err_log = "Errors:\n------\n"
|
||||
nb_err=0
|
||||
@@ -96,7 +96,7 @@ class account_coda_import(osv.osv_memory):
|
||||
bank_statement["bank_statement_line"]={}
|
||||
bank_statement_lines = {}
|
||||
bank_statement['date'] = str2date(line[5:11])
|
||||
bank_statement['journal_id']=data['journal_id']
|
||||
bank_statement['journal_id']=data.journal_id.id
|
||||
period_id = account_period_obj.search(cr, uid, [('date_start', '<=', time.strftime('%Y-%m-%d', time.strptime(bank_statement['date'], "%y/%m/%d"))), ('date_stop', '>=', time.strftime('%Y-%m-%d', time.strptime(bank_statement['date'], "%y/%m/%d")))])
|
||||
bank_statement['period_id'] = period_id and period_id[0] or False
|
||||
bank_statement['state']='draft'
|
||||
@@ -144,7 +144,7 @@ class account_coda_import(osv.osv_memory):
|
||||
bank_statement["bank_statement_line"]=bank_statement_lines
|
||||
elif line[1] == '2':
|
||||
st_line_name = line[2:6]
|
||||
bank_statement_lines[st_line_name].update({'account_id': data['awaiting_account']})
|
||||
bank_statement_lines[st_line_name].update({'account_id': data.awaiting_account.id})
|
||||
|
||||
elif line[1] == '3':
|
||||
# movement data record 3.1
|
||||
@@ -165,7 +165,7 @@ class account_coda_import(osv.osv_memory):
|
||||
else:
|
||||
nb_err += 1
|
||||
err_log += _('The bank account %s is not defined for the partner %s.\n')%(cntry_number, contry_name)
|
||||
bank_statement_lines[st_line_name].update({'account_id': data['awaiting_account']})
|
||||
bank_statement_lines[st_line_name].update({'account_id': data.awaiting_account.id})
|
||||
|
||||
bank_statement["bank_statement_line"]=bank_statement_lines
|
||||
elif line[0]=='3':
|
||||
@@ -296,7 +296,7 @@ class account_coda_import(osv.osv_memory):
|
||||
'name': codafile,
|
||||
'statement_ids': [(6, 0, bkst_list,)],
|
||||
'note': str_log1+str_not+std_log+err_log,
|
||||
'journal_id': data['journal_id'],
|
||||
'journal_id': data.journal_id.id,
|
||||
'date': time.strftime("%Y-%m-%d"),
|
||||
'user_id': uid,
|
||||
})
|
||||
@@ -336,4 +336,4 @@ class account_coda_import(osv.osv_memory):
|
||||
|
||||
account_coda_import()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -48,10 +48,10 @@ class account_followup_print(osv.osv_memory):
|
||||
|
||||
if context is None:
|
||||
context = {}
|
||||
data = self.read(cr, uid, ids, [], context=context)[0]
|
||||
data = self.browse(cr, uid, ids, context=context)[0]
|
||||
model_data_ids = mod_obj.search(cr, uid, [('model','=','ir.ui.view'),('name','=','view_account_followup_print_all')], context=context)
|
||||
resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'], context=context)[0]['res_id']
|
||||
context.update({'followup_id': data['followup_id'], 'date':data['date']})
|
||||
context.update({'followup_id': data.followup_id.id, 'date':data.date})
|
||||
return {
|
||||
'name': _('Select Partners'),
|
||||
'view_type': 'form',
|
||||
@@ -146,7 +146,7 @@ class account_followup_print_all(osv.osv_memory):
|
||||
if context is None:
|
||||
context = {}
|
||||
if ids:
|
||||
data = self.read(cr, uid, ids, [], context=context)[0]
|
||||
data = self.browse(cr, uid, ids, context=context)[0]
|
||||
cr.execute(
|
||||
"SELECT l.partner_id, l.followup_line_id,l.date_maturity, l.date, l.id "\
|
||||
"FROM account_move_line AS l "\
|
||||
@@ -162,8 +162,8 @@ class account_followup_print_all(osv.osv_memory):
|
||||
move_lines = cr.fetchall()
|
||||
old = None
|
||||
fups = {}
|
||||
fup_id = 'followup_id' in context and context['followup_id'] or data['followup_id']
|
||||
date = 'date' in context and context['date'] or data['date']
|
||||
fup_id = 'followup_id' in context and context['followup_id'] or data.followup_id.id
|
||||
date = 'date' in context and context['date'] or data.date
|
||||
|
||||
current_date = datetime.date(*time.strptime(date,
|
||||
'%Y-%m-%d')[:3])
|
||||
@@ -208,14 +208,15 @@ class account_followup_print_all(osv.osv_memory):
|
||||
|
||||
if context is None:
|
||||
context = {}
|
||||
data = self.read(cr, uid, ids, [], context=context)[0]
|
||||
data = self.browse(cr, uid, ids, context=context)[0]
|
||||
partner_ids = [partner_id.id for partner_id in data.partner_ids]
|
||||
model_data_ids = mod_obj.search(cr, uid, [('model','=','ir.ui.view'),('name','=','view_account_followup_print_all_msg')], context=context)
|
||||
resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'], context=context)[0]['res_id']
|
||||
if data['email_conf']:
|
||||
if data.email_conf:
|
||||
msg_sent = ''
|
||||
msg_unsent = ''
|
||||
data_user = user_obj.browse(cr, uid, uid, context=context)
|
||||
move_lines = line_obj.browse(cr, uid, data['partner_ids'], context=context)
|
||||
move_lines = line_obj.browse(cr, uid, partner_ids, context=context)
|
||||
partners = []
|
||||
dict_lines = {}
|
||||
for line in move_lines:
|
||||
@@ -235,8 +236,8 @@ class account_followup_print_all(osv.osv_memory):
|
||||
if adr.email:
|
||||
dest = [adr.email]
|
||||
src = tools.config.options['email_from']
|
||||
if not data['partner_lang']:
|
||||
body = data['email_body']
|
||||
if not data.partner_lang:
|
||||
body = data.email_body
|
||||
else:
|
||||
cxt = context.copy()
|
||||
cxt['lang'] = partner.lang
|
||||
@@ -272,7 +273,7 @@ class account_followup_print_all(osv.osv_memory):
|
||||
'date':time.strftime('%Y-%m-%d'),
|
||||
}
|
||||
body = body%val
|
||||
sub = tools.ustr(data['email_subject'])
|
||||
sub = tools.ustr(data.email_subject)
|
||||
msg = ''
|
||||
if dest:
|
||||
try:
|
||||
|
||||
@@ -37,7 +37,8 @@ class account_invoice_with_message(report_sxw.rml_parse):
|
||||
self.context = context
|
||||
|
||||
def spcl_msg(self, form):
|
||||
account_msg_data = pooler.get_pool(self.cr.dbname).get('notify.message').browse(self.cr, self.uid, form['message'])
|
||||
msg_id = form['message'][0]
|
||||
account_msg_data = pooler.get_pool(self.cr.dbname).get('notify.message').browse(self.cr, self.uid, msg_id)
|
||||
msg = account_msg_data.msg
|
||||
return msg
|
||||
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-02-21 17:42+0000\n"
|
||||
"PO-Revision-Date: 2011-03-14 07:27+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: 2011-02-22 04:54+0000\n"
|
||||
"X-Generator: Launchpad (build 12351)\n"
|
||||
"X-Launchpad-Export-Date: 2011-03-15 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.order,date_scheduled:0
|
||||
@@ -40,7 +40,7 @@ msgstr "Выберите режим платежа для применения"
|
||||
#: view:payment.mode:0
|
||||
#: view:payment.order:0
|
||||
msgid "Group By..."
|
||||
msgstr "Объединять по..."
|
||||
msgstr "Группировать по ..."
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.module.module,description:account_payment.module_meta_information
|
||||
@@ -51,6 +51,11 @@ msgid ""
|
||||
"* a basic mechanism to easily plug various automated payment.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Этот модуль обеспечивает :\n"
|
||||
"* более эффективный способ управления оплатой счетов.\n"
|
||||
"* постой механизм для разных автоматических платежей.\n"
|
||||
" "
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.order,line_ids:0
|
||||
@@ -305,7 +310,7 @@ msgstr "Искать платежные поручения"
|
||||
#: constraint:account.move.line:0
|
||||
msgid ""
|
||||
"You can not create move line on receivable/payable account without partner"
|
||||
msgstr ""
|
||||
msgstr "Нельзя сделать действие по дебетовому/кредитовому счету без партнера"
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,create_date:0
|
||||
@@ -377,7 +382,7 @@ msgstr "Если дата платежа не задана, банк сразу
|
||||
#. module: account_payment
|
||||
#: model:ir.model,name:account_payment.model_account_payment_populate_statement
|
||||
msgid "Account Payment Populate Statement"
|
||||
msgstr ""
|
||||
msgstr "Заполнение платежного поручения"
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.mode,name:0
|
||||
|
||||
@@ -62,8 +62,8 @@ class payment_order_create(osv.osv_memory):
|
||||
payment_obj = self.pool.get('payment.line')
|
||||
if context is None:
|
||||
context = {}
|
||||
data = self.read(cr, uid, ids, [], context=context)[0]
|
||||
line_ids = data['entries']
|
||||
data = self.browse(cr, uid, ids, context=context)[0]
|
||||
line_ids = [entry.id for entry in data.entries]
|
||||
if not line_ids:
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
@@ -97,8 +97,8 @@ class payment_order_create(osv.osv_memory):
|
||||
mod_obj = self.pool.get('ir.model.data')
|
||||
if context is None:
|
||||
context = {}
|
||||
data = self.read(cr, uid, ids, [], context=context)[0]
|
||||
search_due_date = data['duedate']
|
||||
data = self.browse(cr, uid, ids, context=context)[0]
|
||||
search_due_date = data.duedate
|
||||
# payment = self.pool.get('payment.order').browse(cr, uid, context['active_id'], context=context)
|
||||
|
||||
# Search for move line to pay:
|
||||
|
||||
@@ -8,26 +8,28 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-03-05 12:14+0000\n"
|
||||
"Last-Translator: Stanislav Hanzhin <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-03-14 07:15+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: 2011-03-06 04:50+0000\n"
|
||||
"X-Generator: Launchpad (build 12351)\n"
|
||||
"X-Launchpad-Export-Date: 2011-03-15 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
|
||||
#. module: account_sequence
|
||||
#: view:account.sequence.installer:0
|
||||
#: model:ir.actions.act_window,name:account_sequence.action_account_seq_installer
|
||||
msgid "Account Sequence Application Configuration"
|
||||
msgstr ""
|
||||
msgstr "Настройка нумерации по счету"
|
||||
|
||||
#. module: account_sequence
|
||||
#: constraint:account.move:0
|
||||
msgid ""
|
||||
"You cannot create entries on different periods/journals in the same move"
|
||||
msgstr ""
|
||||
"Вы не можете создавать проводки по разным периодам / журналам в одном "
|
||||
"действии."
|
||||
|
||||
#. module: account_sequence
|
||||
#: help:account.move,internal_sequence_number:0
|
||||
@@ -74,12 +76,12 @@ msgstr "Следующее число последовательности бу
|
||||
#. module: account_sequence
|
||||
#: view:account.sequence.installer:0
|
||||
msgid "Configure Your Account Sequence Application"
|
||||
msgstr ""
|
||||
msgstr "Настройка вашей нумерации по счету"
|
||||
|
||||
#. module: account_sequence
|
||||
#: field:account.sequence.installer,progress:0
|
||||
msgid "Configuration Progress"
|
||||
msgstr "Процесс настройки"
|
||||
msgstr "Выполнение настройки"
|
||||
|
||||
#. module: account_sequence
|
||||
#: help:account.sequence.installer,suffix:0
|
||||
@@ -97,6 +99,8 @@ msgid ""
|
||||
"This sequence will be used to maintain the internal number for the journal "
|
||||
"entries related to this journal."
|
||||
msgstr ""
|
||||
"Эта последовательность будет использована для внутренней нумерации записей в "
|
||||
"журнал, связанный с этим журналом."
|
||||
|
||||
#. module: account_sequence
|
||||
#: field:account.sequence.installer,padding:0
|
||||
@@ -125,6 +129,8 @@ msgid ""
|
||||
"OpenERP will automatically adds some '0' on the left of the 'Next Number' to "
|
||||
"get the required padding size."
|
||||
msgstr ""
|
||||
"OpenERP автоматически добавляет несколько '0' слева от 'Следующее число' для "
|
||||
" заданного выравнивания."
|
||||
|
||||
#. module: account_sequence
|
||||
#: field:account.sequence.installer,name:0
|
||||
@@ -141,6 +147,8 @@ msgstr "Нельзя сделать проводку по закрытому с
|
||||
msgid ""
|
||||
"You cannot create more than one move per period on centralized journal"
|
||||
msgstr ""
|
||||
"Вы не можете создать больше одного действия за период по централизованному "
|
||||
"журналу."
|
||||
|
||||
#. module: account_sequence
|
||||
#: sql_constraint:account.move.line:0
|
||||
@@ -160,7 +168,7 @@ msgstr "account.sequence.installer"
|
||||
#. module: account_sequence
|
||||
#: view:account.sequence.installer:0
|
||||
msgid "Configure"
|
||||
msgstr "Настройка"
|
||||
msgstr "Настроить"
|
||||
|
||||
#. module: account_sequence
|
||||
#: help:account.sequence.installer,prefix:0
|
||||
@@ -185,7 +193,7 @@ msgstr "Изображение"
|
||||
#. module: account_sequence
|
||||
#: view:account.sequence.installer:0
|
||||
msgid "title"
|
||||
msgstr ""
|
||||
msgstr "title"
|
||||
|
||||
#. module: account_sequence
|
||||
#: sql_constraint:account.journal:0
|
||||
@@ -206,7 +214,7 @@ msgstr "Код журнала должен быть уникальным для
|
||||
#: constraint:account.move.line:0
|
||||
msgid ""
|
||||
"You can not create move line on receivable/payable account without partner"
|
||||
msgstr ""
|
||||
msgstr "Нельзя сделать действие по дебетовому/кредитовому счету без партнера"
|
||||
|
||||
#. module: account_sequence
|
||||
#: model:ir.model,name:account_sequence.model_account_journal
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-02-20 20:50+0000\n"
|
||||
"Last-Translator: Pedro_Maschio <pedro.bicudo@tgtconsult.com.br>\n"
|
||||
"PO-Revision-Date: 2011-03-15 00:58+0000\n"
|
||||
"Last-Translator: Emerson <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: 2011-02-21 04:51+0000\n"
|
||||
"X-Generator: Launchpad (build 12351)\n"
|
||||
"X-Launchpad-Export-Date: 2011-03-15 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
|
||||
#. module: auction
|
||||
#: model:ir.ui.menu,name:auction.auction_report_menu
|
||||
@@ -547,7 +547,7 @@ msgstr "# dos vendedores:"
|
||||
#: field:report.auction,date:0
|
||||
#: field:report.object.encoded,date:0
|
||||
msgid "Create Date"
|
||||
msgstr "Criar Data"
|
||||
msgstr "Data de Criação"
|
||||
|
||||
#. module: auction
|
||||
#: view:auction.dates:0
|
||||
@@ -737,7 +737,7 @@ msgstr "Categorias de Objeto"
|
||||
#. module: auction
|
||||
#: field:auction.lots.sms.send,app_id:0
|
||||
msgid "API ID"
|
||||
msgstr ""
|
||||
msgstr "API ID"
|
||||
|
||||
#. module: auction
|
||||
#: field:auction.bid,name:0
|
||||
@@ -844,7 +844,7 @@ msgstr ""
|
||||
#. module: auction
|
||||
#: model:product.template,name:auction.monproduit_product_template
|
||||
msgid "Oeuvres a 21%"
|
||||
msgstr ""
|
||||
msgstr "Obras a 21%"
|
||||
|
||||
#. module: auction
|
||||
#: field:report.object.encoded,adj:0
|
||||
@@ -1105,7 +1105,7 @@ msgstr "Nome"
|
||||
#: field:auction.deposit,name:0
|
||||
#: field:auction.lots,bord_vnd_id:0
|
||||
msgid "Depositer Inventory"
|
||||
msgstr ""
|
||||
msgstr "Inventário do Depositante"
|
||||
|
||||
#. module: auction
|
||||
#: code:addons/auction/auction.py:692
|
||||
@@ -1505,7 +1505,7 @@ msgstr ""
|
||||
#. module: auction
|
||||
#: model:account.tax,name:auction.auction_tax1
|
||||
msgid "TVA"
|
||||
msgstr ""
|
||||
msgstr "TVA"
|
||||
|
||||
#. module: auction
|
||||
#: field:auction.lots,important:0
|
||||
@@ -1520,7 +1520,7 @@ msgstr "Total:"
|
||||
#. module: auction
|
||||
#: model:account.tax,name:auction.auction_tax2
|
||||
msgid "TVA1"
|
||||
msgstr ""
|
||||
msgstr "TVA1"
|
||||
|
||||
#. module: auction
|
||||
#: view:report.auction.object.date:0
|
||||
@@ -2116,7 +2116,7 @@ msgstr "Erro"
|
||||
#: field:auction.lots,ach_inv_id:0
|
||||
#: view:auction.lots.make.invoice.buyer:0
|
||||
msgid "Buyer Invoice"
|
||||
msgstr ""
|
||||
msgstr "Fatura do Comprador"
|
||||
|
||||
#. module: auction
|
||||
#: report:auction.bids:0
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-01-13 18:04+0000\n"
|
||||
"Last-Translator: serg_alban <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-03-14 08:56+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: 2011-01-15 05:15+0000\n"
|
||||
"X-Generator: Launchpad (build 12177)\n"
|
||||
"X-Launchpad-Export-Date: 2011-03-15 04:54+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,title:0
|
||||
@@ -39,12 +39,12 @@ msgstr "Обращение"
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,date_start:0
|
||||
msgid "Start date of job(Joining Date)"
|
||||
msgstr ""
|
||||
msgstr "Дата начала работы(дата присоединения)"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:base.contact.installer:0
|
||||
msgid "Select the Option for Addresses Migration"
|
||||
msgstr ""
|
||||
msgstr "Выберите опции для перемещения адресов"
|
||||
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,function:0
|
||||
@@ -68,7 +68,7 @@ msgstr ""
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,fax:0
|
||||
msgid "Job FAX no."
|
||||
msgstr ""
|
||||
msgstr "Рабочий номер факса"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,mobile:0
|
||||
@@ -129,6 +129,8 @@ msgid ""
|
||||
"If the active field is set to False, it will allow you to "
|
||||
"hide the partner contact without removing it."
|
||||
msgstr ""
|
||||
"Если поле 'Активно' имеет значение ложь, то это позволит вам скрыть контакт "
|
||||
"партнера, не удаляя его."
|
||||
|
||||
#. module: base_contact
|
||||
#: model:ir.module.module,description:base_contact.module_meta_information
|
||||
@@ -196,7 +198,7 @@ msgstr "Внутренний / внешний расширение телефо
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,phone:0
|
||||
msgid "Job Phone no."
|
||||
msgstr ""
|
||||
msgstr "Рабочий телефон"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
@@ -213,7 +215,7 @@ msgstr "Контакт"
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,email:0
|
||||
msgid "Job E-Mail"
|
||||
msgstr ""
|
||||
msgstr "Рабочий e-mail"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,sequence_partner:0
|
||||
@@ -477,7 +479,7 @@ msgstr "Имя"
|
||||
#. module: base_contact
|
||||
#: view:base.contact.installer:0
|
||||
msgid "You can migrate Partner's current addresses to the contact."
|
||||
msgstr ""
|
||||
msgstr "Вы можете переместить текущие адреса контрагента в контакт"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,partner_id:0
|
||||
|
||||
@@ -70,10 +70,10 @@ class board_menu_create(osv.osv_memory):
|
||||
})
|
||||
obj_menu = self.pool.get('ir.ui.menu')
|
||||
#start Loop
|
||||
for data in self.read(cr, uid, ids):
|
||||
for data in self.browse(cr, uid, ids, context=context):
|
||||
obj_menu.create(cr, uid, {
|
||||
'name': data.get('menu_name'),
|
||||
'parent_id': data.get('menu_parent_id'),
|
||||
'name': data.menu_name,
|
||||
'parent_id': data.menu_parent_id.id,
|
||||
'icon': 'STOCK_SELECT_COLOR',
|
||||
'action': 'ir.actions.act_window,' + str(action_id)
|
||||
}, context=context)
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="open_board_statistical_dash">
|
||||
<field name="name">CRM - Statistics Dashboard</field>
|
||||
<field name="name">CRM Dashboard</field>
|
||||
<field name="res_model">board.board</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
@@ -118,7 +118,7 @@
|
||||
<menuitem id="board.menu_dasboard" name="Dashboard" sequence="0" parent="base.next_id_64"/>
|
||||
|
||||
<menuitem
|
||||
name="Statistics Dashboard" parent="board.menu_dasboard"
|
||||
name="CRM Dashboard" parent="board.menu_dasboard"
|
||||
action="open_board_statistical_dash"
|
||||
sequence="0"
|
||||
id="menu_board_statistics_dash"
|
||||
|
||||
+148
-34
@@ -7,19 +7,19 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
|
||||
"PO-Revision-Date: 2011-02-25 19:53+0000\n"
|
||||
"PO-Revision-Date: 2011-03-14 18:33+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: 2011-02-26 05:00+0000\n"
|
||||
"X-Generator: Launchpad (build 12351)\n"
|
||||
"X-Launchpad-Export-Date: 2011-03-15 04:54+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead.report:0
|
||||
msgid "# Leads"
|
||||
msgstr "# Кандидаты"
|
||||
msgstr "# Кандидатов"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
@@ -238,7 +238,7 @@ msgstr "Запланировать другой звонок"
|
||||
#. module: crm
|
||||
#: help:crm.meeting,edit_all:0
|
||||
msgid "Edit all Occurrences of recurrent Meeting."
|
||||
msgstr ""
|
||||
msgstr "Изменить все повторяющиеся встречи"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/wizard/crm_opportunity_to_phonecall.py:134
|
||||
@@ -294,7 +294,7 @@ msgstr "Разделы"
|
||||
#. module: crm
|
||||
#: view:crm.merge.opportunity:0
|
||||
msgid "_Merge"
|
||||
msgstr ""
|
||||
msgstr "_Объединить"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead.report:0
|
||||
@@ -410,7 +410,7 @@ msgstr "При обнаружении реального проекта/сдел
|
||||
#. module: crm
|
||||
#: field:crm.installer,crm_fundraising:0
|
||||
msgid "Fundraising"
|
||||
msgstr ""
|
||||
msgstr "Фандрайзинг"
|
||||
|
||||
#. module: crm
|
||||
#: view:res.partner:0
|
||||
@@ -515,12 +515,12 @@ msgstr "Повторяющееся правило"
|
||||
#. module: crm
|
||||
#: model:crm.case.resource.type,name:crm.type_lead1
|
||||
msgid "Version 4.2"
|
||||
msgstr ""
|
||||
msgstr "Версия 4.2"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.resource.type,name:crm.type_lead2
|
||||
msgid "Version 4.4"
|
||||
msgstr ""
|
||||
msgstr "Версия 4.4"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.installer,fetchmail:0
|
||||
@@ -701,6 +701,8 @@ msgid ""
|
||||
"modes available with the customer. With each commercial opportunity, you can "
|
||||
"indicate the canall which is this opportunity source."
|
||||
msgstr ""
|
||||
"Каналы представляют собой различные способы общения с клиентом. При каждой "
|
||||
"возможной сделке вы можете указывать канал - источник сделки."
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/crm_meeting.py:93
|
||||
@@ -737,6 +739,8 @@ msgid ""
|
||||
"Defines a rule or repeating pattern of time to exclude from the recurring "
|
||||
"rule."
|
||||
msgstr ""
|
||||
"Определяет правило или повторяющийся шаблон времени для исключения из "
|
||||
"правил повторения."
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.section,resource_calendar_id:0
|
||||
@@ -865,12 +869,12 @@ msgstr "Дней в периоде"
|
||||
#. module: crm
|
||||
#: field:crm.meeting,byday:0
|
||||
msgid "By day"
|
||||
msgstr ""
|
||||
msgstr "По дню"
|
||||
|
||||
#. module: crm
|
||||
#: field:base.action.rule,act_section_id:0
|
||||
msgid "Set Team to"
|
||||
msgstr ""
|
||||
msgstr "Установить отдел"
|
||||
|
||||
#. module: crm
|
||||
#: view:calendar.attendee:0
|
||||
@@ -897,7 +901,7 @@ msgstr "Сделка '%s' выиграна."
|
||||
#. module: crm
|
||||
#: help:crm.meeting,alarm_id:0
|
||||
msgid "Set an alarm at this time, before the event occurs"
|
||||
msgstr ""
|
||||
msgstr "Установить сигнал на это время, перед событием"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.module.module,description:crm.module_meta_information
|
||||
@@ -962,6 +966,8 @@ msgid ""
|
||||
"This property defines the list of date/time exceptions for a recurring "
|
||||
"calendar component."
|
||||
msgstr ""
|
||||
"Это свойство определяет список исключений дат/времени для повторяющихся "
|
||||
"элементов календаря."
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.phonecall2opportunity:0
|
||||
@@ -1034,7 +1040,7 @@ msgstr "Сделка '%s' закрыта."
|
||||
#. module: crm
|
||||
#: field:crm.lead,day_open:0
|
||||
msgid "Days to Open"
|
||||
msgstr ""
|
||||
msgstr "Дней до открытия"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
@@ -1062,7 +1068,7 @@ msgstr "Моб. тел."
|
||||
#. module: crm
|
||||
#: field:crm.meeting,end_type:0
|
||||
msgid "Way to end reccurency"
|
||||
msgstr ""
|
||||
msgstr "Способ прекращения повторения"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/wizard/crm_merge_opportunities.py:53
|
||||
@@ -1111,7 +1117,7 @@ msgstr "Встречи"
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
msgid "Choose day where repeat the meeting"
|
||||
msgstr ""
|
||||
msgstr "Выбрать день, когда повторить встречу"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead,date_action_next:0
|
||||
@@ -1137,6 +1143,8 @@ msgid ""
|
||||
"If the active field is set to true, it will allow you to hide the "
|
||||
"event alarm information without removing it."
|
||||
msgstr ""
|
||||
"Если в поле 'Активно' установлено значение Ложь, вы сможете скрыть "
|
||||
"информацию о сигнале события, без её удаления."
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/wizard/crm_phonecall_to_opportunity.py:57
|
||||
@@ -1258,7 +1266,7 @@ msgstr "Дата создания"
|
||||
#. module: crm
|
||||
#: model:crm.case.categ,name:crm.categ_oppor5
|
||||
msgid "Need a Website Design"
|
||||
msgstr ""
|
||||
msgstr "Нужен дизайн сайта"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.meeting,recurrent_uid:0
|
||||
@@ -1350,6 +1358,7 @@ msgid ""
|
||||
"Create specific phone call categories to better define the type of calls "
|
||||
"tracked in the system."
|
||||
msgstr ""
|
||||
"Создать специальные категории звонков для лучшего их отслеживания в системе."
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.lead.report,month:0
|
||||
@@ -1396,6 +1405,8 @@ msgid ""
|
||||
"If the active field is set to true, it will allow you to hide the sales team "
|
||||
"without removing it."
|
||||
msgstr ""
|
||||
"Если в поле 'Активно' установлено значение Ложь, вы сможете скрыть отдел "
|
||||
"продаж, не удаляя его."
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead.report:0
|
||||
@@ -1426,7 +1437,7 @@ msgstr ""
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
msgid "End of recurrency"
|
||||
msgstr ""
|
||||
msgstr "Конец повторения"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
@@ -1524,7 +1535,7 @@ msgstr "Сделки по категориям"
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
msgid "Choose day in the month where repeat the meeting"
|
||||
msgstr ""
|
||||
msgstr "Выбери день месяца, когда повторить встречу."
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.segmentation:0
|
||||
@@ -1544,6 +1555,10 @@ msgid ""
|
||||
"better manage your interactions with them. The segmentation tool is able to "
|
||||
"assign categories to partners according to criteria you set."
|
||||
msgstr ""
|
||||
"Создать специальные категории партнеров, которые вы можете назначить "
|
||||
"партнерам, чтобы лучше управлять вашим взаимодействием с ними. Инструмент "
|
||||
"сегментирования может назначить категории для партнеров в соответствии с "
|
||||
"вашими критериями."
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.section,code:0
|
||||
@@ -1698,6 +1713,9 @@ msgid ""
|
||||
"organise their sales pipeline. Stages will allow them to easily track how a "
|
||||
"specific lead or opportunity is positioned in the sales cycle."
|
||||
msgstr ""
|
||||
"Добавление специальных этапов к кандидатам и сделкам позволяет лучше "
|
||||
"организовать процесс продаж. Этапы позволяют легче отслеживать нахождение "
|
||||
"кандидатов и сделок в процессе продаж."
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead.report:0
|
||||
@@ -1726,6 +1744,8 @@ msgid ""
|
||||
"Sales team to which this case belongs to. Defines responsible user and e-"
|
||||
"mail address for the mail gateway."
|
||||
msgstr ""
|
||||
"Отдел продаж к которому относится этот вопрос. Определяет ответственного "
|
||||
"пользователя и адрес эл. почты для почтового шлюза."
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
@@ -1807,6 +1827,7 @@ msgstr "Объединять по..."
|
||||
#: help:crm.lead,partner_id:0
|
||||
msgid "Optional linked partner, usually after conversion of the lead"
|
||||
msgstr ""
|
||||
"Необязательный связанный партнер, обычно после преобразования кандидата."
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
@@ -1862,6 +1883,8 @@ msgid ""
|
||||
"This percentage depicts the default/average probability of the Case for this "
|
||||
"stage to be a success"
|
||||
msgstr ""
|
||||
"Этот процент изображает по умолчанию / среднюю вероятность успеха на этом "
|
||||
"этапе"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.phonecall.report:0
|
||||
@@ -1914,7 +1937,7 @@ msgstr ""
|
||||
#. module: crm
|
||||
#: help:crm.meeting,recurrency:0
|
||||
msgid "Recurrent Meeting"
|
||||
msgstr ""
|
||||
msgstr "Повторяющаяся встреча"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case.section:0
|
||||
@@ -1977,12 +2000,12 @@ msgstr "Сделки по этапам"
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
msgid "Recurrency Option"
|
||||
msgstr ""
|
||||
msgstr "Опция повторения"
|
||||
|
||||
#. module: crm
|
||||
#: model:process.transition,note:crm.process_transition_leadpartner0
|
||||
msgid "Prospect is converting to business partner"
|
||||
msgstr ""
|
||||
msgstr "Перспектива преобразуется в бизнес-партнера"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead2opportunity:0
|
||||
@@ -2030,7 +2053,7 @@ msgstr "crm.phonecall"
|
||||
#. module: crm
|
||||
#: model:crm.case.resource.type,name:crm.type_lead3
|
||||
msgid "Mail Campaign 2"
|
||||
msgstr ""
|
||||
msgstr "Почтовая кампания 2"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
@@ -2128,7 +2151,7 @@ msgstr "Ожидаемая выручка"
|
||||
#. module: crm
|
||||
#: model:crm.case.resource.type,name:crm.type_lead6
|
||||
msgid "Google Adwords 2"
|
||||
msgstr ""
|
||||
msgstr "Google Adwords 2"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.lead,type:0
|
||||
@@ -2157,6 +2180,11 @@ msgid ""
|
||||
"The opportunities and sales order displayed, will automatically be filtered "
|
||||
"according to his team."
|
||||
msgstr ""
|
||||
"Определение отдела продаж для организации различных продавцов или отделов "
|
||||
"продаж в отдельные команды. Каждая команда будет работать со своим списком "
|
||||
"сделок, заказов и т.д. Каждый пользователь может установить команду по "
|
||||
"умолчанию в своих настройках. Выводимые сделки и заказы, будут "
|
||||
"автоматически фильтроваться в соответствии с отделом продаж пользователя."
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.meeting,count:0
|
||||
@@ -2234,6 +2262,16 @@ msgid ""
|
||||
"email gateway: new emails may create leads, each of them automatically gets "
|
||||
"the history of the conversation with the prospect."
|
||||
msgstr ""
|
||||
"Кандидаты позволяют управлять и отслеживать все первоначальные контакты с "
|
||||
"предполагаемыми клиентами или партнерами проявившими интерес к вашей "
|
||||
"продукции или услугам. Кандидат - обычно первый шаг в процессе продажи. "
|
||||
"После оценки, кандидат может быть преобразован в сделку с созданием "
|
||||
"соответствующего партнера для будущего отслеживания связанной с ним "
|
||||
"деятельности. Вы можете импортировать базу данных предполагаемых клиентов, "
|
||||
"работать с визитными карточками или интегрировать запросы с вашего сайта с "
|
||||
"кандидатами в OpenERP. Кандидаты могут быть подсоединены к почтовому шлюзу: "
|
||||
"новые эл. письма могут создавать кандидатов, каждый из них автоматически "
|
||||
"получает историю переговоров с предполагаемым клиентом."
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.lead2opportunity.partner,action:0
|
||||
@@ -2342,7 +2380,7 @@ msgstr "Встреча с заказчиком"
|
||||
#: view:crm.lead:0
|
||||
#: field:crm.lead,email_cc:0
|
||||
msgid "Global CC"
|
||||
msgstr ""
|
||||
msgstr "Глобальная копия"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.phonecall:0
|
||||
@@ -2416,6 +2454,7 @@ msgid ""
|
||||
"Helps you manage wiki pages for Frequently Asked Questions on Sales "
|
||||
"Application."
|
||||
msgstr ""
|
||||
"Помогает вам управлять вики страницы для частых вопросов по продажам."
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.installer,crm_fundraising:0
|
||||
@@ -2535,7 +2574,7 @@ msgstr "Техподдержка"
|
||||
#. module: crm
|
||||
#: field:crm.meeting,recurrency:0
|
||||
msgid "Recurrent"
|
||||
msgstr ""
|
||||
msgstr "Повторение"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/crm.py:397
|
||||
@@ -2571,6 +2610,9 @@ msgid ""
|
||||
"e.g.: Every other month on the last Sunday of the month for 10 occurrences: "
|
||||
" FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=-1SU"
|
||||
msgstr ""
|
||||
"Определяет правила или шаблон для повторяющихся событий\n"
|
||||
"например: раз в два месяца в последнее воскресенье месяца 10 раз: "
|
||||
"FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=-1SU"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead,job_id:0
|
||||
@@ -2580,7 +2622,7 @@ msgstr "Основная должность"
|
||||
#. module: crm
|
||||
#: field:base.action.rule,trg_max_history:0
|
||||
msgid "Maximum Communication History"
|
||||
msgstr ""
|
||||
msgstr "Максимальная история общения"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead2opportunity.partner:0
|
||||
@@ -2612,6 +2654,10 @@ msgid ""
|
||||
" \n"
|
||||
"If the case needs to be reviewed then the state is set to 'Pending'."
|
||||
msgstr ""
|
||||
"Состояние установлено в 'Черновик', при создании вопроса. \n"
|
||||
"Если вопрос в работе состояние установлено в 'Открыто'. \n"
|
||||
"Когда вопрос решен состояние установлено в 'Сделано'. \n"
|
||||
"Если вопрос нуждается в рассмотрении, то состояние 'В ожидании'."
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
@@ -2630,6 +2676,8 @@ msgid ""
|
||||
"The computation is made on all events that occured during this interval, the "
|
||||
"past X periods."
|
||||
msgstr ""
|
||||
"Вычисление производится по всем событиям, которые произошли в течение этого "
|
||||
"интервала, прошедшие X периодов."
|
||||
|
||||
#. module: crm
|
||||
#: view:board.board:0
|
||||
@@ -2661,7 +2709,7 @@ msgstr "Задержка открытия"
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
msgid "Recurrency period"
|
||||
msgstr ""
|
||||
msgstr "Период повторения"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.meeting,week_list:0
|
||||
@@ -2709,6 +2757,7 @@ msgid ""
|
||||
"The name of the future partner that will be created while converting the "
|
||||
"into opportunity"
|
||||
msgstr ""
|
||||
"Название будущего партнера, который будет создан при преобразовании в сделку"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.opportunity2phonecall,user_id:0
|
||||
@@ -2809,6 +2858,17 @@ msgid ""
|
||||
"opportunities, convert them into quotations, manage related documents, track "
|
||||
"all customer related activities, and much more."
|
||||
msgstr ""
|
||||
"Со сделками вы можете управлять и отслеживать процесс продаж с помощью "
|
||||
"создания специфичных для заказчика или предполагаемого клиента документов "
|
||||
"для продаж. Может быть сохранена такая информация: ожидаемый доход, этап "
|
||||
"сделки, ожидаемая дата закрытия, история общения и многое другое. Сделки "
|
||||
"могут быть связаны с почтовым шлюзом: новые сообщения могут создавать "
|
||||
"сделки, каждая из них автоматически получает историю общения с клиентом.\n"
|
||||
"\n"
|
||||
"Вы и ваш отдел будете иметь возможность планировать встречи и телефонные "
|
||||
"звонки по сделкам, превращать их в запросы цен, управлять связанными "
|
||||
"документами, отслеживать деятельность связанную с заказчиком, и многое "
|
||||
"другое."
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
@@ -2888,7 +2948,7 @@ msgstr "Сообщения"
|
||||
#. module: crm
|
||||
#: help:crm.case.stage,on_change:0
|
||||
msgid "Change Probability on next and previous stages."
|
||||
msgstr ""
|
||||
msgstr "Изменение вероятности на следующей и предыдущей стадии."
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/crm.py:455
|
||||
@@ -2952,6 +3012,10 @@ msgid ""
|
||||
"instance reflect your product structure or the different types of sales you "
|
||||
"do."
|
||||
msgstr ""
|
||||
"Создавать специальные категории, которые подходят к деятельности вашей "
|
||||
"компании, чтобы лучше классифицировать и анализировать ваших кандидатов и "
|
||||
"сделки. Такие категории, могут, например, отражать вашу структуру продукции "
|
||||
"или различные типы продаж."
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.segmentation,som_interval_decrease:0
|
||||
@@ -2959,6 +3023,8 @@ msgid ""
|
||||
"If the partner has not purchased (or bought) during a period, decrease the "
|
||||
"state of mind by this factor. It's a multiplication"
|
||||
msgstr ""
|
||||
"Если партнер не покупал в течение периода, уменьшить мнение на этот "
|
||||
"коэффициент. Это умножение"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.actions.act_window,help:crm.action_report_crm_phonecall
|
||||
@@ -2968,16 +3034,21 @@ msgid ""
|
||||
"several criteria and drill down the information, by adding more groups in "
|
||||
"the report."
|
||||
msgstr ""
|
||||
"По этому отчету можно анализировать производительность вашего отдела продаж, "
|
||||
"основанную на их телефонных звонках. Вы можете группировать или фильтровать "
|
||||
"информацию по нескольким критериям и детализировать информацию за счет "
|
||||
"добавления новых групп в отчет."
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case.section:0
|
||||
msgid "Mailgateway"
|
||||
msgstr ""
|
||||
msgstr "Почтовый шлюз"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.lead,user_id:0
|
||||
msgid "By Default Salesman is Administrator when create New User"
|
||||
msgstr ""
|
||||
"По умолчанию продавец - администратор, далее создайте нового пользователя"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead.report:0
|
||||
@@ -3027,6 +3098,8 @@ msgid ""
|
||||
"These addresses will receive a copy of this email. To modify the permanent "
|
||||
"CC list, edit the global CC field of this case"
|
||||
msgstr ""
|
||||
"Эти адреса будут получать копию этого письма. Для изменения постоянного "
|
||||
"списка рассылки копий измените поле 'Глобальная копия' этого вопроса."
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
@@ -3055,6 +3128,8 @@ msgid ""
|
||||
"You can not escalate, You are already at the top level regarding your sales-"
|
||||
"team category."
|
||||
msgstr ""
|
||||
"Вы не можете обострить, Вы уже на высшем уровне относительно вашего отдела "
|
||||
"продаж."
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.segmentation.line,operator:0
|
||||
@@ -3080,7 +3155,7 @@ msgstr "Создать"
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
msgid "Mail TO"
|
||||
msgstr ""
|
||||
msgstr "Кому"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
@@ -3141,11 +3216,13 @@ msgid ""
|
||||
"Deadline Date is automatically computed from Start "
|
||||
"Date + Duration"
|
||||
msgstr ""
|
||||
"Последний срок автоматически вычисляются как \"Дата начала\" + "
|
||||
"\"Длительность\""
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead,state_id:0
|
||||
msgid "Fed. State"
|
||||
msgstr "Область"
|
||||
msgstr "Штат"
|
||||
|
||||
#. module: crm
|
||||
#: model:process.transition,note:crm.process_transition_leadopportunity0
|
||||
@@ -3208,7 +3285,7 @@ msgstr " Месяц-1 "
|
||||
#. module: crm
|
||||
#: help:crm.installer,sale_crm:0
|
||||
msgid "This module relates sale from opportunity cases in the CRM."
|
||||
msgstr ""
|
||||
msgstr "Этот модуль связывает продажи с возможными вопросами в модуле CRM."
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.meeting,rrule_type:0
|
||||
@@ -3246,7 +3323,7 @@ msgstr "Изображение"
|
||||
#. module: crm
|
||||
#: view:base.action.rule:0
|
||||
msgid "Condition on Communication History"
|
||||
msgstr ""
|
||||
msgstr "Условие на историю общения"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.segmentation,som_interval:0
|
||||
@@ -3259,6 +3336,13 @@ msgid ""
|
||||
"bought goods to another supplier. \n"
|
||||
"Use this functionality for recurring businesses."
|
||||
msgstr ""
|
||||
"Период - среднее количество дней между двумя циклами продаж или покупок для "
|
||||
"этой сегментации. \n"
|
||||
"Это, главным образом, используется для обнаружения слишком длительного "
|
||||
"периода за который партнер ничего не покупал, \n"
|
||||
"поэтому мы предполагаем, что его мнение ухудшилось, потому что он, вероятно, "
|
||||
"купил товар у другого поставщика. \n"
|
||||
"Используйте эту функцию для постоянных клиентов."
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.send.mail:0
|
||||
@@ -3332,7 +3416,7 @@ msgstr "Открыто"
|
||||
#: view:crm.case.section:0
|
||||
#: field:crm.case.section,member_ids:0
|
||||
msgid "Team Members"
|
||||
msgstr ""
|
||||
msgstr "Сотрудники отдела"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
@@ -3516,6 +3600,9 @@ msgid ""
|
||||
"them to easily track how is positioned a specific opportunity in the sales "
|
||||
"cycle."
|
||||
msgstr ""
|
||||
"Добавление специальных этапов, которые будут помогать лучше организовывать "
|
||||
"процесс продаж. Этапы позволяют легче отслеживать положение сделок в "
|
||||
"процессе продаж."
|
||||
|
||||
#. module: crm
|
||||
#: model:process.process,name:crm.process_process_contractprocess0
|
||||
@@ -4037,6 +4124,9 @@ msgstr "Рассылка"
|
||||
#~ msgid "Open cases"
|
||||
#~ msgstr "Открытые вопросы"
|
||||
|
||||
#~ msgid "My cases"
|
||||
#~ msgstr "Мои вопросы"
|
||||
|
||||
#~ msgid "Cases Histories"
|
||||
#~ msgstr "Истории вопросов"
|
||||
|
||||
@@ -4087,6 +4177,9 @@ msgstr "Рассылка"
|
||||
#~ msgid "Maximim Priority"
|
||||
#~ msgstr "Максимальный приоритет"
|
||||
|
||||
#~ msgid "All Unclosed and Unassigned "
|
||||
#~ msgstr "Все незакрытые и неназначенные "
|
||||
|
||||
#~ msgid "Your action"
|
||||
#~ msgstr "Ваши действия"
|
||||
|
||||
@@ -5155,3 +5248,24 @@ msgstr "Рассылка"
|
||||
|
||||
#~ msgid "Case Meeting"
|
||||
#~ msgstr "Встреча по вопросу"
|
||||
|
||||
#~ msgid "New Form"
|
||||
#~ msgstr "Новая форма"
|
||||
|
||||
#~ msgid "All Draft "
|
||||
#~ msgstr "Все черновики "
|
||||
|
||||
#~ msgid "New "
|
||||
#~ msgstr "Новый "
|
||||
|
||||
#~ msgid "Don't Create"
|
||||
#~ msgstr "Не создавать"
|
||||
|
||||
#~ msgid "My Unclosed "
|
||||
#~ msgstr "Мои незакрытые "
|
||||
|
||||
#~ msgid "My Late "
|
||||
#~ msgstr "Мои просроченные "
|
||||
|
||||
#~ msgid "Tree View"
|
||||
#~ msgstr "В виде дерева"
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
|
||||
"PO-Revision-Date: 2011-02-23 12:39+0000\n"
|
||||
"PO-Revision-Date: 2011-03-14 19:21+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: 2011-02-25 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 12351)\n"
|
||||
"X-Launchpad-Export-Date: 2011-03-15 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.forward.to.partner,name:0
|
||||
@@ -190,6 +190,8 @@ msgid ""
|
||||
"These addresses will receive a copy of this email. To modify the permanent "
|
||||
"CC list, edit the global CC field of this case"
|
||||
msgstr ""
|
||||
"Эти адреса будут получать копию этого письма. Для изменения постоянного "
|
||||
"списка рассылки копий измените поле 'Глобальная копия' этого вопроса."
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.forward.to.partner,email_from:0
|
||||
@@ -584,7 +586,7 @@ msgstr "Текущий"
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.forward.to.partner,email_to:0
|
||||
msgid "To"
|
||||
msgstr ""
|
||||
msgstr "Кому"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: model:ir.model,name:crm_partner_assign.model_crm_lead_forward_to_partner
|
||||
@@ -666,12 +668,12 @@ msgstr "crm.lead"
|
||||
#. module: crm_partner_assign
|
||||
#: model:ir.model,name:crm_partner_assign.model_crm_lead_report_assign
|
||||
msgid "CRM Lead Report"
|
||||
msgstr ""
|
||||
msgstr "Отчет по кандидатам в CRM"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: selection:crm.lead.forward.to.partner,history:0
|
||||
msgid "Case Information"
|
||||
msgstr ""
|
||||
msgstr "Информация о вопросе"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:res.partner.grade,sequence:0
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
|
||||
"PO-Revision-Date: 2010-10-16 10:39+0000\n"
|
||||
"Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.com>\n"
|
||||
"PO-Revision-Date: 2011-03-14 18:48+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: 2011-01-15 05:51+0000\n"
|
||||
"X-Generator: Launchpad (build 12177)\n"
|
||||
"X-Launchpad-Export-Date: 2011-03-15 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
|
||||
#. module: decimal_precision
|
||||
#: field:decimal.precision,digits:0
|
||||
@@ -58,6 +58,7 @@ msgstr "Использование"
|
||||
#: sql_constraint:decimal.precision:0
|
||||
msgid "Only one value can be defined for each given usage!"
|
||||
msgstr ""
|
||||
"Только одно значение может быть определено для каждого использования!"
|
||||
|
||||
#. module: decimal_precision
|
||||
#: model:ir.module.module,shortdesc:decimal_precision.module_meta_information
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
|
||||
"PO-Revision-Date: 2011-03-07 13:37+0000\n"
|
||||
"PO-Revision-Date: 2011-03-14 18:56+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: 2011-03-08 04:47+0000\n"
|
||||
"X-Generator: Launchpad (build 12351)\n"
|
||||
"X-Launchpad-Export-Date: 2011-03-15 04:54+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
|
||||
#. module: delivery
|
||||
#: report:sale.shipping:0
|
||||
@@ -118,6 +118,10 @@ msgid ""
|
||||
"can define several price lists for one delivery method, per country or a "
|
||||
"zone in a specific country defined by a postal code range."
|
||||
msgstr ""
|
||||
"Прайс лист на доставку позволяет вычислить стоимость и продажную цену "
|
||||
"доставки в зависимости от веса продукции и других критериев. Вы можете "
|
||||
"задать несколько прайс листов на один способ доставки, по странам или зонам "
|
||||
"в конкретной стране, определяемым по диапазонам почтовых индексов ."
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.grid.line,price_type:0
|
||||
@@ -187,7 +191,7 @@ msgstr "Оператор"
|
||||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_res_partner
|
||||
msgid "Partner"
|
||||
msgstr "Партнёр"
|
||||
msgstr "Контрагент"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_sale_order
|
||||
@@ -282,6 +286,8 @@ msgid ""
|
||||
"If the active field is set to False, it will allow you to hide the delivery "
|
||||
"carrier without removing it."
|
||||
msgstr ""
|
||||
"Если поле \"Активно\" имеет значение ложь, то это позволит вам скрыть "
|
||||
"перевозчика, не удаляя его."
|
||||
|
||||
#. module: delivery
|
||||
#: code:addons/delivery/wizard/delivery_sale_order.py:95
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,306 @@
|
||||
# Bulgarian translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
|
||||
"PO-Revision-Date: 2011-03-14 16:36+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Bulgarian <bg@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: 2011-03-15 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
|
||||
#. module: fetchmail
|
||||
#: constraint:email.server:0
|
||||
msgid ""
|
||||
"Warning! Record for selected Model can not be created\n"
|
||||
"Please choose valid Model"
|
||||
msgstr ""
|
||||
"Внимание! Запис за избрания модел не може да бъде създаден\n"
|
||||
"Моля, изберете валиден модел."
|
||||
|
||||
#. module: fetchmail
|
||||
#: selection:email.server,state:0
|
||||
msgid "Confirmed"
|
||||
msgstr "Потвърден"
|
||||
|
||||
#. module: fetchmail
|
||||
#: view:email.server:0
|
||||
msgid "Confirm"
|
||||
msgstr "Потвърди"
|
||||
|
||||
#. module: fetchmail
|
||||
#: view:email.server:0
|
||||
msgid "Group By..."
|
||||
msgstr "Групиране по..."
|
||||
|
||||
#. module: fetchmail
|
||||
#: view:email.server:0
|
||||
#: field:email.server,state:0
|
||||
msgid "State"
|
||||
msgstr "Състояние"
|
||||
|
||||
#. module: fetchmail
|
||||
#: view:email.server:0
|
||||
msgid "POP"
|
||||
msgstr "POP"
|
||||
|
||||
#. module: fetchmail
|
||||
#: selection:email.server,state:0
|
||||
msgid "Not Confirmed"
|
||||
msgstr "Не потвърден"
|
||||
|
||||
#. module: fetchmail
|
||||
#: field:email.server,user:0
|
||||
msgid "User Name"
|
||||
msgstr "Име на потребител"
|
||||
|
||||
#. module: fetchmail
|
||||
#: view:email.server:0
|
||||
msgid "Type"
|
||||
msgstr "Тип"
|
||||
|
||||
#. module: fetchmail
|
||||
#: view:email.server:0
|
||||
msgid "POP/IMAP Servers"
|
||||
msgstr "POP/IMAP Сървъри"
|
||||
|
||||
#. module: fetchmail
|
||||
#: model:ir.module.module,shortdesc:fetchmail.module_meta_information
|
||||
msgid "Fetchmail Server"
|
||||
msgstr ""
|
||||
|
||||
#. module: fetchmail
|
||||
#: view:email.server:0
|
||||
#: field:email.server,note:0
|
||||
msgid "Description"
|
||||
msgstr "Описание"
|
||||
|
||||
#. module: fetchmail
|
||||
#: help:email.server,object_id:0
|
||||
msgid ""
|
||||
"OpenObject Model. Generates a record of this model.\n"
|
||||
"Select Object with message_new attrbutes."
|
||||
msgstr ""
|
||||
|
||||
#. module: fetchmail
|
||||
#: field:email.server,attach:0
|
||||
msgid "Add Attachments ?"
|
||||
msgstr "Добавете прикрепен файл"
|
||||
|
||||
#. module: fetchmail
|
||||
#: view:email.server:0
|
||||
msgid "# of emails"
|
||||
msgstr "# имейли"
|
||||
|
||||
#. module: fetchmail
|
||||
#: model:ir.actions.act_window,name:fetchmail.act_server_history
|
||||
msgid "Email History"
|
||||
msgstr ""
|
||||
|
||||
#. module: fetchmail
|
||||
#: field:email.server,user_id:0
|
||||
msgid "User"
|
||||
msgstr "Потребител"
|
||||
|
||||
#. module: fetchmail
|
||||
#: field:email.server,date:0
|
||||
msgid "Date"
|
||||
msgstr "Дата"
|
||||
|
||||
#. module: fetchmail
|
||||
#: selection:email.server,state:0
|
||||
msgid "Waiting for Verification"
|
||||
msgstr ""
|
||||
|
||||
#. module: fetchmail
|
||||
#: field:email.server,password:0
|
||||
msgid "Password"
|
||||
msgstr "Парола"
|
||||
|
||||
#. module: fetchmail
|
||||
#: view:mailgate.message:0
|
||||
msgid "Emails"
|
||||
msgstr "Имейли"
|
||||
|
||||
#. module: fetchmail
|
||||
#: view:email.server:0
|
||||
msgid "Search Email Servers"
|
||||
msgstr "Търсене на мейл сървъри"
|
||||
|
||||
#. module: fetchmail
|
||||
#: view:email.server:0
|
||||
msgid "Server & Login"
|
||||
msgstr "Сървъри и вход"
|
||||
|
||||
#. module: fetchmail
|
||||
#: view:email.server:0
|
||||
msgid "Auto Reply?"
|
||||
msgstr "Автоматичен отговор?"
|
||||
|
||||
#. module: fetchmail
|
||||
#: field:email.server,name:0
|
||||
msgid "Name"
|
||||
msgstr "Име"
|
||||
|
||||
#. module: fetchmail
|
||||
#: model:ir.model,name:fetchmail.model_mailgate_message
|
||||
msgid "Mailgateway Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: fetchmail
|
||||
#: model:ir.actions.act_window,name:fetchmail.action_email_server_tree
|
||||
msgid "POP Servers"
|
||||
msgstr "POP Сървъри"
|
||||
|
||||
#. module: fetchmail
|
||||
#: view:email.server:0
|
||||
msgid "Set to Draft"
|
||||
msgstr "Пращане в проект"
|
||||
|
||||
#. module: fetchmail
|
||||
#: field:email.server,message_ids:0
|
||||
#: model:ir.actions.act_window,name:fetchmail.action_view_mail_message_emails
|
||||
msgid "Messages"
|
||||
msgstr "Съобщения"
|
||||
|
||||
#. module: fetchmail
|
||||
#: model:ir.ui.menu,name:fetchmail.menu_action_fetchmail_server_tree
|
||||
msgid "Fetchmail Services"
|
||||
msgstr ""
|
||||
|
||||
#. module: fetchmail
|
||||
#: field:email.server,server:0
|
||||
msgid "Server"
|
||||
msgstr "Сървър"
|
||||
|
||||
#. module: fetchmail
|
||||
#: field:email.server,active:0
|
||||
msgid "Active"
|
||||
msgstr "Активен"
|
||||
|
||||
#. module: fetchmail
|
||||
#: view:email.server:0
|
||||
msgid "Process Parameter"
|
||||
msgstr ""
|
||||
|
||||
#. module: fetchmail
|
||||
#: field:email.server,is_ssl:0
|
||||
msgid "SSL ?"
|
||||
msgstr "SSL ?"
|
||||
|
||||
#. module: fetchmail
|
||||
#: selection:email.server,type:0
|
||||
#: selection:mailgate.message,server_type:0
|
||||
msgid "IMAP Server"
|
||||
msgstr "IMAP Сървър"
|
||||
|
||||
#. module: fetchmail
|
||||
#: field:email.server,object_id:0
|
||||
msgid "Model"
|
||||
msgstr "Модел"
|
||||
|
||||
#. module: fetchmail
|
||||
#: view:email.server:0
|
||||
msgid "IMAP"
|
||||
msgstr "IMAP"
|
||||
|
||||
#. module: fetchmail
|
||||
#: view:email.server:0
|
||||
#: model:ir.model,name:fetchmail.model_email_server
|
||||
msgid "POP/IMAP Server"
|
||||
msgstr "POP/IMAP Сървър"
|
||||
|
||||
#. module: fetchmail
|
||||
#: constraint:email.server:0
|
||||
msgid "Warning! Can't have duplicate server configuration!"
|
||||
msgstr "Внимание! Не може да се дублира конфигурация на сървър!"
|
||||
|
||||
#. module: fetchmail
|
||||
#: field:email.server,type:0
|
||||
#: field:mailgate.message,server_type:0
|
||||
msgid "Server Type"
|
||||
msgstr "Тип сървър"
|
||||
|
||||
#. module: fetchmail
|
||||
#: view:email.server:0
|
||||
msgid "Login Information"
|
||||
msgstr "Данни за вход"
|
||||
|
||||
#. module: fetchmail
|
||||
#: view:email.server:0
|
||||
msgid "Server Information"
|
||||
msgstr "Информация за сървър"
|
||||
|
||||
#. module: fetchmail
|
||||
#: help:email.server,attach:0
|
||||
msgid "Fetches mail with attachments if true."
|
||||
msgstr ""
|
||||
|
||||
#. module: fetchmail
|
||||
#: selection:email.server,type:0
|
||||
#: selection:mailgate.message,server_type:0
|
||||
msgid "POP Server"
|
||||
msgstr "POP Сървър"
|
||||
|
||||
#. module: fetchmail
|
||||
#: field:email.server,port:0
|
||||
msgid "Port"
|
||||
msgstr "Port"
|
||||
|
||||
#. module: fetchmail
|
||||
#: model:ir.module.module,description:fetchmail.module_meta_information
|
||||
msgid ""
|
||||
"Fetchmail: \n"
|
||||
" * Fetch email from Pop / IMAP server\n"
|
||||
" * Support SSL\n"
|
||||
" * Integrated with all Modules\n"
|
||||
" * Automatic Email Receive\n"
|
||||
" * Email based Records (Add, Update)\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: fetchmail
|
||||
#: view:email.server:0
|
||||
msgid "SSL"
|
||||
msgstr "SSL"
|
||||
|
||||
#. module: fetchmail
|
||||
#: help:email.server,action_id:0
|
||||
msgid ""
|
||||
"An Email Server Action. It will be run whenever an e-mail is fetched from "
|
||||
"server."
|
||||
msgstr ""
|
||||
|
||||
#. module: fetchmail
|
||||
#: help:email.server,priority:0
|
||||
msgid "Priority between 0 to 10, select define the order of Processing"
|
||||
msgstr "Приоритет от 0 до 10 изберете за да определите реда на обработка"
|
||||
|
||||
#. module: fetchmail
|
||||
#: field:email.server,action_id:0
|
||||
msgid "Email Server Action"
|
||||
msgstr ""
|
||||
|
||||
#. module: fetchmail
|
||||
#: field:email.server,priority:0
|
||||
msgid "Server Priority"
|
||||
msgstr "Приоритена на сървър"
|
||||
|
||||
#. module: fetchmail
|
||||
#: view:mailgate.message:0
|
||||
#: field:mailgate.message,server_id:0
|
||||
msgid "Mail Server"
|
||||
msgstr "Пощенски сървър"
|
||||
|
||||
#. module: fetchmail
|
||||
#: view:email.server:0
|
||||
msgid "Fetch Emails"
|
||||
msgstr ""
|
||||
@@ -106,18 +106,6 @@
|
||||
plan_id: 'hr_evaluation_plan_managersplan0'
|
||||
progress: 0.0
|
||||
state: draft
|
||||
-
|
||||
I create an Interview Request record
|
||||
-
|
||||
!record {model: hr.evaluation.interview, id: hr_evaluation_interview_0}:
|
||||
date_deadline: !eval time.strftime('%Y-%m-%d')
|
||||
evaluation_id: 'hr_evaluation_evaluation_0'
|
||||
survey_id: hr_evaluation.survey_0
|
||||
-
|
||||
I check that evaluation is in "Draft" state.
|
||||
-
|
||||
!assert {model: hr_evaluation.evaluation, id: hr_evaluation_evaluation_0}:
|
||||
- state == 'draft'
|
||||
-
|
||||
I start the evaluation process by click on "Start Evaluation" button.
|
||||
-
|
||||
@@ -127,8 +115,9 @@
|
||||
-
|
||||
I close this survey request by giving answer of survey question.
|
||||
-
|
||||
!python {model: hr.evaluation.interview}: |
|
||||
self.survey_req_done(cr, uid, [ref('hr_evaluation_interview_0')])
|
||||
!python {model: hr_evaluation.evaluation}: |
|
||||
evaluation = self.browse(cr, uid, ref('hr_evaluation_evaluation_0'))
|
||||
self.pool.get('hr.evaluation.interview').survey_req_done(cr, uid, [r.id for r in evaluation.survey_request_ids])
|
||||
-
|
||||
I click on "Final Validation" button to finalise evaluation.
|
||||
-
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
|
||||
"PO-Revision-Date: 2010-10-30 08:51+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2011-03-15 02:08+0000\n"
|
||||
"Last-Translator: Emerson <Unknown>\n"
|
||||
"Language-Team: Brazilian Portuguese <pt_BR@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: 2011-01-15 05:40+0000\n"
|
||||
"X-Generator: Launchpad (build 12177)\n"
|
||||
"X-Launchpad-Export-Date: 2011-03-15 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays.status,color_name:0
|
||||
@@ -72,7 +72,7 @@ msgstr ""
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays.status,color_name:0
|
||||
msgid "Brown"
|
||||
msgstr ""
|
||||
msgstr "Marrom"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: view:hr.holidays:0
|
||||
@@ -94,14 +94,14 @@ msgstr ""
|
||||
#. module: hr_holidays
|
||||
#: view:hr.holidays:0
|
||||
msgid "Set to Draft"
|
||||
msgstr ""
|
||||
msgstr "Definir como Provisório"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: model:ir.actions.act_window,name:hr_holidays.act_hr_employee_holiday_request
|
||||
#: model:ir.ui.menu,name:hr_holidays.menu_hr_reporting_holidays
|
||||
#: model:ir.ui.menu,name:hr_holidays.menu_open_ask_holidays
|
||||
msgid "Holidays"
|
||||
msgstr ""
|
||||
msgstr "Feriados"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays.status,color_name:0
|
||||
@@ -131,12 +131,12 @@ msgstr ""
|
||||
#: view:hr.holidays:0
|
||||
#: selection:hr.holidays,state:0
|
||||
msgid "Approved"
|
||||
msgstr ""
|
||||
msgstr "Aprovado"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: view:hr.holidays:0
|
||||
msgid "Refuse"
|
||||
msgstr ""
|
||||
msgstr "Recusar"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: code:addons/hr_holidays/hr_holidays.py:309
|
||||
@@ -238,7 +238,7 @@ msgstr ""
|
||||
#: selection:hr.holidays.summary.dept,holiday_type:0
|
||||
#: selection:hr.holidays.summary.employee,holiday_type:0
|
||||
msgid "Confirmed"
|
||||
msgstr ""
|
||||
msgstr "Confirmado"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: field:hr.holidays.summary.dept,date_from:0
|
||||
@@ -249,7 +249,7 @@ msgstr ""
|
||||
#. module: hr_holidays
|
||||
#: view:hr.holidays:0
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
msgstr "Confirmar"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: sql_constraint:hr.holidays:0
|
||||
@@ -314,7 +314,7 @@ msgstr ""
|
||||
#: field:hr.holidays,employee_id:0
|
||||
#: field:hr.holidays.remaining.leaves.user,name:0
|
||||
msgid "Employee"
|
||||
msgstr ""
|
||||
msgstr "Funcionário"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: view:hr.holidays:0
|
||||
@@ -339,7 +339,7 @@ msgstr ""
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays.status,color_name:0
|
||||
msgid "Wheat"
|
||||
msgstr ""
|
||||
msgstr "Bege"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: constraint:resource.calendar.leaves:0
|
||||
|
||||
@@ -77,7 +77,7 @@ class job2phonecall(osv.osv_memory):
|
||||
phonecall_case_obj = self.pool.get('crm.phonecall')
|
||||
if context is None:
|
||||
context = {}
|
||||
form = self.read(cr, uid, ids, [], context=context)[0]
|
||||
form = self.browse(cr, uid, ids, context=context)[0]
|
||||
result = mod_obj._get_id(cr, uid, 'crm', 'view_crm_case_phonecalls_filter')
|
||||
res = mod_obj.read(cr, uid, result, ['res_id'], context=context)
|
||||
# Select the view
|
||||
@@ -93,10 +93,10 @@ class job2phonecall(osv.osv_memory):
|
||||
#TODO: Take other info from job
|
||||
new_phonecall_id = phonecall_case_obj.create(cr, uid, {
|
||||
'name': job.name,
|
||||
'user_id': form['user_id'],
|
||||
'categ_id': form['category_id'],
|
||||
'description': form['note'],
|
||||
'date': form['deadline'],
|
||||
'user_id': form.user_id.id,
|
||||
'categ_id': form.category_id.id,
|
||||
'description': form.note,
|
||||
'date': form.deadline,
|
||||
'description': job.description,
|
||||
'partner_id': job.partner_id.id,
|
||||
'partner_address_id': job.partner_address_id.id,
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: pt_BR\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
|
||||
"PO-Revision-Date: 2011-02-10 00:27+0000\n"
|
||||
"Last-Translator: Joe Pimentel <joe.b.pimentel@gmail.com>\n"
|
||||
"PO-Revision-Date: 2011-03-15 00:54+0000\n"
|
||||
"Last-Translator: Emerson <Unknown>\n"
|
||||
"Language-Team: <pt@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: 2011-02-11 04:59+0000\n"
|
||||
"X-Generator: Launchpad (build 12177)\n"
|
||||
"X-Launchpad-Export-Date: 2011-03-15 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:product.template,name:hr_timesheet.product_consultant_product_template
|
||||
@@ -165,7 +165,7 @@ msgstr "Aviso !"
|
||||
#: code:addons/hr_timesheet/wizard/hr_timesheet_sign_in_out.py:132
|
||||
#, python-format
|
||||
msgid "UserError"
|
||||
msgstr ""
|
||||
msgstr "Erro de Usuário"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/wizard/hr_timesheet_sign_in_out.py:77
|
||||
@@ -183,13 +183,13 @@ msgstr "Ter"
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.sign.out.project,account_id:0
|
||||
msgid "Analytic Account"
|
||||
msgstr "Centro de Custo"
|
||||
msgstr "Conta Analítica"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/wizard/hr_timesheet_print_employee.py:42
|
||||
#, python-format
|
||||
msgid "Warning"
|
||||
msgstr "Alerta"
|
||||
msgstr "Atenção"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.module.module,shortdesc:hr_timesheet.module_meta_information
|
||||
@@ -225,7 +225,7 @@ msgstr "Imprimir"
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytic.timesheet:0
|
||||
msgid "Timesheet Lines"
|
||||
msgstr ""
|
||||
msgstr "Linhas do Apontamento de Horas"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: selection:hr.analytical.timesheet.employee,month:0
|
||||
@@ -313,7 +313,7 @@ msgstr "Setembro"
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.model,name:hr_timesheet.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr ""
|
||||
msgstr "Linha de Apontamento de Horas"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.analytical.timesheet.users,employee_ids:0
|
||||
@@ -345,7 +345,7 @@ msgstr "Para ser faturado"
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.actions.report.xml,name:hr_timesheet.report_user_timesheet
|
||||
msgid "Employee timesheet"
|
||||
msgstr ""
|
||||
msgstr "Apontamento de horas do Funcionário"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.actions.act_window,name:hr_timesheet.action_hr_timesheet_sign_in
|
||||
@@ -381,7 +381,7 @@ msgstr ""
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.employee:0
|
||||
msgid "Timesheets"
|
||||
msgstr ""
|
||||
msgstr "Apontamento de horas"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: help:hr.employee,product_id:0
|
||||
@@ -598,7 +598,7 @@ msgstr "(horário local do servidor)"
|
||||
#: model:ir.actions.act_window,name:hr_timesheet.act_hr_timesheet_line_evry1_all_form
|
||||
#: model:ir.ui.menu,name:hr_timesheet.menu_hr_working_hours
|
||||
msgid "Working Hours"
|
||||
msgstr ""
|
||||
msgstr "Horas Trabalhadas"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.model,name:hr_timesheet.model_hr_sign_in_project
|
||||
@@ -615,7 +615,7 @@ msgstr "Fevereiro"
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.analytic.timesheet,line_id:0
|
||||
msgid "Analytic line"
|
||||
msgstr ""
|
||||
msgstr "Linha analítica"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.model,name:hr_timesheet.model_hr_sign_out_project
|
||||
|
||||
@@ -31,7 +31,7 @@ class analytical_timesheet_employee(osv.osv_memory):
|
||||
'Month', required=True),
|
||||
'year': fields.integer('Year', required=True),
|
||||
'employee_id': fields.many2one('hr.employee', 'Employee', required=True)
|
||||
|
||||
|
||||
}
|
||||
|
||||
def _get_user(self, cr, uid, context=None):
|
||||
@@ -50,6 +50,7 @@ class analytical_timesheet_employee(osv.osv_memory):
|
||||
|
||||
def print_report(self, cr, uid, ids, context=None):
|
||||
data = self.read(cr, uid, ids, context=context)[0]
|
||||
data['employee_id'] = data['employee_id'][0]
|
||||
datas = {
|
||||
'ids': [],
|
||||
'model': 'hr.employee',
|
||||
|
||||
@@ -58,7 +58,9 @@ class final_invoice_create(osv.osv_memory):
|
||||
result = mod_obj._get_id(cr, uid, 'account', 'view_account_invoice_filter')
|
||||
res = mod_obj.read(cr, uid, result, ['res_id'], context=context)
|
||||
|
||||
data = self.read(cr, uid, ids, [], context=context)[0]
|
||||
data = self.browse(cr, uid, ids, context=context)[0]
|
||||
balance_product = data.balance_product.id
|
||||
|
||||
account_ids = 'active_ids' in context and context['active_ids'] or []
|
||||
|
||||
for account in analytic_account_obj.browse(cr, uid, account_ids, context=context):
|
||||
@@ -143,9 +145,9 @@ class final_invoice_create(osv.osv_memory):
|
||||
}
|
||||
invoice_line_obj.create(cr, uid, curr_line, context=context)
|
||||
|
||||
if not data['balance_product']:
|
||||
if not balance_product:
|
||||
raise osv.except_osv(_('Balance product needed'), _('Please fill a Balance product in the wizard'))
|
||||
product = product_obj.browse(cr, uid, data['balance_product'], context2)
|
||||
product = product_obj.browse(cr, uid, balance_product, context=context2)
|
||||
taxes = product.taxes_id
|
||||
tax = fiscal_pos_obj.map_tax(cr, uid, account.partner_id.property_account_position, taxes)
|
||||
account_id = product.product_tmpl_id.property_account_income.id or product.categ_id.property_account_income_categ.id
|
||||
@@ -180,4 +182,4 @@ class final_invoice_create(osv.osv_memory):
|
||||
|
||||
final_invoice_create()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -120,13 +120,13 @@ class hr_timesheet_invoice_create(osv.osv_memory):
|
||||
raise osv.except_osv(_('Error'), _('At least one line has no product !'))
|
||||
factor_name = ''
|
||||
factor = invoice_factor_obj.browse(cr, uid, factor_id, context2)
|
||||
|
||||
if not data['product']:
|
||||
if factor.customer_name:
|
||||
factor_name = product.name+' - '+factor.customer_name
|
||||
else:
|
||||
factor_name = product.name
|
||||
else:
|
||||
data['product'] = data['product'][0]
|
||||
factor_name = product_obj.name_get(cr, uid, [data['product']], context=context)[0][1]
|
||||
|
||||
if account.pricelist_id:
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2010-12-10 17:15+0000\n"
|
||||
"PO-Revision-Date: 2011-03-12 22:49+0000\n"
|
||||
"PO-Revision-Date: 2011-03-15 00:06+0000\n"
|
||||
"Last-Translator: Emerson <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: 2011-03-13 04:50+0000\n"
|
||||
"X-Launchpad-Export-Date: 2011-03-15 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
|
||||
#. module: l10n_ch
|
||||
@@ -216,7 +216,7 @@ msgstr "BVR account number"
|
||||
#: code:addons/l10n_ch/wizard/bvr_import.py:0
|
||||
#, python-format
|
||||
msgid "Number record different from the computed!"
|
||||
msgstr ""
|
||||
msgstr "Number record different from the computed!"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: field:res.bank,clearing:0
|
||||
@@ -502,7 +502,7 @@ msgstr "Journal Items"
|
||||
#. module: l10n_ch
|
||||
#: constraint:account.move.line:0
|
||||
msgid "Company must be same for its related account and period."
|
||||
msgstr ""
|
||||
msgstr "Company must be same for its related account and period."
|
||||
|
||||
#. module: l10n_ch
|
||||
#: code:addons/l10n_ch/wizard/create_dta.py:0
|
||||
@@ -512,51 +512,54 @@ msgid ""
|
||||
"for the bank account: %s\n"
|
||||
"' + 'on line: %s"
|
||||
msgstr ""
|
||||
"No IBAN defined \n"
|
||||
"for the bank account: %s\n"
|
||||
"' + 'on line: %s"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:account.account.type,name:l10n_ch.account_type_non_ope_asset
|
||||
msgid "Bilan : Actifs hors exploitation"
|
||||
msgstr ""
|
||||
msgstr "Bilan : Actifs hors exploitation"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:res.partner.title,shortcut:l10n_ch.res_c_partner_title_mlle
|
||||
#: model:res.partner.title,shortcut:l10n_ch.res_partner_title_mlle
|
||||
msgid "Mlle"
|
||||
msgstr ""
|
||||
msgstr "Mlle"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:res.partner.bank.type,name:l10n_ch.bank_dta
|
||||
msgid "Ordering party DTA"
|
||||
msgstr ""
|
||||
msgstr "Ordering party DTA"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:ir.model,name:l10n_ch.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr ""
|
||||
msgstr "Companies"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:res.partner.title,name:l10n_ch.res_c_partner_title_madame
|
||||
#: model:res.partner.title,name:l10n_ch.res_partner_title_madame
|
||||
msgid "Madame"
|
||||
msgstr ""
|
||||
msgstr "Madame"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:res.partner.bank.type,name:l10n_ch.bvpost
|
||||
msgid "DTA-BVPOST"
|
||||
msgstr ""
|
||||
msgstr "DTA-BVPOST"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: code:addons/l10n_ch/wizard/bvr_import.py:0
|
||||
#: code:addons/l10n_ch/wizard/create_dta.py:0
|
||||
#, python-format
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
msgstr "Error"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:res.partner.title,name:l10n_ch.res_c_partner_title_societe
|
||||
#: model:res.partner.title,name:l10n_ch.res_partner_title_societe
|
||||
msgid "Société"
|
||||
msgstr ""
|
||||
msgstr "Société"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: code:addons/l10n_ch/wizard/bvr_report.py:0
|
||||
@@ -566,48 +569,51 @@ msgid ""
|
||||
"Please check your company information for the invoice:\n"
|
||||
"%s"
|
||||
msgstr ""
|
||||
"Your bank BVR number should be of the form 0X-XXX-X!\n"
|
||||
"Please check your company information for the invoice:\n"
|
||||
"%s"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: field:res.partner.bank,dta_code:0
|
||||
msgid "DTA code"
|
||||
msgstr ""
|
||||
msgstr "DTA code"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:res.partner.title,name:l10n_ch.res_c_partner_title_mlle
|
||||
#: model:res.partner.title,name:l10n_ch.res_partner_title_mlle
|
||||
msgid "Mademoiselle"
|
||||
msgstr ""
|
||||
msgstr "Mademoiselle"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:ir.module.module,shortdesc:l10n_ch.module_meta_information
|
||||
msgid "Switzerland localisation corrected by Camptocamp"
|
||||
msgstr ""
|
||||
msgstr "Switzerland localisation corrected by Camptocamp"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:ir.model,name:l10n_ch.model_res_partner_bank
|
||||
msgid "Bank Accounts"
|
||||
msgstr ""
|
||||
msgstr "Bank Accounts"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: view:create.dta.wizard:0
|
||||
#: model:ir.actions.act_window,name:l10n_ch.action_dta_create
|
||||
msgid "Create DTA"
|
||||
msgstr ""
|
||||
msgstr "Create DTA"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: field:res.partner.bank,post_number:0
|
||||
msgid "Post number"
|
||||
msgstr ""
|
||||
msgstr "Post number"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: field:create.dta.wizard,dta_file:0
|
||||
msgid "DTA File"
|
||||
msgstr ""
|
||||
msgstr "DTA File"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:ir.model,name:l10n_ch.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr ""
|
||||
msgstr "Invoice"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: view:bvr.import.wizard:0
|
||||
@@ -615,32 +621,32 @@ msgstr ""
|
||||
#: view:bvr.report:0
|
||||
#: view:create.dta.wizard:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Cancel"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:account.account.type,name:l10n_ch.account_type_inventory
|
||||
msgid "Bilan : Stocks"
|
||||
msgstr ""
|
||||
msgstr "Bilan : Stocks"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:account.account.type,name:l10n_ch.account_type_personnal_exp
|
||||
msgid "PP : Charge de personnel"
|
||||
msgstr ""
|
||||
msgstr "PP : Charge de personnel"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:res.partner.bank.type.field,name:l10n_ch.post_field_bvpost
|
||||
msgid "post_number"
|
||||
msgstr ""
|
||||
msgstr "post_number"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:ir.model,name:l10n_ch.model_payment_order
|
||||
msgid "Payment Order"
|
||||
msgstr ""
|
||||
msgstr "Payment Order"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:account.account.type,name:l10n_ch.account_type_report_result
|
||||
msgid "Bilan : Resultat reporte"
|
||||
msgstr ""
|
||||
msgstr "Bilan : Resultat reporte"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: code:addons/l10n_ch/wizard/create_dta.py:0
|
||||
@@ -651,17 +657,21 @@ msgid ""
|
||||
"on the partner: %s\n"
|
||||
"on line: %s"
|
||||
msgstr ""
|
||||
"No bank defined\n"
|
||||
"for the bank account: %s\n"
|
||||
"on the partner: %s\n"
|
||||
"on line: %s"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: code:addons/l10n_ch/wizard/bvr_import.py:0
|
||||
#, python-format
|
||||
msgid "Too much total record found!"
|
||||
msgstr ""
|
||||
msgstr "Too much total record found!"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:ir.model,name:l10n_ch.model_create_dta_wizard
|
||||
msgid "create.dta.wizard"
|
||||
msgstr ""
|
||||
msgstr "create.dta.wizard"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: code:addons/l10n_ch/wizard/create_dta.py:0
|
||||
@@ -671,38 +681,41 @@ msgid ""
|
||||
"for the partner bank: %s\n"
|
||||
"on line %s"
|
||||
msgstr ""
|
||||
"You must provide a Clearing Number\n"
|
||||
"for the partner bank: %s\n"
|
||||
"on line %s"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: field:res.partner.bank,print_account:0
|
||||
msgid "Print Account Number on BVR"
|
||||
msgstr ""
|
||||
msgstr "Print Account Number on BVR"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:ir.model,name:l10n_ch.model_res_bank
|
||||
msgid "Bank"
|
||||
msgstr ""
|
||||
msgstr "Bank"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:res.partner.title,shortcut:l10n_ch.res_c_partner_title_mme_m
|
||||
#: model:res.partner.title,shortcut:l10n_ch.res_partner_title_mme_m
|
||||
msgid "Mme,m"
|
||||
msgstr ""
|
||||
msgstr "Mme,m"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:res.partner.bank.type,name:l10n_ch.bvrbank
|
||||
msgid "DTA-BVRBANK"
|
||||
msgstr ""
|
||||
msgstr "DTA-BVRBANK"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: field:bvr.invoices.report,name:0
|
||||
#: field:bvr.report,name:0
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
msgstr "Name"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:account.account.type,name:l10n_ch.account_type_consolidation
|
||||
msgid "Autre : Consolidation"
|
||||
msgstr ""
|
||||
msgstr "Autre : Consolidation"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: code:addons/l10n_ch/wizard/create_dta.py:0
|
||||
@@ -711,37 +724,39 @@ msgid ""
|
||||
"You must provide a valid BVR reference number \n"
|
||||
"for the line: %s"
|
||||
msgstr ""
|
||||
"You must provide a valid BVR reference number \n"
|
||||
"for the line: %s"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: view:bvr.invoices.report:0
|
||||
msgid "Print BVR Invoice Report"
|
||||
msgstr ""
|
||||
msgstr "Print BVR Invoice Report"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:res.partner.title,shortcut:l10n_ch.res_c_partner_title_societe
|
||||
#: model:res.partner.title,shortcut:l10n_ch.res_partner_title_societe
|
||||
msgid "sc"
|
||||
msgstr ""
|
||||
msgstr "sc"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:account.account.type,name:l10n_ch.account_type_income
|
||||
msgid "PP : Chiffre d'affaires"
|
||||
msgstr ""
|
||||
msgstr "PP : Chiffre d'affaires"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: help:res.company,bvr_delta_vert:0
|
||||
msgid "vert. delta in mm 1.2 will print the bvz 1.2mm lefter"
|
||||
msgstr ""
|
||||
msgstr "vert. delta in mm 1.2 will print the bvz 1.2mm lefter"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:account.account.type,name:l10n_ch.account_type_non_ope_result
|
||||
msgid "PP : Resultat activites annexes"
|
||||
msgstr ""
|
||||
msgstr "PP : Resultat activites annexes"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:res.partner.bank.type,name:l10n_ch.dta_iban
|
||||
msgid "DTA-IBAN"
|
||||
msgstr ""
|
||||
msgstr "DTA-IBAN"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:res.partner.bank.type.field,name:l10n_ch.acc_num_field_bvbank
|
||||
@@ -751,7 +766,7 @@ msgstr "acc_number"
|
||||
#. module: l10n_ch
|
||||
#: field:res.company,bvr_delta_vert:0
|
||||
msgid "BVR Vert. Delta (mm)"
|
||||
msgstr ""
|
||||
msgstr "BVR Vert. Delta (mm)"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:ir.actions.todo,note:l10n_ch.config_call_account_template_l10n_ch
|
||||
@@ -767,43 +782,53 @@ msgid ""
|
||||
"Accounting/Financial\n"
|
||||
" Accounts/Generate Chart of Accounts from a Chart Template."
|
||||
msgstr ""
|
||||
"Generate Chart of Accounts from a Chart Template. You will be asked\n"
|
||||
" to pass the name of the company, the chart template to "
|
||||
"follow, the no. of digits to\n"
|
||||
" generate the code for your accounts and Bank account, "
|
||||
"currency to create Journals.\n"
|
||||
" Thus,the pure copy of chart Template is generated. This is "
|
||||
"the same wizard that runs\n"
|
||||
" from Financial Management/Configuration/Financial "
|
||||
"Accounting/Financial\n"
|
||||
" Accounts/Generate Chart of Accounts from a Chart Template."
|
||||
|
||||
#. module: l10n_ch
|
||||
#: help:res.company,bvr_delta_horz:0
|
||||
msgid "horiz. delta in mm 1.2 will print the bvz 1.2mm lefter"
|
||||
msgstr ""
|
||||
msgstr "horiz. delta in mm 1.2 will print the bvz 1.2mm lefter"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:account.account.type,name:l10n_ch.account_type_building_asset
|
||||
msgid "Bilan : Immo corporelles immobilieres"
|
||||
msgstr ""
|
||||
msgstr "Bilan : Immo corporelles immobilieres"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:ir.model,name:l10n_ch.model_bvr_import_wizard
|
||||
msgid "bvr.import.wizard"
|
||||
msgstr ""
|
||||
msgstr "bvr.import.wizard"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:res.partner.bank.type.field,name:l10n_ch.bvr_num_field_bvrbank
|
||||
#: model:res.partner.bank.type.field,name:l10n_ch.bvr_num_field_bvrpost
|
||||
msgid "bvr_number"
|
||||
msgstr ""
|
||||
msgstr "bvr_number"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:res.partner.title,shortcut:l10n_ch.res_c_partner_title_sir
|
||||
#: model:res.partner.title,shortcut:l10n_ch.res_partner_title_sir
|
||||
msgid "M. "
|
||||
msgstr ""
|
||||
msgstr "M. "
|
||||
|
||||
#. module: l10n_ch
|
||||
#: model:account.account.type,name:l10n_ch.account_type_closing
|
||||
msgid "Autre : Cloture"
|
||||
msgstr ""
|
||||
msgstr "Autre : Cloture"
|
||||
|
||||
#. module: l10n_ch
|
||||
#: constraint:account.move.line:0
|
||||
msgid "You can not create move line on view account."
|
||||
msgstr ""
|
||||
msgstr "You can not create move line on view account."
|
||||
|
||||
#~ msgid "The VAT doesn't seem to be correct."
|
||||
#~ msgstr "O imposto não parece estar correto."
|
||||
|
||||
@@ -0,0 +1,540 @@
|
||||
# Brazilian Portuguese translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
|
||||
"PO-Revision-Date: 2011-03-15 01:10+0000\n"
|
||||
"Last-Translator: Emerson <Unknown>\n"
|
||||
"Language-Team: Brazilian Portuguese <pt_BR@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: 2011-03-15 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
|
||||
#. module: lunch
|
||||
#: wizard_view:lunch.cashbox.clean,init:0
|
||||
msgid "Reset cashbox"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.actions.act_window,name:lunch.action_lunch_order_form
|
||||
#: model:ir.ui.menu,name:lunch.menu_lunch_order_form
|
||||
#: model:ir.ui.menu,name:lunch.menu_lunch_reporting_order
|
||||
msgid "Lunch Orders"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: wizard_view:lunch.order.cancel,init:0
|
||||
msgid "Are you sure you want to cancel this order ?"
|
||||
msgstr "Tem certeza que deseja cancelar este pedido?"
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.ui.menu,name:lunch.menu_lunch_cashmove_form
|
||||
msgid "Cash Moves"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: view:lunch.cashmove:0
|
||||
#: view:lunch.order:0
|
||||
#: view:report.lunch.amount:0
|
||||
#: view:report.lunch.order:0
|
||||
msgid "Group By..."
|
||||
msgstr "Agrupar Por..."
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.model,name:lunch.model_lunch_order_confirm
|
||||
msgid "confirm Order"
|
||||
msgstr "confirmar o Pedido"
|
||||
|
||||
#. module: lunch
|
||||
#: view:report.lunch.order:0
|
||||
msgid " 7 Days "
|
||||
msgstr " 7 Dias "
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.module.module,description:lunch.module_meta_information
|
||||
msgid ""
|
||||
"\n"
|
||||
" The base module to manage lunch\n"
|
||||
"\n"
|
||||
" keep track for the Lunch Order ,Cash Moves ,CashBox ,Product.\n"
|
||||
" Apply Different Category for the product.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: view:lunch.cashmove:0
|
||||
#: view:lunch.order:0
|
||||
msgid "Today"
|
||||
msgstr "Hoje"
|
||||
|
||||
#. module: lunch
|
||||
#: selection:report.lunch.amount,month:0
|
||||
#: selection:report.lunch.order,month:0
|
||||
msgid "March"
|
||||
msgstr "Março"
|
||||
|
||||
#. module: lunch
|
||||
#: report:lunch.order:0
|
||||
msgid "Total :"
|
||||
msgstr "Total :"
|
||||
|
||||
#. module: lunch
|
||||
#: field:report.lunch.amount,day:0
|
||||
#: view:report.lunch.order:0
|
||||
#: field:report.lunch.order,day:0
|
||||
msgid "Day"
|
||||
msgstr "Dia"
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.actions.wizard,name:lunch.wizard_id_cancel
|
||||
#: wizard_view:lunch.order.cancel,init:0
|
||||
msgid "Cancel Order"
|
||||
msgstr "Cancelar Pedido"
|
||||
|
||||
#. module: lunch
|
||||
#: field:lunch.cashmove,amount:0
|
||||
#: field:report.lunch.amount,amount:0
|
||||
msgid "Amount"
|
||||
msgstr "Valor"
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.ui.menu,name:lunch.menu_lunch_product_form
|
||||
#: view:lunch.product:0
|
||||
msgid "Products"
|
||||
msgstr "Produtos"
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.model,name:lunch.model_report_lunch_amount
|
||||
msgid "Amount available by user and box"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: view:report.lunch.amount:0
|
||||
msgid " Month "
|
||||
msgstr " Mês "
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.model,name:lunch.model_report_lunch_order
|
||||
msgid "Lunch Orders Statistics"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.actions.act_window,name:lunch.action_lunch_cashmove_form
|
||||
#: view:lunch.cashmove:0
|
||||
#: field:lunch.order,cashmove:0
|
||||
msgid "CashMove"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: selection:lunch.order,state:0
|
||||
msgid "Confirmed"
|
||||
msgstr "Confirmado"
|
||||
|
||||
#. module: lunch
|
||||
#: view:lunch.order.confirm:0
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar"
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.module.module,shortdesc:lunch.module_meta_information
|
||||
msgid "Lunch Module"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: view:lunch.order:0
|
||||
msgid "Search Lunch Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: field:lunch.order,state:0
|
||||
msgid "State"
|
||||
msgstr "Status"
|
||||
|
||||
#. module: lunch
|
||||
#: field:report.lunch.order,price_total:0
|
||||
msgid "Total Price"
|
||||
msgstr "Preço Total"
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.ui.menu,name:lunch.menu_lunch_report_amount_tree
|
||||
#: view:report.lunch.amount:0
|
||||
msgid "Box Amount by User"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: field:lunch.cashmove,create_date:0
|
||||
msgid "Creation Date"
|
||||
msgstr "Data de Criação"
|
||||
|
||||
#. module: lunch
|
||||
#: report:lunch.order:0
|
||||
msgid "Name/Date"
|
||||
msgstr "Nome/Data"
|
||||
|
||||
#. module: lunch
|
||||
#: field:lunch.order,descript:0
|
||||
msgid "Description Order"
|
||||
msgstr "Descrição do Pedido"
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.actions.wizard,name:lunch.lunch_order_confirm
|
||||
#: wizard_button:lunch.order.confirm,init,go:0
|
||||
msgid "Confirm Order"
|
||||
msgstr "Confirmar Pedido"
|
||||
|
||||
#. module: lunch
|
||||
#: selection:report.lunch.amount,month:0
|
||||
#: selection:report.lunch.order,month:0
|
||||
msgid "July"
|
||||
msgstr "Julho"
|
||||
|
||||
#. module: lunch
|
||||
#: view:lunch.cashmove:0
|
||||
#: view:report.lunch.amount:0
|
||||
#: view:report.lunch.order:0
|
||||
msgid "Box"
|
||||
msgstr "Caixa"
|
||||
|
||||
#. module: lunch
|
||||
#: view:report.lunch.order:0
|
||||
msgid " 365 Days "
|
||||
msgstr " 365 dias "
|
||||
|
||||
#. module: lunch
|
||||
#: view:report.lunch.amount:0
|
||||
msgid " Month-1 "
|
||||
msgstr " Mês-1 "
|
||||
|
||||
#. module: lunch
|
||||
#: field:report.lunch.amount,date:0
|
||||
msgid "Created Date"
|
||||
msgstr "Data de Criação"
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.actions.act_window,name:lunch.action_lunch_category_form
|
||||
msgid " Product Categories "
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: wizard_button:lunch.cashbox.clean,init,zero:0
|
||||
msgid "Set to Zero"
|
||||
msgstr "Definir como Zero"
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.model,name:lunch.model_lunch_cashmove
|
||||
msgid "Cash Move"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: selection:report.lunch.amount,month:0
|
||||
#: selection:report.lunch.order,month:0
|
||||
msgid "April"
|
||||
msgstr "Abril"
|
||||
|
||||
#. module: lunch
|
||||
#: selection:report.lunch.amount,month:0
|
||||
#: selection:report.lunch.order,month:0
|
||||
msgid "September"
|
||||
msgstr "Setembro"
|
||||
|
||||
#. module: lunch
|
||||
#: selection:report.lunch.amount,month:0
|
||||
#: selection:report.lunch.order,month:0
|
||||
msgid "December"
|
||||
msgstr "Dezembro"
|
||||
|
||||
#. module: lunch
|
||||
#: field:report.lunch.amount,month:0
|
||||
#: view:report.lunch.order:0
|
||||
#: field:report.lunch.order,month:0
|
||||
msgid "Month"
|
||||
msgstr "Mês"
|
||||
|
||||
#. module: lunch
|
||||
#: wizard_field:lunch.order.confirm,init,confirm_cashbox:0
|
||||
msgid "Name of box"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: wizard_button:lunch.order.cancel,init,cancel:0
|
||||
msgid "Yes"
|
||||
msgstr "Sim"
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.model,name:lunch.model_lunch_category
|
||||
#: view:lunch.category:0
|
||||
#: field:lunch.product,category_id:0
|
||||
msgid "Category"
|
||||
msgstr "Categoria"
|
||||
|
||||
#. module: lunch
|
||||
#: view:report.lunch.amount:0
|
||||
msgid " Year "
|
||||
msgstr " Ano "
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.ui.menu,name:lunch.menu_lunch_category_form
|
||||
msgid "Product Categories"
|
||||
msgstr "Categorias de Produtos"
|
||||
|
||||
#. module: lunch
|
||||
#: wizard_button:lunch.order.cancel,init,end:0
|
||||
msgid "No"
|
||||
msgstr "Não"
|
||||
|
||||
#. module: lunch
|
||||
#: wizard_view:lunch.order.confirm,init:0
|
||||
msgid "Orders Confirmation"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: wizard_view:lunch.cashbox.clean,init:0
|
||||
msgid "Are you sure you want to reset this cashbox ?"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: selection:lunch.order,state:0
|
||||
msgid "Draft"
|
||||
msgstr "Provisório"
|
||||
|
||||
#. module: lunch
|
||||
#: selection:report.lunch.amount,month:0
|
||||
#: selection:report.lunch.order,month:0
|
||||
msgid "August"
|
||||
msgstr "Agosto"
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.actions.act_window,name:lunch.action_report_lunch_order_all
|
||||
#: view:report.lunch.order:0
|
||||
msgid "Lunch Order Analysis"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: selection:report.lunch.amount,month:0
|
||||
#: selection:report.lunch.order,month:0
|
||||
msgid "June"
|
||||
msgstr "Junho"
|
||||
|
||||
#. module: lunch
|
||||
#: field:lunch.cashmove,user_cashmove:0
|
||||
#: field:lunch.order,user_id:0
|
||||
#: field:report.lunch.amount,user_id:0
|
||||
msgid "User Name"
|
||||
msgstr "Nome do Usuário"
|
||||
|
||||
#. module: lunch
|
||||
#: view:report.lunch.order:0
|
||||
msgid "Sales Analysis"
|
||||
msgstr "Análise de Vendas"
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.ui.menu,name:lunch.menu_lunch
|
||||
msgid "Lunch"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: view:lunch.cashmove:0
|
||||
#: view:report.lunch.order:0
|
||||
msgid "User"
|
||||
msgstr "Usuário"
|
||||
|
||||
#. module: lunch
|
||||
#: field:lunch.order,date:0
|
||||
msgid "Date"
|
||||
msgstr "Data"
|
||||
|
||||
#. module: lunch
|
||||
#: selection:report.lunch.amount,month:0
|
||||
#: selection:report.lunch.order,month:0
|
||||
msgid "November"
|
||||
msgstr "Novembro"
|
||||
|
||||
#. module: lunch
|
||||
#: selection:report.lunch.amount,month:0
|
||||
#: selection:report.lunch.order,month:0
|
||||
msgid "October"
|
||||
msgstr "Outubro"
|
||||
|
||||
#. module: lunch
|
||||
#: selection:report.lunch.amount,month:0
|
||||
#: selection:report.lunch.order,month:0
|
||||
msgid "January"
|
||||
msgstr "Janeiro"
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.model,name:lunch.model_lunch_cashbox_clean
|
||||
msgid "clean cashbox"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: field:lunch.cashmove,active:0
|
||||
#: field:lunch.product,active:0
|
||||
msgid "Active"
|
||||
msgstr "Ativo"
|
||||
|
||||
#. module: lunch
|
||||
#: field:report.lunch.order,date:0
|
||||
msgid "Date Order"
|
||||
msgstr "Data do Pedido"
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.model,name:lunch.model_lunch_cashbox
|
||||
msgid "Cashbox for Lunch "
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.actions.wizard,name:lunch.wizard_clean_cashbox
|
||||
msgid "Set CashBox to Zero"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: field:lunch.cashmove,box:0
|
||||
#: field:report.lunch.amount,box:0
|
||||
msgid "Box Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: wizard_button:lunch.cashbox.clean,init,end:0
|
||||
#: wizard_button:lunch.order.confirm,init,end:0
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.actions.act_window,name:lunch.action_lunch_cashbox_form
|
||||
msgid " Cashboxes "
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: rml:lunch.order:0
|
||||
msgid "Unit Price"
|
||||
msgstr "Preço Unitário"
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.actions.act_window,name:lunch.action_lunch_product_form
|
||||
#: field:lunch.order,product:0
|
||||
msgid "Product"
|
||||
msgstr "Produto"
|
||||
|
||||
#. module: lunch
|
||||
#: rml:lunch.order:0
|
||||
#: field:lunch.product,description:0
|
||||
msgid "Description"
|
||||
msgstr "Descrição"
|
||||
|
||||
#. module: lunch
|
||||
#: selection:report.lunch.amount,month:0
|
||||
#: selection:report.lunch.order,month:0
|
||||
msgid "May"
|
||||
msgstr "Maio"
|
||||
|
||||
#. module: lunch
|
||||
#: field:lunch.order,price:0
|
||||
#: field:lunch.product,price:0
|
||||
msgid "Price"
|
||||
msgstr "Preço"
|
||||
|
||||
#. module: lunch
|
||||
#: view:lunch.cashmove:0
|
||||
msgid "Search CashMove"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: view:report.lunch.amount:0
|
||||
msgid "Total box"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.model,name:lunch.model_lunch_product
|
||||
msgid "Lunch Product"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: field:lunch.cashbox,sum_remain:0
|
||||
msgid "Total Remaining"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: view:lunch.order:0
|
||||
msgid "Total price"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: selection:report.lunch.amount,month:0
|
||||
#: selection:report.lunch.order,month:0
|
||||
msgid "February"
|
||||
msgstr "Fevereiro"
|
||||
|
||||
#. module: lunch
|
||||
#: field:lunch.cashbox,name:0
|
||||
#: field:lunch.cashmove,name:0
|
||||
#: field:lunch.category,name:0
|
||||
#: rml:lunch.order:0
|
||||
#: field:lunch.product,name:0
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#. module: lunch
|
||||
#: view:lunch.cashmove:0
|
||||
msgid "Total amount"
|
||||
msgstr "Valor total"
|
||||
|
||||
#. module: lunch
|
||||
#: view:lunch.category:0
|
||||
msgid "Category related to Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.ui.menu,name:lunch.menu_lunch_cashbox_form
|
||||
#: view:lunch.cashbox:0
|
||||
msgid "Cashboxes"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: view:lunch.category:0
|
||||
#: rml:lunch.order:0
|
||||
#: view:lunch.order:0
|
||||
msgid "Order"
|
||||
msgstr "Pedido"
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.actions.report.xml,name:lunch.report_lunch_order
|
||||
#: model:ir.model,name:lunch.model_lunch_order
|
||||
#: model:ir.ui.menu,name:lunch.menu_lunch
|
||||
#: report:lunch.order:0
|
||||
msgid "Lunch Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: model:ir.actions.act_window,name:lunch.action_report_lunch_amount_tree
|
||||
#: model:ir.ui.menu,name:lunch.menu_lunch_report_amount_tree
|
||||
msgid "Cash Position by User"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: field:lunch.cashbox,manager:0
|
||||
msgid "Manager"
|
||||
msgstr "Gerente"
|
||||
|
||||
#. module: lunch
|
||||
#: view:report.lunch.order:0
|
||||
msgid " 30 Days "
|
||||
msgstr " 30 Dias "
|
||||
|
||||
#. module: lunch
|
||||
#: view:lunch.order:0
|
||||
msgid "To Confirm"
|
||||
msgstr ""
|
||||
|
||||
#. module: lunch
|
||||
#: field:report.lunch.amount,year:0
|
||||
#: view:report.lunch.order:0
|
||||
#: field:report.lunch.order,year:0
|
||||
msgid "Year"
|
||||
msgstr ""
|
||||
@@ -46,8 +46,8 @@ class lunch_order_confirm(osv.osv_memory):
|
||||
data = context and context.get('active_ids', []) or []
|
||||
order_ref = self.pool.get('lunch.order')
|
||||
|
||||
for confirm_obj in self.read(cr, uid, ids):
|
||||
order_ref.confirm(cr, uid, data, confirm_obj['confirm_cashbox'], context)
|
||||
for confirm_obj in self.browse(cr, uid, ids, context=context):
|
||||
order_ref.confirm(cr, uid, data, confirm_obj.confirm_cashbox.id, context)
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
lunch_order_confirm()
|
||||
|
||||
@@ -70,10 +70,10 @@ class mrp_product_produce(osv.osv_memory):
|
||||
context = {}
|
||||
prod_obj = self.pool.get('mrp.production')
|
||||
move_ids = context.get('active_ids', [])
|
||||
for data in self.read(cr, uid, ids, context=context):
|
||||
for data in self.browse(cr, uid, ids, context=context):
|
||||
for move_id in move_ids:
|
||||
prod_obj.action_produce(cr, uid, move_id,
|
||||
data['product_qty'], data['mode'], context=context)
|
||||
data.product_qty, data.mode, context=context)
|
||||
return {}
|
||||
|
||||
mrp_product_produce()
|
||||
|
||||
@@ -1,129 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import osv, fields
|
||||
|
||||
class mrp_track_move(osv.osv_memory):
|
||||
_name = 'mrp.production.track'
|
||||
_description = 'Production Track'
|
||||
|
||||
def view_init(self, cr, uid, fields_list, context=None):
|
||||
""" Creates view dynamically and adding fields at runtime.
|
||||
@param self: The object pointer.
|
||||
@param cr: A database cursor
|
||||
@param uid: ID of the user currently logged in
|
||||
@param context: A standard dictionary
|
||||
@return: New arch of view with new columns.
|
||||
"""
|
||||
res = super(mrp_track_move, self).view_init(cr, uid, fields_list, context=context)
|
||||
record_id = context and context.get('active_id', False) or False
|
||||
if record_id:
|
||||
prod_obj = self.pool.get('mrp.production')
|
||||
try:
|
||||
prod = prod_obj.browse(cr, uid, record_id, context=context)
|
||||
for m in [line for line in prod.move_created_ids]:
|
||||
if 'track%s'%(m.id) not in self._columns:
|
||||
self._columns['track%s'%(m.id)] = fields.boolean(string=m.product_id.name)
|
||||
except:
|
||||
return res
|
||||
return res
|
||||
|
||||
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
|
||||
""" Changes the view dynamically
|
||||
@param self: The object pointer.
|
||||
@param cr: A database cursor
|
||||
@param uid: ID of the user currently logged in
|
||||
@param context: A standard dictionary
|
||||
@return: New arch of view.
|
||||
"""
|
||||
if context is None:
|
||||
context = {}
|
||||
res = super(mrp_track_move, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False)
|
||||
record_id = context and context.get('active_id', False) or False
|
||||
active_model = context.get('active_model')
|
||||
|
||||
if not record_id or (active_model and active_model != 'mrp.production'):
|
||||
return res
|
||||
|
||||
prod_obj = self.pool.get('mrp.production')
|
||||
prod = prod_obj.browse(cr, uid, record_id, context=context)
|
||||
if prod.state != 'done':
|
||||
res['arch'] = '''<form string="Track lines">
|
||||
<label colspan="4" string="You can not split an unfinished production Output." />
|
||||
<group col="2" colspan="4">
|
||||
<button icon='gtk-cancel' special="cancel"
|
||||
string="Exit" />
|
||||
</group>
|
||||
</form>
|
||||
'''
|
||||
else:
|
||||
arch_lst = ['<form string="Track lines">', '<label colspan="4" string="The field on each line says whether this lot should be tracked or not." />']
|
||||
for m in [line for line in prod.move_created_ids]:
|
||||
quantity = m.product_qty
|
||||
res['fields']['track%s' %m.id] = {'string' : m.product_id.name, 'type' : 'boolean', 'default' : lambda x,y,z: False}
|
||||
arch_lst.append('<field name="track%s" />\n<newline />' %m.id)
|
||||
arch_lst.append('<group col="2" colspan="4">')
|
||||
arch_lst.append('<button icon=\'gtk-cancel\' special="cancel" string="Cancel" />')
|
||||
arch_lst.append('<button name="track_lines" string="Track" colspan="1" type="object" icon="gtk-ok" />')
|
||||
arch_lst.append('</group>')
|
||||
arch_lst.append('</form>')
|
||||
res['arch'] = '\n'.join(arch_lst)
|
||||
|
||||
return res
|
||||
|
||||
def track_lines(self, cr, uid, ids, context=None):
|
||||
""" Tracks Finished products and splits products to finish lines.
|
||||
@param self: The object pointer.
|
||||
@param cr: A database cursor
|
||||
@param uid: ID of the user currently logged in
|
||||
@param ids: List of IDs selected
|
||||
@param context: A standard dictionary
|
||||
@return:
|
||||
"""
|
||||
if context is None:
|
||||
context = {}
|
||||
record_id = context and context.get('active_id', False) or False
|
||||
assert record_id, 'Active ID not found'
|
||||
data = self.read(cr, uid, ids[0])
|
||||
prod_obj = self.pool.get('mrp.production')
|
||||
prod = prod_obj.browse(cr, uid, record_id, context=context)
|
||||
if not prod.move_created_ids and prod.state != 'done':
|
||||
return {}
|
||||
prodlot_obj = self.pool.get('stock.production.lot')
|
||||
move_obj = self.pool.get('stock.move')
|
||||
move_ids = [m.id for m in [line for line in prod.move_created_ids]]
|
||||
for idx, move in enumerate(move_obj.browse(cr, uid, move_ids, context=context)):
|
||||
if data['track%s' %move.id]:
|
||||
for idx in range(int(move.product_qty)):
|
||||
update_val = {'product_qty': 1}
|
||||
if idx:
|
||||
current_move = move_obj.copy(cr, uid, move.id, {'state': move.state, 'production_id': move.production_id.id})
|
||||
else:
|
||||
current_move = move.id
|
||||
new_prodlot = prodlot_obj.create(cr, uid, {'name': 'PRODUCTION:%d:LOT:%d' % (record_id, idx+1), 'product_id': move.product_id.id})
|
||||
update_val['prodlot_id'] = new_prodlot
|
||||
move_obj.write(cr, uid, [current_move], update_val)
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
mrp_track_move()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- Track Production -->
|
||||
|
||||
<act_window name="Track Production"
|
||||
res_model="mrp.production.track"
|
||||
src_model="mrp.production"
|
||||
view_mode="form"
|
||||
target="new"
|
||||
key2="client_action_multi"
|
||||
id="act_production_track"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -374,7 +374,9 @@
|
||||
I click on Return Picking button.
|
||||
-
|
||||
!record {model: pos.return, id: pos_return_0}:
|
||||
{}
|
||||
pos_moves_ids:
|
||||
- product_id: product_product_hppaviliondesktoppcs0
|
||||
quantity: 5.0
|
||||
-
|
||||
I Return the product.
|
||||
-
|
||||
|
||||
@@ -149,6 +149,8 @@ class pos_make_payment(osv.osv_memory):
|
||||
order = order_obj.browse(cr, uid, active_id, context=context)
|
||||
amount = order.amount_total - order.amount_paid
|
||||
data = self.read(cr, uid, ids, context=context)[0]
|
||||
for m2o_field in ['product_id','pricelist_id','partner_id']:
|
||||
data[m2o_field] = data[m2o_field][0]
|
||||
partner = obj_partner.browse(cr, uid, data['partner_id'], context=context)
|
||||
if not partner.address:
|
||||
raise osv.except_osv(_('Error!'),_("Customer doesn't have an address to make the invoice"))
|
||||
|
||||
@@ -24,9 +24,25 @@ from osv import osv,fields
|
||||
from tools.translate import _
|
||||
import time
|
||||
|
||||
class pos_return_memory(osv.osv_memory):
|
||||
_name = "pos.return.memory"
|
||||
_rec_name = 'product_id'
|
||||
_columns = {
|
||||
'product_id' : fields.many2one('product.product', string="Product", required=True),
|
||||
'quantity' : fields.float("Quantity", required=True),
|
||||
'pos_moves_id' : fields.many2one('pos.return', string="Move"),
|
||||
'line_id': fields.integer('Line Id'),
|
||||
}
|
||||
|
||||
pos_return_memory()
|
||||
|
||||
|
||||
class pos_return(osv.osv_memory):
|
||||
_name = 'pos.return'
|
||||
_description = 'Point of sale return'
|
||||
_columns = {
|
||||
'pos_moves_ids' : fields.one2many('pos.return.memory', 'pos_moves_id', 'Moves'),
|
||||
}
|
||||
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
"""
|
||||
@@ -41,98 +57,22 @@ class pos_return(osv.osv_memory):
|
||||
@return: A dictionary which of fields with values.
|
||||
|
||||
"""
|
||||
|
||||
res = super(pos_return, self).default_get(cr, uid, fields, context=context)
|
||||
order_obj = self.pool.get('pos.order')
|
||||
if context is None:
|
||||
context={}
|
||||
active_ids = context.get('active_ids')
|
||||
result=[]
|
||||
for order in order_obj.browse(cr, uid, active_ids, context=context):
|
||||
for line in order.lines:
|
||||
if 'return%s'%(line.id) in fields:
|
||||
res['return%s'%(line.id)] = line.qty
|
||||
result.append({
|
||||
'product_id' : line.product_id.id,
|
||||
'quantity' : line.qty,
|
||||
'line_id':line.id
|
||||
})
|
||||
res.update({'pos_moves_ids': result})
|
||||
return res
|
||||
|
||||
def view_init(self, cr, uid, fields_list, context=None):
|
||||
"""
|
||||
Creates view dynamically and adding fields at runtime.
|
||||
@param self: The object pointer.
|
||||
@param cr: A database cursor
|
||||
@param uid: ID of the user currently logged in
|
||||
@param context: A standard dictionary
|
||||
@return: New arch of view with new columns.
|
||||
"""
|
||||
res = super(pos_return, self).view_init(cr, uid, fields_list, context=context)
|
||||
order_obj=self.pool.get('pos.order')
|
||||
if context is None:
|
||||
context={}
|
||||
|
||||
active_ids=context.get('active_ids')
|
||||
for order in order_obj.browse(cr, uid, active_ids, context=context):
|
||||
for line in order.lines:
|
||||
if 'return%s'%(line.id) not in self._columns:
|
||||
self._columns['return%s'%(line.id)] = fields.float("Quantity")
|
||||
|
||||
return res
|
||||
|
||||
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False,submenu=False):
|
||||
|
||||
"""
|
||||
Changes the view dynamically
|
||||
|
||||
@param self: The object pointer.
|
||||
@param cr: A database cursor
|
||||
@param uid: ID of the user currently logged in
|
||||
@param context: A standard dictionary
|
||||
|
||||
@return: New arch of view.
|
||||
|
||||
"""
|
||||
result = super(pos_return, self).fields_view_get(cr, uid, view_id, view_type, context, toolbar,submenu)
|
||||
if context is None:
|
||||
context={}
|
||||
active_model = context.get('active_model')
|
||||
if not active_model and active_model != 'pos.order':
|
||||
return result
|
||||
order_obj = self.pool.get('pos.order')
|
||||
active_id = context.get('active_id', False)
|
||||
if active_id:
|
||||
_moves_arch_lst="""<?xml version="1.0"?>
|
||||
<form string="Return lines">
|
||||
<label string="Quantities you enter, match to products that will return to the stock." colspan="4"/>"""
|
||||
_line_fields = result['fields']
|
||||
order=order_obj.browse(cr, uid, active_id, context=context)
|
||||
for line in order.lines:
|
||||
quantity=line.qty
|
||||
_line_fields.update({
|
||||
'return%s'%(line.id) : {
|
||||
'string': line.product_id.name,
|
||||
'type' : 'float',
|
||||
'required': True,
|
||||
'default':quantity
|
||||
},
|
||||
})
|
||||
_moves_arch_lst += """
|
||||
<field name="return%s"/>
|
||||
<newline/>
|
||||
"""%(line.id)
|
||||
|
||||
_moves_arch_lst+="""
|
||||
<newline/>
|
||||
<separator colspan="4"/>
|
||||
<button icon='gtk-cancel' special="cancel"
|
||||
string="Cancel" />
|
||||
<button icon='gtk-ok' name= "create_returns"
|
||||
string="Return with Exchange" type="object"/>
|
||||
<button icon='gtk-ok' name="create_returns2"
|
||||
string="Refund Without Exchange" type="object"/>
|
||||
</form>"""
|
||||
|
||||
result['arch'] = _moves_arch_lst
|
||||
result['fields'] = _line_fields
|
||||
return result
|
||||
|
||||
|
||||
def create_returns(self, cr, uid, data, context=None):
|
||||
"""
|
||||
@param self: The object pointer.
|
||||
@@ -145,23 +85,15 @@ class pos_return(osv.osv_memory):
|
||||
"""
|
||||
if context is None:
|
||||
context = {}
|
||||
current_rec = self.read(cr, uid, data[0], context=context)
|
||||
current_rec = self.browse(cr, uid, data, context=context)[0]
|
||||
order_obj =self.pool.get('pos.order')
|
||||
line_obj = self.pool.get('pos.order.line')
|
||||
pos_current = order_obj.browse(cr, uid, context.get('active_id'), context=context)
|
||||
pos_line_ids = pos_current.lines
|
||||
if pos_line_ids:
|
||||
for pos_line in pos_line_ids:
|
||||
line_field = "return"+str(pos_line.id)
|
||||
pos_list = current_rec.keys()
|
||||
newline_vals = {}
|
||||
if line_field in pos_list :
|
||||
less_qty = current_rec.get(line_field)
|
||||
pos_cur_line = line_obj.browse(cr, uid, pos_line.id, context=context)
|
||||
qty = pos_cur_line.qty
|
||||
qty = qty - less_qty
|
||||
newline_vals.update({'qty':qty})
|
||||
line_obj.write(cr, uid, pos_line.id, newline_vals, context=context)
|
||||
for pos_line in pos_current.lines:
|
||||
for record in current_rec.pos_moves_ids:
|
||||
if pos_line.id == record.line_id:
|
||||
less_qty = record.quantity
|
||||
line_obj.write(cr, uid, pos_line.id, {'qty':pos_line.qty - less_qty}, context=context)
|
||||
return {
|
||||
'name': _('Add Product'),
|
||||
'view_type': 'form',
|
||||
@@ -174,6 +106,7 @@ class pos_return(osv.osv_memory):
|
||||
'type': 'ir.actions.act_window',
|
||||
}
|
||||
def create_returns2(self, cr, uid, ids, context=None):
|
||||
|
||||
if context is None:
|
||||
context = {}
|
||||
active_id = context.get('active_id', False)
|
||||
@@ -187,18 +120,16 @@ class pos_return(osv.osv_memory):
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
#Todo :Need to clean the code
|
||||
if active_id:
|
||||
data = self.read(cr, uid, ids)[0]
|
||||
data = self.browse(cr, uid, ids, context=context)[0]
|
||||
date_cur = time.strftime('%Y-%m-%d %H:%M:%S')
|
||||
|
||||
for order_id in order_obj.browse(cr, uid, [active_id], context=context):
|
||||
prop_ids = property_obj.search(cr, uid,[('name', '=', 'property_stock_customer')])
|
||||
val = property_obj.browse(cr, uid, prop_ids[0], context=context).value_reference
|
||||
stock_dest_id = property_obj.get(cr, uid, 'property_stock_customer', 'res.partner', context=context).id
|
||||
cr.execute("SELECT s.id FROM stock_location s, stock_warehouse w "
|
||||
"WHERE w.lot_stock_id=s.id AND w.id=%s ",
|
||||
(order_id.shop_id.warehouse_id.id,))
|
||||
res = cr.fetchone()
|
||||
location_id = res and res[0] or None
|
||||
stock_dest_id = val.id
|
||||
new_picking = picking_obj.copy(cr, uid, order_id.picking_id.id, {'name':'%s (return)' % order_id.name,
|
||||
'move_lines': [],
|
||||
'state':'draft',
|
||||
@@ -212,25 +143,23 @@ class pos_return(osv.osv_memory):
|
||||
account_def = property_obj.get(cr, uid, 'property_account_payable', 'res.partner', context=context)
|
||||
amount = 0.0
|
||||
for line in order_id.lines:
|
||||
if line.id:
|
||||
try:
|
||||
qty = data['return%s' %line.id]
|
||||
for record in data.pos_moves_ids:
|
||||
if line.id == record.line_id:
|
||||
qty = record.quantity
|
||||
amount += qty * line.price_unit
|
||||
except :
|
||||
qty = line.qty
|
||||
stock_move_obj.create(cr, uid, {
|
||||
'product_qty': qty ,
|
||||
'product_uos_qty': uom_obj._compute_qty(cr, uid, qty ,line.product_id.uom_id.id),
|
||||
'picking_id': new_picking,
|
||||
'product_uom': line.product_id.uom_id.id,
|
||||
'location_id': location_id,
|
||||
'product_id': line.product_id.id,
|
||||
'location_dest_id': stock_dest_id,
|
||||
'name': '%s (return)' %order_id.name,
|
||||
'date': date_cur
|
||||
})
|
||||
if qty != 0.0:
|
||||
line_obj.copy(cr, uid, line.id, {'qty': -qty, 'order_id': new_order})
|
||||
stock_move_obj.create(cr, uid, {
|
||||
'product_qty': qty ,
|
||||
'product_uos_qty': uom_obj._compute_qty(cr, uid, qty ,line.product_id.uom_id.id),
|
||||
'picking_id': new_picking,
|
||||
'product_uom': line.product_id.uom_id.id,
|
||||
'location_id': location_id,
|
||||
'product_id': line.product_id.id,
|
||||
'location_dest_id': stock_dest_id,
|
||||
'name': '%s (return)' %order_id.name,
|
||||
'date': date_cur
|
||||
})
|
||||
if qty != 0.0:
|
||||
line_obj.copy(cr, uid, line.id, {'qty': -qty, 'order_id': new_order})
|
||||
statementl_obj.create(cr, uid, {
|
||||
'name': 'Refund %s'%order_id.name,
|
||||
'statement_id': order_id.statement_ids[0].statement_id.id,
|
||||
@@ -290,15 +219,12 @@ class add_product(osv.osv_memory):
|
||||
for order_id in order_obj.browse(cr, uid, [active_id], context=context):
|
||||
prod=data['product_id']
|
||||
qty=data['quantity']
|
||||
prop_ids = property_obj.search(cr, uid, [('name', '=', 'property_stock_customer')])
|
||||
val = property_obj.browse(cr, uid, prop_ids[0]).value_reference
|
||||
stock_dest_id = property_obj.get(cr, uid, 'property_stock_customer', 'res.partner', context=context).id
|
||||
cr.execute("SELECT s.id FROM stock_location s, stock_warehouse w "
|
||||
"WHERE w.lot_stock_id=s.id AND w.id=%s ",
|
||||
(order_id.shop_id.warehouse_id.id,))
|
||||
res=cr.fetchone()
|
||||
location_id=res and res[0] or None
|
||||
stock_dest_id = val.id
|
||||
|
||||
prod_id=prod_obj.browse(cr, uid, prod, context=context)
|
||||
new_picking=picking_obj.create(cr, uid, {
|
||||
'name':'%s (Added)' %order_id.name,
|
||||
@@ -353,18 +279,16 @@ class add_product(osv.osv_memory):
|
||||
data = return_boj.read(cr,uid,return_id,[])[0]
|
||||
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
self_data = self.read(cr, uid, ids)[0]
|
||||
order_obj.add_product(cr, uid, active_ids[0], self_data['product_id'], self_data['quantity'], context=context)
|
||||
self_data = self.browse(cr, uid, ids, context=context)[0]
|
||||
order_obj.add_product(cr, uid, active_ids[0], self_data.product_id.id, self_data.quantity, context=context)
|
||||
|
||||
for order_id in order_obj.browse(cr, uid, active_ids, context=context):
|
||||
prop_ids =property_obj.search(cr, uid, [('name', '=', 'property_stock_customer')])
|
||||
val = property_obj.browse(cr, uid, prop_ids[0]).value_reference
|
||||
stock_dest_id = property_obj.get(cr, uid, 'property_stock_customer', 'res.partner', context=context).id
|
||||
cr.execute("SELECT s.id FROM stock_location s, stock_warehouse w "
|
||||
" WHERE w.lot_stock_id=s.id AND w.id=%s ",
|
||||
(order_id.shop_id.warehouse_id.id,))
|
||||
res=cr.fetchone()
|
||||
location_id=res and res[0] or None
|
||||
stock_dest_id = val.id
|
||||
|
||||
order_obj.write(cr,uid,[order_id.id],{'type_rec':'Exchange'})
|
||||
if order_id.invoice_id:
|
||||
|
||||
@@ -1,13 +1,58 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="action_view_pos_return" model="ir.actions.act_window">
|
||||
<field name="name">Return lines</field>
|
||||
<field name="res_model">pos.return</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
<data>
|
||||
<record id="pos_return_form" model="ir.ui.view">
|
||||
<field name="name">pos.return</field>
|
||||
<field name="model">pos.return</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Return lines">
|
||||
<label string=" Enter the quantities which you want to return." colspan="4"/>
|
||||
<separator colspan="4"/>
|
||||
<field name="pos_moves_ids" colspan="4" nolabel="1" mode="tree,form" width="550" height="200" >
|
||||
</field>
|
||||
<newline/>
|
||||
<separator colspan="4"/>
|
||||
<button icon='gtk-cancel' special="cancel" string="Cancel" />
|
||||
<button icon='gtk-ok' name= "create_returns" string="Return With Exchange" type="object"/>
|
||||
<button icon='gtk-ok' name="create_returns2" string="Refund Without Exchange" type="object"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_view_pos_return" model="ir.actions.act_window">
|
||||
<field name="name">Return lines</field>
|
||||
<field name="res_model">pos.return</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
<record id="pos_return_tree_in" model="ir.ui.view">
|
||||
<field name="name">pos.return.memory</field>
|
||||
<field name="model">pos.return.memory</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree editable="bottom" string="Return Product">
|
||||
<field name="product_id" />
|
||||
<field name="quantity" />
|
||||
<field name="line_id" invisible="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="pos_return_form_in" model="ir.ui.view">
|
||||
<field name="name">pos.return.memory</field>
|
||||
<field name="model">pos.return.memory</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<field name="product_id" />
|
||||
<field name="quantity" />
|
||||
<field name="line_id" invisible="1"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -53,6 +53,7 @@ class product_price_list(osv.osv_memory):
|
||||
datas = {'ids': context.get('active_ids', [])}
|
||||
res = self.read(cr, uid, ids, ['price_list','qty1', 'qty2','qty3','qty4','qty5'], context=context)
|
||||
res = res and res[0] or {}
|
||||
res['price_list'] = res['price_list'][0]
|
||||
datas['form'] = res
|
||||
return {
|
||||
'type': 'ir.actions.report.xml',
|
||||
|
||||
@@ -105,6 +105,7 @@ class project_task_delegate(osv.osv_memory):
|
||||
task_id = context.get('active_id', False)
|
||||
task_pool = self.pool.get('project.task')
|
||||
delegate_data = self.read(cr, uid, ids, context=context)[0]
|
||||
delegate_data['user_id'] = delegate_data['user_id'][0]
|
||||
delegate_data['name'] = tools.ustr(delegate_data['name'])
|
||||
task_pool.do_delegate(cr, uid, task_id, delegate_data, context=context)
|
||||
return {}
|
||||
|
||||
@@ -53,7 +53,7 @@ class project_timebox_fill(osv.osv_memory):
|
||||
data = self.read(cr, uid, ids, [], context=context)
|
||||
if not data[0]['task_ids']:
|
||||
return {}
|
||||
self.pool.get('project.task').write(cr, uid, data[0]['task_ids'], {'timebox_id':data[0]['timebox_to_id']})
|
||||
self.pool.get('project.task').write(cr, uid, data[0]['task_ids'], {'timebox_id':data[0]['timebox_to_id'][0]})
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
project_timebox_fill()
|
||||
|
||||
@@ -50,7 +50,7 @@ class project_compute_phases(osv.osv_memory):
|
||||
raise osv.except_osv(_('Error!'), _('Please Specify Project to be schedule'))
|
||||
|
||||
if data['project_id']: # If project mentioned find its phases
|
||||
project_ids = [data['project_id']]
|
||||
project_ids = [data['project_id'][0]]
|
||||
else: # Else take all the draft,open,pending states phases
|
||||
project_ids = project_pool.search(cr, uid, [], context=context)
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ class project_compute_tasks(osv.osv_memory):
|
||||
context = {}
|
||||
context['compute_by'] = 'project'
|
||||
data = self.read(cr, uid, ids, [])[0]
|
||||
project_id = data['project_id']
|
||||
project_id = data['project_id'][0]
|
||||
project_pool.schedule_tasks(cr, uid, [project_id], context=context)
|
||||
return self._open_task_list(cr, uid, data, context=context)
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@ class backlog_create_task(osv.osv_memory):
|
||||
ids_task = []
|
||||
|
||||
data = self.read(cr, uid, ids, [], context=context)[0]
|
||||
data['user_id'] = data['user_id'][0]
|
||||
|
||||
backlogs = backlog_id.browse(cr, uid, context['active_ids'], context=context)
|
||||
result = mod_obj._get_id(cr, uid, 'project', 'view_task_search_form')
|
||||
id = mod_obj.read(cr, uid, result, ['res_id'])
|
||||
|
||||
@@ -66,15 +66,14 @@ class project_scrum_backlog_merge(osv.osv_memory):
|
||||
context = {}
|
||||
#This will check product backlog's project id if different then will accept a new id provided by the user.
|
||||
if 'scrum_projects' in context:
|
||||
data = self.read(cr, uid, ids, [])[0]
|
||||
if data['project_id'] == False:
|
||||
data = self.browse(cr, uid, ids, [])[0]
|
||||
if data.project_id.id == False:
|
||||
raise osv.except_osv(_('Warning'),_('Please select any Project.'))
|
||||
new_project_id = data['project_id']
|
||||
new_project_id = data.project_id.id
|
||||
else:
|
||||
p_id = backlog_obj.read(cr, uid, context['active_id'], ['project_id'])
|
||||
new_project_id = p_id['project_id'][0]
|
||||
#To merge note and description of backlogs
|
||||
|
||||
new_note = ''
|
||||
new_description = ''
|
||||
for backlogs in backlog_obj.browse(cr, uid, context['active_ids'], context=context):
|
||||
@@ -93,7 +92,6 @@ class project_scrum_backlog_merge(osv.osv_memory):
|
||||
'project_id': new_project_id,
|
||||
'expected_hours': round(max(new_exp_hour))
|
||||
}, context=context)
|
||||
|
||||
#To assing a new product backlog to merged tasks
|
||||
task_obj.write(cr, uid, task_lines, {'product_backlog_id': id_b})
|
||||
backlog_obj.unlink(cr, uid, context['active_ids'], context=context)
|
||||
|
||||
@@ -41,10 +41,10 @@ class backlog_sprint_assign(osv.osv_memory):
|
||||
backlog_ids = []
|
||||
if context is None:
|
||||
context = {}
|
||||
data = self.read(cr, uid, ids, [], context=context)[0]
|
||||
data = self.browse(cr, uid, ids,context=context)[0]
|
||||
for backlog in backlog_obj.browse(cr, uid, context['active_ids'], context=context):
|
||||
backlog_ids.append(backlog.id)
|
||||
if data['convert_to_task']:
|
||||
if data.convert_to_task:
|
||||
task_id = task.create(cr, uid, {
|
||||
'product_backlog_id': backlog.id,
|
||||
'name': backlog.name,
|
||||
@@ -56,12 +56,12 @@ class backlog_sprint_assign(osv.osv_memory):
|
||||
})
|
||||
message = _('Product Backlog') + " '" + backlog.name + "' "+ _("is converted into Task %d."%(task_id,))
|
||||
self.log(cr, uid, backlog.id, message)
|
||||
if data['state_open'] and backlog.state == "draft":
|
||||
if data.state_open and backlog.state == "draft":
|
||||
backlog_obj.write(cr, uid, backlog.id, {'state':'open'})
|
||||
sprint = sprint_obj.browse(cr, uid, data['sprint_id'], context=context)
|
||||
sprint = sprint_obj.browse(cr, uid, data.sprint_id.id, context=context)
|
||||
message = _('Product Backlog') + " '" + backlog.name + "' "+ _("is assigned sprint:%s"%(sprint.name))
|
||||
self.log(cr, uid, backlog.id, message)
|
||||
backlog_obj.write(cr, uid, backlog_ids, {'sprint_id': data['sprint_id']}, context=context)
|
||||
backlog_obj.write(cr, uid, backlog_ids, {'sprint_id': data.sprint_id.id}, context=context)
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
backlog_sprint_assign()
|
||||
|
||||
@@ -67,7 +67,7 @@ class purchase_requisition_partner(osv.osv_memory):
|
||||
context = {}
|
||||
record_ids = context and context.get('active_ids', False)
|
||||
if record_ids:
|
||||
data = self.read(cr, uid, ids)
|
||||
data = self.browse(cr, uid, ids,context=context)[0]
|
||||
company = self.pool.get('res.users').browse(cr, uid, uid, context).company_id
|
||||
order_obj = self.pool.get('purchase.order')
|
||||
order_line_obj = self.pool.get('purchase.order.line')
|
||||
@@ -77,10 +77,8 @@ class purchase_requisition_partner(osv.osv_memory):
|
||||
prod_obj = self.pool.get('product.product')
|
||||
tender_obj = self.pool.get('purchase.requisition')
|
||||
acc_pos_obj = self.pool.get('account.fiscal.position')
|
||||
partner_id = data[0]['partner_id']
|
||||
|
||||
supplier_data = partner_obj.browse(cr, uid, partner_id, context=context)
|
||||
|
||||
partner_id = data.partner_id.id
|
||||
supplier_data = data.partner_id
|
||||
address_id = partner_obj.address_get(cr, uid, [partner_id], ['delivery'])['delivery']
|
||||
list_line=[]
|
||||
purchase_order_line={}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_ir_header_webkit","ir.header_webkit","model_ir_header_webkit",,,,,
|
||||
"access_ir_header_webkit","ir.header_webkit","model_ir_header_webkit",,1,,,
|
||||
"access_ir_header_img","ir.header_img","model_ir_header_img",,,,,
|
||||
|
||||
|
@@ -691,7 +691,7 @@ class stock_picking(osv.osv):
|
||||
if res:
|
||||
picking_obj = self.browse(cr, uid, res, context=context)
|
||||
for move in picking_obj.move_lines:
|
||||
move_obj.write(cr, uid, [move.id], {'tracking_id': False,'prodlot_id':False})
|
||||
move_obj.write(cr, uid, [move.id], {'tracking_id': False,'prodlot_id':False, 'move_history_ids2': [(6, 0, [])], 'move_history_ids': [(6, 0, [])]})
|
||||
return res
|
||||
|
||||
def onchange_partner_in(self, cr, uid, context=None, partner_id=None):
|
||||
@@ -1623,6 +1623,7 @@ class stock_move(osv.osv):
|
||||
if default is None:
|
||||
default = {}
|
||||
default = default.copy()
|
||||
default.update({'move_history_ids2': [], 'move_history_ids': []})
|
||||
return super(stock_move, self).copy(cr, uid, id, default, context=context)
|
||||
|
||||
def _auto_init(self, cursor, context=None):
|
||||
|
||||
@@ -115,7 +115,7 @@ class stock_invoice_onshipping(osv.osv_memory):
|
||||
if context is None:
|
||||
context = {}
|
||||
picking_pool = self.pool.get('stock.picking')
|
||||
onshipdata_obj = self.read(cr, uid, ids, ['journal_id', 'group', 'invoice_date'], context=context)
|
||||
onshipdata_obj = self.read(cr, uid, ids, ['journal_id', 'group', 'invoice_date'])
|
||||
if context.get('new_picking', False):
|
||||
onshipdata_obj['id'] = onshipdata_obj.new_picking
|
||||
onshipdata_obj[ids] = onshipdata_obj.new_picking
|
||||
@@ -127,7 +127,7 @@ class stock_invoice_onshipping(osv.osv_memory):
|
||||
res = picking_pool.action_invoice_create(cr, uid, active_ids,
|
||||
journal_id = onshipdata_obj[0]['journal_id'],
|
||||
group = onshipdata_obj[0]['group'],
|
||||
type = context.get('inv_type'),
|
||||
type = None,
|
||||
context=context)
|
||||
return res
|
||||
|
||||
|
||||
@@ -100,9 +100,9 @@ class stock_move_consume(osv.osv_memory):
|
||||
context = {}
|
||||
move_obj = self.pool.get('stock.move')
|
||||
move_ids = context['active_ids']
|
||||
for data in self.read(cr, uid, ids):
|
||||
for data in self.browse(cr, uid, ids, context=context):
|
||||
move_obj.action_consume(cr, uid, move_ids,
|
||||
data['product_qty'], data['location_id'],
|
||||
data.product_qty, data.location_id.id,
|
||||
context=context)
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ class stock_partial_picking(osv.osv_memory):
|
||||
if m.state in ('done', 'cancel'):
|
||||
continue
|
||||
result.append(self.__create_partial_picking_memory(m, pick_type))
|
||||
|
||||
|
||||
if 'product_moves_in' in fields:
|
||||
res.update({'product_moves_in': result})
|
||||
if 'product_moves_out' in fields:
|
||||
|
||||
@@ -25,9 +25,26 @@ import time
|
||||
from osv import osv,fields
|
||||
from tools.translate import _
|
||||
|
||||
class stock_return_picking_memory(osv.osv_memory):
|
||||
_name = "stock.return.picking.memory"
|
||||
_rec_name = 'product_id'
|
||||
_columns = {
|
||||
'product_id' : fields.many2one('product.product', string="Product", required=True),
|
||||
'quantity' : fields.float("Quantity", required=True),
|
||||
'wizard_id' : fields.many2one('stock.return.picking', string="Wizard"),
|
||||
'move_id' : fields.many2one('stock.move', "Move"),
|
||||
}
|
||||
|
||||
stock_return_picking_memory()
|
||||
|
||||
|
||||
class stock_return_picking(osv.osv_memory):
|
||||
_name = 'stock.return.picking'
|
||||
_description = 'Return Picking'
|
||||
_columns = {
|
||||
'product_return_moves' : fields.one2many('stock.return.picking.memory', 'wizard_id', 'Moves'),
|
||||
'invoice_state': fields.selection([('2binvoiced', 'To be refunded/invoiced'), ('none', 'No invoicing')], 'Invoicing',required=True),
|
||||
}
|
||||
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
"""
|
||||
@@ -39,6 +56,7 @@ class stock_return_picking(osv.osv_memory):
|
||||
@param context: A standard dictionary
|
||||
@return: A dictionary with default values for all field in ``fields``
|
||||
"""
|
||||
result1 = []
|
||||
if context is None:
|
||||
context = {}
|
||||
res = super(stock_return_picking, self).default_get(cr, uid, fields, context=context)
|
||||
@@ -48,13 +66,16 @@ class stock_return_picking(osv.osv_memory):
|
||||
if pick:
|
||||
if 'invoice_state' in fields:
|
||||
if pick.invoice_state=='invoiced':
|
||||
res['invoice_state'] = '2binvoiced'
|
||||
res.update({'invoice_state': '2binvoiced'})
|
||||
else:
|
||||
res['invoice_state'] = 'none'
|
||||
res.update({'invoice_state': 'none'})
|
||||
return_history = self.get_return_history(cr, uid, record_id, context)
|
||||
for line in pick.move_lines:
|
||||
return_id = 'return%s'%(line.id)
|
||||
if return_id in fields:
|
||||
res[return_id] = line.product_qty
|
||||
qty = line.product_qty - return_history[line.id]
|
||||
if qty > 0:
|
||||
result1.append({'product_id': line.product_id.id, 'quantity': qty,'move_id':line.id})
|
||||
if 'product_return_moves' in fields:
|
||||
res.update({'product_return_moves': result1})
|
||||
return res
|
||||
|
||||
def view_init(self, cr, uid, fields_list, context=None):
|
||||
@@ -75,62 +96,34 @@ class stock_return_picking(osv.osv_memory):
|
||||
pick = pick_obj.browse(cr, uid, record_id, context=context)
|
||||
if pick.state not in ['done','confirmed','assigned']:
|
||||
raise osv.except_osv(_('Warning !'), _("You may only return pickings that are Confirmed, Available or Done!"))
|
||||
return_history = {}
|
||||
valid_lines = 0
|
||||
for m in [line for line in pick.move_lines]:
|
||||
if m.state == 'done':
|
||||
return_history[m.id] = 0
|
||||
for rec in m.move_history_ids2:
|
||||
return_history[m.id] += (rec.product_qty * rec.product_uom.factor)
|
||||
if m.product_qty * m.product_uom.factor >= return_history[m.id]:
|
||||
return_history = self.get_return_history(cr, uid, record_id, context)
|
||||
for m in pick.move_lines:
|
||||
if m.product_qty * m.product_uom.factor > return_history[m.id]:
|
||||
valid_lines += 1
|
||||
if 'return%s'%(m.id) not in self._columns:
|
||||
self._columns['return%s'%(m.id)] = fields.float(string=m.name, required=True)
|
||||
if 'invoice_state' not in self._columns:
|
||||
self._columns['invoice_state'] = fields.selection([('2binvoiced', 'To be refunded/invoiced'), ('none', 'No invoicing')], string='Invoicing', required=True)
|
||||
if not valid_lines:
|
||||
raise osv.except_osv(_('Warning !'), _("There are no products to return (only lines in Done state and not fully returned yet can be returned)!"))
|
||||
return res
|
||||
|
||||
def fields_view_get(self, cr, uid, view_id=None, view_type='form',
|
||||
context=None, toolbar=False, submenu=False):
|
||||
"""
|
||||
Changes the view dynamically
|
||||
|
||||
def get_return_history(self, cr, uid, pick_id, context=None):
|
||||
"""
|
||||
Get return_history.
|
||||
@param self: The object pointer.
|
||||
@param cr: A database cursor
|
||||
@param uid: ID of the user currently logged in
|
||||
@param pick_id: Picking id
|
||||
@param context: A standard dictionary
|
||||
@return: New arch of view.
|
||||
@return: A dictionary which of values.
|
||||
"""
|
||||
res = super(stock_return_picking, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False)
|
||||
record_id = context and context.get('active_id', False)
|
||||
active_model = context.get('active_model')
|
||||
if active_model != 'stock.picking':
|
||||
return res
|
||||
if record_id:
|
||||
pick_obj = self.pool.get('stock.picking')
|
||||
pick = pick_obj.browse(cr, uid, record_id)
|
||||
return_history = {}
|
||||
res['fields'].clear()
|
||||
arch_lst=['<?xml version="1.0"?>', '<form string="%s">' % _('Return lines'), '<label string="%s" colspan="4"/>' % _('Provide the quantities of the returned products.')]
|
||||
for m in pick.move_lines:
|
||||
pick_obj = self.pool.get('stock.picking')
|
||||
pick = pick_obj.browse(cr, uid, pick_id, context=context)
|
||||
return_history = {}
|
||||
for m in pick.move_lines:
|
||||
if m.state == 'done':
|
||||
return_history[m.id] = 0
|
||||
for rec in m.move_history_ids2:
|
||||
return_history[m.id] += rec.product_qty
|
||||
quantity = m.product_qty
|
||||
if m.state=='done' and quantity > return_history[m.id]:
|
||||
arch_lst.append('<field name="return%s"/>\n<newline/>' % (m.id,))
|
||||
res['fields']['return%s' % m.id]={'string':m.name, 'type':'float', 'required':True}
|
||||
res.setdefault('returns', []).append(m.id)
|
||||
arch_lst.append('<field name="invoice_state"/>\n<newline/>')
|
||||
res['fields']['invoice_state']={'string':_('Invoicing'), 'type':'selection','required':True, 'selection':[('2binvoiced', _('To be refunded/invoiced')), ('none', _('No invoicing'))]}
|
||||
arch_lst.append('<group col="2" colspan="4">')
|
||||
arch_lst.append('<button icon="gtk-cancel" special="cancel" string="Cancel" />')
|
||||
arch_lst.append('<button name="create_returns" string="Return" colspan="1" type="object" icon="gtk-apply" />')
|
||||
arch_lst.append('</group>')
|
||||
arch_lst.append('</form>')
|
||||
res['arch'] = '\n'.join(arch_lst)
|
||||
return res
|
||||
return_history[m.id] += (rec.product_qty * rec.product_uom.factor)
|
||||
return return_history
|
||||
|
||||
def create_returns(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
@@ -148,48 +141,49 @@ class stock_return_picking(osv.osv_memory):
|
||||
move_obj = self.pool.get('stock.move')
|
||||
pick_obj = self.pool.get('stock.picking')
|
||||
uom_obj = self.pool.get('product.uom')
|
||||
data_obj = self.pool.get('stock.return.picking.memory')
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
|
||||
pick = pick_obj.browse(cr, uid, record_id, context=context)
|
||||
data = self.read(cr, uid, ids[0], context=context)
|
||||
new_picking = None
|
||||
date_cur = time.strftime('%Y-%m-%d %H:%M:%S')
|
||||
|
||||
set_invoice_state_to_none = True
|
||||
returned_lines = 0
|
||||
for move in pick.move_lines:
|
||||
if not new_picking:
|
||||
if pick.type=='out':
|
||||
new_type = 'in'
|
||||
elif pick.type=='in':
|
||||
new_type = 'out'
|
||||
else:
|
||||
new_type = 'internal'
|
||||
new_picking = pick_obj.copy(cr, uid, pick.id, {'name':'%s-return' % pick.name,
|
||||
'move_lines':[], 'state':'draft', 'type':new_type,
|
||||
'date':date_cur, 'invoice_state':data['invoice_state'],})
|
||||
|
||||
# Create new picking for returned products
|
||||
if pick.type=='out':
|
||||
new_type = 'in'
|
||||
elif pick.type=='in':
|
||||
new_type = 'out'
|
||||
else:
|
||||
new_type = 'internal'
|
||||
new_picking = pick_obj.copy(cr, uid, pick.id, {'name':'%s-return' % pick.name,
|
||||
'move_lines':[], 'state':'draft', 'type':new_type,
|
||||
'date':date_cur, 'invoice_state':data['invoice_state'],})
|
||||
|
||||
val_id = data['product_return_moves']
|
||||
for v in val_id:
|
||||
data_get = data_obj.read(cr, uid, v)
|
||||
mov_id = data_get['move_id']
|
||||
new_qty = data_get['quantity']
|
||||
move = move_obj.browse(cr, uid, mov_id, context=context)
|
||||
new_location=move.location_dest_id.id
|
||||
if move.state=='done':
|
||||
new_qty = data['return%s' % move.id]
|
||||
returned_qty = move.product_qty
|
||||
|
||||
for rec in move.move_history_ids2:
|
||||
returned_qty -= rec.product_qty
|
||||
|
||||
if returned_qty != new_qty:
|
||||
set_invoice_state_to_none = False
|
||||
|
||||
if new_qty:
|
||||
returned_lines += 1
|
||||
new_move=move_obj.copy(cr, uid, move.id, {
|
||||
'product_qty': new_qty,
|
||||
'product_uos_qty': uom_obj._compute_qty(cr, uid, move.product_uom.id,
|
||||
new_qty, move.product_uos.id),
|
||||
'picking_id':new_picking, 'state':'draft',
|
||||
'location_id':new_location, 'location_dest_id':move.location_id.id,
|
||||
'date':date_cur,})
|
||||
move_obj.write(cr, uid, [move.id], {'move_history_ids2':[(4,new_move)]})
|
||||
returned_qty = move.product_qty
|
||||
for rec in move.move_history_ids2:
|
||||
returned_qty -= rec.product_qty
|
||||
|
||||
if returned_qty != new_qty:
|
||||
set_invoice_state_to_none = False
|
||||
if new_qty:
|
||||
returned_lines += 1
|
||||
new_move=move_obj.copy(cr, uid, move.id, {
|
||||
'product_qty': new_qty,
|
||||
'product_uos_qty': uom_obj._compute_qty(cr, uid, move.product_uom.id,
|
||||
new_qty, move.product_uos.id),
|
||||
'picking_id':new_picking, 'state':'draft',
|
||||
'location_id':new_location, 'location_dest_id':move.location_id.id,
|
||||
'date':date_cur,})
|
||||
move_obj.write(cr, uid, [move.id], {'move_history_ids2':[(4,new_move)]})
|
||||
if not returned_lines:
|
||||
raise osv.except_osv(_('Warning !'), _("Please specify at least one non-zero quantity!"))
|
||||
|
||||
|
||||
@@ -9,5 +9,50 @@
|
||||
key2="client_action_multi"
|
||||
multi="True"
|
||||
id="act_stock_return_picking"/>
|
||||
</data>
|
||||
|
||||
<record id="stock_return_memory_tree_in" model="ir.ui.view">
|
||||
<field name="name">stock.return.picking.memory.tree</field>
|
||||
<field name="model">stock.return.picking.memory</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree editable="bottom" string="Product Moves">
|
||||
<field name="product_id" />
|
||||
<field name="quantity" />
|
||||
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="stock_return_memory_form_in" model="ir.ui.view">
|
||||
<field name="name">stock.return.picking.memory.from</field>
|
||||
<field name="model">stock.return.picking.memory</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<field name="product_id" />
|
||||
<field name="quantity" />
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_stock_return_picking_form" model="ir.ui.view">
|
||||
<field name="name">Return lines</field>
|
||||
<field name="model">stock.return.picking</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Return lines">
|
||||
<label string="Provide the quantities of the returned products." colspan="4"/>
|
||||
<separator string="" colspan="4"/>
|
||||
<field name="product_return_moves" nolabel="1" colspan="6"/>
|
||||
<field name="invoice_state" />
|
||||
<separator string="" colspan="4" />
|
||||
<group col="2" colspan="4">
|
||||
<button special="cancel" string="_Cancel" icon="gtk-cancel"/>
|
||||
<button name="create_returns" string="Return" colspan="1" type="object" icon="gtk-apply" />
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -1,124 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import osv, fields
|
||||
|
||||
class stock_split_move_line(osv.osv_memory):
|
||||
_name = 'stock.move.line.split'
|
||||
_description = "Split Moves"
|
||||
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
""" To get default values for the object.
|
||||
@param self: The object pointer.
|
||||
@param cr: A database cursor
|
||||
@param uid: ID of the user currently logged in
|
||||
@param fields: List of fields for which we want default values
|
||||
@param context: A standard dictionary
|
||||
@return: A dictionary which of fields with values.
|
||||
"""
|
||||
if context is None:
|
||||
context = {}
|
||||
res = super(stock_split_move_line, self).default_get(cr, uid, fields, context=context)
|
||||
record_id = context and context.get('active_id', False) or False
|
||||
pick_obj = self.pool.get('stock.picking')
|
||||
pick = pick_obj.browse(cr, uid, record_id, context=context)
|
||||
for m in [line for line in pick.move_lines]:
|
||||
res['move%s'%(m.id)] = m.product_qty
|
||||
return res
|
||||
|
||||
def view_init(self, cr, uid, fields_list, context=None):
|
||||
""" Creates view dynamically and adding fields at runtime.
|
||||
@param self: The object pointer.
|
||||
@param cr: A database cursor
|
||||
@param uid: ID of the user currently logged in
|
||||
@param context: A standard dictionary
|
||||
@return: New arch of view with new columns.
|
||||
"""
|
||||
res = super(stock_split_move_line, self).view_init(cr, uid, fields_list, context=context)
|
||||
record_id = context and context.get('active_id', False) or False
|
||||
if record_id:
|
||||
pick_obj = self.pool.get('stock.picking')
|
||||
try:
|
||||
pick = pick_obj.browse(cr, uid, record_id, context=context)
|
||||
for m in [line for line in pick.move_lines]:
|
||||
if 'move%s' % m.id not in self._columns:
|
||||
self._columns['move%s' % m.id] = fields.float(string=m.product_id.name)
|
||||
except:
|
||||
return res
|
||||
return res
|
||||
|
||||
def fields_view_get(self, cr, uid, view_id=None, view_type='form',
|
||||
context=None, toolbar=False, submenu=False):
|
||||
""" Changes the view dynamically
|
||||
@param self: The object pointer.
|
||||
@param cr: A database cursor
|
||||
@param uid: ID of the user currently logged in
|
||||
@param context: A standard dictionary
|
||||
@return: New arch of view.
|
||||
"""
|
||||
res = super(stock_split_move_line, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False)
|
||||
record_id = context and context.get('active_id', False) or False
|
||||
assert record_id,'Active ID not found'
|
||||
pick_obj = self.pool.get('stock.picking')
|
||||
pick = pick_obj.browse(cr, uid, record_id, context=context)
|
||||
arch_lst = ['<?xml version="1.0"?>', '<form string="Split lines">', '<label string="Indicate here the quantity of the new line. A quantity of zero will not split the line." colspan="4"/>']
|
||||
for m in [line for line in pick.move_lines]:
|
||||
quantity = m.product_qty
|
||||
arch_lst.append('<field name="move%s" />\n<newline />' % (m.id,))
|
||||
res['fields']['move%s' % m.id] = {'string' : m.product_id.name, 'type' : 'float', 'required' : True}
|
||||
arch_lst.append('<group col="2" colspan="4">')
|
||||
arch_lst.append('<button icon="gtk-cancel" special="cancel" string="Cancel" />')
|
||||
arch_lst.append('<button name="split_lines" string="Split" colspan="1" type="object" icon="gtk-apply" />')
|
||||
arch_lst.append('</group>')
|
||||
arch_lst.append('</form>')
|
||||
res['arch'] = '\n'.join(arch_lst)
|
||||
return res
|
||||
|
||||
def split_lines(self, cr, uid, ids, context=None):
|
||||
""" Splits moves in quantity given in the wizard.
|
||||
@param self: The object pointer.
|
||||
@param cr: A database cursor
|
||||
@param uid: ID of the user currently logged in
|
||||
@param ids: List of ids selected
|
||||
@param context: A standard dictionary
|
||||
@return: A dictionary which of fields with values.
|
||||
"""
|
||||
if context is None:
|
||||
context = {}
|
||||
move_obj = self.pool.get('stock.move')
|
||||
record_id = context and context.get('active_id', False) or False
|
||||
pick_obj = self.pool.get('stock.picking')
|
||||
pick = pick_obj.browse(cr, uid, record_id, context=context)
|
||||
data = self.read(cr, uid, ids[0])
|
||||
for move in pick.move_lines:
|
||||
quantity = data['move%s' % move.id]
|
||||
if 0 < quantity < move.product_qty:
|
||||
new_qty = move.product_qty - quantity
|
||||
new_uos_qty = new_qty / move.product_qty * move.product_uos_qty
|
||||
new_obj = move_obj.copy(cr, uid, move.id, {'product_qty' : new_qty, 'product_uos_qty': new_uos_qty, 'state':move.state})
|
||||
uos_qty = quantity / move.product_qty * move.product_uos_qty
|
||||
move_obj.write(cr, uid, [move.id], {'product_qty' : quantity, 'product_uos_qty': uos_qty})
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
stock_split_move_line()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- Split Moves -->
|
||||
|
||||
<record id="act_split_moves" model="ir.actions.act_window">
|
||||
<field name="name">Split Moves</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">stock.move.line.split</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -55,10 +55,9 @@ class survey_print(osv.osv_memory):
|
||||
@param context: A standard dictionary for contextual values
|
||||
@return : Dictionary value for print survey form.
|
||||
"""
|
||||
|
||||
datas = {'ids' : self.read(cr, uid, ids, [], context)[0]['survey_ids']}
|
||||
datas = {'ids' : self.read(cr, uid, ids, ['survey_ids'], context=context)[0]['survey_ids']}
|
||||
res = self.read(cr, uid, ids, ['survey_title', 'orientation', 'paper_size',\
|
||||
'page_number', 'without_pagebreak'], context)
|
||||
'page_number', 'without_pagebreak'], context=context)
|
||||
res = res and res[0] or {}
|
||||
datas['form'] = res
|
||||
datas['model'] = 'survey.print'
|
||||
|
||||
@@ -59,7 +59,7 @@ class survey_print_answer(osv.osv_memory):
|
||||
context = {}
|
||||
datas = {'ids': context.get('active_ids', [])}
|
||||
res = self.read(cr, uid, ids, ['response_ids', 'orientation', 'paper_size',\
|
||||
'page_number', 'without_pagebreak'], context)
|
||||
'page_number', 'without_pagebreak'], context=context)
|
||||
res = res and res[0] or {}
|
||||
datas['form'] = res
|
||||
datas['model'] = 'survey.print.answer'
|
||||
|
||||
@@ -44,7 +44,7 @@ class survey_print_statistics(osv.osv_memory):
|
||||
if context is None:
|
||||
context = {}
|
||||
datas = {'ids': context.get('active_ids', [])}
|
||||
res = self.read(cr, uid, ids, ['survey_ids'], context)
|
||||
res = self.read(cr, uid, ids, ['survey_ids'], context=context)
|
||||
res = res and res[0] or {}
|
||||
datas['form'] = res
|
||||
datas['model'] = 'survey.print.statistics'
|
||||
|
||||
@@ -122,9 +122,9 @@ class survey_name_wiz(osv.osv_memory):
|
||||
search_obj = self.pool.get('ir.ui.view')
|
||||
if context is None: context = {}
|
||||
|
||||
sur_id = self.read(cr, uid, ids, [])[0]
|
||||
survey_id = sur_id['survey_id']
|
||||
context.update({'survey_id': survey_id, 'sur_name_id': sur_id['id']})
|
||||
this = self.browse(cr, uid, ids, context=context)[0]
|
||||
survey_id = this.survey_id
|
||||
context.update({'survey_id': survey_id, 'sur_name_id': this.id})
|
||||
cr.execute('select count(id) from survey_history where user_id=%s\
|
||||
and survey_id=%s' % (uid,survey_id))
|
||||
|
||||
@@ -133,8 +133,8 @@ class survey_name_wiz(osv.osv_memory):
|
||||
if user_limit and res >= user_limit:
|
||||
raise osv.except_osv(_('Warning !'),_("You can not give response for this survey more than %s times") % (user_limit))
|
||||
|
||||
sur_rec = survey_obj.read(cr,uid,self.read(cr,uid,ids)[0]['survey_id'])
|
||||
if sur_rec['max_response_limit'] and sur_rec['max_response_limit'] <= sur_rec['tot_start_survey']:
|
||||
sur_rec = survey_obj.browse(cr,uid,ids,context=context)[0]
|
||||
if sur_rec.max_response_limit and sur_rec.max_response_limit <= sur_rec.tot_start_survey:
|
||||
raise osv.except_osv(_('Warning !'),_("You can not give more response. Please contact the author of this survey for further assistance."))
|
||||
|
||||
search_id = search_obj.search(cr,uid,[('model','=','survey.question.wiz'),('name','=','Survey Search')])
|
||||
|
||||
@@ -96,7 +96,7 @@ class survey_send_invitation(osv.osv_memory):
|
||||
def action_send(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
record = self.read(cr, uid, ids, [])
|
||||
record = self.read(cr, uid, ids, [],context=context)
|
||||
survey_ids = context.get('active_ids', [])
|
||||
record = record and record[0]
|
||||
partner_ids = record['partner_ids']
|
||||
|
||||
Reference in New Issue
Block a user