diff --git a/addons/account/account.py b/addons/account/account.py
index d65c5d62c0a..a68c1de0939 100644
--- a/addons/account/account.py
+++ b/addons/account/account.py
@@ -648,10 +648,10 @@ class account_account(osv.osv):
if line_obj.search(cr, uid, [('account_id', 'in', account_ids)]):
#Check for 'Closed' type
if old_type == 'closed' and new_type !='closed':
- raise osv.except_osv(_('Warning !'), _("You cannot change the type of account from 'Closed' to any other type as it contains journal items!"))
+ raise osv.except_osv(_('Warning!'), _("You cannot change the type of account from 'Closed' to any other type as it contains journal items!"))
# Forbid to change an account type for restricted_groups as it contains journal items (or if one of its children does)
if (new_type in restricted_groups):
- raise osv.except_osv(_('Warning !'), _("You cannot change the type of account to '%s' type as it contains journal items!") % (new_type,))
+ raise osv.except_osv(_('Warning!'), _("You cannot change the type of account to '%s' type as it contains journal items!") % (new_type,))
return True
@@ -1015,14 +1015,14 @@ class account_period(osv.osv):
if not result:
result = self.search(cr, uid, args, context=context)
if not result:
- raise osv.except_osv(_('Error !'), _('There is no period defined for this date: %s.\nPlease create one.')%dt)
+ raise osv.except_osv(_('Error!'), _('There is no period defined for this date: %s.\nPlease create one.')%dt)
return result
def action_draft(self, cr, uid, ids, *args):
mode = 'draft'
for period in self.browse(cr, uid, ids):
if period.fiscalyear_id.state == 'done':
- raise osv.except_osv(_('Warning !'), _('You can not re-open a period which belongs to closed fiscal year'))
+ raise osv.except_osv(_('Warning!'), _('You can not re-open a period which belongs to closed fiscal year'))
cr.execute('update account_journal_period set state=%s where period_id in %s', (mode, tuple(ids),))
cr.execute('update account_period set state=%s where id in %s', (mode, tuple(ids),))
return True
@@ -2317,7 +2317,7 @@ class account_model(osv.osv):
try:
entry['name'] = model.name%{'year': move_date.strftime('%Y'), 'month': move_date.strftime('%m'), 'date': move_date.strftime('%Y-%m')}
except:
- raise osv.except_osv(_('Wrong model !'), _('You have a wrong expression "%(...)s" in your model !'))
+ raise osv.except_osv(_('Wrong Model!'), _('You have a wrong expression "%(...)s" in your model!'))
move_id = account_move_obj.create(cr, uid, {
'ref': entry['name'],
'period_id': period_id,
@@ -2329,7 +2329,7 @@ class account_model(osv.osv):
analytic_account_id = False
if line.analytic_account_id:
if not model.journal_id.analytic_journal_id:
- raise osv.except_osv(_('No Analytic Journal !'),_("You have to define an analytic journal on the '%s' journal!") % (model.journal_id.name,))
+ raise osv.except_osv(_('No Analytic Journal!'),_("You have to define an analytic journal on the '%s' journal!") % (model.journal_id.name,))
analytic_account_id = line.analytic_account_id.id
val = {
'move_id': move_id,
diff --git a/addons/account/account_bank.py b/addons/account/account_bank.py
index 44411cd637a..acb0e640a7a 100644
--- a/addons/account/account_bank.py
+++ b/addons/account/account_bank.py
@@ -65,12 +65,11 @@ class bank(osv.osv):
# Find the code and parent of the bank account to create
dig = 6
current_num = 1
- ids = obj_acc.search(cr, uid, [('type','=','liquidity'), ('company_id', '=', bank.company_id.id)], context=context)
+ ids = obj_acc.search(cr, uid, [('type','=','liquidity'), ('company_id', '=', bank.company_id.id), ('parent_id', '!=', False)], context=context)
# No liquidity account exists, no template available
if not ids: continue
- ref_acc_bank_temp = obj_acc.browse(cr, uid, ids[0], context=context)
- ref_acc_bank = ref_acc_bank_temp.parent_id
+ ref_acc_bank = obj_acc.browse(cr, uid, ids[0], context=context).parent_id
while True:
new_code = str(ref_acc_bank.code.ljust(dig-len(str(current_num)), '0')) + str(current_num)
ids = obj_acc.search(cr, uid, [('code', '=', new_code), ('company_id', '=', bank.company_id.id)])
@@ -82,7 +81,7 @@ class bank(osv.osv):
'name': name,
'code': new_code,
'type': 'liquidity',
- 'user_type': ref_acc_bank_temp.user_type.id,
+ 'user_type': ref_acc_bank.user_type.id,
'reconcile': False,
'parent_id': ref_acc_bank.id,
'company_id': bank.company_id.id,
diff --git a/addons/account/account_bank_statement.py b/addons/account/account_bank_statement.py
index 023765d73f0..8a15321b9c6 100644
--- a/addons/account/account_bank_statement.py
+++ b/addons/account/account_bank_statement.py
@@ -420,7 +420,7 @@ class account_bank_statement(osv.osv):
for st_line in st.line_ids:
if st_line.analytic_account_id:
if not st.journal_id.analytic_journal_id:
- raise osv.except_osv(_('No Analytic Journal !'),_("You have to assign an analytic journal on the '%s' journal!") % (st.journal_id.name,))
+ raise osv.except_osv(_('No Analytic Journal!'),_("You have to assign an analytic journal on the '%s' journal!") % (st.journal_id.name,))
if not st_line.amount:
continue
st_line_number = self.get_next_st_line_number(cr, uid, st_number, st_line, context)
diff --git a/addons/account/account_cash_statement.py b/addons/account/account_cash_statement.py
index 40f0ca80738..8e3e250d41c 100644
--- a/addons/account/account_cash_statement.py
+++ b/addons/account/account_cash_statement.py
@@ -252,7 +252,7 @@ class account_cash_statement(osv.osv):
for statement in statement_pool.browse(cr, uid, ids, context=context):
vals = {}
if not self._user_allow(cr, uid, statement.id, context=context):
- raise osv.except_osv(_('Error!'), (_('You do not have rights to open this %s journal !') % (statement.journal_id.name, )))
+ raise osv.except_osv(_('Error!'), (_('You do not have rights to open this %s journal!') % (statement.journal_id.name, )))
if statement.name and statement.name == '/':
c = {'fiscalyear_id': statement.period_id.fiscalyear_id.id}
diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py
index 0c49bed2fb5..0fb6af05e58 100644
--- a/addons/account/account_invoice.py
+++ b/addons/account/account_invoice.py
@@ -51,9 +51,12 @@ class account_invoice(osv.osv):
company_id = context.get('company_id', user.company_id.id)
type2journal = {'out_invoice': 'sale', 'in_invoice': 'purchase', 'out_refund': 'sale_refund', 'in_refund': 'purchase_refund'}
journal_obj = self.pool.get('account.journal')
- res = journal_obj.search(cr, uid, [('type', '=', type2journal.get(type_inv, 'sale')),
- ('company_id', '=', company_id)],
- limit=1)
+ domain = [('company_id', '=', company_id)]
+ if isinstance(type_inv, list):
+ domain.append(('type', 'in', [type2journal.get(type) for type in type_inv if type2journal.get(type)]))
+ else:
+ domain.append(('type', '=', type2journal.get(type_inv, 'sale')))
+ res = journal_obj.search(cr, uid, domain, limit=1)
return res and res[0] or False
def _get_currency(self, cr, uid, context=None):
@@ -69,7 +72,7 @@ class account_invoice(osv.osv):
tt = type2journal.get(type_inv, 'sale')
result = self.pool.get('account.analytic.journal').search(cr, uid, [('type','=',tt)], context=context)
if not result:
- raise osv.except_osv(_('No Analytic Journal !'),_("You must define an analytic journal of type '%s'!") % (tt,))
+ raise osv.except_osv(_('No Analytic Journal!'),_("You must define an analytic journal of type '%s'!") % (tt,))
return result[0]
def _get_type(self, cr, uid, context=None):
@@ -578,6 +581,10 @@ class account_invoice(osv.osv):
return {'value': {}}
def onchange_company_id(self, cr, uid, ids, company_id, part_id, type, invoice_line, currency_id, context=None):
+ #TODO: add the missing context parameter when forward-porting in trunk so we can remove
+ # this hack!
+ context = self.pool['res.users'].context_get(cr, uid)
+
val = {}
dom = {}
obj_journal = self.pool.get('account.journal')
@@ -630,18 +637,17 @@ class account_invoice(osv.osv):
obj_l = account_obj.browse(cr, uid, inv_line[2]['account_id'])
if obj_l.company_id.id != company_id:
raise osv.except_osv(_('Configuration Error!'),
- _('Invoice line account\'s company and invoice\'s compnay does not match.'))
+ _('Invoice line account\'s company and invoice\'s company does not match.'))
else:
continue
if company_id and type:
- if type in ('out_invoice'):
- journal_type = 'sale'
- elif type in ('out_refund'):
- journal_type = 'sale_refund'
- elif type in ('in_refund'):
- journal_type = 'purchase_refund'
- else:
- journal_type = 'purchase'
+ journal_mapping = {
+ 'out_invoice': 'sale',
+ 'out_refund': 'sale_refund',
+ 'in_refund': 'purchase_refund',
+ 'in_invoice': 'purchase',
+ }
+ journal_type = journal_mapping[type]
journal_ids = obj_journal.search(cr, uid, [('company_id','=',company_id), ('type', '=', journal_type)])
if journal_ids:
val['journal_id'] = journal_ids[0]
@@ -651,7 +657,12 @@ class account_invoice(osv.osv):
if r[1] == 'journal_id' and r[2] in journal_ids:
val['journal_id'] = r[2]
if not val.get('journal_id', False):
- raise osv.except_osv(_('Configuration Error!'), (_('Cannot find any account journal of %s type for this company.\n\nYou can create one in the menu: \nConfiguration\Journals\Journals.') % (journal_type)))
+ journal_type_map = dict(obj_journal._columns['type'].selection)
+ journal_type_label = self.pool['ir.translation']._get_source(cr, uid, None, ('code','selection'),
+ context.get('lang'),
+ journal_type_map.get(journal_type))
+ raise osv.except_osv(_('Configuration Error!'),
+ _('Cannot find any account journal of %s type for this company.\n\nYou can create one in the menu: \nConfiguration\Journals\Journals.') % ('"%s"' % journal_type_label))
dom = {'journal_id': [('id', 'in', journal_ids)]}
else:
journal_ids = obj_journal.search(cr, uid, [])
@@ -786,7 +797,7 @@ class account_invoice(osv.osv):
else:
ref = self._convert_ref(cr, uid, inv.number)
if not inv.journal_id.analytic_journal_id:
- raise osv.except_osv(_('No Analytic Journal !'),_("You have to define an analytic journal on the '%s' journal!") % (inv.journal_id.name,))
+ raise osv.except_osv(_('No Analytic Journal!'),_("You have to define an analytic journal on the '%s' journal!") % (inv.journal_id.name,))
il['analytic_lines'] = [(0,0, {
'name': il['name'],
'date': inv['date_invoice'],
@@ -912,7 +923,7 @@ class account_invoice(osv.osv):
if not inv.journal_id.sequence_id:
raise osv.except_osv(_('Error!'), _('Please define sequence on the journal related to this invoice.'))
if not inv.invoice_line:
- raise osv.except_osv(_('No Invoice Lines !'), _('Please create some invoice lines.'))
+ raise osv.except_osv(_('No Invoice Lines!'), _('Please create some invoice lines.'))
if inv.move_id:
continue
@@ -933,7 +944,7 @@ class account_invoice(osv.osv):
group_check_total = self.pool.get('res.groups').browse(cr, uid, group_check_total_id, context=context)
if group_check_total and uid in [x.id for x in group_check_total.users]:
if (inv.type in ('in_invoice', 'in_refund') and abs(inv.check_total - inv.amount_total) >= (inv.currency_id.rounding/2.0)):
- raise osv.except_osv(_('Bad total !'), _('Please verify the price of the invoice !\nThe encoded total does not match the computed total.'))
+ raise osv.except_osv(_('Bad Total!'), _('Please verify the price of the invoice!\nThe encoded total does not match the computed total.'))
if inv.payment_term:
total_fixed = total_percent = 0
@@ -968,7 +979,7 @@ class account_invoice(osv.osv):
total, total_currency, iml = self.compute_invoice_totals(cr, uid, inv, company_currency, ref, iml, context=ctx)
acc_id = inv.account_id.id
- name = inv['name'] or '/'
+ name = inv['name'] or inv['supplier_invoice_number'] or '/'
totlines = False
if inv.payment_term:
totlines = payment_term_obj.compute(cr,
@@ -1167,12 +1178,12 @@ class account_invoice(osv.osv):
if not ids:
return []
types = {
- 'out_invoice': 'Invoice ',
- 'in_invoice': 'Sup. Invoice ',
- 'out_refund': 'Refund ',
- 'in_refund': 'Supplier Refund ',
+ 'out_invoice': _('Invoice'),
+ 'in_invoice': _('Supplier Invoice'),
+ 'out_refund': _('Refund'),
+ 'in_refund': _('Supplier Refund'),
}
- return [(r['id'], (r['number']) or types[r['type']] + (r['name'] or '')) for r in self.read(cr, uid, ids, ['type', 'number', 'name'], context, load='_classic_write')]
+ return [(r['id'], '%s %s' % (r['number'] or types[r['type']], r['name'] or '')) for r in self.read(cr, uid, ids, ['type', 'number', 'name'], context, load='_classic_write')]
def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100):
if not args:
@@ -1475,7 +1486,7 @@ class account_invoice_line(osv.osv):
context = dict(context)
context.update({'company_id': company_id, 'force_company': company_id})
if not partner_id:
- raise osv.except_osv(_('No Partner Defined !'),_("You must first select a partner !") )
+ raise osv.except_osv(_('No Partner Defined!'),_("You must first select a partner!") )
if not product:
if type in ('in_invoice', 'in_refund'):
return {'value': {}, 'domain':{'product_uom':[]}}
diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py
index d6c25364784..314e3423996 100644
--- a/addons/account/account_move_line.py
+++ b/addons/account/account_move_line.py
@@ -192,7 +192,7 @@ class account_move_line(osv.osv):
for obj_line in self.browse(cr, uid, ids, context=context):
if obj_line.analytic_account_id:
if not obj_line.journal_id.analytic_journal_id:
- raise osv.except_osv(_('No Analytic Journal !'),_("You have to define an analytic journal on the '%s' journal!") % (obj_line.journal_id.name, ))
+ raise osv.except_osv(_('No Analytic Journal!'),_("You have to define an analytic journal on the '%s' journal!") % (obj_line.journal_id.name, ))
vals_line = self._prepare_analytic_line(cr, uid, obj_line, context=context)
acc_ana_line_obj.create(cr, uid, vals_line)
return True
@@ -1066,12 +1066,12 @@ class account_move_line(osv.osv):
for line in self.browse(cr, uid, ids, context=context):
ctx = context.copy()
- if ('journal_id' not in ctx):
+ if not ctx.get('journal_id'):
if line.move_id:
ctx['journal_id'] = line.move_id.journal_id.id
else:
ctx['journal_id'] = line.journal_id.id
- if ('period_id' not in ctx):
+ if not ctx.get('period_id'):
if line.move_id:
ctx['period_id'] = line.move_id.period_id.id
else:
@@ -1101,7 +1101,7 @@ class account_move_line(osv.osv):
period = period_obj.browse(cr, uid, period_id, context=context)
for (state,) in result:
if state == 'done':
- raise osv.except_osv(_('Error !'), _('You can not add/modify entries in a closed period %s of journal %s.' % (period.name,journal.name)))
+ raise osv.except_osv(_('Error!'), _('You can not add/modify entries in a closed period %s of journal %s.' % (period.name,journal.name)))
if not result:
jour_period_obj.create(cr, uid, {
'name': (journal.code or journal.name)+':'+(period.name or ''),
@@ -1181,7 +1181,7 @@ class account_move_line(osv.osv):
move_id = move_obj.create(cr, uid, v, context)
vals['move_id'] = move_id
else:
- raise osv.except_osv(_('No piece number !'), _('Cannot create an automatic sequence for this piece.\nPut a sequence in the journal definition for automatic numbering or create a sequence manually for this piece.'))
+ raise osv.except_osv(_('No Piece Number!'), _('Cannot create an automatic sequence for this piece.\nPut a sequence in the journal definition for automatic numbering or create a sequence manually for this piece.'))
ok = not (journal.type_control_ids or journal.account_control_ids)
if ('account_id' in vals):
account = account_obj.browse(cr, uid, vals['account_id'], context=context)
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index e921e639642..758385d66cb 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -585,7 +585,10 @@
-
+
diff --git a/addons/account/i18n/ru.po b/addons/account/i18n/ru.po
index 17687d26313..da620808a85 100644
--- a/addons/account/i18n/ru.po
+++ b/addons/account/i18n/ru.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
-"PO-Revision-Date: 2013-06-05 13:02+0000\n"
+"PO-Revision-Date: 2013-06-07 12:52+0000\n"
"Last-Translator: Chertykov Denis \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: 2013-06-06 05:21+0000\n"
+"X-Launchpad-Export-Date: 2013-06-08 05:52+0000\n"
"X-Generator: Launchpad (build 16667)\n"
#. module: account
@@ -59,7 +59,7 @@ msgid "Residual"
msgstr "Остаток"
#. module: account
-#: code:addons/account/account_bank_statement.py:368
+#: code:addons/account/account_bank_statement.py:369
#, python-format
msgid "Journal item \"%s\" is not valid."
msgstr "Недопустимый элемент журнала \"%s\""
@@ -75,9 +75,9 @@ msgid "Import from invoice or payment"
msgstr "Импорт из счета или платежного поручения"
#. module: account
-#: code:addons/account/account_move_line.py:1061
-#: code:addons/account/account_move_line.py:1146
-#: code:addons/account/account_move_line.py:1213
+#: code:addons/account/account_move_line.py:1058
+#: code:addons/account/account_move_line.py:1143
+#: code:addons/account/account_move_line.py:1210
#, python-format
msgid "Bad Account!"
msgstr "Плохой счет !"
@@ -133,15 +133,15 @@ msgstr ""
#: code:addons/account/account.py:641
#: code:addons/account/account.py:686
#: code:addons/account/account.py:781
-#: code:addons/account/account.py:1049
-#: code:addons/account/account_invoice.py:788
-#: code:addons/account/account_invoice.py:791
-#: code:addons/account/account_invoice.py:794
-#: code:addons/account/account_invoice.py:1514
+#: code:addons/account/account.py:1058
+#: code:addons/account/account_invoice.py:817
+#: code:addons/account/account_invoice.py:820
+#: code:addons/account/account_invoice.py:823
+#: code:addons/account/account_invoice.py:1542
#: code:addons/account/account_move_line.py:98
-#: code:addons/account/account_move_line.py:774
-#: code:addons/account/account_move_line.py:827
-#: code:addons/account/account_move_line.py:867
+#: code:addons/account/account_move_line.py:771
+#: code:addons/account/account_move_line.py:824
+#: code:addons/account/account_move_line.py:864
#: code:addons/account/wizard/account_fiscalyear_close.py:62
#: code:addons/account/wizard/account_invoice_state.py:44
#: code:addons/account/wizard/account_invoice_state.py:68
@@ -153,7 +153,7 @@ msgid "Warning!"
msgstr "Предупреждение!"
#. module: account
-#: code:addons/account/account.py:3159
+#: code:addons/account/account.py:3197
#, python-format
msgid "Miscellaneous Journal"
msgstr "Смешанный журнал"
@@ -441,6 +441,13 @@ msgid ""
"this box, you will be able to do invoicing & payments,\n"
" but not accounting (Journal Items, Chart of Accounts, ...)"
msgstr ""
+"Позволяет Вам управлять активами, принадлежавшими компании или человеку.\n"
+" Отслеживание амортизации активов, создание операций по счету "
+"для позиций амортизации.\n"
+" Устанавливает модуль account_asset. Если вы не установите "
+"этот флажок, вы сможете выставлять \n"
+" счета и делать платежи, но не будет бухгалтерского учета "
+"(Журналов, Плана счетов, ...)"
#. module: account
#: help:account.bank.statement.line,name:0
@@ -676,7 +683,7 @@ msgid "Profit Account"
msgstr "Счет прибыли"
#. module: account
-#: code:addons/account/account_move_line.py:1159
+#: code:addons/account/account_move_line.py:1156
#, python-format
msgid "No period found or more than one period found for the given date."
msgstr "Для заданной даты период не найден или найдено более одного периода."
@@ -687,13 +694,13 @@ msgid "Report of the Sales by Account Type"
msgstr "Отчет о продажах по типу счета"
#. module: account
-#: code:addons/account/account.py:3163
+#: code:addons/account/account.py:3201
#, python-format
msgid "SAJ"
msgstr "КнП"
#. module: account
-#: code:addons/account/account.py:1553
+#: code:addons/account/account.py:1591
#, python-format
msgid "Cannot create move with currency different from .."
msgstr "Нельзя сделать движение по валюте отличной от.."
@@ -790,7 +797,7 @@ msgid "Are you sure you want to create entries?"
msgstr "Вы действительно хотите создать проводки?"
#. module: account
-#: code:addons/account/account_invoice.py:1330
+#: code:addons/account/account_invoice.py:1358
#, python-format
msgid "Invoice partially paid: %s%s of %s%s (%s%s remaining)."
msgstr "Счет частично оплачен: %s%s из %s%s (%s%s остаток)."
@@ -859,7 +866,7 @@ msgid "Type"
msgstr "Тип"
#. module: account
-#: code:addons/account/account_invoice.py:794
+#: code:addons/account/account_invoice.py:823
#, python-format
msgid ""
"Taxes are missing!\n"
@@ -884,7 +891,7 @@ msgid "Supplier Invoices And Refunds"
msgstr "Счета поставщиков и возмещения"
#. module: account
-#: code:addons/account/account_move_line.py:854
+#: code:addons/account/account_move_line.py:851
#, python-format
msgid "Entry is already reconciled."
msgstr "Проводка уже сверена."
@@ -961,7 +968,7 @@ msgstr ""
" "
#. module: account
-#: code:addons/account/account.py:1639
+#: code:addons/account/account.py:1677
#, python-format
msgid ""
"You cannot unreconcile journal items if they has been generated by the "
@@ -1045,7 +1052,7 @@ msgid "Liability"
msgstr "Обязательства"
#. module: account
-#: code:addons/account/account_invoice.py:867
+#: code:addons/account/account_invoice.py:896
#, python-format
msgid "Please define sequence on the journal related to this invoice."
msgstr "Пожалуйста, определите нумерацию в журнале, связанном с этим счетом."
@@ -1119,10 +1126,10 @@ msgid "Features"
msgstr "Возможности"
#. module: account
-#: code:addons/account/account.py:2308
-#: code:addons/account/account_bank_statement.py:423
+#: code:addons/account/account.py:2346
+#: code:addons/account/account_bank_statement.py:424
#: code:addons/account/account_invoice.py:74
-#: code:addons/account/account_invoice.py:744
+#: code:addons/account/account_invoice.py:772
#: code:addons/account/account_move_line.py:195
#, python-format
msgid "No Analytic Journal !"
@@ -1169,6 +1176,8 @@ msgid ""
"Check this box if you don't want any tax related to this tax code to appear "
"on invoices"
msgstr ""
+"Отметьте, если Вы не хотите, чтобы налог, связанный с этим кодом налога, "
+"появился в счетах"
#. module: account
#: field:report.account.receivable,name:0
@@ -1248,7 +1257,7 @@ msgstr ""
#. module: account
#: model:account.account.type,name:account.data_account_type_bank
#: selection:account.bank.accounts.wizard,account_type:0
-#: code:addons/account/account.py:3054
+#: code:addons/account/account.py:3092
#, python-format
msgid "Bank"
msgstr "Банковский"
@@ -1566,7 +1575,7 @@ msgid "With balance is not equal to 0"
msgstr "С балансом не равным 0"
#. module: account
-#: code:addons/account/account.py:1445
+#: code:addons/account/account.py:1483
#, python-format
msgid ""
"There is no default debit account defined \n"
@@ -1608,6 +1617,8 @@ msgid ""
"There is nothing to reconcile. All invoices and payments\n"
" have been reconciled, your partner balance is clean."
msgstr ""
+"Все сверено. Все счета и платежи\n"
+" были сверены, баланс партнера чист."
#. module: account
#: field:account.chart.template,code_digits:0
@@ -1792,8 +1803,10 @@ msgstr ""
#: view:account.invoice:0
#: view:account.invoice.report:0
#: field:account.move.line,invoice:0
+#: code:addons/account/account_invoice.py:1154
#: model:ir.model,name:account.model_account_invoice
#: model:res.request.link,name:account.req_link_invoice
+#, python-format
msgid "Invoice"
msgstr "Счет"
@@ -1868,7 +1881,7 @@ msgid ""
msgstr ""
#. module: account
-#: code:addons/account/account_move_line.py:857
+#: code:addons/account/account_move_line.py:854
#, python-format
msgid "Some entries are already reconciled."
msgstr "Некоторые записи уже сверены."
@@ -1889,6 +1902,8 @@ msgid ""
"Select a configuration package to setup automatically your\n"
" taxes and chart of accounts."
msgstr ""
+"Выберите конфигурацию установки для настройки автоматически ваших\n"
+" налогов и планов счетов."
#. module: account
#: view:account.analytic.account:0
@@ -1898,7 +1913,7 @@ msgstr "Ожидающие счета"
#. module: account
#: view:account.open.closed.fiscalyear:0
msgid "Cancel Fiscal Year Opening Entries"
-msgstr ""
+msgstr "Отмените записи открытия финансового года"
#. module: account
#: report:account.journal.period.print.sale.purchase:0
@@ -2022,36 +2037,36 @@ msgstr ""
#: code:addons/account/account.py:634
#: code:addons/account/account.py:636
#: code:addons/account/account.py:930
-#: code:addons/account/account.py:1062
-#: code:addons/account/account.py:1064
-#: code:addons/account/account.py:1103
-#: code:addons/account/account.py:1283
-#: code:addons/account/account.py:1297
-#: code:addons/account/account.py:1320
-#: code:addons/account/account.py:1327
-#: code:addons/account/account.py:1549
-#: code:addons/account/account.py:1553
-#: code:addons/account/account.py:1639
-#: code:addons/account/account.py:2320
-#: code:addons/account/account.py:2640
-#: code:addons/account/account.py:3427
+#: code:addons/account/account.py:1071
+#: code:addons/account/account.py:1073
+#: code:addons/account/account.py:1116
+#: code:addons/account/account.py:1319
+#: code:addons/account/account.py:1333
+#: code:addons/account/account.py:1356
+#: code:addons/account/account.py:1363
+#: code:addons/account/account.py:1587
+#: code:addons/account/account.py:1591
+#: code:addons/account/account.py:1677
+#: code:addons/account/account.py:2358
+#: code:addons/account/account.py:2678
+#: code:addons/account/account.py:3465
#: code:addons/account/account_analytic_line.py:89
#: code:addons/account/account_analytic_line.py:98
-#: code:addons/account/account_bank_statement.py:367
-#: code:addons/account/account_bank_statement.py:380
-#: code:addons/account/account_bank_statement.py:418
+#: code:addons/account/account_bank_statement.py:368
+#: code:addons/account/account_bank_statement.py:381
+#: code:addons/account/account_bank_statement.py:419
#: code:addons/account/account_cash_statement.py:256
#: code:addons/account/account_cash_statement.py:300
-#: code:addons/account/account_invoice.py:867
-#: code:addons/account/account_invoice.py:901
-#: code:addons/account/account_invoice.py:1091
-#: code:addons/account/account_move_line.py:578
-#: code:addons/account/account_move_line.py:831
+#: code:addons/account/account_invoice.py:896
+#: code:addons/account/account_invoice.py:930
+#: code:addons/account/account_invoice.py:1121
+#: code:addons/account/account_move_line.py:579
+#: code:addons/account/account_move_line.py:828
+#: code:addons/account/account_move_line.py:851
#: code:addons/account/account_move_line.py:854
-#: code:addons/account/account_move_line.py:857
-#: code:addons/account/account_move_line.py:1122
-#: code:addons/account/account_move_line.py:1124
-#: code:addons/account/account_move_line.py:1159
+#: code:addons/account/account_move_line.py:1119
+#: code:addons/account/account_move_line.py:1121
+#: code:addons/account/account_move_line.py:1156
#: code:addons/account/report/common_report_header.py:92
#: code:addons/account/wizard/account_change_currency.py:38
#: code:addons/account/wizard/account_change_currency.py:59
@@ -2065,8 +2080,8 @@ msgstr ""
#: code:addons/account/wizard/account_report_common.py:158
#: code:addons/account/wizard/account_report_common.py:164
#: code:addons/account/wizard/account_use_model.py:44
-#: code:addons/account/wizard/pos_box.py:32
-#: code:addons/account/wizard/pos_box.py:36
+#: code:addons/account/wizard/pos_box.py:31
+#: code:addons/account/wizard/pos_box.py:35
#, python-format
msgid "Error!"
msgstr "Ошибка!"
@@ -2116,12 +2131,14 @@ msgid "period close"
msgstr "закрытие периода"
#. module: account
-#: code:addons/account/account.py:1049
+#: code:addons/account/account.py:1058
#, python-format
msgid ""
"This journal already contains items for this period, therefore you cannot "
"modify its company field."
msgstr ""
+"Этот журнал уже содержит элементы за этот период, по этому вы не можете "
+"изменить поле компании ."
#. module: account
#: model:ir.actions.act_window,name:account.action_project_account_analytic_line_form
@@ -2188,7 +2205,7 @@ msgid "Analytic account"
msgstr "Счет аналитики"
#. module: account
-#: code:addons/account/account_bank_statement.py:405
+#: code:addons/account/account_bank_statement.py:406
#, python-format
msgid "Please verify that an account is defined in the journal."
msgstr "Пожалуйста, проверьте, что счет определен в журнале."
@@ -2221,7 +2238,7 @@ msgstr "Категория ТМЦ"
msgid ""
"You cannot change the type of account to '%s' type as it contains journal "
"items!"
-msgstr ""
+msgstr "Нельзя изменить тип счета на '%s', так как он содержит записи!"
#. module: account
#: model:ir.model,name:account.model_account_aged_trial_balance
@@ -2336,6 +2353,7 @@ msgid ""
"If you want the journal should be control at opening/closing, check this "
"option"
msgstr ""
+"Если вы хотите контролировать открытие/закрытие журнала, отметьте эту опцию"
#. module: account
#: view:account.bank.statement:0
@@ -2427,7 +2445,7 @@ msgstr "У вас нет прав открыть журнал %s !"
#. module: account
#: model:res.groups,name:account.group_supplier_inv_check_total
msgid "Check Total on supplier invoices"
-msgstr ""
+msgstr "Проверить итог по счетам поставщиков"
#. module: account
#: selection:account.invoice,state:0
@@ -2501,7 +2519,7 @@ msgstr "Cчёт доходов и расходов"
#. module: account
#: help:account.config.settings,default_sale_tax:0
msgid "This sale tax will be assigned by default on new products."
-msgstr ""
+msgstr "Эта налог с продажи будет по умолчанию присвоен новой продукции."
#. module: account
#: report:account.general.ledger_landscape:0
@@ -2591,6 +2609,8 @@ msgid ""
"You cannot change the type of account from 'Closed' to any other type as it "
"contains journal items!"
msgstr ""
+"Вы не можете изменить тип счета «Закрыто» на любой другой тип, поскольку он "
+"содержит элементы журнала !"
#. module: account
#: field:account.invoice.report,account_line_id:0
@@ -2603,7 +2623,7 @@ msgid "Create an Account Based on this Template"
msgstr "Создать счет на основе этого шаблона"
#. module: account
-#: code:addons/account/account_invoice.py:901
+#: code:addons/account/account_invoice.py:930
#, python-format
msgid ""
"Cannot create the invoice.\n"
@@ -2624,7 +2644,7 @@ msgid "Main Sequence"
msgstr "Основная Последовательность"
#. module: account
-#: code:addons/account/account_bank_statement.py:477
+#: code:addons/account/account_bank_statement.py:478
#, python-format
msgid ""
"In order to delete a bank statement, you must first cancel it to delete "
@@ -2650,7 +2670,7 @@ msgid "Fiscal Positions"
msgstr "Системы налогообложения"
#. module: account
-#: code:addons/account/account_move_line.py:578
+#: code:addons/account/account_move_line.py:579
#, python-format
msgid "You cannot create journal items on a closed account %s %s."
msgstr "Нельзя создать элемент журнала по закрытому счету %s %s."
@@ -2758,7 +2778,7 @@ msgid "Account Model Entries"
msgstr "Проводки модели счета"
#. module: account
-#: code:addons/account/account.py:3164
+#: code:addons/account/account.py:3202
#, python-format
msgid "EXJ"
msgstr "ЖР"
@@ -2874,21 +2894,20 @@ msgid "Accounts"
msgstr "Счета"
#. module: account
-#: code:addons/account/account.py:3503
-#: code:addons/account/account_bank_statement.py:404
-#: code:addons/account/account_invoice.py:378
-#: code:addons/account/account_invoice.py:484
-#: code:addons/account/account_invoice.py:582
-#: code:addons/account/account_invoice.py:597
-#: code:addons/account/account_invoice.py:605
-#: code:addons/account/account_invoice.py:627
-#: code:addons/account/account_move_line.py:535
+#: code:addons/account/account.py:3541
+#: code:addons/account/account_bank_statement.py:405
+#: code:addons/account/account_invoice.py:504
+#: code:addons/account/account_invoice.py:606
+#: code:addons/account/account_invoice.py:621
+#: code:addons/account/account_invoice.py:629
+#: code:addons/account/account_invoice.py:654
+#: code:addons/account/account_move_line.py:536
#, python-format
msgid "Configuration Error!"
msgstr "Ошибка конфигурации!"
#. module: account
-#: code:addons/account/account_bank_statement.py:433
+#: code:addons/account/account_bank_statement.py:434
#, python-format
msgid "Statement %s confirmed, journal items were created."
msgstr "Распоряжение %s подтверждено, элементы журнала созданы."
@@ -3081,7 +3100,7 @@ msgid ""
msgstr ""
#. module: account
-#: code:addons/account/account.py:1062
+#: code:addons/account/account.py:1071
#, python-format
msgid "You should choose the periods that belong to the same company."
msgstr "Вы должны выбрать периоды относящиеся к одной компании."
@@ -3094,7 +3113,7 @@ msgid "Sales by Account"
msgstr "Продажи по бух. счетам"
#. module: account
-#: code:addons/account/account.py:1411
+#: code:addons/account/account.py:1449
#, python-format
msgid "You cannot delete a posted journal entry \"%s\"."
msgstr "Нельзя удалить проведенную проводку журнала \"%s\"."
@@ -3110,8 +3129,8 @@ msgid "Sale journal"
msgstr "Журнал продаж"
#. module: account
-#: code:addons/account/account.py:2308
-#: code:addons/account/account_invoice.py:744
+#: code:addons/account/account.py:2346
+#: code:addons/account/account_invoice.py:772
#: code:addons/account/account_move_line.py:195
#, python-format
msgid "You have to define an analytic journal on the '%s' journal!"
@@ -3196,12 +3215,12 @@ msgstr ""
#: view:account.unreconcile:0
#: view:account.unreconcile.reconcile:0
msgid "Unreconcile Transactions"
-msgstr ""
+msgstr "Отменить сверку"
#. module: account
#: field:wizard.multi.charts.accounts,only_one_chart_template:0
msgid "Only One Chart Template Available"
-msgstr ""
+msgstr "доступен только один шаблон плана счетов"
#. module: account
#: view:account.chart.template:0
@@ -3280,7 +3299,7 @@ msgid "Fiscal Position"
msgstr "Система налогообложения"
#. module: account
-#: code:addons/account/account_invoice.py:791
+#: code:addons/account/account_invoice.py:820
#, python-format
msgid ""
"Tax base different!\n"
@@ -3313,6 +3332,7 @@ msgstr "Оборотно-сальдовая ведомость"
#, python-format
msgid "Unable to adapt the initial balance (negative value)."
msgstr ""
+"Не в состоянии адаптироваться начальный баланс (отрицательное значение)."
#. module: account
#: selection:account.invoice,type:0
@@ -3380,7 +3400,7 @@ msgstr ""
"дату. Входящие сделки всегда используют ставку на сегодняшний день."
#. module: account
-#: code:addons/account/account.py:2640
+#: code:addons/account/account.py:2678
#, python-format
msgid "There is no parent code for the template account."
msgstr ""
@@ -3443,7 +3463,7 @@ msgid "View"
msgstr "Вид"
#. module: account
-#: code:addons/account/account.py:3422
+#: code:addons/account/account.py:3460
#: code:addons/account/account_bank.py:95
#, python-format
msgid "BNK"
@@ -3572,7 +3592,7 @@ msgstr ""
#. module: account
#: view:account.period:0
msgid "Account Period"
-msgstr ""
+msgstr "Период счета"
#. module: account
#: help:account.account,currency_id:0
@@ -3714,7 +3734,7 @@ msgstr ""
"иметь названия как и у самого документа"
#. module: account
-#: code:addons/account/account_invoice.py:984
+#: code:addons/account/account_invoice.py:1013
#, python-format
msgid ""
"You cannot create an invoice on a centralized journal. Uncheck the "
@@ -3729,7 +3749,7 @@ msgid "Starting Balance"
msgstr "Начальный баланс"
#. module: account
-#: code:addons/account/account_invoice.py:1434
+#: code:addons/account/account_invoice.py:1462
#, python-format
msgid "No Partner Defined !"
msgstr "Партнер не определен!"
@@ -3782,7 +3802,7 @@ msgid ""
msgstr ""
#. module: account
-#: code:addons/account/account_move_line.py:535
+#: code:addons/account/account_move_line.py:536
#, python-format
msgid ""
"Cannot find any account journal of %s type for this company.\n"
@@ -3948,7 +3968,7 @@ msgid "Period Length (days)"
msgstr "Длина периода (в днях)"
#. module: account
-#: code:addons/account/account.py:1327
+#: code:addons/account/account.py:1363
#, python-format
msgid ""
"You cannot modify a posted entry of this journal.\n"
@@ -3978,6 +3998,8 @@ msgid ""
"There is no fiscal year defined for this date.\n"
"Please create one from the configuration of the accounting menu."
msgstr ""
+"Нет финансового года, для этой даты.\n"
+"Пожалуйста, создайте его в меню настройки учета."
#. module: account
#: view:account.addtmpl.wizard:0
@@ -4112,7 +4134,7 @@ msgid "Chart of Accounts Template"
msgstr "Шаблон плана счетов"
#. module: account
-#: code:addons/account/account.py:2320
+#: code:addons/account/account.py:2358
#, python-format
msgid ""
"Maturity date of entry line generated by model line '%s' of model '%s' is "
@@ -4178,7 +4200,7 @@ msgstr ""
#. module: account
#: field:account.config.settings,group_check_supplier_invoice_total:0
msgid "Check the total of supplier invoices"
-msgstr ""
+msgstr "Проверка итога по счетам поставщиков"
#. module: account
#: view:account.tax:0
@@ -4192,6 +4214,8 @@ msgid ""
"When monthly periods are created. The status is 'Draft'. At the end of "
"monthly period it is in 'Done' status."
msgstr ""
+"При создании месячных периодов. Статус - \"Черновик\". В конце месячного "
+"периода статус - \"Сделано\"."
#. module: account
#: view:account.invoice.report:0
@@ -4221,7 +4245,7 @@ msgstr "Счета к оплате"
#: code:addons/account/wizard/account_fiscalyear_close.py:88
#, python-format
msgid "The periods to generate opening entries cannot be found."
-msgstr ""
+msgstr "Не найдены периоды для создания записей открытия."
#. module: account
#: model:process.node,name:account.process_node_supplierpaymentorder0
@@ -4264,7 +4288,7 @@ msgstr ""
#. module: account
#: field:account.config.settings,complete_tax_set:0
msgid "Complete set of taxes"
-msgstr ""
+msgstr "Полный набор налогов"
#. module: account
#: field:account.account,name:0
@@ -4279,7 +4303,7 @@ msgid "Name"
msgstr "Название"
#. module: account
-#: code:addons/account/installer.py:94
+#: code:addons/account/installer.py:115
#, python-format
msgid "No unconfigured company !"
msgstr "Нет ненастроенной компании!"
@@ -4287,7 +4311,7 @@ msgstr "Нет ненастроенной компании!"
#. module: account
#: field:res.company,expects_chart_of_accounts:0
msgid "Expects a Chart of Accounts"
-msgstr ""
+msgstr "Ожидается план счетов"
#. module: account
#: field:account.move.line,date:0
@@ -4350,10 +4374,12 @@ msgid ""
"Check this box if you don't want any tax related to this tax Code to appear "
"on invoices."
msgstr ""
+"Отметьте, если Вы не хотите, чтобы налог, связанный с этим кодом налога, "
+"появился в счетах"
#. module: account
-#: code:addons/account/account_move_line.py:1061
-#: code:addons/account/account_move_line.py:1146
+#: code:addons/account/account_move_line.py:1058
+#: code:addons/account/account_move_line.py:1143
#, python-format
msgid "You cannot use an inactive account."
msgstr "Вы не можете использовать неактивный счет ."
@@ -4383,7 +4409,7 @@ msgid "Consolidated Children"
msgstr "Субсчета"
#. module: account
-#: code:addons/account/account_invoice.py:550
+#: code:addons/account/account_invoice.py:570
#: code:addons/account/wizard/account_invoice_refund.py:146
#, python-format
msgid "Insufficient Data!"
@@ -4595,7 +4621,7 @@ msgid "Cancel the Selected Invoices"
msgstr "Отменить выбранные счета"
#. module: account
-#: code:addons/account/account_bank_statement.py:423
+#: code:addons/account/account_bank_statement.py:424
#, python-format
msgid "You have to assign an analytic journal on the '%s' journal!"
msgstr "Вы должны назначить журнал аналитики для журнал '%s'!"
@@ -4664,8 +4690,8 @@ msgid "Supplier invoice sequence"
msgstr "Нумерация счетов поставщиков"
#. module: account
-#: code:addons/account/account_invoice.py:583
-#: code:addons/account/account_invoice.py:598
+#: code:addons/account/account_invoice.py:607
+#: code:addons/account/account_invoice.py:622
#, python-format
msgid ""
"Cannot find a chart of account, you should create one from Settings\\"
@@ -4728,7 +4754,7 @@ msgid "Account Base Code"
msgstr "Основной код счёта"
#. module: account
-#: code:addons/account/account_move_line.py:867
+#: code:addons/account/account_move_line.py:864
#, python-format
msgid ""
"You have to provide an account for the write off/exchange difference entry."
@@ -4795,7 +4821,7 @@ msgid "Statement from invoice or payment"
msgstr "Документ из счета или платежа"
#. module: account
-#: code:addons/account/installer.py:94
+#: code:addons/account/installer.py:115
#, python-format
msgid ""
"There is currently no company without chart of account. The wizard will "
@@ -4849,7 +4875,7 @@ msgid "Bank statements are entered in the system."
msgstr "Банковские выписки введены в систему."
#. module: account
-#: code:addons/account/wizard/account_reconcile.py:121
+#: code:addons/account/wizard/account_reconcile.py:122
#, python-format
msgid "Reconcile Writeoff"
msgstr "Сверить списание"
@@ -4945,7 +4971,7 @@ msgstr ""
"Нельзя создать счет, который имеет родительский счет другой компании."
#. module: account
-#: code:addons/account/account_invoice.py:627
+#: code:addons/account/account_invoice.py:655
#, python-format
msgid ""
"Cannot find any account journal of %s type for this company.\n"
@@ -4960,7 +4986,7 @@ msgid "Based On"
msgstr "Основан на"
#. module: account
-#: code:addons/account/account.py:3166
+#: code:addons/account/account.py:3204
#, python-format
msgid "ECNJ"
msgstr "ECNJ"
@@ -5026,7 +5052,7 @@ msgid ""
msgstr ""
#. module: account
-#: code:addons/account/account.py:3356
+#: code:addons/account/account.py:3394
#, python-format
msgid "Purchase Tax %.2f%%"
msgstr "Налог на покупку %.2f%%"
@@ -5100,7 +5126,7 @@ msgid ""
msgstr ""
#. module: account
-#: code:addons/account/account.py:3167
+#: code:addons/account/account.py:3205
#, python-format
msgid "MISC"
msgstr "РАЗНОЕ"
@@ -5269,7 +5295,7 @@ msgid "Tax Application"
msgstr "Применение налога"
#. module: account
-#: code:addons/account/account_invoice.py:890
+#: code:addons/account/account_invoice.py:919
#, python-format
msgid ""
"Please verify the price of the invoice !\n"
@@ -5443,7 +5469,7 @@ msgid "Target Moves"
msgstr "Цель операции"
#. module: account
-#: code:addons/account/account.py:1416
+#: code:addons/account/account.py:1454
#, python-format
msgid ""
"Move cannot be deleted if linked to an invoice. (Invoice: %s - Move ID:%s)"
@@ -5524,7 +5550,7 @@ msgid "Internal Name"
msgstr "Внутреннее название"
#. module: account
-#: code:addons/account/account_move_line.py:1188
+#: code:addons/account/account_move_line.py:1185
#, python-format
msgid ""
"Cannot create an automatic sequence for this piece.\n"
@@ -5596,7 +5622,7 @@ msgid "Compute Code (if type=code)"
msgstr "Вычислить код (если тип=код)"
#. module: account
-#: code:addons/account/account_invoice.py:485
+#: code:addons/account/account_invoice.py:505
#, python-format
msgid ""
"Cannot find a chart of accounts for this company, you should create one."
@@ -5729,7 +5755,7 @@ msgid "Recompute taxes and total"
msgstr "Перерасчет налогов и итога"
#. module: account
-#: code:addons/account/account.py:1103
+#: code:addons/account/account.py:1116
#, python-format
msgid "You cannot modify/delete a journal with entries for this period."
msgstr "Нельзя изменить/удалить журнал с проводками за этот период."
@@ -5759,7 +5785,7 @@ msgid "Amount Computation"
msgstr "Расчет суммы"
#. module: account
-#: code:addons/account/account_move_line.py:1108
+#: code:addons/account/account_move_line.py:1105
#, python-format
msgid "You can not add/modify entries in a closed period %s of journal %s."
msgstr "Нельзя добавлять/изменять записи в закрытый период %s журнала %s."
@@ -6056,7 +6082,7 @@ msgid "Fixed Amount"
msgstr "Фиксированная величина"
#. module: account
-#: code:addons/account/account_move_line.py:1059
+#: code:addons/account/account_move_line.py:1056
#, python-format
msgid "You cannot change the tax, you should remove and recreate lines."
msgstr ""
@@ -6107,14 +6133,14 @@ msgid "Child Accounts"
msgstr "Субсчета"
#. module: account
-#: code:addons/account/account_move_line.py:1120
+#: code:addons/account/account_move_line.py:1117
#, python-format
msgid "Move name (id): %s (%s)"
msgstr ""
#. module: account
#: view:account.move.line.reconcile:0
-#: code:addons/account/account_move_line.py:882
+#: code:addons/account/account_move_line.py:879
#, python-format
msgid "Write-Off"
msgstr "Списание"
@@ -6140,7 +6166,7 @@ msgstr "Доход"
#: view:account.config.settings:0
#: view:account.invoice:0
#: view:account.invoice.report:0
-#: code:addons/account/account_invoice.py:355
+#: code:addons/account/account_invoice.py:387
#, python-format
msgid "Supplier"
msgstr "Поставщик"
@@ -6279,7 +6305,7 @@ msgid "Filter by"
msgstr "Фильтровать по"
#. module: account
-#: code:addons/account/account.py:2296
+#: code:addons/account/account.py:2334
#, python-format
msgid "You have a wrong expression \"%(...)s\" in your model !"
msgstr ""
@@ -6327,7 +6353,7 @@ msgid "Number of Days"
msgstr "Кол-во дней"
#. module: account
-#: code:addons/account/account.py:1321
+#: code:addons/account/account.py:1357
#, python-format
msgid ""
"You cannot validate this journal entry because account \"%s\" does not "
@@ -6475,7 +6501,7 @@ msgid "Models"
msgstr ""
#. module: account
-#: code:addons/account/account_invoice.py:1091
+#: code:addons/account/account_invoice.py:1121
#, python-format
msgid ""
"You cannot cancel an invoice which is partially paid. You need to "
@@ -6647,7 +6673,7 @@ msgid "You cannot create journal items on closed account."
msgstr ""
#. module: account
-#: code:addons/account/account_invoice.py:606
+#: code:addons/account/account_invoice.py:630
#, python-format
msgid "Invoice line account's company and invoice's compnay does not match."
msgstr ""
@@ -6668,7 +6694,7 @@ msgid "The related account currency if not equal to the company one."
msgstr "Валюта связанного счета, если не одинакова с валютой компании."
#. module: account
-#: code:addons/account/installer.py:48
+#: code:addons/account/installer.py:69
#, python-format
msgid "Custom"
msgstr ""
@@ -6695,7 +6721,7 @@ msgid "Internal Transfers Account"
msgstr ""
#. module: account
-#: code:addons/account/wizard/pos_box.py:33
+#: code:addons/account/wizard/pos_box.py:32
#, python-format
msgid "Please check that the field 'Journal' is set on the Bank Statement"
msgstr ""
@@ -6721,7 +6747,7 @@ msgid "Power"
msgstr "Мощность"
#. module: account
-#: code:addons/account/account.py:3427
+#: code:addons/account/account.py:3465
#, python-format
msgid "Cannot generate an unused journal code."
msgstr ""
@@ -6795,12 +6821,12 @@ msgstr ""
"таком случае важна последовательность вычислений."
#. module: account
-#: code:addons/account/account.py:1410
-#: code:addons/account/account.py:1415
-#: code:addons/account/account.py:1444
-#: code:addons/account/account.py:1451
-#: code:addons/account/account_invoice.py:983
-#: code:addons/account/account_move_line.py:1008
+#: code:addons/account/account.py:1448
+#: code:addons/account/account.py:1453
+#: code:addons/account/account.py:1482
+#: code:addons/account/account.py:1489
+#: code:addons/account/account_invoice.py:1012
+#: code:addons/account/account_move_line.py:1005
#: code:addons/account/wizard/account_automatic_reconcile.py:148
#: code:addons/account/wizard/account_fiscalyear_close.py:88
#: code:addons/account/wizard/account_fiscalyear_close.py:99
@@ -6886,7 +6912,9 @@ msgstr ""
#: report:account.invoice:0
#: selection:account.invoice,type:0
#: selection:account.invoice.report,type:0
+#: code:addons/account/account_invoice.py:1157
#: selection:report.invoice.created,type:0
+#, python-format
msgid "Supplier Refund"
msgstr "Возврат средств от поставщика"
@@ -7031,7 +7059,7 @@ msgstr "Статистика аналитических проводок"
#. module: account
#: code:addons/account/account_analytic_line.py:142
-#: code:addons/account/account_move_line.py:958
+#: code:addons/account/account_move_line.py:955
#, python-format
msgid "Entries: "
msgstr "Проводки: "
@@ -7144,7 +7172,7 @@ msgstr ""
#. module: account
#: code:addons/account/account.py:1024
-#: code:addons/account/account_move_line.py:1108
+#: code:addons/account/account_move_line.py:1105
#, python-format
msgid "Error !"
msgstr "Error !"
@@ -7371,7 +7399,7 @@ msgid ""
msgstr ""
#. module: account
-#: code:addons/account/account.py:2266
+#: code:addons/account/account.py:2304
#, python-format
msgid ""
"You can specify year, month and date in the name of the model using the "
@@ -7450,7 +7478,7 @@ msgid "Done"
msgstr "Сделано"
#. module: account
-#: code:addons/account/account.py:1283
+#: code:addons/account/account.py:1319
#, python-format
msgid ""
"You cannot validate a non-balanced entry.\n"
@@ -7741,7 +7769,7 @@ msgstr "Отчетность"
#. module: account
#. openerp-web
-#: code:addons/account/account_move_line.py:783
+#: code:addons/account/account_move_line.py:780
#: code:addons/account/static/src/js/account_move_reconciliation.js:90
#, python-format
msgid "Warning"
@@ -7806,7 +7834,7 @@ msgid "Use model"
msgstr "Использовать модель"
#. module: account
-#: code:addons/account/account.py:1452
+#: code:addons/account/account.py:1490
#, python-format
msgid ""
"There is no default credit account defined \n"
@@ -7857,7 +7885,7 @@ msgid "Root/View"
msgstr ""
#. module: account
-#: code:addons/account/account.py:3168
+#: code:addons/account/account.py:3206
#, python-format
msgid "OPEJ"
msgstr ""
@@ -7926,7 +7954,7 @@ msgid "Maturity Date"
msgstr ""
#. module: account
-#: code:addons/account/account.py:3155
+#: code:addons/account/account.py:3193
#, python-format
msgid "Sales Journal"
msgstr "Журнал продаж"
@@ -7937,7 +7965,7 @@ msgid "Invoice Tax"
msgstr "Налог по счету"
#. module: account
-#: code:addons/account/account_move_line.py:1188
+#: code:addons/account/account_move_line.py:1185
#, python-format
msgid "No piece number !"
msgstr "Нет номера части !"
@@ -7976,7 +8004,7 @@ msgid "Sales Properties"
msgstr "Свойства продаж"
#. module: account
-#: code:addons/account/account.py:3503
+#: code:addons/account/account.py:3541
#, python-format
msgid ""
"You have to set a code for the bank account defined on the selected chart of "
@@ -8001,7 +8029,7 @@ msgstr "По"
#. module: account
#: selection:account.move.line,centralisation:0
-#: code:addons/account/account.py:1503
+#: code:addons/account/account.py:1541
#, python-format
msgid "Currency Adjustment"
msgstr ""
@@ -8033,7 +8061,7 @@ msgid "May"
msgstr "Май"
#. module: account
-#: code:addons/account/account_invoice.py:788
+#: code:addons/account/account_invoice.py:817
#, python-format
msgid "Global taxes defined, but they are not in invoice lines !"
msgstr ""
@@ -8074,7 +8102,7 @@ msgstr "Провести записи журнала"
#: view:account.config.settings:0
#: view:account.invoice:0
#: view:account.invoice.report:0
-#: code:addons/account/account_invoice.py:353
+#: code:addons/account/account_invoice.py:385
#, python-format
msgid "Customer"
msgstr "Заказчик"
@@ -8090,7 +8118,7 @@ msgstr ""
#: selection:account.bank.accounts.wizard,account_type:0
#: selection:account.entries.report,type:0
#: selection:account.journal,type:0
-#: code:addons/account/account.py:3054
+#: code:addons/account/account.py:3092
#, python-format
msgid "Cash"
msgstr "Наличные"
@@ -8261,6 +8289,7 @@ msgstr "Фиксированный"
#: code:addons/account/account.py:653
#: code:addons/account/account.py:656
#: code:addons/account/account.py:668
+#: code:addons/account/account.py:1031
#, python-format
msgid "Warning !"
msgstr "Warning !"
@@ -8328,7 +8357,7 @@ msgid "Select a currency to apply on the invoice"
msgstr "Выбрать валюту применяемую в счете"
#. module: account
-#: code:addons/account/account_invoice.py:869
+#: code:addons/account/account_invoice.py:898
#, python-format
msgid "No Invoice Lines !"
msgstr "Нет позиций в счете !"
@@ -8352,7 +8381,7 @@ msgid "Tax Use In"
msgstr "Использовать налог в"
#. module: account
-#: code:addons/account/account_bank_statement.py:381
+#: code:addons/account/account_bank_statement.py:382
#, python-format
msgid ""
"The statement balance is incorrect !\n"
@@ -8360,7 +8389,7 @@ msgid ""
msgstr ""
#. module: account
-#: code:addons/account/account_bank_statement.py:419
+#: code:addons/account/account_bank_statement.py:420
#, python-format
msgid "The account entries lines are not in valid state."
msgstr "Проводки в ненадлежащем состоянии."
@@ -8404,7 +8433,7 @@ msgid "Associated Partner"
msgstr "Связанный контрагент"
#. module: account
-#: code:addons/account/account_invoice.py:1434
+#: code:addons/account/account_invoice.py:1462
#, python-format
msgid "You must first select a partner !"
msgstr "Сначала вы должны выбрать партнера !"
@@ -8485,13 +8514,13 @@ msgstr ""
"расчетом других налогов."
#. module: account
-#: code:addons/account/account.py:3158
+#: code:addons/account/account.py:3196
#, python-format
msgid "Purchase Refund Journal"
msgstr "Журнал возврата покупок"
#. module: account
-#: code:addons/account/account.py:1297
+#: code:addons/account/account.py:1333
#, python-format
msgid "Please define a sequence on the journal."
msgstr ""
@@ -8736,7 +8765,7 @@ msgid "${object.company_id.name} Invoice (Ref ${object.number or 'n/a'})"
msgstr ""
#. module: account
-#: code:addons/account/account_move_line.py:1213
+#: code:addons/account/account_move_line.py:1210
#, python-format
msgid ""
"You cannot use this general account in this journal, check the tab 'Entry "
@@ -8837,7 +8866,7 @@ msgid "The partner account used for this invoice."
msgstr "Бух. счет партнера будет использоваться для этого счета."
#. module: account
-#: code:addons/account/account.py:3353
+#: code:addons/account/account.py:3391
#, python-format
msgid "Tax %.2f%%"
msgstr ""
@@ -8855,7 +8884,7 @@ msgid "Payment Term Line"
msgstr "Позиция условий оплаты"
#. module: account
-#: code:addons/account/account.py:3156
+#: code:addons/account/account.py:3194
#, python-format
msgid "Purchase Journal"
msgstr "Журнал покупок"
@@ -9025,7 +9054,7 @@ msgid "Journal Name"
msgstr "Название журнала"
#. module: account
-#: code:addons/account/account_move_line.py:832
+#: code:addons/account/account_move_line.py:829
#, python-format
msgid "Entry \"%s\" is not valid !"
msgstr "Проводка \"%s\" не верна !"
@@ -9074,7 +9103,7 @@ msgstr ""
"Сумма выражается в дополнительный валюте, если эта проводка мульти-валютная."
#. module: account
-#: code:addons/account/account_move_line.py:1009
+#: code:addons/account/account_move_line.py:1006
#, python-format
msgid "The account move (%s) for centralisation has been confirmed."
msgstr ""
@@ -9136,7 +9165,7 @@ msgid "Reconciled entries"
msgstr "Сверенные проводки"
#. module: account
-#: code:addons/account/account.py:2296
+#: code:addons/account/account.py:2334
#, python-format
msgid "Wrong model !"
msgstr ""
@@ -9158,7 +9187,7 @@ msgid "Print Account Partner Balance"
msgstr "Печать баланс счета партнера"
#. module: account
-#: code:addons/account/account_move_line.py:1124
+#: code:addons/account/account_move_line.py:1121
#, python-format
msgid ""
"You cannot do this modification on a reconciled entry. You can just change "
@@ -9192,7 +9221,7 @@ msgstr "неизвестен"
#. module: account
#: field:account.fiscalyear.close,journal_id:0
-#: code:addons/account/account.py:3160
+#: code:addons/account/account.py:3198
#, python-format
msgid "Opening Entries Journal"
msgstr "Журнал проводок открытия"
@@ -9289,7 +9318,7 @@ msgid "Unit of Currency"
msgstr ""
#. module: account
-#: code:addons/account/account.py:3157
+#: code:addons/account/account.py:3195
#, python-format
msgid "Sales Refund Journal"
msgstr "Журнал возврата продаж"
@@ -9355,13 +9384,13 @@ msgid "Purchase Tax(%)"
msgstr "Налог на покупку(%)"
#. module: account
-#: code:addons/account/account_invoice.py:869
+#: code:addons/account/account_invoice.py:898
#, python-format
msgid "Please create some invoice lines."
msgstr "Пожалуйста, создайте позиции счета"
#. module: account
-#: code:addons/account/wizard/pos_box.py:37
+#: code:addons/account/wizard/pos_box.py:36
#, python-format
msgid ""
"Please check that the field 'Internal Transfers Account' is set on the "
@@ -9374,7 +9403,7 @@ msgid "Display Detail"
msgstr ""
#. module: account
-#: code:addons/account/account.py:3165
+#: code:addons/account/account.py:3203
#, python-format
msgid "SCNJ"
msgstr ""
@@ -9533,8 +9562,8 @@ msgid "Receivable Account"
msgstr "Счет к получению"
#. module: account
-#: code:addons/account/account_move_line.py:774
-#: code:addons/account/account_move_line.py:827
+#: code:addons/account/account_move_line.py:771
+#: code:addons/account/account_move_line.py:824
#, python-format
msgid "To reconcile the entries company should be the same for all entries."
msgstr ""
@@ -9635,7 +9664,7 @@ msgid "Move"
msgstr "Операция"
#. module: account
-#: code:addons/account/account_bank_statement.py:477
+#: code:addons/account/account_bank_statement.py:478
#: code:addons/account/wizard/account_period_close.py:51
#, python-format
msgid "Invalid Action!"
@@ -9731,7 +9760,7 @@ msgid "Balance :"
msgstr "Баланс :"
#. module: account
-#: code:addons/account/account.py:1549
+#: code:addons/account/account.py:1587
#, python-format
msgid "Cannot create moves for different companies."
msgstr ""
@@ -9822,7 +9851,7 @@ msgid "Immediate Payment"
msgstr ""
#. module: account
-#: code:addons/account/account.py:1464
+#: code:addons/account/account.py:1502
#, python-format
msgid " Centralisation"
msgstr ""
@@ -9911,7 +9940,7 @@ msgid "Unreconciled"
msgstr "Не сверенные"
#. module: account
-#: code:addons/account/account_invoice.py:890
+#: code:addons/account/account_invoice.py:919
#, python-format
msgid "Bad total !"
msgstr "Плохой итог !"
@@ -9996,7 +10025,7 @@ msgid "Comparison"
msgstr ""
#. module: account
-#: code:addons/account/account_move_line.py:1122
+#: code:addons/account/account_move_line.py:1119
#, python-format
msgid ""
"You cannot do this modification on a confirmed entry. You can just change "
@@ -10085,7 +10114,7 @@ msgid "Journal Entry Model"
msgstr "Модель записи журнала"
#. module: account
-#: code:addons/account/account.py:1064
+#: code:addons/account/account.py:1073
#, python-format
msgid "Start period should precede then end period."
msgstr ""
@@ -10505,7 +10534,7 @@ msgid ""
msgstr ""
#. module: account
-#: code:addons/account/account_move_line.py:1059
+#: code:addons/account/account_move_line.py:1056
#, python-format
msgid "Unable to change tax!"
msgstr ""
@@ -10574,8 +10603,10 @@ msgstr "Счета системы налогообложения"
#: view:account.invoice:0
#: selection:account.invoice,type:0
#: selection:account.invoice.report,type:0
+#: code:addons/account/account_invoice.py:1155
#: model:process.process,name:account.process_process_supplierinvoiceprocess0
#: selection:report.invoice.created,type:0
+#, python-format
msgid "Supplier Invoice"
msgstr "Счет поставщика"
@@ -10758,7 +10789,7 @@ msgid "Entries Sorted by"
msgstr ""
#. module: account
-#: code:addons/account/account_invoice.py:1515
+#: code:addons/account/account_invoice.py:1543
#, python-format
msgid ""
"The selected unit of measure is not compatible with the unit of measure of "
@@ -10839,6 +10870,8 @@ msgstr "Искать счет"
#: report:account.invoice:0
#: view:account.invoice:0
#: view:account.invoice.report:0
+#: code:addons/account/account_invoice.py:1156
+#, python-format
msgid "Refund"
msgstr "Возвраты"
@@ -10909,7 +10942,7 @@ msgid "Manual Invoice Taxes"
msgstr ""
#. module: account
-#: code:addons/account/account_invoice.py:550
+#: code:addons/account/account_invoice.py:570
#, python-format
msgid "The payment term of supplier does not have a payment term line."
msgstr ""
diff --git a/addons/account/i18n/zh_CN.po b/addons/account/i18n/zh_CN.po
index 0e216ddb68f..beaeb00ddea 100644
--- a/addons/account/i18n/zh_CN.po
+++ b/addons/account/i18n/zh_CN.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
-"PO-Revision-Date: 2013-04-25 09:04+0000\n"
-"Last-Translator: Oliver Yuan \n"
+"PO-Revision-Date: 2013-06-07 09:22+0000\n"
+"Last-Translator: 盈通 ccdos \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: 2013-04-26 05:34+0000\n"
-"X-Generator: Launchpad (build 16580)\n"
+"X-Launchpad-Export-Date: 2013-06-08 05:52+0000\n"
+"X-Generator: Launchpad (build 16667)\n"
#. module: account
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
@@ -57,7 +57,7 @@ msgid "Residual"
msgstr "余额"
#. module: account
-#: code:addons/account/account_bank_statement.py:368
+#: code:addons/account/account_bank_statement.py:369
#, python-format
msgid "Journal item \"%s\" is not valid."
msgstr "凭证\"%s\"无效"
@@ -73,9 +73,9 @@ msgid "Import from invoice or payment"
msgstr "从发票或付款单导入"
#. module: account
-#: code:addons/account/account_move_line.py:1061
-#: code:addons/account/account_move_line.py:1146
-#: code:addons/account/account_move_line.py:1213
+#: code:addons/account/account_move_line.py:1058
+#: code:addons/account/account_move_line.py:1143
+#: code:addons/account/account_move_line.py:1210
#, python-format
msgid "Bad Account!"
msgstr "坏账"
@@ -129,15 +129,15 @@ msgstr "如果设置为false,该付款条款将会被隐藏。"
#: code:addons/account/account.py:641
#: code:addons/account/account.py:686
#: code:addons/account/account.py:781
-#: code:addons/account/account.py:1049
-#: code:addons/account/account_invoice.py:788
-#: code:addons/account/account_invoice.py:791
-#: code:addons/account/account_invoice.py:794
-#: code:addons/account/account_invoice.py:1514
+#: code:addons/account/account.py:1058
+#: code:addons/account/account_invoice.py:817
+#: code:addons/account/account_invoice.py:820
+#: code:addons/account/account_invoice.py:823
+#: code:addons/account/account_invoice.py:1542
#: code:addons/account/account_move_line.py:98
-#: code:addons/account/account_move_line.py:774
-#: code:addons/account/account_move_line.py:827
-#: code:addons/account/account_move_line.py:867
+#: code:addons/account/account_move_line.py:771
+#: code:addons/account/account_move_line.py:824
+#: code:addons/account/account_move_line.py:864
#: code:addons/account/wizard/account_fiscalyear_close.py:62
#: code:addons/account/wizard/account_invoice_state.py:44
#: code:addons/account/wizard/account_invoice_state.py:68
@@ -149,7 +149,7 @@ msgid "Warning!"
msgstr "警告!"
#. module: account
-#: code:addons/account/account.py:3159
+#: code:addons/account/account.py:3197
#, python-format
msgid "Miscellaneous Journal"
msgstr "其它凭证簿"
@@ -673,7 +673,7 @@ msgid "Profit Account"
msgstr "利润科目"
#. module: account
-#: code:addons/account/account_move_line.py:1159
+#: code:addons/account/account_move_line.py:1156
#, python-format
msgid "No period found or more than one period found for the given date."
msgstr "根据输入的凭证日期没有找到期间或找到了多个期间"
@@ -684,13 +684,13 @@ msgid "Report of the Sales by Account Type"
msgstr "销售报表的科目类型"
#. module: account
-#: code:addons/account/account.py:3163
+#: code:addons/account/account.py:3201
#, python-format
msgid "SAJ"
msgstr "SAJ"
#. module: account
-#: code:addons/account/account.py:1553
+#: code:addons/account/account.py:1591
#, python-format
msgid "Cannot create move with currency different from .."
msgstr "不能不同币种的凭证"
@@ -783,7 +783,7 @@ msgid "Are you sure you want to create entries?"
msgstr "你确定创建分录?"
#. module: account
-#: code:addons/account/account_invoice.py:1330
+#: code:addons/account/account_invoice.py:1358
#, python-format
msgid "Invoice partially paid: %s%s of %s%s (%s%s remaining)."
msgstr "发票已经支付:%s%s ,总额: %s%s (剩余:%s%s )。"
@@ -852,7 +852,7 @@ msgid "Type"
msgstr "类型"
#. module: account
-#: code:addons/account/account_invoice.py:794
+#: code:addons/account/account_invoice.py:823
#, python-format
msgid ""
"Taxes are missing!\n"
@@ -875,7 +875,7 @@ msgid "Supplier Invoices And Refunds"
msgstr "供应商发票和退款"
#. module: account
-#: code:addons/account/account_move_line.py:854
+#: code:addons/account/account_move_line.py:851
#, python-format
msgid "Entry is already reconciled."
msgstr "分录已经核销。"
@@ -951,7 +951,7 @@ msgstr ""
" "
#. module: account
-#: code:addons/account/account.py:1639
+#: code:addons/account/account.py:1677
#, python-format
msgid ""
"You cannot unreconcile journal items if they has been generated by the "
@@ -1035,7 +1035,7 @@ msgid "Liability"
msgstr "负债"
#. module: account
-#: code:addons/account/account_invoice.py:867
+#: code:addons/account/account_invoice.py:896
#, python-format
msgid "Please define sequence on the journal related to this invoice."
msgstr "请为这张发票对应的凭证簿选择编号规则"
@@ -1106,10 +1106,10 @@ msgid "Features"
msgstr "特性"
#. module: account
-#: code:addons/account/account.py:2308
-#: code:addons/account/account_bank_statement.py:423
+#: code:addons/account/account.py:2346
+#: code:addons/account/account_bank_statement.py:424
#: code:addons/account/account_invoice.py:74
-#: code:addons/account/account_invoice.py:744
+#: code:addons/account/account_invoice.py:772
#: code:addons/account/account_move_line.py:195
#, python-format
msgid "No Analytic Journal !"
@@ -1139,6 +1139,13 @@ msgid ""
"
\n"
" "
msgstr ""
+"\n"
+" 点击添加一个账户.\n"
+"
\n"
+" "
+"在处理多币种交易时,由于汇率的变化,可能会产生汇兑收益或者损失。这个菜单提供给你一个假定在今天终结交易预测的损益。只有在账户有多币种时需要设置。\n"
+"
\n"
+" "
#. module: account
#: field:account.bank.accounts.wizard,acc_name:0
@@ -1155,7 +1162,7 @@ msgstr "用上个期末余额作期初"
msgid ""
"Check this box if you don't want any tax related to this tax code to appear "
"on invoices"
-msgstr ""
+msgstr "如果你不想该税款编码相关的税务信息显示在发票中, 请选中此项"
#. module: account
#: field:report.account.receivable,name:0
@@ -1233,7 +1240,7 @@ msgstr ""
#. module: account
#: model:account.account.type,name:account.data_account_type_bank
#: selection:account.bank.accounts.wizard,account_type:0
-#: code:addons/account/account.py:3054
+#: code:addons/account/account.py:3092
#, python-format
msgid "Bank"
msgstr "银行"
@@ -1548,7 +1555,7 @@ msgid "With balance is not equal to 0"
msgstr "余额不为0"
#. module: account
-#: code:addons/account/account.py:1445
+#: code:addons/account/account.py:1483
#, python-format
msgid ""
"There is no default debit account defined \n"
@@ -1773,8 +1780,10 @@ msgstr ""
#: view:account.invoice:0
#: view:account.invoice.report:0
#: field:account.move.line,invoice:0
+#: code:addons/account/account_invoice.py:1154
#: model:ir.model,name:account.model_account_invoice
#: model:res.request.link,name:account.req_link_invoice
+#, python-format
msgid "Invoice"
msgstr "发票"
@@ -1849,7 +1858,7 @@ msgid ""
msgstr "这个分类账簿的“合并对方科目”必须被选中,“跳过草稿状态”不能选中。"
#. module: account
-#: code:addons/account/account_move_line.py:857
+#: code:addons/account/account_move_line.py:854
#, python-format
msgid "Some entries are already reconciled."
msgstr "有些分录已经被核销。"
@@ -2004,36 +2013,36 @@ msgstr ""
#: code:addons/account/account.py:634
#: code:addons/account/account.py:636
#: code:addons/account/account.py:930
-#: code:addons/account/account.py:1062
-#: code:addons/account/account.py:1064
-#: code:addons/account/account.py:1103
-#: code:addons/account/account.py:1283
-#: code:addons/account/account.py:1297
-#: code:addons/account/account.py:1320
-#: code:addons/account/account.py:1327
-#: code:addons/account/account.py:1549
-#: code:addons/account/account.py:1553
-#: code:addons/account/account.py:1639
-#: code:addons/account/account.py:2320
-#: code:addons/account/account.py:2640
-#: code:addons/account/account.py:3427
+#: code:addons/account/account.py:1071
+#: code:addons/account/account.py:1073
+#: code:addons/account/account.py:1116
+#: code:addons/account/account.py:1319
+#: code:addons/account/account.py:1333
+#: code:addons/account/account.py:1356
+#: code:addons/account/account.py:1363
+#: code:addons/account/account.py:1587
+#: code:addons/account/account.py:1591
+#: code:addons/account/account.py:1677
+#: code:addons/account/account.py:2358
+#: code:addons/account/account.py:2678
+#: code:addons/account/account.py:3465
#: code:addons/account/account_analytic_line.py:89
#: code:addons/account/account_analytic_line.py:98
-#: code:addons/account/account_bank_statement.py:367
-#: code:addons/account/account_bank_statement.py:380
-#: code:addons/account/account_bank_statement.py:418
+#: code:addons/account/account_bank_statement.py:368
+#: code:addons/account/account_bank_statement.py:381
+#: code:addons/account/account_bank_statement.py:419
#: code:addons/account/account_cash_statement.py:256
#: code:addons/account/account_cash_statement.py:300
-#: code:addons/account/account_invoice.py:867
-#: code:addons/account/account_invoice.py:901
-#: code:addons/account/account_invoice.py:1091
-#: code:addons/account/account_move_line.py:578
-#: code:addons/account/account_move_line.py:831
+#: code:addons/account/account_invoice.py:896
+#: code:addons/account/account_invoice.py:930
+#: code:addons/account/account_invoice.py:1121
+#: code:addons/account/account_move_line.py:579
+#: code:addons/account/account_move_line.py:828
+#: code:addons/account/account_move_line.py:851
#: code:addons/account/account_move_line.py:854
-#: code:addons/account/account_move_line.py:857
-#: code:addons/account/account_move_line.py:1122
-#: code:addons/account/account_move_line.py:1124
-#: code:addons/account/account_move_line.py:1159
+#: code:addons/account/account_move_line.py:1119
+#: code:addons/account/account_move_line.py:1121
+#: code:addons/account/account_move_line.py:1156
#: code:addons/account/report/common_report_header.py:92
#: code:addons/account/wizard/account_change_currency.py:38
#: code:addons/account/wizard/account_change_currency.py:59
@@ -2047,8 +2056,8 @@ msgstr ""
#: code:addons/account/wizard/account_report_common.py:158
#: code:addons/account/wizard/account_report_common.py:164
#: code:addons/account/wizard/account_use_model.py:44
-#: code:addons/account/wizard/pos_box.py:32
-#: code:addons/account/wizard/pos_box.py:36
+#: code:addons/account/wizard/pos_box.py:31
+#: code:addons/account/wizard/pos_box.py:35
#, python-format
msgid "Error!"
msgstr "错误!"
@@ -2096,7 +2105,7 @@ msgid "period close"
msgstr "关闭一个会计期间"
#. module: account
-#: code:addons/account/account.py:1049
+#: code:addons/account/account.py:1058
#, python-format
msgid ""
"This journal already contains items for this period, therefore you cannot "
@@ -2168,7 +2177,7 @@ msgid "Analytic account"
msgstr "辅助核算项"
#. module: account
-#: code:addons/account/account_bank_statement.py:405
+#: code:addons/account/account_bank_statement.py:406
#, python-format
msgid "Please verify that an account is defined in the journal."
msgstr "请检查在账簿中已定义科目。"
@@ -2573,7 +2582,7 @@ msgid "Create an Account Based on this Template"
msgstr "基于此模板创建科目"
#. module: account
-#: code:addons/account/account_invoice.py:901
+#: code:addons/account/account_invoice.py:930
#, python-format
msgid ""
"Cannot create the invoice.\n"
@@ -2594,7 +2603,7 @@ msgid "Main Sequence"
msgstr "主序列"
#. module: account
-#: code:addons/account/account_bank_statement.py:477
+#: code:addons/account/account_bank_statement.py:478
#, python-format
msgid ""
"In order to delete a bank statement, you must first cancel it to delete "
@@ -2618,7 +2627,7 @@ msgid "Fiscal Positions"
msgstr "财务结构"
#. module: account
-#: code:addons/account/account_move_line.py:578
+#: code:addons/account/account_move_line.py:579
#, python-format
msgid "You cannot create journal items on a closed account %s %s."
msgstr "你不能在关闭的科目%s %s 上面创建分类账分录。"
@@ -2726,7 +2735,7 @@ msgid "Account Model Entries"
msgstr "凭证模板"
#. module: account
-#: code:addons/account/account.py:3164
+#: code:addons/account/account.py:3202
#, python-format
msgid "EXJ"
msgstr "EXJ"
@@ -2840,21 +2849,20 @@ msgid "Accounts"
msgstr "科目"
#. module: account
-#: code:addons/account/account.py:3503
-#: code:addons/account/account_bank_statement.py:404
-#: code:addons/account/account_invoice.py:378
-#: code:addons/account/account_invoice.py:484
-#: code:addons/account/account_invoice.py:582
-#: code:addons/account/account_invoice.py:597
-#: code:addons/account/account_invoice.py:605
-#: code:addons/account/account_invoice.py:627
-#: code:addons/account/account_move_line.py:535
+#: code:addons/account/account.py:3541
+#: code:addons/account/account_bank_statement.py:405
+#: code:addons/account/account_invoice.py:504
+#: code:addons/account/account_invoice.py:606
+#: code:addons/account/account_invoice.py:621
+#: code:addons/account/account_invoice.py:629
+#: code:addons/account/account_invoice.py:654
+#: code:addons/account/account_move_line.py:536
#, python-format
msgid "Configuration Error!"
msgstr "设置错误!"
#. module: account
-#: code:addons/account/account_bank_statement.py:433
+#: code:addons/account/account_bank_statement.py:434
#, python-format
msgid "Statement %s confirmed, journal items were created."
msgstr "对账单 %s 确认,分类账目 被创建."
@@ -3050,7 +3058,7 @@ msgid ""
msgstr "选择的发票不能被确认,因为它们不是“草稿”或者“形式发票”状态"
#. module: account
-#: code:addons/account/account.py:1062
+#: code:addons/account/account.py:1071
#, python-format
msgid "You should choose the periods that belong to the same company."
msgstr "你要选择属于同一个公司的会计区间"
@@ -3063,7 +3071,7 @@ msgid "Sales by Account"
msgstr "销售科目"
#. module: account
-#: code:addons/account/account.py:1411
+#: code:addons/account/account.py:1449
#, python-format
msgid "You cannot delete a posted journal entry \"%s\"."
msgstr "你不能删除已经登帐的分类账分录\"%s\"."
@@ -3079,8 +3087,8 @@ msgid "Sale journal"
msgstr "销售分类帐"
#. module: account
-#: code:addons/account/account.py:2308
-#: code:addons/account/account_invoice.py:744
+#: code:addons/account/account.py:2346
+#: code:addons/account/account_invoice.py:772
#: code:addons/account/account_move_line.py:195
#, python-format
msgid "You have to define an analytic journal on the '%s' journal!"
@@ -3239,7 +3247,7 @@ msgid "Fiscal Position"
msgstr "财务结构"
#. module: account
-#: code:addons/account/account_invoice.py:791
+#: code:addons/account/account_invoice.py:820
#, python-format
msgid ""
"Tax base different!\n"
@@ -3335,7 +3343,7 @@ msgstr ""
"将选择要兑换货币的当前汇率。在大多数国家法定为“平均”,但只有少数软件系统能够管理。 所以如果你要导入另一个软件系统,你可能需要使用当日汇率。"
#. module: account
-#: code:addons/account/account.py:2640
+#: code:addons/account/account.py:2678
#, python-format
msgid "There is no parent code for the template account."
msgstr "模版科目没有上级代码"
@@ -3398,7 +3406,7 @@ msgid "View"
msgstr "视图"
#. module: account
-#: code:addons/account/account.py:3422
+#: code:addons/account/account.py:3460
#: code:addons/account/account_bank.py:95
#, python-format
msgid "BNK"
@@ -3660,7 +3668,7 @@ msgid ""
msgstr "如果您指定其它名称,它创建的凭证或分录将用报表名相同的名称。这使得报表它自己关联相似的分录。"
#. module: account
-#: code:addons/account/account_invoice.py:984
+#: code:addons/account/account_invoice.py:1013
#, python-format
msgid ""
"You cannot create an invoice on a centralized journal. Uncheck the "
@@ -3675,7 +3683,7 @@ msgid "Starting Balance"
msgstr "期初余额"
#. module: account
-#: code:addons/account/account_invoice.py:1434
+#: code:addons/account/account_invoice.py:1462
#, python-format
msgid "No Partner Defined !"
msgstr "未定义业务伙伴!"
@@ -3727,7 +3735,7 @@ msgid ""
msgstr ""
#. module: account
-#: code:addons/account/account_move_line.py:535
+#: code:addons/account/account_move_line.py:536
#, python-format
msgid ""
"Cannot find any account journal of %s type for this company.\n"
@@ -3875,7 +3883,7 @@ msgid "Period Length (days)"
msgstr "期间(天数)"
#. module: account
-#: code:addons/account/account.py:1327
+#: code:addons/account/account.py:1363
#, python-format
msgid ""
"You cannot modify a posted entry of this journal.\n"
@@ -4035,7 +4043,7 @@ msgid "Chart of Accounts Template"
msgstr "科目一览表模板"
#. module: account
-#: code:addons/account/account.py:2320
+#: code:addons/account/account.py:2358
#, python-format
msgid ""
"Maturity date of entry line generated by model line '%s' of model '%s' is "
@@ -4200,7 +4208,7 @@ msgid "Name"
msgstr "名称"
#. module: account
-#: code:addons/account/installer.py:94
+#: code:addons/account/installer.py:115
#, python-format
msgid "No unconfigured company !"
msgstr "还没有配置好公司"
@@ -4271,8 +4279,8 @@ msgid ""
msgstr ""
#. module: account
-#: code:addons/account/account_move_line.py:1061
-#: code:addons/account/account_move_line.py:1146
+#: code:addons/account/account_move_line.py:1058
+#: code:addons/account/account_move_line.py:1143
#, python-format
msgid "You cannot use an inactive account."
msgstr ""
@@ -4302,7 +4310,7 @@ msgid "Consolidated Children"
msgstr "合并子科目"
#. module: account
-#: code:addons/account/account_invoice.py:550
+#: code:addons/account/account_invoice.py:570
#: code:addons/account/wizard/account_invoice_refund.py:146
#, python-format
msgid "Insufficient Data!"
@@ -4506,7 +4514,7 @@ msgid "Cancel the Selected Invoices"
msgstr "取消选定的发票"
#. module: account
-#: code:addons/account/account_bank_statement.py:423
+#: code:addons/account/account_bank_statement.py:424
#, python-format
msgid "You have to assign an analytic journal on the '%s' journal!"
msgstr "必须分配一个辅助核算账簿给\"%s\"账簿"
@@ -4571,8 +4579,8 @@ msgid "Supplier invoice sequence"
msgstr ""
#. module: account
-#: code:addons/account/account_invoice.py:583
-#: code:addons/account/account_invoice.py:598
+#: code:addons/account/account_invoice.py:607
+#: code:addons/account/account_invoice.py:622
#, python-format
msgid ""
"Cannot find a chart of account, you should create one from Settings\\"
@@ -4635,7 +4643,7 @@ msgid "Account Base Code"
msgstr "税基编码"
#. module: account
-#: code:addons/account/account_move_line.py:867
+#: code:addons/account/account_move_line.py:864
#, python-format
msgid ""
"You have to provide an account for the write off/exchange difference entry."
@@ -4701,7 +4709,7 @@ msgid "Statement from invoice or payment"
msgstr "发票或付款清单"
#. module: account
-#: code:addons/account/installer.py:94
+#: code:addons/account/installer.py:115
#, python-format
msgid ""
"There is currently no company without chart of account. The wizard will "
@@ -4755,7 +4763,7 @@ msgid "Bank statements are entered in the system."
msgstr "把银行对账单输入到系统中。"
#. module: account
-#: code:addons/account/wizard/account_reconcile.py:121
+#: code:addons/account/wizard/account_reconcile.py:122
#, python-format
msgid "Reconcile Writeoff"
msgstr "补差额时核销"
@@ -4845,7 +4853,7 @@ msgid ""
msgstr ""
#. module: account
-#: code:addons/account/account_invoice.py:627
+#: code:addons/account/account_invoice.py:655
#, python-format
msgid ""
"Cannot find any account journal of %s type for this company.\n"
@@ -4860,7 +4868,7 @@ msgid "Based On"
msgstr "基于"
#. module: account
-#: code:addons/account/account.py:3166
+#: code:addons/account/account.py:3204
#, python-format
msgid "ECNJ"
msgstr "ECNJ"
@@ -4926,7 +4934,7 @@ msgid ""
msgstr ""
#. module: account
-#: code:addons/account/account.py:3356
+#: code:addons/account/account.py:3394
#, python-format
msgid "Purchase Tax %.2f%%"
msgstr "采购税 %.2f%%"
@@ -5000,7 +5008,7 @@ msgid ""
msgstr ""
#. module: account
-#: code:addons/account/account.py:3167
+#: code:addons/account/account.py:3205
#, python-format
msgid "MISC"
msgstr "杂项"
@@ -5169,7 +5177,7 @@ msgid "Tax Application"
msgstr "税适用"
#. module: account
-#: code:addons/account/account_invoice.py:890
+#: code:addons/account/account_invoice.py:919
#, python-format
msgid ""
"Please verify the price of the invoice !\n"
@@ -5341,7 +5349,7 @@ msgid "Target Moves"
msgstr "目标"
#. module: account
-#: code:addons/account/account.py:1416
+#: code:addons/account/account.py:1454
#, python-format
msgid ""
"Move cannot be deleted if linked to an invoice. (Invoice: %s - Move ID:%s)"
@@ -5422,7 +5430,7 @@ msgid "Internal Name"
msgstr "内部名称"
#. module: account
-#: code:addons/account/account_move_line.py:1188
+#: code:addons/account/account_move_line.py:1185
#, python-format
msgid ""
"Cannot create an automatic sequence for this piece.\n"
@@ -5494,7 +5502,7 @@ msgid "Compute Code (if type=code)"
msgstr "计算代码(如果类型=代码)"
#. module: account
-#: code:addons/account/account_invoice.py:485
+#: code:addons/account/account_invoice.py:505
#, python-format
msgid ""
"Cannot find a chart of accounts for this company, you should create one."
@@ -5622,7 +5630,7 @@ msgid "Recompute taxes and total"
msgstr ""
#. module: account
-#: code:addons/account/account.py:1103
+#: code:addons/account/account.py:1116
#, python-format
msgid "You cannot modify/delete a journal with entries for this period."
msgstr ""
@@ -5650,7 +5658,7 @@ msgid "Amount Computation"
msgstr "计算金额"
#. module: account
-#: code:addons/account/account_move_line.py:1108
+#: code:addons/account/account_move_line.py:1105
#, python-format
msgid "You can not add/modify entries in a closed period %s of journal %s."
msgstr ""
@@ -5945,7 +5953,7 @@ msgid "Fixed Amount"
msgstr "固定金额"
#. module: account
-#: code:addons/account/account_move_line.py:1059
+#: code:addons/account/account_move_line.py:1056
#, python-format
msgid "You cannot change the tax, you should remove and recreate lines."
msgstr "你不能修改税,你需要删去并且重建这一行"
@@ -5996,14 +6004,14 @@ msgid "Child Accounts"
msgstr "子科目"
#. module: account
-#: code:addons/account/account_move_line.py:1120
+#: code:addons/account/account_move_line.py:1117
#, python-format
msgid "Move name (id): %s (%s)"
msgstr "会计凭证号 (id): %s (%s)"
#. module: account
#: view:account.move.line.reconcile:0
-#: code:addons/account/account_move_line.py:882
+#: code:addons/account/account_move_line.py:879
#, python-format
msgid "Write-Off"
msgstr "补差额"
@@ -6029,7 +6037,7 @@ msgstr "收入"
#: view:account.config.settings:0
#: view:account.invoice:0
#: view:account.invoice.report:0
-#: code:addons/account/account_invoice.py:355
+#: code:addons/account/account_invoice.py:387
#, python-format
msgid "Supplier"
msgstr "供应商"
@@ -6163,7 +6171,7 @@ msgid "Filter by"
msgstr "筛选"
#. module: account
-#: code:addons/account/account.py:2296
+#: code:addons/account/account.py:2334
#, python-format
msgid "You have a wrong expression \"%(...)s\" in your model !"
msgstr "模型中存在错误的表达式 \"%(...)s\""
@@ -6211,7 +6219,7 @@ msgid "Number of Days"
msgstr "天数"
#. module: account
-#: code:addons/account/account.py:1321
+#: code:addons/account/account.py:1357
#, python-format
msgid ""
"You cannot validate this journal entry because account \"%s\" does not "
@@ -6357,7 +6365,7 @@ msgid "Models"
msgstr ""
#. module: account
-#: code:addons/account/account_invoice.py:1091
+#: code:addons/account/account_invoice.py:1121
#, python-format
msgid ""
"You cannot cancel an invoice which is partially paid. You need to "
@@ -6529,7 +6537,7 @@ msgid "You cannot create journal items on closed account."
msgstr ""
#. module: account
-#: code:addons/account/account_invoice.py:606
+#: code:addons/account/account_invoice.py:630
#, python-format
msgid "Invoice line account's company and invoice's compnay does not match."
msgstr ""
@@ -6550,7 +6558,7 @@ msgid "The related account currency if not equal to the company one."
msgstr "如果不是同一公司, 相关科目的币别"
#. module: account
-#: code:addons/account/installer.py:48
+#: code:addons/account/installer.py:69
#, python-format
msgid "Custom"
msgstr ""
@@ -6577,7 +6585,7 @@ msgid "Internal Transfers Account"
msgstr ""
#. module: account
-#: code:addons/account/wizard/pos_box.py:33
+#: code:addons/account/wizard/pos_box.py:32
#, python-format
msgid "Please check that the field 'Journal' is set on the Bank Statement"
msgstr ""
@@ -6603,7 +6611,7 @@ msgid "Power"
msgstr "强制"
#. module: account
-#: code:addons/account/account.py:3427
+#: code:addons/account/account.py:3465
#, python-format
msgid "Cannot generate an unused journal code."
msgstr "不能生成一个未使用的凭证代码。"
@@ -6674,12 +6682,12 @@ msgid ""
msgstr "序列字段用于税从低到高排序, 如果税中有子税这排序是重要的"
#. module: account
-#: code:addons/account/account.py:1410
-#: code:addons/account/account.py:1415
-#: code:addons/account/account.py:1444
-#: code:addons/account/account.py:1451
-#: code:addons/account/account_invoice.py:983
-#: code:addons/account/account_move_line.py:1008
+#: code:addons/account/account.py:1448
+#: code:addons/account/account.py:1453
+#: code:addons/account/account.py:1482
+#: code:addons/account/account.py:1489
+#: code:addons/account/account_invoice.py:1012
+#: code:addons/account/account_move_line.py:1005
#: code:addons/account/wizard/account_automatic_reconcile.py:148
#: code:addons/account/wizard/account_fiscalyear_close.py:88
#: code:addons/account/wizard/account_fiscalyear_close.py:99
@@ -6757,7 +6765,9 @@ msgstr "你不能修改已经存在凭证的公司帐户。"
#: report:account.invoice:0
#: selection:account.invoice,type:0
#: selection:account.invoice.report,type:0
+#: code:addons/account/account_invoice.py:1157
#: selection:report.invoice.created,type:0
+#, python-format
msgid "Supplier Refund"
msgstr "供应商红字发票"
@@ -6900,7 +6910,7 @@ msgstr "辅助核算统计"
#. module: account
#: code:addons/account/account_analytic_line.py:142
-#: code:addons/account/account_move_line.py:958
+#: code:addons/account/account_move_line.py:955
#, python-format
msgid "Entries: "
msgstr "凭证: "
@@ -7009,7 +7019,7 @@ msgstr ""
#. module: account
#: code:addons/account/account.py:1024
-#: code:addons/account/account_move_line.py:1108
+#: code:addons/account/account_move_line.py:1105
#, python-format
msgid "Error !"
msgstr "错误!"
@@ -7231,7 +7241,7 @@ msgid ""
msgstr ""
#. module: account
-#: code:addons/account/account.py:2266
+#: code:addons/account/account.py:2304
#, python-format
msgid ""
"You can specify year, month and date in the name of the model using the "
@@ -7309,7 +7319,7 @@ msgid "Done"
msgstr "完成"
#. module: account
-#: code:addons/account/account.py:1283
+#: code:addons/account/account.py:1319
#, python-format
msgid ""
"You cannot validate a non-balanced entry.\n"
@@ -7596,7 +7606,7 @@ msgstr "报表"
#. module: account
#. openerp-web
-#: code:addons/account/account_move_line.py:783
+#: code:addons/account/account_move_line.py:780
#: code:addons/account/static/src/js/account_move_reconciliation.js:90
#, python-format
msgid "Warning"
@@ -7659,7 +7669,7 @@ msgid "Use model"
msgstr "使用模型"
#. module: account
-#: code:addons/account/account.py:1452
+#: code:addons/account/account.py:1490
#, python-format
msgid ""
"There is no default credit account defined \n"
@@ -7710,7 +7720,7 @@ msgid "Root/View"
msgstr "根/视图"
#. module: account
-#: code:addons/account/account.py:3168
+#: code:addons/account/account.py:3206
#, python-format
msgid "OPEJ"
msgstr "OPEJ"
@@ -7777,7 +7787,7 @@ msgid "Maturity Date"
msgstr "到期日期"
#. module: account
-#: code:addons/account/account.py:3155
+#: code:addons/account/account.py:3193
#, python-format
msgid "Sales Journal"
msgstr "销售账簿"
@@ -7788,7 +7798,7 @@ msgid "Invoice Tax"
msgstr "发票税"
#. module: account
-#: code:addons/account/account_move_line.py:1188
+#: code:addons/account/account_move_line.py:1185
#, python-format
msgid "No piece number !"
msgstr "没会计期间!"
@@ -7829,7 +7839,7 @@ msgid "Sales Properties"
msgstr "销售属性"
#. module: account
-#: code:addons/account/account.py:3503
+#: code:addons/account/account.py:3541
#, python-format
msgid ""
"You have to set a code for the bank account defined on the selected chart of "
@@ -7854,7 +7864,7 @@ msgstr "到"
#. module: account
#: selection:account.move.line,centralisation:0
-#: code:addons/account/account.py:1503
+#: code:addons/account/account.py:1541
#, python-format
msgid "Currency Adjustment"
msgstr "汇兑损益调整"
@@ -7886,7 +7896,7 @@ msgid "May"
msgstr "5"
#. module: account
-#: code:addons/account/account_invoice.py:788
+#: code:addons/account/account_invoice.py:817
#, python-format
msgid "Global taxes defined, but they are not in invoice lines !"
msgstr "定义了全局税,但发票行中没有!"
@@ -7927,7 +7937,7 @@ msgstr "登账"
#: view:account.config.settings:0
#: view:account.invoice:0
#: view:account.invoice.report:0
-#: code:addons/account/account_invoice.py:353
+#: code:addons/account/account_invoice.py:385
#, python-format
msgid "Customer"
msgstr "客户"
@@ -7943,7 +7953,7 @@ msgstr "报表名称"
#: selection:account.bank.accounts.wizard,account_type:0
#: selection:account.entries.report,type:0
#: selection:account.journal,type:0
-#: code:addons/account/account.py:3054
+#: code:addons/account/account.py:3092
#, python-format
msgid "Cash"
msgstr "现金"
@@ -8107,6 +8117,7 @@ msgstr "固定"
#: code:addons/account/account.py:653
#: code:addons/account/account.py:656
#: code:addons/account/account.py:668
+#: code:addons/account/account.py:1031
#, python-format
msgid "Warning !"
msgstr "警告 !"
@@ -8174,7 +8185,7 @@ msgid "Select a currency to apply on the invoice"
msgstr "在发票上选择合适的币别"
#. module: account
-#: code:addons/account/account_invoice.py:869
+#: code:addons/account/account_invoice.py:898
#, python-format
msgid "No Invoice Lines !"
msgstr "没有发票明细"
@@ -8197,7 +8208,7 @@ msgid "Tax Use In"
msgstr "税用在"
#. module: account
-#: code:addons/account/account_bank_statement.py:381
+#: code:addons/account/account_bank_statement.py:382
#, python-format
msgid ""
"The statement balance is incorrect !\n"
@@ -8207,7 +8218,7 @@ msgstr ""
"预期的余额是(%.2f),现在算出来的是(%.2f)"
#. module: account
-#: code:addons/account/account_bank_statement.py:419
+#: code:addons/account/account_bank_statement.py:420
#, python-format
msgid "The account entries lines are not in valid state."
msgstr "这分录明细不是在有效的状态"
@@ -8251,7 +8262,7 @@ msgid "Associated Partner"
msgstr "相关业务伙伴"
#. module: account
-#: code:addons/account/account_invoice.py:1434
+#: code:addons/account/account_invoice.py:1462
#, python-format
msgid "You must first select a partner !"
msgstr "你必须首先选择一个业务伙伴!"
@@ -8330,13 +8341,13 @@ msgid ""
msgstr "如果在计算未来的税前这税额必须包含在税基金额里,请设置"
#. module: account
-#: code:addons/account/account.py:3158
+#: code:addons/account/account.py:3196
#, python-format
msgid "Purchase Refund Journal"
msgstr "采购红字发票账簿"
#. module: account
-#: code:addons/account/account.py:1297
+#: code:addons/account/account.py:1333
#, python-format
msgid "Please define a sequence on the journal."
msgstr ""
@@ -8579,7 +8590,7 @@ msgid "${object.company_id.name} Invoice (Ref ${object.number or 'n/a'})"
msgstr ""
#. module: account
-#: code:addons/account/account_move_line.py:1213
+#: code:addons/account/account_move_line.py:1210
#, python-format
msgid ""
"You cannot use this general account in this journal, check the tab 'Entry "
@@ -8682,7 +8693,7 @@ msgid "The partner account used for this invoice."
msgstr "这发票用这业务伙伴科目"
#. module: account
-#: code:addons/account/account.py:3353
+#: code:addons/account/account.py:3391
#, python-format
msgid "Tax %.2f%%"
msgstr "税 %.2f%%"
@@ -8700,7 +8711,7 @@ msgid "Payment Term Line"
msgstr "付款条款明细"
#. module: account
-#: code:addons/account/account.py:3156
+#: code:addons/account/account.py:3194
#, python-format
msgid "Purchase Journal"
msgstr "采购账簿"
@@ -8869,7 +8880,7 @@ msgid "Journal Name"
msgstr "账簿名称"
#. module: account
-#: code:addons/account/account_move_line.py:832
+#: code:addons/account/account_move_line.py:829
#, python-format
msgid "Entry \"%s\" is not valid !"
msgstr "凭证\"%s\"无效!"
@@ -8917,7 +8928,7 @@ msgid ""
msgstr "如果它是一个多货币凭证,这金额表示一个可选的其它货币金额."
#. module: account
-#: code:addons/account/account_move_line.py:1009
+#: code:addons/account/account_move_line.py:1006
#, python-format
msgid "The account move (%s) for centralisation has been confirmed."
msgstr ""
@@ -8978,7 +8989,7 @@ msgid "Reconciled entries"
msgstr "核销分录"
#. module: account
-#: code:addons/account/account.py:2296
+#: code:addons/account/account.py:2334
#, python-format
msgid "Wrong model !"
msgstr "模型有误!"
@@ -9000,7 +9011,7 @@ msgid "Print Account Partner Balance"
msgstr "打印业务伙伴余额"
#. module: account
-#: code:addons/account/account_move_line.py:1124
+#: code:addons/account/account_move_line.py:1121
#, python-format
msgid ""
"You cannot do this modification on a reconciled entry. You can just change "
@@ -9036,7 +9047,7 @@ msgstr "未知的"
#. module: account
#: field:account.fiscalyear.close,journal_id:0
-#: code:addons/account/account.py:3160
+#: code:addons/account/account.py:3198
#, python-format
msgid "Opening Entries Journal"
msgstr "账簿的开账分录"
@@ -9131,7 +9142,7 @@ msgid "Unit of Currency"
msgstr ""
#. module: account
-#: code:addons/account/account.py:3157
+#: code:addons/account/account.py:3195
#, python-format
msgid "Sales Refund Journal"
msgstr "销售红字发票账簿"
@@ -9197,13 +9208,13 @@ msgid "Purchase Tax(%)"
msgstr "进项税(%)"
#. module: account
-#: code:addons/account/account_invoice.py:869
+#: code:addons/account/account_invoice.py:898
#, python-format
msgid "Please create some invoice lines."
msgstr "请创建发票明细。"
#. module: account
-#: code:addons/account/wizard/pos_box.py:37
+#: code:addons/account/wizard/pos_box.py:36
#, python-format
msgid ""
"Please check that the field 'Internal Transfers Account' is set on the "
@@ -9216,7 +9227,7 @@ msgid "Display Detail"
msgstr "显示明细"
#. module: account
-#: code:addons/account/account.py:3165
+#: code:addons/account/account.py:3203
#, python-format
msgid "SCNJ"
msgstr "SCNJ"
@@ -9375,8 +9386,8 @@ msgid "Receivable Account"
msgstr "应收款科目"
#. module: account
-#: code:addons/account/account_move_line.py:774
-#: code:addons/account/account_move_line.py:827
+#: code:addons/account/account_move_line.py:771
+#: code:addons/account/account_move_line.py:824
#, python-format
msgid "To reconcile the entries company should be the same for all entries."
msgstr ""
@@ -9477,7 +9488,7 @@ msgid "Move"
msgstr "凭证"
#. module: account
-#: code:addons/account/account_bank_statement.py:477
+#: code:addons/account/account_bank_statement.py:478
#: code:addons/account/wizard/account_period_close.py:51
#, python-format
msgid "Invalid Action!"
@@ -9571,7 +9582,7 @@ msgid "Balance :"
msgstr "余额:"
#. module: account
-#: code:addons/account/account.py:1549
+#: code:addons/account/account.py:1587
#, python-format
msgid "Cannot create moves for different companies."
msgstr ""
@@ -9662,7 +9673,7 @@ msgid "Immediate Payment"
msgstr ""
#. module: account
-#: code:addons/account/account.py:1464
+#: code:addons/account/account.py:1502
#, python-format
msgid " Centralisation"
msgstr ""
@@ -9753,7 +9764,7 @@ msgid "Unreconciled"
msgstr "反核销"
#. module: account
-#: code:addons/account/account_invoice.py:890
+#: code:addons/account/account_invoice.py:919
#, python-format
msgid "Bad total !"
msgstr "坏的合计!"
@@ -9840,7 +9851,7 @@ msgid "Comparison"
msgstr "比较"
#. module: account
-#: code:addons/account/account_move_line.py:1122
+#: code:addons/account/account_move_line.py:1119
#, python-format
msgid ""
"You cannot do this modification on a confirmed entry. You can just change "
@@ -9927,7 +9938,7 @@ msgid "Journal Entry Model"
msgstr "账簿分录模型"
#. module: account
-#: code:addons/account/account.py:1064
+#: code:addons/account/account.py:1073
#, python-format
msgid "Start period should precede then end period."
msgstr ""
@@ -9936,7 +9947,7 @@ msgstr ""
#: field:account.invoice,number:0
#: field:account.move,name:0
msgid "Number"
-msgstr "凭证号"
+msgstr "编号"
#. module: account
#: report:account.analytic.account.journal:0
@@ -10341,7 +10352,7 @@ msgid ""
msgstr ""
#. module: account
-#: code:addons/account/account_move_line.py:1059
+#: code:addons/account/account_move_line.py:1056
#, python-format
msgid "Unable to change tax!"
msgstr ""
@@ -10410,8 +10421,10 @@ msgstr "财务结构"
#: view:account.invoice:0
#: selection:account.invoice,type:0
#: selection:account.invoice.report,type:0
+#: code:addons/account/account_invoice.py:1155
#: model:process.process,name:account.process_process_supplierinvoiceprocess0
#: selection:report.invoice.created,type:0
+#, python-format
msgid "Supplier Invoice"
msgstr "供应商发票"
@@ -10594,7 +10607,7 @@ msgid "Entries Sorted by"
msgstr "排序依据:"
#. module: account
-#: code:addons/account/account_invoice.py:1515
+#: code:addons/account/account_invoice.py:1543
#, python-format
msgid ""
"The selected unit of measure is not compatible with the unit of measure of "
@@ -10675,6 +10688,8 @@ msgstr "搜索发票"
#: report:account.invoice:0
#: view:account.invoice:0
#: view:account.invoice.report:0
+#: code:addons/account/account_invoice.py:1156
+#, python-format
msgid "Refund"
msgstr "红字发票"
@@ -10745,7 +10760,7 @@ msgid "Manual Invoice Taxes"
msgstr "手动的发票税(非主营业务纳税)"
#. module: account
-#: code:addons/account/account_invoice.py:550
+#: code:addons/account/account_invoice.py:570
#, python-format
msgid "The payment term of supplier does not have a payment term line."
msgstr "供应商付款条件没有包含付款条件行"
diff --git a/addons/account/installer.py b/addons/account/installer.py
index 537371d0f64..961b8f9e763 100644
--- a/addons/account/installer.py
+++ b/addons/account/installer.py
@@ -111,7 +111,7 @@ class account_installer(osv.osv_memory):
def check_unconfigured_cmp(self, cr, uid, context=None):
""" check if there are still unconfigured companies """
if not self.get_unconfigured_cmp(cr, uid, context=context):
- raise osv.except_osv(_('No unconfigured company !'), _("There is currently no company without chart of account. The wizard will therefore not be executed."))
+ raise osv.except_osv(_('No Unconfigured Company!'), _("There is currently no company without chart of account. The wizard will therefore not be executed."))
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
if context is None: context = {}
diff --git a/addons/account/partner_view.xml b/addons/account/partner_view.xml
index 3dcc68e315e..6a58bc7f77e 100644
--- a/addons/account/partner_view.xml
+++ b/addons/account/partner_view.xml
@@ -61,7 +61,7 @@
partner.view.buttons
res.partner
-
+
2
-
+
diff --git a/addons/account/project/project_view.xml b/addons/account/project/project_view.xml
index 6ce97b5c868..21ea2a85f7f 100644
--- a/addons/account/project/project_view.xml
+++ b/addons/account/project/project_view.xml
@@ -363,7 +363,7 @@
-
+
diff --git a/addons/account/report/account_journal_sale_purchase.rml b/addons/account/report/account_journal_sale_purchase.rml
index 236879669f9..3ee0b484c9a 100644
--- a/addons/account/report/account_journal_sale_purchase.rml
+++ b/addons/account/report/account_journal_sale_purchase.rml
@@ -239,7 +239,7 @@
[[ line.account_id.code ]]
[[ line.partner_id and strip_name(line.partner_id.name,15) ]]
[[ strip_name(line.name,25) ]]
- [[ line.tax_code_id and (line.tax_code_id.code + ':') ]]
+ [[ line.tax_code_id and line.tax_code_id.code and (line.tax_code_id.code + ':') ]]
[[ line.tax_amount and formatLang(line.tax_amount, currency_obj=company.currency_id) ]]
[[ formatLang(line.debit, currency_obj=company.currency_id) ]]
[[ formatLang(line.credit, currency_obj=company.currency_id) ]]
@@ -292,7 +292,7 @@
[[ line.account_id.code ]]
[[ line.partner_id and strip_name(line.partner_id.name,12) ]]
[[ strip_name(line.name,16) ]]
- [[ line.tax_code_id and (line.tax_code_id.code + ':') ]]
+ [[ line.tax_code_id and line.tax_code_id.code and (line.tax_code_id.code + ':') ]]
[[ line.tax_amount and formatLang(line.tax_amount, currency_obj=company.currency_id) ]]
[[ formatLang(line.debit, currency_obj=company.currency_id) ]]
[[ formatLang(line.credit, currency_obj=company.currency_id) ]]
diff --git a/addons/account/wizard/account_fiscalyear_close.py b/addons/account/wizard/account_fiscalyear_close.py
index 6ceb833816b..928f0647084 100644
--- a/addons/account/wizard/account_fiscalyear_close.py
+++ b/addons/account/wizard/account_fiscalyear_close.py
@@ -38,7 +38,7 @@ class account_fiscalyear_close(osv.osv_memory):
'report_name': fields.char('Name of new entries',size=64, required=True, help="Give name of the new entries"),
}
_defaults = {
- 'report_name': _('End of Fiscal Year Entry'),
+ 'report_name': lambda self, cr, uid, context: _('End of Fiscal Year Entry'),
}
def data_save(self, cr, uid, ids, context=None):
diff --git a/addons/account/wizard/account_validate_account_move.py b/addons/account/wizard/account_validate_account_move.py
index 324248284f1..050191db187 100644
--- a/addons/account/wizard/account_validate_account_move.py
+++ b/addons/account/wizard/account_validate_account_move.py
@@ -57,7 +57,7 @@ class validate_account_move_lines(osv.osv_memory):
move_ids.append(line.move_id.id)
move_ids = list(set(move_ids))
if not move_ids:
- raise osv.except_osv(_('Warning!'), _('Selected Entry Lines does not have any account move enties in draft state.'))
+ raise osv.except_osv(_('Warning!'), _('Selected Entry Lines does not have any account move entries in draft state.'))
obj_move.button_validate(cr, uid, move_ids, context)
return {'type': 'ir.actions.act_window_close'}
diff --git a/addons/account_analytic_analysis/account_analytic_analysis.py b/addons/account_analytic_analysis/account_analytic_analysis.py
index e493f364a0e..b3dd2302a2f 100644
--- a/addons/account_analytic_analysis/account_analytic_analysis.py
+++ b/addons/account_analytic_analysis/account_analytic_analysis.py
@@ -653,7 +653,7 @@ class account_analytic_account(osv.osv):
fpos_obj = self.pool.get('account.fiscal.position')
if not contract.partner_id:
- raise osv.except_osv(_('No Customer Defined !'),_("You must first select a Customer for Contract %s!") % contract.name )
+ raise osv.except_osv(_('No Customer Defined!'),_("You must first select a Customer for Contract %s!") % contract.name )
fpos = contract.partner_id.property_account_position.id or False
journal_ids = journal_obj.search(cr, uid, [('type', '=','sale'),('company_id', '=', contract.company_id.id or False)], limit=1)
diff --git a/addons/account_analytic_default/account_analytic_default.py b/addons/account_analytic_default/account_analytic_default.py
index 1696874f0f5..563a6a3eb9a 100644
--- a/addons/account_analytic_default/account_analytic_default.py
+++ b/addons/account_analytic_default/account_analytic_default.py
@@ -72,8 +72,8 @@ class account_invoice_line(osv.osv):
_inherit = "account.invoice.line"
_description = "Invoice Line"
- def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None):
- res_prod = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, currency_id=currency_id, context=context, company_id=company_id)
+ def product_id_change(self, cr, uid, ids, product, uom_id, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None):
+ res_prod = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom_id, qty, name, type, partner_id, fposition_id, price_unit, currency_id=currency_id, context=context, company_id=company_id)
rec = self.pool.get('account.analytic.default').account_get(cr, uid, product, partner_id, uid, time.strftime('%Y-%m-%d'), context=context)
if rec:
res_prod['value'].update({'account_analytic_id': rec.analytic_id.id})
diff --git a/addons/account_analytic_plans/account_analytic_plans.py b/addons/account_analytic_plans/account_analytic_plans.py
index 54b15ad565b..4cf12098fff 100644
--- a/addons/account_analytic_plans/account_analytic_plans.py
+++ b/addons/account_analytic_plans/account_analytic_plans.py
@@ -332,7 +332,7 @@ class account_move_line(osv.osv):
for line in self.browse(cr, uid, ids, context=context):
if line.analytics_id:
if not line.journal_id.analytic_journal_id:
- raise osv.except_osv(_('No Analytic Journal !'),_("You have to define an analytic journal on the '%s' journal.") % (line.journal_id.name,))
+ raise osv.except_osv(_('No Analytic Journal!'),_("You have to define an analytic journal on the '%s' journal.") % (line.journal_id.name,))
toremove = analytic_line_obj.search(cr, uid, [('move_id','=',line.id)], context=context)
if toremove:
@@ -471,7 +471,7 @@ class account_bank_statement(osv.osv):
for st_line in st.line_ids:
if st_line.analytics_id:
if not st.journal_id.analytic_journal_id:
- raise osv.except_osv(_('No Analytic Journal !'),_("You have to define an analytic journal on the '%s' journal.") % (st.journal_id.name,))
+ raise osv.except_osv(_('No Analytic Journal!'),_("You have to define an analytic journal on the '%s' journal.") % (st.journal_id.name,))
if not st_line.amount:
continue
return True
diff --git a/addons/account_analytic_plans/account_analytic_plans_view.xml b/addons/account_analytic_plans/account_analytic_plans_view.xml
index be46b9a6923..7fb4091b45f 100644
--- a/addons/account_analytic_plans/account_analytic_plans_view.xml
+++ b/addons/account_analytic_plans/account_analytic_plans_view.xml
@@ -10,7 +10,7 @@
-
+
diff --git a/addons/account_anglo_saxon/invoice.py b/addons/account_anglo_saxon/invoice.py
index 2b82257e1f0..f27d9b3ae72 100644
--- a/addons/account_anglo_saxon/invoice.py
+++ b/addons/account_anglo_saxon/invoice.py
@@ -136,9 +136,9 @@ class account_invoice_line(osv.osv):
res += diff_res
return res
- def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None):
+ def product_id_change(self, cr, uid, ids, product, uom_id, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None):
fiscal_pool = self.pool.get('account.fiscal.position')
- res = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, currency_id, context, company_id)
+ res = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom_id, qty, name, type, partner_id, fposition_id, price_unit, currency_id, context, company_id)
if not product:
return res
if type in ('in_invoice','in_refund'):
diff --git a/addons/account_asset/account_asset_invoice_view.xml b/addons/account_asset/account_asset_invoice_view.xml
index eb6403b6f48..9a154d8ec70 100644
--- a/addons/account_asset/account_asset_invoice_view.xml
+++ b/addons/account_asset/account_asset_invoice_view.xml
@@ -13,6 +13,17 @@
+
+
+ account.invoice.supplier.form
+ account.invoice
+
+
+
+
+
+
+
diff --git a/addons/account_budget/account_budget_view.xml b/addons/account_budget/account_budget_view.xml
index 9ad61d7c286..237406ff657 100644
--- a/addons/account_budget/account_budget_view.xml
+++ b/addons/account_budget/account_budget_view.xml
@@ -203,7 +203,9 @@
-
+
+ Click to create a new budget.
+
A budget is a forecast of your company's income and/or expenses
expected for a period in the future. A budget is defined on some
financial accounts and/or analytic accounts (that may represent
diff --git a/addons/account_followup/security/ir.model.access.csv b/addons/account_followup/security/ir.model.access.csv
index 8774015efc6..591cc347563 100644
--- a/addons/account_followup/security/ir.model.access.csv
+++ b/addons/account_followup/security/ir.model.access.csv
@@ -3,5 +3,5 @@ access_account_followup_followup_line,account_followup.followup.line,model_accou
access_account_followup_followup_line_manager,account_followup.followup.line.manager,model_account_followup_followup_line,account.group_account_manager,1,1,1,1
access_account_followup_followup_accountant,account_followup.followup user,model_account_followup_followup,account.group_account_invoice,1,0,0,0
access_account_followup_followup_manager,account_followup.followup.manager,model_account_followup_followup,account.group_account_manager,1,1,1,1
-access_account_followup_stat_invoice,account_followup.stat.invoice,model_account_followup_stat,account.group_account_invoice,1,1,1,1
-access_account_followup_stat_by_partner_manager,account_followup.stat.by.partner,model_account_followup_stat_by_partner,account.group_account_user,1,1,1,1
+access_account_followup_stat_invoice,account_followup.stat.invoice,model_account_followup_stat,account.group_account_invoice,1,1,0,0
+access_account_followup_stat_by_partner_manager,account_followup.stat.by.partner,model_account_followup_stat_by_partner,account.group_account_user,1,1,0,0
diff --git a/addons/account_payment/wizard/account_payment_order.py b/addons/account_payment/wizard/account_payment_order.py
index 03e25dfbc45..de9c47ec005 100644
--- a/addons/account_payment/wizard/account_payment_order.py
+++ b/addons/account_payment/wizard/account_payment_order.py
@@ -88,6 +88,7 @@ class payment_order_create(osv.osv_memory):
'order_id': payment.id,
'partner_id': line.partner_id and line.partner_id.id or False,
'communication': line.ref or '/',
+ 'state': line.invoice and line.invoice.reference_type != 'none' and 'structured' or 'normal',
'date': date_to_pay,
'currency': (line.invoice and line.invoice.currency_id.id) or line.journal_id.currency.id or line.journal_id.company_id.currency_id.id,
}, context=context)
diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py
index 850162ccf84..81eb76ff3a8 100644
--- a/addons/account_voucher/account_voucher.py
+++ b/addons/account_voucher/account_voucher.py
@@ -1622,7 +1622,7 @@ class account_bank_statement(osv.osv):
for bk_st in self.browse(cr, uid, ids, context=context):
if vals.get('journal_id') and bk_st.line_ids:
if any([x.voucher_id and True or False for x in bk_st.line_ids]):
- raise osv.except_osv(_('Unable to change journal !'), _('You can not change the journal as you already reconciled some statement lines!'))
+ raise osv.except_osv(_('Unable to Change Journal!'), _('You can not change the journal as you already reconciled some statement lines!'))
return super(account_bank_statement, self).write(cr, uid, ids, vals, context=context)
diff --git a/addons/account_voucher/i18n/ru.po b/addons/account_voucher/i18n/ru.po
index ef38a07e478..16e03d424ef 100644
--- a/addons/account_voucher/i18n/ru.po
+++ b/addons/account_voucher/i18n/ru.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
-"PO-Revision-Date: 2013-05-29 13:17+0000\n"
+"PO-Revision-Date: 2013-06-13 11:30+0000\n"
"Last-Translator: Chertykov Denis \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: 2013-05-30 05:45+0000\n"
-"X-Generator: Launchpad (build 16652)\n"
+"X-Launchpad-Export-Date: 2013-06-14 05:38+0000\n"
+"X-Generator: Launchpad (build 16667)\n"
#. module: account_voucher
#: field:account.bank.statement.line,voucher_id:0
@@ -27,7 +27,7 @@ msgid "account.config.settings"
msgstr "account.config.settings"
#. module: account_voucher
-#: code:addons/account_voucher/account_voucher.py:369
+#: code:addons/account_voucher/account_voucher.py:417
#, python-format
msgid "Write-Off"
msgstr "Списание"
@@ -129,7 +129,7 @@ msgid "Voucher Statistics"
msgstr ""
#. module: account_voucher
-#: code:addons/account_voucher/account_voucher.py:1547
+#: code:addons/account_voucher/account_voucher.py:1641
#, python-format
msgid ""
"You can not change the journal as you already reconciled some statement "
@@ -223,8 +223,8 @@ msgid "Journal Item"
msgstr "Элемент журнала"
#. module: account_voucher
-#: code:addons/account_voucher/account_voucher.py:508
-#: code:addons/account_voucher/account_voucher.py:981
+#: code:addons/account_voucher/account_voucher.py:558
+#: code:addons/account_voucher/account_voucher.py:1073
#, python-format
msgid "Error!"
msgstr "Ошибка!"
@@ -251,7 +251,7 @@ msgid "Cancelled"
msgstr "Отменено"
#. module: account_voucher
-#: code:addons/account_voucher/account_voucher.py:1153
+#: code:addons/account_voucher/account_voucher.py:1249
#, python-format
msgid ""
"You have to configure account base code and account tax code on the '%s' tax!"
@@ -295,7 +295,7 @@ msgid "Tax"
msgstr "Налог"
#. module: account_voucher
-#: code:addons/account_voucher/account_voucher.py:879
+#: code:addons/account_voucher/account_voucher.py:971
#, python-format
msgid "Invalid Action!"
msgstr "Неверное действие!"
@@ -348,7 +348,7 @@ msgid "Import Invoices"
msgstr "Импорт счетов"
#. module: account_voucher
-#: code:addons/account_voucher/account_voucher.py:1112
+#: code:addons/account_voucher/account_voucher.py:1208
#, python-format
msgid "Wrong voucher line"
msgstr ""
@@ -367,7 +367,7 @@ msgid "Receipt"
msgstr "Приход"
#. module: account_voucher
-#: code:addons/account_voucher/account_voucher.py:1018
+#: code:addons/account_voucher/account_voucher.py:1110
#, python-format
msgid ""
"You should configure the 'Gain Exchange Rate Account' in the accounting "
@@ -388,7 +388,7 @@ msgstr "Период"
#. module: account_voucher
#: view:account.voucher:0
-#: code:addons/account_voucher/account_voucher.py:211
+#: code:addons/account_voucher/account_voucher.py:231
#, python-format
msgid "Supplier"
msgstr "Поставщик"
@@ -409,7 +409,7 @@ msgid "Debit"
msgstr "Дебет"
#. module: account_voucher
-#: code:addons/account_voucher/account_voucher.py:1547
+#: code:addons/account_voucher/account_voucher.py:1641
#, python-format
msgid "Unable to change journal !"
msgstr "Невозможно изменить журнал!"
@@ -515,7 +515,7 @@ msgid "Pay Invoice"
msgstr "Оплата счета"
#. module: account_voucher
-#: code:addons/account_voucher/account_voucher.py:1153
+#: code:addons/account_voucher/account_voucher.py:1249
#, python-format
msgid "No Account Base Code and Account Tax Code!"
msgstr ""
@@ -569,15 +569,15 @@ msgid "To Review"
msgstr "Для проверки"
#. module: account_voucher
-#: code:addons/account_voucher/account_voucher.py:1025
-#: code:addons/account_voucher/account_voucher.py:1039
-#: code:addons/account_voucher/account_voucher.py:1194
+#: code:addons/account_voucher/account_voucher.py:1120
+#: code:addons/account_voucher/account_voucher.py:1134
+#: code:addons/account_voucher/account_voucher.py:1286
#, python-format
msgid "change"
msgstr "изменить"
#. module: account_voucher
-#: code:addons/account_voucher/account_voucher.py:1014
+#: code:addons/account_voucher/account_voucher.py:1106
#, python-format
msgid ""
"You should configure the 'Loss Exchange Rate Account' in the accounting "
@@ -631,6 +631,7 @@ msgstr "Месяц"
#. module: account_voucher
#: field:account.voucher,currency_id:0
#: field:account.voucher.line,currency_id:0
+#: model:ir.model,name:account_voucher.model_res_currency
#: field:sale.receipt.report,currency_id:0
msgid "Currency"
msgstr "Валюта"
@@ -674,7 +675,7 @@ msgid "Reconcile Payment Balance"
msgstr "Сверка платежного баланса"
#. module: account_voucher
-#: code:addons/account_voucher/account_voucher.py:975
+#: code:addons/account_voucher/account_voucher.py:1067
#, python-format
msgid "Configuration Error !"
msgstr "Ошибка конфигурации !"
@@ -739,7 +740,7 @@ msgid "October"
msgstr "Октябрь"
#. module: account_voucher
-#: code:addons/account_voucher/account_voucher.py:976
+#: code:addons/account_voucher/account_voucher.py:1068
#, python-format
msgid "Please activate the sequence of selected journal !"
msgstr "Пожалуйста, включите нумерацию выбранного журнала!"
@@ -819,7 +820,7 @@ msgid "Previous Payments ?"
msgstr "Предыдущие платежи ?"
#. module: account_voucher
-#: code:addons/account_voucher/account_voucher.py:1112
+#: code:addons/account_voucher/account_voucher.py:1208
#, python-format
msgid "The invoice you are willing to pay is not valid anymore."
msgstr "Счет, который вы готовы платить, уже не актуален ."
@@ -851,7 +852,7 @@ msgid "Active"
msgstr "Активно"
#. module: account_voucher
-#: code:addons/account_voucher/account_voucher.py:982
+#: code:addons/account_voucher/account_voucher.py:1074
#, python-format
msgid "Please define a sequence on the journal."
msgstr "Пожалуйста, определите нумерацию журнала."
@@ -861,7 +862,7 @@ msgstr "Пожалуйста, определите нумерацию журна
#: model:ir.actions.act_window,name:account_voucher.action_vendor_receipt
#: model:ir.ui.menu,name:account_voucher.menu_action_vendor_receipt
msgid "Customer Payments"
-msgstr "Платежи клиентов"
+msgstr "Платежи заказчиков"
#. module: account_voucher
#: model:ir.actions.act_window,name:account_voucher.action_sale_receipt_report_all
@@ -979,7 +980,7 @@ msgid "Journal Items"
msgstr "Элементы журнала"
#. module: account_voucher
-#: code:addons/account_voucher/account_voucher.py:508
+#: code:addons/account_voucher/account_voucher.py:558
#, python-format
msgid "Please define default credit/debit accounts on the journal \"%s\"."
msgstr ""
@@ -1188,7 +1189,7 @@ msgid ""
msgstr ""
#. module: account_voucher
-#: code:addons/account_voucher/account_voucher.py:879
+#: code:addons/account_voucher/account_voucher.py:971
#, python-format
msgid "Cannot delete voucher(s) which are already opened or paid."
msgstr ""
@@ -1251,8 +1252,8 @@ msgid "Status changed "
msgstr ""
#. module: account_voucher
-#: code:addons/account_voucher/account_voucher.py:1014
-#: code:addons/account_voucher/account_voucher.py:1018
+#: code:addons/account_voucher/account_voucher.py:1106
+#: code:addons/account_voucher/account_voucher.py:1110
#, python-format
msgid "Insufficient Configuration!"
msgstr ""
diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py
index ac298713b04..ce79c4d5ffb 100644
--- a/addons/analytic/analytic.py
+++ b/addons/analytic/analytic.py
@@ -157,7 +157,7 @@ class account_analytic_account(osv.osv):
for account in self.browse(cr, uid, ids, context=context):
if account.company_id:
if account.company_id.currency_id.id != value:
- raise osv.except_osv(_('Error!'), _("If you set a company, the currency selected has to be the same as it's currency. \nYou can remove the company belonging, and thus change the currency, only on analytic account of type 'view'. This can be really usefull for consolidation purposes of several companies charts with different currencies, for example."))
+ raise osv.except_osv(_('Error!'), _("If you set a company, the currency selected has to be the same as it's currency. \nYou can remove the company belonging, and thus change the currency, only on analytic account of type 'view'. This can be really useful for consolidation purposes of several companies charts with different currencies, for example."))
if value:
return cr.execute("""update account_analytic_account set currency_id=%s where id=%s""", (value, account.id, ))
diff --git a/addons/analytic_user_function/analytic_user_function.py b/addons/analytic_user_function/analytic_user_function.py
index 0573292c1f6..1adefb2d59d 100644
--- a/addons/analytic_user_function/analytic_user_function.py
+++ b/addons/analytic_user_function/analytic_user_function.py
@@ -104,7 +104,7 @@ class hr_analytic_timesheet(osv.osv):
a = r.product_id.categ_id.property_account_expense_categ.id
if not a:
raise osv.except_osv(_('Error!'),
- _('There is no expense account define ' \
+ _('There is no expense account defined ' \
'for this product: "%s" (id:%d)') % \
(r.product_id.name, r.product_id.id,))
# Compute based on pricetype
@@ -133,7 +133,7 @@ class hr_analytic_timesheet(osv.osv):
a = r.product_id.categ_id.property_account_expense_categ.id
if not a:
raise osv.except_osv(_('Error!'),
- _('There is no expense account define ' \
+ _('There is no expense account defined ' \
'for this product: "%s" (id:%d)') % \
(r.product_id.name, r.product_id.id,))
# Compute based on pricetype
diff --git a/addons/anonymization/anonymization.py b/addons/anonymization/anonymization.py
index 0477efa5b1f..c82afde103f 100644
--- a/addons/anonymization/anonymization.py
+++ b/addons/anonymization/anonymization.py
@@ -86,11 +86,11 @@ class ir_model_fields_anonymization(osv.osv):
if context.get('manual'):
global_state = self._get_global_state(cr, uid, context=context)
if global_state == 'anonymized':
- raise osv.except_osv('Error !', "The database is currently anonymized, you cannot create, modify or delete fields.")
+ raise osv.except_osv('Error!', "The database is currently anonymized, you cannot create, modify or delete fields.")
elif global_state == 'unstable':
msg = _("The database anonymization is currently in an unstable state. Some fields are anonymized," + \
" while some fields are not anonymized. You should try to solve this problem before trying to create, write or delete fields.")
- raise osv.except_osv('Error !', msg)
+ raise osv.except_osv('Error!', msg)
return True
@@ -357,7 +357,7 @@ class ir_model_fields_anonymize_wizard(osv.osv_memory):
else:
msg = _("The database anonymization is currently in an unstable state. Some fields are anonymized," + \
" while some fields are not anonymized. You should try to solve this problem before trying to do anything else.")
- raise osv.except_osv('Error !', msg)
+ raise osv.except_osv('Error!', msg)
res['arch'] = etree.tostring(eview)
@@ -521,11 +521,11 @@ class ir_model_fields_anonymize_wizard(osv.osv_memory):
# check that all the defined fields are in the 'anonymized' state
state = ir_model_fields_anonymization_model._get_global_state(cr, uid, context=context)
if state == 'clear':
- raise osv.except_osv_('Error !', "The database is not currently anonymized, you cannot reverse the anonymization.")
+ raise osv.except_osv_('Error!', "The database is not currently anonymized, you cannot reverse the anonymization.")
elif state == 'unstable':
msg = _("The database anonymization is currently in an unstable state. Some fields are anonymized," + \
" while some fields are not anonymized. You should try to solve this problem before trying to do anything.")
- raise osv.except_osv('Error !', msg)
+ raise osv.except_osv('Error!', msg)
wizards = self.browse(cr, uid, ids, context=context)
for wizard in wizards:
diff --git a/addons/auth_oauth/controllers/main.py b/addons/auth_oauth/controllers/main.py
index 3f7ef2f3f0c..62eb2e812cc 100644
--- a/addons/auth_oauth/controllers/main.py
+++ b/addons/auth_oauth/controllers/main.py
@@ -102,7 +102,10 @@ class OAuthController(oeweb.Controller):
registry = RegistryManager.get(dbname)
with registry.cursor() as cr:
IMD = registry['ir.model.data']
- model, provider_id = IMD.get_object_reference(cr, SUPERUSER_ID, 'auth_oauth', 'provider_openerp')
+ try:
+ model, provider_id = IMD.get_object_reference(cr, SUPERUSER_ID, 'auth_oauth', 'provider_openerp')
+ except ValueError:
+ return set_cookie_and_redirect(req, '/?db=%s' % dbname)
assert model == 'auth.oauth.provider'
state = {
diff --git a/addons/base_calendar/crm_meeting.py b/addons/base_calendar/crm_meeting.py
index aa476002abc..1051a7a894c 100644
--- a/addons/base_calendar/crm_meeting.py
+++ b/addons/base_calendar/crm_meeting.py
@@ -60,7 +60,7 @@ class crm_meeting(base_state, osv.Model):
'categ_ids': fields.many2many('crm.meeting.type', 'meeting_category_rel',
'event_id', 'type_id', 'Tags'),
'attendee_ids': fields.many2many('calendar.attendee', 'meeting_attendee_rel',\
- 'event_id', 'attendee_id', 'Attendees', states={'done': [('readonly', True)]}),
+ 'event_id', 'attendee_id', 'Invited People', states={'done': [('readonly', True)]}),
}
_defaults = {
'state': 'open',
diff --git a/addons/base_import/static/csv/o2m_customers_contacts.csv b/addons/base_import/static/csv/o2m_customers_contacts.csv
new file mode 100644
index 00000000000..9a2411b2bee
--- /dev/null
+++ b/addons/base_import/static/csv/o2m_customers_contacts.csv
@@ -0,0 +1,9 @@
+Name,Is a company,Related company,Address type,Customer,Supplier,Street,ZIP,City,State,Country
+Aurora Shelves,1,,,1,0,25 Pacific Road,95101,San José,CA,United States
+Roger Martins,0,Aurora Shelves,Invoice,1,0,27 Pacific Road,95102,San José,CA,United States
+House Sales Direct,1,,,1,0,104 Saint Mary Avenue,94059,Redwood,CA,United States
+Yvan Holiday,0,House Sales Direct,Default,1,0,104 Saint Mary Avenue,94060,Redwood,CA,United States
+Jack Unsworth,0,House Sales Direct,Invoice,1,0,227 Jackson Road,94061,Redwood,CA,United States
+Michael Mason,0,,,1,0,16 5th Avenue,94104,San Francisco,CA,United States
+International Wood,1,,,1,0,748 White House Boulevard,20004,Washington,DC,United States
+Sharon Pecker,0,International Wood,Invoice,1,0,755 White House Boulevard,20005,Washington,DC,United States
diff --git a/addons/base_import/static/csv/o2m_suppliers_contacts.csv b/addons/base_import/static/csv/o2m_suppliers_contacts.csv
deleted file mode 100644
index 6c7be9037b8..00000000000
--- a/addons/base_import/static/csv/o2m_suppliers_contacts.csv
+++ /dev/null
@@ -1,8 +0,0 @@
-Name,Address type,Street,City,Country,Tags,Supplier,Customer,Is a company,Companies that refers to partner / Parent company
-Wood y Wood Pecker,,"Snow Street, 25",Kainuu,Finland,Supplier,1,0,1,
-Roger Pecker,Default,"Snow Street, 27",Kainuu,Finland,Supplier,1,0,0,Wood y Wood Pecker
-Sharon Pecker,Delivery,"Snow Street, 28",Kainuu,Finland,Supplier,1,0,0,Wood y Wood Pecker
-Thomas Pecker,Contact,"Snow Street, 27",Kainuu,Finland,Supplier,1,0,0,Wood y Wood Pecker
-Vicking Direct,,"Atonium Street, 45a",Brussels,Belgium,Supplier,1,0,1,
-Yvan Holiday,Invoice,"Atonium Street, 45b",Brussels,Belgium,Supplier,1,0,0,Vicking Direct
-Jack Unsworth,Contact,"Atonium Street, 45a",Brussels,Belgium,Supplier,1,0,0,Vicking Direct
diff --git a/addons/base_import/static/src/xml/import.xml b/addons/base_import/static/src/xml/import.xml
index c8b2b2c63dd..97bf3e66f7a 100644
--- a/addons/base_import/static/src/xml/import.xml
+++ b/addons/base_import/static/src/xml/import.xml
@@ -229,8 +229,8 @@
orders with their respective purchase order lines:
Purchase orders with their respective purchase order lines
The following CSV file shows how to import
- suppliers and their respective contacts
- Suppliers and their respective contacts
+ customers and their respective contacts
+ Customers and their respective contacts
diff --git a/addons/base_report_designer/base_report_designer_installer.xml b/addons/base_report_designer/base_report_designer_installer.xml
index 99898f5a703..61b7fbc4c1d 100644
--- a/addons/base_report_designer/base_report_designer_installer.xml
+++ b/addons/base_report_designer/base_report_designer_installer.xml
@@ -14,9 +14,13 @@
-
+
+
+
+
+
+
-
diff --git a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/lib/rpc.py b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/lib/rpc.py
index 5d6f8ca6dbc..e0176bfec62 100644
--- a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/lib/rpc.py
+++ b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/lib/rpc.py
@@ -61,8 +61,8 @@ class RPCSession(object):
protocol = m.group(1)
if not m:
return -1
- if protocol == 'http://' or protocol == 'http://':
- self.gateway = XMLRPCGateway(host, port, 'http')
+ if protocol == 'http://' or protocol == 'https://':
+ self.gateway = XMLRPCGateway(host, port, protocol[:-3])
elif protocol == 'socket://':
self.gateway = NETRPCGateway(host, port)
diff --git a/addons/base_report_designer/static/base-report-designer-plugin/openerp_report_designer.zip b/addons/base_report_designer/static/base-report-designer-plugin/openerp_report_designer.zip
index 7d03f45dbb4..238f9d19671 100644
Binary files a/addons/base_report_designer/static/base-report-designer-plugin/openerp_report_designer.zip and b/addons/base_report_designer/static/base-report-designer-plugin/openerp_report_designer.zip differ
diff --git a/addons/base_status/base_state.py b/addons/base_status/base_state.py
index b856bbd74ad..3fe59ecbd21 100644
--- a/addons/base_status/base_state.py
+++ b/addons/base_status/base_state.py
@@ -104,7 +104,7 @@ class base_state(object):
if parent_id.change_responsible and parent_id.user_id:
data['user_id'] = parent_id.user_id.id
else:
- raise osv.except_osv(_('Error !'), _('You can not escalate, you are already at the top level regarding your sales-team category.'))
+ raise osv.except_osv(_('Error!'), _('You can not escalate, you are already at the top level regarding your sales-team category.'))
self.write(cr, uid, [case.id], data, context=context)
case.case_escalate_send_note(parent_id, context=context)
return True
diff --git a/addons/board/static/src/js/dashboard.js b/addons/board/static/src/js/dashboard.js
index 3489b686e1b..4f50d2281fe 100644
--- a/addons/board/static/src/js/dashboard.js
+++ b/addons/board/static/src/js/dashboard.js
@@ -344,7 +344,7 @@ instance.board.AddToDashboard = instance.web.search.Input.extend({
},
load_data:function(){
var board = new instance.web.Model('board.board');
- return board.call('list');
+ return board.call('list', [board.context()]);
},
_x:function() {
if (!instance.webclient) { return $.Deferred().reject(); }
diff --git a/addons/crm/res_partner_view.xml b/addons/crm/res_partner_view.xml
index dd6c50dbaba..8b941a395dd 100644
--- a/addons/crm/res_partner_view.xml
+++ b/addons/crm/res_partner_view.xml
@@ -2,19 +2,6 @@
-
-
- view.res.partner.form.crm.inherited1
- res.partner
-
-
-
-
-
-
-
-
-
Meetings
@@ -91,24 +78,31 @@
-
-
- res.partner.view.buttons
+
+
+ view.res.partner.form.crm.inherited1
res.partner
-
-
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/crm/wizard/crm_lead_to_opportunity.py b/addons/crm/wizard/crm_lead_to_opportunity.py
index e67b7c0c7be..3c847ade42a 100644
--- a/addons/crm/wizard/crm_lead_to_opportunity.py
+++ b/addons/crm/wizard/crm_lead_to_opportunity.py
@@ -86,7 +86,7 @@ class crm_lead2opportunity_partner(osv.osv_memory):
lead_obj = self.pool.get('crm.lead')
for lead in lead_obj.browse(cr, uid, context.get('active_ids', []), context=context):
if lead.state in ['done', 'cancel']:
- raise osv.except_osv(_("Warning !"), _("Closed/Cancelled leads cannot be converted into opportunities."))
+ raise osv.except_osv(_("Warning!"), _("Closed/Cancelled leads cannot be converted into opportunities."))
return False
def _convert_opportunity(self, cr, uid, ids, vals, context=None):
diff --git a/addons/crm_claim/__openerp__.py b/addons/crm_claim/__openerp__.py
index 61257265f1b..eaec2e4fc2b 100644
--- a/addons/crm_claim/__openerp__.py
+++ b/addons/crm_claim/__openerp__.py
@@ -42,14 +42,20 @@ automatically new claims based on incoming emails.
'security/ir.model.access.csv',
'report/crm_claim_report_view.xml',
'crm_claim_data.xml',
+ 'res_partner_view.xml',
],
'demo': ['crm_claim_demo.xml'],
- 'test': ['test/process/claim.yml',
- 'test/ui/claim_demo.yml'
+ 'test': [
+ 'test/process/claim.yml',
+ 'test/ui/claim_demo.yml'
],
'installable': True,
'auto_install': False,
- 'images': ['images/claim_categories.jpeg','images/claim_stages.jpeg','images/claims.jpeg'],
+ 'images': [
+ 'images/claim_categories.jpeg',
+ 'images/claim_stages.jpeg',
+ 'images/claims.jpeg'
+ ],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/crm_claim/crm_claim_menu.xml b/addons/crm_claim/crm_claim_menu.xml
index 5abfcabbc71..59ec2acac2f 100644
--- a/addons/crm_claim/crm_claim_menu.xml
+++ b/addons/crm_claim/crm_claim_menu.xml
@@ -15,7 +15,11 @@
{"search_default_user_id":uid, "stage_type":'claim'}
- Record and track your customers' claims. Claims may be linked to a sales order or a lot. You can send emails with attachments and keep the full history for a claim (emails sent, intervention type and so on). Claims may automatically be linked to an email address using the mail gateway module.
+
+
+ Record and track your customers' claims. Claims may be linked to a sales order or a lot.You can send emails with attachments and keep the full history for a claim (emails sent, intervention type and so on).Claims may automatically be linked to an email address using the mail gateway module.
+
+
diff --git a/addons/crm_claim/crm_claim_view.xml b/addons/crm_claim/crm_claim_view.xml
index e295bfdd250..0d2d8b391e7 100644
--- a/addons/crm_claim/crm_claim_view.xml
+++ b/addons/crm_claim/crm_claim_view.xml
@@ -216,35 +216,5 @@
-
-
- res.partner.claim.info.form
- res.partner
-
- 20
-
-
- False
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/crm_claim/res_partner_view.xml b/addons/crm_claim/res_partner_view.xml
new file mode 100644
index 00000000000..4a5db879311
--- /dev/null
+++ b/addons/crm_claim/res_partner_view.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+ res.partner.claim.info.form
+ res.partner
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/crm_helpdesk/i18n/zh_CN.po b/addons/crm_helpdesk/i18n/zh_CN.po
index 7c8275f606a..13843f911c9 100644
--- a/addons/crm_helpdesk/i18n/zh_CN.po
+++ b/addons/crm_helpdesk/i18n/zh_CN.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-06-07 05:48+0000\n"
+"X-Launchpad-Export-Date: 2013-06-08 05:52+0000\n"
"X-Generator: Launchpad (build 16667)\n"
#. module: crm_helpdesk
diff --git a/addons/delivery/sale.py b/addons/delivery/sale.py
index 86a518ebca9..1b797290632 100644
--- a/addons/delivery/sale.py
+++ b/addons/delivery/sale.py
@@ -51,10 +51,10 @@ class sale_order(osv.osv):
for order in self.browse(cr, uid, ids, context=context):
grid_id = carrier_obj.grid_get(cr, uid, [order.carrier_id.id], order.partner_shipping_id.id)
if not grid_id:
- raise osv.except_osv(_('No grid available !'), _('No grid matching for this carrier !'))
+ raise osv.except_osv(_('No Grid Available!'), _('No grid matching for this carrier!'))
if not order.state in ('draft'):
- raise osv.except_osv(_('Order not in draft state !'), _('The order state have to be draft to add delivery lines.'))
+ raise osv.except_osv(_('Order not in Draft State!'), _('The order state have to be draft to add delivery lines.'))
grid = grid_obj.browse(cr, uid, grid_id, context=context)
diff --git a/addons/document_page/document_page_view.xml b/addons/document_page/document_page_view.xml
index 4d0b5596e75..9d02b47d265 100644
--- a/addons/document_page/document_page_view.xml
+++ b/addons/document_page/document_page_view.xml
@@ -88,7 +88,11 @@
tree,form
- Create web pages
+
+
+ Click to create a new web page.
+
+
diff --git a/addons/edi/models/edi.py b/addons/edi/models/edi.py
index bfd59dae15a..1b9e0c4df08 100644
--- a/addons/edi/models/edi.py
+++ b/addons/edi/models/edi.py
@@ -126,7 +126,7 @@ class edi(osv.AbstractModel):
module = edi_document.get('__import_module') or edi_document.get('__module')
assert module, 'a `__module` or `__import_module` attribute is required in each EDI document.'
if module != 'base' and not ir_module.search(cr, uid, [('name','=',module),('state','=','installed')]):
- raise osv.except_osv(_('Missing application.'),
+ raise osv.except_osv(_('Missing Application.'),
_("The document you are trying to import requires the OpenERP `%s` application. "
"You can install it by connecting as the administrator and opening the configuration assistant.")%(module,))
model = edi_document.get('__import_model') or edi_document.get('__model')
diff --git a/addons/email_template/email_template.py b/addons/email_template/email_template.py
index 2a7990e301b..2e3405ed079 100644
--- a/addons/email_template/email_template.py
+++ b/addons/email_template/email_template.py
@@ -24,8 +24,8 @@ import base64
import logging
import openerp
+from openerp import SUPERUSER_ID
from openerp.osv import osv, fields
-from openerp.osv import fields
from openerp import tools
from openerp.tools.translate import _
from urllib import urlencode, quote as quote
@@ -191,7 +191,6 @@ class email_template(osv.osv):
}
def create_action(self, cr, uid, ids, context=None):
- vals = {}
action_obj = self.pool.get('ir.actions.act_window')
data_obj = self.pool.get('ir.model.data')
for template in self.browse(cr, uid, ids, context=context):
@@ -199,7 +198,7 @@ class email_template(osv.osv):
model_data_id = data_obj._get_id(cr, uid, 'mail', 'email_compose_message_wizard_form')
res_id = data_obj.browse(cr, uid, model_data_id, context=context).res_id
button_name = _('Send Mail (%s)') % template.name
- vals['ref_ir_act_window'] = action_obj.create(cr, uid, {
+ act_id = action_obj.create(cr, SUPERUSER_ID, {
'name': button_name,
'type': 'ir.actions.act_window',
'res_model': 'mail.compose.message',
@@ -211,27 +210,29 @@ class email_template(osv.osv):
'target': 'new',
'auto_refresh':1
}, context)
- vals['ref_ir_value'] = self.pool.get('ir.values').create(cr, uid, {
+ ir_values_id = self.pool.get('ir.values').create(cr, SUPERUSER_ID, {
'name': button_name,
'model': src_obj,
'key2': 'client_action_multi',
- 'value': "ir.actions.act_window," + str(vals['ref_ir_act_window']),
+ 'value': "ir.actions.act_window,%s" % act_id,
'object': True,
}, context)
- self.write(cr, uid, ids, {
- 'ref_ir_act_window': vals.get('ref_ir_act_window',False),
- 'ref_ir_value': vals.get('ref_ir_value',False),
- }, context)
+
+ template.write({
+ 'ref_ir_act_window': act_id,
+ 'ref_ir_value': ir_values_id,
+ })
+
return True
def unlink_action(self, cr, uid, ids, context=None):
for template in self.browse(cr, uid, ids, context=context):
try:
if template.ref_ir_act_window:
- self.pool.get('ir.actions.act_window').unlink(cr, uid, template.ref_ir_act_window.id, context)
+ self.pool.get('ir.actions.act_window').unlink(cr, SUPERUSER_ID, template.ref_ir_act_window.id, context)
if template.ref_ir_value:
ir_values_obj = self.pool.get('ir.values')
- ir_values_obj.unlink(cr, uid, template.ref_ir_value.id, context)
+ ir_values_obj.unlink(cr, SUPERUSER_ID, template.ref_ir_value.id, context)
except Exception:
raise osv.except_osv(_("Warning"), _("Deletion of the action record failed."))
return True
diff --git a/addons/email_template/wizard/mail_compose_message.py b/addons/email_template/wizard/mail_compose_message.py
index 7f44828ce15..746c2cc55f6 100644
--- a/addons/email_template/wizard/mail_compose_message.py
+++ b/addons/email_template/wizard/mail_compose_message.py
@@ -54,18 +54,22 @@ class mail_compose_message(osv.TransientModel):
Indeed, basic mail.compose.message wizard duplicates attachments in mass
mailing mode. But in 'single post' mode, attachments of an email template
also have to be duplicated to avoid changing their ownership. """
+ if context is None:
+ context = {}
+ wizard_context = dict(context)
for wizard in self.browse(cr, uid, ids, context=context):
+ if wizard.template_id and not wizard.template_id.user_signature:
+ wizard_context['mail_notify_user_signature'] = False # template user_signature is added when generating body_html
if not wizard.attachment_ids or wizard.composition_mode == 'mass_mail' or not wizard.template_id:
continue
- template = self.pool.get('email.template').browse(cr, uid, wizard.template_id.id, context=context)
new_attachment_ids = []
for attachment in wizard.attachment_ids:
- if attachment in template.attachment_ids:
+ if attachment in wizard.template_id.attachment_ids:
new_attachment_ids.append(self.pool.get('ir.attachment').copy(cr, uid, attachment.id, {'res_model': 'mail.compose.message', 'res_id': wizard.id}, context=context))
else:
new_attachment_ids.append(attachment.id)
self.write(cr, uid, wizard.id, {'attachment_ids': [(6, 0, new_attachment_ids)]}, context=context)
- return super(mail_compose_message, self).send_mail(cr, uid, ids, context=context)
+ return super(mail_compose_message, self).send_mail(cr, uid, ids, context=wizard_context)
def onchange_template_id(self, cr, uid, ids, template_id, composition_mode, model, res_id, context=None):
""" - mass_mailing: we cannot render, so return the template values
diff --git a/addons/event/res_partner.py b/addons/event/res_partner.py
index fc4afa56e69..b51e1fbb9d3 100644
--- a/addons/event/res_partner.py
+++ b/addons/event/res_partner.py
@@ -21,15 +21,13 @@
from openerp.osv import fields, osv
+
class res_partner(osv.osv):
_inherit = 'res.partner'
_columns = {
'speaker': fields.boolean('Speaker', help="Check this box if this contact is a speaker."),
- 'event_ids': fields.one2many('event.event','main_speaker_id', readonly=True),
- 'event_registration_ids': fields.one2many('event.registration','partner_id', readonly=True),
}
-
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/event/res_partner_view.xml b/addons/event/res_partner_view.xml
index c3e8073a7ae..7e97f80e30d 100644
--- a/addons/event/res_partner_view.xml
+++ b/addons/event/res_partner_view.xml
@@ -2,9 +2,8 @@
-
-
-
+
+
res.partner.event.info.inherit
res.partner
@@ -12,34 +11,8 @@
-
- False
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/addons/fleet/fleet_view.xml b/addons/fleet/fleet_view.xml
index 4d0e6298129..a8f6a321daf 100644
--- a/addons/fleet/fleet_view.xml
+++ b/addons/fleet/fleet_view.xml
@@ -591,6 +591,9 @@
tree,graph
{"search_default_groupby_vehicle" : True}
+
+ Click to create a new odometer log.
+
Here you can add various odometer entries for all vehicles.
You can also show odometer value for a particular vehicle using
diff --git a/addons/hr/__init__.py b/addons/hr/__init__.py
index 02ac7f16fd9..fbd01761f39 100644
--- a/addons/hr/__init__.py
+++ b/addons/hr/__init__.py
@@ -23,5 +23,6 @@ import hr_department
import hr
import res_config
+import res_users
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr/__openerp__.py b/addons/hr/__openerp__.py
index b4b8e982845..b074a80aa88 100644
--- a/addons/hr/__openerp__.py
+++ b/addons/hr/__openerp__.py
@@ -59,6 +59,8 @@ You can manage:
'hr_installer.xml',
'hr_data.xml',
'res_config_view.xml',
+ 'mail_hr_view.xml',
+ 'res_users_view.xml',
],
'demo': ['hr_demo.xml'],
'test': [
@@ -69,5 +71,7 @@ You can manage:
'application': True,
'auto_install': False,
'css': [ 'static/src/css/hr.css' ],
+ 'js': [ 'static/src/js/suggestions.js' ],
+ 'qweb': [ 'static/src/xml/suggestions.xml' ],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr/hr.py b/addons/hr/hr.py
index bb2eb16d834..830dbfd7a4f 100644
--- a/addons/hr/hr.py
+++ b/addons/hr/hr.py
@@ -25,9 +25,11 @@ from openerp.modules.module import get_module_resource
from openerp.osv import fields, osv
from openerp.tools.translate import _
from openerp import tools
+from openerp.tools.translate import _
_logger = logging.getLogger(__name__)
+
class hr_employee_category(osv.osv):
def name_get(self, cr, uid, ids, context=None):
@@ -156,6 +158,7 @@ class hr_job(osv.osv):
class hr_employee(osv.osv):
_name = "hr.employee"
_description = "Employee"
+ _order = 'name_related'
_inherits = {'resource.resource': "resource_id"}
_inherit = ['mail.thread']
@@ -164,10 +167,10 @@ class hr_employee(osv.osv):
for obj in self.browse(cr, uid, ids, context=context):
result[obj.id] = tools.image_get_resized_images(obj.image)
return result
-
+
def _set_image(self, cr, uid, id, name, value, args, context=None):
return self.write(cr, uid, [id], {'image': tools.image_resize_image_big(value)}, context=context)
-
+
_columns = {
#we need a related field in order to be able to sort the employee by name
'name_related': fields.related('resource_id', 'name', type='char', string='Name', readonly=True, store=True),
@@ -177,12 +180,12 @@ class hr_employee(osv.osv):
'sinid': fields.char('SIN No', size=32, help="Social Insurance Number"),
'identification_id': fields.char('Identification No', size=32),
'otherid': fields.char('Other Id', size=64),
- 'gender': fields.selection([('male', 'Male'),('female', 'Female')], 'Gender'),
+ 'gender': fields.selection([('male', 'Male'), ('female', 'Female')], 'Gender'),
'marital': fields.selection([('single', 'Single'), ('married', 'Married'), ('widower', 'Widower'), ('divorced', 'Divorced')], 'Marital Status'),
- 'department_id':fields.many2one('hr.department', 'Department'),
+ 'department_id': fields.many2one('hr.department', 'Department'),
'address_id': fields.many2one('res.partner', 'Working Address'),
'address_home_id': fields.many2one('res.partner', 'Home Address'),
- 'bank_account_id':fields.many2one('res.partner.bank', 'Bank Account Number', domain="[('partner_id','=',address_home_id)]", help="Employee bank salary account"),
+ 'bank_account_id': fields.many2one('res.partner.bank', 'Bank Account Number', domain="[('partner_id','=',address_home_id)]", help="Employee bank salary account"),
'work_phone': fields.char('Work Phone', size=32, readonly=False),
'mobile_phone': fields.char('Work Mobile', size=32, readonly=False),
'work_email': fields.char('Work Email', size=240),
@@ -213,25 +216,42 @@ class hr_employee(osv.osv):
help="Small-sized photo of the employee. It is automatically "\
"resized as a 64x64px image, with aspect ratio preserved. "\
"Use this field anywhere a small image is required."),
- 'passport_id':fields.char('Passport No', size=64),
+ 'passport_id': fields.char('Passport No', size=64),
'color': fields.integer('Color Index'),
'city': fields.related('address_id', 'city', type='char', string='City'),
'login': fields.related('user_id', 'login', type='char', string='Login', readonly=1),
'last_login': fields.related('user_id', 'date', type='datetime', string='Latest Connection', readonly=1),
}
- _order='name_related'
+ def _get_default_image(self, cr, uid, context=None):
+ image_path = get_module_resource('hr', 'static/src/img', 'default_image.png')
+ return tools.image_resize_image_big(open(image_path, 'rb').read().encode('base64'))
+
+ defaults = {
+ 'active': 1,
+ 'image': _get_default_image,
+ 'color': 0,
+ }
def create(self, cr, uid, data, context=None):
- employee_id = super(hr_employee, self).create(cr, uid, data, context=context)
- try:
- (model, mail_group_id) = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'mail', 'group_all_employees')
- employee = self.browse(cr, uid, employee_id, context=context)
- self.pool.get('mail.group').message_post(cr, uid, [mail_group_id],
- body=_('Welcome to %s! Please help him/her take the first steps with OpenERP!') % (employee.name),
- subtype='mail.mt_comment', context=context)
- except:
- pass # group deleted: do not push a message
+ if context is None:
+ context = {}
+ create_ctx = dict(context, mail_create_nolog=True)
+ employee_id = super(hr_employee, self).create(cr, uid, data, context=create_ctx)
+ employee = self.browse(cr, uid, employee_id, context=context)
+ if employee.user_id:
+ # send a copy to every user of the company
+ company_id = employee.user_id.partner_id.company_id.id
+ partner_ids = self.pool.get('res.partner').search(cr, uid, [
+ ('company_id', '=', company_id),
+ ('user_ids', '!=', False)], context=context)
+ else:
+ partner_ids = []
+ self.message_post(cr, uid, [employee_id],
+ body=_('Welcome to %s! Please help him/her take the first steps with OpenERP!') % (employee.name),
+ partner_ids=partner_ids,
+ subtype='mail.mt_comment', context=context
+ )
return employee_id
def unlink(self, cr, uid, ids, context=None):
@@ -252,7 +272,7 @@ class hr_employee(osv.osv):
company_id = self.pool.get('res.company').browse(cr, uid, company, context=context)
address = self.pool.get('res.partner').address_get(cr, uid, [company_id.partner_id.id], ['default'])
address_id = address and address['default'] or False
- return {'value': {'address_id' : address_id}}
+ return {'value': {'address_id': address_id}}
def onchange_department_id(self, cr, uid, ids, department_id, context=None):
value = {'parent_id': False}
@@ -265,17 +285,36 @@ class hr_employee(osv.osv):
work_email = False
if user_id:
work_email = self.pool.get('res.users').browse(cr, uid, user_id, context=context).email
- return {'value': {'work_email' : work_email}}
+ return {'value': {'work_email': work_email}}
- def _get_default_image(self, cr, uid, context=None):
- image_path = get_module_resource('hr', 'static/src/img', 'default_image.png')
- return tools.image_resize_image_big(open(image_path, 'rb').read().encode('base64'))
+ def action_follow(self, cr, uid, ids, context=None):
+ """ Wrapper because message_subscribe_users take a user_ids=None
+ that receive the context without the wrapper. """
+ return self.message_subscribe_users(cr, uid, ids, context=context)
- _defaults = {
- 'active': 1,
- 'image': _get_default_image,
- 'color': 0,
- }
+ def action_unfollow(self, cr, uid, ids, context=None):
+ """ Wrapper because message_unsubscribe_users take a user_ids=None
+ that receive the context without the wrapper. """
+ return self.message_unsubscribe_users(cr, uid, ids, context=context)
+
+ def get_suggested_thread(self, cr, uid, removed_suggested_threads=None, context=None):
+ """Show the suggestion of employees if display_employees_suggestions if the
+ user perference allows it. """
+ user = self.pool.get('res.users').browse(cr, uid, uid, context)
+ if not user.display_employees_suggestions:
+ return []
+ else:
+ return super(hr_employee, self).get_suggested_thread(cr, uid, removed_suggested_threads, context)
+
+ def _message_get_auto_subscribe_fields(self, cr, uid, updated_fields, auto_follow_fields=['user_id'], context=None):
+ """ Overwrite of the original method to always follow user_id field,
+ even when not track_visibility so that a user will follow it's employee
+ """
+ user_field_lst = []
+ for name, column_info in self._all_columns.items():
+ if name in auto_follow_fields and name in updated_fields and column_info.column._obj == 'res.users':
+ user_field_lst.append(name)
+ return user_field_lst
def _check_recursion(self, cr, uid, ids, context=None):
level = 100
@@ -291,6 +330,22 @@ class hr_employee(osv.osv):
(_check_recursion, 'Error! You cannot create recursive hierarchy of Employee(s).', ['parent_id']),
]
+ # ---------------------------------------------------
+ # Mail gateway
+ # ---------------------------------------------------
+
+ def check_mail_message_access(self, cr, uid, mids, operation, model_obj=None, context=None):
+ """ mail.message document permission rule: can post a new message if can read
+ because of portal document. """
+ if not model_obj:
+ model_obj = self
+ employee_ids = model_obj.search(cr, uid, [('user_id', '=', uid)], context=context)
+ if employee_ids and operation == 'create':
+ model_obj.check_access_rights(cr, uid, 'read')
+ model_obj.check_access_rule(cr, uid, mids, 'read', context=context)
+ else:
+ return super(hr_employee, self).check_mail_message_access(cr, uid, mids, operation, model_obj=model_obj, context=context)
+
class hr_department(osv.osv):
_description = "Department"
diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml
index 66cf97592cf..16d7e6286a4 100644
--- a/addons/hr/hr_view.xml
+++ b/addons/hr/hr_view.xml
@@ -27,6 +27,10 @@
+
+
+
+