diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py index c538614fd0f..019af2cdef5 100644 --- a/addons/account/__openerp__.py +++ b/addons/account/__openerp__.py @@ -73,7 +73,6 @@ for a particular financial year and for preparation of vouchers there is a modul 'wizard/account_fiscalyear_close_state.xml', 'wizard/account_chart_view.xml', 'wizard/account_tax_chart_view.xml', - 'wizard/account_move_journal_view.xml', 'wizard/account_move_line_reconcile_select_view.xml', 'wizard/account_open_closed_fiscalyear_view.xml', 'wizard/account_move_line_unreconcile_select_view.xml', @@ -128,9 +127,11 @@ for a particular financial year and for preparation of vouchers there is a modul ], 'js': [ 'static/src/js/account_move_reconciliation.js', + 'static/src/js/account_move_line_quickadd.js', ], 'qweb' : [ "static/src/xml/account_move_reconciliation.xml", + "static/src/xml/account_move_line_quickadd.xml", ], 'css':['static/src/css/account_move_reconciliation.css' ], diff --git a/addons/account/account.py b/addons/account/account.py index cfba30856a9..971bcec5bb0 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -641,8 +641,7 @@ class account_account(osv.osv): return True def _check_allow_type_change(self, cr, uid, ids, new_type, context=None): - group1 = ['payable', 'receivable', 'other'] - group2 = ['consolidation','view'] + restricted_groups = ['consolidation','view'] line_obj = self.pool.get('account.move.line') for account in self.browse(cr, uid, ids, context=context): old_type = account.type @@ -650,14 +649,25 @@ 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 which contains journal items!")) - #Check for change From group1 to group2 and vice versa - if (old_type in group1 and new_type in group2) or (old_type in group2 and new_type in group1): - raise osv.except_osv(_('Warning!'), _("You cannot change the type of account from '%s' to '%s' type as it contains journal items!") % (old_type,new_type,)) + 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,)) + + return True + + # For legal reason (forbiden to modify journal entries which belongs to a closed fy or period), Forbid to modify + # the code of an account if journal entries have been already posted on this account. This cannot be simply + # 'configurable' since it can lead to a lack of confidence in OpenERP and this is what we want to change. + def _check_allow_code_change(self, cr, uid, ids, context=None): + line_obj = self.pool.get('account.move.line') + for account in self.browse(cr, uid, ids, context=context): + account_ids = self.search(cr, uid, [('id', 'child_of', [account.id])], context=context) + if line_obj.search(cr, uid, [('account_id', 'in', account_ids)], context=context): + raise osv.except_osv(_('Warning !'), _("You cannot change the code of account which contains journal items!")) return True def write(self, cr, uid, ids, vals, context=None): - if context is None: context = {} if not ids: @@ -677,6 +687,8 @@ class account_account(osv.osv): self._check_moves(cr, uid, ids, "write", context=context) if 'type' in vals.keys(): self._check_allow_type_change(cr, uid, ids, vals['type'], context=context) + if 'code' in vals.keys(): + self._check_allow_code_change(cr, uid, ids, context=context) return super(account_account, self).write(cr, uid, ids, vals, context=context) def unlink(self, cr, uid, ids, context=None): @@ -685,44 +697,6 @@ class account_account(osv.osv): account_account() -class account_journal_view(osv.osv): - _name = "account.journal.view" - _description = "Journal View" - _columns = { - 'name': fields.char('Journal View', size=64, required=True, translate=True), - 'columns_id': fields.one2many('account.journal.column', 'view_id', 'Columns') - } - _order = "name" - -account_journal_view() - - -class account_journal_column(osv.osv): - - def _col_get(self, cr, user, context=None): - result = [] - cols = self.pool.get('account.move.line')._columns - for col in cols: - if col in ('period_id', 'journal_id'): - continue - result.append( (col, cols[col].string) ) - result.sort() - return result - - _name = "account.journal.column" - _description = "Journal Column" - _columns = { - 'name': fields.char('Column Name', size=64, required=True), - 'field': fields.selection(_col_get, 'Field Name', required=True, size=32), - 'view_id': fields.many2one('account.journal.view', 'Journal View', select=True), - 'sequence': fields.integer('Sequence', help="Gives the sequence order to journal column.", readonly=True), - 'required': fields.boolean('Required'), - 'readonly': fields.boolean('Readonly'), - } - _order = "view_id, sequence" - -account_journal_column() - class account_journal(osv.osv): _name = "account.journal" _description = "Journal" @@ -738,7 +712,6 @@ class account_journal(osv.osv): " Select 'Opening/Closing Situation' for entries generated for new fiscal years."), 'type_control_ids': fields.many2many('account.account.type', 'account_journal_type_rel', 'journal_id','type_id', 'Type Controls', domain=[('code','<>','view'), ('code', '<>', 'closed')]), 'account_control_ids': fields.many2many('account.account', 'account_account_type_rel', 'journal_id','account_id', 'Account', domain=[('type','<>','view'), ('type', '<>', 'closed')]), - 'view_id': fields.many2one('account.journal.view', 'Display Mode', required=True, help="Gives the view used when writing or browsing entries in this journal. The view tells OpenERP which fields should be visible, required or readonly and in which order. You can create your own view for a faster encoding in each journal."), 'default_credit_account_id': fields.many2one('account.account', 'Default Credit Account', domain="[('type','!=','view')]", help="It acts as a default account for credit amount"), 'default_debit_account_id': fields.many2one('account.account', 'Default Debit Account', domain="[('type','!=','view')]", help="It acts as a default account for debit amount"), 'centralisation': fields.boolean('Centralised Counterpart', help="Check this box to determine that each entry of this journal won't create a new counterpart but will share the same counterpart. This is used in fiscal year closing."), @@ -874,37 +847,6 @@ class account_journal(osv.osv): return self.name_get(cr, user, ids, context=context) - def onchange_type(self, cr, uid, ids, type, currency, context=None): - obj_data = self.pool.get('ir.model.data') - user_pool = self.pool.get('res.users') - - type_map = { - 'sale':'account_sp_journal_view', - 'sale_refund':'account_sp_refund_journal_view', - 'purchase':'account_sp_journal_view', - 'purchase_refund':'account_sp_refund_journal_view', - 'cash':'account_journal_bank_view', - 'bank':'account_journal_bank_view', - 'general':'account_journal_view', - 'situation':'account_journal_view' - } - - res = {} - view_id = type_map.get(type, 'account_journal_view') - user = user_pool.browse(cr, uid, uid) - if type in ('cash', 'bank') and currency and user.company_id.currency_id.id != currency: - view_id = 'account_journal_bank_view_multi' - data_id = obj_data.search(cr, uid, [('model','=','account.journal.view'), ('name','=',view_id)]) - data = obj_data.browse(cr, uid, data_id[0], context=context) - - res.update({ - 'centralisation':type == 'situation', - 'view_id':data.res_id, - }) - return { - 'value':res - } - account_journal() class account_fiscalyear(osv.osv): @@ -1384,13 +1326,6 @@ class account_move(osv.osv): 'WHERE id IN %s', ('draft', tuple(ids),)) return True - def onchange_line_id(self, cr, uid, ids, line_ids, context=None): - balance = 0.0 - for line in line_ids: - if line[2]: - balance += (line[2].get('debit',0.00)- (line[2].get('credit',0.00))) - return {'value': {'balance': balance}} - def write(self, cr, uid, ids, vals, context=None): if context is None: context = {} @@ -1439,9 +1374,9 @@ class account_move(osv.osv): if 'line_id' in vals: c = context.copy() c['novalidate'] = True - c['period_id'] = vals['period_id'] + c['period_id'] = vals['period_id'] if 'period_id' in vals else self._get_period(cr, uid, context) c['journal_id'] = vals['journal_id'] - c['date'] = vals['date'] + if 'date' in vals: c['date'] = vals['date'] result = super(account_move, self).create(cr, uid, vals, c) self.validate(cr, uid, [result], context) else: @@ -1470,6 +1405,11 @@ class account_move(osv.osv): raise osv.except_osv(_('User Error!'), _('You cannot delete a posted journal entry "%s".') % \ move['name']) + for line in move.line_id: + if line.invoice: + raise osv.except_osv(_('User Error!'), + _("Move cannot be deleted if linked to an invoice. (Invoice: %s - Move ID:%s)") % \ + (line.invoice.number,move.name)) line_ids = map(lambda x: x.id, move.line_id) context['journal_id'] = move.journal_id.id context['period_id'] = move.period_id.id @@ -1678,11 +1618,41 @@ class account_move_reconcile(osv.osv): 'line_id': fields.one2many('account.move.line', 'reconcile_id', 'Entry Lines'), 'line_partial_ids': fields.one2many('account.move.line', 'reconcile_partial_id', 'Partial Entry lines'), 'create_date': fields.date('Creation date', readonly=True), + 'opening_reconciliation': fields.boolean('Opening Entries Reconciliation', help="Is this reconciliation produced by the opening of a new fiscal year ?."), } _defaults = { 'name': lambda self,cr,uid,ctx=None: self.pool.get('ir.sequence').get(cr, uid, 'account.reconcile', context=ctx) or '/', } + + # You cannot unlink a reconciliation if it is a opening_reconciliation one, + # you should use the generate opening entries wizard for that + def unlink(self, cr, uid, ids, context=None): + for move_rec in self.browse(cr, uid, ids, context=context): + if move_rec.opening_reconciliation: + raise osv.except_osv(_('Error!'), _('You cannot unreconcile journal items if they has been generated by the \ + opening/closing fiscal year process.')) + return super(account_move_reconcile, self).unlink(cr, uid, ids, context=context) + + # Look in the line_id and line_partial_ids to ensure the partner is the same or empty + # on all lines. We allow that only for opening/closing period + def _check_same_partner(self, cr, uid, ids, context=None): + for reconcile in self.browse(cr, uid, ids, context=context): + move_lines = [] + if not reconcile.opening_reconciliation: + if reconcile.line_id: + first_partner = reconcile.line_id[0].partner_id.id + move_lines = reconcile.line_id + elif reconcile.line_partial_ids: + first_partner = reconcile.line_partial_ids[0].partner_id.id + move_lines = reconcile.line_partial_ids + if any([line.partner_id.id != first_partner for line in move_lines]): + return False + return True + _constraints = [ + (_check_same_partner, 'You can only reconcile journal items with the same partner.', ['line_id']), + ] + def reconcile_partial_check(self, cr, uid, ids, type='auto', context=None): total = 0.0 for rec in self.browse(cr, uid, ids, context=context): @@ -3161,16 +3131,6 @@ class wizard_multi_charts_accounts(osv.osv_memory): default_account = acc_template_ref.get(template.property_account_income_opening.id) return default_account - def _get_view_id(journal_type): - # Get the journal views - if journal_type in ('general', 'situation'): - data = obj_data.get_object_reference(cr, uid, 'account', 'account_journal_view') - elif journal_type in ('sale_refund', 'purchase_refund'): - data = obj_data.get_object_reference(cr, uid, 'account', 'account_sp_refund_journal_view') - else: - data = obj_data.get_object_reference(cr, uid, 'account', 'account_sp_journal_view') - return data and data[1] or False - journal_names = { 'sale': _('Sales Journal'), 'purchase': _('Purchase Journal'), @@ -3200,7 +3160,6 @@ class wizard_multi_charts_accounts(osv.osv_memory): 'code': journal_codes[journal_type], 'company_id': company_id, 'centralisation': journal_type == 'situation', - 'view_id': _get_view_id(journal_type), 'analytic_journal_id': _get_analytic_journal(journal_type), 'default_credit_account_id': _get_default_account(journal_type, 'credit'), 'default_debit_account_id': _get_default_account(journal_type, 'debit'), @@ -3417,11 +3376,7 @@ class wizard_multi_charts_accounts(osv.osv_memory): ''' obj_data = self.pool.get('ir.model.data') obj_journal = self.pool.get('account.journal') - # Get the id of journal views - tmp = obj_data.get_object_reference(cr, uid, 'account', 'account_journal_bank_view_multi') - view_id_cur = tmp and tmp[1] or False - tmp = obj_data.get_object_reference(cr, uid, 'account', 'account_journal_bank_view') - view_id_cash = tmp and tmp[1] or False + # we need to loop again to find next number for journal code # because we can't rely on the value current_num as, @@ -3447,10 +3402,8 @@ class wizard_multi_charts_accounts(osv.osv_memory): 'default_debit_account_id': default_account_id, } if line['currency_id']: - vals['view_id'] = view_id_cur vals['currency'] = line['currency_id'] - else: - vals['view_id'] = view_id_cash + return vals def _prepare_bank_account(self, cr, uid, line, new_code, acc_template_ref, ref_acc_bank, company_id, context=None): diff --git a/addons/account/account_bank.py b/addons/account/account_bank.py index c836600d866..f0da630ec1d 100644 --- a/addons/account/account_bank.py +++ b/addons/account/account_bank.py @@ -89,11 +89,6 @@ class bank(osv.osv): } acc_bank_id = obj_acc.create(cr,uid,acc,context=context) - # Get the journal view id - data_id = obj_data.search(cr, uid, [('model','=','account.journal.view'), ('name','=','account_journal_bank_view')]) - data = obj_data.browse(cr, uid, data_id[0], context=context) - view_id_cash = data.res_id - jour_obj = self.pool.get('account.journal') new_code = 1 while True: @@ -112,7 +107,6 @@ class bank(osv.osv): 'analytic_journal_id': False, 'default_credit_account_id': acc_bank_id, 'default_debit_account_id': acc_bank_id, - 'view_id': view_id_cash } journal_id = jour_obj.create(cr, uid, vals_journal, context=context) diff --git a/addons/account/account_bank_statement.py b/addons/account/account_bank_statement.py index 4422537007f..e7e3f740067 100644 --- a/addons/account/account_bank_statement.py +++ b/addons/account/account_bank_statement.py @@ -311,7 +311,7 @@ class account_bank_statement(osv.osv): 'statement_id': st_line.statement_id.id, 'journal_id': st_line.statement_id.journal_id.id, 'period_id': st_line.statement_id.period_id.id, - 'currency_id': cur_id, + 'currency_id': amount_currency and cur_id, 'amount_currency': amount_currency, 'analytic_account_id': analytic_id, } diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py index 2006c2c4199..15a663f801f 100644 --- a/addons/account/account_invoice.py +++ b/addons/account/account_invoice.py @@ -522,11 +522,11 @@ class account_invoice(osv.osv): return result def onchange_payment_term_date_invoice(self, cr, uid, ids, payment_term_id, date_invoice): - res = {} - if not payment_term_id: - return res + res = {} if not date_invoice: date_invoice = time.strftime('%Y-%m-%d') + if not payment_term_id: + return {'value':{'date_due': date_invoice}} #To make sure the invoice has a due date when no payment term pterm_list = self.pool.get('account.payment.term').compute(cr, uid, payment_term_id, value=1, date_ref=date_invoice) if pterm_list: pterm_list = [line[0] for line in pterm_list] @@ -1071,8 +1071,9 @@ class account_invoice(osv.osv): self.message_post(cr, uid, [inv_id], body=message, subtype="account.mt_invoice_validated", context=context) return True - def action_cancel(self, cr, uid, ids, *args): - context = {} # TODO: Use context from arguments + def action_cancel(self, cr, uid, ids, context=None): + if context is None: + context = {} account_move_obj = self.pool.get('account.move') invoices = self.read(cr, uid, ids, ['move_id', 'payment_ids']) move_ids = [] # ones that we will need to remove @@ -1242,12 +1243,15 @@ class account_invoice(osv.osv): ref = invoice.reference else: ref = self._convert_ref(cr, uid, invoice.number) + partner = invoice.partner_id + if partner.parent_id and not partner.is_company: + partner = partner.parent_id # Pay attention to the sign for both debit/credit AND amount_currency l1 = { 'debit': direction * pay_amount>0 and direction * pay_amount, 'credit': direction * pay_amount<0 and - direction * pay_amount, 'account_id': src_account_id, - 'partner_id': invoice.partner_id.id, + 'partner_id': partner.id, 'ref':ref, 'date': date, 'currency_id':currency_id, @@ -1258,7 +1262,7 @@ class account_invoice(osv.osv): 'debit': direction * pay_amount<0 and - direction * pay_amount, 'credit': direction * pay_amount>0 and direction * pay_amount, 'account_id': pay_account_id, - 'partner_id': invoice.partner_id.id, + 'partner_id': partner.id, 'ref':ref, 'date': date, 'currency_id':currency_id, @@ -1370,8 +1374,8 @@ class account_invoice_line(osv.osv): 'origin': fields.char('Source Document', size=256, help="Reference of the document that produced this invoice."), 'sequence': fields.integer('Sequence', help="Gives the sequence of this line when displaying the invoice."), 'invoice_id': fields.many2one('account.invoice', 'Invoice Reference', ondelete='cascade', select=True), - 'uos_id': fields.many2one('product.uom', 'Unit of Measure', ondelete='set null'), - 'product_id': fields.many2one('product.product', 'Product', ondelete='set null'), + 'uos_id': fields.many2one('product.uom', 'Unit of Measure', ondelete='set null', select=True), + 'product_id': fields.many2one('product.product', 'Product', ondelete='set null', select=True), 'account_id': fields.many2one('account.account', 'Account', required=True, domain=[('type','<>','view'), ('type', '<>', 'closed')], help="The income or expense account related to the selected product."), 'price_unit': fields.float('Unit Price', required=True, digits_compute= dp.get_precision('Product Price')), 'price_subtotal': fields.function(_amount_line, string='Subtotal', type="float", diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index 5c5a25880cb..48fec608195 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -435,7 +435,7 @@
- +
diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index 00fad390282..698b1bcf00c 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -220,12 +220,11 @@ class account_move_line(osv.osv): return context def _default_get(self, cr, uid, fields, context=None): + #default_get should only do the following: + # -propose the next amount in debit/credit in order to balance the move + # -propose the next account from the journal (default debit/credit account) accordingly if context is None: context = {} - if not context.get('journal_id', False): - context['journal_id'] = context.get('search_default_journal_id') - if not context.get('period_id', False): - context['period_id'] = context.get('search_default_period_id') account_obj = self.pool.get('account.account') period_obj = self.pool.get('account.period') journal_obj = self.pool.get('account.journal') @@ -234,134 +233,71 @@ class account_move_line(osv.osv): fiscal_pos_obj = self.pool.get('account.fiscal.position') partner_obj = self.pool.get('res.partner') currency_obj = self.pool.get('res.currency') + + if not context.get('journal_id', False): + context['journal_id'] = context.get('search_default_journal_id', False) + if not context.get('period_id', False): + context['period_id'] = context.get('search_default_period_id', False) context = self.convert_to_period(cr, uid, context) - #pass the right context when search_defaul_journal_id - if context.get('search_default_journal_id',False): - context['journal_id'] = context.get('search_default_journal_id') + # Compute simple values data = super(account_move_line, self).default_get(cr, uid, fields, context=context) - # Starts: Manual entry from account.move form - if context.get('lines'): - total_new = context.get('balance', 0.00) - if context['journal']: - journal_data = journal_obj.browse(cr, uid, context['journal'], context=context) - if journal_data.type == 'purchase': - if total_new > 0: - account = journal_data.default_credit_account_id - else: - account = journal_data.default_debit_account_id - else: - if total_new > 0: - account = journal_data.default_credit_account_id - else: - account = journal_data.default_debit_account_id - if account and ((not fields) or ('debit' in fields) or ('credit' in fields)) and 'partner_id' in data and (data['partner_id']): - part = partner_obj.browse(cr, uid, data['partner_id'], context=context) - account = fiscal_pos_obj.map_account(cr, uid, part and part.property_account_position or False, account.id) - account = account_obj.browse(cr, uid, account, context=context) - data['account_id'] = account.id - - s = -total_new - data['debit'] = s > 0 and s or 0.0 - data['credit'] = s < 0 and -s or 0.0 - data = self._default_get_move_form_hook(cr, uid, data) - return data - # Ends: Manual entry from account.move form - if not 'move_id' in fields: #we are not in manual entry - return data - # Compute the current move - move_id = False - partner_id = False - if context.get('journal_id', False) and context.get('period_id', False): - if 'move_id' in fields: - cr.execute('SELECT move_id \ - FROM \ - account_move_line \ - WHERE \ - journal_id = %s and period_id = %s AND create_uid = %s AND state = %s \ - ORDER BY id DESC limit 1', - (context['journal_id'], context['period_id'], uid, 'draft')) + if context.get('journal_id'): + total = 0.0 + #in account.move form view, it is not possible to compute total debit and credit using + #a browse record. So we must use the context to pass the whole one2many field and compute the total + if context.get('line_id'): + for move_line_dict in move_obj.resolve_2many_commands(cr, uid, 'line_id', context.get('line_id'), context=context): + data['name'] = data.get('name') or move_line_dict.get('name') + data['partner_id'] = data.get('partner_id') or move_line_dict.get('partner_id') + total += move_line_dict.get('debit', 0.0) - move_line_dict.get('credit', 0.0) + elif context.get('period_id'): + #find the date and the ID of the last unbalanced account.move encoded by the current user in that journal and period + move_id = False + cr.execute('''SELECT move_id, date FROM account_move_line + WHERE journal_id = %s AND period_id = %s AND create_uid = %s AND state = %s + ORDER BY id DESC limit 1''', (context['journal_id'], context['period_id'], uid, 'draft')) res = cr.fetchone() - move_id = (res and res[0]) or False - if not move_id: - return data - else: - data['move_id'] = move_id - if 'date' in fields: - cr.execute('SELECT date \ - FROM \ - account_move_line \ - WHERE \ - journal_id = %s AND period_id = %s AND create_uid = %s \ - ORDER BY id DESC', - (context['journal_id'], context['period_id'], uid)) - res = cr.fetchone() - if res: - data['date'] = res[0] - else: - period = period_obj.browse(cr, uid, context['period_id'], - context=context) - data['date'] = period.date_start - if not move_id: - return data - total = 0 - ref_id = False - move = move_obj.browse(cr, uid, move_id, context=context) - if 'name' in fields: - data.setdefault('name', move.line_id[-1].name) - acc1 = False - for l in move.line_id: - acc1 = l.account_id - partner_id = partner_id or l.partner_id.id - ref_id = ref_id or l.ref - total += (l.debit or 0.0) - (l.credit or 0.0) + move_id = res and res[0] or False + data['date'] = res and res[1] or period_obj.browse(cr, uid, context['period_id'], context=context).date_start + data['move_id'] = move_id + if move_id: + #if there exist some unbalanced accounting entries that match the journal and the period, + #we propose to continue the same move by copying the ref, the name, the partner... + move = move_obj.browse(cr, uid, move_id, context=context) + data.setdefault('name', move.line_id[-1].name) + for l in move.line_id: + data['partner_id'] = data.get('partner_id') or l.partner_id.id + data['ref'] = data.get('ref') or l.ref + total += (l.debit or 0.0) - (l.credit or 0.0) - if 'ref' in fields: - data['ref'] = ref_id - if 'partner_id' in fields: - data['partner_id'] = partner_id - - if move.journal_id.type == 'purchase': - if total > 0: - account = move.journal_id.default_credit_account_id - else: - account = move.journal_id.default_debit_account_id - else: - if total > 0: - account = move.journal_id.default_credit_account_id - else: - account = move.journal_id.default_debit_account_id - part = partner_id and partner_obj.browse(cr, uid, partner_id) or False - # part = False is acceptable for fiscal position. - account = fiscal_pos_obj.map_account(cr, uid, part and part.property_account_position or False, account.id) - if account: - account = account_obj.browse(cr, uid, account, context=context) - - if account and ((not fields) or ('debit' in fields) or ('credit' in fields)): - data['account_id'] = account.id - # Propose the price Tax excluded, the Tax will be added when confirming line - if account.tax_ids: - taxes = fiscal_pos_obj.map_tax(cr, uid, part and part.property_account_position or False, account.tax_ids) - tax = tax_obj.browse(cr, uid, taxes) - for t in tax_obj.compute_inv(cr, uid, tax, total, 1): - total -= t['amount'] - - s = -total - data['debit'] = s > 0 and s or 0.0 - data['credit'] = s < 0 and -s or 0.0 - - if account and account.currency_id: - data['currency_id'] = account.currency_id.id - acc = account - if s>0: - acc = acc1 - compute_ctx = context.copy() - compute_ctx.update({ - 'res.currency.compute.account': acc, - 'res.currency.compute.account_invert': True, - }) - v = currency_obj.compute(cr, uid, account.company_id.currency_id.id, data['currency_id'], s, context=compute_ctx) - data['amount_currency'] = v + #compute the total of current move + data['debit'] = total < 0 and -total or 0.0 + data['credit'] = total > 0 and total or 0.0 + #pick the good account on the journal accordingly if the next proposed line will be a debit or a credit + journal_data = journal_obj.browse(cr, uid, context['journal_id'], context=context) + account = total > 0 and journal_data.default_credit_account_id or journal_data.default_debit_account_id + #map the account using the fiscal position of the partner, if needed + part = data.get('partner_id') and partner_obj.browse(cr, uid, data['partner_id'], context=context) or False + if account and data.get('partner_id'): + account = fiscal_pos_obj.map_account(cr, uid, part and part.property_account_position or False, account.id) + account = account_obj.browse(cr, uid, account, context=context) + data['account_id'] = account and account.id or False + #compute the amount in secondary currency of the account, if needed + if account and account.currency_id: + data['currency_id'] = account.currency_id.id + #set the context for the multi currency change + compute_ctx = context.copy() + compute_ctx.update({ + #the following 2 parameters are used to choose the currency rate, in case where the account + #doesn't work with an outgoing currency rate method 'at date' but 'average' + 'res.currency.compute.account': account, + 'res.currency.compute.account_invert': True, + }) + if data.get('date'): + compute_ctx.update({'date': data['date']}) + data['amount_currency'] = currency_obj.compute(cr, uid, account.company_id.currency_id.id, data['currency_id'], -total, context=compute_ctx) + data = self._default_get_move_form_hook(cr, uid, data) return data def on_create_write(self, cr, uid, id, context=None): @@ -484,6 +420,15 @@ class account_move_line(osv.osv): result.append(line.id) return result + def _get_reconcile(self, cr, uid, ids,name, unknow_none, context=None): + res = dict.fromkeys(ids, False) + for line in self.browse(cr, uid, ids, context=context): + if line.reconcile_id: + res[line.id] = str(line.reconcile_id.name) + elif line.reconcile_partial_id: + res[line.id] = str(line.reconcile_partial_id.name) + return res + _columns = { 'name': fields.char('Name', size=64, required=True), 'quantity': fields.float('Quantity', digits=(16,2), help="The optional quantity expressed by this line, eg: number of product sold. The quantity is not a legal requirement but is very useful for some reports."), @@ -498,15 +443,16 @@ class account_move_line(osv.osv): 'statement_id': fields.many2one('account.bank.statement', 'Statement', help="The bank statement used for bank reconciliation", select=1), 'reconcile_id': fields.many2one('account.move.reconcile', 'Reconcile', readonly=True, ondelete='set null', select=2), 'reconcile_partial_id': fields.many2one('account.move.reconcile', 'Partial Reconcile', readonly=True, ondelete='set null', select=2), + 'reconcile': fields.function(_get_reconcile, type='char', string='Reconcile'), 'amount_currency': fields.float('Amount Currency', help="The amount expressed in an optional other currency if it is a multi-currency entry.", digits_compute=dp.get_precision('Account')), 'amount_residual_currency': fields.function(_amount_residual, string='Residual Amount', multi="residual", help="The residual amount on a receivable or payable of a journal entry expressed in its currency (maybe different of the company currency)."), 'amount_residual': fields.function(_amount_residual, string='Residual Amount', multi="residual", help="The residual amount on a receivable or payable of a journal entry expressed in the company currency."), 'currency_id': fields.many2one('res.currency', 'Currency', help="The optional other currency if it is a multi-currency entry."), - 'journal_id': fields.related('move_id', 'journal_id', string='Journal', type='many2one', relation='account.journal', required=True, select=True, readonly=True, + 'journal_id': fields.related('move_id', 'journal_id', string='Journal', type='many2one', relation='account.journal', required=True, select=True, store = { 'account.move': (_get_move_lines, ['journal_id'], 20) }), - 'period_id': fields.related('move_id', 'period_id', string='Period', type='many2one', relation='account.period', required=True, select=True, readonly=True, + 'period_id': fields.related('move_id', 'period_id', string='Period', type='many2one', relation='account.period', required=True, select=True, store = { 'account.move': (_get_move_lines, ['period_id'], 20) }), @@ -529,7 +475,8 @@ class account_move_line(osv.osv): type='many2one', relation='account.invoice', fnct_search=_invoice_search), 'account_tax_id':fields.many2one('account.tax', 'Tax'), 'analytic_account_id': fields.many2one('account.analytic.account', 'Analytic Account'), - 'company_id': fields.related('account_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True) + 'company_id': fields.related('account_id', 'company_id', type='many2one', relation='res.company', + string='Company', store=True, readonly=True) } def _get_date(self, cr, uid, context=None): @@ -537,7 +484,7 @@ class account_move_line(osv.osv): context or {} period_obj = self.pool.get('account.period') dt = time.strftime('%Y-%m-%d') - if ('journal_id' in context) and ('period_id' in context): + if context.get('journal_id') and context.get('period_id'): cr.execute('SELECT date FROM account_move_line ' \ 'WHERE journal_id = %s AND period_id = %s ' \ 'ORDER BY id DESC limit 1', @@ -558,6 +505,38 @@ class account_move_line(osv.osv): cur = self.pool.get('account.journal').browse(cr, uid, context['journal_id']).currency return cur and cur.id or False + def _get_period(self, cr, uid, context=None): + """ + Return default account period value + """ + context = context or {} + if context.get('period_id', False): + return context['period_id'] + account_period_obj = self.pool.get('account.period') + ids = account_period_obj.find(cr, uid, context=context) + period_id = False + if ids: + period_id = ids[0] + return period_id + + def _get_journal(self, cr, uid, context=None): + """ + Return journal based on the journal type + """ + context = context or {} + if context.get('journal_id', False): + return context['journal_id'] + journal_id = False + + journal_pool = self.pool.get('account.journal') + if context.get('journal_type', False): + jids = journal_pool.search(cr, uid, [('type','=', context.get('journal_type'))]) + if not jids: + 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.') % context.get('journal_type')) + journal_id = jids[0] + return journal_id + + _defaults = { 'blocked': False, 'centralisation': 'normal', @@ -565,12 +544,12 @@ class account_move_line(osv.osv): 'date_created': fields.date.context_today, 'state': 'draft', 'currency_id': _get_currency, - 'journal_id': lambda self, cr, uid, c: c.get('journal_id', False), + 'journal_id': _get_journal, 'credit': 0.0, 'debit': 0.0, 'amount_currency': 0.0, 'account_id': lambda self, cr, uid, c: c.get('account_id', False), - 'period_id': lambda self, cr, uid, c: c.get('period_id', False), + 'period_id': _get_period, 'company_id': lambda self, cr, uid, c: self.pool.get('res.company')._company_default_get(cr, uid, 'account.move.line', context=c) } _order = "date desc, id desc" @@ -620,12 +599,34 @@ class account_move_line(osv.osv): return False return True + def _check_currency_and_amount(self, cr, uid, ids, context=None): + for l in self.browse(cr, uid, ids, context=context): + if (l.amount_currency and not l.currency_id): + return False + return True + + def _check_currency_amount(self, cr, uid, ids, context=None): + for l in self.browse(cr, uid, ids, context=context): + if l.amount_currency: + if (l.amount_currency > 0.0 and l.credit > 0.0) or (l.amount_currency < 0.0 and l.debit > 0.0): + return False + return True + + def _check_currency_company(self, cr, uid, ids, context=None): + for l in self.browse(cr, uid, ids, context=context): + if l.currency_id.id == l.company_id.currency_id.id: + return False + return True + _constraints = [ (_check_no_view, 'You cannot create journal items on an account of type view.', ['account_id']), (_check_no_closed, 'You cannot create journal items on closed account.', ['account_id']), (_check_company_id, 'Account and Period must belong to the same company.', ['company_id']), (_check_date, 'The date of your Journal Entry is not in the defined period! You should change the date or remove this constraint from the journal.', ['date']), (_check_currency, 'The selected account of your Journal Entry forces to provide a secondary currency. You should remove the secondary currency on the account or select a multi-currency view on the journal.', ['currency_id']), + (_check_currency_and_amount, "You cannot create journal items with a secondary currency without recording both 'currency' and 'amount currency' field.", ['currency_id','amount_currency']), + (_check_currency_amount, 'The amount expressed in the secondary currency must be positif when journal item are debit and negatif when journal item are credit.', ['amount_currency']), + (_check_currency_company, "You cannot provide a secondary currency if it is the same than the company one." , ['currency_id']), ] #TODO: ONCHANGE_ACCOUNT_ID: set account_tax_id @@ -653,6 +654,12 @@ class account_move_line(osv.osv): } return result + def onchange_account_id(self, cr, uid, ids, account_id, context=None): + res = {'value': {}} + if account_id: + res['value']['account_tax_id'] = [x.id for x in self.pool.get('account.account').browse(cr, uid, account_id, context=context).tax_ids] + return res + def onchange_partner_id(self, cr, uid, ids, move_id, partner_id, account_id=None, debit=0, credit=0, date=False, journal=False): partner_obj = self.pool.get('res.partner') payment_term_obj = self.pool.get('account.payment.term') @@ -977,127 +984,6 @@ class account_move_line(osv.osv): 'context':context, } - def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): - journal_pool = self.pool.get('account.journal') - if context is None: - context = {} - result = super(account_move_line, self).fields_view_get(cr, uid, view_id, view_type, context=context, toolbar=toolbar, submenu=submenu) - if (view_type != 'tree') or view_id: - #Remove the toolbar from the form view - if view_type == 'form': - if result.get('toolbar', False): - result['toolbar']['action'] = [] - #Restrict the list of journal view in search view - if view_type == 'search' and result['fields'].get('journal_id', False): - result['fields']['journal_id']['selection'] = journal_pool.name_search(cr, uid, '', [], context=context) - ctx = context.copy() - #we add the refunds journal in the selection field of journal - if context.get('journal_type', False) == 'sale': - ctx.update({'journal_type': 'sale_refund'}) - result['fields']['journal_id']['selection'] += journal_pool.name_search(cr, uid, '', [], context=ctx) - elif context.get('journal_type', False) == 'purchase': - ctx.update({'journal_type': 'purchase_refund'}) - result['fields']['journal_id']['selection'] += journal_pool.name_search(cr, uid, '', [], context=ctx) - return result - if context.get('view_mode', False): - return result - fld = [] - flds = [] - title = _("Accounting Entries") # self.view_header_get(cr, uid, view_id, view_type, context) - - ids = journal_pool.search(cr, uid, [], context=context) - journals = journal_pool.browse(cr, uid, ids, context=context) - for journal in journals: - for field in journal.view_id.columns_id: - # sometimes, it's possible that a defined column is not loaded (the module containing - # this field is not loaded) when we make an update. - if field.field not in self._columns: - continue - - if not field.field in flds: - fld.append((field.field, field.sequence)) - flds.append(field.field) - - default_columns = { - 'period_id': 3, - 'journal_id': 10, - 'state': sys.maxint, - } - for d in default_columns: - if d not in flds: - fld.append((d, default_columns[d])) - flds.append(d) - - fld = sorted(fld, key=itemgetter(1)) - widths = { - 'statement_id': 50, - 'state': 60, - 'tax_code_id': 50, - 'move_id': 40, - } - - document = etree.Element('tree', string=title, editable="top", - on_write="on_create_write", - colors="red:state=='draft';black:state=='valid'") - fields_get = self.fields_get(cr, uid, flds, context) - for field, _seq in fld: - # TODO add string to element - f = etree.SubElement(document, 'field', name=field) - - if field == 'debit': - f.set('sum', _("Total debit")) - - elif field == 'credit': - f.set('sum', _("Total credit")) - - elif field == 'move_id': - f.set('required', 'False') - - elif field == 'account_tax_id': - f.set('domain', "[('parent_id', '=' ,False)]") - f.set('context', "{'journal_id': journal_id}") - - elif field == 'account_id' and journal.id: - f.set('domain', "[('journal_id', '=', journal_id),('type','!=','view'), ('type','!=','closed')]") - f.set('on_change', 'onchange_account_id(account_id, partner_id)') - - elif field == 'partner_id': - f.set('on_change', 'onchange_partner_id(move_id, partner_id, account_id, debit, credit, date, journal_id)') - - elif field == 'journal_id': - f.set('context', "{'journal_id': journal_id}") - - elif field == 'statement_id': - f.set('domain', "[('state', '!=', 'confirm'),('journal_id.type', '=', 'bank')]") - f.set('invisible', 'True') - - elif field == 'date': - f.set('on_change', 'onchange_date(date)') - - elif field == 'analytic_account_id': - # Currently it is not working due to being executed by superclass's fields_view_get - # f.set('groups', 'analytic.group_analytic_accounting') - pass - - if field in ('amount_currency', 'currency_id'): - f.set('on_change', 'onchange_currency(account_id, amount_currency, currency_id, date, journal_id)') - f.set('attrs', "{'readonly': [('state', '=', 'valid')]}") - - if field in widths: - f.set('width', str(widths[field])) - - if field in ('journal_id',): - f.set("invisible", "context.get('journal_id', False)") - elif field in ('period_id',): - f.set("invisible", "context.get('period_id', False)") - - orm.setup_modifiers(f, fields_get[field], context=context, - in_tree_view=True) - - result['arch'] = etree.tostring(document, pretty_print=True) - result['fields'] = fields_get - return result - def _check_moves(self, cr, uid, context=None): # use the first move ever created for this journal and period if context is None: @@ -1111,7 +997,7 @@ class account_move_line(osv.osv): 'has been confirmed.') % res[2]) return res - def _remove_move_reconcile(self, cr, uid, move_ids=None, context=None): + def _remove_move_reconcile(self, cr, uid, move_ids=None, opening_reconciliation=False, context=None): # Function remove move rencocile ids related with moves obj_move_line = self.pool.get('account.move.line') obj_move_rec = self.pool.get('account.move.reconcile') @@ -1126,6 +1012,8 @@ class account_move_line(osv.osv): unlink_ids += rec_ids unlink_ids += part_rec_ids if unlink_ids: + if opening_reconciliation: + obj_move_rec.write(cr, uid, unlink_ids, {'opening_reconciliation': False}) obj_move_rec.unlink(cr, uid, unlink_ids) return True @@ -1390,6 +1278,19 @@ class account_move_line(osv.osv): move_obj.button_validate(cr,uid, [vals['move_id']], context) return result + def list_periods(self, cr, uid, context=None): + ids = self.pool.get('account.period').search(cr,uid,[]) + return self.pool.get('account.period').name_get(cr, uid, ids, context=context) + + def list_journals(self, cr, uid, context=None): + ng = dict(self.pool.get('account.journal').name_search(cr,uid,'',[])) + ids = ng.keys() + result = [] + for journal in self.pool.get('account.journal').browse(cr, uid, ids, context=context): + result.append((journal.id,ng[journal.id],journal.type, + bool(journal.currency),bool(journal.analytic_journal_id))) + return result + account_move_line() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index 7732d8d8cb0..e2c45af8cba 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -2,10 +2,7 @@ - - + account.fiscalyear.form account.fiscalyear @@ -70,7 +67,7 @@ - + Fiscal Years account.fiscalyear form @@ -90,12 +87,9 @@ - - - + + account.period.form account.period @@ -142,7 +136,6 @@ - account.period.search account.period @@ -153,8 +146,7 @@ - - + Periods account.period form @@ -169,12 +161,9 @@

- + - - + account.account.form account.account @@ -215,25 +204,6 @@ - - - account.account.search - account.account - - - - - - - - - - - - - - - account.account.list account.account @@ -253,6 +223,23 @@ + + account.account.search + account.account + + + + + + + + + + + + + + Accounts account.account @@ -276,6 +263,13 @@ + + account.account.tree account.account @@ -301,7 +295,6 @@ [('parent_id','=',False)] - Unrealized Gain or Loss account.account @@ -321,7 +314,6 @@ - Unrealized Gain or Loss account.account @@ -341,7 +333,6 @@

- - - - - account.journal.column.form - account.journal.column - -
- - - - - -
- - account.journal.column.tree - account.journal.column - - - - - - - - - - account.journal.view.search - account.journal.view - - - - - - - - account.journal.view.tree - account.journal.view - - - - - - - - account.journal.view.form - account.journal.view - -
- - - - -
- - Journal Views - account.journal.view - form - tree,form - - -

- Click to specify lists of columns to display for a type of journal. -

- Journal views determine the way you can record entries in - your journal. Select the fields you want to appear in a journal - and determine the sequence in which they will appear. -

- On the journal definition form, you can select the view you - want to use to display journal items related to this journal. -

-
-
- - - - + + account.journal.tree account.journal @@ -462,7 +379,6 @@ - account.journal.form account.journal @@ -475,7 +391,7 @@ - + @@ -489,7 +405,6 @@ - @@ -529,7 +444,6 @@ - Journals account.journal @@ -550,6 +464,21 @@ + + + + + account.cash.statement.select account.bank.statement @@ -735,9 +664,7 @@ - + account.account.type.search account.account.type @@ -747,7 +674,6 @@ - account.account.type.tree account.account.type @@ -758,7 +684,6 @@ - account.account.type.form account.account.type @@ -798,9 +723,8 @@ - + + account.move.tree account.move @@ -818,10 +742,7 @@ - - + account.move.reconcile.form account.move.reconcile @@ -840,9 +761,7 @@ - + account.tax.code.search account.tax.code @@ -913,13 +832,17 @@

- - + + + - + account.tax.tree account.tax @@ -1041,57 +964,7 @@ - - - - account.move.line - - - - - - - - - - - - - - - - - - - account.move.line.tree - account.move.line - - - - - - - - - - - - - - - - - - - - - - - - - + account.move.line.form account.move.line @@ -1161,7 +1034,6 @@ - account.move.line.form2 account.move.line @@ -1209,7 +1081,35 @@ - + + account.move.line.tree + account.move.line + + + + + + + + + + + + + + + + + + + + + + + + + + account.move.line.graph account.move.line @@ -1221,7 +1121,6 @@ - Journal Items account.move.line @@ -1238,7 +1137,7 @@ - + @@ -1251,17 +1150,15 @@ - + {'journal_type':'general'} Journal Items account.move.line - form - tree,form - {} - + + tree_account_move_line_quickadd

- Click to register a new journal item. + Select the period and the journal you want to fill.

This view can be used by accountants in order to quickly record entries in OpenERP. If you want to record a supplier invoice, @@ -1271,7 +1168,6 @@

- - - Lines to reconcile + + account.move.line + + + + + + + + + + + + + + + + + + {'search_default_unreconciled': 1,'view_mode':True} + Journal Items to Reconcile account.move.line - form - tree,form - [('account_id.reconcile', '=', True),('reconcile_id','=',False)] - - - + + tree_account_reconciliation + +

+ No journal items found. +

+
+ + - - Journal Items - account.move.line - form - tree,form - - - {'search_default_account_id': [active_id]} - - - - tree_but_open - account.account - Open Journal Items - - - - + account.move.tree account.move @@ -1360,10 +1268,8 @@ - + context="{'line_id': line_id , 'journal_id': journal_id }">
@@ -1430,7 +1336,6 @@ - @@ -1455,7 +1360,6 @@
- account.move.select account.move @@ -1480,7 +1384,6 @@ - Journal Entries account.move @@ -1502,7 +1405,6 @@

- - - - Journal Items - account.move.line - form - tree,form - - - - - - tree - - - - - - form - - - - - {'search_default_unreconciled': 1,'view_mode':True} - Journal Items to Reconcile - account.move.line - - tree_account_reconciliation - -

- No journal items found. -

-
-
- - - - - - - - - - - - + account.journal.period.tree account.journal.period @@ -1620,10 +1455,7 @@ tree - - + account.model.line.tree account.model.line @@ -1640,8 +1472,6 @@ - - account.model.line.form account.model.line @@ -1661,7 +1491,6 @@ - account.model.form account.model @@ -1680,7 +1509,6 @@ - account.model.tree account.model @@ -1692,7 +1520,6 @@ - account.model.search account.model @@ -1721,10 +1548,7 @@ action="action_model_form" name="Models" id="menu_action_model_form" sequence="5" parent="account.menu_finance_recurrent_entries"/> - - + account.payment.term.line.tree account.payment.term.line @@ -1739,8 +1563,6 @@ - - account.payment.term.line.form account.payment.term.line @@ -1780,7 +1602,6 @@ - account.payment.term.search account.payment.term @@ -1791,7 +1612,6 @@ - account.payment.term.form account.payment.term @@ -1807,7 +1627,6 @@ - Payment Terms account.payment.term @@ -1818,10 +1637,7 @@ - - + account.subscription.line.form account.subscription.line @@ -1834,7 +1650,6 @@ - account.subscription.line.tree account.subscription.line @@ -1845,7 +1660,6 @@ - account.subscription.tree account.subscription @@ -1859,7 +1673,6 @@ - account.subscription.search account.subscription @@ -1877,7 +1690,6 @@ - account.subscription.form account.subscription @@ -1963,72 +1775,7 @@ - - Journal Items - account.move.line - form - tree,form - [('account_id','child_of', [active_id]),('state','<>','draft')] - {'account_id':active_id} - - - - account.move.line.tax.tree - account.move.line - - - - - - - - - - - - - - - - - - - - - - Journal Items - account.move.line - form - tree,form - - [('tax_code_id','child_of',active_id),('state','<>','draft')] - - - tree_but_open - account.tax.code - Tax Details - - - - - - - - - - + - - - - Create Account - account.addtmpl.wizard - -
-
-
- - - - -
- - + - account.account.template.form account.account.template @@ -2104,7 +1834,6 @@ - account.account.template.tree account.account.template @@ -2117,7 +1846,6 @@ - account.account.template.search account.account.template @@ -2136,7 +1864,6 @@ - Account Templates account.account.template @@ -2144,11 +1871,32 @@ tree,form - - + + Create Account + account.addtmpl.wizard + +
+
+
+ + + + +
+ + + + account.chart.template.form account.chart.template @@ -2221,11 +1969,9 @@ form tree,form - - account.tax.template.form account.tax.template @@ -2304,7 +2050,6 @@ - Tax Templates account.tax.template @@ -2312,7 +2057,6 @@ tree,form - @@ -2328,7 +2072,6 @@
- account.tax.code.template.search account.tax.code.template @@ -2342,7 +2085,6 @@ - account.tax.code.template.form account.tax.code.template @@ -2359,7 +2101,6 @@ - Tax Code Templates account.tax.code.template @@ -2371,7 +2112,6 @@ - Set Your Accounting Options wizard.multi.charts.accounts @@ -2410,7 +2150,6 @@ - Set Your Accounting Options ir.actions.act_window @@ -2516,7 +2255,6 @@ - account.bank.statement.form account.bank.statement @@ -2649,6 +2387,7 @@

+ tree @@ -2678,10 +2417,7 @@ parent="menu_finance_payables" action="base.action_partner_supplier_form" sequence="100"/> - - + account.financial.report.form account.financial.report @@ -2708,7 +2444,6 @@ - account.financial.report.tree account.financial.report @@ -2721,7 +2456,6 @@ - account.financial.report.search account.financial.report @@ -2737,7 +2471,6 @@ - Financial Reports ir.actions.act_window @@ -2747,7 +2480,6 @@ - @@ -2770,7 +2502,6 @@ [('parent_id','=',False)] - diff --git a/addons/account/data/account_data.xml b/addons/account/data/account_data.xml index 73ddddb87c8..5459f806eee 100644 --- a/addons/account/data/account_data.xml +++ b/addons/account/data/account_data.xml @@ -59,412 +59,6 @@
- - - Bank/Cash Journal View - - - - Date - date - - - - - - Journal Entry - move_id - - - - - - Name - name - - - - - - Statement - statement_id - - - - - Partner - partner_id - - - - - Account - account_id - - - - - - Debit - debit - - - - - Credit - credit - - - - - Ref - ref - - - - - Status - state - - - - - Reconcile - reconcile_id - - - - - - Bank/Cash Journal (Multi-Currency) View - - - - Date - date - - - - - - Journal Entry - move_id - - - - - - Name - name - - - - - - Statement - statement_id - - - - - Partner - partner_id - - - - - Account - account_id - - - - - - Currency Amt. - amount_currency - - - - - Currency - currency_id - - - - - Debit - debit - - - - - Credit - credit - - - - - Ref - ref - - - - - Status - state - - - - - Reconcile - reconcile_id - - - - - - Journal View - - - - Date - date - - - - - - Journal Entry - move_id - - - - - - Ref - ref - - - - - Partner - partner_id - - - - - Account - account_id - - - - - - Name - name - - - - - - Debit - debit - - - - - Credit - credit - - - - - Analytic Account - analytic_account_id - - - - - Status - state - - - - - - Sale/Purchase Journal View - - - - Date - date - - - - - - Journal Entry - move_id - - - - - - Ref - ref - - - - - Account - account_id - - - - - - Partner - partner_id - - - - - Name - name - - - - - - Due Date - date_maturity - - - - - Debit - debit - - - - - Credit - credit - - - - - Tax - account_tax_id - - - - - Analytic Account - analytic_account_id - - - - - Status - state - - - - - Reconcile - reconcile_id - - - - - Sale/Purchase Refund Journal View - - - - Date - date - - - - - - Journal Entry - move_id - - - - - - Ref - ref - - - - - Account - account_id - - - - - - Partner - partner_id - - - - - Name - name - - - - - - Due Date - date_maturity - - - - - Debit - debit - - - - - Credit - credit - - - - - Tax - account_tax_id - - - - - Analytic Account - analytic_account_id - - - - - Status - state - - - - - Reconcile - reconcile_id - - - diff --git a/addons/account/demo/account_minimal.xml b/addons/account/demo/account_minimal.xml index 984711eceef..ce9a09def08 100644 --- a/addons/account/demo/account_minimal.xml +++ b/addons/account/demo/account_minimal.xml @@ -312,7 +312,6 @@ Sales Journal - (test) TSAJ sale - @@ -323,7 +322,6 @@ Sales Credit Note Journal - (test) TSCNJ sale_refund - @@ -335,7 +333,6 @@ Expenses Journal - (test) TEXJ purchase - @@ -346,7 +343,6 @@ Expenses Credit Notes Journal - (test) TECNJ purchase_refund - @@ -358,7 +354,6 @@ Bank Journal - (test) TBNK bank - @@ -369,7 +364,6 @@ Checks Journal - (test) TCHK bank - @@ -390,7 +384,6 @@ that test OpenERP arrive directly in the touchscreen UI. --> - @@ -401,7 +394,6 @@ Miscellaneous Journal - (test) TMIS general - @@ -410,7 +402,6 @@ Opening Entries Journal - (test) TOEJ situation - @@ -422,7 +413,6 @@ USD Bank Journal - (test) TUBK bank - diff --git a/addons/account/i18n/ar.po b/addons/account/i18n/ar.po index 64be9fd9f6f..4c7fd194707 100644 --- a/addons/account/i18n/ar.po +++ b/addons/account/i18n/ar.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-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-05-10 17:34+0000\n" -"Last-Translator: Raphael Collet (OpenERP) \n" +"PO-Revision-Date: 2012-12-01 17:09+0000\n" +"Last-Translator: kifcaliph \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: 2012-11-25 05:53+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-02 04:37+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account #: model:process.transition,name:account.process_transition_supplierreconcilepaid0 @@ -85,7 +85,7 @@ msgstr "إستيراد من فاتورة أو دفعة" #: code:addons/account/account_move_line.py:1303 #, python-format msgid "Bad Account!" -msgstr "" +msgstr "حساب غير صالح!" #. module: account #: view:account.move:0 @@ -107,6 +107,8 @@ msgid "" "Error!\n" "You cannot create recursive account templates." msgstr "" +"خطأ!\n" +"لا يمكنك انشاء قوالب حساب متداخلة" #. module: account #. openerp-web @@ -236,7 +238,7 @@ msgstr "دفتر اليومية: %s" #. module: account #: help:account.config.settings,code_digits:0 msgid "No. of digits to use for account code" -msgstr "" +msgstr "عدد الأرقام التي يتم استخدامها لرمز الحساب" #. module: account #: help:account.analytic.journal,type:0 @@ -374,7 +376,7 @@ msgstr "إلغاء موازنة الحساب" #. module: account #: field:account.config.settings,module_account_budget:0 msgid "Budget management" -msgstr "" +msgstr "ادارة الميزانية" #. module: account #: view:product.template:0 @@ -394,7 +396,7 @@ msgstr "" #. module: account #: field:account.config.settings,group_multi_currency:0 msgid "Allow multi currencies" -msgstr "" +msgstr "السماح لأكثر من عملة" #. module: account #: code:addons/account/account_invoice.py:73 @@ -415,12 +417,12 @@ msgstr "يونيو/حزيران" #: code:addons/account/wizard/account_automatic_reconcile.py:148 #, python-format msgid "You must select accounts to reconcile." -msgstr "" +msgstr "يجب اختيار الحسابات لتسويتها" #. module: account #: help:account.config.settings,group_analytic_accounting:0 msgid "Allows you to use the analytic accounting." -msgstr "" +msgstr "يسمح لك باستخدام المحاسبة التحليلية" #. module: account #: model:ir.actions.act_window,help:account.action_account_moves_bank @@ -439,7 +441,7 @@ msgstr "" #: view:account.invoice.report:0 #: field:account.invoice.report,user_id:0 msgid "Salesperson" -msgstr "" +msgstr "موظف مبيعات" #. module: account #: model:ir.model,name:account.model_account_tax_template @@ -588,7 +590,7 @@ msgstr "الهدف الرئيسي" #. module: account #: help:account.invoice.line,sequence:0 msgid "Gives the sequence of this line when displaying the invoice." -msgstr "" +msgstr "يعطي التسلسل لهذا الخط عند اظهار الفاتورة" #. module: account #: field:account.bank.statement,account_id:0 @@ -662,7 +664,7 @@ msgstr "الحساب يؤكد الكشف" #: code:addons/account/static/src/xml/account_move_reconciliation.xml:31 #, python-format msgid "Nothing to reconcile" -msgstr "" +msgstr "لا يوجد شيء لتسويته" #. module: account #: field:account.config.settings,decimal_precision:0 @@ -724,12 +726,12 @@ msgstr "المسلسل الرئيسي لابد أن يختلف من الحالي #: code:addons/account/wizard/account_change_currency.py:70 #, python-format msgid "Current currency is not configured properly." -msgstr "" +msgstr "العملة الحالية غير مكونة بطريقة صحيحة" #. module: account #: field:account.journal,profit_account_id:0 msgid "Profit Account" -msgstr "" +msgstr "حساب الأرباح" #. module: account #: code:addons/account/account_move_line.py:1249 @@ -740,7 +742,7 @@ msgstr "لا توجد نقطة فاصلة في التاريخ أو توجد أك #. module: account #: model:account.journal.view,name:account.account_journal_bank_view_multi msgid "Bank/Cash Journal (Multi-Currency) View" -msgstr "" +msgstr "عرض يومية النقدية/البنك (متعدد العملات)" #. module: account #: model:ir.model,name:account.model_report_account_type_sales @@ -760,7 +762,7 @@ msgstr "" #: code:addons/account/account.py:1606 #, python-format msgid "Cannot create move with currency different from .." -msgstr "" +msgstr "لا يمكن التحريك بعملة غير .." #. module: account #: model:email.template,report_name:account.email_template_edi_invoice @@ -818,7 +820,7 @@ msgstr "حسابات مدينة" #. module: account #: view:account.config.settings:0 msgid "Configure your company bank accounts" -msgstr "" +msgstr "قم بضبط الحسابات البنكية للشركة" #. module: account #: constraint:account.move.line:0 @@ -856,6 +858,8 @@ msgid "" "Cannot %s invoice which is already reconciled, invoice should be " "unreconciled first. You can only refund this invoice." msgstr "" +"لايمكنك %s فاتورة قد تم تسويتها, الفاتورة يجب ان تلغى تسويتها أولا. يمكنك " +"استرداد هذه الفاتورة فقط" #. module: account #: selection:account.financial.report,display_detail:0 @@ -933,7 +937,7 @@ msgstr "فواتير المورد و المردودات المالية" #: code:addons/account/account_move_line.py:833 #, python-format msgid "Entry is already reconciled." -msgstr "" +msgstr "تم تسوية المدخل" #. module: account #: view:account.move.line.unreconcile.select:0 @@ -956,7 +960,7 @@ msgstr "يومية حساب تحليلي" #. module: account #: view:account.invoice:0 msgid "Send by Email" -msgstr "" +msgstr "إرسال كرسالة بالبريد الالكتروني" #. module: account #: help:account.central.journal,amount_currency:0 @@ -967,6 +971,7 @@ msgid "" "Print Report with the currency column if the currency differs from the " "company currency." msgstr "" +"اطبع التقرير مع خانة العملة اذا كانت العملة تختلف عن العملة الافتراضية للشركة" #. module: account #: report:account.analytic.account.quantity_cost_ledger:0 @@ -976,7 +981,7 @@ msgstr "نقل اسم/ j.c." #. module: account #: view:account.account:0 msgid "Account Code and Name" -msgstr "" +msgstr "رمز و رقم الحساب" #. module: account #: model:mail.message.subtype,name:account.mt_invoice_new @@ -1044,7 +1049,7 @@ msgstr "مستحق" #. module: account #: field:account.config.settings,purchase_journal_id:0 msgid "Purchase journal" -msgstr "" +msgstr "يومية المشتريات" #. module: account #: code:addons/account/account.py:1374 @@ -1070,7 +1075,7 @@ msgstr "إجمالي المبلغ" #. module: account #: help:account.invoice,supplier_invoice_number:0 msgid "The reference of this invoice as provided by the supplier." -msgstr "" +msgstr "المرجع لهذه الفاتورة كما هوا معطى من المورد" #. module: account #: selection:account.account,type:0 @@ -1158,7 +1163,7 @@ msgstr "رمز" #. module: account #: view:account.config.settings:0 msgid "Features" -msgstr "" +msgstr "مزايا" #. module: account #: code:addons/account/account.py:2323 @@ -1203,7 +1208,7 @@ msgstr "اسم الحساب" #. module: account #: field:account.journal,with_last_closing_balance:0 msgid "Opening With Last Closing Balance" -msgstr "" +msgstr "الافتتاح بآخر رصيد" #. module: account #: view:account.state.open:0 @@ -1246,12 +1251,12 @@ msgstr "" #. module: account #: view:account.invoice:0 msgid "Refund " -msgstr "" +msgstr "استرداد " #. module: account #: help:account.config.settings,company_footer:0 msgid "Bank accounts as printed in the footer of each printed document" -msgstr "" +msgstr "حسابات البنك كما هو مطبوع على أسفل الوثائق المطبوعة" #. module: account #: view:account.tax:0 @@ -1273,7 +1278,7 @@ msgstr "سجلات النقدية" #. module: account #: field:account.config.settings,sale_refund_journal_id:0 msgid "Sale refund journal" -msgstr "" +msgstr "يومية استرداد المبيعات" #. module: account #: model:ir.actions.act_window,help:account.action_view_bank_statement_tree @@ -1309,7 +1314,7 @@ msgstr "بداية الفترة" #. module: account #: view:account.tax:0 msgid "Refunds" -msgstr "" +msgstr "الاستردادات المالية" #. module: account #: model:process.transition,name:account.process_transition_confirmstatementfromdraft0 @@ -1392,6 +1397,8 @@ msgid "" "Set the account that will be set by default on invoice tax lines for " "refunds. Leave empty to use the expense account." msgstr "" +"استخدم الحساب الذي سوف يستخدم افتراضيا للمستردات على ضريبة الأصناف(الخطوط) " +"في الفاتورة. اتركه خاليا لاستخدام حساب المصاريف." #. module: account #: field:account.move.line.reconcile,trans_nbr:0 @@ -1478,7 +1485,7 @@ msgstr "مستوى" #: code:addons/account/wizard/account_change_currency.py:38 #, python-format msgid "You can only change currency for Draft Invoice." -msgstr "" +msgstr "يمكنك تغيير العملة للفواتير المسودة" #. module: account #: report:account.invoice:0 @@ -1549,7 +1556,7 @@ msgstr "خيارات التقرير" #. module: account #: field:account.fiscalyear.close.state,fy_id:0 msgid "Fiscal Year to Close" -msgstr "" +msgstr "السنة المالية للإغلاق" #. module: account #: field:account.config.settings,sale_sequence_prefix:0 @@ -1573,11 +1580,13 @@ msgid "" "And after getting confirmation from the bank it will be in 'Confirmed' " "status." msgstr "" +"عند انشاء قائمة تكون الحالة 'مسودة'\n" +"و بعد الحصول على التأكيد من البنك ستتغير الحالة الى 'مؤكد'" #. module: account #: field:account.invoice.report,state:0 msgid "Invoice Status" -msgstr "" +msgstr "حالة الفاتورة" #. module: account #: view:account.invoice.report:0 @@ -1610,6 +1619,8 @@ msgid "" "There is no default debit account defined \n" "on journal \"%s\"." msgstr "" +"لا يوجد حساب مدين افتراضي معرف\n" +"على يومية \"%s\"." #. module: account #: view:account.tax:0 @@ -1644,6 +1655,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 @@ -1662,17 +1675,17 @@ msgstr "تخطي حالة \"المسودة\" للقيود اليدوية" #: code:addons/account/wizard/account_report_common.py:159 #, python-format msgid "Not implemented." -msgstr "" +msgstr "غير مطبّق." #. module: account #: view:account.invoice.refund:0 msgid "Credit Note" -msgstr "" +msgstr "اخطار بالرصيد" #. module: account #: view:account.config.settings:0 msgid "eInvoicing & Payments" -msgstr "" +msgstr "فواتير الكترونيه و دفعات ماليه" #. module: account #: view:account.analytic.cost.ledger.journal.report:0 @@ -1705,7 +1718,7 @@ msgstr "رد مال للمورد" #. module: account #: field:account.config.settings,company_footer:0 msgid "Bank accounts footer preview" -msgstr "" +msgstr "معاينة تذييل حسابات البنك" #. module: account #: selection:account.account,type:0 @@ -1835,7 +1848,7 @@ msgstr "فاتورة" #. module: account #: field:account.move,balance:0 msgid "balance" -msgstr "" +msgstr "الرصيد" #. module: account #: model:process.node,note:account.process_node_analytic0 @@ -1851,7 +1864,7 @@ msgstr "مسلسل السنة المالية" #. module: account #: field:account.config.settings,group_analytic_accounting:0 msgid "Analytic accounting" -msgstr "" +msgstr "المحاسبة التحليلية" #. module: account #: report:account.overdue:0 @@ -1900,7 +1913,7 @@ msgstr "" #: code:addons/account/account_move_line.py:836 #, python-format msgid "Some entries are already reconciled." -msgstr "" +msgstr "بعض القيود قد تم تسويتها مسبقا." #. module: account #: model:email.template,body_html:account.email_template_edi_invoice @@ -2031,12 +2044,12 @@ msgstr "حسابات معلقة" #. module: account #: view:account.open.closed.fiscalyear:0 msgid "Cancel Fiscal Year Opening Entries" -msgstr "" +msgstr "الغاء القيود الافتتاحية السنة المالية الأولية" #. module: account #: model:account.journal.view,name:account.account_journal_bank_view msgid "Bank/Cash Journal View" -msgstr "" +msgstr "عرض قيود البنك/ اليومية" #. module: account #: report:account.journal.period.print.sale.purchase:0 @@ -2064,7 +2077,7 @@ msgstr "المدينون و الدائنون" #. module: account #: field:account.config.settings,module_account_payment:0 msgid "Manage payment orders" -msgstr "" +msgstr "ادارة طلبات الدفع" #. module: account #: view:account.period:0 @@ -2075,7 +2088,7 @@ msgstr "" #: view:account.bank.statement:0 #: field:account.bank.statement,last_closing_balance:0 msgid "Last Closing Balance" -msgstr "" +msgstr "آخر رصيد اغلاق" #. module: account #: model:ir.model,name:account.model_account_common_journal_report @@ -2113,7 +2126,7 @@ msgstr "مرجع العميل" #: help:account.tax.template,ref_tax_code_id:0 #: help:account.tax.template,tax_code_id:0 msgid "Use this code for the tax declaration." -msgstr "" +msgstr "استخدم هذا الرمز للإقرار الضريبي" #. module: account #: help:account.period,special:0 @@ -2128,7 +2141,7 @@ msgstr "قائمة مؤقتة" #. module: account #: field:account.config.settings,module_account_check_writing:0 msgid "Pay your suppliers by check" -msgstr "" +msgstr "ادفع للمورد/ الشريك بالشيك" #. module: account #: field:account.move.line.reconcile,credit:0 @@ -2237,7 +2250,7 @@ msgstr "تحليل الفواتير" #. module: account #: model:ir.model,name:account.model_mail_compose_message msgid "Email composition wizard" -msgstr "" +msgstr "معالج تكوين رسالة بريد الالكتروني" #. module: account #: model:ir.model,name:account.model_account_period_close @@ -2251,6 +2264,8 @@ 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 @@ -2283,7 +2298,7 @@ msgstr "" #. module: account #: field:account.config.settings,currency_id:0 msgid "Default company currency" -msgstr "" +msgstr "العملة الافتراضية للشركة" #. module: account #: field:account.invoice,move_id:0 @@ -2357,7 +2372,7 @@ msgstr "ميزان المراجعة للحسابات المعمرة" #. module: account #: view:account.fiscalyear.close.state:0 msgid "Close Fiscal Year" -msgstr "" +msgstr "اغلاق السنة المالية" #. module: account #: model:process.node,note:account.process_node_reconciliation0 @@ -2380,12 +2395,12 @@ msgstr "تعريف الضريبة" #: view:account.config.settings:0 #: model:ir.actions.act_window,name:account.action_account_config msgid "Configure Accounting" -msgstr "" +msgstr "إعدادت المحاسبة" #. module: account #: field:account.invoice.report,uom_name:0 msgid "Reference Unit of Measure" -msgstr "" +msgstr "مرجع وحدة القياس (UOM)" #. module: account #: help:account.journal,allow_date:0 @@ -2404,7 +2419,7 @@ msgstr "" #. module: account #: field:account.config.settings,module_account_asset:0 msgid "Assets management" -msgstr "" +msgstr "إدارة الأصول" #. module: account #: view:account.account:0 @@ -2457,7 +2472,7 @@ msgstr "نص مائل (أصغر)" msgid "" "If you want the journal should be control at opening/closing, check this " "option" -msgstr "" +msgstr "اذا كنت تريد التحكم باليومية عند الفتح/اللإغلاق، اختر هذا الخيار." #. module: account #: view:account.bank.statement:0 @@ -2492,7 +2507,7 @@ msgstr "فتح القيود" #. module: account #: field:account.config.settings,purchase_refund_sequence_next:0 msgid "Next supplier credit note number" -msgstr "" +msgstr "رقم إشعار رصيد المورد التالي" #. module: account #: field:account.automatic.reconcile,account_ids:0 @@ -2532,7 +2547,7 @@ msgstr "خريطة حساب الضرائب" #: code:addons/account/account_cash_statement.py:256 #, python-format msgid "You do not have rights to open this %s journal !" -msgstr "" +msgstr "ليس لديك الصلاحيات لفتح هذه %s اليومية!" #. module: account #: model:res.groups,name:account.group_supplier_inv_check_total diff --git a/addons/account/i18n/de.po b/addons/account/i18n/de.po index e83d8059072..680c2356a48 100644 --- a/addons/account/i18n/de.po +++ b/addons/account/i18n/de.po @@ -7,25 +7,26 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-10-12 23:18+0000\n" -"Last-Translator: Ferdinand @ Camptocamp \n" +"PO-Revision-Date: 2012-12-02 23:10+0000\n" +"Last-Translator: Thorsten Vocks (OpenBig.org) \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: 2012-11-25 05:54+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-03 04:35+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account #: model:process.transition,name:account.process_transition_supplierreconcilepaid0 msgid "System payment" -msgstr "Zahlungsmothode" +msgstr "Zahlungsmethode" #. module: account #: sql_constraint:account.fiscal.position.account:0 msgid "" "An account fiscal position could be defined only once time on same accounts." -msgstr "" +msgstr "Eine Steuerzuordnung muss eindeutig sein." #. module: account #: view:account.unreconcile:0 @@ -85,7 +86,7 @@ msgstr "Importiere Rechnungen oder Zahlungen" #: code:addons/account/account_move_line.py:1303 #, python-format msgid "Bad Account!" -msgstr "" +msgstr "Falsches Konto!" #. module: account #: view:account.move:0 @@ -108,6 +109,8 @@ msgid "" "Error!\n" "You cannot create recursive account templates." msgstr "" +"Fehler!\n" +"Es dürfen keine rekursiven Kontoplan Vorlagen erstellt werden." #. module: account #. openerp-web @@ -199,6 +202,8 @@ msgid "" "which is set after generating opening entries from 'Generate Opening " "Entries'." msgstr "" +"Zur Buchung der Jahreseröffnungsbuchungen müssen Sie ein Jahreswechsel " +"Journal hinterlegen." #. module: account #: field:account.fiscal.position.account,account_src_id:0 @@ -237,7 +242,7 @@ msgstr "Journal %s" #. module: account #: help:account.config.settings,code_digits:0 msgid "No. of digits to use for account code" -msgstr "" +msgstr "Stellenzahl für die Kontonummer" #. module: account #: help:account.analytic.journal,type:0 @@ -258,6 +263,8 @@ msgid "" "lines for invoices. Leave empty if you don't want to use an analytic account " "on the invoice tax lines by default." msgstr "" +"Wählen Sie das analytische Konto, dass bei der Steuerbuchung von Rechnungen " +"als Voreinstellung verwendet werden soll." #. module: account #: model:ir.actions.act_window,name:account.action_account_tax_template_form @@ -293,7 +300,7 @@ msgstr "Auswertungen für Belgien" #. module: account #: model:account.account.type,name:account.account_type_income_view1 msgid "Income View" -msgstr "" +msgstr "Erlöse Ansicht" #. module: account #: help:account.account,user_type:0 @@ -309,7 +316,7 @@ msgstr "" #. module: account #: field:account.config.settings,sale_refund_sequence_next:0 msgid "Next credit note number" -msgstr "" +msgstr "Nächste Kundengutschrift" #. module: account #: help:account.config.settings,module_account_voucher:0 @@ -318,6 +325,9 @@ msgid "" "sales, purchase, expense, contra, etc.\n" " This installs the module account_voucher." msgstr "" +"Ermöglicht erfassen und buchen Ihrer Bankbelege, Kassenquittungen, Belege " +"für Verkauf, Einkauf, Spesen, Gutschriften etc.\n" +" Hierdurch installieren Sie das Modul account_voucher." #. module: account #: model:ir.actions.act_window,name:account.action_account_use_model_create_entry @@ -356,6 +366,18 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Klicken Sie zur Erstellung einer Kundengutschrift. \n" +"

\n" +" Durch eine Kundengutschrift wird eine Rechnung an einen " +"Kunden entweder komplett \n" +" oder teilweise gutgeschrieben.\n" +"

\n" +" Anstatt der manuellen Erstellung einer Kundengutschrift " +"können Sie diese auch direkt\n" +" über die korrespondierende Ausgangsrechnung ableiten.\n" +"

\n" +" " #. module: account #: field:account.journal.column,field:0 @@ -379,7 +401,7 @@ msgstr "Storno Ausgleich" #. module: account #: field:account.config.settings,module_account_budget:0 msgid "Budget management" -msgstr "" +msgstr "Budgetverwaltung" #. module: account #: view:product.template:0 @@ -400,7 +422,7 @@ msgstr "" #. module: account #: field:account.config.settings,group_multi_currency:0 msgid "Allow multi currencies" -msgstr "" +msgstr "Multiwährungsfunktion aktivieren" #. module: account #: code:addons/account/account_invoice.py:73 @@ -421,12 +443,12 @@ msgstr "Juni" #: code:addons/account/wizard/account_automatic_reconcile.py:148 #, python-format msgid "You must select accounts to reconcile." -msgstr "" +msgstr "Bitte wählen Sie ein Konto für Ihre Ausgleichsbuchung" #. module: account #: help:account.config.settings,group_analytic_accounting:0 msgid "Allows you to use the analytic accounting." -msgstr "" +msgstr "Buchen auf Kostenstellen aktivieren" #. module: account #: model:ir.actions.act_window,help:account.action_account_moves_bank @@ -445,7 +467,7 @@ msgstr "" #: view:account.invoice.report:0 #: field:account.invoice.report,user_id:0 msgid "Salesperson" -msgstr "" +msgstr "Verkäufer" #. module: account #: model:ir.model,name:account.model_account_tax_template @@ -525,6 +547,14 @@ msgid "" "should choose 'Round per line' because you certainly want the sum of your " "tax-included line subtotals to be equal to the total amount with taxes." msgstr "" +"Bei Auswahl 'Runden pro Zeile': Die Steuern werden je Zeile berechnet und " +"gerundet, um abschließend die Steuer des Auftrags über die Summe der " +"einzelnen Auftragszeilen zu berechnen. Bei Auswahl 'Global Runden': Die " +"Steuern werden je Zeile berechnet, summiert und abschließend global für den " +"gesamten Auftrag gerundet. Falls Sie zu Brutto Preisen inklusive Steuern " +"verkaufen möchten, sollten Sie 'Runden pro Zeile' einstellen, um " +"sicherzustellen dass der Gesamtbetrag des Auftrags der Summe aller einzelnen " +"Auftragszeilen entspricht." #. module: account #: model:ir.model,name:account.model_wizard_multi_charts_accounts @@ -539,7 +569,7 @@ msgstr "In alternativer Währung dargestellter Betrag" #. module: account #: view:account.journal:0 msgid "Available Coins" -msgstr "" +msgstr "Vorhandene Geldmünzen" #. module: account #: field:accounting.report,enable_filter:0 @@ -594,7 +624,7 @@ msgstr "Oberkonto" #. module: account #: help:account.invoice.line,sequence:0 msgid "Gives the sequence of this line when displaying the invoice." -msgstr "" +msgstr "Anzeigerreihenfolge der Rechnungspositionen" #. module: account #: field:account.bank.statement,account_id:0 @@ -668,12 +698,12 @@ msgstr "Der Buchhalter bestätigt den Bankauszug." #: code:addons/account/static/src/xml/account_move_reconciliation.xml:31 #, python-format msgid "Nothing to reconcile" -msgstr "" +msgstr "Es existieren keine offenen Belege" #. module: account #: field:account.config.settings,decimal_precision:0 msgid "Decimal precision on journal entries" -msgstr "" +msgstr "Dezimalstellen für dieses Journal" #. module: account #: selection:account.config.settings,period:0 @@ -709,6 +739,8 @@ msgid "" "Specified journal does not have any account move entries in draft state for " "this period." msgstr "" +"Für das ausgewählte Journal existieren für diesen Monat keine nicht " +"gebuchten Belege." #. module: account #: view:account.fiscal.position:0 @@ -732,12 +764,12 @@ msgstr "" #: code:addons/account/wizard/account_change_currency.py:70 #, python-format msgid "Current currency is not configured properly." -msgstr "" +msgstr "Die ausgewählte Währung wurde noch nicht vollständig konfiguriert." #. module: account #: field:account.journal,profit_account_id:0 msgid "Profit Account" -msgstr "" +msgstr "Erlöskonto" #. module: account #: code:addons/account/account_move_line.py:1249 @@ -748,7 +780,7 @@ msgstr "Keine oder meherere Perioden für dieses Datum gefunden." #. module: account #: model:account.journal.view,name:account.account_journal_bank_view_multi msgid "Bank/Cash Journal (Multi-Currency) View" -msgstr "" +msgstr "Bank/Kasse Journal (Multiwährung) Ansicht" #. module: account #: model:ir.model,name:account.model_report_account_type_sales @@ -763,12 +795,17 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Es wurden keine Buchungsbelege in diesem Journal " +"gefunden.\n" +"

\n" +" " #. module: account #: code:addons/account/account.py:1606 #, python-format msgid "Cannot create move with currency different from .." -msgstr "" +msgstr "Es kann nicht gebucht werden in anderer Währung als .." #. module: account #: model:email.template,report_name:account.email_template_edi_invoice @@ -803,6 +840,8 @@ msgstr "Berichtsperiode" msgid "" "You cannot create more than one move per period on a centralized journal." msgstr "" +"Pro Periode ist nur eine Buchungszeile je Konto in ein Journal mit " +"zentralisiertem Gegenkonto erlaubt." #. module: account #: help:account.tax,account_analytic_paid_id:0 @@ -811,6 +850,8 @@ msgid "" "lines for refunds. Leave empty if you don't want to use an analytic account " "on the invoice tax lines by default." msgstr "" +"Kostenstelle für die Buchung der Steuerkorrektur bei Gutschriften. Möchten " +"Sie hierbei keine Kostenstelle buchen, lassen Sie den Eintrag einfach offen." #. module: account #: view:account.account:0 @@ -826,7 +867,7 @@ msgstr "Debitorenkonten" #. module: account #: view:account.config.settings:0 msgid "Configure your company bank accounts" -msgstr "" +msgstr "Konfigurieren Sie Ihre Hausbanken" #. module: account #: constraint:account.move.line:0 @@ -864,6 +905,8 @@ msgid "" "Cannot %s invoice which is already reconciled, invoice should be " "unreconciled first. You can only refund this invoice." msgstr "" +"Eine bereits ausgeglichene Rechnung %s kann nicht erneut abgerechnet werden. " +" Es ist zunächst nur eine Gutschrift möglich." #. module: account #: selection:account.financial.report,display_detail:0 @@ -941,7 +984,7 @@ msgstr "Lieferantenrechnungen und -gutschriften" #: code:addons/account/account_move_line.py:833 #, python-format msgid "Entry is already reconciled." -msgstr "" +msgstr "Der Posten wurde bereits ausgeglichen." #. module: account #: view:account.move.line.unreconcile.select:0 @@ -964,7 +1007,7 @@ msgstr "Analytisches Journal" #. module: account #: view:account.invoice:0 msgid "Send by Email" -msgstr "" +msgstr "Email senden" #. module: account #: help:account.central.journal,amount_currency:0 @@ -975,6 +1018,8 @@ msgid "" "Print Report with the currency column if the currency differs from the " "company currency." msgstr "" +"Bei abweichender Währung sollten Auswertungen immer die Spalte Währung mit " +"beinhalten." #. module: account #: report:account.analytic.account.quantity_cost_ledger:0 @@ -984,12 +1029,12 @@ msgstr "Buchungssatz" #. module: account #: view:account.account:0 msgid "Account Code and Name" -msgstr "" +msgstr "Konto und Bezeichnung" #. module: account #: model:mail.message.subtype,name:account.mt_invoice_new msgid "created" -msgstr "" +msgstr "erstellt" #. module: account #: selection:account.entries.report,month:0 @@ -1052,7 +1097,7 @@ msgstr "Fällig" #. module: account #: field:account.config.settings,purchase_journal_id:0 msgid "Purchase journal" -msgstr "" +msgstr "Einkauf Journal" #. module: account #: code:addons/account/account.py:1374 @@ -1061,6 +1106,8 @@ msgid "" "You cannot validate this journal entry because account \"%s\" does not " "belong to chart of accounts \"%s\"." msgstr "" +"Es kann keine Journalbuchung erfolgen, da das Konto \"%s\" bislang nicht zum " +"Kontoplan \"%s\" zugewiesen wurde." #. module: account #: view:validate.account.move:0 @@ -1078,7 +1125,7 @@ msgstr "Gesamtbetrag" #. module: account #: help:account.invoice,supplier_invoice_number:0 msgid "The reference of this invoice as provided by the supplier." -msgstr "" +msgstr "Die Referenz des Lieferanten bei Rechnungen" #. module: account #: selection:account.account,type:0 @@ -1167,7 +1214,7 @@ msgstr "Kurzbez." #. module: account #: view:account.config.settings:0 msgid "Features" -msgstr "" +msgstr "Funktionen" #. module: account #: code:addons/account/account.py:2323 @@ -1203,6 +1250,19 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Klicken Sie zur Auswahl eines Kontos.\n" +"

\n" +" Bei Transaktionen in verschiedenen Währungen entstehen " +"üblicherweise \n" +" Gewinne und Verluste aus Währungsdifferenzen durch " +"Wechselkursschwankungen. \n" +" Die potenziellen Gewinne und Verluste können zum aktuellen " +"Stichtag einfach \n" +" berechnet werden. Dieses ist nur für Konten mit zweiter " +"Währung möglich.\n" +"

\n" +" " #. module: account #: field:account.bank.accounts.wizard,acc_name:0 @@ -1212,7 +1272,7 @@ msgstr "Kontobezeichnung" #. module: account #: field:account.journal,with_last_closing_balance:0 msgid "Opening With Last Closing Balance" -msgstr "" +msgstr "Eröffnen mit aktuellem Saldo" #. module: account #: view:account.state.open:0 @@ -1257,12 +1317,12 @@ msgstr "" #. module: account #: view:account.invoice:0 msgid "Refund " -msgstr "" +msgstr "Gutschrift " #. module: account #: help:account.config.settings,company_footer:0 msgid "Bank accounts as printed in the footer of each printed document" -msgstr "" +msgstr "In der Fußzeile der Geschäftsformulare angezeigte Bankverbindung" #. module: account #: view:account.tax:0 @@ -1284,7 +1344,7 @@ msgstr "Barkassen" #. module: account #: field:account.config.settings,sale_refund_journal_id:0 msgid "Sale refund journal" -msgstr "" +msgstr "Kundengutschriften Journal" #. module: account #: model:ir.actions.act_window,help:account.action_view_bank_statement_tree @@ -1303,6 +1363,18 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Klicken Sie zur Erstellung eines neuen Kassenprotokolls.\n" +"

\n" +" Das Kassensystem ermöglicht die Aufzeichnung sämtlicher " +"Barzahlungen.\n" +" Alle täglichen Ein- und Auszahlungen können aufgezeichnet " +"werden. \n" +" Das Bargeld kann gezählt werden, Einzahlungen von " +"Wechselgeld sowie \n" +" Entnahmen der Tageseinnahmen können gebucht werden . \n" +"

\n" +" " #. module: account #: model:account.account.type,name:account.data_account_type_bank @@ -1320,7 +1392,7 @@ msgstr "Periodenbeginn" #. module: account #: view:account.tax:0 msgid "Refunds" -msgstr "" +msgstr "Gutschriften" #. module: account #: model:process.transition,name:account.process_transition_confirmstatementfromdraft0 @@ -1390,7 +1462,7 @@ msgstr "Wechselkurs (Verkauf)" #. module: account #: field:account.config.settings,chart_template_id:0 msgid "Template" -msgstr "" +msgstr "Vorlage" #. module: account #: selection:account.analytic.journal,type:0 @@ -1403,6 +1475,9 @@ msgid "" "Set the account that will be set by default on invoice tax lines for " "refunds. Leave empty to use the expense account." msgstr "" +"Hinterlegen Sie das Konto für die Buchung der Steuerkorrektur von " +"Gutschriften. Möchten Sie das korrespondierende Aufwandskonto buchen, tragen " +"Sie hier einfach kein Konto ein." #. module: account #: field:account.move.line.reconcile,trans_nbr:0 @@ -1490,6 +1565,7 @@ msgstr "Ebene" #, python-format msgid "You can only change currency for Draft Invoice." msgstr "" +"Die Währung kann nur bei einer Rechnung im Entwurf Zustand geändert werden" #. module: account #: report:account.invoice:0 @@ -1560,12 +1636,12 @@ msgstr "Berichtsoptionen" #. module: account #: field:account.fiscalyear.close.state,fy_id:0 msgid "Fiscal Year to Close" -msgstr "" +msgstr "Abzuschließendes Geschäftsjahr" #. module: account #: field:account.config.settings,sale_sequence_prefix:0 msgid "Invoice sequence" -msgstr "" +msgstr "Nummernfolge Rechnungen" #. module: account #: model:ir.model,name:account.model_account_entries_report @@ -1584,6 +1660,10 @@ msgid "" "And after getting confirmation from the bank it will be in 'Confirmed' " "status." msgstr "" +"Der Status eines erstellten Buchungsbeleg für einen Bankauszug ist zunächst " +"'Neu' .\n" +"Durch Bestätigung des abgestimmten Bankauszugs ändern Sie den Status auf " +"'Abgeschlossen' ." #. module: account #: field:account.invoice.report,state:0 @@ -1621,6 +1701,8 @@ msgid "" "There is no default debit account defined \n" "on journal \"%s\"." msgstr "" +"Es fehlt noch der Standard Debitor \n" +"für das Buchungsjournal \"%s\" ." #. module: account #: view:account.tax:0 @@ -1655,6 +1737,10 @@ msgid "" "There is nothing to reconcile. All invoices and payments\n" " have been reconciled, your partner balance is clean." msgstr "" +"Es gibt keine auszugleichenden Buchungsbelege. Sämtliche Rechnungen und " +"Zahlungen\n" +" wurden bereits ausgeglichen, dadurch ist der Saldo des " +"Kontos ausgeglichen." #. module: account #: field:account.chart.template,code_digits:0 @@ -1673,7 +1759,7 @@ msgstr "Überspringe Entwurf bei manuellen Buchungen" #: code:addons/account/wizard/account_report_common.py:159 #, python-format msgid "Not implemented." -msgstr "" +msgstr "Nicht implementiert." #. module: account #: view:account.invoice.refund:0 @@ -1765,7 +1851,7 @@ msgstr "Nicht versteuert" #. module: account #: view:account.journal:0 msgid "Advanced Settings" -msgstr "" +msgstr "Erweiterte Einstellung" #. module: account #: view:account.bank.statement:0 @@ -1834,6 +1920,20 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Klicken Sie um einen neuen Kontotyp zu erstellen.\n" +"

\n" +" Der Kontotyp legt fest, wie ein Konto in einem " +"Buchungsjournal \n" +" angewendet wird. Die Abgrenzungs-Methode eines Kontos " +"bestimmt\n" +"                dabei das Verfahren für den Jahresabschluss. Auswertungen " +"wie Bilanz\n" +"                und Gewinn-und Verlustrechnung verwenden außerdem die " +"Kategorie\n" +"                (Gewinn / Verlust oder Bilanz).\n" +"

\n" +" " #. module: account #: report:account.invoice:0 @@ -1908,12 +2008,14 @@ msgid "" "The journal must have centralized counterpart without the Skipping draft " "state option checked." msgstr "" +"Im Journal muss \"Zentralisierung Gegenkonto aktiviert\" und \"Überspringe " +"Entwurf bei manuellen Buchungen\" deaktiviert sein." #. module: account #: code:addons/account/account_move_line.py:836 #, python-format msgid "Some entries are already reconciled." -msgstr "" +msgstr "Einige Positionen wurden bereits ausgeglichen." #. module: account #: model:email.template,body_html:account.email_template_edi_invoice @@ -2035,6 +2137,8 @@ msgid "" "Select a configuration package to setup automatically your\n" " taxes and chart of accounts." msgstr "" +"Wählen Sie ein Konfigurationspaket für die automatische Installation\n" +" von Steuern und Kontenplan Vorlagen." #. module: account #: view:account.analytic.account:0 @@ -2044,12 +2148,12 @@ msgstr "Konten in Bearbeitung" #. module: account #: view:account.open.closed.fiscalyear:0 msgid "Cancel Fiscal Year Opening Entries" -msgstr "" +msgstr "Buchen Jahreseröffnung abbrechen" #. module: account #: model:account.journal.view,name:account.account_journal_bank_view msgid "Bank/Cash Journal View" -msgstr "" +msgstr "Bank/Kasse Journal Ansicht" #. module: account #: report:account.journal.period.print.sale.purchase:0 @@ -2079,18 +2183,18 @@ msgstr "Debitoren & Kreditoren" #. module: account #: field:account.config.settings,module_account_payment:0 msgid "Manage payment orders" -msgstr "" +msgstr "Zahlungaufträge verwalten" #. module: account #: view:account.period:0 msgid "Duration" -msgstr "" +msgstr "Dauer" #. module: account #: view:account.bank.statement:0 #: field:account.bank.statement,last_closing_balance:0 msgid "Last Closing Balance" -msgstr "" +msgstr "Letzter Jahresabschluss" #. module: account #: model:ir.model,name:account.model_account_common_journal_report @@ -2128,7 +2232,7 @@ msgstr "Kundenreferenz:" #: help:account.tax.template,ref_tax_code_id:0 #: help:account.tax.template,tax_code_id:0 msgid "Use this code for the tax declaration." -msgstr "" +msgstr "Nummer für Steuererklärung" #. module: account #: help:account.period,special:0 @@ -2143,7 +2247,7 @@ msgstr "Belegentwurf" #. module: account #: field:account.config.settings,module_account_check_writing:0 msgid "Pay your suppliers by check" -msgstr "" +msgstr "Lieferantenzahlung durch Scheck" #. module: account #: field:account.move.line.reconcile,credit:0 @@ -2166,6 +2270,13 @@ msgid "" "useful because it enables you to preview at any time the tax that you owe at " "the start and end of the month or quarter." msgstr "" +"Drucken Sie die Umsatzsteuererklärung auf Basis Ihrer Rechnungen und " +"Zahlungen. Wählen Sie zu diesem Zweck eine oder mehrere Perioden für das " +"abzuschließende Geschäftsjahr. Sämtliche Informationen zur Erstellung für " +"die Steuervoranmeldung werden automatisch durch die in OpenERP erstellten " +"und gebuchten Rechnungen bzw. Zahlungen erstellt. Die Daten werden in " +"Echtzeit aktualisiert. Sehr hilfreich ist die jeder zeitige Anzeige der " +"Steuervoranmeldung zu Beginn und Ende eines Monats oder Quartals." #. module: account #: code:addons/account/account.py:408 @@ -2236,6 +2347,17 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Per Klick eine neue Lieferantenrechnung buchen.\n" +"

\n" +" Sie können Lieferantenrechnung entweder auf Basis Ihrer " +"Bestellung\n" +" oder auf Basis eines Lieferscheins buchen. OpenERP kann \n" +" automatisch Rechnungsentwürfe wahlweise aus Bestellungen " +"oder \n" +" Lieferaufträgen ableiten.\n" +"

\n" +" " #. module: account #: sql_constraint:account.move.line:0 @@ -2252,7 +2374,7 @@ msgstr "Statistik Rechnungen" #. module: account #: model:ir.model,name:account.model_mail_compose_message msgid "Email composition wizard" -msgstr "" +msgstr "Emailerstellung Assistent" #. module: account #: model:ir.model,name:account.model_account_period_close @@ -2266,6 +2388,8 @@ msgid "" "This journal already contains items for this period, therefore you cannot " "modify its company field." msgstr "" +"Das Journal enthält bereits Buchungen für diese Periode, deshalb können Sie " +"das Unternehmen nicht mehr ändern." #. module: account #: model:ir.actions.act_window,name:account.action_project_account_analytic_line_form @@ -2294,11 +2418,27 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Klicken Sie zur Erfassung und Buchung eines Bankauszugs.\n" +"

\n" +" Ein Bankauszug beinhaltet alle Finanztransaktionen innerhalb " +"eines\n" +" bestimmten Zeitraums auf einem Bankkonto. Üblicherweise " +"erhalten\n" +" Sie diesen Auszug in regelmässigen Abständen von Ihrer " +"Hausbank.\n" +"

\n" +" In OpenERP können Sie durch Eingabe einer Zahlungsposition " +"direkt \n" +" korrespondierende Eingangs- und Ausgangsrechnungen " +"ausgleichen.\n" +"

\n" +" " #. module: account #: field:account.config.settings,currency_id:0 msgid "Default company currency" -msgstr "" +msgstr "Standard Währung" #. module: account #: field:account.invoice,move_id:0 @@ -2374,7 +2514,7 @@ msgstr "Auswertung Altersstruktur Forderungen" #. module: account #: view:account.fiscalyear.close.state:0 msgid "Close Fiscal Year" -msgstr "" +msgstr "Geschäftsjahr abschließen" #. module: account #: model:process.node,note:account.process_node_reconciliation0 @@ -2386,6 +2526,7 @@ msgstr "Vergleich zwischen Fibu-Konten und Zahlungseingängen" #: sql_constraint:account.fiscal.position.tax:0 msgid "A tax fiscal position could be defined only once time on same taxes." msgstr "" +"Eine Steuerzuordnung kann für dieselbe Steuer nur einmal definiert werden." #. module: account #: view:account.tax:0 @@ -2397,12 +2538,12 @@ msgstr "Steuerdefinition" #: view:account.config.settings:0 #: model:ir.actions.act_window,name:account.action_account_config msgid "Configure Accounting" -msgstr "" +msgstr "Konfigurieren der Finanzbuchhaltung" #. module: account #: field:account.invoice.report,uom_name:0 msgid "Reference Unit of Measure" -msgstr "" +msgstr "Referenz Mengeneinheit" #. module: account #: help:account.journal,allow_date:0 @@ -2418,12 +2559,12 @@ msgstr "" #: code:addons/account/static/src/xml/account_move_reconciliation.xml:8 #, python-format msgid "Good job!" -msgstr "" +msgstr "Gut gemacht!" #. module: account #: field:account.config.settings,module_account_asset:0 msgid "Assets management" -msgstr "" +msgstr "Anlagenbuchhaltung" #. module: account #: view:account.account:0 @@ -2479,6 +2620,8 @@ msgid "" "If you want the journal should be control at opening/closing, check this " "option" msgstr "" +"Zur Auswahl des Buchungsjournals bei der täglichen Kasseneröffnung, " +"aktivieren Sie diese Option." #. module: account #: view:account.bank.statement:0 @@ -2513,7 +2656,7 @@ msgstr "Bearbeite Buchungen" #. module: account #: field:account.config.settings,purchase_refund_sequence_next:0 msgid "Next supplier credit note number" -msgstr "" +msgstr "Nächste Lieferantengutschrift" #. module: account #: field:account.automatic.reconcile,account_ids:0 @@ -2553,12 +2696,12 @@ msgstr "Kontenplan Umsatzsteuer" #: code:addons/account/account_cash_statement.py:256 #, python-format msgid "You do not have rights to open this %s journal !" -msgstr "" +msgstr "Sie haben keine Berechtigung im Journal %s zu arbeiten!" #. module: account #: model:res.groups,name:account.group_supplier_inv_check_total msgid "Check Total on supplier invoices" -msgstr "" +msgstr "Prüfe Gesamtbetrag der Eingangsrechnung" #. module: account #: selection:account.invoice,state:0 @@ -2639,7 +2782,7 @@ msgstr "Der Bankauszug oder die Kontonummer sind falsch." #. module: account #: help:account.config.settings,default_sale_tax:0 msgid "This sale tax will be assigned by default on new products." -msgstr "" +msgstr "Diese Umsatzsteuer wird als Standard bei neuen Produkten zugewiesen" #. module: account #: report:account.general.ledger_landscape:0 @@ -2755,7 +2898,7 @@ msgid "" "In order to delete a bank statement, you must first cancel it to delete " "related journal items." msgstr "" -"Um einen Bankauszug zu löschen müssen Sie diesen zuerst Stornieren um die " +"Um einen Bankauszug zu löschen müssen Sie diesen zuerst Stornieren, um die " "dazugehörigen Buchungen zu löschen." #. module: account @@ -2780,7 +2923,7 @@ msgstr "Bilanzpositionen" #: code:addons/account/account_move_line.py:592 #, python-format msgid "You cannot create journal items on a closed account %s %s." -msgstr "" +msgstr "Sie können das abgeschlossene Konto %s %s nicht mehr buchen." #. module: account #: field:account.period.close,sure:0 @@ -2815,7 +2958,7 @@ msgstr "Entwurfsstatus einer Rechnung" #. module: account #: view:product.category:0 msgid "Account Properties" -msgstr "" +msgstr "Einstellungen Finanzbuchhaltung" #. module: account #: view:account.partner.reconcile.process:0 @@ -2825,7 +2968,7 @@ msgstr "Offene Posten Ausgleich bei Partnern" #. module: account #: view:account.analytic.line:0 msgid "Fin. Account" -msgstr "" +msgstr "Finanzkonto" #. module: account #: field:account.tax,tax_code_id:0 @@ -2903,7 +3046,7 @@ msgstr "EK" #. module: account #: view:account.invoice.refund:0 msgid "Create Credit Note" -msgstr "" +msgstr "Erstelle Gutschrift" #. module: account #: field:product.template,supplier_taxes_id:0 @@ -2953,7 +3096,7 @@ msgstr "" #: code:addons/account/wizard/account_state_open.py:37 #, python-format msgid "Invoice is already reconciled." -msgstr "" +msgstr "Rechnung ist bereits ausgeglichen" #. module: account #: view:account.analytic.cost.ledger.journal.report:0 @@ -3001,7 +3144,7 @@ msgstr "Analytisches Konto" #: field:account.config.settings,default_purchase_tax:0 #: field:account.config.settings,purchase_tax:0 msgid "Default purchase tax" -msgstr "" +msgstr "Standard Vorsteuer" #. module: account #: view:account.account:0 @@ -3034,7 +3177,7 @@ msgstr "Konfigurationsfehler!" #: code:addons/account/account_bank_statement.py:433 #, python-format msgid "Statement %s confirmed, journal items were created." -msgstr "" +msgstr "Der Bankauszug %s wurde bestätigt und gebucht." #. module: account #: field:account.invoice.report,price_average:0 @@ -3087,7 +3230,7 @@ msgstr "Referenz" #. module: account #: view:wizard.multi.charts.accounts:0 msgid "Purchase Tax" -msgstr "" +msgstr "Vorsteuer" #. module: account #: help:account.move.line,tax_code_id:0 @@ -3178,6 +3321,7 @@ msgstr "Betreffzeile Typ" #: constraint:account.move.line:0 msgid "Account and Period must belong to the same company." msgstr "" +"Zur Buchung muss bei Konto und Periode das Unternehmen identisch sein." #. module: account #: constraint:res.currency:0 @@ -3185,6 +3329,8 @@ msgid "" "Error! You cannot define a rounding factor for the company's main currency " "that is smaller than the decimal precision of 'Account'." msgstr "" +"Fehler ! Der Rundungsfaktor der Währung darf nicht kleiner sein als die " +"Nachkommastellen Berechnungsgenauigkeit." #. module: account #: field:account.invoice.line,discount:0 @@ -3215,7 +3361,7 @@ msgstr "Abschreibungsbetrag" #: field:account.bank.statement,message_unread:0 #: field:account.invoice,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "Ungelesene Nachrichten" #. module: account #: code:addons/account/wizard/account_invoice_state.py:44 @@ -3224,12 +3370,16 @@ msgid "" "Selected invoice(s) cannot be confirmed as they are not in 'Draft' or 'Pro-" "Forma' state." msgstr "" +"Die ausgewählten Rechnungen können lediglich im Status 'Entwurf' oder 'Pro-" +"Forma' validiert werden." #. module: account #: code:addons/account/account.py:1114 #, python-format msgid "You should choose the periods that belong to the same company." msgstr "" +"Sie sollten nur die Perioden wählen, die für das Unternehmen definiert " +"wurden." #. module: account #: model:ir.actions.act_window,name:account.action_report_account_sales_tree_all @@ -3242,17 +3392,17 @@ msgstr "Verkäufe nach Konten" #: code:addons/account/account.py:1471 #, python-format msgid "You cannot delete a posted journal entry \"%s\"." -msgstr "" +msgstr "Sie können die gebuchte Position \"%s\" nicht einfach löschen." #. module: account #: view:account.invoice:0 msgid "Accounting Period" -msgstr "" +msgstr "Buchungsperiode" #. module: account #: field:account.config.settings,sale_journal_id:0 msgid "Sale journal" -msgstr "" +msgstr "Verkauf Journal" #. module: account #: code:addons/account/account.py:2323 @@ -3269,6 +3419,8 @@ msgid "" "This journal already contains items, therefore you cannot modify its company " "field." msgstr "" +"Dieses Journal wurde bereits gebucht, deshalb kann das Unternehmen nicht " +"mehr geändert werden." #. module: account #: code:addons/account/account.py:408 @@ -3277,6 +3429,8 @@ msgid "" "You need an Opening journal with centralisation checked to set the initial " "balance." msgstr "" +"Sie benötigen ein Jahreswechsel Journal mit der Einstellung " +"\"Zentralisierung Gegenkonto\" für die Buchung der Jahreseröffnung." #. module: account #: model:ir.actions.act_window,name:account.action_tax_code_list @@ -3348,7 +3502,7 @@ msgstr "erforderlich" #. module: account #: field:wizard.multi.charts.accounts,only_one_chart_template:0 msgid "Only One Chart Template Available" -msgstr "" +msgstr "Es ist nur eine Kontoplan Vorlage verfügbar" #. module: account #: view:account.chart.template:0 @@ -3361,7 +3515,7 @@ msgstr "Aufwandskonto" #: field:account.bank.statement,message_summary:0 #: field:account.invoice,message_summary:0 msgid "Summary" -msgstr "" +msgstr "Zusammenfassung" #. module: account #: help:account.invoice,period_id:0 @@ -3466,7 +3620,7 @@ msgstr "Summen und Salden" #: code:addons/account/account.py:430 #, python-format msgid "Unable to adapt the initial balance (negative value)." -msgstr "" +msgstr "Die Eröffnungsbilanz kann nicht übernommen werden (negativer Saldo)" #. module: account #: selection:account.invoice,type:0 @@ -3485,7 +3639,7 @@ msgstr "Wähle Geschäftsjahr" #: view:account.config.settings:0 #: view:account.installer:0 msgid "Date Range" -msgstr "" +msgstr "Zeitraum" #. module: account #: view:account.period:0 @@ -3537,7 +3691,7 @@ msgstr "" #: code:addons/account/account.py:2650 #, python-format msgid "There is no parent code for the template account." -msgstr "" +msgstr "Es existiert kein Stammkonto für diese Kontovorlage" #. module: account #: help:account.chart.template,code_digits:0 @@ -3565,6 +3719,8 @@ msgstr "Immer" msgid "" "Full accounting features: journals, legal statements, chart of accounts, etc." msgstr "" +"Vollständige Finanzbuchhaltung: Buchungsjournale, Jahresabschluß, " +"Kontenpläne, etc." #. module: account #: view:account.analytic.line:0 @@ -3621,12 +3777,12 @@ msgstr "Elektronische Datei" #. module: account #: constraint:res.partner:0 msgid "Error: Invalid ean code" -msgstr "" +msgstr "Fehler: Falscher EAN code" #. module: account #: field:account.config.settings,has_chart_of_accounts:0 msgid "Company has a chart of accounts" -msgstr "" +msgstr "Das Unternehmen hat einen Kontenplan" #. module: account #: view:account.payment.term.line:0 @@ -3642,7 +3798,7 @@ msgstr "Partner Kontoauszug" #: code:addons/account/account_invoice.py:1321 #, python-format msgid "%s created." -msgstr "" +msgstr "%s eröffnet." #. module: account #: help:account.journal.column,sequence:0 @@ -3652,7 +3808,7 @@ msgstr "Definition der Reihenfolge bei Anzeige einer Liste mit Journalen." #. module: account #: view:account.period:0 msgid "Account Period" -msgstr "" +msgstr "Buchungsperiode" #. module: account #: help:account.account,currency_id:0 @@ -3681,7 +3837,7 @@ msgstr "Kontenplan Vorlagen" #. module: account #: view:account.bank.statement:0 msgid "Transactions" -msgstr "" +msgstr "Buchungspositionen" #. module: account #: model:ir.model,name:account.model_account_unreconcile_reconcile @@ -3785,7 +3941,7 @@ msgstr "Konfiguration der Finanzbuchhaltung" #. module: account #: model:ir.actions.act_window,name:account.action_account_vat_declaration msgid "Account Tax Declaration" -msgstr "" +msgstr "Umsatzsteuererklärung" #. module: account #: view:account.payment.term.line:0 @@ -3800,6 +3956,9 @@ msgid "" "centralized counterpart box in the related journal from the configuration " "menu." msgstr "" +"Sie können Rechnungen nicht in einem Zentraljournal erstellen. Deaktivieren " +"Sie das Kennzeichen für die Zentralisierung des Gegenkontos bei den " +"korrespondierenden Konfigurationseinstellungen." #. module: account #: field:account.bank.statement,balance_start:0 @@ -3824,7 +3983,7 @@ msgstr "Periode abschließen" #: view:account.bank.statement:0 #: field:account.cashbox.line,subtotal_opening:0 msgid "Opening Subtotal" -msgstr "" +msgstr "Eröffnungssaldo" #. module: account #: field:account.financial.report,display_detail:0 @@ -3834,7 +3993,7 @@ msgstr "Zeige Details" #. module: account #: report:account.overdue:0 msgid "VAT:" -msgstr "UID:" +msgstr "USt-IdNr." #. module: account #: constraint:account.invoice:0 @@ -3858,6 +4017,10 @@ msgid "" "quotations with a button \"Pay with Paypal\" in automated emails or through " "the OpenERP portal." msgstr "" +"Paypal Konto (email) für den Empfang von Online Zahlungen (Kreditkarte etc.) " +"Durch Hinterlegen des Paypal Kontos kann ein Kunde durch einfachen Klick auf " +"den Button \"Bezahlen mit Paypal\" die offenen Positionen auf dem Konto " +"sehen und ausgleichen." #. module: account #: code:addons/account/wizard/account_move_journal.py:63 @@ -3918,6 +4081,10 @@ msgid "" "by\n" " your supplier/customer." msgstr "" +"Sie können folgendes bearbeiten und validieren:\n" +" Direkt gebuchte Kundengutschrift \n" +" Dokument auf das gewartet wird\n" +" Ihr Kunde / Lieferant" #. module: account #: view:validate.account.move.lines:0 @@ -3934,7 +4101,7 @@ msgstr "" msgid "" "You have not supplied enough arguments to compute the initial balance, " "please select a period and a journal in the context." -msgstr "" +msgstr "Sie haben zuwenig Berechtigungen zur Buchung einer Eröffnungsbilanz." #. module: account #: model:ir.actions.report.xml,name:account.account_transfers @@ -3944,7 +4111,7 @@ msgstr "Überweisungen" #. module: account #: field:account.config.settings,expects_chart_of_accounts:0 msgid "This company has its own chart of accounts" -msgstr "" +msgstr "Diese Firma hat einen eigenen Kontenplan" #. module: account #: view:account.chart:0 @@ -3955,7 +4122,7 @@ msgstr "Kontenplan Finanzkonten" #: view:cash.box.out:0 #: model:ir.actions.act_window,name:account.action_cash_box_out msgid "Take Money Out" -msgstr "" +msgstr "Bargeld entnehmen" #. module: account #: report:account.vat.declaration:0 @@ -3985,6 +4152,22 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Klicken Sie zur Erstellung einer Ausgangsrechnung.\n" +"

\n" +" Der elektronische Rechnungsversand erleichtert und " +"beschleunigt nochmals den \n" +" Zahlungsausgleich. Ihre Kunden bekommen per EMail Rechnungen " +"gesendet, die\n" +" dann auf schnellem Weg Online bezahlt werden können und/oder " +"in das eigene \n" +" System zur dortigen Weiterbearbeitung importiert werden. \n" +"

\n" +" Die Korrespondenz und Diskussion mit Ihrem Kunden wird " +"automatisch im \n" +" unterhalb des Rechnungsformulars angezeigt.\n" +"

\n" +" " #. module: account #: field:account.tax.code,name:0 @@ -4016,6 +4199,9 @@ msgid "" "You cannot modify a posted entry of this journal.\n" "First you should set the journal to allow cancelling entries." msgstr "" +"Sie können eine bereits gebuchte Position nicht modifizieren.\n" +"Zuerst sollten Sie das Journal hinterlegen, welches den Ausgleich von " +"Rechnungen erlaubt." #. module: account #: model:ir.actions.act_window,name:account.action_account_print_sale_purchase_journal @@ -4040,6 +4226,8 @@ msgid "" "There is no fiscal year defined for this date.\n" "Please create one from the configuration of the accounting menu." msgstr "" +"Für dieses Datum wurde noch kein Geschäftsjahr angelegt:\n" +"Bitte erstellen Sie ein Datum über das Konfiguration Menü der Finanzen." #. module: account #: view:account.addtmpl.wizard:0 @@ -4052,6 +4240,8 @@ msgstr "Konto anlegen" #, python-format msgid "The entries to reconcile should belong to the same company." msgstr "" +"Die auszugleichenden Positionen sollte möglichst zum gleichen Unternehmen " +"gehören." #. module: account #: field:account.invoice.tax,tax_amount:0 @@ -4076,7 +4266,7 @@ msgstr "Details" #. module: account #: help:account.config.settings,default_purchase_tax:0 msgid "This purchase tax will be assigned by default on new products." -msgstr "" +msgstr "Die Vorsteuer wird generell bei neuen Produkten zugewiesen" #. module: account #: report:account.invoice:0 @@ -4233,6 +4423,8 @@ msgid "" "The amount of the voucher must be the same amount as the one on the " "statement line." msgstr "" +"Der Betrag Ihres Zahlungsscheins sollte mit dem Betrag im Bankauszug " +"übereinstimmen." #. module: account #: help:account.tax,applicable_type:0 @@ -4247,7 +4439,7 @@ msgstr "" #. module: account #: field:account.config.settings,group_check_supplier_invoice_total:0 msgid "Check the total of supplier invoices" -msgstr "" +msgstr "Berücksichtigen Sie den Gesamtbetrag der Lieferantenrechnungen" #. module: account #: view:account.tax:0 @@ -4261,6 +4453,8 @@ msgid "" "When monthly periods are created. The status is 'Draft'. At the end of " "monthly period it is in 'Done' status." msgstr "" +"Bei Erstellung einer neuen Periode ist der Status zuerst \"Offen\". Zum " +"Abschluss wird der Status \"Abgeschlossen\" eingetragen." #. module: account #: view:account.bank.statement:0 @@ -4291,6 +4485,8 @@ msgstr "Kreditorenkonto" #, python-format msgid "The periods to generate opening entries cannot be found." msgstr "" +"Die Perioden zur Erstellung der Eröffnungsbuchungen können nicht gefunden " +"werden." #. module: account #: model:process.node,name:account.process_node_supplierpaymentorder0 @@ -4334,7 +4530,7 @@ msgstr "Faktor für Steuerberechnung" #. module: account #: field:account.config.settings,complete_tax_set:0 msgid "Complete set of taxes" -msgstr "" +msgstr "Komplettes Set der Steuern" #. module: account #: field:account.account,name:0 @@ -4357,12 +4553,12 @@ msgstr "Kein nicht konfiguriertes Unternehmen!" #. module: account #: field:res.company,expects_chart_of_accounts:0 msgid "Expects a Chart of Accounts" -msgstr "" +msgstr "Erwartet wird ein Kontenplan" #. module: account #: model:mail.message.subtype,name:account.mt_invoice_paid msgid "paid" -msgstr "" +msgstr "bezahlt" #. module: account #: field:account.move.line,date:0 @@ -4374,6 +4570,8 @@ msgstr "Datum" #, python-format msgid "The journal must have default credit and debit account." msgstr "" +"Das Journal sollte mindestens ein Standard Konto für Debitoren / Kreditoren " +"beinhalten." #. module: account #: model:ir.actions.act_window,name:account.action_bank_tree @@ -4385,6 +4583,8 @@ msgstr "Einrichten der Bankkonten" #: selection:account.invoice.refund,filter_refund:0 msgid "Modify: create credit note, reconcile and create a new draft invoice" msgstr "" +"Storno mit Neuberechnung: Gutschrifterstellung, manueller Ausgleich und " +"Erstellung einer neuen Rechnung" #. module: account #: code:addons/account/wizard/account_move_bank_reconcile.py:53 @@ -4396,7 +4596,7 @@ msgstr "Standarderfassung" #: help:account.bank.statement,message_ids:0 #: help:account.invoice,message_ids:0 msgid "Messages and communication history" -msgstr "" +msgstr "Nachrichten und Kommunikation" #. module: account #: help:account.journal,analytic_journal_id:0 @@ -4431,13 +4631,15 @@ msgid "" "Check this box if you don't want any tax related to this tax Code to appear " "on invoices." msgstr "" +"Aktivieren Sie diese Option, wenn Sie keinen Bezug zu einer Umsatzsteuer auf " +"Rechnungen herstellen möchten." #. module: account #: code:addons/account/account_move_line.py:1153 #: code:addons/account/account_move_line.py:1236 #, python-format msgid "You cannot use an inactive account." -msgstr "" +msgstr "Es sollte kein inaktives Konto erstellt werden." #. module: account #: model:ir.actions.act_window,name:account.open_board_account @@ -4468,7 +4670,7 @@ msgstr "Konsolidierte Konten" #: code:addons/account/wizard/account_invoice_refund.py:146 #, python-format msgid "Insufficient Data!" -msgstr "" +msgstr "Unstimmige Daten!" #. module: account #: help:account.account,unrealized_gain_loss:0 @@ -4503,7 +4705,7 @@ msgstr "Titel" #. module: account #: selection:account.invoice.refund,filter_refund:0 msgid "Create a draft credit note" -msgstr "" +msgstr "Erstelle eine Gutschrift im Entwurf" #. module: account #: view:account.invoice:0 @@ -4535,7 +4737,7 @@ msgstr "Anlagen" #. module: account #: view:account.config.settings:0 msgid "Accounting & Finance" -msgstr "" +msgstr "Buchhaltung & Finanzen" #. module: account #: view:account.invoice.confirm:0 @@ -8437,7 +8639,7 @@ msgstr "Errechneter Saldo" #: code:addons/account/static/src/js/account_move_reconciliation.js:88 #, python-format msgid "You must choose at least one record." -msgstr "" +msgstr "Sie müssen mindestens einen Datensatz auswählen" #. module: account #: field:account.account,parent_id:0 diff --git a/addons/account/i18n/es_DO.po b/addons/account/i18n/es_DO.po index d83e259ca9d..d7f826f9459 100644 --- a/addons/account/i18n/es_DO.po +++ b/addons/account/i18n/es_DO.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-07-02 15:07+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2012-11-29 20:54+0000\n" +"Last-Translator: Jose Ernesto Mendez \n" "Language-Team: Spanish (Dominican Republic) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:00+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-30 05:07+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account #: model:process.transition,name:account.process_transition_supplierreconcilepaid0 @@ -3736,7 +3736,7 @@ msgstr "" #. module: account #: report:account.overdue:0 msgid "VAT:" -msgstr "" +msgstr "ITBIS:" #. module: account #: constraint:account.invoice:0 @@ -3979,7 +3979,7 @@ msgstr "" #. module: account #: report:account.invoice:0 msgid "VAT :" -msgstr "" +msgstr "ITBIS:" #. module: account #: report:account.central.journal:0 @@ -5349,7 +5349,7 @@ msgstr "" #. module: account #: model:ir.model,name:account.model_account_vat_declaration msgid "Account Vat Declaration" -msgstr "" +msgstr "Cuenta Declaración de ITBIS" #. module: account #: help:account.config.settings,module_account_accountant:0 diff --git a/addons/account/i18n/fr.po b/addons/account/i18n/fr.po index 66a866c2e40..8ec67664f18 100644 --- a/addons/account/i18n/fr.po +++ b/addons/account/i18n/fr.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-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-11-26 11:52+0000\n" +"PO-Revision-Date: 2012-11-30 08:25+0000\n" "Last-Translator: Numérigraphe \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: 2012-11-27 05:23+0000\n" -"X-Generator: Launchpad (build 16309)\n" +"X-Launchpad-Export-Date: 2012-12-01 05:08+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account #: code:addons/account/wizard/account_fiscalyear_close.py:41 @@ -108,7 +108,7 @@ msgstr "" #. module: account #: view:account.move.reconcile:0 msgid "Journal Entry Reconcile" -msgstr "Lettrage des écritures comptables" +msgstr "Lettrage d'écritures comptables" #. module: account #: view:account.account:0 @@ -1914,7 +1914,7 @@ msgstr "Facture" #. module: account #: field:account.move,balance:0 msgid "balance" -msgstr "" +msgstr "solde" #. module: account #: model:process.node,note:account.process_node_analytic0 @@ -2411,7 +2411,7 @@ msgstr "Merci de vérifier le compte défini dans le journal" #. module: account #: selection:account.entries.report,move_line_state:0 msgid "Valid" -msgstr "Valide" +msgstr "Equilibrée" #. module: account #: field:account.bank.statement,message_follower_ids:0 @@ -2428,7 +2428,7 @@ msgstr "Impression de journal comptable" #. module: account #: model:ir.model,name:account.model_product_category msgid "Product Category" -msgstr "Catégorie de produits" +msgstr "Catégorie d'articles" #. module: account #: model:ir.model,name:account.model_account_aged_trial_balance @@ -2702,7 +2702,7 @@ msgstr "Le numéro du RIB et/ou IBAN n'est pas correct." #. module: account #: help:account.config.settings,default_sale_tax:0 msgid "This sale tax will be assigned by default on new products." -msgstr "" +msgstr "Cette taxe de vente sera attribuée par défaut aux nouveaux articles" #. module: account #: report:account.general.ledger_landscape:0 @@ -2719,12 +2719,12 @@ msgstr "Changer en" #. module: account #: view:account.entries.report:0 msgid "# of Products Qty " -msgstr "Qté de produits " +msgstr "Nb de qté. d'articles " #. module: account #: model:ir.model,name:account.model_product_template msgid "Product Template" -msgstr "Modèle de produit" +msgstr "Modèle d'article" #. module: account #: report:account.account.balance:0 @@ -3381,7 +3381,7 @@ msgstr "Août" #. module: account #: field:accounting.report,debit_credit:0 msgid "Display Debit/Credit Columns" -msgstr "" +msgstr "Afficher les colonnes de débit/crédit" #. module: account #: selection:account.entries.report,month:0 @@ -4096,7 +4096,7 @@ msgstr "Continuer" #: view:account.invoice.report:0 #: field:account.invoice.report,categ_id:0 msgid "Category of Product" -msgstr "Catégorie de produits" +msgstr "Catégorie d'article" #. module: account #: code:addons/account/account.py:987 @@ -4142,7 +4142,7 @@ msgstr "Détail" #: help:account.config.settings,default_purchase_tax:0 msgid "This purchase tax will be assigned by default on new products." msgstr "" -"Cette taxe d'achat sera attribuée par défaut à tous les nouveaux produits." +"Cette taxe d'achat sera attribuée par défaut à tous les nouveaux articles." #. module: account #: report:account.invoice:0 @@ -4419,7 +4419,7 @@ msgstr "Nom" #: code:addons/account/installer.py:94 #, python-format msgid "No unconfigured company !" -msgstr "" +msgstr "Pas de société non configurée !" #. module: account #: field:res.company,expects_chart_of_accounts:0 @@ -5255,7 +5255,7 @@ msgstr "Facture " #. module: account #: field:account.chart.template,property_account_income:0 msgid "Income Account on Product Template" -msgstr "Modèle d'imputation des charges" +msgstr "Compte de revenu sur les modèles d'articles" #. module: account #: help:account.journal.period,state:0 @@ -6853,7 +6853,7 @@ msgstr "Exercice comptable" #. module: account #: view:account.move.reconcile:0 msgid "Partial Reconcile Entries" -msgstr "Lettrage partiel d'écritures" +msgstr "Lettrage partiel d'écriture" #. module: account #: view:account.aged.trial.balance:0 @@ -7275,7 +7275,7 @@ msgstr "Catégorie de compte de dépenses" #. module: account #: sql_constraint:account.tax:0 msgid "Tax Name must be unique per company!" -msgstr "" +msgstr "Le nom d'une taxe doit être unique par société !" #. module: account #: view:account.bank.statement:0 @@ -7761,6 +7761,7 @@ msgstr "Document d'origine" #, python-format msgid "There is no expense account defined for this product: \"%s\" (id:%d)." msgstr "" +"Aucun compte de dépense n'a été défini pour cet article : \"%s\" ( id. : %d)." #. module: account #: constraint:account.account:0 @@ -11120,6 +11121,8 @@ msgstr "Manuellement" msgid "" "This is a field only used for internal purpose and shouldn't be displayed" msgstr "" +"Ceci est un champ uniquement utilisé pour un usage interne et ne devrait pas " +"être affiché" #. module: account #: selection:account.entries.report,month:0 @@ -11140,6 +11143,7 @@ msgstr "Grouper les factures par mois" #, python-format msgid "There is no income account defined for this product: \"%s\" (id:%d)." msgstr "" +"Aucun compte de revenu n'a été défini pour cet article : \"%s\" ( id. : %d)." #. module: account #: model:ir.actions.act_window,name:account.action_aged_receivable_graph @@ -11202,6 +11206,8 @@ msgid "" "The selected unit of measure is not compatible with the unit of measure of " "the product." msgstr "" +"L'unité de mesure choisie n'est pas compatible avec l'unité de mesure de " +"l'article." #. module: account #: view:account.fiscal.position:0 diff --git a/addons/account/i18n/it.po b/addons/account/i18n/it.po index 449810103b2..a9581773d33 100644 --- a/addons/account/i18n/it.po +++ b/addons/account/i18n/it.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-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-11-25 23:52+0000\n" +"PO-Revision-Date: 2012-12-02 23:01+0000\n" "Last-Translator: Sergio Corato \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: 2012-11-27 05:24+0000\n" -"X-Generator: Launchpad (build 16309)\n" +"X-Launchpad-Export-Date: 2012-12-03 04:36+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account #: model:process.transition,name:account.process_transition_supplierreconcilepaid0 @@ -26,6 +26,7 @@ msgstr "Sistema di pagamento" msgid "" "An account fiscal position could be defined only once time on same accounts." msgstr "" +"Una posizione fiscale può essere definita una sola volta per lo stesso conto." #. module: account #: view:account.unreconcile:0 @@ -85,7 +86,7 @@ msgstr "Importa da fatture o pagamenti" #: code:addons/account/account_move_line.py:1303 #, python-format msgid "Bad Account!" -msgstr "" +msgstr "Conto Errato!" #. module: account #: view:account.move:0 @@ -151,6 +152,22 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Premere per selezionare la lista di colonne da visualizzare " +"per questo tipo di sezionale.\n" +"

\n" +" La Vista Sezionale determina il modo con cui puoi registrare " +"voci\n" +" nel sezionale. Selezionare i campi che devono apparire nel " +"sezionale\n" +" e determinale la sequenza con la quale devono apparire.\n" +"

\n" +" Nel form di definizione del sezionale, è possibile " +"selezionalre la vista\n" +" da usare per visualizzare le voci correlate con questo " +"sezionale.\n" +"

\n" +" " #. module: account #: help:account.payment.term,active:0 @@ -242,7 +259,7 @@ msgstr "Sezionale: %s" #. module: account #: help:account.config.settings,code_digits:0 msgid "No. of digits to use for account code" -msgstr "" +msgstr "N. di cifre da usare per il codice conto" #. module: account #: help:account.analytic.journal,type:0 @@ -262,6 +279,9 @@ msgid "" "lines for invoices. Leave empty if you don't want to use an analytic account " "on the invoice tax lines by default." msgstr "" +"Imposta il conto analitico che sarà usato di default sulle righe imposta " +"delle fatture. Lasciare vuoto per non usare un conto analitico sulle righe " +"imposta delle fatture per default." #. module: account #: model:ir.actions.act_window,name:account.action_account_tax_template_form @@ -297,7 +317,7 @@ msgstr "Reports belgi" #. module: account #: model:account.account.type,name:account.account_type_income_view1 msgid "Income View" -msgstr "" +msgstr "Vista Ricavi" #. module: account #: help:account.account,user_type:0 @@ -394,7 +414,7 @@ msgstr "Annulla Riconciliazione" #. module: account #: field:account.config.settings,module_account_budget:0 msgid "Budget management" -msgstr "" +msgstr "Gestione Budget" #. module: account #: view:product.template:0 @@ -416,7 +436,7 @@ msgstr "" #. module: account #: field:account.config.settings,group_multi_currency:0 msgid "Allow multi currencies" -msgstr "" +msgstr "Consenti valute multiple" #. module: account #: code:addons/account/account_invoice.py:73 @@ -437,12 +457,12 @@ msgstr "Giugno" #: code:addons/account/wizard/account_automatic_reconcile.py:148 #, python-format msgid "You must select accounts to reconcile." -msgstr "" +msgstr "E' necessario selezionare i conti da riconciliare." #. module: account #: help:account.config.settings,group_analytic_accounting:0 msgid "Allows you to use the analytic accounting." -msgstr "" +msgstr "Abilita la contabilità analitica." #. module: account #: model:ir.actions.act_window,help:account.action_account_moves_bank @@ -462,7 +482,7 @@ msgstr "" #: view:account.invoice.report:0 #: field:account.invoice.report,user_id:0 msgid "Salesperson" -msgstr "" +msgstr "Commerciale" #. module: account #: model:ir.model,name:account.model_account_tax_template @@ -556,7 +576,7 @@ msgstr "L'importo espresso in un'altra valuta opzionale" #. module: account #: view:account.journal:0 msgid "Available Coins" -msgstr "" +msgstr "Monete Disponibili" #. module: account #: field:accounting.report,enable_filter:0 @@ -611,7 +631,7 @@ msgstr "Riferimento gerarchico superiore" #. module: account #: help:account.invoice.line,sequence:0 msgid "Gives the sequence of this line when displaying the invoice." -msgstr "" +msgstr "Assegna la sequenza di questa linea quando visualizza la fattura." #. module: account #: field:account.bank.statement,account_id:0 @@ -685,12 +705,12 @@ msgstr "Il contabile conferma la registrazione" #: code:addons/account/static/src/xml/account_move_reconciliation.xml:31 #, python-format msgid "Nothing to reconcile" -msgstr "" +msgstr "Nulla da riconciliare" #. module: account #: field:account.config.settings,decimal_precision:0 msgid "Decimal precision on journal entries" -msgstr "" +msgstr "Accuratezza decimale nelle registrazioni sezionale" #. module: account #: selection:account.config.settings,period:0 @@ -725,6 +745,8 @@ msgid "" "Specified journal does not have any account move entries in draft state for " "this period." msgstr "" +"Il sezionale specificato non ha registrazioni in stato bozza per questo " +"periodo." #. module: account #: view:account.fiscal.position:0 @@ -747,12 +769,12 @@ msgstr "La sequenza principale deve essere diversa dalla attuale!" #: code:addons/account/wizard/account_change_currency.py:70 #, python-format msgid "Current currency is not configured properly." -msgstr "" +msgstr "La valuta corrente non è configurata correttamente." #. module: account #: field:account.journal,profit_account_id:0 msgid "Profit Account" -msgstr "" +msgstr "Conto Profitti" #. module: account #: code:addons/account/account_move_line.py:1249 @@ -764,7 +786,7 @@ msgstr "" #. module: account #: model:account.journal.view,name:account.account_journal_bank_view_multi msgid "Bank/Cash Journal (Multi-Currency) View" -msgstr "" +msgstr "Vista Sezionale Banca/Cassa (Multi-Valuta)" #. module: account #: model:ir.model,name:account.model_report_account_type_sales @@ -779,12 +801,16 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Nessuna voce sezionale trovata.\n" +"

\n" +" " #. module: account #: code:addons/account/account.py:1606 #, python-format msgid "Cannot create move with currency different from .." -msgstr "" +msgstr "Non è possibile creare movimenti con valute differenti da .." #. module: account #: model:email.template,report_name:account.email_template_edi_invoice @@ -792,6 +818,8 @@ msgid "" "Invoice_${(object.number or '').replace('/','_')}_${object.state == 'draft' " "and 'draft' or ''}" msgstr "" +"Fattura_${(object.number or '').replace('/','_')}_${object.state == 'draft' " +"and 'draft' or ''}" #. module: account #: view:account.period:0 @@ -819,6 +847,8 @@ msgstr "Periodo del Sezionale" msgid "" "You cannot create more than one move per period on a centralized journal." msgstr "" +"Non è possibile creare più di una riga per periodo in un sezionale " +"centralizzato." #. module: account #: help:account.tax,account_analytic_paid_id:0 @@ -827,6 +857,9 @@ msgid "" "lines for refunds. Leave empty if you don't want to use an analytic account " "on the invoice tax lines by default." msgstr "" +"Imposta il conto analitico che sarà usato di default sulle righe imposta " +"della fattura per note di credito. Lasciare vuoto per non usare un conto " +"analitico di default sulle righe imposta della fattura." #. module: account #: view:account.account:0 @@ -842,7 +875,7 @@ msgstr "Conti di Credito" #. module: account #: view:account.config.settings:0 msgid "Configure your company bank accounts" -msgstr "" +msgstr "Configura i conti bancari per la tua azienda" #. module: account #: constraint:account.move.line:0 @@ -880,6 +913,9 @@ msgid "" "Cannot %s invoice which is already reconciled, invoice should be " "unreconciled first. You can only refund this invoice." msgstr "" +"Non è possibile %s fattura che è già riconciliata, la fattura dovrebbe " +"essere prima riconciliata. E' possibile solo emettere nota di credito per " +"questa fattura." #. module: account #: selection:account.financial.report,display_detail:0 @@ -894,7 +930,7 @@ msgstr "Percentuale" #. module: account #: model:ir.ui.menu,name:account.menu_finance_charts msgid "Charts" -msgstr "Bilancino" +msgstr "Grafici" #. module: account #: code:addons/account/project/wizard/project_account_analytic_line.py:47 @@ -957,7 +993,7 @@ msgstr "Fatture e Note di Credito Fornitori" #: code:addons/account/account_move_line.py:833 #, python-format msgid "Entry is already reconciled." -msgstr "" +msgstr "La registrazione è già riconciliata" #. module: account #: view:account.move.line.unreconcile.select:0 @@ -980,7 +1016,7 @@ msgstr "Giornale conti analitici" #. module: account #: view:account.invoice:0 msgid "Send by Email" -msgstr "" +msgstr "Invia per Email" #. module: account #: help:account.central.journal,amount_currency:0 @@ -991,6 +1027,8 @@ msgid "" "Print Report with the currency column if the currency differs from the " "company currency." msgstr "" +"Stampa il Report con la colonna della valuta se la valuta è diversa da " +"quella aziendale." #. module: account #: report:account.analytic.account.quantity_cost_ledger:0 @@ -1000,12 +1038,12 @@ msgstr "Nome G.C/Movimento" #. module: account #: view:account.account:0 msgid "Account Code and Name" -msgstr "" +msgstr "Codice e Nome Conto" #. module: account #: model:mail.message.subtype,name:account.mt_invoice_new msgid "created" -msgstr "" +msgstr "creato" #. module: account #: selection:account.entries.report,month:0 @@ -1069,7 +1107,7 @@ msgstr "Dovuto" #. module: account #: field:account.config.settings,purchase_journal_id:0 msgid "Purchase journal" -msgstr "" +msgstr "Sezionale Acquisti" #. module: account #: code:addons/account/account.py:1374 @@ -1078,6 +1116,8 @@ msgid "" "You cannot validate this journal entry because account \"%s\" does not " "belong to chart of accounts \"%s\"." msgstr "" +"Non è possibile validate questa registrazione perchè il conto \"%s\" non " +"appartiene al piano dei conti \"%s\"." #. module: account #: view:validate.account.move:0 @@ -1095,7 +1135,7 @@ msgstr "Importo Totale" #. module: account #: help:account.invoice,supplier_invoice_number:0 msgid "The reference of this invoice as provided by the supplier." -msgstr "" +msgstr "Il numero della fattura come assegnato dal fornitore." #. module: account #: selection:account.account,type:0 @@ -1184,7 +1224,7 @@ msgstr "Codice" #. module: account #: view:account.config.settings:0 msgid "Features" -msgstr "" +msgstr "Caratteristiche" #. module: account #: code:addons/account/account.py:2323 @@ -1229,7 +1269,7 @@ msgstr "Nome del conto" #. module: account #: field:account.journal,with_last_closing_balance:0 msgid "Opening With Last Closing Balance" -msgstr "" +msgstr "Apertura Con Ultimo Bilancio di Chiusura" #. module: account #: view:account.state.open:0 @@ -1273,12 +1313,12 @@ msgstr "" #. module: account #: view:account.invoice:0 msgid "Refund " -msgstr "" +msgstr "Rimborso " #. module: account #: help:account.config.settings,company_footer:0 msgid "Bank accounts as printed in the footer of each printed document" -msgstr "" +msgstr "Conti bancari come stampati nel piede di ogni documento stampato" #. module: account #: view:account.tax:0 @@ -1300,7 +1340,7 @@ msgstr "Movimenti Registratore di Cassa" #. module: account #: field:account.config.settings,sale_refund_journal_id:0 msgid "Sale refund journal" -msgstr "" +msgstr "Sezionale Note di Credito" #. module: account #: model:ir.actions.act_window,help:account.action_view_bank_statement_tree @@ -1336,7 +1376,7 @@ msgstr "Inizio del periodo" #. module: account #: view:account.tax:0 msgid "Refunds" -msgstr "" +msgstr "Note di Credito" #. module: account #: model:process.transition,name:account.process_transition_confirmstatementfromdraft0 @@ -1406,7 +1446,7 @@ msgstr "Tasso di cambio in uscita" #. module: account #: field:account.config.settings,chart_template_id:0 msgid "Template" -msgstr "" +msgstr "Modello" #. module: account #: selection:account.analytic.journal,type:0 @@ -1419,6 +1459,8 @@ msgid "" "Set the account that will be set by default on invoice tax lines for " "refunds. Leave empty to use the expense account." msgstr "" +"Imposta il conto che sarà usato di default sulle righe imposta della fattura " +"per note di credito. Lasciare vuoto per usare il conto di costo." #. module: account #: field:account.move.line.reconcile,trans_nbr:0 @@ -1505,7 +1547,7 @@ msgstr "Livello" #: code:addons/account/wizard/account_change_currency.py:38 #, python-format msgid "You can only change currency for Draft Invoice." -msgstr "" +msgstr "E' possibile cambiare solo la vauta per le Fatture in stato Bozza" #. module: account #: report:account.invoice:0 @@ -1531,7 +1573,7 @@ msgstr "Seleziona un periodo di inizio e fine" #: model:account.financial.report,name:account.account_financial_report_profitandloss0 #: model:ir.actions.act_window,name:account.action_account_report_pl msgid "Profit and Loss" -msgstr "Utili e Perdite" +msgstr "Conto Economico" #. module: account #: model:ir.model,name:account.model_account_account_template @@ -1576,12 +1618,12 @@ msgstr "Opzioni Report" #. module: account #: field:account.fiscalyear.close.state,fy_id:0 msgid "Fiscal Year to Close" -msgstr "" +msgstr "Anno Fiscale da Chiudere" #. module: account #: field:account.config.settings,sale_sequence_prefix:0 msgid "Invoice sequence" -msgstr "" +msgstr "Sequenza fattura" #. module: account #: model:ir.model,name:account.model_account_entries_report @@ -1600,11 +1642,13 @@ msgid "" "And after getting confirmation from the bank it will be in 'Confirmed' " "status." msgstr "" +"Quando sono create le nuove registrazioni sono in stato 'Bozza'.\n" +"Dopo la conferma sono nello stato 'Confermato'." #. module: account #: field:account.invoice.report,state:0 msgid "Invoice Status" -msgstr "" +msgstr "Stato Fattura" #. module: account #: view:account.invoice.report:0 @@ -1637,6 +1681,8 @@ msgid "" "There is no default debit account defined \n" "on journal \"%s\"." msgstr "" +"Non c'è un conto di debito di default definito \n" +"nel sezionale \"%s\"." #. module: account #: view:account.tax:0 @@ -1671,6 +1717,9 @@ msgid "" "There is nothing to reconcile. All invoices and payments\n" " have been reconciled, your partner balance is clean." msgstr "" +"Non c'è nulla da riconciliare. Tutte le fatture e i pagamenti\n" +" sono stati riconciliati, il saldo dei clienti/fornitori " +"è a zero." #. module: account #: field:account.chart.template,code_digits:0 @@ -1689,7 +1738,7 @@ msgstr "Salta lo stato 'Bozza' per le registrazioni manuali" #: code:addons/account/wizard/account_report_common.py:159 #, python-format msgid "Not implemented." -msgstr "" +msgstr "Non implementato." #. module: account #: view:account.invoice.refund:0 @@ -1699,7 +1748,7 @@ msgstr "Nota di credito" #. module: account #: view:account.config.settings:0 msgid "eInvoicing & Payments" -msgstr "" +msgstr "e-fatturazione & Pagamenti" #. module: account #: view:account.analytic.cost.ledger.journal.report:0 @@ -1734,7 +1783,7 @@ msgstr "Note di Credito" #. module: account #: field:account.config.settings,company_footer:0 msgid "Bank accounts footer preview" -msgstr "" +msgstr "Anteprima pie' di pagina conti bancari" #. module: account #: selection:account.account,type:0 @@ -1781,7 +1830,7 @@ msgstr "Imponibile" #. module: account #: view:account.journal:0 msgid "Advanced Settings" -msgstr "" +msgstr "Impostazioni avanzate" #. module: account #: view:account.bank.statement:0 @@ -1864,7 +1913,7 @@ msgstr "Fattura" #. module: account #: field:account.move,balance:0 msgid "balance" -msgstr "" +msgstr "bilancio" #. module: account #: model:process.node,note:account.process_node_analytic0 @@ -1880,7 +1929,7 @@ msgstr "Sequenza per anni fiscali" #. module: account #: field:account.config.settings,group_analytic_accounting:0 msgid "Analytic accounting" -msgstr "" +msgstr "Contabilità analitica" #. module: account #: report:account.overdue:0 @@ -1924,12 +1973,14 @@ msgid "" "The journal must have centralized counterpart without the Skipping draft " "state option checked." msgstr "" +"Il sezionale deve avere contropartite centralizzate senza l'opzione Salta lo " +"stato bozza attivata." #. module: account #: code:addons/account/account_move_line.py:836 #, python-format msgid "Some entries are already reconciled." -msgstr "" +msgstr "Alcune registrazioni sono già riconciliate." #. module: account #: model:email.template,body_html:account.email_template_edi_invoice @@ -2060,12 +2111,12 @@ msgstr "Conti in sospeso" #. module: account #: view:account.open.closed.fiscalyear:0 msgid "Cancel Fiscal Year Opening Entries" -msgstr "" +msgstr "Annulla Registrazioni Apertura Anno Fiscale" #. module: account #: model:account.journal.view,name:account.account_journal_bank_view msgid "Bank/Cash Journal View" -msgstr "" +msgstr "Vista Sezionale Banca/Cassa" #. module: account #: report:account.journal.period.print.sale.purchase:0 @@ -2095,18 +2146,18 @@ msgstr "Incassi & Pagamenti" #. module: account #: field:account.config.settings,module_account_payment:0 msgid "Manage payment orders" -msgstr "" +msgstr "Gestione ordini di pagamento" #. module: account #: view:account.period:0 msgid "Duration" -msgstr "" +msgstr "Durata" #. module: account #: view:account.bank.statement:0 #: field:account.bank.statement,last_closing_balance:0 msgid "Last Closing Balance" -msgstr "" +msgstr "Ultima Chiusura di Bilancio" #. module: account #: model:ir.model,name:account.model_account_common_journal_report @@ -2144,7 +2195,7 @@ msgstr "Rif. cliente:" #: help:account.tax.template,ref_tax_code_id:0 #: help:account.tax.template,tax_code_id:0 msgid "Use this code for the tax declaration." -msgstr "" +msgstr "Usa questo codice per la dichiarazione imposte" #. module: account #: help:account.period,special:0 @@ -2170,7 +2221,7 @@ msgstr "Importo credito" #: field:account.bank.statement,message_ids:0 #: field:account.invoice,message_ids:0 msgid "Messages" -msgstr "" +msgstr "Messaggi" #. module: account #: view:account.vat.declaration:0 @@ -2268,7 +2319,7 @@ msgstr "Analisi delle fatture" #. module: account #: model:ir.model,name:account.model_mail_compose_message msgid "Email composition wizard" -msgstr "" +msgstr "Composizione guidata email" #. module: account #: model:ir.model,name:account.model_account_period_close @@ -2282,6 +2333,8 @@ msgid "" "This journal already contains items for this period, therefore you cannot " "modify its company field." msgstr "" +"Questo sezionale contiene già registrazioni per questo periodo, per cui non " +"è possibile modificare i campi dell'azienda relativa." #. module: account #: model:ir.actions.act_window,name:account.action_project_account_analytic_line_form @@ -2314,7 +2367,7 @@ msgstr "" #. module: account #: field:account.config.settings,currency_id:0 msgid "Default company currency" -msgstr "" +msgstr "Valuta di default aziendale" #. module: account #: field:account.invoice,move_id:0 @@ -2367,7 +2420,7 @@ msgstr "Valido" #: field:account.bank.statement,message_follower_ids:0 #: field:account.invoice,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "Followers" #. module: account #: model:ir.actions.act_window,name:account.action_account_print_journal @@ -2388,7 +2441,7 @@ msgstr "Estratto Conto Periodico" #. module: account #: view:account.fiscalyear.close.state:0 msgid "Close Fiscal Year" -msgstr "" +msgstr "Chiusura Anno Fiscale" #. module: account #: model:process.node,note:account.process_node_reconciliation0 @@ -2400,6 +2453,8 @@ msgstr "Confronto fra registrazioni contabili e pagamenti" #: sql_constraint:account.fiscal.position.tax:0 msgid "A tax fiscal position could be defined only once time on same taxes." msgstr "" +"Una posizione fiscale può essere definita solo una volta sulla stessa " +"imposta." #. module: account #: view:account.tax:0 @@ -2411,12 +2466,12 @@ msgstr "Definizione imposte" #: view:account.config.settings:0 #: model:ir.actions.act_window,name:account.action_account_config msgid "Configure Accounting" -msgstr "" +msgstr "Configurazione Contabilità" #. module: account #: field:account.invoice.report,uom_name:0 msgid "Reference Unit of Measure" -msgstr "" +msgstr "Unità di Misura di Riferimento" #. module: account #: help:account.journal,allow_date:0 @@ -2432,12 +2487,12 @@ msgstr "" #: code:addons/account/static/src/xml/account_move_reconciliation.xml:8 #, python-format msgid "Good job!" -msgstr "" +msgstr "Ottimo lavoro!" #. module: account #: field:account.config.settings,module_account_asset:0 msgid "Assets management" -msgstr "" +msgstr "Gestione immobilizzazioni" #. module: account #: view:account.account:0 @@ -2493,6 +2548,8 @@ msgid "" "If you want the journal should be control at opening/closing, check this " "option" msgstr "" +"Per attivare il controllo del sezionale all'apertura/chiusura, selezionare " +"questa opzione" #. module: account #: view:account.bank.statement:0 @@ -2527,7 +2584,7 @@ msgstr "Apri registrazioni" #. module: account #: field:account.config.settings,purchase_refund_sequence_next:0 msgid "Next supplier credit note number" -msgstr "" +msgstr "Numero successivo nota di credito fornitore" #. module: account #: field:account.automatic.reconcile,account_ids:0 @@ -2567,12 +2624,12 @@ msgstr "Piano delle imposte" #: code:addons/account/account_cash_statement.py:256 #, python-format msgid "You do not have rights to open this %s journal !" -msgstr "" +msgstr "Mancano i permessi per aprire questo %s sezionale !" #. module: account #: model:res.groups,name:account.group_supplier_inv_check_total msgid "Check Total on supplier invoices" -msgstr "" +msgstr "Verifica il Totale sulle fatture fornitori" #. module: account #: selection:account.invoice,state:0 @@ -2652,6 +2709,7 @@ msgstr "Codice RIB e/o IBAN non valido" #: help:account.config.settings,default_sale_tax:0 msgid "This sale tax will be assigned by default on new products." msgstr "" +"Questa imposta sulle vendite sarà assegnata di default sui nuori prodotti." #. module: account #: report:account.general.ledger_landscape:0 @@ -2793,6 +2851,7 @@ msgstr "Posizioni fiscali" #, python-format msgid "You cannot create journal items on a closed account %s %s." msgstr "" +"Non è possibile creare registrazioni nei sezionali con un conto chiuso %s %s." #. module: account #: field:account.period.close,sure:0 @@ -2827,7 +2886,7 @@ msgstr "Stato 'bozza' di una fattura" #. module: account #: view:product.category:0 msgid "Account Properties" -msgstr "" +msgstr "Proprietà dell'account" #. module: account #: view:account.partner.reconcile.process:0 @@ -2837,7 +2896,7 @@ msgstr "Riconciliazione per il partner" #. module: account #: view:account.analytic.line:0 msgid "Fin. Account" -msgstr "" +msgstr "Conto Fin." #. module: account #: field:account.tax,tax_code_id:0 @@ -2914,7 +2973,7 @@ msgstr "EXJ" #. module: account #: view:account.invoice.refund:0 msgid "Create Credit Note" -msgstr "" +msgstr "Crea Nota di Credito" #. module: account #: field:product.template,supplier_taxes_id:0 @@ -2965,7 +3024,7 @@ msgstr "" #: code:addons/account/wizard/account_state_open.py:37 #, python-format msgid "Invoice is already reconciled." -msgstr "" +msgstr "La fattura è già riconciliata." #. module: account #: view:account.analytic.cost.ledger.journal.report:0 @@ -3013,7 +3072,7 @@ msgstr "Contabilità Analitica" #: field:account.config.settings,default_purchase_tax:0 #: field:account.config.settings,purchase_tax:0 msgid "Default purchase tax" -msgstr "" +msgstr "Tassa di default sugli acquisti" #. module: account #: view:account.account:0 @@ -3047,6 +3106,7 @@ msgstr "Errore di configurazione!" #, python-format msgid "Statement %s confirmed, journal items were created." msgstr "" +"Registrazione %s confermata, le righe nel sezionale sono state create." #. module: account #: field:account.invoice.report,price_average:0 @@ -3099,7 +3159,7 @@ msgstr "Rif" #. module: account #: view:wizard.multi.charts.accounts:0 msgid "Purchase Tax" -msgstr "" +msgstr "Imposta sugli Acquisti" #. module: account #: help:account.move.line,tax_code_id:0 @@ -3190,7 +3250,7 @@ msgstr "Tipo di comunicazione" #. module: account #: constraint:account.move.line:0 msgid "Account and Period must belong to the same company." -msgstr "" +msgstr "Conto e Periodo devono appartenere alla stessa azienda." #. module: account #: constraint:res.currency:0 @@ -3226,7 +3286,7 @@ msgstr "Conto per storno" #: field:account.bank.statement,message_unread:0 #: field:account.invoice,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "Messaggi non letti" #. module: account #: code:addons/account/wizard/account_invoice_state.py:44 @@ -3258,12 +3318,12 @@ msgstr "" #. module: account #: view:account.invoice:0 msgid "Accounting Period" -msgstr "" +msgstr "Periodo Contabile" #. module: account #: field:account.config.settings,sale_journal_id:0 msgid "Sale journal" -msgstr "" +msgstr "Sezionale Vendite" #. module: account #: code:addons/account/account.py:2323 @@ -3425,7 +3485,7 @@ msgstr "Contabilità Generale" #. module: account #: model:ir.ui.menu,name:account.menu_account_report_pl msgid "Profit And Loss" -msgstr "Profitto e perdita" +msgstr "Conto Economico" #. module: account #: view:account.fiscal.position:0 @@ -3474,7 +3534,7 @@ msgstr "Bilancino" #: code:addons/account/account.py:430 #, python-format msgid "Unable to adapt the initial balance (negative value)." -msgstr "" +msgstr "Non è possibile adattare il saldo iniziale (importo negativo)." #. module: account #: selection:account.invoice,type:0 @@ -4881,7 +4941,7 @@ msgstr "Modalità di visualizzazione" #. module: account #: selection:account.move.line,state:0 msgid "Balanced" -msgstr "" +msgstr "Saldato" #. module: account #: model:process.node,note:account.process_node_importinvoice0 @@ -5189,7 +5249,7 @@ msgstr "Fattura " #. module: account #: field:account.chart.template,property_account_income:0 msgid "Income Account on Product Template" -msgstr "Conto entrate per il prodotto" +msgstr "Conto ricavi per il prodotto" #. module: account #: help:account.journal.period,state:0 @@ -5731,14 +5791,14 @@ msgstr "Conto imposta" #: model:ir.actions.act_window,name:account.action_account_report_bs #: model:ir.ui.menu,name:account.menu_account_report_bs msgid "Balance Sheet" -msgstr "Bilancio" +msgstr "Stato Patrimoniale" #. module: account #: selection:account.account.type,report_type:0 #: code:addons/account/account.py:187 #, python-format msgid "Profit & Loss (Income account)" -msgstr "Utili & Perdite (Conto di Ricavo)" +msgstr "Conto economico" #. module: account #: field:account.journal,allow_date:0 @@ -5983,6 +6043,9 @@ msgid "" "that you should have your last line with the type 'Balance' to ensure that " "the whole amount will be treated." msgstr "" +"Selezionare qui il tipo di riga del pagamento. Notare che l'ultima riga " +"dovrebbe essere di tipo 'Saldo' per assicurarsi che l'intero importo sia " +"saldato." #. module: account #: field:account.partner.ledger,initial_balance:0 @@ -6327,7 +6390,7 @@ msgstr "Totale debito" #: model:account.account.type,name:account.data_account_type_income #: model:account.financial.report,name:account.account_financial_report_income0 msgid "Income" -msgstr "Entrata" +msgstr "Ricavi" #. module: account #: selection:account.bank.statement.line,type:0 @@ -6497,7 +6560,7 @@ msgstr "" #. module: account #: field:account.journal,loss_account_id:0 msgid "Loss Account" -msgstr "" +msgstr "Conto Perdite" #. module: account #: field:account.tax,account_collected_id:0 @@ -6569,7 +6632,7 @@ msgstr "Note di Credito" #. module: account #: field:account.account,foreign_balance:0 msgid "Foreign Balance" -msgstr "Salso valuta estera" +msgstr "Saldo valuta estera" #. module: account #: field:account.journal.period,name:0 @@ -6988,6 +7051,8 @@ msgid "" "There is no opening/closing period defined, please create one to set the " "initial balance." msgstr "" +"Non ci sono periodi di apertura/chiusura definiti, crearne uno per impostare " +"il saldo iniziale." #. module: account #: help:account.tax.template,sequence:0 @@ -7208,7 +7273,7 @@ msgstr "Nome Modello" #. module: account #: field:account.chart.template,property_account_expense_categ:0 msgid "Expense Category Account" -msgstr "Conto categoria spesa" +msgstr "Conto Categoria Costi" #. module: account #: sql_constraint:account.tax:0 @@ -7258,7 +7323,7 @@ msgstr "" #: code:addons/account/account.py:189 #, python-format msgid "Balance Sheet (Asset account)" -msgstr "Bilancio (Conti Patrimoniali)" +msgstr "Stato Patrimoniale (Attività)" #. module: account #: model:process.node,note:account.process_node_draftstatement0 @@ -7333,7 +7398,7 @@ msgstr "Crea registrazione" #: code:addons/account/account.py:188 #, python-format msgid "Profit & Loss (Expense account)" -msgstr "Utili & Perdite (Conti Attivi)" +msgstr "Conto Economico" #. module: account #: field:account.bank.statement,total_entry_encoding:0 @@ -7666,6 +7731,11 @@ msgid "" "Make sure you have configured payment terms properly.\n" "The latest payment term line should be of the \"Balance\" type." msgstr "" +"Non è possibile validare una voce senza saldo.\n" +"Assicurarsi che siano stati configurati correttamente i termini di " +"pagamento.\n" +"L'ultima riga della condizione di pagamento dovrebbe essere di tipo " +"\"Saldo\"." #. module: account #: model:process.transition,note:account.process_transition_invoicemanually0 @@ -8107,7 +8177,7 @@ msgstr "Pro-Forma" #: view:account.move.line:0 #: selection:account.move.line,state:0 msgid "Unbalanced" -msgstr "Squadrato" +msgstr "Zoppe" #. module: account #: selection:account.move.line,centralisation:0 @@ -8262,8 +8332,8 @@ msgstr "Cancella lefatture scelte" msgid "" "This field is used to generate legal reports: profit and loss, balance sheet." msgstr "" -"Questo campo è utilizzato per la generazione di scritture legali: Utili e " -"Perdite, Bilancio." +"Questo campo è utilizzato per la generazione di scritture legali: Conto " +"economico, Stato patrimoniale." #. module: account #: selection:account.entries.report,month:0 @@ -8447,7 +8517,7 @@ msgstr "Mastro" #: code:addons/account/account_cash_statement.py:292 #, python-format msgid "Profit" -msgstr "" +msgstr "Utile" #. module: account #: help:account.payment.term.line,days2:0 @@ -8844,7 +8914,7 @@ msgstr "" #. module: account #: field:account.chart.template,property_account_income_categ:0 msgid "Income Category Account" -msgstr "Income Category Account" +msgstr "Conto Categoria Ricavi" #. module: account #: field:account.account,adjusted_balance:0 @@ -8885,6 +8955,8 @@ msgid "" "Error: The default Unit of Measure and the purchase Unit of Measure must be " "in the same category." msgstr "" +"Errore: L'unità di misura di default e l'unità di misura di acquisto devono " +"essere nella stessa categoria." #. module: account #: report:account.invoice:0 @@ -9831,7 +9903,7 @@ msgstr "Documento: Scheda Conto Cliente" #. module: account #: field:account.account.type,report_type:0 msgid "P&L / BS Category" -msgstr "Categoria Utili & Perdite / Bilancio" +msgstr "Categoria CE / SP" #. module: account #: view:account.account.template:0 @@ -10314,7 +10386,7 @@ msgstr "Dalla contabilità analitica" #. module: account #: view:account.installer:0 msgid "Configure your Fiscal Year" -msgstr "" +msgstr "Configura l'Anno Fiscale" #. module: account #: field:account.period,name:0 @@ -10328,6 +10400,8 @@ msgid "" "Selected invoice(s) cannot be cancelled as they are already in 'Cancelled' " "or 'Done' state." msgstr "" +"La/e fattura/e selezionate non possono essere eliminate perché sono già in " +"stato 'Annullato' o 'Completato'." #. module: account #: report:account.analytic.account.quantity_cost_ledger:0 @@ -10436,7 +10510,7 @@ msgstr "Avere" #. module: account #: view:account.invoice:0 msgid "Draft Invoice " -msgstr "" +msgstr "Bozza Fattura " #. module: account #: selection:account.invoice.refund,filter_refund:0 @@ -10726,6 +10800,8 @@ msgstr "Stato" #: help:product.template,property_account_income:0 msgid "This account will be used to value outgoing stock using sale price." msgstr "" +"Questo conto sarà utilizzato per valutare gli stock in uscita usando il " +"prezzo di vendita." #. module: account #: field:account.invoice,check_total:0 @@ -11022,7 +11098,7 @@ msgstr "Conti di credito" #: code:addons/account/account_move_line.py:762 #, python-format msgid "Already reconciled." -msgstr "" +msgstr "Già riconciliato." #. module: account #: selection:account.model.line,date_maturity:0 @@ -11099,6 +11175,7 @@ msgstr "Raggruppa per mese Data Fattura" #, python-format msgid "There is no income account defined for this product: \"%s\" (id:%d)." msgstr "" +"Non c'è un conto di ricavo definito per questo prodotto: \"%s\" (id:%d)." #. module: account #: model:ir.actions.act_window,name:account.action_aged_receivable_graph @@ -11162,6 +11239,8 @@ msgid "" "The selected unit of measure is not compatible with the unit of measure of " "the product." msgstr "" +"L'unità di misura selezionata non è compatibile con l'unita di misura del " +"prodotto." #. module: account #: view:account.fiscal.position:0 @@ -11203,7 +11282,7 @@ msgstr "Il conto di ricavo o di costo riguardante il prodotto selezionato." #. module: account #: view:account.config.settings:0 msgid "Install more chart templates" -msgstr "" +msgstr "Installa altri piani dei conti" #. module: account #: report:account.general.journal:0 @@ -11252,6 +11331,8 @@ msgid "" "You cannot remove/deactivate an account which is set on a customer or " "supplier." msgstr "" +"Non è possibile eliminare/disattivare un conto che è impostato in un cliente " +"o un fornitore." #. module: account #: model:ir.model,name:account.model_validate_account_move_lines @@ -11263,6 +11344,7 @@ msgstr "Conferma Movimenti Contabili" msgid "" "The fiscal position will determine taxes and accounts used for the partner." msgstr "" +"La posizione fiscale determina le imposte e i conti usati per il partner." #. module: account #: model:process.node,note:account.process_node_supplierpaidinvoice0 @@ -11278,7 +11360,7 @@ msgstr "" #. module: account #: model:account.journal.view,name:account.account_sp_journal_view msgid "Sale/Purchase Journal View" -msgstr "" +msgstr "Vista Sezionale Vendite/Acquisti" #. module: account #: view:account.account.template:0 @@ -11295,6 +11377,8 @@ msgstr "Imposte fattura manuali" #, python-format msgid "The payment term of supplier does not have a payment term line." msgstr "" +"La condizione di pagamento del fornitore è senza righe con termini di " +"pagamento." #. module: account #: field:account.account,parent_right:0 @@ -11307,7 +11391,7 @@ msgstr "Conto Padre a destra" #: code:addons/account/static/src/js/account_move_reconciliation.js:79 #, python-format msgid "Never" -msgstr "" +msgstr "Mai" #. module: account #: model:ir.model,name:account.model_account_addtmpl_wizard @@ -11328,7 +11412,7 @@ msgstr "Del partner" #. module: account #: field:account.account,note:0 msgid "Internal Notes" -msgstr "" +msgstr "Note Interne" #. module: account #: model:ir.actions.act_window,name:account.action_account_fiscalyear_form @@ -11361,7 +11445,7 @@ msgstr "Modello di conto" #: code:addons/account/account_cash_statement.py:292 #, python-format msgid "Loss" -msgstr "" +msgstr "Perdita" #. module: account #: selection:account.entries.report,month:0 @@ -11455,7 +11539,7 @@ msgstr "" #. module: account #: selection:account.config.settings,tax_calculation_rounding_method:0 msgid "Round per line" -msgstr "" +msgstr "Arrotonda per riga" #. module: account #: help:account.move.line,amount_residual_currency:0 diff --git a/addons/account/i18n/lt.po b/addons/account/i18n/lt.po index 9671fce77c3..6552391bd16 100644 --- a/addons/account/i18n/lt.po +++ b/addons/account/i18n/lt.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-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-05-10 17:52+0000\n" -"Last-Translator: Raphael Collet (OpenERP) \n" +"PO-Revision-Date: 2012-11-29 13:22+0000\n" +"Last-Translator: Andrius Preimantas \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: 2012-11-25 05:56+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-30 05:07+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account #: model:process.transition,name:account.process_transition_supplierreconcilepaid0 @@ -1750,7 +1750,7 @@ msgstr "Kreditorių sąskaita" #: field:account.tax,account_paid_id:0 #: field:account.tax.template,account_paid_id:0 msgid "Refund Tax Account" -msgstr "Grąžintino mokesčio sąskaita" +msgstr "Grąžinimų mokesčio sąskaita" #. module: account #: model:ir.model,name:account.model_ir_sequence @@ -5832,7 +5832,7 @@ msgstr "" #: field:account.bank.statement.line,name:0 #: field:account.invoice,reference:0 msgid "Communication" -msgstr "" +msgstr "Komunikacija" #. module: account #: view:account.config.settings:0 @@ -6356,7 +6356,7 @@ msgstr "" #: field:account.tax,account_collected_id:0 #: field:account.tax.template,account_collected_id:0 msgid "Invoice Tax Account" -msgstr "Mokėtino mokesčio sąskaita" +msgstr "Sąsk. fakt. mokesčių sąskaitą" #. module: account #: model:ir.actions.act_window,name:account.action_account_general_journal diff --git a/addons/account/i18n/nb.po b/addons/account/i18n/nb.po index 73b1e82e244..0a8b6e23ad5 100644 --- a/addons/account/i18n/nb.po +++ b/addons/account/i18n/nb.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-11-27 20:06+0000\n" +"PO-Revision-Date: 2012-11-28 13:31+0000\n" "Last-Translator: Kaare Pettersen \n" "Language-Team: Norwegian Bokmal \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-28 04:40+0000\n" -"X-Generator: Launchpad (build 16309)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:14+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account #: model:process.transition,name:account.process_transition_supplierreconcilepaid0 @@ -5220,7 +5220,7 @@ msgstr "Fakturaer" #. module: account #: help:account.config.settings,expects_chart_of_accounts:0 msgid "Check this box if this company is a legal entity." -msgstr "" +msgstr "Kryss av denne boksen hvis dette selskapet er en juridisk enhet." #. module: account #: model:account.account.type,name:account.conf_account_type_chk @@ -5453,7 +5453,7 @@ msgstr "" #. module: account #: model:res.groups,name:account.group_account_manager msgid "Financial Manager" -msgstr "" +msgstr "Finansiell ledelse." #. module: account #: field:account.journal,group_invoice_lines:0 @@ -5469,7 +5469,7 @@ msgstr "Bevegelser" #: field:account.bank.statement,details_ids:0 #: view:account.journal:0 msgid "CashBox Lines" -msgstr "" +msgstr "Kontontboks linjer." #. module: account #: model:ir.model,name:account.model_account_vat_declaration @@ -5515,6 +5515,8 @@ msgid "" "There is no period defined for this date: %s.\n" "Please create one." msgstr "" +"Det er ingen periode definert for denne datoen:% s.\n" +"Vennligst opprette en." #. module: account #: help:account.tax,price_include:0 @@ -5616,7 +5618,7 @@ msgstr "" #: code:addons/account/account_invoice.py:1326 #, python-format msgid "%s paid." -msgstr "" +msgstr "%s Betalt." #. module: account #: view:account.financial.report:0 @@ -5759,7 +5761,7 @@ msgstr "Beregningskode (dersom type=kode)" #, python-format msgid "" "Cannot find a chart of accounts for this company, you should create one." -msgstr "" +msgstr "Kan ikke finne en kontoplan for dette selskapet, du bør opprette en." #. module: account #: selection:account.analytic.journal,type:0 @@ -5894,7 +5896,7 @@ msgstr "Inkludert i basisbeløpet" #. module: account #: field:account.invoice,supplier_invoice_number:0 msgid "Supplier Invoice Number" -msgstr "" +msgstr "Leverandør faktura nummer." #. module: account #: help:account.payment.term.line,days:0 @@ -5915,6 +5917,8 @@ msgstr "Beregning" #, python-format msgid "You can not add/modify entries in a closed period %s of journal %s." msgstr "" +"Du kan ikke legge til / endre oppføringer i en lukket periode% s av " +"tidsskriftet% s." #. module: account #: view:account.journal:0 @@ -5939,7 +5943,7 @@ msgstr "Periodestart" #. module: account #: model:account.account.type,name:account.account_type_asset_view1 msgid "Asset View" -msgstr "" +msgstr "Eiendel Vis." #. module: account #: model:ir.model,name:account.model_account_common_account_report @@ -6012,12 +6016,12 @@ msgstr "Årsavslutningsjournal" #. module: account #: view:account.invoice:0 msgid "Draft Refund " -msgstr "" +msgstr "Utkast refusjon. " #. module: account #: view:cash.box.in:0 msgid "Fill in this form if you put money in the cash register:" -msgstr "" +msgstr "Fyll ut dette skjemaet hvis du setter penger i kasse apparatet:" #. module: account #: field:account.payment.term.line,value_amount:0 @@ -6094,7 +6098,7 @@ msgstr "Kundefakturaer og kreditnotaer" #: code:addons/account/wizard/account_move_journal.py:161 #, python-format msgid "This period is already closed." -msgstr "" +msgstr "Denne perioden er allerede lukket." #. module: account #: field:account.analytic.line,amount_currency:0 @@ -6107,7 +6111,7 @@ msgstr "Valutabeløp" #. module: account #: selection:res.company,tax_calculation_rounding_method:0 msgid "Round per Line" -msgstr "" +msgstr "Runde per. linje." #. module: account #: model:ir.actions.act_window,name:account.action_view_move_line @@ -6168,7 +6172,7 @@ msgstr "" #: code:addons/account/wizard/account_report_aged_partner_balance.py:56 #, python-format msgid "You must set a period length greater than 0." -msgstr "" +msgstr "Du må angi en periode lengde større enn 0." #. module: account #: view:account.fiscal.position.template:0 @@ -6179,7 +6183,7 @@ msgstr "Regnskapsstatus Mal" #. module: account #: view:account.invoice:0 msgid "Draft Refund" -msgstr "" +msgstr "Utkast refusjon." #. module: account #: view:account.analytic.chart:0 @@ -6216,7 +6220,7 @@ msgstr "Avstem med nedskriving" #. module: account #: constraint:account.move.line:0 msgid "You cannot create journal items on an account of type view." -msgstr "" +msgstr "Du kan ikke opprette journal elementer på en konto av typen visning." #. module: account #: selection:account.payment.term.line,value:0 @@ -6291,7 +6295,7 @@ msgstr "Flytt navn (id): %s (%s)" #. module: account #: view:account.move.journal:0 msgid "Standard Entries" -msgstr "" +msgstr "Standard oppføringer." #. module: account #: view:account.move.line.reconcile:0 @@ -6364,7 +6368,7 @@ msgstr "Avgiftskartlegging" #. module: account #: view:account.config.settings:0 msgid "Select Company" -msgstr "" +msgstr "Velg Firma." #. module: account #: model:ir.actions.act_window,name:account.action_account_state_open @@ -6438,7 +6442,7 @@ msgstr "Antall linjer" #. module: account #: view:account.invoice:0 msgid "(update)" -msgstr "" +msgstr "(Oppdatering)" #. module: account #: field:account.aged.trial.balance,filter:0 @@ -6480,7 +6484,7 @@ msgstr "" #. module: account #: field:account.journal,loss_account_id:0 msgid "Loss Account" -msgstr "" +msgstr "Tap konto." #. module: account #: field:account.tax,account_collected_id:0 @@ -6742,7 +6746,7 @@ msgstr "" #. module: account #: view:account.config.settings:0 msgid "Bank & Cash" -msgstr "" +msgstr "Bank og kontant." #. module: account #: help:account.fiscalyear.close.state,fy_id:0 @@ -6828,7 +6832,7 @@ msgstr "Fordring" #. module: account #: constraint:account.move.line:0 msgid "You cannot create journal items on closed account." -msgstr "" +msgstr "Du kan ikke opprette journal enmer i en lukker konto." #. module: account #: code:addons/account/account_invoice.py:594 diff --git a/addons/account/i18n/nl.po b/addons/account/i18n/nl.po index 51633c9e660..f2249ff3e2f 100644 --- a/addons/account/i18n/nl.po +++ b/addons/account/i18n/nl.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-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-11-25 13:43+0000\n" -"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" +"PO-Revision-Date: 2012-12-01 16:00+0000\n" +"Last-Translator: Thomas Pot (Open2bizz) \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: 2012-11-26 04:41+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-02 04:37+0000\n" +"X-Generator: Launchpad (build 16319)\n" #, python-format #~ msgid "Integrity Error !" @@ -114,6 +114,7 @@ msgid "" "Error!\n" "You cannot create recursive account templates." msgstr "" +"Fout! Het is niet toegestaan on een recursief grootboekschema aan te maken." #. module: account #. openerp-web @@ -155,6 +156,19 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Klik om de zichtbare kolommen van een dagboek te " +"specificeren.\n" +"

\n" +" Dagboekweergaves bepalen de manier waarop boekingen \n" +" ingevoerd kunnen worden. Selecteer de velden welke zichtbaar " +"\n" +" moeten zijn en bepaald de volgorde daarvan.\n" +"

\n" +" In de dagboekinstellingen kan bepaald worden welke gegevens\n" +" zichtbaar zijn bij boekingen in het betreffende dagboek.\n" +"

\n" +" " #. module: account #: help:account.payment.term,active:0 @@ -205,6 +219,8 @@ msgid "" "which is set after generating opening entries from 'Generate Opening " "Entries'." msgstr "" +"U dient het 'Jaarafsluiting dagboek' te definiëren voor het fiscale jaar, " +"nadat u een openingsbalans heeft gemaakt" #. module: account #: field:account.fiscal.position.account,account_src_id:0 @@ -223,6 +239,15 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" klik hier om een fiscale periode toe te voegen.\n" +"

\n" +" Een fiscale periode is vaak een maand of een kwartaal. " +"Normaal\n" +" zal dit gelijk zijn met de periode van uw Belasting " +"aangifte.\n" +"

\n" +" " #. module: account #: model:ir.actions.act_window,name:account.action_view_created_invoice_dashboard @@ -243,7 +268,7 @@ msgstr "Dagboek: %s" #. module: account #: help:account.config.settings,code_digits:0 msgid "No. of digits to use for account code" -msgstr "" +msgstr "Aantal cijfers voor de rekening code" #. module: account #: help:account.analytic.journal,type:0 @@ -263,6 +288,9 @@ msgid "" "lines for invoices. Leave empty if you don't want to use an analytic account " "on the invoice tax lines by default." msgstr "" +"Geef de kostenplaats welke standaard gebruikt moet worden bij BTW factuur " +"regels. Als u dit veld niet invuld, wordt er standaard geen kostenplaats " +"gebruikt." #. module: account #: model:ir.actions.act_window,name:account.action_account_tax_template_form @@ -298,7 +326,7 @@ msgstr "Belgische overzichten" #. module: account #: model:account.account.type,name:account.account_type_income_view1 msgid "Income View" -msgstr "" +msgstr "View opbrengsten" #. module: account #: help:account.account,user_type:0 @@ -314,7 +342,7 @@ msgstr "" #. module: account #: field:account.config.settings,sale_refund_sequence_next:0 msgid "Next credit note number" -msgstr "" +msgstr "Volgend nummer creditnota" #. module: account #: help:account.config.settings,module_account_voucher:0 @@ -323,6 +351,10 @@ msgid "" "sales, purchase, expense, contra, etc.\n" " This installs the module account_voucher." msgstr "" +"Deze module bevat alle voorzieningen voor registratie van " +"(bank)afschriften.\n" +" " +"hiermee installeert u de module 'account_voucher'" #. module: account #: model:ir.actions.act_window,name:account.action_account_use_model_create_entry @@ -361,6 +393,18 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Klik hier om een creditnota te maken. \n" +"

\n" +" Een creditnota is een factuur, waarbij u een bestaande " +"factuur volledig of gedeeltelijk \n" +" crediteert.\n" +"

\n" +" In plaats van handmatig kunt u hiermee een creditnota maken " +"\n" +" direct vanaf de originele factuur.\n" +"

\n" +" " #. module: account #: field:account.journal.column,field:0 @@ -426,12 +470,12 @@ msgstr "Juni" #: code:addons/account/wizard/account_automatic_reconcile.py:148 #, python-format msgid "You must select accounts to reconcile." -msgstr "" +msgstr "Selecteer de grootboekrekeningen die afgeletterd moeten worden." #. module: account #: help:account.config.settings,group_analytic_accounting:0 msgid "Allows you to use the analytic accounting." -msgstr "" +msgstr "stelt u in staat kostenplaatsen te gebruiken" #. module: account #: model:ir.actions.act_window,help:account.action_account_moves_bank @@ -510,6 +554,13 @@ msgid "" "this box, you will be able to do invoicing & payments,\n" " but not accounting (Journal Items, Chart of Accounts, ...)" msgstr "" +"Stelt u in staat activa te beheren voor een bedrijf/persoon.\n" +" Het registreert afschrijvingen voor activa, en creëert " +"journaalposten voor afschrijvingen.\n" +" Hiermee installeert u de module 'account_asset'. Als u " +"dit niet aanvinkt, kunt u wel facturen en betalingen\n" +" registreren, maar geen financiële administratie voeren " +"(Rekeningschema, Journaalboekingen, ....)" #. module: account #: field:account.account.template,chart_template_id:0 @@ -531,6 +582,18 @@ msgid "" "should choose 'Round per line' because you certainly want the sum of your " "tax-included line subtotals to be equal to the total amount with taxes." msgstr "" +"Als u 'afronden per regel' selecteert: voor elke BTW rekening , wordt het " +"BTW bedrag eerst berekend en afgerond voor elke factuur regel en vervolgens " +"worden deze afgeronde bedragen opgeteld, wat leidt tot het totale bedrag " +"voor deze belasting. \r\n" +"\r\n" +"Als u 'afronden globaal' selecteert: voor elke BTW rekening wordt het BTW " +"bedrag berekend voor elke factuur regel. vervolgens zullen deze bedragen " +"worden opgeteld en uiteindelijk wordt dit totale BTW bedrag afgerond. \r\n" +"\r\n" +"Als u verkoopt met BTW inbegrepen, moet u kiezen voor 'afronden per regel', " +"omdat U zeker wil zijn dat de subtotalen van \r\n" +"uw (BTW inbegrepen) regels gelijk zijn aan het totale bedrag met BTW." #. module: account #: model:ir.model,name:account.model_wizard_multi_charts_accounts @@ -600,7 +663,7 @@ msgstr "Bovenliggend doel" #. module: account #: help:account.invoice.line,sequence:0 msgid "Gives the sequence of this line when displaying the invoice." -msgstr "" +msgstr "Geeft de volgorde van de factuur regel bij het tonen van de factuur" #. module: account #: field:account.bank.statement,account_id:0 @@ -679,7 +742,7 @@ msgstr "Niets af te letteren" #. module: account #: field:account.config.settings,decimal_precision:0 msgid "Decimal precision on journal entries" -msgstr "" +msgstr "Aantal decimalen van journaalposten" #. module: account #: selection:account.config.settings,period:0 @@ -713,7 +776,7 @@ msgstr "Rapport waarde" msgid "" "Specified journal does not have any account move entries in draft state for " "this period." -msgstr "" +msgstr "Geselecteerd dagboek heeft geen 'concept'boekingen" #. module: account #: view:account.fiscal.position:0 @@ -736,12 +799,12 @@ msgstr "Hoofdvolgorde moet afwijken van de huidige !" #: code:addons/account/wizard/account_change_currency.py:70 #, python-format msgid "Current currency is not configured properly." -msgstr "" +msgstr "De huidige valuta-soort is niet juist geconfigureerd." #. module: account #: field:account.journal,profit_account_id:0 msgid "Profit Account" -msgstr "" +msgstr "Winst & Verlies rekeneing" #. module: account #: code:addons/account/account_move_line.py:1249 @@ -753,7 +816,7 @@ msgstr "" #. module: account #: model:account.journal.view,name:account.account_journal_bank_view_multi msgid "Bank/Cash Journal (Multi-Currency) View" -msgstr "" +msgstr "Bank / kas dagboek (multi-valuta) overzicht" #. module: account #: model:ir.model,name:account.model_report_account_type_sales @@ -768,12 +831,16 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Geen journaalposten gevonden.\n" +"

\n" +" " #. module: account #: code:addons/account/account.py:1606 #, python-format msgid "Cannot create move with currency different from .." -msgstr "" +msgstr "U kunt geen boeking doen met een andere valuta dan ..." #. module: account #: model:email.template,report_name:account.email_template_edi_invoice @@ -781,6 +848,8 @@ msgid "" "Invoice_${(object.number or '').replace('/','_')}_${object.state == 'draft' " "and 'draft' or ''}" msgstr "" +"Factuur_${(object.number or '').replace('/','_')}_${object.state == 'draft' " +"and 'draft' or ''}" #. module: account #: view:account.period:0 @@ -807,7 +876,7 @@ msgstr "Dagboek periode" #: constraint:account.move:0 msgid "" "You cannot create more than one move per period on a centralized journal." -msgstr "" +msgstr "U kunt niet meerdere boekingen doen bij een centraal journaal" #. module: account #: help:account.tax,account_analytic_paid_id:0 diff --git a/addons/account/i18n/tr.po b/addons/account/i18n/tr.po index 75451590c75..815a410ff73 100644 --- a/addons/account/i18n/tr.po +++ b/addons/account/i18n/tr.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-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-05-10 17:57+0000\n" -"Last-Translator: Raphael Collet (OpenERP) \n" +"PO-Revision-Date: 2012-12-01 21:27+0000\n" +"Last-Translator: Ayhan KIZILTAN \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: 2012-11-25 05:59+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-02 04:38+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account #: model:process.transition,name:account.process_transition_supplierreconcilepaid0 @@ -26,6 +26,7 @@ msgstr "Sistem ödemesi" msgid "" "An account fiscal position could be defined only once time on same accounts." msgstr "" +"Bir hesabın mali durumu aynı hesapüzerinde yalnız bir kez tanımlanabilir." #. module: account #: view:account.unreconcile:0 @@ -85,7 +86,7 @@ msgstr "Fatura ya da ödemeden içeaktar" #: code:addons/account/account_move_line.py:1303 #, python-format msgid "Bad Account!" -msgstr "" +msgstr "Hatalı Hesap!" #. module: account #: view:account.move:0 @@ -107,6 +108,8 @@ msgid "" "Error!\n" "You cannot create recursive account templates." msgstr "" +"Hata!\n" +"Yinelemeli hesap şablonları oluşturamazsınız." #. module: account #. openerp-web diff --git a/addons/account/i18n/zh_CN.po b/addons/account/i18n/zh_CN.po index 55d61f5c611..d153a47caea 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-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-11-01 08:44+0000\n" +"PO-Revision-Date: 2012-11-30 17:32+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: 2012-11-25 06:01+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-01 05:08+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account #: model:process.transition,name:account.process_transition_supplierreconcilepaid0 @@ -83,7 +83,7 @@ msgstr "从发票或付款单导入" #: code:addons/account/account_move_line.py:1303 #, python-format msgid "Bad Account!" -msgstr "" +msgstr "坏账" #. module: account #: view:account.move:0 @@ -246,7 +246,7 @@ msgid "" "Set the analytic account that will be used by default on the invoice tax " "lines for invoices. Leave empty if you don't want to use an analytic account " "on the invoice tax lines by default." -msgstr "" +msgstr "设置辅助核算项,用于退款时发票上默认项目。如果默认不要在发票的税上 使用辅助核算项,留空。" #. module: account #: model:ir.actions.act_window,name:account.action_account_tax_template_form @@ -282,7 +282,7 @@ msgstr "比利时报表" #. module: account #: model:account.account.type,name:account.account_type_income_view1 msgid "Income View" -msgstr "" +msgstr "收入视图" #. module: account #: help:account.account,user_type:0 @@ -363,7 +363,7 @@ msgstr "科目反核销" #. module: account #: field:account.config.settings,module_account_budget:0 msgid "Budget management" -msgstr "" +msgstr "预算管理" #. module: account #: view:product.template:0 @@ -381,7 +381,7 @@ msgstr "这里可以设置你想要记录显示格式.如果保留自动,它将 #. module: account #: field:account.config.settings,group_multi_currency:0 msgid "Allow multi currencies" -msgstr "" +msgstr "允许多种货币" #. module: account #: code:addons/account/account_invoice.py:73 @@ -402,12 +402,12 @@ msgstr "6" #: code:addons/account/wizard/account_automatic_reconcile.py:148 #, python-format msgid "You must select accounts to reconcile." -msgstr "" +msgstr "你必须选择要核销的账簿 。" #. module: account #: help:account.config.settings,group_analytic_accounting:0 msgid "Allows you to use the analytic accounting." -msgstr "" +msgstr "允许使用辅助核算" #. module: account #: model:ir.actions.act_window,help:account.action_account_moves_bank @@ -423,7 +423,7 @@ msgstr "本视图供财务人员在系统中录入单据。如果您在系统里 #: view:account.invoice.report:0 #: field:account.invoice.report,user_id:0 msgid "Salesperson" -msgstr "" +msgstr "销售员" #. module: account #: model:ir.model,name:account.model_account_tax_template @@ -517,7 +517,7 @@ msgstr "备选币种所示金额" #. module: account #: view:account.journal:0 msgid "Available Coins" -msgstr "" +msgstr "有效的硬币" #. module: account #: field:accounting.report,enable_filter:0 @@ -646,7 +646,7 @@ msgstr "财务人员确认的报表" #: code:addons/account/static/src/xml/account_move_reconciliation.xml:31 #, python-format msgid "Nothing to reconcile" -msgstr "" +msgstr "没有什么被核销" #. module: account #: field:account.config.settings,decimal_precision:0 @@ -683,7 +683,7 @@ msgstr "报表数值" msgid "" "Specified journal does not have any account move entries in draft state for " "this period." -msgstr "" +msgstr "这个期间内,指定的分类账没有任何会计凭证分录在草稿状态。" #. module: account #: view:account.fiscal.position:0 @@ -706,12 +706,12 @@ msgstr "序列号必须唯一" #: code:addons/account/wizard/account_change_currency.py:70 #, python-format msgid "Current currency is not configured properly." -msgstr "" +msgstr "当前的币种配置不正确。" #. module: account #: field:account.journal,profit_account_id:0 msgid "Profit Account" -msgstr "" +msgstr "利润科目" #. module: account #: code:addons/account/account_move_line.py:1249 @@ -722,7 +722,7 @@ msgstr "根据输入的凭证日期没有找到期间或找到了多个期间" #. module: account #: model:account.journal.view,name:account.account_journal_bank_view_multi msgid "Bank/Cash Journal (Multi-Currency) View" -msgstr "" +msgstr "银行/现金分类账(多币种)视图" #. module: account #: model:ir.model,name:account.model_report_account_type_sales @@ -742,7 +742,7 @@ msgstr "" #: code:addons/account/account.py:1606 #, python-format msgid "Cannot create move with currency different from .." -msgstr "" +msgstr "不能不同币种的凭证" #. module: account #: model:email.template,report_name:account.email_template_edi_invoice @@ -750,6 +750,8 @@ msgid "" "Invoice_${(object.number or '').replace('/','_')}_${object.state == 'draft' " "and 'draft' or ''}" msgstr "" +"Invoice_${(object.number or '').replace('/','_')}_${object.state == 'draft' " +"and '草稿' or ''}" #. module: account #: view:account.period:0 @@ -784,7 +786,7 @@ msgid "" "Set the analytic account that will be used by default on the invoice tax " "lines for refunds. Leave empty if you don't want to use an analytic account " "on the invoice tax lines by default." -msgstr "" +msgstr "设置辅助核算项,用于退款时发票上默认税科目。如果默认不要在发票的税上 使用辅助核算项,留空。" #. module: account #: view:account.account:0 @@ -800,7 +802,7 @@ msgstr "应收款科目" #. module: account #: view:account.config.settings:0 msgid "Configure your company bank accounts" -msgstr "" +msgstr "配置你公司银行账户" #. module: account #: constraint:account.move.line:0 @@ -835,7 +837,7 @@ msgstr "打印发票" msgid "" "Cannot %s invoice which is already reconciled, invoice should be " "unreconciled first. You can only refund this invoice." -msgstr "" +msgstr "不能 %s 已经核销的发票, 发票必须被首先反核销.。只能退还这张发票。" #. module: account #: selection:account.financial.report,display_detail:0 @@ -911,7 +913,7 @@ msgstr "供应商发票和退款" #: code:addons/account/account_move_line.py:833 #, python-format msgid "Entry is already reconciled." -msgstr "" +msgstr "分录已经核销。" #. module: account #: view:account.move.line.unreconcile.select:0 @@ -934,7 +936,7 @@ msgstr "辅助核算账簿" #. module: account #: view:account.invoice:0 msgid "Send by Email" -msgstr "" +msgstr "以邮件发送" #. module: account #: help:account.central.journal,amount_currency:0 @@ -944,7 +946,7 @@ msgstr "" msgid "" "Print Report with the currency column if the currency differs from the " "company currency." -msgstr "" +msgstr "如果币种跟公司本位币不同,带币种打印报表。" #. module: account #: report:account.analytic.account.quantity_cost_ledger:0 @@ -954,12 +956,12 @@ msgstr "J.C.(成本)凭证名称" #. module: account #: view:account.account:0 msgid "Account Code and Name" -msgstr "" +msgstr "科目代码和名称" #. module: account #: model:mail.message.subtype,name:account.mt_invoice_new msgid "created" -msgstr "" +msgstr "已创建" #. module: account #: selection:account.entries.report,month:0 @@ -1022,7 +1024,7 @@ msgstr "到期" #. module: account #: field:account.config.settings,purchase_journal_id:0 msgid "Purchase journal" -msgstr "" +msgstr "采购分类账" #. module: account #: code:addons/account/account.py:1374 @@ -1030,7 +1032,7 @@ msgstr "" msgid "" "You cannot validate this journal entry because account \"%s\" does not " "belong to chart of accounts \"%s\"." -msgstr "" +msgstr "你不能核准这个分类账分录,因为科目 \"%s\" 不属于科目表 \"%s\"." #. module: account #: view:validate.account.move:0 @@ -1048,7 +1050,7 @@ msgstr "总金额" #. module: account #: help:account.invoice,supplier_invoice_number:0 msgid "The reference of this invoice as provided by the supplier." -msgstr "" +msgstr "这个发票的编号由供应商提供。" #. module: account #: selection:account.account,type:0 @@ -1133,7 +1135,7 @@ msgstr "编码" #. module: account #: view:account.config.settings:0 msgid "Features" -msgstr "" +msgstr "特性" #. module: account #: code:addons/account/account.py:2323 @@ -1178,7 +1180,7 @@ msgstr "科目名称" #. module: account #: field:account.journal,with_last_closing_balance:0 msgid "Opening With Last Closing Balance" -msgstr "" +msgstr "用末期的期终余额打开" #. module: account #: view:account.state.open:0 @@ -1218,12 +1220,12 @@ msgstr "根据您国家定义这些类型,该类型包含有关科目及其具 #. module: account #: view:account.invoice:0 msgid "Refund " -msgstr "" +msgstr "退款 " #. module: account #: help:account.config.settings,company_footer:0 msgid "Bank accounts as printed in the footer of each printed document" -msgstr "" +msgstr "银行帐号被打印在每个输出单据的页脚。" #. module: account #: view:account.tax:0 @@ -1245,7 +1247,7 @@ msgstr "现金记录" #. module: account #: field:account.config.settings,sale_refund_journal_id:0 msgid "Sale refund journal" -msgstr "" +msgstr "销售退货分类账" #. module: account #: model:ir.actions.act_window,help:account.action_view_bank_statement_tree @@ -1281,7 +1283,7 @@ msgstr "会计期间开始于" #. module: account #: view:account.tax:0 msgid "Refunds" -msgstr "" +msgstr "退款" #. module: account #: model:process.transition,name:account.process_transition_confirmstatementfromdraft0 @@ -1349,7 +1351,7 @@ msgstr "兑出汇率" #. module: account #: field:account.config.settings,chart_template_id:0 msgid "Template" -msgstr "" +msgstr "模版" #. module: account #: selection:account.analytic.journal,type:0 @@ -1361,7 +1363,7 @@ msgstr "状况" msgid "" "Set the account that will be set by default on invoice tax lines for " "refunds. Leave empty to use the expense account." -msgstr "" +msgstr "设置科目,用于退款时发票上默认税科目。留空使用费用科目。" #. module: account #: field:account.move.line.reconcile,trans_nbr:0 @@ -1519,12 +1521,12 @@ msgstr "报表选项" #. module: account #: field:account.fiscalyear.close.state,fy_id:0 msgid "Fiscal Year to Close" -msgstr "" +msgstr "财政年度结束" #. module: account #: field:account.config.settings,sale_sequence_prefix:0 msgid "Invoice sequence" -msgstr "" +msgstr "发票序列" #. module: account #: model:ir.model,name:account.model_account_entries_report @@ -1543,11 +1545,13 @@ msgid "" "And after getting confirmation from the bank it will be in 'Confirmed' " "status." msgstr "" +"当新的对账单被创建,状态是“草稿”。\n" +"从银行确认后,是“已经确认状态”。" #. module: account #: field:account.invoice.report,state:0 msgid "Invoice Status" -msgstr "" +msgstr "发票状态" #. module: account #: view:account.invoice.report:0 @@ -1579,7 +1583,7 @@ msgstr "余额不为0" msgid "" "There is no default debit account defined \n" "on journal \"%s\"." -msgstr "" +msgstr "在分类账 \"%s\" 没有默认借方科目定义。" #. module: account #: view:account.tax:0 @@ -1614,6 +1618,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 @@ -1632,7 +1638,7 @@ msgstr "如果是手工分录的话就跳过“草稿”状态" #: code:addons/account/wizard/account_report_common.py:159 #, python-format msgid "Not implemented." -msgstr "" +msgstr "未执行。" #. module: account #: view:account.invoice.refund:0 @@ -1642,7 +1648,7 @@ msgstr "冲销发票" #. module: account #: view:account.config.settings:0 msgid "eInvoicing & Payments" -msgstr "" +msgstr "电子发票和支付" #. module: account #: view:account.analytic.cost.ledger.journal.report:0 @@ -1675,7 +1681,7 @@ msgstr "供应商红字发票" #. module: account #: field:account.config.settings,company_footer:0 msgid "Bank accounts footer preview" -msgstr "" +msgstr "银行帐号页脚预览" #. module: account #: selection:account.account,type:0 @@ -1722,7 +1728,7 @@ msgstr "未完税" #. module: account #: view:account.journal:0 msgid "Advanced Settings" -msgstr "" +msgstr "高级选项" #. module: account #: view:account.bank.statement:0 @@ -1821,7 +1827,7 @@ msgstr "会计年度序列" #. module: account #: field:account.config.settings,group_analytic_accounting:0 msgid "Analytic accounting" -msgstr "" +msgstr "辅助核算" #. module: account #: report:account.overdue:0 @@ -1864,13 +1870,13 @@ msgstr "未确定业务伙伴" msgid "" "The journal must have centralized counterpart without the Skipping draft " "state option checked." -msgstr "" +msgstr "这个分类账簿的“合并对方科目”必须被选中,“跳过草稿状态”不能选中。" #. module: account #: code:addons/account/account_move_line.py:836 #, python-format msgid "Some entries are already reconciled." -msgstr "" +msgstr "有些分录已经被核销。" #. module: account #: model:email.template,body_html:account.email_template_edi_invoice @@ -1991,7 +1997,7 @@ msgstr "该向导将改变发票的币种" msgid "" "Select a configuration package to setup automatically your\n" " taxes and chart of accounts." -msgstr "" +msgstr "选择一个配置包来自动化安装你的税和科目表" #. module: account #: view:account.analytic.account:0 @@ -2006,7 +2012,7 @@ msgstr "" #. module: account #: model:account.journal.view,name:account.account_journal_bank_view msgid "Bank/Cash Journal View" -msgstr "" +msgstr "银行/现金 分类账视图" #. module: account #: report:account.journal.period.print.sale.purchase:0 @@ -2034,18 +2040,18 @@ msgstr "应收&应付" #. module: account #: field:account.config.settings,module_account_payment:0 msgid "Manage payment orders" -msgstr "" +msgstr "管理付款单" #. module: account #: view:account.period:0 msgid "Duration" -msgstr "" +msgstr "持续时间" #. module: account #: view:account.bank.statement:0 #: field:account.bank.statement,last_closing_balance:0 msgid "Last Closing Balance" -msgstr "" +msgstr "期终余额" #. module: account #: model:ir.model,name:account.model_account_common_journal_report @@ -2083,7 +2089,7 @@ msgstr "客户关联:" #: help:account.tax.template,ref_tax_code_id:0 #: help:account.tax.template,tax_code_id:0 msgid "Use this code for the tax declaration." -msgstr "" +msgstr "用这个代码做纳税申报" #. module: account #: help:account.period,special:0 @@ -2098,7 +2104,7 @@ msgstr "银行单据草稿" #. module: account #: field:account.config.settings,module_account_check_writing:0 msgid "Pay your suppliers by check" -msgstr "" +msgstr "用支票支付你的供应商" #. module: account #: field:account.move.line.reconcile,credit:0 @@ -2109,7 +2115,7 @@ msgstr "贷方金额" #: field:account.bank.statement,message_ids:0 #: field:account.invoice,message_ids:0 msgid "Messages" -msgstr "" +msgstr "消息" #. module: account #: view:account.vat.declaration:0 @@ -2121,6 +2127,9 @@ msgid "" "useful because it enables you to preview at any time the tax that you owe at " "the start and end of the month or quarter." msgstr "" +"这个菜单基于发票或者支付打印一个纳税申报。选择财务年度的一个或几个会计期间。\r\n" +"纳税申报需要的信息由Openerp自动从发票(或者在有些国家是付款单)生成。数据是实时更新的。\r\n" +"这非常有用,他使你任何时间可预览 在月份(或季度)的开始和结束欠了多少税。" #. module: account #: code:addons/account/account.py:408 @@ -2207,7 +2216,7 @@ msgstr "发票分析" #. module: account #: model:ir.model,name:account.model_mail_compose_message msgid "Email composition wizard" -msgstr "" +msgstr "Email撰写向导" #. module: account #: model:ir.model,name:account.model_account_period_close @@ -2253,7 +2262,7 @@ msgstr "" #. module: account #: field:account.config.settings,currency_id:0 msgid "Default company currency" -msgstr "" +msgstr "公司本位币" #. module: account #: field:account.invoice,move_id:0 @@ -2306,7 +2315,7 @@ msgstr "生效" #: field:account.bank.statement,message_follower_ids:0 #: field:account.invoice,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "关注者" #. module: account #: model:ir.actions.act_window,name:account.action_account_print_journal @@ -2327,7 +2336,7 @@ msgstr "过期的试算表" #. module: account #: view:account.fiscalyear.close.state:0 msgid "Close Fiscal Year" -msgstr "" +msgstr "关闭财政年度" #. module: account #: model:process.node,note:account.process_node_reconciliation0 @@ -2338,7 +2347,7 @@ msgstr "比较会计和支付项" #. module: account #: sql_constraint:account.fiscal.position.tax:0 msgid "A tax fiscal position could be defined only once time on same taxes." -msgstr "" +msgstr "同样的税 上面一次只能定义一个财务结构。" #. module: account #: view:account.tax:0 @@ -2350,12 +2359,12 @@ msgstr "税定义" #: view:account.config.settings:0 #: model:ir.actions.act_window,name:account.action_account_config msgid "Configure Accounting" -msgstr "" +msgstr "设置会计模块" #. module: account #: field:account.invoice.report,uom_name:0 msgid "Reference Unit of Measure" -msgstr "" +msgstr "参考计量单位" #. module: account #: help:account.journal,allow_date:0 @@ -2369,12 +2378,12 @@ msgstr "如果设为True当分录的日期不在会计周期内,将不接受 #: code:addons/account/static/src/xml/account_move_reconciliation.xml:8 #, python-format msgid "Good job!" -msgstr "" +msgstr "做得好!" #. module: account #: field:account.config.settings,module_account_asset:0 msgid "Assets management" -msgstr "" +msgstr "固定资产管理" #. module: account #: view:account.account:0 @@ -2424,7 +2433,7 @@ msgstr "斜体(小一些)" msgid "" "If you want the journal should be control at opening/closing, check this " "option" -msgstr "" +msgstr "如果你要这个分类账在开启和结账时被控制,选中此项。" #. module: account #: view:account.bank.statement:0 @@ -2459,7 +2468,7 @@ msgstr "打开分录" #. module: account #: field:account.config.settings,purchase_refund_sequence_next:0 msgid "Next supplier credit note number" -msgstr "" +msgstr "下个供应商信用记录编号" #. module: account #: field:account.automatic.reconcile,account_ids:0 @@ -2499,12 +2508,12 @@ msgstr "纳税明细表" #: code:addons/account/account_cash_statement.py:256 #, python-format msgid "You do not have rights to open this %s journal !" -msgstr "" +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 @@ -2579,7 +2588,7 @@ msgstr "RIB/IBAN 无效" #. 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 @@ -2718,7 +2727,7 @@ msgstr "财务结构" #: code:addons/account/account_move_line.py:592 #, python-format msgid "You cannot create journal items on a closed account %s %s." -msgstr "" +msgstr "你不能在关闭的科目%s %s 上面创建分类账分录。" #. module: account #: field:account.period.close,sure:0 @@ -2753,7 +2762,7 @@ msgstr "草稿状态的发票" #. module: account #: view:product.category:0 msgid "Account Properties" -msgstr "" +msgstr "科目属性" #. module: account #: view:account.partner.reconcile.process:0 @@ -2840,7 +2849,7 @@ msgstr "EXJ" #. module: account #: view:account.invoice.refund:0 msgid "Create Credit Note" -msgstr "" +msgstr "产生一张红字发票" #. module: account #: field:product.template,supplier_taxes_id:0 @@ -2888,7 +2897,7 @@ msgstr "" #: code:addons/account/wizard/account_state_open.py:37 #, python-format msgid "Invoice is already reconciled." -msgstr "" +msgstr "发票已经被核销" #. module: account #: view:account.analytic.cost.ledger.journal.report:0 @@ -2936,7 +2945,7 @@ msgstr "辅助核算项" #: field:account.config.settings,default_purchase_tax:0 #: field:account.config.settings,purchase_tax:0 msgid "Default purchase tax" -msgstr "" +msgstr "默认进项税" #. module: account #: view:account.account:0 @@ -3153,13 +3162,13 @@ msgstr "" msgid "" "Selected invoice(s) cannot be confirmed as they are not in 'Draft' or 'Pro-" "Forma' state." -msgstr "" +msgstr "选择的发票不能被确认,因为它们不是“草稿”或者“形式发票”状态" #. module: account #: code:addons/account/account.py:1114 #, python-format msgid "You should choose the periods that belong to the same company." -msgstr "" +msgstr "你要选择属于同一个公司的会计区间" #. module: account #: model:ir.actions.act_window,name:account.action_report_account_sales_tree_all @@ -3172,17 +3181,17 @@ msgstr "销售科目" #: code:addons/account/account.py:1471 #, python-format msgid "You cannot delete a posted journal entry \"%s\"." -msgstr "" +msgstr "你不能删除已经登帐的分类账分录\"%s\"." #. module: account #: view:account.invoice:0 msgid "Accounting Period" -msgstr "" +msgstr "会计期间" #. module: account #: field:account.config.settings,sale_journal_id:0 msgid "Sale journal" -msgstr "" +msgstr "销售分类帐" #. module: account #: code:addons/account/account.py:2323 @@ -3198,7 +3207,7 @@ msgstr "您必须定义这 '%s' 的辅助核算账簿!" msgid "" "This journal already contains items, therefore you cannot modify its company " "field." -msgstr "" +msgstr "这个分类账已经包含了分录,因此不能修改他的公司字段" #. module: account #: code:addons/account/account.py:408 @@ -3206,7 +3215,7 @@ msgstr "" msgid "" "You need an Opening journal with centralisation checked to set the initial " "balance." -msgstr "" +msgstr "你需要一个打开的分类账,集中设置初始余额。" #. module: account #: model:ir.actions.act_window,name:account.action_tax_code_list @@ -3275,7 +3284,7 @@ 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 @@ -3288,7 +3297,7 @@ msgstr "费用科目" #: field:account.bank.statement,message_summary:0 #: field:account.invoice,message_summary:0 msgid "Summary" -msgstr "" +msgstr "摘要" #. module: account #: help:account.invoice,period_id:0 @@ -3387,7 +3396,7 @@ msgstr "试算平衡" #: code:addons/account/account.py:430 #, python-format msgid "Unable to adapt the initial balance (negative value)." -msgstr "" +msgstr "不能适应初始余额(负数)" #. module: account #: selection:account.invoice,type:0 @@ -3406,7 +3415,7 @@ msgstr "选择会计年度" #: view:account.config.settings:0 #: view:account.installer:0 msgid "Date Range" -msgstr "" +msgstr "日期范围" #. module: account #: view:account.period:0 @@ -3454,7 +3463,7 @@ msgstr "" #: code:addons/account/account.py:2650 #, python-format msgid "There is no parent code for the template account." -msgstr "" +msgstr "模版科目没有上级代码" #. module: account #: help:account.chart.template,code_digits:0 @@ -3481,7 +3490,7 @@ msgstr "总是" #: field:account.config.settings,module_account_accountant:0 msgid "" "Full accounting features: journals, legal statements, chart of accounts, etc." -msgstr "" +msgstr "全部会计特性:分类账,税务报表,会计科目表 等等" #. module: account #: view:account.analytic.line:0 @@ -3538,12 +3547,12 @@ msgstr "电子文件" #. module: account #: constraint:res.partner:0 msgid "Error: Invalid ean code" -msgstr "" +msgstr "错误:无效的(EAN)条码" #. module: account #: field:account.config.settings,has_chart_of_accounts:0 msgid "Company has a chart of accounts" -msgstr "" +msgstr "公司有一个会计科目表" #. module: account #: view:account.payment.term.line:0 @@ -3559,7 +3568,7 @@ msgstr "业务伙伴会计帐本(往来帐)" #: code:addons/account/account_invoice.py:1321 #, python-format msgid "%s created." -msgstr "" +msgstr "%s 被创建." #. module: account #: help:account.journal.column,sequence:0 @@ -3569,7 +3578,7 @@ msgstr "指定账簿栏目的序列" #. module: account #: view:account.period:0 msgid "Account Period" -msgstr "" +msgstr "会计期间" #. module: account #: help:account.account,currency_id:0 @@ -3594,7 +3603,7 @@ msgstr "科目一览表模板" #. module: account #: view:account.bank.statement:0 msgid "Transactions" -msgstr "" +msgstr "交易" #. module: account #: model:ir.model,name:account.model_account_unreconcile_reconcile @@ -3691,7 +3700,7 @@ msgstr "会计应用程序设置" #. module: account #: model:ir.actions.act_window,name:account.action_account_vat_declaration msgid "Account Tax Declaration" -msgstr "" +msgstr "会计税务申报" #. module: account #: view:account.payment.term.line:0 @@ -3705,7 +3714,7 @@ msgid "" "You cannot create an invoice on a centralized journal. Uncheck the " "centralized counterpart box in the related journal from the configuration " "menu." -msgstr "" +msgstr "你不能在汇总账簿上面创建发票。在配置菜单中 相关的 分类账簿表单里不要选中“合并对方科目”。" #. module: account #: field:account.bank.statement,balance_start:0 @@ -3730,7 +3739,7 @@ msgstr "关闭一个会计期间" #: view:account.bank.statement:0 #: field:account.cashbox.line,subtotal_opening:0 msgid "Opening Subtotal" -msgstr "" +msgstr "期初小计" #. module: account #: field:account.financial.report,display_detail:0 @@ -4381,7 +4390,9 @@ msgid "" "entries of all fiscal years. Note that you should define it with default " "debit/credit accounts, of type 'situation' and with a centralized " "counterpart." -msgstr "最好使用一个专用的账簿去控制所有会计年度的开账分录。注意您应该设定默认的借方/贷方科目,“状态”的类型和能汇总账簿对应。" +msgstr "" +"最好使用一个专用的账簿去控制所有会计年度的开账分录。\r\n" +"注意您应该设定默认的借方/贷方科目,类型是 “期初/期末状态”,并且选中“合并对方科目”。" #. module: account #: view:account.installer:0 @@ -5229,7 +5240,7 @@ msgstr "发票草稿已生效。 " msgid "" "Set the account that will be set by default on invoice tax lines for " "invoices. Leave empty to use the expense account." -msgstr "" +msgstr "设置科目,用于退款时发票上默认税科目。留空使用费用科目。" #. module: account #: code:addons/account/account.py:947 @@ -5577,6 +5588,14 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" 单击以注册一个新的账簿\n" +"

\n" +" 这个视图给会计人员使用,为了在Openerp中快速登记分录。\n" +" 如果要登记供应商发票,从记录费用科目行开始。Openerp将\n" +" 建议你自动处理科目相关的税,以及对方科目 \"应付帐款\"。\n" +"

\n" +" " #. module: account #: view:account.move.line:0 @@ -6098,7 +6117,7 @@ msgstr "固定金额" #: code:addons/account/account_move_line.py:1151 #, python-format msgid "You cannot change the tax, you should remove and recreate lines." -msgstr "" +msgstr "你不能修改税,你需要删去并且重建这一行" #. module: account #: model:ir.actions.act_window,name:account.action_account_automatic_reconcile @@ -7686,7 +7705,7 @@ msgid "" "Check this box to determine that each entry of this journal won't create a " "new counterpart but will share the same counterpart. This is used in fiscal " "year closing." -msgstr "勾选此项,在会计年度关闭时, 确定每个账簿的分录不会产生新副本, 而是共享同一副本。" +msgstr "选中此项,在年终结转时,确定每个分类账簿的分录不会产生新的对方科目, 而是共享同一对方科目。" #. module: account #: field:account.bank.statement,closing_date:0 diff --git a/addons/account/report/account_invoice_report.py b/addons/account/report/account_invoice_report.py index 68eaedb20a6..a001b6b4f52 100644 --- a/addons/account/report/account_invoice_report.py +++ b/addons/account/report/account_invoice_report.py @@ -98,150 +98,124 @@ class account_invoice_report(osv.osv): 'partner_bank_id': fields.many2one('res.partner.bank', 'Bank Account',readonly=True), 'residual': fields.float('Total Residual', readonly=True), 'user_currency_residual': fields.function(_compute_amounts_in_user_currency, string="Total Residual", type='float', digits_compute=dp.get_precision('Account'), multi="_compute_amounts"), - 'delay_to_pay': fields.float('Avg. Delay To Pay', readonly=True, group_operator="avg"), - 'due_delay': fields.float('Avg. Due Delay', readonly=True, group_operator="avg"), } _order = 'date desc' - def _select(self): select_str = """ - SELECT min(ail.id) as id, - ai.date_invoice as date, - to_char(ai.date_invoice, 'YYYY') as year, - to_char(ai.date_invoice, 'MM') as month, - to_char(ai.date_invoice, 'YYYY-MM-DD') as day, - ail.product_id, - ai.partner_id as partner_id, - ai.payment_term as payment_term, - ai.period_id as period_id, - (case when u.uom_type not in ('reference') then - (select name from product_uom where uom_type='reference' and active and category_id=u.category_id LIMIT 1) - else - u.name - end) as uom_name, - ai.currency_id as currency_id, - ai.journal_id as journal_id, - ai.fiscal_position as fiscal_position, - ai.user_id as user_id, - ai.company_id as company_id, - count(ail.*) as nbr, - ai.type as type, - ai.state, - pt.categ_id, - ai.date_due as date_due, - ai.account_id as account_id, - ail.account_id as account_line_id, - ai.partner_bank_id as partner_bank_id, - sum(case when ai.type in ('out_refund','in_invoice') then - -ail.quantity / u.factor - else - ail.quantity / u.factor - end) as product_qty, - - sum(case when ai.type in ('out_refund','in_invoice') then - -ail.price_subtotal - else - ail.price_subtotal - end) / cr.rate as price_total, - - (case when ai.type in ('out_refund','in_invoice') then - sum(-ail.price_subtotal) - else - sum(ail.price_subtotal) - end) / (CASE WHEN sum(ail.quantity/u.factor) <> 0 - THEN - (case when ai.type in ('out_refund','in_invoice') - then sum(-ail.quantity/u.factor) - else sum(ail.quantity/u.factor) end) - ELSE 1 - END) - / cr.rate as price_average, - - cr.rate as currency_rate, - sum((select extract(epoch from avg(date_trunc('day',aml.date_created)-date_trunc('day',l.create_date)))/(24*60*60)::decimal(16,2) - from account_move_line as aml - left join account_invoice as a ON (a.move_id=aml.move_id) - left join account_invoice_line as l ON (a.id=l.invoice_id) - where a.id=ai.id)) as delay_to_pay, - sum((select extract(epoch from avg(date_trunc('day',a.date_due)-date_trunc('day',a.date_invoice)))/(24*60*60)::decimal(16,2) - from account_move_line as aml - left join account_invoice as a ON (a.move_id=aml.move_id) - left join account_invoice_line as l ON (a.id=l.invoice_id) - where a.id=ai.id)) as due_delay, - (case when ai.type in ('out_refund','in_invoice') then - -ai.residual - else - ai.residual - end)/ (CASE WHEN - (select count(l.id) from account_invoice_line as l - left join account_invoice as a ON (a.id=l.invoice_id) - where a.id=ai.id) <> 0 - THEN - (select count(l.id) from account_invoice_line as l - left join account_invoice as a ON (a.id=l.invoice_id) - where a.id=ai.id) - ELSE 1 - END) / cr.rate as residual + SELECT sub.id, sub.date, sub.year, sub.month, sub.day, sub.product_id, sub.partner_id, + sub.payment_term, sub.period_id, sub.uom_name, sub.currency_id, sub.journal_id, + sub.fiscal_position, sub.user_id, sub.company_id, sub.nbr, sub.type, sub.state, + sub.categ_id, sub.date_due, sub.account_id, sub.account_line_id, sub.partner_bank_id, + sub.product_qty, sub.price_total / cr.rate as price_total, sub.price_average /cr.rate as price_average, + cr.rate as currency_rate, sub.residual / cr.rate as residual """ return select_str - def _where(self): - where_str = """ - WHERE cr.id in (select id from res_currency_rate cr2 where (cr2.currency_id = ai.currency_id) - and ((ai.date_invoice is not null and cr.name <= ai.date_invoice) or (ai.date_invoice is null and cr.name <= NOW())) order by name desc limit 1) + def _sub_select(self): + select_str = """ + SELECT min(ail.id) AS id, + ai.date_invoice AS date, + to_char(ai.date_invoice::timestamp with time zone, 'YYYY'::text) AS year, + to_char(ai.date_invoice::timestamp with time zone, 'MM'::text) AS month, + to_char(ai.date_invoice::timestamp with time zone, 'YYYY-MM-DD'::text) AS day, + ail.product_id, ai.partner_id, ai.payment_term, ai.period_id, + CASE + WHEN u.uom_type::text <> 'reference'::text + THEN ( SELECT product_uom.name + FROM product_uom + WHERE product_uom.uom_type::text = 'reference'::text + AND product_uom.active + AND product_uom.category_id = u.category_id LIMIT 1) + ELSE u.name + END AS uom_name, + ai.currency_id, ai.journal_id, ai.fiscal_position, ai.user_id, ai.company_id, + count(ail.*) AS nbr, + ai.type, ai.state, pt.categ_id, ai.date_due, ai.account_id, ail.account_id AS account_line_id, + ai.partner_bank_id, + SUM(CASE + WHEN ai.type::text = ANY (ARRAY['out_refund'::character varying::text, 'in_invoice'::character varying::text]) + THEN (- ail.quantity) / u.factor + ELSE ail.quantity / u.factor + END) AS product_qty, + SUM(CASE + WHEN ai.type::text = ANY (ARRAY['out_refund'::character varying::text, 'in_invoice'::character varying::text]) + THEN - ail.price_subtotal + ELSE ail.price_subtotal + END) AS price_total, + CASE + WHEN ai.type::text = ANY (ARRAY['out_refund'::character varying::text, 'in_invoice'::character varying::text]) + THEN SUM(- ail.price_subtotal) + ELSE SUM(ail.price_subtotal) + END / CASE + WHEN SUM(ail.quantity / u.factor) <> 0::numeric + THEN CASE + WHEN ai.type::text = ANY (ARRAY['out_refund'::character varying::text, 'in_invoice'::character varying::text]) + THEN SUM((- ail.quantity) / u.factor) + ELSE SUM(ail.quantity / u.factor) + END + ELSE 1::numeric + END AS price_average, + CASE + WHEN ai.type::text = ANY (ARRAY['out_refund'::character varying::text, 'in_invoice'::character varying::text]) + THEN - ai.residual + ELSE ai.residual + END / CASE + WHEN (( SELECT count(l.id) AS count + FROM account_invoice_line l + LEFT JOIN account_invoice a ON a.id = l.invoice_id + WHERE a.id = ai.id)) <> 0 + THEN ( SELECT count(l.id) AS count + FROM account_invoice_line l + LEFT JOIN account_invoice a ON a.id = l.invoice_id + WHERE a.id = ai.id) + ELSE 1::bigint + END::numeric AS residual """ - return where_str + return select_str def _from(self): from_str = """ - FROM account_invoice_line as ail - left join account_invoice as ai ON (ai.id=ail.invoice_id) - left join product_product pr on (pr.id=ail.product_id) - left join product_template pt on (pt.id=pr.product_tmpl_id) - left join product_uom u on (u.id=ail.uos_id), - res_currency_rate cr + FROM account_invoice_line ail + JOIN account_invoice ai ON ai.id = ail.invoice_id + LEFT JOIN product_product pr ON pr.id = ail.product_id + left JOIN product_template pt ON pt.id = pr.product_tmpl_id + LEFT JOIN product_uom u ON u.id = ail.uos_id """ return from_str def _group_by(self): group_by_str = """ - GROUP BY ail.product_id, - ai.date_invoice, - ai.id, - cr.rate, - to_char(ai.date_invoice, 'YYYY'), - to_char(ai.date_invoice, 'MM'), - to_char(ai.date_invoice, 'YYYY-MM-DD'), - ai.partner_id, - ai.payment_term, - ai.period_id, - u.name, - ai.currency_id, - ai.journal_id, - ai.fiscal_position, - ai.user_id, - ai.company_id, - ai.type, - ai.state, - pt.categ_id, - ai.date_due, - ai.account_id, - ail.account_id, - ai.partner_bank_id, - ai.residual, - ai.amount_total, - u.uom_type, - u.category_id + GROUP BY ail.product_id, ai.date_invoice, ai.id, + to_char(ai.date_invoice::timestamp with time zone, 'YYYY'::text), + to_char(ai.date_invoice::timestamp with time zone, 'MM'::text), + to_char(ai.date_invoice::timestamp with time zone, 'YYYY-MM-DD'::text), + ai.partner_id, ai.payment_term, ai.period_id, u.name, ai.currency_id, ai.journal_id, + ai.fiscal_position, ai.user_id, ai.company_id, ai.type, ai.state, pt.categ_id, + ai.date_due, ai.account_id, ail.account_id, ai.partner_bank_id, ai.residual, + ai.amount_total, u.uom_type, u.category_id """ return group_by_str def init(self, cr): # self._table = account_invoice_report tools.drop_view_if_exists(cr, self._table) - cr.execute("CREATE or REPLACE VIEW %s as (%s %s %s %s)" % ( + cr.execute("""CREATE or REPLACE VIEW %s as ( + %s + FROM ( + %s %s %s + ) AS sub + JOIN res_currency_rate cr ON (cr.currency_id = sub.currency_id) + WHERE + cr.id IN (SELECT id + FROM res_currency_rate cr2 + WHERE (cr2.currency_id = sub.currency_id) + AND ((sub.date IS NOT NULL AND cr.name <= sub.date) + OR (sub.date IS NULL AND cr.name <= NOW())) + ORDER BY name DESC LIMIT 1) + )""" % ( self._table, - self._select(), self._from(), self._where(), self._group_by())) + self._select(), self._sub_select(), self._from(), self._group_by())) account_invoice_report() diff --git a/addons/account/report/account_invoice_report_view.xml b/addons/account/report/account_invoice_report_view.xml index 289db376e5d..66e17560bde 100644 --- a/addons/account/report/account_invoice_report_view.xml +++ b/addons/account/report/account_invoice_report_view.xml @@ -30,8 +30,6 @@ - -
@@ -93,7 +91,7 @@ tree,graph {'search_default_period':1,'search_default_current':1, 'search_default_year': 1, 'search_default_category_product':1, 'search_default_customer':1, 'group_by':[], 'group_by_no_leaf':1,} - From this report, you can have an overview of the amount invoiced to your customer as well as payment delays. The tool search can also be used to personalise your Invoices reports and so, match this analysis to your needs. + From this report, you can have an overview of the amount invoiced to your customer. The tool search can also be used to personalise your Invoices reports and so, match this analysis to your needs.
diff --git a/addons/account/report/account_print_overdue.rml b/addons/account/report/account_print_overdue.rml index dd573580c6c..9d1898572ba 100644 --- a/addons/account/report/account_print_overdue.rml +++ b/addons/account/report/account_print_overdue.rml @@ -211,7 +211,7 @@ [[ (line['account_id']['type'] == 'receivable' and formatLang(line['credit']) or 0) or (line['account_id']['type'] == 'payable' and formatLang(line['debit'] * -1) or 0) ]] - [[ time.strftime('%Y-%m-%d') > formatLang((line['date_maturity'])) and formatLang(line['debit'] - line['credit'], currency_obj = company.currency_id) ]] + [[ (time.strftime('%Y-%m-%d') > line['date_maturity']) and formatLang(line['debit'] - line['credit'], currency_obj = company.currency_id) ]] [[ line['blocked'] and 'X' or '' ]] diff --git a/addons/account/res_currency.py b/addons/account/res_currency.py index ce781a1e11a..60bb6152a9b 100644 --- a/addons/account/res_currency.py +++ b/addons/account/res_currency.py @@ -29,6 +29,7 @@ class res_currency_account(osv.osv): if context is None: context = {} rate = super(res_currency_account, self)._get_conversion_rate(cr, uid, from_currency, to_currency, context=context) + #process the case where the account doesn't work with an outgoing currency rate method 'at date' but 'average' account = context.get('res.currency.compute.account') account_invert = context.get('res.currency.compute.account_invert') if account and account.currency_mode == 'average' and account.currency_id: diff --git a/addons/account/security/ir.model.access.csv b/addons/account/security/ir.model.access.csv index 28bedbf65a1..d1f0bbab6b5 100644 --- a/addons/account/security/ir.model.access.csv +++ b/addons/account/security/ir.model.access.csv @@ -7,8 +7,6 @@ access_account_tax_internal_user,account.tax internal user,model_account_tax,bas access_account_account,account.account,model_account_account,account.group_account_user,1,0,0,0 access_account_account_user,account.account user,model_account_account,base.group_user,1,0,0,0 access_account_account_partner_manager,account.account partner manager,model_account_account,base.group_partner_manager,1,0,0,0 -access_account_journal_view,account.journal.view,model_account_journal_view,account.group_account_user,1,0,0,0 -access_account_journal_column,account.journal.column,model_account_journal_column,account.group_account_user,1,0,0,0 access_account_journal_period_manager,account.journal.period manager,model_account_journal_period,account.group_account_manager,1,0,0,0 access_account_tax_code,account.tax.code,model_account_tax_code,account.group_account_invoice,1,0,0,0 access_account_tax,account.tax,model_account_tax,account.group_account_invoice,1,0,0,0 @@ -83,8 +81,6 @@ access_account_entries_report_employee,account.entries.report employee,model_acc access_analytic_entries_report_manager,analytic.entries.report,model_analytic_entries_report,account.group_account_manager,1,0,0,0 access_account_cashbox_line,account.cashbox.line,model_account_cashbox_line,account.group_account_user,1,1,1,1 access_account_journal_cashbox_line,account.journal.cashbox.line,model_account_journal_cashbox_line,account.group_account_user,1,1,1,0 -access_account_journal_view_invoice,account.journal.view invoice,model_account_journal_view,account.group_account_invoice,1,1,1,1 -access_account_journal_column_invoice,account.journal.column invoice,model_account_journal_column,account.group_account_invoice,1,1,1,1 access_account_invoice_tax_accountant,account.invoice.tax accountant,model_account_invoice_tax,account.group_account_user,1,0,0,0 access_account_move_reconcile_manager,account.move.reconcile manager,model_account_move_reconcile,account.group_account_manager,1,0,0,0 access_account_analytic_line_invoice,account.analytic.line invoice,model_account_analytic_line,account.group_account_invoice,1,1,1,1 diff --git a/addons/account/static/src/js/account_move_line_quickadd.js b/addons/account/static/src/js/account_move_line_quickadd.js new file mode 100644 index 00000000000..997b2b03bb6 --- /dev/null +++ b/addons/account/static/src/js/account_move_line_quickadd.js @@ -0,0 +1,99 @@ +openerp.account.quickadd = function (instance) { + var _t = instance.web._t, + _lt = instance.web._lt; + var QWeb = instance.web.qweb; + + instance.web.account = instance.web.account || {}; + + instance.web.views.add('tree_account_move_line_quickadd', 'instance.web.account.QuickAddListView'); + instance.web.account.QuickAddListView = instance.web.ListView.extend({ + init: function() { + this._super.apply(this, arguments); + this.journals = []; + this.periods = []; + this.current_journal = null; + this.current_period = null; + this.default_period = null; + this.default_journal = null; + this.current_journal_type = null; + this.current_journal_currency = null; + this.current_journal_analytic = null; + }, + start:function(){ + var tmp = this._super.apply(this, arguments); + var self = this; + this.$el.parent().prepend(QWeb.render("AccountMoveLineQuickAdd", {widget: this})); + + this.$el.parent().find('.oe_account_select_journal').change(function() { + self.current_journal = this.value === '' ? null : parseInt(this.value); + self.do_search(self.last_domain, self.last_context, self.last_group_by); + }); + this.$el.parent().find('.oe_account_select_period').change(function() { + self.current_period = this.value === '' ? null : parseInt(this.value); + self.do_search(self.last_domain, self.last_context, self.last_group_by); + }); + this.on('edit:after', this, function () { + self.$el.parent().find('.oe_account_select_journal').attr('disabled', 'disabled'); + self.$el.parent().find('.oe_account_select_period').attr('disabled', 'disabled'); + }); + this.on('save:after cancel:after', this, function () { + self.$el.parent().find('.oe_account_select_journal').removeAttr('disabled'); + self.$el.parent().find('.oe_account_select_period').removeAttr('disabled'); + }); + var mod = new instance.web.Model("account.move.line", self.dataset.context, self.dataset.domain); + mod.call("default_get", [['journal_id','period_id'],self.dataset.context]).then(function(result) { + self.current_period = result['period_id']; + self.current_journal = result['journal_id']; + }); + return tmp; + }, + do_search: function(domain, context, group_by) { + var self = this; + this.last_domain = domain; + this.last_context = context; + this.last_group_by = group_by; + this.old_search = _.bind(this._super, this); + var mod = new instance.web.Model("account.move.line", context, domain); + return $.when(mod.call("list_journals", []).then(function(result) { + self.journals = result; + }),mod.call("list_periods", []).then(function(result) { + self.periods = result; + })).then(function () { + var o; + self.$el.parent().find('.oe_account_select_journal').children().remove().end(); + self.$el.parent().find('.oe_account_select_journal').append(new Option('', '')); + for (var i = 0;i < self.journals.length;i++){ + o = new Option(self.journals[i][1], self.journals[i][0]); + if (self.journals[i][0] === self.current_journal){ + self.current_journal_type = self.journals[i][2]; + self.current_journal_currency = self.journals[i][3]; + self.current_journal_analytic = self.journals[i][4]; + $(o).attr('selected',true); + } + self.$el.parent().find('.oe_account_select_journal').append(o); + } + self.$el.parent().find('.oe_account_select_period').children().remove().end(); + self.$el.parent().find('.oe_account_select_period').append(new Option('', '')); + for (var i = 0;i < self.periods.length;i++){ + o = new Option(self.periods[i][1], self.periods[i][0]); + self.$el.parent().find('.oe_account_select_period').append(o); + } + self.$el.parent().find('.oe_account_select_period').val(self.current_period).attr('selected',true); + return self.search_by_journal_period(); + }); + }, + search_by_journal_period: function() { + var self = this; + var domain = []; + if (self.current_journal !== null) domain.push(["journal_id", "=", self.current_journal]); + if (self.current_period !== null) domain.push(["period_id", "=", self.current_period]); + self.last_context["journal_id"] = self.current_journal === null ? false : self.current_journal; + if (self.current_period === null) delete self.last_context["period_id"]; + else self.last_context["period_id"] = self.current_period; + self.last_context["journal_type"] = self.current_journal_type; + self.last_context["currency"] = self.current_journal_currency; + self.last_context["analytic_journal_id"] = self.current_journal_analytic; + return self.old_search(new instance.web.CompoundDomain(self.last_domain, domain), self.last_context, self.last_group_by); + }, + }); +}; diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js index 22fe9b7b392..19c194166e2 100644 --- a/addons/account/static/src/js/account_move_reconciliation.js +++ b/addons/account/static/src/js/account_move_reconciliation.js @@ -1,9 +1,10 @@ openerp.account = function (instance) { + openerp.account.quickadd(instance); var _t = instance.web._t, _lt = instance.web._lt; var QWeb = instance.web.qweb; - instance.web.account = {}; + instance.web.account = instance.web.account || {}; instance.web.views.add('tree_account_reconciliation', 'instance.web.account.ReconciliationListView'); instance.web.account.ReconciliationListView = instance.web.ListView.extend({ diff --git a/addons/account/static/src/xml/account_move_line_quickadd.xml b/addons/account/static/src/xml/account_move_line_quickadd.xml new file mode 100644 index 00000000000..3ed66eec917 --- /dev/null +++ b/addons/account/static/src/xml/account_move_line_quickadd.xml @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/addons/account/test/account_fiscalyear_close.yml b/addons/account/test/account_fiscalyear_close.yml index 1e24d2ca0e7..1c3547ccefd 100644 --- a/addons/account/test/account_fiscalyear_close.yml +++ b/addons/account/test/account_fiscalyear_close.yml @@ -29,7 +29,6 @@ default_debit_account_id: cash default_credit_account_id: cash company_id: base.main_company - view_id: account_journal_bank_view centralisation: 1 - I called the Generate Fiscalyear Opening Entries wizard @@ -47,47 +46,4 @@ !python {model: account.fiscalyear.close}: | self.data_save(cr, uid, [ref("account_fiscalyear_close_0")], {"lang": 'en_US', "active_model": "ir.ui.menu", "active_ids": [ref("account.menu_wizard_fy_close")], - "tz": False, "active_id": ref("account.menu_wizard_fy_close"), }) - -- - I check the opening entries By using "Entries by Line wizard" -- - !record {model: account.move.journal, id: account_move_journal_0}: - {} -- - I clicked on Open Journal Button to check the entries - -- - !python {model: account.move.journal}: | - self.action_open_window(cr, uid, [ref("account_move_journal_0")], {"lang": 'en_US', - "active_model": "ir.ui.menu", "active_ids": [ref("account.menu_action_move_journal_line_form")], - "tz": False, "active_id": ref("account.menu_action_move_journal_line_form"), - }) - -#- -# In order to test Cancel Opening Entries I cancelled the opening entries created for "Fiscal Year 2011" -#- -# !record {model: account.open.closed.fiscalyear, id: account_open_closed_fiscalyear_1}: -# fyear_id: account.data_fiscalyear -#- -# I clicked on Open button -#- -# !python {model: account.open.closed.fiscalyear}: | -# self.remove_entries(cr, uid, [ref("account_open_closed_fiscalyear_1")], {"lang": -# 'en_US', "active_model": "ir.ui.menu", "active_ids": [ref("account.menu_wizard_open_closed_fy")], -# "tz": False, "active_id": ref("account.menu_wizard_open_closed_fy"), }) -#- -# I check the opening entries By using "Entries by Line wizard" -#- -# !record {model: account.move.journal, id: account_move_journal_2}: -# journal_id: account.sales_journal -# period_id: account_period_jan11 -# -#- -# I checked the Opening entries are cancelled successfully -#- -# !python {model: account.move.journal}: | -# self.action_open_window(cr, uid, [ref("account_move_journal_2")], {"lang": 'en_US', -# "active_model": "ir.ui.menu", "active_ids": [ref("account.menu_action_move_journal_line_form")], -# "tz": False, "active_id": ref("account.menu_action_move_journal_line_form"), -# }) + "tz": False, "active_id": ref("account.menu_wizard_fy_close"), }) \ No newline at end of file diff --git a/addons/account/test/account_validate_account_move.yml b/addons/account/test/account_validate_account_move.yml index 188df14c234..d47ee564019 100644 --- a/addons/account/test/account_validate_account_move.yml +++ b/addons/account/test/account_validate_account_move.yml @@ -30,10 +30,9 @@ - !python {model: account.move.line}: | import time - date = self._get_date(cr, uid, {'lang': u'en_US', 'normal_view': False, 'active_model': 'ir.ui.menu', - 'search_default_journal_id': 1, 'journal_type': 'sale', 'search_default_period_id': 6, 'journal_id': 1, 'view_mode': False, - 'visible_id': 1, 'period_id': 6, 'tz': False, 'active_ids': [ref('menu_action_account_moves_all')], - 'search_default_posted': 0, 'active_id': ref('menu_action_account_moves_all')}) + date = self._get_date(cr, uid, { + 'journal_id': 1, + 'period_id': 6,}) partner = self.onchange_partner_id(cr, uid, [], False, ref('base.res_partner_12'), ref('account.cash'), debit=0, credit=2000, date=date, journal=False) account = self.onchange_account_id(cr, uid, [], account_id=ref('account.a_recv'), partner_id= ref('base.res_partner_12')) vals = { @@ -62,11 +61,10 @@ !python {model: account.move.line}: | ids = self._balance_search(cr, uid, self, 'balance', [('balance', '=', 2000.0)], None, {'lang': u'en_US', 'tz': False, 'active_model': 'ir.ui.menu', 'search_default_journal_id': 1, 'journal_type': 'sale', 'search_default_period_id': 6, 'view_mode': False, 'visible_id': 1, - 'active_ids': [ref('menu_action_account_moves_all')], 'search_default_posted': 0, 'active_id': ref('menu_action_account_moves_all')}) + 'search_default_posted': 0}) bal = self._balance(cr, uid, ids[0][2], 'balance', None,{'lang': u'en_US', 'tz': False, 'active_model': 'ir.ui.menu', 'search_default_journal_id': 1, 'journal_type': 'sale', 'search_default_period_id': 6, 'view_mode': False, - 'visible_id': 1, 'active_ids': [ref('menu_action_account_moves_all')], 'search_default_posted': 0, - 'active_id': ref('menu_action_account_moves_all')}) + 'visible_id': 1, 'search_default_posted': 0}) assert bal, 'Balance has not been computed correctly' - I check that Initially account move state is "Draft" diff --git a/addons/account/wizard/__init__.py b/addons/account/wizard/__init__.py index 87a053d558c..839e490ca66 100644 --- a/addons/account/wizard/__init__.py +++ b/addons/account/wizard/__init__.py @@ -31,7 +31,6 @@ import account_reconcile_partner_process import account_reconcile import account_unreconcile import account_invoice_refund -import account_move_journal import account_journal_select import account_move_bank_reconcile import account_subscription_generate diff --git a/addons/account/wizard/account_fiscalyear_close.py b/addons/account/wizard/account_fiscalyear_close.py index dbf815d5218..e11b4dcd34b 100644 --- a/addons/account/wizard/account_fiscalyear_close.py +++ b/addons/account/wizard/account_fiscalyear_close.py @@ -60,7 +60,7 @@ class account_fiscalyear_close(osv.osv_memory): cr.execute('select distinct(company_id) from account_move_line where id in %s',(tuple(ids),)) if len(cr.fetchall()) > 1: raise osv.except_osv(_('Warning!'), _('The entries to reconcile should belong to the same company.')) - r_id = self.pool.get('account.move.reconcile').create(cr, uid, {'type': 'auto'}) + r_id = self.pool.get('account.move.reconcile').create(cr, uid, {'type': 'auto', 'opening_reconciliation': True}) cr.execute('update account_move_line set reconcile_id = %s where id in %s',(r_id, tuple(ids),)) return r_id @@ -107,7 +107,7 @@ class account_fiscalyear_close(osv.osv_memory): ('journal_id', '=', new_journal.id), ('period_id', '=', period.id)]) if move_ids: move_line_ids = obj_acc_move_line.search(cr, uid, [('move_id', 'in', move_ids)]) - obj_acc_move_line._remove_move_reconcile(cr, uid, move_line_ids, context=context) + obj_acc_move_line._remove_move_reconcile(cr, uid, move_line_ids, opening_reconciliation=True, context=context) obj_acc_move_line.unlink(cr, uid, move_line_ids, context=context) obj_acc_move.unlink(cr, uid, move_ids, context=context) diff --git a/addons/account/wizard/account_move_journal.py b/addons/account/wizard/account_move_journal.py deleted file mode 100644 index 246532d38d7..00000000000 --- a/addons/account/wizard/account_move_journal.py +++ /dev/null @@ -1,194 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## - -from lxml import etree - -from osv import osv, fields -from tools.translate import _ -import tools - -class account_move_journal(osv.osv_memory): - _name = "account.move.journal" - _description = "Move journal" - - _columns = { - 'target_move': fields.selection([('posted', 'All Posted Entries'), - ('all', 'All Entries'), - ], 'Target Moves', required=True), - } - - _defaults = { - 'target_move': 'all' - } - def _get_period(self, cr, uid, context=None): - """ - Return default account period value - """ - account_period_obj = self.pool.get('account.period') - ids = account_period_obj.find(cr, uid, context=context) - period_id = False - if ids: - period_id = ids[0] - return period_id - - def _get_journal(self, cr, uid, context=None): - """ - Return journal based on the journal type - """ - - journal_id = False - - journal_pool = self.pool.get('account.journal') - if context.get('journal_type', False): - jids = journal_pool.search(cr, uid, [('type','=', context.get('journal_type'))]) - if not jids: - 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.') % context.get('journal_type')) - journal_id = jids[0] - - return journal_id - - def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): - """ - Returns views and fields for current model where view will depend on {view_type}. - @param cr: A database cursor - @param user: ID of the user currently logged in - @param view_id: list of fields, which required to read signatures - @param view_type: defines a view type. it can be one of (form, tree, graph, calender, gantt, search, mdx) - @param context: context arguments, like lang, time zone - @param toolbar: contains a list of reports, wizards, and links related to current model - - @return: Returns a dict that contains definition for fields, views, and toolbars - """ - if context is None:context = {} - res = super(account_move_journal, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False) - - if context: - if not view_id: - return res - - period_pool = self.pool.get('account.period') - journal_pool = self.pool.get('account.journal') - - journal_id = self._get_journal(cr, uid, context) - period_id = self._get_period(cr, uid, context) - - journal = False - if journal_id: - journal = journal_pool.read(cr, uid, journal_id, ['name'], context=context).get('name',False) - journal_string = _("Journal: %s") % tools.ustr(journal) - else: - journal_string = _("Journal: All") - - period = False - if period_id: - period = period_pool.browse(cr, uid, period_id, context=context).name - period_string = _("Period: %s") % tools.ustr(period) - - open_string = _("Open") - view = """ -
- - - - %s:
+ + account.analytic.account.form.template.required + account.analytic.account + + + + + {'required': [('type','=','contract')], 'invisible': [('type','in',['view', 'normal','template'])]} + + + + Template of Contract ir.actions.act_window diff --git a/addons/account_analytic_analysis/i18n/es_MX.po b/addons/account_analytic_analysis/i18n/es_MX.po index bf7c124bb91..4c6bde2bcf6 100644 --- a/addons/account_analytic_analysis/i18n/es_MX.po +++ b/addons/account_analytic_analysis/i18n/es_MX.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-28 04:41+0000\n" -"X-Generator: Launchpad (build 16309)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:14+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_analytic_analysis #: view:account.analytic.account:0 diff --git a/addons/account_analytic_analysis/i18n/nb.po b/addons/account_analytic_analysis/i18n/nb.po index fef85e92608..f97ea97ddef 100644 --- a/addons/account_analytic_analysis/i18n/nb.po +++ b/addons/account_analytic_analysis/i18n/nb.po @@ -8,19 +8,19 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2011-08-23 11:12+0000\n" -"Last-Translator: Rolv Råen \n" +"PO-Revision-Date: 2012-12-02 20:45+0000\n" +"Last-Translator: Kaare Pettersen \n" "Language-Team: Norwegian Bokmal \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:06+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-03 04:36+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "No order to invoice, create" -msgstr "" +msgstr "Ingen ordre til å fakturere, opprett." #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -30,12 +30,12 @@ msgstr "Grupper etter ..." #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "To Invoice" -msgstr "" +msgstr "Å fakturere." #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Remaining" -msgstr "" +msgstr "Gjenstår." #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -74,7 +74,7 @@ msgstr "" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "⇒ Invoice" -msgstr "" +msgstr "⇒ Faktura." #. module: account_analytic_analysis #: field:account.analytic.account,ca_invoiced:0 @@ -99,7 +99,7 @@ msgstr "Totalt beløp fakturert kunde for denne kontoen" #. module: account_analytic_analysis #: help:account.analytic.account,timesheet_ca_invoiced:0 msgid "Sum of timesheet lines invoiced for this contract." -msgstr "" +msgstr "Summen av timeliste linjer fakturert for denne kontrakten." #. module: account_analytic_analysis #: help:account.analytic.account,revenue_per_hour:0 @@ -109,12 +109,12 @@ msgstr "Beregnet ved hjelp av formelen: Fakturert beløp / Total tid" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Contracts not assigned" -msgstr "" +msgstr "Kontrakter som ikke er tilordnet." #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Partner" -msgstr "" +msgstr "Partner." #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -162,7 +162,7 @@ msgstr "" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Expected" -msgstr "" +msgstr "Forventet." #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -185,7 +185,7 @@ msgstr "Fakturert tid" #. module: account_analytic_analysis #: constraint:account.analytic.account:0 msgid "Error! You cannot create recursive analytic accounts." -msgstr "" +msgstr "Feil! Du kan ikke opprette rekursive analytiske kontoer." #. module: account_analytic_analysis #: field:account.analytic.account,real_margin_rate:0 @@ -209,18 +209,18 @@ msgstr "" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Nothing to invoice, create" -msgstr "" +msgstr "Ikke noe å fakturere, opprett." #. module: account_analytic_analysis #: model:ir.actions.act_window,name:account_analytic_analysis.template_of_contract_action #: model:ir.ui.menu,name:account_analytic_analysis.menu_template_of_contract_action msgid "Template of Contract" -msgstr "" +msgstr "Mal av kontrakt." #. module: account_analytic_analysis #: field:account.analytic.account,hours_quantity:0 msgid "Total Worked Time" -msgstr "" +msgstr "Totalt arbeids tid." #. module: account_analytic_analysis #: field:account.analytic.account,real_margin:0 @@ -240,7 +240,7 @@ msgstr "Beregnet etter formelen: (Virkelig margin / Totale kostnader) * 100" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "or view" -msgstr "" +msgstr "Eller vis." #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -257,7 +257,7 @@ msgstr "Måned" #: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_all #: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_all msgid "Time & Materials to Invoice" -msgstr "" +msgstr "Tid og materialer til å fakturere." #. module: account_analytic_analysis #: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_overdue_all @@ -268,7 +268,7 @@ msgstr "Kontrakter" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Start Date" -msgstr "" +msgstr "Startdato." #. module: account_analytic_analysis #: help:account.analytic.account,total_cost:0 @@ -296,13 +296,13 @@ msgstr "Ventende kontrakter til å fornye med dine kunder" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Timesheets" -msgstr "" +msgstr "Timelister." #. module: account_analytic_analysis #: code:addons/account_analytic_analysis/account_analytic_analysis.py:452 #, python-format msgid "Sale Order Lines of %s" -msgstr "" +msgstr "Salgs ordre linjer av %s." #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -317,7 +317,7 @@ msgstr "Forfalt Antall" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Status" -msgstr "" +msgstr "Status." #. module: account_analytic_analysis #: field:account.analytic.account,ca_theorical:0 @@ -339,7 +339,7 @@ msgstr "" #. module: account_analytic_analysis #: model:ir.actions.act_window,name:account_analytic_analysis.action_sales_order msgid "Sales Orders" -msgstr "" +msgstr "Salgsordre." #. module: account_analytic_analysis #: help:account.analytic.account,last_invoice_date:0 @@ -391,7 +391,7 @@ msgstr "Kontrakt" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Invoiced" -msgstr "" +msgstr "Fakturert." #. module: account_analytic_analysis #: help:account.analytic.account,hours_qtt_invoiced:0 @@ -426,12 +426,12 @@ msgstr "" #. module: account_analytic_analysis #: field:account.analytic.account,toinvoice_total:0 msgid "Total to Invoice" -msgstr "" +msgstr "Totalt å fakturere." #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Sale Orders" -msgstr "" +msgstr "Salgs ordre." #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -441,7 +441,7 @@ msgstr "Åpen" #. module: account_analytic_analysis #: field:account.analytic.account,invoiced_total:0 msgid "Total Invoiced" -msgstr "" +msgstr "Totalt fakturert." #. module: account_analytic_analysis #: help:account.analytic.account,remaining_ca:0 @@ -451,7 +451,7 @@ msgstr "Beregnet med formelen: Maks. fakturapris - fakturert beløp" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Responsible" -msgstr "" +msgstr "Ansvarlig." #. module: account_analytic_analysis #: field:account.analytic.account,last_invoice_date:0 @@ -504,7 +504,7 @@ msgstr "Kontrakter til å fornye" #. module: account_analytic_analysis #: help:account.analytic.account,toinvoice_total:0 msgid " Sum of everything that could be invoiced for this contract." -msgstr "" +msgstr " Summen av alt som kunne blitt fakturert for denne kontrakten." #. module: account_analytic_analysis #: field:account.analytic.account,theorical_margin:0 @@ -514,7 +514,7 @@ msgstr "Teoretisk margin" #. module: account_analytic_analysis #: field:account.analytic.account,remaining_total:0 msgid "Total Remaining" -msgstr "" +msgstr "Totalt gjenværende." #. module: account_analytic_analysis #: help:account.analytic.account,real_margin:0 @@ -529,7 +529,7 @@ msgstr "" #. module: account_analytic_analysis #: field:account.analytic.account,fix_price_invoices:0 msgid "Fixed Price" -msgstr "" +msgstr "Fikset pris." #. module: account_analytic_analysis #: help:account.analytic.account,last_worked_date:0 diff --git a/addons/account_analytic_analysis/i18n/nl.po b/addons/account_analytic_analysis/i18n/nl.po index 3d4df40edde..4ce0eca10aa 100644 --- a/addons/account_analytic_analysis/i18n/nl.po +++ b/addons/account_analytic_analysis/i18n/nl.po @@ -7,19 +7,19 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev_rc3\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-11-24 22:04+0000\n" +"PO-Revision-Date: 2012-12-01 15:59+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \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: 2012-11-25 06:06+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-02 04:38+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "No order to invoice, create" -msgstr "" +msgstr "Geen order om te factureren, aanmaken" #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -69,6 +69,11 @@ msgid "" "to\n" " define the customer invoice price rate." msgstr "" +"Bij het factureren van urenstaten, OpenERP gebruikt de\n" +" prijslijst van het contract, welke weer de prijs " +"\n" +" gebruikt van het gekoppelde product aan de\n" +" werknemer, om de klant factuurprijs bepalen." #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -88,7 +93,7 @@ msgstr "Datum van laatste gefactureerde kosten" #. module: account_analytic_analysis #: help:account.analytic.account,fix_price_to_invoice:0 msgid "Sum of quotations for this contract." -msgstr "" +msgstr "Totaal van de offertes voor dit contract" #. module: account_analytic_analysis #: help:account.analytic.account,ca_invoiced:0 @@ -98,7 +103,7 @@ msgstr "Total gefactureerd bedrag voor deze kostenplaats" #. module: account_analytic_analysis #: help:account.analytic.account,timesheet_ca_invoiced:0 msgid "Sum of timesheet lines invoiced for this contract." -msgstr "" +msgstr "Totaal aan urenstaatregels gefactureerd voor dit contract" #. module: account_analytic_analysis #: help:account.analytic.account,revenue_per_hour:0 @@ -109,7 +114,7 @@ msgstr "" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Contracts not assigned" -msgstr "" +msgstr "Niet toegewezen contracten" #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -139,6 +144,21 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Klik hier om een nieuw contract aan te maken\n" +"

\n" +" Hier vind u de contracten welke moeten worden vernieuwd\n" +" omdat de einddatum is verlopen of het totaal aantal uren is " +"\n" +" hoger dan het maximaal toegestane aantal uren\n" +"

\n" +" OpenERP zet contracten welke moeten worden vernieuwd " +"automatisch\n" +" in de stand \"in afwachting\". Na onderhandeling kan de " +"verkoper het contract\n" +" afsluiten of vernieuwen.\n" +"

\n" +" " #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -157,7 +177,7 @@ msgstr "" #. module: account_analytic_analysis #: help:account.analytic.account,remaining_hours_to_invoice:0 msgid "Computed using the formula: Maximum Time - Total Invoiced Time" -msgstr "" +msgstr "Berekend met de formule: Maximum tijd - Totaal gefactureerde tijd" #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -175,7 +195,7 @@ msgstr "Kostenplaats" #. module: account_analytic_analysis #: help:account.analytic.account,theorical_margin:0 msgid "Computed using the formula: Theoretical Revenue - Total Costs" -msgstr "" +msgstr "Berekend met de formule: Theoretische opbrengst - Totale kosten" #. module: account_analytic_analysis #: field:account.analytic.account,hours_qtt_invoiced:0 @@ -185,7 +205,7 @@ msgstr "Gefactureerde tijd" #. module: account_analytic_analysis #: constraint:account.analytic.account:0 msgid "Error! You cannot create recursive analytic accounts." -msgstr "" +msgstr "Fout! Het is niet toegestaan om recursieve kostenplaatsen te maken." #. module: account_analytic_analysis #: field:account.analytic.account,real_margin_rate:0 @@ -195,7 +215,7 @@ msgstr "Werkelijke marge (%)" #. module: account_analytic_analysis #: help:account.analytic.account,remaining_hours:0 msgid "Computed using the formula: Maximum Time - Total Worked Time" -msgstr "" +msgstr "Berekend met de formule: Maximun tijd - Totaal gewerkte tijd" #. module: account_analytic_analysis #: help:account.analytic.account,hours_quantity:0 @@ -209,7 +229,7 @@ msgstr "" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Nothing to invoice, create" -msgstr "" +msgstr "Niets te factureren, aanmaken" #. module: account_analytic_analysis #: model:ir.actions.act_window,name:account_analytic_analysis.template_of_contract_action @@ -220,7 +240,7 @@ msgstr "Sjabloon van een contract" #. module: account_analytic_analysis #: field:account.analytic.account,hours_quantity:0 msgid "Total Worked Time" -msgstr "" +msgstr "Totaal gewerkte tijd" #. module: account_analytic_analysis #: field:account.analytic.account,real_margin:0 @@ -240,7 +260,7 @@ msgstr "Berekend met de formule: (werkelijke marge / totale kosten) * 100." #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "or view" -msgstr "" +msgstr "of bekijk" #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -257,7 +277,7 @@ msgstr "Maand" #: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_all #: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_all msgid "Time & Materials to Invoice" -msgstr "" +msgstr "Te factureren tijd en materialen" #. module: account_analytic_analysis #: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_overdue_all @@ -303,7 +323,7 @@ msgstr "Urenstaten" #: code:addons/account_analytic_analysis/account_analytic_analysis.py:452 #, python-format msgid "Sale Order Lines of %s" -msgstr "" +msgstr "Verkooporderregels van %s" #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -379,6 +399,18 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Klik hier om een nieuw contractsjabloon aan te maken.\n" +"

\n" +" Sjablonen worden gebruikt om contracten/projecten voor " +"te \n" +" configureren, zodat deze eenvoudig kunnen worden " +"gebruikt \n" +" door verkopers, en zij alleen maar de verdere " +"voorwaarden van\n" +" het contract hoeven in te geven.\n" +"

\n" +" " #. module: account_analytic_analysis #: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_user @@ -424,6 +456,18 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Klik hier om een nieuw contract aan te maken\n" +"

\n" +" Gebruik contracten om taken, issues, urenstaten of " +"facturatie gebaseerd \n" +" op gereed werk, declaraties en/of verkooporders te " +"volgen. OpenERP zal\n" +" automatisch meldingen geven, aan de juiste verkoper, " +"indien een \n" +" contract moet worden vernieuwd.\n" +"

\n" +" " #. module: account_analytic_analysis #: field:account.analytic.account,toinvoice_total:0 @@ -473,6 +517,14 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Hier vind u de urenstaten en inkopen welke u heeft gedaan\n" +" op contracten welke worden doorberekend aan de klant.\n" +" Indien u nieuwe activiteiten wilt boeken voor facturatie, " +"dient\n" +" u gebruik te maken van het urenstaten menu.\n" +"

\n" +" " #. module: account_analytic_analysis #: field:account.analytic.account,hours_qtt_non_invoiced:0 @@ -496,6 +548,9 @@ msgid "" "remaining subtotals which, in turn, are computed as the maximum between " "'(Estimation - Invoiced)' and 'To Invoice' amounts" msgstr "" +"Verwachting van de resterende inkomsten voor dit contract. Berekend als de " +"som van de resterende subtotalen die op hun beurt, worden berekend als de " +"maximum tussen '(Verwacht - Gefactureerd)' en 'Te factureren' bedragen" #. module: account_analytic_analysis #: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_overdue @@ -507,6 +562,7 @@ msgstr "Te vernieuwen contracten" #: help:account.analytic.account,toinvoice_total:0 msgid " Sum of everything that could be invoiced for this contract." msgstr "" +" Totaal van alles wat gefactureerd zou kunnen worden op dit contrcat." #. module: account_analytic_analysis #: field:account.analytic.account,theorical_margin:0 @@ -526,7 +582,7 @@ msgstr "Berekend met de formule: gefactureerd bedrag - totale kosten." #. module: account_analytic_analysis #: field:account.analytic.account,hours_qtt_est:0 msgid "Estimation of Hours to Invoice" -msgstr "" +msgstr "Verwachte uren te factureren" #. module: account_analytic_analysis #: field:account.analytic.account,fix_price_invoices:0 @@ -541,12 +597,12 @@ msgstr "Datum van de laatste werkzaamheden geboekt op deze rekening" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Contracts Having a Partner" -msgstr "" +msgstr "Contracten met een gekoppelde klant" #. module: account_analytic_analysis #: field:account.analytic.account,est_total:0 msgid "Total Estimation" -msgstr "" +msgstr "Totaal verwacht" #. module: account_analytic_analysis #: field:account.analytic.account,remaining_ca:0 @@ -571,7 +627,7 @@ msgstr "Totale tijd" #. module: account_analytic_analysis #: field:account.analytic.account,invoice_on_timesheets:0 msgid "On Timesheets" -msgstr "" +msgstr "Op urenstaat" #. module: account_analytic_analysis #: field:account.analytic.account,fix_price_to_invoice:0 @@ -584,7 +640,7 @@ msgstr "Resterende tijd" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Total" -msgstr "" +msgstr "Totaal" #~ msgid "" #~ "Number of hours that can be invoiced plus those that already have been " diff --git a/addons/account_analytic_analysis/i18n/zh_CN.po b/addons/account_analytic_analysis/i18n/zh_CN.po index a331655d94c..136ec39ec05 100644 --- a/addons/account_analytic_analysis/i18n/zh_CN.po +++ b/addons/account_analytic_analysis/i18n/zh_CN.po @@ -7,19 +7,19 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-09 02:53+0000\n" -"Last-Translator: 开阖软件 Jeff Wang \n" +"PO-Revision-Date: 2012-11-29 10:29+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: 2012-11-25 06:06+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-30 05:07+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "No order to invoice, create" -msgstr "" +msgstr "没有订单被开票,创建" #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -29,12 +29,12 @@ msgstr "分组..." #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "To Invoice" -msgstr "" +msgstr "开票" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Remaining" -msgstr "" +msgstr "剩余" #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -71,7 +71,7 @@ msgstr "" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "⇒ Invoice" -msgstr "" +msgstr "=> 开票" #. module: account_analytic_analysis #: field:account.analytic.account,ca_invoiced:0 @@ -86,7 +86,7 @@ msgstr "最近的已发票日期" #. module: account_analytic_analysis #: help:account.analytic.account,fix_price_to_invoice:0 msgid "Sum of quotations for this contract." -msgstr "" +msgstr "合同的报价单汇总" #. module: account_analytic_analysis #: help:account.analytic.account,ca_invoiced:0 @@ -96,7 +96,7 @@ msgstr "这科目的客户发票合计" #. module: account_analytic_analysis #: help:account.analytic.account,timesheet_ca_invoiced:0 msgid "Sum of timesheet lines invoiced for this contract." -msgstr "" +msgstr "合同已开票的计工单行的汇总" #. module: account_analytic_analysis #: help:account.analytic.account,revenue_per_hour:0 @@ -106,12 +106,12 @@ msgstr "计算公式:已开票金额 / 总时数" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Contracts not assigned" -msgstr "" +msgstr "合同没指定" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Partner" -msgstr "" +msgstr "业务伙伴" #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -157,7 +157,7 @@ msgstr "" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Expected" -msgstr "" +msgstr "预期" #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -170,7 +170,7 @@ msgstr "辅助核算项" #. module: account_analytic_analysis #: help:account.analytic.account,theorical_margin:0 msgid "Computed using the formula: Theoretical Revenue - Total Costs" -msgstr "" +msgstr "用此公式计算:理论收入 - 总成本" #. module: account_analytic_analysis #: field:account.analytic.account,hours_qtt_invoiced:0 @@ -180,7 +180,7 @@ msgstr "已开票的工时" #. module: account_analytic_analysis #: constraint:account.analytic.account:0 msgid "Error! You cannot create recursive analytic accounts." -msgstr "" +msgstr "错误!你不能循环创建辅助核算项" #. module: account_analytic_analysis #: field:account.analytic.account,real_margin_rate:0 @@ -190,7 +190,7 @@ msgstr "实际利润(%)" #. module: account_analytic_analysis #: help:account.analytic.account,remaining_hours:0 msgid "Computed using the formula: Maximum Time - Total Worked Time" -msgstr "" +msgstr "用下列公式计算:最大工时 - 总工作时间" #. module: account_analytic_analysis #: help:account.analytic.account,hours_quantity:0 @@ -202,7 +202,7 @@ msgstr "你在这个成本科目上花费的时间总数(数据来自计工单 #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Nothing to invoice, create" -msgstr "" +msgstr "尚未开票,创建" #. module: account_analytic_analysis #: model:ir.actions.act_window,name:account_analytic_analysis.template_of_contract_action @@ -213,7 +213,7 @@ msgstr "" #. module: account_analytic_analysis #: field:account.analytic.account,hours_quantity:0 msgid "Total Worked Time" -msgstr "" +msgstr "总工作时间" #. module: account_analytic_analysis #: field:account.analytic.account,real_margin:0 @@ -233,7 +233,7 @@ msgstr "计算公式为:(实际利润/总成本×100)" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "or view" -msgstr "" +msgstr "或 视图" #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -250,7 +250,7 @@ msgstr "月" #: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_all #: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_all msgid "Time & Materials to Invoice" -msgstr "" +msgstr "要开票的工时和材料" #. module: account_analytic_analysis #: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_overdue_all @@ -261,7 +261,7 @@ msgstr "合同" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Start Date" -msgstr "" +msgstr "开始日期" #. module: account_analytic_analysis #: help:account.analytic.account,total_cost:0 @@ -285,13 +285,13 @@ msgstr "需要与客户续签的合同" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Timesheets" -msgstr "" +msgstr "计工单" #. module: account_analytic_analysis #: code:addons/account_analytic_analysis/account_analytic_analysis.py:452 #, python-format msgid "Sale Order Lines of %s" -msgstr "" +msgstr "销售单行 %s" #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -306,7 +306,7 @@ msgstr "超期数量" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Status" -msgstr "" +msgstr "状态" #. module: account_analytic_analysis #: field:account.analytic.account,ca_theorical:0 @@ -327,7 +327,7 @@ msgstr "OpenERP中的合同是指一个被指定了业务伙伴的成本科目 #. module: account_analytic_analysis #: model:ir.actions.act_window,name:account_analytic_analysis.action_sales_order msgid "Sales Orders" -msgstr "" +msgstr "销售订单" #. module: account_analytic_analysis #: help:account.analytic.account,last_invoice_date:0 @@ -375,7 +375,7 @@ msgstr "合同" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Invoiced" -msgstr "" +msgstr "已开票" #. module: account_analytic_analysis #: help:account.analytic.account,hours_qtt_invoiced:0 @@ -413,7 +413,7 @@ msgstr "" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Sale Orders" -msgstr "" +msgstr "销售订单" #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -423,7 +423,7 @@ msgstr "使用中" #. module: account_analytic_analysis #: field:account.analytic.account,invoiced_total:0 msgid "Total Invoiced" -msgstr "" +msgstr "已开发票数量" #. module: account_analytic_analysis #: help:account.analytic.account,remaining_ca:0 @@ -433,7 +433,7 @@ msgstr "计算公式为:最大发票价格 - 已开票金额" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Responsible" -msgstr "" +msgstr "负责人" #. module: account_analytic_analysis #: field:account.analytic.account,last_invoice_date:0 @@ -511,7 +511,7 @@ msgstr "" #. module: account_analytic_analysis #: field:account.analytic.account,fix_price_invoices:0 msgid "Fixed Price" -msgstr "" +msgstr "固定价格" #. module: account_analytic_analysis #: help:account.analytic.account,last_worked_date:0 @@ -526,7 +526,7 @@ msgstr "" #. module: account_analytic_analysis #: field:account.analytic.account,est_total:0 msgid "Total Estimation" -msgstr "" +msgstr "总的估值" #. module: account_analytic_analysis #: field:account.analytic.account,remaining_ca:0 @@ -549,7 +549,7 @@ msgstr "总时间" #. module: account_analytic_analysis #: field:account.analytic.account,invoice_on_timesheets:0 msgid "On Timesheets" -msgstr "" +msgstr "在计工单上" #. module: account_analytic_analysis #: field:account.analytic.account,fix_price_to_invoice:0 @@ -562,7 +562,7 @@ msgstr "剩余时间" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Total" -msgstr "" +msgstr "合计" #~ msgid "Invalid model name in the action definition." #~ msgstr "在动作定义中输入的对象名称错误" diff --git a/addons/account_analytic_analysis/res_config.py b/addons/account_analytic_analysis/res_config.py new file mode 100644 index 00000000000..94fe769fdd4 --- /dev/null +++ b/addons/account_analytic_analysis/res_config.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Business Applications +# Copyright (C) 2004-2012 OpenERP S.A. (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from osv import fields, osv + +class sale_configuration(osv.osv_memory): + _inherit = 'sale.config.settings' + + _columns = { + 'group_template_required': fields.boolean("Mandatory use of templates.", + implied_group='account_analytic_analysis.group_template_required', + help="Allows you to set the template field as required when creating an analytic account or a contract."), + } diff --git a/addons/account_analytic_analysis/res_config_view.xml b/addons/account_analytic_analysis/res_config_view.xml new file mode 100644 index 00000000000..9c7881f2a9e --- /dev/null +++ b/addons/account_analytic_analysis/res_config_view.xml @@ -0,0 +1,21 @@ + + + + + + sale settings + sale.config.settings + + + +
+ +
+
+
+
+ +
+
+ diff --git a/addons/account_analytic_analysis/security/account_analytic_analysis_security.xml b/addons/account_analytic_analysis/security/account_analytic_analysis_security.xml index 8bcc7f2d7f0..948c390e039 100644 --- a/addons/account_analytic_analysis/security/account_analytic_analysis_security.xml +++ b/addons/account_analytic_analysis/security/account_analytic_analysis_security.xml @@ -6,5 +6,12 @@
+ + Mandatory use of templates in contracts + + the field template of the analytic accounts and contracts will be required. + + +
-
\ No newline at end of file + diff --git a/addons/account_analytic_default/i18n/es_MX.po b/addons/account_analytic_default/i18n/es_MX.po index b49ba52c5ec..3e6c5ce6837 100644 --- a/addons/account_analytic_default/i18n/es_MX.po +++ b/addons/account_analytic_default/i18n/es_MX.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-28 04:41+0000\n" -"X-Generator: Launchpad (build 16309)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_analytic_default #: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_partner diff --git a/addons/account_analytic_default/i18n/fr.po b/addons/account_analytic_default/i18n/fr.po index d698e526fa1..1244c61a3b3 100644 --- a/addons/account_analytic_default/i18n/fr.po +++ b/addons/account_analytic_default/i18n/fr.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-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-18 23:16+0000\n" -"Last-Translator: Pierre Burnier \n" +"PO-Revision-Date: 2012-11-29 15:09+0000\n" +"Last-Translator: Numérigraphe \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: 2012-11-25 06:10+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-30 05:07+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_analytic_default #: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_partner @@ -55,7 +55,7 @@ msgstr "" #: view:account.analytic.default:0 #: field:account.analytic.default,product_id:0 msgid "Product" -msgstr "Produit" +msgstr "Article" #. module: account_analytic_default #: model:ir.model,name:account_analytic_default.model_account_analytic_default diff --git a/addons/account_analytic_default/i18n/nl.po b/addons/account_analytic_default/i18n/nl.po index 27c196af13c..4cb187f5b50 100644 --- a/addons/account_analytic_default/i18n/nl.po +++ b/addons/account_analytic_default/i18n/nl.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-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-10 11:08+0000\n" +"PO-Revision-Date: 2012-12-01 16:06+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \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: 2012-11-25 06:10+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-02 04:38+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_analytic_default #: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_partner @@ -31,7 +31,7 @@ msgstr "Groepeer op..." #. module: account_analytic_default #: help:account.analytic.default,date_stop:0 msgid "Default end date for this Analytic Account." -msgstr "" +msgstr "Standaard einddatum voor deze kostenplaats" #. module: account_analytic_default #: model:ir.model,name:account_analytic_default.model_stock_picking @@ -50,6 +50,10 @@ msgid "" "default (e.g. create new customer invoice or Sale order if we select this " "partner, it will automatically take this as an analytic account)" msgstr "" +"Selecteer een relatie welke gebruik zal maken van de kostenplaats, zoals " +"gespecificeerd in de kostenplaats standaarden. (bijv. maak een nieuwe " +"klantfactuur of verkooporder, wanneer we deze relatie selecteren. Het " +"gebruikt automatisch deze kostenplaats." #. module: account_analytic_default #: view:account.analytic.default:0 @@ -86,6 +90,10 @@ msgid "" "default (e.g. create new customer invoice or Sale order if we select this " "product, it will automatically take this as an analytic account)" msgstr "" +"Selecteer een product welke gebruik zal maken van de kostenplaats, zoals " +"gespecificeerd in de kostenplaats standaarden. (bijv. maak een nieuwe " +"klantfactuur of verkooporder, wanneer we deze relatie selecteren. Het " +"gebruikt automatisch deze kostenplaats." #. module: account_analytic_default #: field:account.analytic.default,date_stop:0 @@ -116,12 +124,18 @@ msgid "" "default (e.g. create new customer invoice or Sale order if we select this " "company, it will automatically take this as an analytic account)" msgstr "" +"Selecteer een bedrijf welke gebruik zal maken van de kostenplaats, zoals " +"gespecificeerd in de kostenplaats standaarden. (bijv. maak een nieuwe " +"klantfactuur of verkooporder, wanneer we deze relatie selecteren. Het " +"gebruikt automatisch deze kostenplaats." #. module: account_analytic_default #: help:account.analytic.default,user_id:0 msgid "" "Select a user which will use analytic account specified in analytic default." msgstr "" +"Selecteer een gebruiker welke gebruik zal maken van de kostenplaats, zoals " +"gespecificeerd in de kostenplaats standaarden." #. module: account_analytic_default #: model:ir.model,name:account_analytic_default.model_account_invoice_line @@ -137,7 +151,7 @@ msgstr "Kostenplaats" #. module: account_analytic_default #: help:account.analytic.default,date_start:0 msgid "Default start date for this Analytic Account." -msgstr "" +msgstr "Standaard startdatum voor deze kostenplaats." #. module: account_analytic_default #: view:account.analytic.default:0 diff --git a/addons/account_analytic_plans/account_analytic_plans_view.xml b/addons/account_analytic_plans/account_analytic_plans_view.xml index e5c02c8640e..3dcbcda6952 100644 --- a/addons/account_analytic_plans/account_analytic_plans_view.xml +++ b/addons/account_analytic_plans/account_analytic_plans_view.xml @@ -29,15 +29,6 @@ - - - - - - - - - account.move.line.form.inherit account.move.line diff --git a/addons/account_analytic_plans/i18n/es_MX.po b/addons/account_analytic_plans/i18n/es_MX.po index e2f05df843c..0e6ac25281b 100644 --- a/addons/account_analytic_plans/i18n/es_MX.po +++ b/addons/account_analytic_plans/i18n/es_MX.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-28 04:41+0000\n" -"X-Generator: Launchpad (build 16309)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_analytic_plans #: view:analytic.plan.create.model:0 diff --git a/addons/account_analytic_plans/i18n/nb.po b/addons/account_analytic_plans/i18n/nb.po index 14d3cefe3b1..fcde00ef3e9 100644 --- a/addons/account_analytic_plans/i18n/nb.po +++ b/addons/account_analytic_plans/i18n/nb.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-09-02 09:46+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2012-12-02 20:44+0000\n" +"Last-Translator: Kaare Pettersen \n" "Language-Team: Norwegian Bokmal \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:07+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-03 04:36+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_analytic_plans #: view:analytic.plan.create.model:0 @@ -97,7 +97,7 @@ msgstr "Konto ID" #: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:41 #, python-format msgid "Error!" -msgstr "" +msgstr "Feil!" #. module: account_analytic_plans #: report:account.analytic.account.crossovered.analytic:0 @@ -138,7 +138,7 @@ msgstr "Ugyldig BBA Strukturert Kommunikasjon!" #: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:41 #, python-format msgid "There is no analytic plan defined." -msgstr "" +msgstr "Det er ikke noe analytisk plan definert." #. module: account_analytic_plans #: constraint:account.move.line:0 @@ -191,7 +191,7 @@ msgstr "Prosentdel" #: code:addons/account_analytic_plans/wizard/account_crossovered_analytic.py:61 #, python-format msgid "There are no analytic lines related to account %s." -msgstr "" +msgstr "Det er ikke noe analytiske linjer relatert til konto %s." #. module: account_analytic_plans #: field:account.analytic.plan.instance.line,analytic_account_id:0 @@ -233,7 +233,7 @@ msgstr "Analytisk plan linjer" #. module: account_analytic_plans #: constraint:account.move.line:0 msgid "Account and Period must belong to the same company." -msgstr "" +msgstr "Konto og periode må tilhøre samme selskap." #. module: account_analytic_plans #: constraint:account.bank.statement:0 @@ -264,7 +264,7 @@ msgstr "Valuta" #. module: account_analytic_plans #: constraint:account.analytic.line:0 msgid "You cannot create analytic line on view account." -msgstr "" +msgstr "Du kan ikke opprette en analytisk linje på vis konto." #. module: account_analytic_plans #: report:account.analytic.account.crossovered.analytic:0 @@ -279,7 +279,7 @@ msgstr "Konto5 ID" #. module: account_analytic_plans #: constraint:account.move.line:0 msgid "You cannot create journal items on closed account." -msgstr "" +msgstr "Du kan ikke opprette journal enmer i en lukker konto." #. module: account_analytic_plans #: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_instance_line @@ -301,7 +301,7 @@ msgstr "Til Dato." #: code:addons/account_analytic_plans/account_analytic_plans.py:486 #, python-format msgid "You have to define an analytic journal on the '%s' journal." -msgstr "" +msgstr "Du må definere en analytisk journal på %s journal." #. module: account_analytic_plans #: field:account.crossovered.analytic,empty_line:0 @@ -415,7 +415,7 @@ msgstr "Konto4 ID" #: code:addons/account_analytic_plans/account_analytic_plans.py:234 #, python-format msgid "The total should be between %s and %s." -msgstr "" +msgstr "Totalen burde være mellom %s og %s." #. module: account_analytic_plans #: view:account.analytic.plan.instance.line:0 @@ -469,6 +469,8 @@ msgid "" "Configuration error!\n" "The currency chosen should be shared by the default accounts too." msgstr "" +"Konfigurasjons feil!\n" +"Valutaen valgt bør deles av standard kontoer også." #. module: account_analytic_plans #: model:ir.model,name:account_analytic_plans.model_analytic_plan_create_model @@ -488,19 +490,19 @@ msgstr "Distribusjons modeller" #. module: account_analytic_plans #: constraint:account.move.line:0 msgid "You cannot create journal items on an account of type view." -msgstr "" +msgstr "Du kan ikke opprette journal elementer på en konto av typen visning." #. module: account_analytic_plans #: code:addons/account_analytic_plans/wizard/account_crossovered_analytic.py:61 #, python-format msgid "User Error!" -msgstr "" +msgstr "Bruker feil!" #. module: account_analytic_plans #: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:38 #, python-format msgid "Please put a name and a code before saving the model." -msgstr "" +msgstr "Kan du sette et navn og en kode før du lagrer modellen." #. module: account_analytic_plans #: field:account.crossovered.analytic,date1:0 @@ -528,13 +530,13 @@ msgstr "Navnet på journalen må være unikt per firma !" #: view:account.crossovered.analytic:0 #: view:analytic.plan.create.model:0 msgid "or" -msgstr "" +msgstr "Eller." #. module: account_analytic_plans #: code:addons/account_analytic_plans/account_analytic_plans.py:221 #, python-format msgid "A model with this name and code already exists." -msgstr "" +msgstr "En modell med dette navnet og kode fins allerede." #, python-format #~ msgid "User Error" diff --git a/addons/account_analytic_plans/i18n/nl.po b/addons/account_analytic_plans/i18n/nl.po index e7c4377939a..a84174a0099 100644 --- a/addons/account_analytic_plans/i18n/nl.po +++ b/addons/account_analytic_plans/i18n/nl.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-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-12 11:32+0000\n" +"PO-Revision-Date: 2012-12-01 16:15+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \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: 2012-11-25 06:07+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-02 04:38+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_analytic_plans #: view:analytic.plan.create.model:0 @@ -96,7 +96,7 @@ msgstr "Account Id" #: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:41 #, python-format msgid "Error!" -msgstr "" +msgstr "Fout!" #. module: account_analytic_plans #: report:account.analytic.account.crossovered.analytic:0 @@ -137,7 +137,7 @@ msgstr "Ongeldige BBA gestructureerde communicatie!" #: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:41 #, python-format msgid "There is no analytic plan defined." -msgstr "" +msgstr "Er is geen kostenplaatplan gedefinieerd" #. module: account_analytic_plans #: constraint:account.move.line:0 @@ -190,7 +190,7 @@ msgstr "Perc(%)" #: code:addons/account_analytic_plans/wizard/account_crossovered_analytic.py:61 #, python-format msgid "There are no analytic lines related to account %s." -msgstr "" +msgstr "Er zijn geen kostenplaatsregels gekoppeld aan deze kostenplaats %s." #. module: account_analytic_plans #: field:account.analytic.plan.instance.line,analytic_account_id:0 @@ -232,7 +232,7 @@ msgstr "Kostenplaatsboekingen" #. module: account_analytic_plans #: constraint:account.move.line:0 msgid "Account and Period must belong to the same company." -msgstr "" +msgstr "Kostenplaats en periode moeten behoren tot hetzelfde bedrijf." #. module: account_analytic_plans #: constraint:account.bank.statement:0 @@ -264,6 +264,8 @@ msgstr "Valuta" #: constraint:account.analytic.line:0 msgid "You cannot create analytic line on view account." msgstr "" +"Het is niet mogelijk om kostenplaatsregels te maken op een kostenplaats van " +"het type 'weergave'" #. module: account_analytic_plans #: report:account.analytic.account.crossovered.analytic:0 @@ -279,6 +281,7 @@ msgstr "Rekening5 Id" #: constraint:account.move.line:0 msgid "You cannot create journal items on closed account." msgstr "" +"Het is niet mogelijk om journaalposten te maken in een gesloten rekenening" #. module: account_analytic_plans #: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_instance_line @@ -300,7 +303,7 @@ msgstr "T/m datum" #: code:addons/account_analytic_plans/account_analytic_plans.py:486 #, python-format msgid "You have to define an analytic journal on the '%s' journal." -msgstr "" +msgstr "U dient een kostenplaats te definiëren op het '%s' dagboek." #. module: account_analytic_plans #: field:account.crossovered.analytic,empty_line:0 @@ -414,7 +417,7 @@ msgstr "Rekening4 Id" #: code:addons/account_analytic_plans/account_analytic_plans.py:234 #, python-format msgid "The total should be between %s and %s." -msgstr "" +msgstr "Het totaal moet liggen tussen %s en %s." #. module: account_analytic_plans #: view:account.analytic.plan.instance.line:0 @@ -468,6 +471,8 @@ msgid "" "Configuration error!\n" "The currency chosen should be shared by the default accounts too." msgstr "" +"Configurariefout!\n" +"De gekozen valuta moet ook worden gedeeld door de standaard kostenplaatsen." #. module: account_analytic_plans #: model:ir.model,name:account_analytic_plans.model_analytic_plan_create_model @@ -488,18 +493,20 @@ msgstr "Kostenverdelingsmodellen" #: constraint:account.move.line:0 msgid "You cannot create journal items on an account of type view." msgstr "" +"Het is niet mogelijk om journaalposten te maken in een rekening van het type " +"'weergave'" #. module: account_analytic_plans #: code:addons/account_analytic_plans/wizard/account_crossovered_analytic.py:61 #, python-format msgid "User Error!" -msgstr "" +msgstr "Gebruikersfout!" #. module: account_analytic_plans #: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:38 #, python-format msgid "Please put a name and a code before saving the model." -msgstr "" +msgstr "Geef een naam en code in voordat u het model opslaat." #. module: account_analytic_plans #: field:account.crossovered.analytic,date1:0 @@ -512,6 +519,7 @@ msgid "" "The amount of the voucher must be the same amount as the one on the " "statement line." msgstr "" +"Het bedrag van de bon moet gelijk zijn met het bedrag op de afschriftregel." #. module: account_analytic_plans #: field:account.analytic.plan.line,sequence:0 @@ -527,13 +535,13 @@ msgstr "De naam van het dagboek moet uniek zijn per bedrijf !" #: view:account.crossovered.analytic:0 #: view:analytic.plan.create.model:0 msgid "or" -msgstr "" +msgstr "of" #. module: account_analytic_plans #: code:addons/account_analytic_plans/account_analytic_plans.py:221 #, python-format msgid "A model with this name and code already exists." -msgstr "" +msgstr "Een model met deze naam en code bestaat al." #, python-format #~ msgid "A model having this name and code already exists !" diff --git a/addons/account_analytic_plans/i18n/zh_CN.po b/addons/account_analytic_plans/i18n/zh_CN.po index 3b59a5409be..80ab2d4a4c8 100644 --- a/addons/account_analytic_plans/i18n/zh_CN.po +++ b/addons/account_analytic_plans/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-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-08 04:10+0000\n" -"Last-Translator: 开阖软件 Jeff Wang \n" +"PO-Revision-Date: 2012-11-28 07:38+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: 2012-11-25 06:07+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:14+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_analytic_plans #: view:analytic.plan.create.model:0 @@ -95,7 +95,7 @@ msgstr "项 ID" #: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:41 #, python-format msgid "Error!" -msgstr "" +msgstr "错误!" #. module: account_analytic_plans #: report:account.analytic.account.crossovered.analytic:0 @@ -136,7 +136,7 @@ msgstr "BBA传输结构有误!" #: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:41 #, python-format msgid "There is no analytic plan defined." -msgstr "" +msgstr "没有辅助核算计划定义" #. module: account_analytic_plans #: constraint:account.move.line:0 @@ -187,7 +187,7 @@ msgstr "百分比" #: code:addons/account_analytic_plans/wizard/account_crossovered_analytic.py:61 #, python-format msgid "There are no analytic lines related to account %s." -msgstr "" +msgstr "没有辅助核算行关联到科目%s." #. module: account_analytic_plans #: field:account.analytic.plan.instance.line,analytic_account_id:0 @@ -229,7 +229,7 @@ msgstr "辅助核算方案明细" #. module: account_analytic_plans #: constraint:account.move.line:0 msgid "Account and Period must belong to the same company." -msgstr "" +msgstr "科目和会计周期必须属于同一个公司" #. module: account_analytic_plans #: constraint:account.bank.statement:0 @@ -257,7 +257,7 @@ msgstr "币别" #. module: account_analytic_plans #: constraint:account.analytic.line:0 msgid "You cannot create analytic line on view account." -msgstr "" +msgstr "你不能视图科目上面创建辅助核算行。" #. module: account_analytic_plans #: report:account.analytic.account.crossovered.analytic:0 @@ -272,7 +272,7 @@ msgstr "项5 ID" #. module: account_analytic_plans #: constraint:account.move.line:0 msgid "You cannot create journal items on closed account." -msgstr "" +msgstr "你不能在关闭的科目创建账目项目" #. module: account_analytic_plans #: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_instance_line @@ -294,7 +294,7 @@ msgstr "日期到" #: code:addons/account_analytic_plans/account_analytic_plans.py:486 #, python-format msgid "You have to define an analytic journal on the '%s' journal." -msgstr "" +msgstr "你必须在'%s' 分类账定义一个辅助核算分类账" #. module: account_analytic_plans #: field:account.crossovered.analytic,empty_line:0 @@ -408,7 +408,7 @@ msgstr "项4 ID" #: code:addons/account_analytic_plans/account_analytic_plans.py:234 #, python-format msgid "The total should be between %s and %s." -msgstr "" +msgstr "总计在 %s 和 %s 之间。" #. module: account_analytic_plans #: view:account.analytic.plan.instance.line:0 @@ -461,7 +461,7 @@ msgstr "账簿" msgid "" "Configuration error!\n" "The currency chosen should be shared by the default accounts too." -msgstr "" +msgstr "配置错误" #. module: account_analytic_plans #: model:ir.model,name:account_analytic_plans.model_analytic_plan_create_model @@ -481,19 +481,19 @@ msgstr "分摊模型" #. module: account_analytic_plans #: constraint:account.move.line:0 msgid "You cannot create journal items on an account of type view." -msgstr "" +msgstr "你不能在视图类型的科目创建账目项目" #. module: account_analytic_plans #: code:addons/account_analytic_plans/wizard/account_crossovered_analytic.py:61 #, python-format msgid "User Error!" -msgstr "" +msgstr "用户错误!" #. module: account_analytic_plans #: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:38 #, python-format msgid "Please put a name and a code before saving the model." -msgstr "" +msgstr "保存模型前请输入名称和代码" #. module: account_analytic_plans #: field:account.crossovered.analytic,date1:0 @@ -505,7 +505,7 @@ msgstr "开始日期" msgid "" "The amount of the voucher must be the same amount as the one on the " "statement line." -msgstr "" +msgstr "单据的金额必须跟对账单其中一行金额相同。" #. module: account_analytic_plans #: field:account.analytic.plan.line,sequence:0 @@ -521,13 +521,13 @@ msgstr "每个公司的账簿名称必须唯一!" #: view:account.crossovered.analytic:0 #: view:analytic.plan.create.model:0 msgid "or" -msgstr "" +msgstr "or" #. module: account_analytic_plans #: code:addons/account_analytic_plans/account_analytic_plans.py:221 #, python-format msgid "A model with this name and code already exists." -msgstr "" +msgstr "这个名称和代码的模型已经存在。" #~ msgid "Select Information" #~ msgstr "选择信息" diff --git a/addons/account_anglo_saxon/i18n/es_MX.po b/addons/account_anglo_saxon/i18n/es_MX.po index ae8e2eb2dee..48ca0408128 100644 --- a/addons/account_anglo_saxon/i18n/es_MX.po +++ b/addons/account_anglo_saxon/i18n/es_MX.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-28 04:41+0000\n" -"X-Generator: Launchpad (build 16309)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_anglo_saxon #: sql_constraint:purchase.order:0 diff --git a/addons/account_anglo_saxon/i18n/fr.po b/addons/account_anglo_saxon/i18n/fr.po index 43acf7f7da8..e675aff8bcb 100644 --- a/addons/account_anglo_saxon/i18n/fr.po +++ b/addons/account_anglo_saxon/i18n/fr.po @@ -8,15 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2011-01-13 19:32+0000\n" -"Last-Translator: Maxime Chambreuil (http://www.savoirfairelinux.com) " -"\n" +"PO-Revision-Date: 2012-11-29 15:33+0000\n" +"Last-Translator: Numérigraphe \n" "Language-Team: French \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:19+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-30 05:08+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_anglo_saxon #: sql_constraint:purchase.order:0 @@ -31,7 +30,7 @@ msgstr "Le numéro de facture doit être unique par société !" #. module: account_anglo_saxon #: model:ir.model,name:account_anglo_saxon.model_product_category msgid "Product Category" -msgstr "Catégorie de produit" +msgstr "Catégorie d'articles" #. module: account_anglo_saxon #: sql_constraint:stock.picking:0 @@ -68,7 +67,7 @@ msgstr "Bon de commande" #. module: account_anglo_saxon #: model:ir.model,name:account_anglo_saxon.model_product_template msgid "Product Template" -msgstr "Modèle de produit" +msgstr "Modèle d'article" #. module: account_anglo_saxon #: field:product.category,property_account_creditor_price_difference_categ:0 diff --git a/addons/account_asset/i18n/es_MX.po b/addons/account_asset/i18n/es_MX.po index 7684caf86dc..5caeb5db1b1 100644 --- a/addons/account_asset/i18n/es_MX.po +++ b/addons/account_asset/i18n/es_MX.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-28 04:41+0000\n" -"X-Generator: Launchpad (build 16309)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_asset #: view:account.asset.asset:0 diff --git a/addons/account_asset/i18n/it.po b/addons/account_asset/i18n/it.po new file mode 100644 index 00000000000..1b1fac82fd3 --- /dev/null +++ b/addons/account_asset/i18n/it.po @@ -0,0 +1,781 @@ +# Italian translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-30 00:08+0000\n" +"Last-Translator: Sergio Corato \n" +"Language-Team: Italian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-12-01 05:09+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Assets in draft and open states" +msgstr "Immobili in stato bozza e aperto" + +#. module: account_asset +#: field:account.asset.category,method_end:0 +#: field:account.asset.history,method_end:0 +#: field:asset.modify,method_end:0 +msgid "Ending date" +msgstr "Data finale" + +#. module: account_asset +#: field:account.asset.asset,value_residual:0 +msgid "Residual Value" +msgstr "Valore residuo" + +#. module: account_asset +#: field:account.asset.category,account_expense_depreciation_id:0 +msgid "Depr. Expense Account" +msgstr "Conto Ammortamento" + +#. module: account_asset +#: view:asset.depreciation.confirmation.wizard:0 +msgid "Compute Asset" +msgstr "Calcola Ammortamenti" + +#. module: account_asset +#: view:asset.asset.report:0 +msgid "Group By..." +msgstr "Raggruppa per..." + +#. module: account_asset +#: field:asset.asset.report,gross_value:0 +msgid "Gross Amount" +msgstr "Valore Iniziale" + +#. module: account_asset +#: view:account.asset.asset:0 +#: field:account.asset.depreciation.line,asset_id:0 +#: field:account.asset.history,asset_id:0 +#: field:account.move.line,asset_id:0 +#: view:asset.asset.report:0 +#: field:asset.asset.report,asset_id:0 +#: model:ir.model,name:account_asset.model_account_asset_asset +msgid "Asset" +msgstr "Immobilizzazione" + +#. module: account_asset +#: help:account.asset.asset,prorata:0 +#: help:account.asset.category,prorata:0 +msgid "" +"Indicates that the first depreciation entry for this asset have to be done " +"from the purchase date instead of the first January" +msgstr "" +"Indica che il primo ammortamento di questo immobile sarà calcolato dalla " +"data di acquisto invece che dal primo Gennaio." + +#. module: account_asset +#: selection:account.asset.asset,method:0 +#: selection:account.asset.category,method:0 +msgid "Linear" +msgstr "Costante" + +#. module: account_asset +#: field:account.asset.asset,company_id:0 +#: field:account.asset.category,company_id:0 +#: view:asset.asset.report:0 +#: field:asset.asset.report,company_id:0 +msgid "Company" +msgstr "Azienda" + +#. module: account_asset +#: view:asset.modify:0 +msgid "Modify" +msgstr "" + +#. module: account_asset +#: selection:account.asset.asset,state:0 +#: view:asset.asset.report:0 +#: selection:asset.asset.report,state:0 +msgid "Running" +msgstr "In esecuzione" + +#. module: account_asset +#: field:account.asset.depreciation.line,amount:0 +msgid "Depreciation Amount" +msgstr "Importo Ammortamento" + +#. module: account_asset +#: view:asset.asset.report:0 +#: model:ir.actions.act_window,name:account_asset.action_asset_asset_report +#: model:ir.model,name:account_asset.model_asset_asset_report +#: model:ir.ui.menu,name:account_asset.menu_action_asset_asset_report +msgid "Assets Analysis" +msgstr "Analisi Immobilizzazioni" + +#. module: account_asset +#: field:asset.modify,name:0 +msgid "Reason" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,method_progress_factor:0 +#: field:account.asset.category,method_progress_factor:0 +msgid "Degressive Factor" +msgstr "Tasso Degressivo" + +#. module: account_asset +#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal +#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_normal +msgid "Asset Categories" +msgstr "Categorie Immobilizzazioni" + +#. module: account_asset +#: view:account.asset.asset:0 +#: field:account.asset.asset,account_move_line_ids:0 +#: field:account.move.line,entry_ids:0 +#: model:ir.actions.act_window,name:account_asset.act_entries_open +msgid "Entries" +msgstr "Registrazioni" + +#. module: account_asset +#: view:account.asset.asset:0 +#: field:account.asset.asset,depreciation_line_ids:0 +msgid "Depreciation Lines" +msgstr "Righe Ammortamento" + +#. module: account_asset +#: help:account.asset.asset,salvage_value:0 +msgid "It is the amount you plan to have that you cannot depreciate." +msgstr "E' l'ammontare che si prevede di non poter ammortizzare." + +#. module: account_asset +#: field:account.asset.depreciation.line,depreciation_date:0 +#: view:asset.asset.report:0 +#: field:asset.asset.report,depreciation_date:0 +msgid "Depreciation Date" +msgstr "Data Ammortamento" + +#. module: account_asset +#: constraint:account.asset.asset:0 +msgid "Error ! You cannot create recursive assets." +msgstr "Errore ! Non è possibile creare immobilizzazioni ricorsive." + +#. module: account_asset +#: field:asset.asset.report,posted_value:0 +msgid "Posted Amount" +msgstr "Importo Contabilizzato" + +#. module: account_asset +#: view:account.asset.asset:0 +#: view:asset.asset.report:0 +#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_form +#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_form +#: model:ir.ui.menu,name:account_asset.menu_finance_assets +#: model:ir.ui.menu,name:account_asset.menu_finance_config_assets +msgid "Assets" +msgstr "Immobilizzazioni" + +#. module: account_asset +#: field:account.asset.category,account_depreciation_id:0 +msgid "Depreciation Account" +msgstr "F.do Ammortamento" + +#. module: account_asset +#: view:account.asset.asset:0 +#: view:account.asset.category:0 +#: view:account.asset.history:0 +#: view:asset.modify:0 +#: field:asset.modify,note:0 +msgid "Notes" +msgstr "Note" + +#. module: account_asset +#: field:account.asset.depreciation.line,move_id:0 +msgid "Depreciation Entry" +msgstr "" + +#. module: account_asset +#: sql_constraint:account.move.line:0 +msgid "Wrong credit or debit value in accounting entry !" +msgstr "Valore di credito o debito errato nella registrazione contabile !" + +#. module: account_asset +#: view:asset.asset.report:0 +#: field:asset.asset.report,nbr:0 +msgid "# of Depreciation Lines" +msgstr "# di Righe Ammortamento" + +#. module: account_asset +#: field:account.asset.asset,method_period:0 +msgid "Number of Months in a Period" +msgstr "Numero di Mesi in un Periodo" + +#. module: account_asset +#: view:asset.asset.report:0 +msgid "Assets in draft state" +msgstr "Immobilizzazioni in stato \"bozza\"" + +#. module: account_asset +#: field:account.asset.asset,method_end:0 +#: selection:account.asset.asset,method_time:0 +#: selection:account.asset.category,method_time:0 +#: selection:account.asset.history,method_time:0 +msgid "Ending Date" +msgstr "Data finale" + +#. module: account_asset +#: field:account.asset.asset,code:0 +msgid "Reference" +msgstr "Riferimento" + +#. module: account_asset +#: constraint:account.invoice:0 +msgid "Invalid BBA Structured Communication !" +msgstr "Comunicazione strutturata BBA non valida !" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Account Asset" +msgstr "" + +#. module: account_asset +#: model:ir.actions.act_window,name:account_asset.action_asset_depreciation_confirmation_wizard +#: model:ir.ui.menu,name:account_asset.menu_asset_depreciation_confirmation_wizard +msgid "Compute Assets" +msgstr "Calcola Ammortamenti" + +#. module: account_asset +#: field:account.asset.category,method_period:0 +#: field:account.asset.history,method_period:0 +#: field:asset.modify,method_period:0 +msgid "Period Length" +msgstr "Durata del Periodo" + +#. module: account_asset +#: selection:account.asset.asset,state:0 +#: view:asset.asset.report:0 +#: selection:asset.asset.report,state:0 +msgid "Draft" +msgstr "Bozza" + +#. module: account_asset +#: view:asset.asset.report:0 +msgid "Date of asset purchase" +msgstr "Data di acquisto dell'immobilizzazione" + +#. module: account_asset +#: help:account.asset.asset,method_number:0 +msgid "Calculates Depreciation within specified interval" +msgstr "Calcola l'Ammortamento all'interno del periodo indicato" + +#. module: account_asset +#: field:account.asset.asset,active:0 +msgid "Active" +msgstr "Attivo" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Change Duration" +msgstr "Modifica Durata" + +#. module: account_asset +#: view:account.asset.category:0 +msgid "Analytic Information" +msgstr "Informazioni Analitiche" + +#. module: account_asset +#: field:account.asset.category,account_analytic_id:0 +msgid "Analytic account" +msgstr "Conto analitico" + +#. module: account_asset +#: field:account.asset.asset,method:0 +#: field:account.asset.category,method:0 +msgid "Computation Method" +msgstr "Metodo di calcolo" + +#. module: account_asset +#: help:account.asset.asset,method_period:0 +msgid "State here the time during 2 depreciations, in months" +msgstr "Indicare l'intervallo tra 2 ammortamenti, in mesi" + +#. module: account_asset +#: constraint:account.asset.asset:0 +msgid "" +"Prorata temporis can be applied only for time method \"number of " +"depreciations\"." +msgstr "" + +#. module: account_asset +#: help:account.asset.history,method_time:0 +msgid "" +"The method to use to compute the dates and number of depreciation lines.\n" +"Number of Depreciations: Fix the number of depreciation lines and the time " +"between 2 depreciations.\n" +"Ending Date: Choose the time between 2 depreciations and the date the " +"depreciations won't go beyond." +msgstr "" + +#. module: account_asset +#: constraint:account.move.line:0 +msgid "" +"The date of your Journal Entry is not in the defined period! You should " +"change the date or remove this constraint from the journal." +msgstr "" + +#. module: account_asset +#: help:account.asset.history,method_period:0 +msgid "Time in month between two depreciations" +msgstr "Tempo in mesi tra due ammortamenti" + +#. module: account_asset +#: view:asset.modify:0 +#: model:ir.actions.act_window,name:account_asset.action_asset_modify +#: model:ir.model,name:account_asset.model_asset_modify +msgid "Modify Asset" +msgstr "Modifica Immobilizzazione" + +#. module: account_asset +#: field:account.asset.asset,salvage_value:0 +msgid "Salvage Value" +msgstr "Valore di Realizzo" + +#. module: account_asset +#: field:account.asset.asset,category_id:0 +#: view:account.asset.category:0 +#: field:account.invoice.line,asset_category_id:0 +#: view:asset.asset.report:0 +msgid "Asset Category" +msgstr "Categoria Immobilizzazione" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Assets in closed state" +msgstr "Immobilizzazioni in stato \"chiuso\"" + +#. module: account_asset +#: constraint:account.move.line:0 +msgid "Account and Period must belong to the same company." +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,parent_id:0 +msgid "Parent Asset" +msgstr "" + +#. module: account_asset +#: view:account.asset.history:0 +#: model:ir.model,name:account_asset.model_account_asset_history +msgid "Asset history" +msgstr "Storico immobilizzazione" + +#. module: account_asset +#: view:account.asset.category:0 +msgid "Search Asset Category" +msgstr "Ricerca Categoria Immobilizzazioni" + +#. module: account_asset +#: model:ir.model,name:account_asset.model_account_invoice_line +msgid "Invoice Line" +msgstr "Riga fattura" + +#. module: account_asset +#: constraint:account.move.line:0 +msgid "" +"The selected account of your Journal Entry forces to provide a secondary " +"currency. You should remove the secondary currency on the account or select " +"a multi-currency view on the journal." +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Depreciation Board" +msgstr "" + +#. module: account_asset +#: model:ir.model,name:account_asset.model_account_move_line +msgid "Journal Items" +msgstr "" + +#. module: account_asset +#: field:asset.asset.report,unposted_value:0 +msgid "Unposted Amount" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,method_time:0 +#: field:account.asset.category,method_time:0 +#: field:account.asset.history,method_time:0 +msgid "Time Method" +msgstr "" + +#. module: account_asset +#: view:asset.depreciation.confirmation.wizard:0 +#: view:asset.modify:0 +msgid "or" +msgstr "" + +#. module: account_asset +#: constraint:account.move.line:0 +msgid "You cannot create journal items on closed account." +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,note:0 +#: field:account.asset.category,note:0 +#: field:account.asset.history,note:0 +msgid "Note" +msgstr "" + +#. module: account_asset +#: help:account.asset.asset,method:0 +#: help:account.asset.category,method:0 +msgid "" +"Choose the method to use to compute the amount of depreciation lines.\n" +" * Linear: Calculated on basis of: Gross Value / Number of Depreciations\n" +" * Degressive: Calculated on basis of: Remaining Value * Degressive Factor" +msgstr "" + +#. module: account_asset +#: help:account.asset.asset,method_time:0 +#: help:account.asset.category,method_time:0 +msgid "" +"Choose the method to use to compute the dates and number of depreciation " +"lines.\n" +" * Number of Depreciations: Fix the number of depreciation lines and the " +"time between 2 depreciations.\n" +" * Ending Date: Choose the time between 2 depreciations and the date the " +"depreciations won't go beyond." +msgstr "" + +#. module: account_asset +#: view:asset.asset.report:0 +msgid "Assets in running state" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Closed" +msgstr "" + +#. module: account_asset +#: help:account.asset.asset,state:0 +msgid "" +"When an asset is created, the status is 'Draft'.\n" +"If the asset is confirmed, the status goes in 'Running' and the depreciation " +"lines can be posted in the accounting.\n" +"You can manually close an asset when the depreciation is over. If the last " +"line of depreciation is posted, the asset automatically goes in that status." +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,state:0 +#: field:asset.asset.report,state:0 +msgid "Status" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,partner_id:0 +#: field:asset.asset.report,partner_id:0 +msgid "Partner" +msgstr "" + +#. module: account_asset +#: view:asset.asset.report:0 +msgid "Posted depreciation lines" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,child_ids:0 +msgid "Children Assets" +msgstr "" + +#. module: account_asset +#: view:asset.asset.report:0 +msgid "Date of depreciation" +msgstr "" + +#. module: account_asset +#: field:account.asset.history,user_id:0 +msgid "User" +msgstr "" + +#. module: account_asset +#: field:account.asset.history,date:0 +msgid "Date" +msgstr "" + +#. module: account_asset +#: view:asset.asset.report:0 +msgid "Extended Filters..." +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +#: view:asset.depreciation.confirmation.wizard:0 +msgid "Compute" +msgstr "" + +#. module: account_asset +#: view:account.asset.history:0 +msgid "Asset History" +msgstr "" + +#. module: account_asset +#: field:asset.asset.report,name:0 +msgid "Year" +msgstr "" + +#. module: account_asset +#: model:ir.model,name:account_asset.model_asset_depreciation_confirmation_wizard +msgid "asset.depreciation.confirmation.wizard" +msgstr "" + +#. module: account_asset +#: field:account.asset.category,account_asset_id:0 +msgid "Asset Account" +msgstr "" + +#. module: account_asset +#: field:account.asset.depreciation.line,parent_state:0 +msgid "State of Asset" +msgstr "" + +#. module: account_asset +#: field:account.asset.depreciation.line,name:0 +msgid "Depreciation Name" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +#: field:account.asset.asset,history_ids:0 +msgid "History" +msgstr "" + +#. module: account_asset +#: sql_constraint:account.invoice:0 +msgid "Invoice Number must be unique per Company!" +msgstr "" + +#. module: account_asset +#: field:asset.depreciation.confirmation.wizard,period_id:0 +msgid "Period" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "General" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,prorata:0 +#: field:account.asset.category,prorata:0 +msgid "Prorata Temporis" +msgstr "" + +#. module: account_asset +#: model:ir.model,name:account_asset.model_account_invoice +msgid "Invoice" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Set to Close" +msgstr "" + +#. module: account_asset +#: view:asset.depreciation.confirmation.wizard:0 +#: view:asset.modify:0 +msgid "Cancel" +msgstr "" + +#. module: account_asset +#: selection:account.asset.asset,state:0 +#: selection:asset.asset.report,state:0 +msgid "Close" +msgstr "" + +#. module: account_asset +#: view:account.asset.category:0 +msgid "Depreciation Method" +msgstr "" + +#. module: account_asset +#: view:asset.modify:0 +msgid "Asset Durations to Modify" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,purchase_date:0 +#: view:asset.asset.report:0 +#: field:asset.asset.report,purchase_date:0 +msgid "Purchase Date" +msgstr "" + +#. module: account_asset +#: selection:account.asset.asset,method:0 +#: selection:account.asset.category,method:0 +msgid "Degressive" +msgstr "" + +#. module: account_asset +#: help:asset.depreciation.confirmation.wizard,period_id:0 +msgid "" +"Choose the period for which you want to automatically post the depreciation " +"lines of running assets" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Current" +msgstr "" + +#. module: account_asset +#: field:account.asset.depreciation.line,remaining_value:0 +msgid "Amount to Depreciate" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,name:0 +msgid "Asset Name" +msgstr "" + +#. module: account_asset +#: field:account.asset.category,open_asset:0 +msgid "Skip Draft State" +msgstr "" + +#. module: account_asset +#: view:account.asset.category:0 +msgid "Depreciation Dates" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,currency_id:0 +msgid "Currency" +msgstr "" + +#. module: account_asset +#: field:account.asset.category,journal_id:0 +msgid "Journal" +msgstr "" + +#. module: account_asset +#: field:account.asset.history,name:0 +msgid "History name" +msgstr "" + +#. module: account_asset +#: field:account.asset.depreciation.line,depreciated_value:0 +msgid "Amount Already Depreciated" +msgstr "" + +#. module: account_asset +#: field:account.asset.depreciation.line,move_check:0 +#: view:asset.asset.report:0 +#: field:asset.asset.report,move_check:0 +msgid "Posted" +msgstr "" + +#. module: account_asset +#: model:ir.actions.act_window,help:account_asset.action_asset_asset_report +msgid "" +"

\n" +" From this report, you can have an overview on all depreciation. " +"The\n" +" tool search can also be used to personalise your Assets reports " +"and\n" +" so, match this analysis to your needs;\n" +"

\n" +" " +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,purchase_value:0 +msgid "Gross Value" +msgstr "" + +#. module: account_asset +#: field:account.asset.category,name:0 +msgid "Name" +msgstr "" + +#. module: account_asset +#: constraint:account.move.line:0 +msgid "You cannot create journal items on an account of type view." +msgstr "" + +#. module: account_asset +#: help:account.asset.category,open_asset:0 +msgid "" +"Check this if you want to automatically confirm the assets of this category " +"when created by invoices." +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Set to Draft" +msgstr "" + +#. module: account_asset +#: model:ir.model,name:account_asset.model_account_asset_depreciation_line +msgid "Asset depreciation line" +msgstr "" + +#. module: account_asset +#: view:account.asset.category:0 +#: field:asset.asset.report,asset_category_id:0 +#: model:ir.model,name:account_asset.model_account_asset_category +msgid "Asset category" +msgstr "" + +#. module: account_asset +#: view:asset.asset.report:0 +#: field:asset.asset.report,depreciation_value:0 +msgid "Amount of Depreciation Lines" +msgstr "" + +#. module: account_asset +#: code:addons/account_asset/wizard/wizard_asset_compute.py:49 +#, python-format +msgid "Created Asset Moves" +msgstr "" + +#. module: account_asset +#: field:account.asset.depreciation.line,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: account_asset +#: help:account.asset.category,method_period:0 +msgid "State here the time between 2 depreciations, in months" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,method_number:0 +#: selection:account.asset.asset,method_time:0 +#: field:account.asset.category,method_number:0 +#: selection:account.asset.category,method_time:0 +#: field:account.asset.history,method_number:0 +#: selection:account.asset.history,method_time:0 +#: field:asset.modify,method_number:0 +msgid "Number of Depreciations" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Create Move" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Confirm Asset" +msgstr "" + +#. module: account_asset +#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_tree +#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_tree +msgid "Asset Hierarchy" +msgstr "" diff --git a/addons/account_asset/i18n/nl.po b/addons/account_asset/i18n/nl.po index e2b3f3535c0..49a547381af 100644 --- a/addons/account_asset/i18n/nl.po +++ b/addons/account_asset/i18n/nl.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-06-28 12:49+0000\n" +"PO-Revision-Date: 2012-12-01 16:19+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:31+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-02 04:38+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_asset #: view:account.asset.asset:0 @@ -161,7 +161,7 @@ msgstr "Afschrijvingsdatum" #. module: account_asset #: constraint:account.asset.asset:0 msgid "Error ! You cannot create recursive assets." -msgstr "" +msgstr "Fout! Het is niet toegestaan om recursieve activa aan te maken." #. module: account_asset #: field:asset.asset.report,posted_value:0 @@ -211,7 +211,7 @@ msgstr "# afschrijvingsregels" #. module: account_asset #: field:account.asset.asset,method_period:0 msgid "Number of Months in a Period" -msgstr "" +msgstr "Aantal maanden in de periode" #. module: account_asset #: view:asset.asset.report:0 @@ -369,7 +369,7 @@ msgstr "Activa in gesloten status" #. module: account_asset #: constraint:account.move.line:0 msgid "Account and Period must belong to the same company." -msgstr "" +msgstr "Kostenplaats en periode moeten behoren tot hetzelfde bedrijf." #. module: account_asset #: field:account.asset.asset,parent_id:0 @@ -429,12 +429,13 @@ msgstr "Tijdmethode" #: view:asset.depreciation.confirmation.wizard:0 #: view:asset.modify:0 msgid "or" -msgstr "" +msgstr "of" #. module: account_asset #: constraint:account.move.line:0 msgid "You cannot create journal items on closed account." msgstr "" +"Het is niet mogelijk om journaalposten te maken in een gesloten rekenening" #. module: account_asset #: field:account.asset.asset,note:0 @@ -498,7 +499,7 @@ msgstr "" #: field:account.asset.asset,state:0 #: field:asset.asset.report,state:0 msgid "Status" -msgstr "" +msgstr "Status" #. module: account_asset #: field:account.asset.asset,partner_id:0 @@ -545,7 +546,7 @@ msgstr "Bereken" #. module: account_asset #: view:account.asset.history:0 msgid "Asset History" -msgstr "" +msgstr "Activa historie" #. module: account_asset #: field:asset.asset.report,name:0 @@ -666,7 +667,7 @@ msgstr "Bedrag voor waardevermindering" #. module: account_asset #: field:account.asset.asset,name:0 msgid "Asset Name" -msgstr "" +msgstr "Activa naam" #. module: account_asset #: field:account.asset.category,open_asset:0 @@ -717,11 +718,19 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Met deze rapportage heeft u een overzicht van alle " +"afschrijvingen. Het\n" +"             hulpmiddel zoeken kan ook worden gebruikt om uw activa \n" +" rapporten te personaliseren om zo deze analyses aan te passen \n" +" aan uw behoeften.\n" +"

\n" +" " #. module: account_asset #: field:account.asset.asset,purchase_value:0 msgid "Gross Value" -msgstr "" +msgstr "Bruto Waarde" #. module: account_asset #: field:account.asset.category,name:0 @@ -732,6 +741,8 @@ msgstr "Naam" #: constraint:account.move.line:0 msgid "You cannot create journal items on an account of type view." msgstr "" +"Het is niet mogelijk om journaalposten te maken in een rekening van het type " +"'weergave'" #. module: account_asset #: help:account.asset.category,open_asset:0 @@ -774,7 +785,7 @@ msgstr "Maak activa mutaties" #. module: account_asset #: field:account.asset.depreciation.line,sequence:0 msgid "Sequence" -msgstr "" +msgstr "Reeks" #. module: account_asset #: help:account.asset.category,method_period:0 diff --git a/addons/account_bank_statement_extensions/account_bank_statement_view.xml b/addons/account_bank_statement_extensions/account_bank_statement_view.xml index adc2963c803..d64eb68bc99 100644 --- a/addons/account_bank_statement_extensions/account_bank_statement_view.xml +++ b/addons/account_bank_statement_extensions/account_bank_statement_view.xml @@ -43,10 +43,10 @@ - - + + - + diff --git a/addons/account_bank_statement_extensions/i18n/ar.po b/addons/account_bank_statement_extensions/i18n/ar.po index d99258c3f12..106185a795b 100644 --- a/addons/account_bank_statement_extensions/i18n/ar.po +++ b/addons/account_bank_statement_extensions/i18n/ar.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-03-09 13:28+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2012-12-01 18:23+0000\n" +"Last-Translator: gehad shaat \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:32+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-02 04:38+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_bank_statement_extensions #: view:account.bank.statement.line:0 @@ -109,7 +109,7 @@ msgstr "معلومات دفعة السداد" #. module: account_bank_statement_extensions #: field:account.bank.statement.line,state:0 msgid "Status" -msgstr "" +msgstr "الحالة" #. module: account_bank_statement_extensions #: code:addons/account_bank_statement_extensions/account_bank_statement.py:129 @@ -122,7 +122,7 @@ msgstr "" #. module: account_bank_statement_extensions #: view:confirm.statement.line:0 msgid "or" -msgstr "" +msgstr "أو" #. module: account_bank_statement_extensions #: view:confirm.statement.line:0 @@ -235,7 +235,7 @@ msgstr "يدوي" #. module: account_bank_statement_extensions #: view:account.bank.statement.line:0 msgid "Bank Transaction" -msgstr "" +msgstr "معاملة بنكية" #. module: account_bank_statement_extensions #: view:account.bank.statement.line:0 @@ -353,7 +353,7 @@ msgstr "خطوط بيان المصرف" #: code:addons/account_bank_statement_extensions/account_bank_statement.py:129 #, python-format msgid "Warning!" -msgstr "" +msgstr "تحذير!" #. module: account_bank_statement_extensions #: view:account.bank.statement.line.global:0 diff --git a/addons/account_bank_statement_extensions/i18n/es_MX.po b/addons/account_bank_statement_extensions/i18n/es_MX.po index 2abefb1cd5d..20e10de3af1 100644 --- a/addons/account_bank_statement_extensions/i18n/es_MX.po +++ b/addons/account_bank_statement_extensions/i18n/es_MX.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-28 04:41+0000\n" -"X-Generator: Launchpad (build 16309)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_bank_statement_extensions #: view:account.bank.statement.line:0 diff --git a/addons/account_bank_statement_extensions/i18n/zh_CN.po b/addons/account_bank_statement_extensions/i18n/zh_CN.po index cff59afe339..9ff4a317ead 100644 --- a/addons/account_bank_statement_extensions/i18n/zh_CN.po +++ b/addons/account_bank_statement_extensions/i18n/zh_CN.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-09 14:55+0000\n" -"Last-Translator: 开阖软件 Jeff Wang \n" +"PO-Revision-Date: 2012-11-28 06:46+0000\n" +"Last-Translator: ccdos \n" "Language-Team: Chinese (Simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:32+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_bank_statement_extensions #: view:account.bank.statement.line:0 @@ -59,7 +59,7 @@ msgstr "取消所选的表行" #. module: account_bank_statement_extensions #: field:account.bank.statement.line,val_date:0 msgid "Value Date" -msgstr "" +msgstr "起息日" #. module: account_bank_statement_extensions #: constraint:res.partner.bank:0 @@ -109,7 +109,7 @@ msgstr "批量付款信息" #. module: account_bank_statement_extensions #: field:account.bank.statement.line,state:0 msgid "Status" -msgstr "" +msgstr "状态" #. module: account_bank_statement_extensions #: code:addons/account_bank_statement_extensions/account_bank_statement.py:129 @@ -117,12 +117,12 @@ msgstr "" msgid "" "Delete operation not allowed. Please go to the associated bank " "statement in order to delete and/or modify bank statement line." -msgstr "" +msgstr "不允许删除。为了删除和(或)修改银行对账单行,请到关联的银行对账单操作。" #. module: account_bank_statement_extensions #: view:confirm.statement.line:0 msgid "or" -msgstr "" +msgstr "or" #. module: account_bank_statement_extensions #: view:confirm.statement.line:0 @@ -234,7 +234,7 @@ msgstr "手工" #. module: account_bank_statement_extensions #: view:account.bank.statement.line:0 msgid "Bank Transaction" -msgstr "" +msgstr "银行交易" #. module: account_bank_statement_extensions #: view:account.bank.statement.line:0 @@ -303,7 +303,7 @@ msgstr "编号" msgid "" "The amount of the voucher must be the same amount as the one on the " "statement line." -msgstr "" +msgstr "单据的金额必须跟对账单其中一行金额相同。" #. module: account_bank_statement_extensions #: field:account.bank.statement.line,counterparty_name:0 @@ -351,7 +351,7 @@ msgstr "银行单据行" #: code:addons/account_bank_statement_extensions/account_bank_statement.py:129 #, python-format msgid "Warning!" -msgstr "" +msgstr "警告!" #. module: account_bank_statement_extensions #: view:account.bank.statement.line.global:0 diff --git a/addons/account_budget/i18n/ar.po b/addons/account_budget/i18n/ar.po index b6c443cf99d..18963c735c8 100644 --- a/addons/account_budget/i18n/ar.po +++ b/addons/account_budget/i18n/ar.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2009-02-03 06:24+0000\n" -"Last-Translator: <>\n" +"PO-Revision-Date: 2012-12-01 17:45+0000\n" +"Last-Translator: gehad shaat \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: 2012-11-25 06:16+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-02 04:38+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_budget #: view:account.budget.analytic:0 @@ -239,7 +239,7 @@ msgstr "للموافقة علي الميزانية" #. module: account_budget #: view:crossovered.budget:0 msgid "Duration" -msgstr "" +msgstr "المدة" #. module: account_budget #: field:account.budget.post,code:0 @@ -337,7 +337,7 @@ msgstr "الكمية النظرية" #: view:account.budget.crossvered.summary.report:0 #: view:account.budget.report:0 msgid "or" -msgstr "" +msgstr "أو" #. module: account_budget #: field:crossovered.budget.lines,analytic_account_id:0 diff --git a/addons/account_budget/i18n/es_MX.po b/addons/account_budget/i18n/es_MX.po index 556834afe50..a8db4b573ea 100644 --- a/addons/account_budget/i18n/es_MX.po +++ b/addons/account_budget/i18n/es_MX.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-28 04:41+0000\n" -"X-Generator: Launchpad (build 16309)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_budget #: view:account.budget.analytic:0 diff --git a/addons/account_budget/i18n/fr.po b/addons/account_budget/i18n/fr.po index add3f9c12a9..4deed11bc39 100644 --- a/addons/account_budget/i18n/fr.po +++ b/addons/account_budget/i18n/fr.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-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-13 21:08+0000\n" -"Last-Translator: t.o \n" +"PO-Revision-Date: 2012-11-29 16:58+0000\n" +"Last-Translator: Christophe Chauvet - http://www.syleam.fr/ \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: 2012-11-25 06:16+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-30 05:07+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_budget #: view:account.budget.analytic:0 @@ -141,7 +141,7 @@ msgstr "Total :" #. module: account_budget #: constraint:account.analytic.account:0 msgid "Error! You cannot create recursive analytic accounts." -msgstr "" +msgstr "Erreur! Vous ne pouvez pas créer de comptes analytiques récursifs." #. module: account_budget #: field:account.budget.post,company_id:0 @@ -239,7 +239,7 @@ msgstr "Budgets à approuver" #. module: account_budget #: view:crossovered.budget:0 msgid "Duration" -msgstr "" +msgstr "Durée" #. module: account_budget #: field:account.budget.post,code:0 @@ -337,7 +337,7 @@ msgstr "Montant Théorique" #: view:account.budget.crossvered.summary.report:0 #: view:account.budget.report:0 msgid "or" -msgstr "" +msgstr "ou" #. module: account_budget #: field:crossovered.budget.lines,analytic_account_id:0 diff --git a/addons/account_budget/i18n/lt.po b/addons/account_budget/i18n/lt.po index a3a3d2c11fc..3b90c1fdf50 100644 --- a/addons/account_budget/i18n/lt.po +++ b/addons/account_budget/i18n/lt.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-11-24 02:52+0000\n" -"PO-Revision-Date: 2010-09-09 07:05+0000\n" -"Last-Translator: Fabien (Open ERP) \n" +"PO-Revision-Date: 2012-11-28 16:01+0000\n" +"Last-Translator: Andrius Preimantas \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: 2012-11-25 06:16+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_budget #: view:account.budget.analytic:0 @@ -27,7 +27,7 @@ msgstr "" #. module: account_budget #: field:crossovered.budget,creating_user_id:0 msgid "Responsible User" -msgstr "" +msgstr "Atsakingas naudotojas" #. module: account_budget #: selection:crossovered.budget,state:0 @@ -38,12 +38,12 @@ msgstr "Patvirtinta" #: model:ir.actions.act_window,name:account_budget.open_budget_post_form #: model:ir.ui.menu,name:account_budget.menu_budget_post_form msgid "Budgetary Positions" -msgstr "" +msgstr "Biudžeto pozicija" #. module: account_budget #: report:account.budget:0 msgid "Printed at:" -msgstr "" +msgstr "Atspausdinta:" #. module: account_budget #: view:crossovered.budget:0 @@ -53,17 +53,17 @@ msgstr "Patvirtinti" #. module: account_budget #: field:crossovered.budget,validating_user_id:0 msgid "Validate User" -msgstr "" +msgstr "Patvirtinti vartotoją" #. module: account_budget #: model:ir.actions.act_window,name:account_budget.action_account_budget_crossvered_summary_report msgid "Print Summary" -msgstr "" +msgstr "Spausdinti suvestinę" #. module: account_budget #: field:crossovered.budget.lines,paid_date:0 msgid "Paid Date" -msgstr "" +msgstr "Apmokėjimo data" #. module: account_budget #: field:account.budget.analytic,date_to:0 @@ -82,7 +82,7 @@ msgstr "Juodraštis" #. module: account_budget #: report:account.budget:0 msgid "at" -msgstr "" +msgstr "ties" #. module: account_budget #: view:account.budget.report:0 @@ -104,12 +104,12 @@ msgstr "" #. module: account_budget #: selection:crossovered.budget,state:0 msgid "Validated" -msgstr "" +msgstr "Patvirtintas" #. module: account_budget #: field:crossovered.budget.lines,percentage:0 msgid "Percentage" -msgstr "" +msgstr "Procentai" #. module: account_budget #: field:crossovered.budget,state:0 @@ -120,7 +120,7 @@ msgstr "Būsena" #: code:addons/account_budget/account_budget.py:119 #, python-format msgid "The Budget '%s' has no accounts!" -msgstr "" +msgstr "Biudžetui '%s' nepriskirtos sąskaitos!" #. module: account_budget #: report:account.budget:0 @@ -131,24 +131,24 @@ msgstr "Aprašas" #. module: account_budget #: report:crossovered.budget.report:0 msgid "Currency" -msgstr "" +msgstr "Valiuta" #. module: account_budget #: report:crossovered.budget.report:0 msgid "Total :" -msgstr "" +msgstr "Iš viso:" #. module: account_budget #: constraint:account.analytic.account:0 msgid "Error! You cannot create recursive analytic accounts." -msgstr "" +msgstr "Klaida! Negalima kurti rekursivių analitinių sąskaitų" #. module: account_budget #: field:account.budget.post,company_id:0 #: field:crossovered.budget,company_id:0 #: field:crossovered.budget.lines,company_id:0 msgid "Company" -msgstr "" +msgstr "Įmonė" #. module: account_budget #: report:crossovered.budget.report:0 @@ -158,20 +158,20 @@ msgstr "iki" #. module: account_budget #: view:crossovered.budget:0 msgid "Reset to Draft" -msgstr "" +msgstr "Atstatyti į juodraštį" #. module: account_budget #: view:account.budget.post:0 #: view:crossovered.budget:0 #: field:crossovered.budget.lines,planned_amount:0 msgid "Planned Amount" -msgstr "" +msgstr "Suplanuota suma" #. module: account_budget #: report:account.budget:0 #: report:crossovered.budget.report:0 msgid "Perc(%)" -msgstr "" +msgstr "Procentai (%)" #. module: account_budget #: view:crossovered.budget:0 @@ -183,7 +183,7 @@ msgstr "Atlikta" #: report:account.budget:0 #: report:crossovered.budget.report:0 msgid "Practical Amt" -msgstr "" +msgstr "Praktinė suma" #. module: account_budget #: view:account.analytic.account:0 @@ -191,7 +191,7 @@ msgstr "" #: view:crossovered.budget:0 #: field:crossovered.budget.lines,practical_amount:0 msgid "Practical Amount" -msgstr "" +msgstr "Praktinė suma" #. module: account_budget #: field:crossovered.budget,date_to:0 @@ -203,12 +203,12 @@ msgstr "Pabaigos data" #: model:ir.model,name:account_budget.model_account_budget_analytic #: model:ir.model,name:account_budget.model_account_budget_report msgid "Account Budget report for analytic account" -msgstr "" +msgstr "Biudžeto ataskaita analitinei sąskaitai" #. module: account_budget #: view:account.analytic.account:0 msgid "Theoritical Amount" -msgstr "" +msgstr "Teorinė suma" #. module: account_budget #: field:account.budget.post,name:0 @@ -219,7 +219,7 @@ msgstr "Pavadinimas" #. module: account_budget #: model:ir.model,name:account_budget.model_crossovered_budget_lines msgid "Budget Line" -msgstr "" +msgstr "Biudžeto eilutė" #. module: account_budget #: report:account.budget:0 @@ -234,12 +234,12 @@ msgstr "Biudžetas" #. module: account_budget #: view:crossovered.budget:0 msgid "To Approve Budgets" -msgstr "" +msgstr "Patvirtinti biudžetą" #. module: account_budget #: view:crossovered.budget:0 msgid "Duration" -msgstr "" +msgstr "Trukmė" #. module: account_budget #: field:account.budget.post,code:0 @@ -251,7 +251,7 @@ msgstr "Kodas" #: view:account.budget.analytic:0 #: view:account.budget.crossvered.report:0 msgid "This wizard is used to print budget" -msgstr "" +msgstr "Šis vedlys naudojamas atspausdinti biudžetui" #. module: account_budget #: model:ir.actions.act_window,name:account_budget.act_crossovered_budget_view @@ -267,7 +267,7 @@ msgstr "Biudžetai" #. module: account_budget #: view:account.budget.crossvered.summary.report:0 msgid "This wizard is used to print summary of budgets" -msgstr "" +msgstr "Šis vedlys naudojamas atspausdinti biudžetų suvestinei" #. module: account_budget #: selection:crossovered.budget,state:0 @@ -277,19 +277,19 @@ msgstr "Nutrauktas" #. module: account_budget #: view:crossovered.budget:0 msgid "Approve" -msgstr "" +msgstr "Patvirtinti" #. module: account_budget #: view:crossovered.budget:0 msgid "To Approve" -msgstr "" +msgstr "Patvirtinti" #. module: account_budget #: view:account.budget.post:0 #: field:crossovered.budget.lines,general_budget_id:0 #: model:ir.model,name:account_budget.model_account_budget_post msgid "Budgetary Position" -msgstr "" +msgstr "Biudžeto pozicija" #. module: account_budget #: field:account.budget.analytic,date_from:0 @@ -308,13 +308,13 @@ msgstr "" #: report:account.budget:0 #: report:crossovered.budget.report:0 msgid "Theoretical Amt" -msgstr "" +msgstr "Teorinė suma" #. module: account_budget #: code:addons/account_budget/account_budget.py:119 #, python-format msgid "Error!" -msgstr "" +msgstr "Klaida!" #. module: account_budget #: view:account.budget.analytic:0 @@ -329,7 +329,7 @@ msgstr "Spausdinti" #: view:crossovered.budget:0 #: field:crossovered.budget.lines,theoritical_amount:0 msgid "Theoretical Amount" -msgstr "" +msgstr "Teorinė suma" #. module: account_budget #: view:account.budget.analytic:0 @@ -337,7 +337,7 @@ msgstr "" #: view:account.budget.crossvered.summary.report:0 #: view:account.budget.report:0 msgid "or" -msgstr "" +msgstr "arba" #. module: account_budget #: field:crossovered.budget.lines,analytic_account_id:0 @@ -348,7 +348,7 @@ msgstr "Analitinė sąskaita" #. module: account_budget #: report:account.budget:0 msgid "Budget :" -msgstr "" +msgstr "Biudžetas:" #. module: account_budget #: model:ir.actions.act_window,help:account_budget.act_crossovered_budget_view @@ -377,7 +377,7 @@ msgstr "" #: report:account.budget:0 #: report:crossovered.budget.report:0 msgid "Planned Amt" -msgstr "" +msgstr "Planuojama suma" #. module: account_budget #: view:account.budget.post:0 @@ -397,7 +397,7 @@ msgstr "Sąskaitos" #: model:ir.actions.act_window,name:account_budget.act_crossovered_budget_lines_view #: model:ir.ui.menu,name:account_budget.menu_act_crossovered_budget_lines_view msgid "Budget Lines" -msgstr "" +msgstr "Biudžeto eilutės" #. module: account_budget #: view:account.budget.analytic:0 @@ -418,12 +418,12 @@ msgstr "Pradžios data" #: report:account.budget:0 #: report:crossovered.budget.report:0 msgid "Analysis from" -msgstr "" +msgstr "Analizė nuo" #. module: account_budget #: view:crossovered.budget:0 msgid "Draft Budgets" -msgstr "" +msgstr "Nepatvirtinti biudžetai" #~ msgid "% performance" #~ msgstr "% vykdymas" diff --git a/addons/account_budget/i18n/zh_CN.po b/addons/account_budget/i18n/zh_CN.po index 34c4352185f..e8c99e31e4c 100644 --- a/addons/account_budget/i18n/zh_CN.po +++ b/addons/account_budget/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-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-08 03:50+0000\n" -"Last-Translator: 开阖软件 Jeff Wang \n" +"PO-Revision-Date: 2012-11-28 06:47+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: 2012-11-25 06:16+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_budget #: view:account.budget.analytic:0 @@ -141,7 +141,7 @@ msgstr "合计:" #. module: account_budget #: constraint:account.analytic.account:0 msgid "Error! You cannot create recursive analytic accounts." -msgstr "" +msgstr "错误!你不能递归创建辅助核算项" #. module: account_budget #: field:account.budget.post,company_id:0 @@ -239,7 +239,7 @@ msgstr "待审核的预算" #. module: account_budget #: view:crossovered.budget:0 msgid "Duration" -msgstr "" +msgstr "持续时间" #. module: account_budget #: field:account.budget.post,code:0 @@ -337,7 +337,7 @@ msgstr "理论金额" #: view:account.budget.crossvered.summary.report:0 #: view:account.budget.report:0 msgid "or" -msgstr "" +msgstr "or" #. module: account_budget #: field:crossovered.budget.lines,analytic_account_id:0 diff --git a/addons/account_cancel/i18n/it.po b/addons/account_cancel/i18n/it.po index 153dc063447..fcd3aecdb5b 100644 --- a/addons/account_cancel/i18n/it.po +++ b/addons/account_cancel/i18n/it.po @@ -8,19 +8,19 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2010-11-21 07:53+0000\n" -"Last-Translator: OpenERP Administrators \n" +"PO-Revision-Date: 2012-11-28 19:46+0000\n" +"Last-Translator: Davide Corio - agilebg.com \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:24+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_cancel #: view:account.invoice:0 msgid "Cancel" -msgstr "Cancella" +msgstr "Annulla" #~ msgid "Account Cancel" #~ msgstr "Account Cancel" diff --git a/addons/account_check_writing/account_view.xml b/addons/account_check_writing/account_view.xml index 53dd1cb1c93..df8d1461a3f 100644 --- a/addons/account_check_writing/account_view.xml +++ b/addons/account_check_writing/account_view.xml @@ -11,7 +11,7 @@ account.journal - + diff --git a/addons/account_check_writing/i18n/ar.po b/addons/account_check_writing/i18n/ar.po index 9b1db711649..f9a7123999f 100644 --- a/addons/account_check_writing/i18n/ar.po +++ b/addons/account_check_writing/i18n/ar.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-04-06 00:34+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2012-12-01 18:24+0000\n" +"Last-Translator: gehad shaat \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:32+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-02 04:38+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_check_writing #: selection:res.company,check_layout:0 @@ -130,7 +130,7 @@ msgstr "استخدام الصكوك المطبوعة مسبقاً" #. module: account_check_writing #: model:ir.actions.report.xml,name:account_check_writing.account_print_check_bottom msgid "Print Check (Bottom)" -msgstr "" +msgstr "اطبع الشيك (أسفل)" #. module: account_check_writing #: sql_constraint:res.company:0 @@ -147,7 +147,7 @@ msgstr "تاريخ الإستحقاق" #. module: account_check_writing #: model:ir.actions.report.xml,name:account_check_writing.account_print_check_middle msgid "Print Check (Middle)" -msgstr "" +msgstr "اطبع الشيك (وسط)" #. module: account_check_writing #: constraint:account.journal:0 @@ -155,6 +155,8 @@ msgid "" "Configuration error!\n" "The currency chosen should be shared by the default accounts too." msgstr "" +"خطأ في التكوين!\n" +"العملة المختارة يجب أن تكون مستخدمة من الحساب الافتراضي أيضا" #. module: account_check_writing #: model:ir.model,name:account_check_writing.model_res_company @@ -170,7 +172,7 @@ msgstr "الرصيد المستحق" #. module: account_check_writing #: model:ir.actions.report.xml,name:account_check_writing.account_print_check_top msgid "Print Check (Top)" -msgstr "" +msgstr "اطبع الشيك (أعلى)" #. module: account_check_writing #: report:account.print.check.bottom:0 diff --git a/addons/account_check_writing/i18n/es_MX.po b/addons/account_check_writing/i18n/es_MX.po new file mode 100644 index 00000000000..14a5a17f279 --- /dev/null +++ b/addons/account_check_writing/i18n/es_MX.po @@ -0,0 +1,228 @@ +# Spanish (Mexico) translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-29 18:20+0000\n" +"Last-Translator: OscarAlca \n" +"Language-Team: Spanish (Mexico) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-11-30 05:08+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: account_check_writing +#: selection:res.company,check_layout:0 +msgid "Check on Top" +msgstr "Cheque en la parte de arriba" + +#. module: account_check_writing +#: view:account.voucher:0 +msgid "Print Check" +msgstr "Imprimir cheque" + +#. module: account_check_writing +#: selection:res.company,check_layout:0 +msgid "Check in middle" +msgstr "Cheque en el centro" + +#. module: account_check_writing +#: help:res.company,check_layout:0 +msgid "" +"Check on top is compatible with Quicken, QuickBooks and Microsoft Money. " +"Check in middle is compatible with Peachtree, ACCPAC and DacEasy. Check on " +"bottom is compatible with Peachtree, ACCPAC and DacEasy only" +msgstr "" +"Cheque en la parte de arriba es compatible con Quicken, Quickbooks y " +"Microsoft Money. Cheque en el medio es compatible con PeachTree, ACCPAC y " +"DacEasy. Cheque en la parte de abajo es compatible con Peachtree, ACCPAC y " +"DacEasy exclusivamente" + +#. module: account_check_writing +#: selection:res.company,check_layout:0 +msgid "Check on bottom" +msgstr "Cheque en la parte de abajo" + +#. module: account_check_writing +#: constraint:res.company:0 +msgid "Error! You can not create recursive companies." +msgstr "¡Error! No puede crear compañías recursivas." + +#. module: account_check_writing +#: help:account.journal,allow_check_writing:0 +msgid "Check this if the journal is to be used for writing checks." +msgstr "Revise si el diario es usado para registrar cheques." + +#. module: account_check_writing +#: field:account.journal,allow_check_writing:0 +msgid "Allow Check writing" +msgstr "Permitir escribir cheques" + +#. module: account_check_writing +#: report:account.print.check.bottom:0 +#: report:account.print.check.middle:0 +#: report:account.print.check.top:0 +msgid "Description" +msgstr "Descripción" + +#. module: account_check_writing +#: model:ir.model,name:account_check_writing.model_account_journal +msgid "Journal" +msgstr "Diário" + +#. module: account_check_writing +#: model:ir.actions.act_window,name:account_check_writing.action_write_check +#: model:ir.ui.menu,name:account_check_writing.menu_action_write_check +msgid "Write Checks" +msgstr "Escribir cheques" + +#. module: account_check_writing +#: report:account.print.check.bottom:0 +#: report:account.print.check.middle:0 +#: report:account.print.check.top:0 +msgid "Discount" +msgstr "Descuento" + +#. module: account_check_writing +#: report:account.print.check.bottom:0 +#: report:account.print.check.middle:0 +#: report:account.print.check.top:0 +msgid "Original Amount" +msgstr "Importe original" + +#. module: account_check_writing +#: model:ir.actions.act_window,help:account_check_writing.action_write_check +msgid "" +"

\n" +" Click to create a new check. \n" +"

\n" +" The check payment form allows you to track the payment you " +"do\n" +" to your suppliers using checks. When you select a supplier, " +"the\n" +" payment method and an amount for the payment, OpenERP will\n" +" propose to reconcile your payment with the open supplier\n" +" invoices or bills.\n" +"

\n" +" " +msgstr "" +"

\n" +" Click para crear un nuevo cheque.\n" +"

\n" +" El formulario de pago de cheques le permite dar seguimiento " +"al pago que \n" +" emite a sus proveedores usando cheques. Cuando selecciona un " +"proveedor, el\n" +" metodo de pago y un monto para el pago, OpenERP propondrá \n" +" conciliar su pago con las facturas abiertas o cuentas " +"abiertas del proveedor.\n" +"

\n" +" " + +#. module: account_check_writing +#: field:account.voucher,allow_check:0 +msgid "Allow Check Writing" +msgstr "Permitir escribir cheques" + +#. module: account_check_writing +#: report:account.print.check.bottom:0 +#: report:account.print.check.middle:0 +#: report:account.print.check.top:0 +msgid "Payment" +msgstr "Pago" + +#. module: account_check_writing +#: field:account.journal,use_preprint_check:0 +msgid "Use Preprinted Check" +msgstr "Usar cheque preimpreso" + +#. module: account_check_writing +#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_bottom +msgid "Print Check (Bottom)" +msgstr "Imprimir cheque (Abajo)" + +#. module: account_check_writing +#: sql_constraint:res.company:0 +msgid "The company name must be unique !" +msgstr "¡El nombre de la compañía debe ser único!" + +#. module: account_check_writing +#: report:account.print.check.bottom:0 +#: report:account.print.check.middle:0 +#: report:account.print.check.top:0 +msgid "Due Date" +msgstr "Fecha de vencimiento" + +#. module: account_check_writing +#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_middle +msgid "Print Check (Middle)" +msgstr "Imprimir Cheque (Al Centro)" + +#. module: account_check_writing +#: constraint:account.journal:0 +msgid "" +"Configuration error!\n" +"The currency chosen should be shared by the default accounts too." +msgstr "" +"¡Error de confuguración!\n" +"La moneda seleccionada también tiene que ser la que está en las cuentas por " +"defecto." + +#. module: account_check_writing +#: model:ir.model,name:account_check_writing.model_res_company +msgid "Companies" +msgstr "Compañías" + +#. module: account_check_writing +#: report:account.print.check.bottom:0 +#: report:account.print.check.middle:0 +msgid "Balance Due" +msgstr "Saldo pendiente" + +#. module: account_check_writing +#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_top +msgid "Print Check (Top)" +msgstr "Imprimir Cheque (Arriba)" + +#. module: account_check_writing +#: report:account.print.check.bottom:0 +#: report:account.print.check.middle:0 +#: report:account.print.check.top:0 +msgid "Check Amount" +msgstr "Importe del cheque" + +#. module: account_check_writing +#: model:ir.model,name:account_check_writing.model_account_voucher +msgid "Accounting Voucher" +msgstr "Comprobante contable" + +#. module: account_check_writing +#: sql_constraint:account.journal:0 +msgid "The name of the journal must be unique per company !" +msgstr "¡El nombre del diaro debe ser único por compañía!" + +#. module: account_check_writing +#: sql_constraint:account.journal:0 +msgid "The code of the journal must be unique per company !" +msgstr "¡El código del diario debe ser único por compañía!" + +#. module: account_check_writing +#: field:account.voucher,amount_in_word:0 +msgid "Amount in Word" +msgstr "Cantidad en letra" + +#. module: account_check_writing +#: report:account.print.check.top:0 +msgid "Open Balance" +msgstr "Saldo Inicial" + +#. module: account_check_writing +#: field:res.company,check_layout:0 +msgid "Choose Check layout" +msgstr "Elija el formato del cheque." diff --git a/addons/account_check_writing/i18n/zh_CN.po b/addons/account_check_writing/i18n/zh_CN.po index b91e5204fbc..9f0ab53eca6 100644 --- a/addons/account_check_writing/i18n/zh_CN.po +++ b/addons/account_check_writing/i18n/zh_CN.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-05-10 18:06+0000\n" -"Last-Translator: 开阖软件 Jeff Wang \n" +"PO-Revision-Date: 2012-11-28 06:58+0000\n" +"Last-Translator: ccdos \n" "Language-Team: Chinese (Simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:32+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_check_writing #: selection:res.company,check_layout:0 @@ -110,6 +110,15 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" 单击 创建一个新的支票。\n" +"

\n" +" 支票支付表单允许跟踪用支票支付给供应商的过程。\n" +" 当年选择了一个供应商,Openerp 将自动提供 支付\n" +" 方法和支付金额,用于核销待支付的供应商发票和\n" +" 单据。\n" +"

\n" +" " #. module: account_check_writing #: field:account.voucher,allow_check:0 @@ -131,7 +140,7 @@ msgstr "用预先打印的支票" #. module: account_check_writing #: model:ir.actions.report.xml,name:account_check_writing.account_print_check_bottom msgid "Print Check (Bottom)" -msgstr "" +msgstr "打印支票(底部)" #. module: account_check_writing #: sql_constraint:res.company:0 @@ -148,14 +157,14 @@ msgstr "到期日期" #. module: account_check_writing #: model:ir.actions.report.xml,name:account_check_writing.account_print_check_middle msgid "Print Check (Middle)" -msgstr "" +msgstr "打印支票(中间)" #. module: account_check_writing #: constraint:account.journal:0 msgid "" "Configuration error!\n" "The currency chosen should be shared by the default accounts too." -msgstr "" +msgstr "配置错误!" #. module: account_check_writing #: model:ir.model,name:account_check_writing.model_res_company @@ -171,7 +180,7 @@ msgstr "截止余额" #. module: account_check_writing #: model:ir.actions.report.xml,name:account_check_writing.account_print_check_top msgid "Print Check (Top)" -msgstr "" +msgstr "打印支票(顶部)" #. module: account_check_writing #: report:account.print.check.bottom:0 diff --git a/addons/account_followup/__openerp__.py b/addons/account_followup/__openerp__.py index 87b04c18219..fc2f17e6a97 100644 --- a/addons/account_followup/__openerp__.py +++ b/addons/account_followup/__openerp__.py @@ -20,7 +20,7 @@ ############################################################################## { - 'name': 'Follow-up Management', + 'name': 'Payment Follow-up Management', 'version': '1.0', 'category': 'Accounting & Finance', 'description': """ @@ -29,19 +29,18 @@ Module to automate letters for unpaid invoices, with multi-level recalls. You can define your multiple levels of recall through the menu: --------------------------------------------------------------- - **Invoicing** / **Configuration** / **Miscellaneous** / **Follow-ups** - + Configuration / Follow-Up Levels + Once it is defined, you can automatically print recalls every day through simply clicking on the menu: ------------------------------------------------------------------------------------------------------ - **Invoicing** / **Periodical Processing** / **Billing** / **Send follow-ups** + Payment Follow-Up / Send Email and letters -It will generate a PDF with all the letters according to the the different levels -of recall defined. You can define different policies for different companies. You -can also send mail to the customer. +It will generate a PDF / send emails / set manual actions according to the the different levels +of recall defined. You can define different policies for different companies. Note that if you want to check the follow-up level for a given partner/account entry, you can do from in the menu: ------------------------------------------------------------------------------------------------------------------ - **Invoicing** / **Reporting** / **Generic Reporting** / **Partners** / **Follow-ups Sent** + Reporting / Accounting / **Follow-ups Analysis """, 'author': 'OpenERP SA', @@ -51,16 +50,16 @@ Note that if you want to check the follow-up level for a given partner/account e 'data': [ 'security/account_followup_security.xml', 'security/ir.model.access.csv', - 'wizard/account_followup_print_view.xml', 'report/account_followup_report.xml', - 'account_followup_demo.xml', # Defined by default - 'account_followup_view.xml', 'account_followup_data.xml', + 'account_followup_view.xml', + 'account_followup_customers.xml', + 'wizard/account_followup_print_view.xml', ], - 'demo': [], + 'demo': ['account_followup_demo.xml'], 'test': [ 'test/account_followup.yml', - 'test/account_followup_report.yml', + #TODO 'test/account_followup_report.yml', --> Need to wait for second step in order to check report (expects after first) ], 'installable': True, 'auto_install': False, diff --git a/addons/account_followup/account_followup.py b/addons/account_followup/account_followup.py index 60499603295..3ee8c92af3c 100644 --- a/addons/account_followup/account_followup.py +++ b/addons/account_followup/account_followup.py @@ -20,37 +20,66 @@ ############################################################################## from osv import fields, osv +from lxml import etree + +from tools.translate import _ + class followup(osv.osv): _name = 'account_followup.followup' _description = 'Account Follow-up' + _rec_name = 'name' _columns = { - 'name': fields.char('Name', size=64, required=True), - 'description': fields.text('Description'), 'followup_line': fields.one2many('account_followup.followup.line', 'followup_id', 'Follow-up'), 'company_id': fields.many2one('res.company', 'Company', required=True), + 'name': fields.related('company_id', 'name', string = "Name"), } _defaults = { 'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'account_followup.followup', context=c), } - -followup() + _sql_constraints = [('company_uniq', 'unique(company_id)', 'Only one follow-up per company is allowed')] + class followup_line(osv.osv): + + def _get_default_template(self, cr, uid, ids, context=None): + dummy, templ = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account_followup', 'email_template_account_followup_default') + return templ + _name = 'account_followup.followup.line' _description = 'Follow-up Criteria' _columns = { - 'name': fields.char('Name', size=64, required=True), + 'name': fields.char('Follow-Up Action', size=64, required=True), 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of follow-up lines."), - 'delay': fields.integer('Days of delay'), - 'start': fields.selection([('days','Net Days'),('end_of_month','End of Month')], 'Type of Term', size=64, required=True), + 'delay': fields.integer('Due Days', help="The number of days after the due date of the invoice to wait before sending the reminder. Could be negative if you want to send a polite alert beforehand.", required=True), 'followup_id': fields.many2one('account_followup.followup', 'Follow Ups', required=True, ondelete="cascade"), 'description': fields.text('Printed Message', translate=True), + 'send_email':fields.boolean('Send an Email', help="When processing, it will send an email"), + 'send_letter':fields.boolean('Send a Letter', help="When processing, it will print a letter"), + 'manual_action':fields.boolean('Manual Action', help="When processing, it will set the manual action to be taken for that customer. "), + 'manual_action_note':fields.text('Action To Do', placeholder="e.g. Give a phone call, check with others , ..."), + 'manual_action_responsible_id':fields.many2one('res.users', 'Assign a Responsible', ondelete='set null'), + 'email_template_id':fields.many2one('email.template', 'Email Template', ondelete='set null'), } + _order = 'delay' + _sql_constraints = [('days_uniq', 'unique(followup_id, delay)', 'Days of the follow-up levels must be different')] _defaults = { - 'start': 'days', + 'send_email': True, + 'send_letter': True, + 'manual_action':False, + 'description': """ + Dear %(partner_name)s, +Exception made if there was a mistake of ours, it seems that the following amount stays unpaid. Please, take appropriate measures in order to carry out this payment in the next 8 days. + +Would your payment have been carried out after this mail was sent, please ignore this message. Do not hesitate to contact our accounting department at (+32).10.68.94.39. + +Best Regards, +""", + 'email_template_id': _get_default_template, } + + def _check_description(self, cr, uid, ids, context=None): for line in self.browse(cr, uid, ids, context=context): if line.description: @@ -64,40 +93,193 @@ class followup_line(osv.osv): (_check_description, 'Your description is invalid, use the right legend or %% if you want to use the percent character.', ['description']), ] -followup_line() class account_move_line(osv.osv): + + def _get_result(self, cr, uid, ids, name, arg, context=None): + res = {} + for aml in self.browse(cr, uid, ids, context=context): + res[aml.id] = aml.debit - aml.credit + return res + _inherit = 'account.move.line' _columns = { - 'followup_line_id': fields.many2one('account_followup.followup.line', 'Follow-up Level'), + 'followup_line_id': fields.many2one('account_followup.followup.line', 'Follow-up Level', + ondelete='restrict'), #restrict deletion of the followup line 'followup_date': fields.date('Latest Follow-up', select=True), + 'result':fields.function(_get_result, type='float', method=True, + string="Balance") #'balance' field is not the same } -account_move_line() -class res_company(osv.osv): - _inherit = "res.company" + +class email_template(osv.osv): + _inherit = 'email.template' + + # Adds current_date to the context. That way it can be used to put + # the account move lines in bold that are overdue in the email + def render_template(self, cr, uid, template, model, res_id, context=None): + context['current_date'] = fields.date.context_today(cr, uid, context) + return super(email_template, self).render_template(cr, uid, template, model, res_id, context=context) + + +class res_partner(osv.osv): + + def fields_view_get(self, cr, uid, view_id=None, view_type=None, context=None, toolbar=False, submenu=False): + res = super(res_partner, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, + toolbar=toolbar, submenu=submenu) + context = context or {} + if view_type == 'form' and context.get('Followupfirst'): + doc = etree.XML(res['arch'], parser=None, base_url=None) + first_node = doc.xpath("//page[@name='followup_tab']") + root = first_node[0].getparent() + root.insert(0, first_node[0]) + res['arch'] = etree.tostring(doc, encoding="utf-8") + return res + + def _get_latest(self, cr, uid, ids, names, arg, context=None, company_id=None): + res={} + if company_id == None: + company = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id + else: + company = self.pool.get('res.company').browse(cr, uid, company_id, context=context) + for partner in self.browse(cr, uid, ids, context=context): + amls = partner.unreconciled_aml_ids + latest_date = False + latest_level = False + latest_days = False + latest_level_without_lit = False + latest_days_without_lit = False + for aml in amls: + if (aml.company_id == company) and (aml.followup_line_id != False) and (not latest_days or latest_days < aml.followup_line_id.delay): + latest_days = aml.followup_line_id.delay + latest_level = aml.followup_line_id.id + if (aml.company_id == company) and (not latest_date or latest_date < aml.followup_date): + latest_date = aml.followup_date + if (aml.company_id == company) and (aml.blocked == False) and (aml.followup_line_id != False and + (not latest_days_without_lit or latest_days_without_lit < aml.followup_line_id.delay)): + latest_days_without_lit = aml.followup_line_id.delay + latest_level_without_lit = aml.followup_line_id.id + res[partner.id] = {'latest_followup_date': latest_date, + 'latest_followup_level_id': latest_level, + 'latest_followup_level_id_without_lit': latest_level_without_lit} + return res + + def do_partner_manual_action(self, cr, uid, partner_ids, context=None): + #partner_ids -> res.partner + for partner in self.browse(cr, uid, partner_ids, context=context): + #Check action: check if the action was not empty, if not add + action_text= "" + if partner.payment_next_action: + action_text = (partner.payment_next_action or '') + "\n" + (partner.latest_followup_level_id_without_lit.manual_action_note or '') + else: + action_text = partner.latest_followup_level_id_without_lit.manual_action_note or '' + + #Check date: put the minimum date if it existed already + action_date = (partner.payment_next_action_date and min(partner.payment_next_action_date, fields.date.context_today(cr, uid, context)) + ) or fields.date.context_today(cr, uid, context) + + # Check responsible: if partner has not got a responsible already, take from follow-up + responsible_id = False + if partner.payment_responsible_id: + responsible_id = partner.payment_responsible_id.id + else: + p = partner.latest_followup_level_id_without_lit.manual_action_responsible_id + responsible_id = p and p.id or False + self.write(cr, uid, [partner.id], {'payment_next_action_date': action_date, + 'payment_next_action': action_text, + 'payment_responsible_id': responsible_id}) + + def do_partner_print(self, cr, uid, wizard_partner_ids, data, context=None): + #wizard_partner_ids are ids from special view, not from res.partner + if not wizard_partner_ids: + return {} + data['partner_ids'] = wizard_partner_ids + datas = { + 'ids': [], + 'model': 'account_followup.followup', + 'form': data + } + return { + 'type': 'ir.actions.report.xml', + 'report_name': 'account_followup.followup.print', + 'datas': datas, + } + + def do_partner_mail(self, cr, uid, partner_ids, context=None): + #partner_ids are res.partner ids + # If not defined by latest follow-up level, it will be the default template if it can find it + mtp = self.pool.get('email.template') + unknown_mails = 0 + for partner in self.browse(cr, uid, partner_ids, context=context): + if partner.email and partner.email.strip(): + level = partner.latest_followup_level_id_without_lit + if level and level.send_email and level.email_template_id and level.email_template_id.id: + mtp.send_mail(cr, uid, level.email_template_id.id, partner.id, context=context) + else: + mail_template_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, + 'account_followup', 'email_template_account_followup_default') + mtp.send_mail(cr, uid, mail_template_id[1], partner.id, context=context) + else: + unknown_mails = unknown_mails + 1 + action_text = _("Email not sent because of email address of partner not filled in") + if partner.payment_next_action_date: + payment_action_date = min(fields.date.context_today(cr, uid, context), partner.payment_next_action_date) + else: + payment_action_date = fields.date.context_today(cr, uid, context) + if partner.payment_next_action: + payment_next_action = partner.payment_next_action + " + " + action_text + else: + payment_next_action = action_text + self.write(cr, uid, [partner.id], {'payment_next_action_date': payment_action_date, + 'payment_next_action': payment_next_action}, context=context) + return unknown_mails + + def action_done(self, cr, uid, ids, context=None): + return self.write(cr, uid, ids, {'payment_next_action_date': False, 'payment_next_action':'', 'payment_responsible_id': False}, context=context) + + def do_button_print(self, cr, uid, ids, context=None): + assert(len(ids) == 1) + self.message_post(cr, uid, [ids[0]], body=_('Printed overdue payments report'), context=context) + datas = { + 'ids': ids, + 'model': 'res.partner', + 'form': self.read(cr, uid, ids[0], context=context) + } + return { + 'type': 'ir.actions.report.xml', + 'report_name': 'account.overdue', + 'datas': datas, + 'nodestroy' : True + } + + + _inherit = "res.partner" _columns = { - 'follow_up_msg': fields.text('Follow-up Message', translate=True), - } - - _defaults = { - 'follow_up_msg': ''' -Date: %(date)s - -Dear %(partner_name)s, - -Please find in attachment a reminder of all your unpaid invoices, for a total amount due of: - -%(followup_amount).2f %(company_currency)s - -Thanks, --- -%(user_signature)s -%(company_name)s - ''' - } - -res_company() + 'payment_responsible_id':fields.many2one('res.users', ondelete='set null', string='Follow-up Responsible', + help="Responsible for making sure the action happens."), + 'payment_note':fields.text('Customer Payment Promise', help="Payment Note"), + 'payment_next_action':fields.text('Next Action', + help="This is the next action to be taken by the user. It will automatically be set when the action fields are empty and the partner gets a follow-up level that requires a manual action. "), + 'payment_next_action_date':fields.date('Next Action Date', + help="This is when further follow-up is needed. The date will have been set to the current date if the action fields are empty and the partner gets a follow-up level that requires a manual action. "), + 'unreconciled_aml_ids':fields.one2many('account.move.line', 'partner_id', domain=['&', ('reconcile_id', '=', False), '&', + ('account_id.active','=', True), '&', ('account_id.type', '=', 'receivable'), ('state', '!=', 'draft')]), + 'latest_followup_date':fields.function(_get_latest, method=True, type='date', string="Latest Follow-up Date", + help="Latest date that the follow-up level of the partner was changed", + store=False, + multi="latest"), + 'latest_followup_level_id':fields.function(_get_latest, method=True, + type='many2one', relation='account_followup.followup.line', string="Latest Follow-up Level", + help="The maximum follow-up level", + store=False, + multi="latest"), + 'latest_followup_level_id_without_lit':fields.function(_get_latest, method=True, + type='many2one', relation='account_followup.followup.line', string="Latest Follow-up Level without litigation", + help="The maximum follow-up level without taking into account the account move lines with litigation", + store=False, + multi="latest"), + 'payment_amount_due':fields.related('credit', type='float', string="Total amount due", readonly=True), + } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_followup/account_followup_customers.xml b/addons/account_followup/account_followup_customers.xml new file mode 100644 index 00000000000..df703773303 --- /dev/null +++ b/addons/account_followup/account_followup_customers.xml @@ -0,0 +1,157 @@ + + + + + + + + res.partner.followup.inherit.tree + res.partner + + + + + + + + + + + + + + + + Search + res.partner + + + + + + + + + + + + + + + + + + + + + Search + res.partner + + + + + + + + + + + + + + + + + + + + + + Manual Follow-Ups + + res.partner + form + tree,form + {} + {'Followupfirst':True, 'search_default_todo': True} + + + + + + res.partner.followup.form.inherit + + res.partner + + + +
+
+

+ The , the latest payment follow-up + was: +

+ + + +
+ + + + + + Follow-up of overdue invoices level 1 + ${user.email or ''} + ${user.company_id.name} Payment Follow-up + ${object.email} + ${object.lang} + + + + +

Dear ${object.name},

+

+ We are disappointed to see that despite sending a reminder, that your account is now seriously overdue. +It is essential that immediate payment is made, otherwise we will have to consider placing a stop on your account +which means that we will no longer be able to supply your company with (goods/services). +Please, take appropriate measures in order to carry out this payment in the next 8 days. +If there is a problem with paying invoice that we are not aware of, do not hesitate to contact our accounting +department at (+32).10.68.94.39. so that we can resolve the matter quickly. +Details of due payments is printed below. +

+
+Best Regards, + +
+${user.name} + +
+
+ + +<% + from openerp.addons.account_followup.report import account_followup_print + rml_parse = account_followup_print.report_rappel(object._cr, user.id, "followup_rml_parser") + final_res = rml_parse._lines_get_with_partner(object, user.company_id.id) + followup_table = '' + for currency_dict in final_res: + currency_symbol = currency_dict.get('line', [{'currency_id': user.company_id.currency_id}])[0]['currency_id'].symbol + followup_table += ''' + + + + + + + + + ''' % (currency_symbol) + total = 0 + for aml in currency_dict['line']: + block = aml['blocked'] and 'X' or ' ' + total += aml['balance'] + strbegin = " " + date = aml['date_maturity'] or aml['date'] + if date <= ctx['current_date'] and aml['balance'] > 0: + strbegin = "" + followup_table +="" + strbegin + str(aml['date']) + strend + strbegin + aml['ref'] + strend + strbegin + str(date) + strend + strbegin + str(aml['balance']) + strend + strbegin + block + strend + "" + total = rml_parse.formatLang(total, dp='Account', currency_obj=object.company_id.currency_id) + followup_table += ''' +
Invoice dateReferenceDue dateAmount (%s)Lit.
" + strend = "" + strend = "
+
Amount due: %s
''' % (total) + +%> + +${followup_table} + +
+ + + ]]>
+
+ + + Follow-up of overdue invoices level 2 + ${user.email or ''} + ${user.company_id.name} Payment Follow-up + ${object.email} + ${object.lang} + + + + +

Dear ${object.name},

+

+ Despite several reminders, your account is still not settled. +Unless full payment is made in next 8 days, legal action for the recovery of the debt will be taken without +further notice. +I trust that this action will prove unnecessary and details of due payments is printed below. +In case of any queries concerning this matter, do not hesitate to contact our accounting department at (+32).10.68.94.39. +

+
+Best Regards, + +
+${user.name} + +
+
+ + + +<% + from openerp.addons.account_followup.report import account_followup_print + rml_parse = account_followup_print.report_rappel(object._cr, user.id, "followup_rml_parser") + final_res = rml_parse._lines_get_with_partner(object, user.company_id.id) + followup_table = '' + for currency_dict in final_res: + currency_symbol = currency_dict.get('line', [{'currency_id': user.company_id.currency_id}])[0]['currency_id'].symbol + followup_table += ''' + + + + + + + + + ''' % (currency_symbol) + total = 0 + for aml in currency_dict['line']: + block = aml['blocked'] and 'X' or ' ' + total += aml['balance'] + strbegin = " " + date = aml['date_maturity'] or aml['date'] + if date <= ctx['current_date'] and aml['balance'] > 0: + strbegin = "" + followup_table +="" + strbegin + str(aml['date']) + strend + strbegin + aml['ref'] + strend + strbegin + str(date) + strend + strbegin + str(aml['balance']) + strend + strbegin + block + strend + "" + total = rml_parse.formatLang(total, dp='Account', currency_obj=object.company_id.currency_id) + followup_table += ''' +
Invoice dateReferenceDue dateAmount (%s)Lit.
" + strend = "" + strend = "
+
Amount due: %s
''' % (total) + +%> + +${followup_table} + +
+ + + ]]>
+
+ + + + + Default follow-up of overdue invoices + ${user.email or ''} + ${user.company_id.name} Payment Follow-up + ${object.email} + ${object.lang} + + + + +

Dear ${object.name},

+

+ Exception made if there was a mistake of ours, it seems that the following amount stays unpaid. Please, take +appropriate measures in order to carry out this payment in the next 8 days. +Would your payment have been carried out after this mail was sent, please ignore this message. Do not hesitate to +contact our accounting department at (+32).10.68.94.39. +

+
+Best Regards, +
+
+
+${user.name} + +
+
+ + + +<% + from openerp.addons.account_followup.report import account_followup_print + rml_parse = account_followup_print.report_rappel(object._cr, user.id, "followup_rml_parser") + final_res = rml_parse._lines_get_with_partner(object, user.company_id.id) + followup_table = '' + for currency_dict in final_res: + currency_symbol = currency_dict.get('line', [{'currency_id': user.company_id.currency_id}])[0]['currency_id'].symbol + followup_table += ''' + + + + + + + + + ''' % (currency_symbol) + total = 0 + for aml in currency_dict['line']: + block = aml['blocked'] and 'X' or ' ' + total += aml['balance'] + strbegin = " " + date = aml['date_maturity'] or aml['date'] + if date <= ctx['current_date'] and aml['balance'] > 0: + strbegin = "" + followup_table +="" + strbegin + str(aml['date']) + strend + strbegin + aml['ref'] + strend + strbegin + str(date) + strend + strbegin + str(aml['balance']) + strend + strbegin + block + strend + "" + total = rml_parse.formatLang(total, dp='Account', currency_obj=object.company_id.currency_id) + followup_table += ''' +
Invoice dateReferenceDue dateAmount (%s)Lit.
" + strend = "" + strend = "
+
Amount due: %s
''' % (total) + +%> + +${followup_table} + +
+ + + ]]>
+
+ + + + + + + + + + + Send first reminder email + 0 + 15 + + True + Dear %(partner_name)s, -Please find in attachment a reminder of all your unpaid invoices, for a total amount due of: +Exception made if there was a mistake of ours, it seems that the following amount stays unpaid. Please, take appropriate measures in order to carry out this payment in the next 8 days. -%(followup_amount).2f %(company_currency)s +Would your payment have been carried out after this mail was sent, please ignore this message. Do not hesitate to contact our accounting department at (+32).10.68.94.39. -Thanks, --- -%(user_signature)s -%(company_name)s +Best Regards, + + + + + + Send reminder letter and email + 1 + 30 + + + True + True + +Dear %(partner_name)s, + +We are disappointed to see that despite sending a reminder, that your account is now seriously overdue. + +It is essential that immediate payment is made, otherwise we will have to consider placing a stop on your account which means that we will no longer be able to supply your company with (goods/services). +Please, take appropriate measures in order to carry out this payment in the next 8 days. + +If there is a problem with paying invoice that we are not aware of, do not hesitate to contact our accounting department at (+32).10.68.94.39. so that we can resolve the matter quickly. + +Details of due payments is printed below. + +Best Regards, + + + + + + Call the customer on the phone + 3 + 40 + + + + True + Call the customer on the phone! + +Dear %(partner_name)s, + +Despite several reminders, your account is still not settled. + +Unless full payment is made in next 8 days, then legal action for the recovery of the debt will be taken without further notice. + +I trust that this action will prove unnecessary and details of due payments is printed below. + +In case of any queries concerning this matter, do not hesitate to contact our accounting department at (+32).10.68.94.39. + +Best Regards, +
diff --git a/addons/account_followup/account_followup_demo.xml b/addons/account_followup/account_followup_demo.xml index 7103ffa0386..4f22c18857d 100644 --- a/addons/account_followup/account_followup_demo.xml +++ b/addons/account_followup/account_followup_demo.xml @@ -1,58 +1,13 @@ - - - - Default Follow-up - - First letter after 15 net days, 30 net days and 45 days end of month levels. - - - - Level 0 : 15 net days - 0 - days - 15 - - -Dear %(partner_name)s, - -Exception made if there was a mistake of ours, it seems that the following amount stays unpaid. Please, take appropriate measures in order to carry out this payment in the next 8 days. - -Would your payment have been carried out after this mail was sent, please ignore this message. Do not hesitate to contact our accounting department at (+32).10.68.94.39. - -Best Regards, - - - - - Level 1 : 30 net days - 1 - days - 30 - - -Dear %(partner_name)s, - -We are disappointed to see that despite sending a reminder, that your account is now seriously overdue. - -It is essential that immediate payment is made, otherwise we will have to consider placing a stop on your account which means that we will no longer be able to supply your company with (goods/services). -Please, take appropriate measures in order to carry out this payment in the next 8 days. - -If there is a problem with paying invoice that we are not aware of, do not hesitate to contact our accounting department at (+32).10.68.94.39. so that we can resolve the matter quickly. - -Details of due payments is printed below. - -Best Regards, - - - - - Level 2 : 45 days end of month - 2 - end_of_month - 45 + + + Urging reminder email + 4 + 50 + True + Dear %(partner_name)s, @@ -65,8 +20,29 @@ I trust that this action will prove unnecessary and details of due payments is p In case of any queries concerning this matter, do not hesitate to contact our accounting department at (+32).10.68.94.39. Best Regards, - + + + Urging reminder letter + 5 + 60 + + + True + + +Dear %(partner_name)s, +Despite several reminders, your account is still not settled. + +Unless full payment is made in next 8 days, then legal action for the recovery of the debt will be taken without further notice. + +I trust that this action will prove unnecessary and details of due payments is printed below. + +In case of any queries concerning this matter, do not hesitate to contact our accounting department at (+32).10.68.94.39. + +Best Regards, + + diff --git a/addons/account_followup/account_followup_view.xml b/addons/account_followup/account_followup_view.xml index b26458a73af..1df87feac76 100644 --- a/addons/account_followup/account_followup_view.xml +++ b/addons/account_followup/account_followup_view.xml @@ -1,14 +1,16 @@ - + account_followup.followup.line.tree account_followup.followup.line - + - + + + @@ -18,19 +20,47 @@ account_followup.followup.line
- - - - +
- Follow-ups + Payment Follow-ups ir.actions.act_window account_followup.followup form

- Click to define follow-up levels and their related messages. + Click to define follow-up levels and their related actions.

- For each step, specify the message and the day of delay. Use - the legend to know the using code to adapt the email content to - the good context (good name, good date) and you can manage the - multi language of messages. + For each step, specify the actions to be taken and delay in days. It is + possible to use print and e-mail templates to send specific messages to + the customer.

+
+
+ + Reconcile Invoices & Payments + + {'search_default_unreconciled': 1,'view_mode':True} + [('account_id.type', '=', 'receivable')] + account.move.line + + tree_account_reconciliation + +

+ No journal items found. +

- + + + @@ -127,7 +181,7 @@ - + - - - - - - - - - - res.company.followup.form.inherit - - res.company - - - - - - - - diff --git a/addons/account_followup/i18n/ar.po b/addons/account_followup/i18n/ar.po index 58ff840aed6..4477b5f2e1e 100644 --- a/addons/account_followup/i18n/ar.po +++ b/addons/account_followup/i18n/ar.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-10-08 15:59+0000\n" -"Last-Translator: waleed bazaza \n" +"PO-Revision-Date: 2012-12-01 18:26+0000\n" +"Last-Translator: kifcaliph \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: 2012-11-25 05:51+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-02 04:37+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_followup #: view:account_followup.stat:0 @@ -219,7 +219,7 @@ msgstr "وتعطي امر المتتابعة عند عرض قائمة خطوط #. module: account_followup #: constraint:account.move.line:0 msgid "You cannot create journal items on an account of type view." -msgstr "" +msgstr "لا يمكنك إنشاء يوميات لحساب من نوع 'عرض'" #. module: account_followup #: field:account.move.line,followup_line_id:0 @@ -304,7 +304,7 @@ msgstr "شريك للتذكير" #. module: account_followup #: constraint:account.move.line:0 msgid "Account and Period must belong to the same company." -msgstr "" +msgstr "الحساب و المدة يجب أن تنتمي لنفس الشركة." #. module: account_followup #: field:account_followup.followup.line,followup_id:0 @@ -353,7 +353,7 @@ msgstr "الرسالة" #: view:account.followup.print:0 #: view:account.followup.print.all:0 msgid "or" -msgstr "" +msgstr "أو" #. module: account_followup #: field:account_followup.stat,blocked:0 @@ -363,7 +363,7 @@ msgstr "محظور" #. module: account_followup #: constraint:account.move.line:0 msgid "You cannot create journal items on closed account." -msgstr "" +msgstr "لا يمكنك إنشاء عناصر يوميه لحساب مغلق" #. module: account_followup #: code:addons/account_followup/wizard/account_followup_print.py:291 diff --git a/addons/account_followup/i18n/nb.po b/addons/account_followup/i18n/nb.po index d83b7cb334d..05bddbdd8e6 100644 --- a/addons/account_followup/i18n/nb.po +++ b/addons/account_followup/i18n/nb.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2011-11-11 15:21+0000\n" -"Last-Translator: Fabien (Open ERP) \n" +"PO-Revision-Date: 2012-11-29 13:37+0000\n" +"Last-Translator: Kaare Pettersen \n" "Language-Team: Norwegian Bokmal \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 05:52+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-30 05:06+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_followup #: view:account_followup.stat:0 @@ -97,7 +97,7 @@ msgstr "E-post Emne" #. module: account_followup #: view:account_followup.followup.line:0 msgid "Follow-up Steps" -msgstr "" +msgstr "Oppfølging trinn." #. module: account_followup #: field:account_followup.followup.line,start:0 @@ -113,7 +113,7 @@ msgstr "Forklaring" #. module: account_followup #: field:account.followup.print.all,email_body:0 msgid "Email Body" -msgstr "" +msgstr "E-post kropp." #. module: account_followup #: view:account.followup.print.all:0 @@ -121,7 +121,7 @@ msgstr "" #: model:ir.actions.act_window,name:account_followup.action_account_followup_print_all #: model:ir.ui.menu,name:account_followup.account_followup_print_menu msgid "Send Follow-Ups" -msgstr "" +msgstr "Send oppfølgninger." #. module: account_followup #: report:account_followup.followup.print:0 @@ -214,7 +214,7 @@ msgstr "%(user_signature)s: Brukernavn" #. module: account_followup #: model:ir.actions.report.xml,name:account_followup.account_followup_followup_report msgid "Follow-up Report" -msgstr "" +msgstr "Oppfølging rapport." #. module: account_followup #: field:account_followup.stat,debit:0 @@ -224,12 +224,12 @@ msgstr "Debet" #. module: account_followup #: model:ir.model,name:account_followup.model_account_followup_stat msgid "Follow-up Statistics" -msgstr "" +msgstr "Oppfølging statistikk." #. module: account_followup #: model:ir.model,name:account_followup.model_account_followup_followup_line msgid "Follow-up Criteria" -msgstr "" +msgstr "Oppfølging kriterier." #. module: account_followup #: help:account_followup.followup.line,sequence:0 @@ -239,7 +239,7 @@ msgstr "Gir rekkefølgen av når du viser en liste over oppfølging linjer." #. module: account_followup #: constraint:account.move.line:0 msgid "You cannot create journal items on an account of type view." -msgstr "" +msgstr "Du kan ikke opprette journal elementer på en konto av typen visning." #. module: account_followup #: field:account.move.line,followup_line_id:0 @@ -256,7 +256,7 @@ msgstr "Siste oppfølging" #: model:ir.model,name:account_followup.model_account_followup_print #: model:ir.model,name:account_followup.model_account_followup_print_all msgid "Print Follow-up & Send Mail to Customers" -msgstr "" +msgstr "Skriv ut oppfølging og send e-post til kundene." #. module: account_followup #: code:addons/account_followup/wizard/account_followup_print.py:292 @@ -268,6 +268,11 @@ msgid "" "\n" "%s" msgstr "" +"\n" +"\n" +"E-post sendt til følgende partnere er vellykket. !\n" +"\n" +"% s" #. module: account_followup #: report:account_followup.followup.print:0 @@ -277,12 +282,12 @@ msgstr "Li." #. module: account_followup #: field:account.followup.print.all,email_conf:0 msgid "Send Email Confirmation" -msgstr "" +msgstr "Send e-post Bekreftelse." #. module: account_followup #: field:account_followup.stat.by.partner,date_followup:0 msgid "Latest follow-up" -msgstr "" +msgstr "Siste oppfølging." #. module: account_followup #: field:account.followup.print.all,partner_lang:0 @@ -336,7 +341,7 @@ msgstr "Partner til Påminnelse" #. module: account_followup #: constraint:account.move.line:0 msgid "Account and Period must belong to the same company." -msgstr "" +msgstr "Konto og periode må tilhøre samme selskap." #. module: account_followup #: field:account_followup.followup.line,followup_id:0 @@ -347,7 +352,7 @@ msgstr "Oppfølginger" #. module: account_followup #: model:ir.model,name:account_followup.model_account_followup_followup msgid "Account Follow-up" -msgstr "" +msgstr "Oppfølgings konto" #. module: account_followup #: constraint:account_followup.followup.line:0 @@ -377,7 +382,7 @@ msgstr "Send E-poster" #. module: account_followup #: view:account_followup.followup:0 msgid "Search Follow-up" -msgstr "" +msgstr "Søk oppfølging." #. module: account_followup #: view:account_followup.followup.line:0 @@ -388,7 +393,7 @@ msgstr "Beskjed" #: view:account.followup.print:0 #: view:account.followup.print.all:0 msgid "or" -msgstr "" +msgstr "Eller." #. module: account_followup #: field:account_followup.stat,blocked:0 @@ -398,7 +403,7 @@ msgstr "Blokkert" #. module: account_followup #: constraint:account.move.line:0 msgid "You cannot create journal items on closed account." -msgstr "" +msgstr "Du kan ikke opprette journal enmer i en lukker konto." #. module: account_followup #: code:addons/account_followup/wizard/account_followup_print.py:291 @@ -408,6 +413,9 @@ msgid "" "\n" "%s" msgstr "" +"E-post er ikke sendt til følgende Partnere, e-post er ikke tilgjengelig!\n" +"\n" +"% s" #. module: account_followup #: help:account.followup.print,date:0 @@ -441,7 +449,7 @@ msgstr "Skriv ut Oppfølginger" #. module: account_followup #: view:account_followup.stat:0 msgid "Follow-up Entries with period in current year" -msgstr "" +msgstr "Oppfølging oppføringer med perioden i inneværende år." #. module: account_followup #: field:account.move.line,followup_date:0 @@ -457,7 +465,7 @@ msgstr "%(Brukers_signatur)s: bruker navn" #: help:account.followup.print.all,test_print:0 msgid "" "Check if you want to print follow-ups without changing follow-ups level." -msgstr "" +msgstr "Sjekk om du vil skrive ut oppfølging uten å endre oppfølginger nivå." #. module: account_followup #: model:ir.model,name:account_followup.model_account_move_line @@ -468,7 +476,7 @@ msgstr "Journal Elementer" #: model:ir.actions.act_window,name:account_followup.action_account_followup_definition_form #: model:ir.ui.menu,name:account_followup.account_followup_menu msgid "Follow-ups" -msgstr "" +msgstr "Oppfølginger." #. module: account_followup #: report:account_followup.followup.print:0 @@ -498,6 +506,9 @@ msgid "" "\n" "%s" msgstr "" +"Alle e-poster har blitt vellykket sendt til Partnere:.\n" +"\n" +"% s" #. module: account_followup #: field:account_followup.stat,credit:0 @@ -517,7 +528,7 @@ msgstr "% (Partner_Navn) s: Partner Navn" #. module: account_followup #: view:account_followup.stat:0 msgid "Latest Follow-up Date" -msgstr "" +msgstr "Siste Oppfølging Dato." #. module: account_followup #: view:account.followup.print.all:0 @@ -627,7 +638,7 @@ msgstr "Partner oppføringer" #. module: account_followup #: view:account_followup.stat:0 msgid "Follow-up lines" -msgstr "" +msgstr "Oppfølging linjer." #. module: account_followup #: help:account.followup.print.all,partner_lang:0 @@ -670,7 +681,7 @@ msgstr "Første bevegelse" #. module: account_followup #: model:ir.model,name:account_followup.model_account_followup_stat_by_partner msgid "Follow-up Statistics by Partner" -msgstr "" +msgstr "Oppfølging statistikk av partner." #. module: account_followup #: view:account.followup.print:0 @@ -696,7 +707,7 @@ msgstr "Dokument: Kundens kontoutskrift" #. module: account_followup #: view:account.followup.print:0 msgid "Send follow-ups" -msgstr "" +msgstr "send oppfølging." #. module: account_followup #: view:account.move.line:0 diff --git a/addons/account_followup/i18n/nl.po b/addons/account_followup/i18n/nl.po index 3b8d4de8da4..72ddbd6b076 100644 --- a/addons/account_followup/i18n/nl.po +++ b/addons/account_followup/i18n/nl.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-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-18 15:14+0000\n" +"PO-Revision-Date: 2012-12-01 16:25+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \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: 2012-11-25 05:51+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-02 04:37+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_followup #: view:account_followup.stat:0 @@ -97,7 +97,7 @@ msgstr "E-mail onderwerp" #. module: account_followup #: view:account_followup.followup.line:0 msgid "Follow-up Steps" -msgstr "" +msgstr "Betalingsherinneringen stappen" #. module: account_followup #: field:account_followup.followup.line,start:0 @@ -113,7 +113,7 @@ msgstr "Legenda" #. module: account_followup #: field:account.followup.print.all,email_body:0 msgid "Email Body" -msgstr "" +msgstr "Email bericht" #. module: account_followup #: view:account.followup.print.all:0 @@ -121,7 +121,7 @@ msgstr "" #: model:ir.actions.act_window,name:account_followup.action_account_followup_print_all #: model:ir.ui.menu,name:account_followup.account_followup_print_menu msgid "Send Follow-Ups" -msgstr "" +msgstr "Verstuur Betalingsherinneringen" #. module: account_followup #: report:account_followup.followup.print:0 @@ -214,7 +214,7 @@ msgstr "%(user_signature)s: Gebruikersnaam" #. module: account_followup #: model:ir.actions.report.xml,name:account_followup.account_followup_followup_report msgid "Follow-up Report" -msgstr "" +msgstr "Betalingsherinneringen rapportage" #. module: account_followup #: field:account_followup.stat,debit:0 @@ -224,12 +224,12 @@ msgstr "Debet" #. module: account_followup #: model:ir.model,name:account_followup.model_account_followup_stat msgid "Follow-up Statistics" -msgstr "" +msgstr "Betalingsherinneringen analyses" #. module: account_followup #: model:ir.model,name:account_followup.model_account_followup_followup_line msgid "Follow-up Criteria" -msgstr "" +msgstr "Betalingsherinneringen creteria" #. module: account_followup #: help:account_followup.followup.line,sequence:0 @@ -241,6 +241,8 @@ msgstr "" #: constraint:account.move.line:0 msgid "You cannot create journal items on an account of type view." msgstr "" +"Het is niet mogelijk om journaalposten te maken in een rekening van het type " +"'weergave'" #. module: account_followup #: field:account.move.line,followup_line_id:0 @@ -257,7 +259,7 @@ msgstr "Laatste betalingsherinnering" #: model:ir.model,name:account_followup.model_account_followup_print #: model:ir.model,name:account_followup.model_account_followup_print_all msgid "Print Follow-up & Send Mail to Customers" -msgstr "" +msgstr "Betalingsherinneringen afdrukken & E-mails naar klanten versturen" #. module: account_followup #: code:addons/account_followup/wizard/account_followup_print.py:292 @@ -269,6 +271,11 @@ msgid "" "\n" "%s" msgstr "" +"\n" +"\n" +"E-mails succesvol verzonden naar de navolgende relaties:\n" +"\n" +"%s" #. module: account_followup #: report:account_followup.followup.print:0 @@ -278,12 +285,12 @@ msgstr "Bt." #. module: account_followup #: field:account.followup.print.all,email_conf:0 msgid "Send Email Confirmation" -msgstr "" +msgstr "Stuur e-mail bevestiging" #. module: account_followup #: field:account_followup.stat.by.partner,date_followup:0 msgid "Latest follow-up" -msgstr "" +msgstr "Laatste betalingsherinnering" #. module: account_followup #: field:account.followup.print.all,partner_lang:0 @@ -337,7 +344,7 @@ msgstr "Relatie voor betalingsherinnering" #. module: account_followup #: constraint:account.move.line:0 msgid "Account and Period must belong to the same company." -msgstr "" +msgstr "Kostenplaats en periode moeten behoren tot hetzelfde bedrijf." #. module: account_followup #: field:account_followup.followup.line,followup_id:0 @@ -348,7 +355,7 @@ msgstr "Betalingsherinneringen" #. module: account_followup #: model:ir.model,name:account_followup.model_account_followup_followup msgid "Account Follow-up" -msgstr "" +msgstr "Betalingsherinneringen" #. module: account_followup #: constraint:account_followup.followup.line:0 @@ -378,7 +385,7 @@ msgstr "E-mails versturen" #. module: account_followup #: view:account_followup.followup:0 msgid "Search Follow-up" -msgstr "" +msgstr "Zoek betalingsherinnering" #. module: account_followup #: view:account_followup.followup.line:0 @@ -389,7 +396,7 @@ msgstr "Bericht" #: view:account.followup.print:0 #: view:account.followup.print.all:0 msgid "or" -msgstr "" +msgstr "of" #. module: account_followup #: field:account_followup.stat,blocked:0 @@ -400,6 +407,7 @@ msgstr "Geblokkeerd" #: constraint:account.move.line:0 msgid "You cannot create journal items on closed account." msgstr "" +"Het is niet mogelijk om journaalposten te maken in een gesloten rekenening" #. module: account_followup #: code:addons/account_followup/wizard/account_followup_print.py:291 @@ -409,6 +417,10 @@ msgid "" "\n" "%s" msgstr "" +"E-mail naar de navolgende relaties niet verzonden. geen e-mail adres " +"beschikbaar.\n" +"\n" +"%s" #. module: account_followup #: help:account.followup.print,date:0 @@ -442,7 +454,7 @@ msgstr "Betalingsherinneringen afdrukken" #. module: account_followup #: view:account_followup.stat:0 msgid "Follow-up Entries with period in current year" -msgstr "" +msgstr "Betalingsherinneringen met refels in het huidige jaar" #. module: account_followup #: field:account.move.line,followup_date:0 @@ -459,6 +471,8 @@ msgstr "%(user_signature)s: Gebruikersnaam" msgid "" "Check if you want to print follow-ups without changing follow-ups level." msgstr "" +"Vink dit aan indien u een betalingsherinneringen wilt afdrukken, zonder het " +"Betalingsherinnering niveau te wijzigen." #. module: account_followup #: model:ir.model,name:account_followup.model_account_move_line @@ -469,7 +483,7 @@ msgstr "Boekingen" #: model:ir.actions.act_window,name:account_followup.action_account_followup_definition_form #: model:ir.ui.menu,name:account_followup.account_followup_menu msgid "Follow-ups" -msgstr "" +msgstr "Betalingsherinneringen" #. module: account_followup #: report:account_followup.followup.print:0 @@ -499,6 +513,9 @@ msgid "" "\n" "%s" msgstr "" +"Alle e-mails zijn succesvol verzonden naar de navolgende relaties:\n" +"\n" +"%s" #. module: account_followup #: field:account_followup.stat,credit:0 @@ -518,7 +535,7 @@ msgstr "%(partner_name)s: Relatienaam" #. module: account_followup #: view:account_followup.stat:0 msgid "Latest Follow-up Date" -msgstr "" +msgstr "Laaste betalingsherinnering datum" #. module: account_followup #: view:account.followup.print.all:0 @@ -628,7 +645,7 @@ msgstr "Boekingen relatie" #. module: account_followup #: view:account_followup.stat:0 msgid "Follow-up lines" -msgstr "" +msgstr "Betalingsherinneringregels" #. module: account_followup #: help:account.followup.print.all,partner_lang:0 @@ -671,7 +688,7 @@ msgstr "Eerste boeking" #. module: account_followup #: model:ir.model,name:account_followup.model_account_followup_stat_by_partner msgid "Follow-up Statistics by Partner" -msgstr "" +msgstr "Betalingsherinnering analyses per relatie" #. module: account_followup #: view:account.followup.print:0 @@ -697,7 +714,7 @@ msgstr "Document: Rekeningoverzicht klant" #. module: account_followup #: view:account.followup.print:0 msgid "Send follow-ups" -msgstr "" +msgstr "Verstuur Betalingsherinneringen" #. module: account_followup #: view:account.move.line:0 diff --git a/addons/account_followup/i18n/zh_CN.po b/addons/account_followup/i18n/zh_CN.po index ffa28974e20..da42ae08109 100644 --- a/addons/account_followup/i18n/zh_CN.po +++ b/addons/account_followup/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-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-09 03:49+0000\n" -"Last-Translator: 开阖软件 Jeff Wang \n" +"PO-Revision-Date: 2012-11-30 12:07+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: 2012-11-25 05:52+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-01 05:07+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_followup #: view:account_followup.stat:0 @@ -91,12 +91,12 @@ msgstr "电子邮件主题" #. module: account_followup #: view:account_followup.followup.line:0 msgid "Follow-up Steps" -msgstr "" +msgstr "催款步骤" #. module: account_followup #: field:account_followup.followup.line,start:0 msgid "Type of Term" -msgstr "条件类型" +msgstr "条款类型" #. module: account_followup #: view:account.followup.print.all:0 @@ -107,7 +107,7 @@ msgstr "图表" #. module: account_followup #: field:account.followup.print.all,email_body:0 msgid "Email Body" -msgstr "" +msgstr "电子邮件正文" #. module: account_followup #: view:account.followup.print.all:0 @@ -115,7 +115,7 @@ msgstr "" #: model:ir.actions.act_window,name:account_followup.action_account_followup_print_all #: model:ir.ui.menu,name:account_followup.account_followup_print_menu msgid "Send Follow-Ups" -msgstr "" +msgstr "发送催款" #. module: account_followup #: report:account_followup.followup.print:0 @@ -125,7 +125,7 @@ msgstr "金额" #. module: account_followup #: sql_constraint:account.move.line:0 msgid "Wrong credit or debit value in accounting entry !" -msgstr "错误的分录" +msgstr "错误的出纳会计分录" #. module: account_followup #: selection:account_followup.followup.line,start:0 @@ -206,7 +206,7 @@ msgstr "%(user_signature)s:用户名" #. module: account_followup #: model:ir.actions.report.xml,name:account_followup.account_followup_followup_report msgid "Follow-up Report" -msgstr "" +msgstr "催款报告" #. module: account_followup #: field:account_followup.stat,debit:0 @@ -216,12 +216,12 @@ msgstr "借方" #. module: account_followup #: model:ir.model,name:account_followup.model_account_followup_stat msgid "Follow-up Statistics" -msgstr "" +msgstr "催款统计" #. module: account_followup #: model:ir.model,name:account_followup.model_account_followup_followup_line msgid "Follow-up Criteria" -msgstr "" +msgstr "催款准则" #. module: account_followup #: help:account_followup.followup.line,sequence:0 @@ -231,7 +231,7 @@ msgstr "输入序列用于显示催款列表" #. module: account_followup #: constraint:account.move.line:0 msgid "You cannot create journal items on an account of type view." -msgstr "" +msgstr "你不能在视图类型的科目创建账目项目" #. module: account_followup #: field:account.move.line,followup_line_id:0 @@ -248,7 +248,7 @@ msgstr "最近的催款" #: model:ir.model,name:account_followup.model_account_followup_print #: model:ir.model,name:account_followup.model_account_followup_print_all msgid "Print Follow-up & Send Mail to Customers" -msgstr "" +msgstr "打印催款并发送邮件给客户" #. module: account_followup #: code:addons/account_followup/wizard/account_followup_print.py:292 @@ -260,6 +260,11 @@ msgid "" "\n" "%s" msgstr "" +"\n" +"\n" +"Email 成功发送给下列客户:!\n" +"\n" +"%s" #. module: account_followup #: report:account_followup.followup.print:0 @@ -269,12 +274,12 @@ msgstr "Li." #. module: account_followup #: field:account.followup.print.all,email_conf:0 msgid "Send Email Confirmation" -msgstr "" +msgstr "发送邮件确认" #. module: account_followup #: field:account_followup.stat.by.partner,date_followup:0 msgid "Latest follow-up" -msgstr "" +msgstr "最新的催款" #. module: account_followup #: field:account.followup.print.all,partner_lang:0 @@ -324,7 +329,7 @@ msgstr "提醒合作伙伴" #. module: account_followup #: constraint:account.move.line:0 msgid "Account and Period must belong to the same company." -msgstr "" +msgstr "科目和会计周期必须属于同一个公司" #. module: account_followup #: field:account_followup.followup.line,followup_id:0 @@ -335,14 +340,14 @@ msgstr "催款" #. module: account_followup #: model:ir.model,name:account_followup.model_account_followup_followup msgid "Account Follow-up" -msgstr "" +msgstr "催款" #. module: account_followup #: constraint:account_followup.followup.line:0 msgid "" "Your description is invalid, use the right legend or %% if you want to use " "the percent character." -msgstr "描述有无,请使用正确的标识或百分数。" +msgstr "描述有误,请使用正确的标识或百分数。" #. module: account_followup #: constraint:account.move.line:0 @@ -360,18 +365,18 @@ msgstr "发送邮件" #. module: account_followup #: view:account_followup.followup:0 msgid "Search Follow-up" -msgstr "" +msgstr "搜索催款" #. module: account_followup #: view:account_followup.followup.line:0 msgid "Message" -msgstr "信息" +msgstr "消息" #. module: account_followup #: view:account.followup.print:0 #: view:account.followup.print.all:0 msgid "or" -msgstr "" +msgstr "or" #. module: account_followup #: field:account_followup.stat,blocked:0 @@ -381,7 +386,7 @@ msgstr "已封锁" #. module: account_followup #: constraint:account.move.line:0 msgid "You cannot create journal items on closed account." -msgstr "" +msgstr "你不能在关闭的科目创建分类账条目" #. module: account_followup #: code:addons/account_followup/wizard/account_followup_print.py:291 @@ -391,6 +396,9 @@ msgid "" "\n" "%s" msgstr "" +"Email 没有发送给下来业务伙伴,Email不可用!\n" +"\n" +"%s" #. module: account_followup #: help:account.followup.print,date:0 @@ -422,7 +430,7 @@ msgstr "打印催款" #. module: account_followup #: view:account_followup.stat:0 msgid "Follow-up Entries with period in current year" -msgstr "" +msgstr "本年度的催款明细" #. module: account_followup #: field:account.move.line,followup_date:0 @@ -438,7 +446,7 @@ msgstr "%(user_signature)s: 用户名" #: help:account.followup.print.all,test_print:0 msgid "" "Check if you want to print follow-ups without changing follow-ups level." -msgstr "" +msgstr "选中 如果你要打印催款而不改变催款级别。" #. module: account_followup #: model:ir.model,name:account_followup.model_account_move_line @@ -449,7 +457,7 @@ msgstr "账簿明细" #: model:ir.actions.act_window,name:account_followup.action_account_followup_definition_form #: model:ir.ui.menu,name:account_followup.account_followup_menu msgid "Follow-ups" -msgstr "" +msgstr "催款" #. module: account_followup #: report:account_followup.followup.print:0 @@ -459,7 +467,7 @@ msgstr "合计:" #. module: account_followup #: constraint:res.company:0 msgid "Error! You can not create recursive companies." -msgstr "错误!您不能创建递归公司." +msgstr "错误!您不能创建循环的公司。" #. module: account_followup #: view:account.followup.print.all:0 @@ -479,6 +487,9 @@ msgid "" "\n" "%s" msgstr "" +"所有邮件被成功发送给业务伙伴:\n" +"\n" +"%s" #. module: account_followup #: field:account_followup.stat,credit:0 @@ -498,7 +509,7 @@ msgstr "%(partner_name)s: 业务伙伴名称" #. module: account_followup #: view:account_followup.stat:0 msgid "Latest Follow-up Date" -msgstr "" +msgstr "最新的催款日期" #. module: account_followup #: view:account.followup.print.all:0 @@ -529,12 +540,19 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" 单击定义催款级别和他们相关的信息\n" +"

\n" +" 每个步骤可指定消息和延时天数。\n" +" 能管理多种语言的消息。\n" +"

\n" +" " #. module: account_followup #: field:account_followup.stat,date_move_last:0 #: field:account_followup.stat.by.partner,date_move_last:0 msgid "Last move" -msgstr "最近" +msgstr "最近的凭证" #. module: account_followup #: field:account_followup.stat,period_id:0 @@ -556,7 +574,7 @@ msgstr "取消" #. module: account_followup #: view:account_followup.stat:0 msgid "Litigation" -msgstr "有争议" +msgstr "有异议" #. module: account_followup #: field:account_followup.stat.by.partner,max_followup_id:0 @@ -608,7 +626,7 @@ msgstr "业务伙伴凭证" #. module: account_followup #: view:account_followup.stat:0 msgid "Follow-up lines" -msgstr "" +msgstr "催款明细" #. module: account_followup #: help:account.followup.print.all,partner_lang:0 @@ -644,12 +662,12 @@ msgstr "名称" #: field:account_followup.stat,date_move:0 #: field:account_followup.stat.by.partner,date_move:0 msgid "First move" -msgstr "首先" +msgstr "第一个凭证" #. module: account_followup #: model:ir.model,name:account_followup.model_account_followup_stat_by_partner msgid "Follow-up Statistics by Partner" -msgstr "" +msgstr "按合作伙伴的催款统计" #. module: account_followup #: view:account.followup.print:0 @@ -675,7 +693,7 @@ msgstr "文档: 客户帐户对帐单" #. module: account_followup #: view:account.followup.print:0 msgid "Send follow-ups" -msgstr "" +msgstr "发送催款" #. module: account_followup #: view:account.move.line:0 diff --git a/addons/account_followup/report/account_followup_print.py b/addons/account_followup/report/account_followup_print.py index 593430691aa..90dd5969d53 100644 --- a/addons/account_followup/report/account_followup_print.py +++ b/addons/account_followup/report/account_followup_print.py @@ -25,7 +25,7 @@ import pooler from report import report_sxw class report_rappel(report_sxw.rml_parse): - def __init__(self, cr, uid, name, context): + def __init__(self, cr, uid, name, context=None): super(report_rappel, self).__init__(cr, uid, name, context=context) self.localcontext.update({ 'time': time, @@ -43,14 +43,17 @@ class report_rappel(report_sxw.rml_parse): return all_lines def _lines_get(self, stat_by_partner_line): + return self._lines_get_with_partner(stat_by_partner_line.partner_id, stat_by_partner_line.company_id.id) + + def _lines_get_with_partner(self, partner, company_id): pool = pooler.get_pool(self.cr.dbname) moveline_obj = pool.get('account.move.line') company_obj = pool.get('res.company') obj_currency = pool.get('res.currency') movelines = moveline_obj.search(self.cr, self.uid, - [('partner_id', '=', stat_by_partner_line.partner_id.id), + [('partner_id', '=', partner.id), ('account_id.type', '=', 'receivable'), - ('reconcile_id', '=', False), ('state', '<>', 'draft'),('company_id','=', stat_by_partner_line.company_id.id)]) + ('reconcile_id', '=', False), ('state', '<>', 'draft'),('company_id','=', company_id)]) movelines = moveline_obj.browse(self.cr, self.uid, movelines) base_currency = movelines[0].company_id.currency_id final_res = [] @@ -67,7 +70,7 @@ class report_rappel(report_sxw.rml_parse): 'date_maturity': line.date_maturity, 'balance': currency.id <> line.company_id.currency_id.id and line.amount_currency or (line.debit - line.credit), 'blocked': line.blocked, - 'currency_id': currency.symbol or currency.name, + 'currency_id': currency, } line_cur[currency.id]['line'].append(line_data) @@ -88,7 +91,7 @@ class report_rappel(report_sxw.rml_parse): li_delay.sort(reverse=True) text = "" a = {} - partner_line_ids = pooler.get_pool(self.cr.dbname).get('account.move.line').search(self.cr, self.uid, [('partner_id','=',stat_line.partner_id.id),('reconcile_id','=',False),('company_id','=',stat_line.company_id.id)]) + partner_line_ids = pooler.get_pool(self.cr.dbname).get('account.move.line').search(self.cr, self.uid, [('partner_id','=',stat_line.partner_id.id),('reconcile_id','=',False),('company_id','=',stat_line.company_id.id),('blocked','=',False)]) partner_delay = [] context.update({'lang': stat_line.partner_id.lang}) for i in pooler.get_pool(self.cr.dbname).get('account.move.line').browse(self.cr, self.uid, partner_line_ids, context): diff --git a/addons/account_followup/report/account_followup_print.rml b/addons/account_followup/report/account_followup_print.rml index 7f2242991de..fd3a35ab19c 100644 --- a/addons/account_followup/report/account_followup_print.rml +++ b/addons/account_followup/report/account_followup_print.rml @@ -194,7 +194,7 @@ [[ line['date_maturity'] and formatLang(line['date_maturity'], date=True) ]] - [[ formatLang(line['balance']) ]] [[ line['currency_id'] ]] + [[ formatLang(line['balance'], currency_obj=line['currency_id']) ]] [[ line['blocked'] and 'X' or '' ]] @@ -212,7 +212,7 @@ Total: - [[formatLang(reduce(lambda x,y: x+y['balance'], cur_lines['line'], 0.00)) ]] [[ line['currency_id'] ]] + [[formatLang(reduce(lambda x,y: x+y['balance'], cur_lines['line'], 0.00), currency_obj=line['currency_id']) ]] diff --git a/addons/account_followup/report/account_followup_report.xml b/addons/account_followup/report/account_followup_report.xml index 966931d78a9..6fee6a77ac1 100644 --- a/addons/account_followup/report/account_followup_report.xml +++ b/addons/account_followup/report/account_followup_report.xml @@ -64,8 +64,8 @@ {'search_default_followup_level':1}
- - + + diff --git a/addons/account_followup/security/ir.model.access.csv b/addons/account_followup/security/ir.model.access.csv index 57292899825..8774015efc6 100644 --- a/addons/account_followup/security/ir.model.access.csv +++ b/addons/account_followup/security/ir.model.access.csv @@ -1,7 +1,7 @@ -id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink -access_account_followup_followup_line,account_followup.followup.line,model_account_followup_followup_line,account.group_account_user,1,0,0,0 -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_user,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_manager,1,1,1,1 +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_account_followup_followup_line,account_followup.followup.line,model_account_followup_followup_line,account.group_account_invoice,1,0,0,0 +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 diff --git a/addons/account_followup/test/account_followup.yml b/addons/account_followup/test/account_followup.yml index 06617b7af97..54dd3280984 100644 --- a/addons/account_followup/test/account_followup.yml +++ b/addons/account_followup/test/account_followup.yml @@ -3,34 +3,23 @@ - !record {model: account.invoice, id: account.demo_invoice_0}: check_total: 14.0 -- + date_invoice: 2012-06-2 + invoice_line: + - account_id : account.a_sale + name: 'Test PC' + quantity: 1.0 + journal_id: account.bank_journal + partner_id: base.res_partner_12 + reference_type: none +- !workflow {model: account.invoice, action: invoice_open, ref: account.demo_invoice_0} - I create a follow-up. - - !record {model: account.followup.print, id: account_followup_print_0}: + !record {model: account_followup.print, id: account_followup_print_0}: {} -- - I select the follow-up to send it to the partner. -- - !python {model: account.followup.print}: | - self.do_continue(cr, uid, [ref("account_followup_print_0")], {"active_ids": [ref("account_followup.account_followup_print_menu")], "active_id": ref("account_followup.account_followup_print_menu"), - }) -- - I select partners whom I want to send follow-ups. -- - !record {model: account.followup.print.all, id: account_followup_print_all_0}: - email_body: 'Date : %(date)s\n\nDear %(partner_name)s,\n\nPlease find in attachment - a reminder of all your unpaid invoices, for a total amount due of:\n\n%(followup_amount).2f - %(company_currency)s\n\nThanks,\n--\n%(user_signature)s\n%(company_name)s' - email_subject: Invoices Reminder - partner_ids: - - base.res_partner_12 - partner_lang: 1 -- - I send a follow-up mail to partner. -- - !python {model: account.followup.print.all}: | - import time - self.do_mail(cr, uid, [ref("account_followup_print_all_0")], {"active_ids": [ref("account_followup.account_followup_print_menu")], "date": time.strftime('%Y-%m-%d'), "followup_id": ref("account_followup.demo_followup1"), "active_id": ref("account_followup.account_followup_print_menu"), - }) +- + I will process follow-ups +- + !python {model: account_followup.print}: | + self.do_process(cr, uid, [ref("account_followup_print_0")], {"active_ids": [ref("account_followup.account_followup_print_menu")], "active_id": ref("account_followup.account_followup_print_menu"),}) \ No newline at end of file diff --git a/addons/account_followup/test/account_followup_report.yml b/addons/account_followup/test/account_followup_report.yml deleted file mode 100644 index f2ad8a5bb9f..00000000000 --- a/addons/account_followup/test/account_followup_report.yml +++ /dev/null @@ -1,10 +0,0 @@ -- - In order to test the report I print follow-up report. -- - !python {model: account.followup.print.all}: | - import time - ctx = {'form_view_ref':'account_followup.view_account_followup_print_all', 'followup_id': ref('account_followup.demo_followup1'),'date': time.strftime('%Y-%m-%d'),'model': 'account_followup.followup','active_ids':[ref('account_followup_print_all_0')], 'company_id':ref('base.main_company')} - data_dict = {'email_conf': 1} - from tools import test_reports - test_reports.try_report_action(cr, uid, 'action_account_followup_print_all', context=ctx, wiz_data=data_dict,wiz_buttons=["Print Follow-ups"], our_module='account_followup') - diff --git a/addons/portal_crm/wizard/__init__.py b/addons/account_followup/tests/__init__.py similarity index 77% rename from addons/portal_crm/wizard/__init__.py rename to addons/account_followup/tests/__init__.py index 92b3ac62321..cf0ea3acbe6 100644 --- a/addons/portal_crm/wizard/__init__.py +++ b/addons/account_followup/tests/__init__.py @@ -1,8 +1,8 @@ # -*- coding: utf-8 -*- ############################################################################## # -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2011 OpenERP S.A (). +# OpenERP, Open Source Business Applications +# Copyright (c) 2012-TODAY OpenERP S.A. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -18,5 +18,10 @@ # along with this program. If not, see . # ############################################################################## +from . import test_account_followup -import contact +checks = [ + test_account_followup, +] + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/addons/account_followup/tests/test_account_followup.py b/addons/account_followup/tests/test_account_followup.py new file mode 100644 index 00000000000..c46977bd6b5 --- /dev/null +++ b/addons/account_followup/tests/test_account_followup.py @@ -0,0 +1,159 @@ + + +import datetime + +import tools +from openerp.tests.common import TransactionCase + +import netsvc + +class TestAccountFollowup(TransactionCase): + def setUp(self): + """ setUp ***""" + super(TestAccountFollowup, self).setUp() + cr, uid = self.cr, self.uid + + self.user = self.registry('res.users') + self.user_id = self.user.browse(cr, uid, uid) + self.partner = self.registry('res.partner') + self.invoice = self.registry('account.invoice') + self.invoice_line = self.registry('account.invoice.line') + self.wizard = self.registry('account_followup.print') + self.followup_id = self.registry('account_followup.followup') + + self.partner_id = self.partner.create(cr, uid, {'name':'Test Company', + 'email':'test@localhost', + 'is_company': True, + }, + context=None) + self.followup_id = self.registry("ir.model.data").get_object_reference(cr, uid, "account_followup", "demo_followup1")[1] + self.account_id = self.registry("ir.model.data").get_object_reference(cr, uid, "account", "a_recv")[1] + self.journal_id = self.registry("ir.model.data").get_object_reference(cr, uid, "account", "bank_journal")[1] + self.pay_account_id = self.registry("ir.model.data").get_object_reference(cr, uid, "account", "cash")[1] + self.period_id = self.registry("ir.model.data").get_object_reference(cr, uid, "account", "period_10")[1] + + self.first_followup_line_id = self.registry("ir.model.data").get_object_reference(cr, uid, "account_followup", "demo_followup_line1")[1] + self.last_followup_line_id = self.registry("ir.model.data").get_object_reference(cr, uid, "account_followup", "demo_followup_line3")[1] + self.product_id = self.registry("ir.model.data").get_object_reference(cr, uid, "product", "product_product_6")[1] + self.invoice_id = self.invoice.create(cr, uid, {'partner_id': self.partner_id, + 'account_id': self.account_id, + 'journal_id': self.journal_id, + 'invoice_line': [(0, 0, { + 'name': "LCD Screen", + 'product_id': self.product_id, + 'quantity': 5, + 'price_unit':200 + })]}) + wf_service = netsvc.LocalService("workflow") + wf_service.trg_validate(uid, 'account.invoice', self.invoice_id, 'invoice_open', cr) + + self.voucher = self.registry("account.voucher") + + + def test_00_send_followup_after_3_days(self): + """ Send follow up after 3 days and check nothing is done (as first follow-up level is only after 15 days)""" + cr, uid = self.cr, self.uid + current_date = datetime.datetime.now() + delta = datetime.timedelta(days=3) + result = current_date + delta + self.wizard_id = self.wizard.create(cr, uid, {'date':result.strftime("%Y-%m-%d"), + 'followup_id': self.followup_id + }, context={"followup_id": self.followup_id}) + self.wizard.do_process(cr, uid, [self.wizard_id], context={"followup_id": self.followup_id}) + self.assertFalse(self.partner.browse(cr, uid, self.partner_id).latest_followup_level_id) + + + def run_wizard_three_times(self): + cr, uid = self.cr, self.uid + current_date = datetime.datetime.now() + delta = datetime.timedelta(days=40) + result = current_date + delta + self.wizard_id = self.wizard.create(cr, uid, {'date':result.strftime("%Y-%m-%d"), + 'followup_id': self.followup_id + }, context={"followup_id": self.followup_id}) + self.wizard.do_process(cr, uid, [self.wizard_id], context={"followup_id": self.followup_id}) + self.wizard_id = self.wizard.create(cr, uid, {'date':result.strftime("%Y-%m-%d"), + 'followup_id': self.followup_id + }, context={"followup_id": self.followup_id}) + self.wizard.do_process(cr, uid, [self.wizard_id], context={"followup_id": self.followup_id}) + self.wizard_id = self.wizard.create(cr, uid, {'date':result.strftime("%Y-%m-%d"), + 'followup_id': self.followup_id + }, context={"followup_id": self.followup_id}) + self.wizard.do_process(cr, uid, [self.wizard_id], context={"followup_id": self.followup_id}) + + + def test_01_send_followup_later_for_upgrade(self): + """ Send one follow-up after 15 days to check it upgrades to level 1""" + cr, uid = self.cr, self.uid + current_date = datetime.datetime.now() + delta = datetime.timedelta(days=15) + result = current_date + delta + self.wizard_id = self.wizard.create(cr, uid, { + 'date':result.strftime("%Y-%m-%d"), + 'followup_id': self.followup_id + }, context={"followup_id": self.followup_id}) + self.wizard.do_process(cr, uid, [self.wizard_id], context={"followup_id": self.followup_id}) + self.assertEqual(self.partner.browse(cr, uid, self.partner_id).latest_followup_level_id.id, self.first_followup_line_id, + "Not updated to the correct follow-up level") + + def test_02_check_manual_action(self): + """ Check that when running the wizard three times that the manual action is set""" + cr, uid = self.cr, self.uid + self.run_wizard_three_times() + self.assertEqual(self.partner.browse(cr, uid, self.partner_id).payment_next_action, + "Call the customer on the phone! ", "Manual action not set") + self.assertEqual(self.partner.browse(cr, uid, self.partner_id).payment_next_action_date, + datetime.datetime.now().strftime("%Y-%m-%d")) + + def test_03_filter_on_credit(self): + """ Check the partners can be filtered on having credits """ + cr, uid = self.cr, self.uid + ids = self.partner.search(cr, uid, [('credit', '>=', 0.0)]) + self.assertIn(self.partner_id, ids) + + def test_04_action_done(self): + """ Run the wizard 3 times, mark it as done, check the action fields are empty""" + cr, uid = self.cr, self.uid + partner_rec = self.partner.browse(cr, uid, self.partner_id) + self.run_wizard_three_times() + self.partner.action_done(cr, uid, self.partner_id) + self.assertEqual(partner_rec.payment_next_action, + "", "Manual action not emptied") + self.assertFalse(partner_rec.payment_responsible_id) + self.assertFalse(partner_rec.payment_next_action_date) + + def test_05_litigation(self): + """ Set the account move line as litigation, run the wizard 3 times and check nothing happened. + Turn litigation off. Run the wizard 3 times and check it is in the right follow-up level. + """ + cr, uid = self.cr, self.uid + aml_id = self.partner.browse(cr, uid, self.partner_id).unreconciled_aml_ids[0].id + self.registry('account.move.line').write(cr, uid, aml_id, {'blocked': True}) + self.run_wizard_three_times() + self.assertFalse(self.partner.browse(cr, uid, self.partner_id).latest_followup_level_id, "Litigation does not work") + self.registry('account.move.line').write(cr, uid, aml_id, {'blocked': False}) + self.run_wizard_three_times() + self.assertEqual(self.partner.browse(cr, uid, self.partner_id).latest_followup_level_id.id, + self.last_followup_line_id, "Lines are not equal") + + def test_06_pay_the_invoice(self): + """Run wizard until manual action, pay the invoice and check that partner has no follow-up level anymore and after running the wizard the action is empty""" + cr, uid = self.cr, self.uid + self.test_02_check_manual_action() + current_date = datetime.datetime.now() + delta = datetime.timedelta(days=1) + result = current_date + delta + self.invoice.pay_and_reconcile(cr, uid, [self.invoice_id], 1000.0, self.pay_account_id, + self.period_id, self.journal_id, self.pay_account_id, + self.period_id, self.journal_id, + name = "Payment for test customer invoice follow-up") + self.assertFalse(self.partner.browse(cr, uid, self.partner_id).latest_followup_level_id, "Level not empty") + self.wizard_id = self.wizard.create(cr, uid, {'date':result.strftime("%Y-%m-%d"), + 'followup_id': self.followup_id + }, context={"followup_id": self.followup_id}) + self.wizard.do_process(cr, uid, [self.wizard_id], context={"followup_id": self.followup_id}) + partner_ref = self.partner.browse(cr, uid, self.partner_id) + print partner_ref.credit, partner_ref.payment_next_action_date, partner_ref.payment_responsible_id + self.assertEqual(0, self.partner.browse(cr, uid, self.partner_id).credit, "Credit != 0") + self.assertFalse(self.partner.browse(cr, uid, self.partner_id).payment_next_action_date, "Next action date not cleared") + \ No newline at end of file diff --git a/addons/account_followup/wizard/account_followup_print.py b/addons/account_followup/wizard/account_followup_print.py index 5791bacbed0..db93b3c63a8 100644 --- a/addons/account_followup/wizard/account_followup_print.py +++ b/addons/account_followup/wizard/account_followup_print.py @@ -26,49 +26,6 @@ import tools from osv import fields, osv from tools.translate import _ -class account_followup_print(osv.osv_memory): - _name = 'account.followup.print' - _description = 'Print Follow-up & Send Mail to Customers' - _columns = { - 'date': fields.date('Follow-up Sending Date', required=True, help="This field allow you to select a forecast date to plan your follow-ups"), - 'followup_id': fields.many2one('account_followup.followup', 'Follow-Up', required=True), - } - - def _get_followup(self, cr, uid, context=None): - if context is None: - context = {} - if context.get('active_model', 'ir.ui.menu') == 'account_followup.followup': - return context.get('active_id', False) - company_id = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.id - followp_id = self.pool.get('account_followup.followup').search(cr, uid, [('company_id', '=', company_id)], context=context) - return followp_id and followp_id[0] or False - - def do_continue(self, cr, uid, ids, context=None): - mod_obj = self.pool.get('ir.model.data') - - if context is None: - context = {} - data = self.browse(cr, uid, ids, context=context)[0] - model_data_ids = mod_obj.search(cr, uid, [('model','=','ir.ui.view'),('name','=','view_account_followup_print_all')], context=context) - resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'], context=context)[0]['res_id'] - context.update({'followup_id': data.followup_id.id, 'date': data.date, 'company_id': data.followup_id.company_id.id}) - return { - 'name': _('Select Partners'), - 'view_type': 'form', - 'context': context, - 'view_mode': 'tree,form', - 'res_model': 'account.followup.print.all', - 'views': [(resource_id,'form')], - 'type': 'ir.actions.act_window', - 'target': 'new', - } - - _defaults = { - 'date': lambda *a: time.strftime('%Y-%m-%d'), - 'followup_id': _get_followup, - } -account_followup_print() - class account_followup_stat_by_partner(osv.osv): _name = "account_followup.stat.by.partner" _description = "Follow-up Statistics by Partner" @@ -110,50 +67,201 @@ class account_followup_stat_by_partner(osv.osv): a.active AND a.type = 'receivable' AND l.reconcile_id is NULL AND - l.partner_id IS NOT NULL + l.partner_id IS NOT NULL AND + (l.blocked = False) GROUP BY l.partner_id, l.company_id - )""") + )""") #Blocked is to take into account litigation account_followup_stat_by_partner() -class account_followup_print_all(osv.osv_memory): - _name = 'account.followup.print.all' - _description = 'Print Follow-up & Send Mail to Customers' - _columns = { - 'partner_ids': fields.many2many('account_followup.stat.by.partner', 'partner_stat_rel', 'osv_memory_id', 'partner_id', 'Partners', required=True), - 'email_conf': fields.boolean('Send Email Confirmation'), - 'email_subject': fields.char('Email Subject', size=64), - 'partner_lang': fields.boolean('Send Email in Partner Language', help='Do not change message text, if you want to send email in partner language, or configure from company'), - 'email_body': fields.text('Email Body'), - 'summary': fields.text('Summary', required=True, readonly=True), - 'test_print': fields.boolean('Test Print', help='Check if you want to print follow-ups without changing follow-ups level.') - } - def _get_summary(self, cr, uid, context=None): + +class account_followup_sending_results(osv.osv_memory): + + def do_report(self, cr, uid, ids, context=None): if context is None: context = {} - return context.get('summary', '') + return context.get('report_data') - def _get_partners(self, cr, uid, context=None): - return self._get_partners_followp(cr, uid, [], context=context)['partner_ids'] + def do_done(self, cr, uid, ids, context=None): + return {} + + def _get_description(self, cr, uid, context=None): + if context is None: + context = {} + return context.get('description') + + def _get_need_printing(self, cr, uid, context=None): + if context is None: + context = {} + return context.get('needprinting') + + _name = 'account_followup.sending.results' + _description = 'Results from the sending of the different letters and emails' + _columns = { + 'description': fields.text("Description", readonly=True), + 'needprinting': fields.boolean("Needs Printing") + } + _defaults = { + 'needprinting':_get_need_printing, + 'description':_get_description, + } + +account_followup_sending_results() + + +class account_followup_print(osv.osv_memory): + _name = 'account_followup.print' + _description = 'Print Follow-up & Send Mail to Customers' + _columns = { + 'date': fields.date('Follow-up Sending Date', required=True, + help="This field allow you to select a forecast date to plan your follow-ups"), + 'followup_id': fields.many2one('account_followup.followup', 'Follow-Up', required=True, readonly = True), + 'partner_ids': fields.many2many('account_followup.stat.by.partner', 'partner_stat_rel', + 'osv_memory_id', 'partner_id', 'Partners', required=True), + 'company_id':fields.related('followup_id', 'company_id', type='many2one', + relation='res.company', store=True, readonly=True), + 'email_conf': fields.boolean('Send Email Confirmation'), + 'email_subject': fields.char('Email Subject', size=64), + 'partner_lang': fields.boolean('Send Email in Partner Language', + help='Do not change message text, if you want to send email in partner language, or configure from company'), + 'email_body': fields.text('Email Body'), + 'summary': fields.text('Summary', readonly=True), + 'test_print': fields.boolean('Test Print', + help='Check if you want to print follow-ups without changing follow-ups level.'), + } + + def _get_followup(self, cr, uid, context=None): + if context is None: + context = {} + if context.get('active_model', 'ir.ui.menu') == 'account_followup.followup': + return context.get('active_id', False) + company_id = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.id + followp_id = self.pool.get('account_followup.followup').search(cr, uid, [('company_id', '=', company_id)], context=context) + return followp_id and followp_id[0] or False + + def process_partners(self, cr, uid, partner_ids, data, context=None): + partner_obj = self.pool.get('res.partner') + partner_ids_to_print = [] + nbmanuals = 0 + manuals = {} + nbmails = 0 + nbunknownmails = 0 + nbprints = 0 + resulttext = " " + for partner in self.pool.get('account_followup.stat.by.partner').browse(cr, uid, partner_ids, context=context): + if partner.max_followup_id.manual_action: + partner_obj.do_partner_manual_action(cr, uid, [partner.partner_id.id], context=context) + nbmanuals = nbmanuals + 1 + key = partner.partner_id.payment_responsible_id.name or _("Nobody") + if not key in manuals.keys(): + manuals[key]= 1 + else: + manuals[key] = manuals[key] + 1 + if partner.max_followup_id.send_email: + nbunknownmails += partner_obj.do_partner_mail(cr, uid, [partner.partner_id.id], context=context) + nbmails += 1 + if partner.max_followup_id.send_letter: + partner_ids_to_print.append(partner.id) + nbprints += 1 + message = _("Follow-up letter of ") + " " + partner.partner_id.latest_followup_level_id_without_lit.name + "" + _(" will be sent") + partner_obj.message_post(cr, uid, [partner.partner_id.id], body=message, context=context) + if nbunknownmails == 0: + resulttext += str(nbmails) + _(" email(s) sent") + else: + resulttext += str(nbmails) + _(" email(s) should have been sent, but ") + str(nbunknownmails) + _(" had unknown email address(es)") + "\n
" + resulttext += "
" + str(nbprints) + _(" letter(s) in report") + " \n
" + str(nbmanuals) + _(" manual action(s) assigned:") + needprinting = False + if nbprints > 0: + needprinting = True + resulttext += "

" + for item in manuals: + resulttext = resulttext + "

  • " + item + ":" + str(manuals[item]) + "\n
  • " + resulttext += "

    " + result = {} + action = partner_obj.do_partner_print(cr, uid, partner_ids_to_print, data, context=context) + result['needprinting'] = needprinting + result['resulttext'] = resulttext + result['action'] = action or {} + return result + + def do_update_followup_level(self, cr, uid, to_update, partner_list, date, context=None): + #update the follow-up level on account.move.line + for id in to_update.keys(): + if to_update[id]['partner_id'] in partner_list: + self.pool.get('account.move.line').write(cr, uid, [int(id)], {'followup_line_id': to_update[id]['level'], + 'followup_date': date}) + + def clear_manual_actions(self, cr, uid, partner_list, context=None): + # Partnerlist is list to exclude + # Will clear the actions of partners that have no due payments anymore + partner_list_ids = [partner.partner_id.id for partner in self.pool.get('account_followup.stat.by.partner').browse(cr, uid, partner_list, context=context)] + ids = self.pool.get('res.partner').search(cr, uid, ['&', ('id', 'not in', partner_list_ids), '|', + ('payment_responsible_id', '!=', False), + ('payment_next_action_date', '!=', False)], context=context) + partners = self.pool.get('res.partner').browse(cr, uid, ids, context=context) + newids = [] + for part in partners: + credit = 0 + for aml in part.unreconciled_aml_ids: + credit +=aml.result + if credit <= 0: + newids.append(part.id) + self.pool.get('res.partner').action_done(cr, uid, newids, context=context) + return len(ids) + + def do_process(self, cr, uid, ids, context=None): + if context is None: + context = {} + + #Get partners + tmp = self._get_partners_followp(cr, uid, ids, context=context) + partner_list = tmp['partner_ids'] + to_update = tmp['to_update'] + date = self.browse(cr, uid, ids, context=context)[0].date + data = self.read(cr, uid, ids, [], context=context)[0] + data['followup_id'] = data['followup_id'][0] + + #Update partners + self.do_update_followup_level(cr, uid, to_update, partner_list, date, context=context) + #process the partners (send mails...) + restot = self.process_partners(cr, uid, partner_list, data, context=context) + #clear the manual actions if nothing is due anymore + nbactionscleared = self.clear_manual_actions(cr, uid, partner_list, context=context) + if nbactionscleared > 0: + restot['resulttext'] = restot['resulttext'] + "
  • " + _("%s partners have no credits and as such the action is cleared") %(str(nbactionscleared)) + "
  • " + res = restot['action'] + + #return the next action + mod_obj = self.pool.get('ir.model.data') + model_data_ids = mod_obj.search(cr, uid, [('model','=','ir.ui.view'),('name','=','view_account_followup_sending_results')], context=context) + resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'], context=context)[0]['res_id'] + context.update({'description': restot['resulttext'], 'needprinting': restot['needprinting'], 'report_data': res}) + return { + 'name': _('Send Letters and Emails: Actions Summary'), + 'view_type': 'form', + 'context': context, + 'view_mode': 'tree,form', + 'res_model': 'account_followup.sending.results', + 'views': [(resource_id,'form')], + 'type': 'ir.actions.act_window', + 'target': 'new', + } def _get_msg(self, cr, uid, context=None): return self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.follow_up_msg _defaults = { - 'email_body': _get_msg, - 'email_subject': _('Invoices Reminder'), - 'partner_lang': True, - 'partner_ids': _get_partners, - 'summary': _get_summary, + 'date': lambda *a: time.strftime('%Y-%m-%d'), + 'followup_id': _get_followup, + 'email_body': "", + 'email_subject': _('Invoices Reminder'), + 'partner_lang': True, } def _get_partners_followp(self, cr, uid, ids, context=None): data = {} - if context is None: - context = {} - if ids: - data = self.browse(cr, uid, ids, context=context)[0] - company_id = 'company_id' in context and context['company_id'] or data.company_id.id + data = self.browse(cr, uid, ids, context=context)[0] + company_id = data.company_id.id cr.execute( "SELECT l.partner_id, l.followup_line_id,l.date_maturity, l.date, l.id "\ @@ -166,8 +274,9 @@ class account_followup_print_all(osv.osv_memory): "AND (l.partner_id is NOT NULL) "\ "AND (a.active) "\ "AND (l.debit > 0) "\ - "AND (l.company_id = %s) "\ - "ORDER BY l.date", (company_id,)) + "AND (l.company_id = %s) " \ + "AND (l.blocked = False)" \ + "ORDER BY l.date", (company_id,)) #l.blocked added to take litigation into account and it is not necessary to change follow-up level of account move lines without debit move_lines = cr.fetchall() old = None fups = {} @@ -181,17 +290,17 @@ class account_followup_print_all(osv.osv_memory): "FROM account_followup_followup_line "\ "WHERE followup_id=%s "\ "ORDER BY delay", (fup_id,)) + + #Create dictionary of tuples where first element is the date to compare with the due date and second element is the id of the next level for result in cr.dictfetchall(): delay = datetime.timedelta(days=result['delay']) fups[old] = (current_date - delay, result['id']) - if result['start'] == 'end_of_month': - fups[old][0].replace(day=1) old = result['id'] - fups[old] = (datetime.date(datetime.MAXYEAR, 12, 31), old) - partner_list = [] to_update = {} + + #Fill dictionary of accountmovelines to_update with the partners that need to be updated for partner_id, followup_line_id, date_maturity,date, id in move_lines: if not partner_id: continue @@ -209,134 +318,6 @@ class account_followup_print_all(osv.osv_memory): to_update[str(id)]= {'level': fups[followup_line_id][1], 'partner_id': stat_line_id} return {'partner_ids': partner_list, 'to_update': to_update} - def do_mail(self, cr, uid, ids, context=None): - mod_obj = self.pool.get('ir.model.data') - move_obj = self.pool.get('account.move.line') - user_obj = self.pool.get('res.users') - - if context is None: - context = {} - data = self.browse(cr, uid, ids, context=context)[0] - stat_by_partner_line_ids = [partner_id.id for partner_id in data.partner_ids] - partners = [stat_by_partner_line / 10000 for stat_by_partner_line in stat_by_partner_line_ids] - model_data_ids = mod_obj.search(cr, uid, [('model','=','ir.ui.view'),('name','=','view_account_followup_print_all_msg')], context=context) - resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'], context=context)[0]['res_id'] - if data.email_conf: - msg_sent = '' - msg_unsent = '' - data_user = user_obj.browse(cr, uid, uid, context=context) - for partner in self.pool.get('res.partner').browse(cr, uid, partners, context=context): - ids_lines = move_obj.search(cr,uid,[('partner_id','=',partner.id),('reconcile_id','=',False),('account_id.type','in',['receivable']),('company_id','=',context.get('company_id', False))]) - data_lines = move_obj.browse(cr, uid, ids_lines, context=context) - total_amt = 0.0 - for line in data_lines: - total_amt += line.debit - line.credit - dest = False - if partner: - dest = [partner.email] - if not data.partner_lang: - body = data.email_body - else: - cxt = context.copy() - cxt['lang'] = partner.lang - body = user_obj.browse(cr, uid, uid, context=cxt).company_id.follow_up_msg - move_line = '' - subtotal_due = 0.0 - subtotal_paid = 0.0 - subtotal_maturity = 0.0 - balance = 0.0 - l = '--------------------------------------------------------------------------------------------------------------------------' - head = l+ '\n' + 'Date'.rjust(10) + '\t' + 'Description'.rjust(10) + '\t' + 'Ref'.rjust(10) + '\t' + 'Due date'.rjust(10) + '\t' + 'Due'.rjust(10) + '\t' + 'Paid'.rjust(10) + '\t' + 'Maturity'.rjust(10) + '\t' + 'Litigation'.rjust(10) + '\n' + l - for i in data_lines: - maturity = 0.00 - if i.date_maturity < time.strftime('%Y-%m-%d') and (i.debit - i.credit): - maturity = i.debit - i.credit - subtotal_due = subtotal_due + i.debit - subtotal_paid = subtotal_paid + i.credit - subtotal_maturity = subtotal_maturity + int(maturity) - balance = balance + (i.debit - i.credit) - move_line = move_line + (i.date).rjust(10) + '\t'+ (i.name).rjust(10) + '\t'+ (i.ref or '').rjust(10) + '\t' + (i.date_maturity or '').rjust(10) + '\t' + str(i.debit).rjust(10) + '\t' + str(i.credit).rjust(10) + '\t' + str(maturity).rjust(10) + '\t' + str(i.blocked).rjust(10) + '\n' - move_line = move_line + l + '\n'+ '\t\t\t' + 'Sub total'.rjust(35) + '\t' + (str(subtotal_due) or '').rjust(10) + '\t' + (str(subtotal_paid) or '').rjust(10) + '\t' + (str(subtotal_maturity) or '').rjust(10)+ '\n' - move_line = move_line + '\t\t\t' + 'Balance'.rjust(33) + '\t' + str(balance).rjust(10) + '\n' + l - val = { - 'partner_name':partner.name, - 'followup_amount':total_amt, - 'user_signature':data_user.name, - 'company_name':data_user.company_id.name, - 'company_currency':data_user.company_id.currency_id.name, - 'line':move_line, - 'heading': head, - 'date':time.strftime('%Y-%m-%d'), - } - body = body%val - sub = tools.ustr(data.email_subject) - msg = '' - if dest: - try: - vals = {'state': 'outgoing', - 'subject': sub, - 'body_html': '
    %s
    ' % body, - 'email_to': dest, - 'email_from': data_user.email or tools.config.options['email_from']} - self.pool.get('mail.mail').create(cr, uid, vals, context=context) - msg_sent += partner.name + '\n' - except Exception, e: - raise osv.except_osv('Error !', e ) - else: - msg += partner.name + '\n' - msg_unsent += msg - if not msg_unsent: - summary = _("All Emails have been successfully sent to Partners:.\n\n%s") % msg_sent - else: - msg_unsent = _("Email not sent to following Partners, Email not available !\n\n%s") % msg_unsent - msg_sent = msg_sent and _("\n\nEmail sent to following Partners successfully. !\n\n%s") % msg_sent - line = '==========================================================================' - summary = msg_unsent + line + msg_sent - context.update({'summary': summary}) - else: - context.update({'summary': '\n\n\nEmail has not been sent to any partner. If you want to send it, please tick send email confirmation on wizard.'}) - - return { - 'name': _('Followup Summary'), - 'view_type': 'form', - 'context': context, - 'view_mode': 'tree,form', - 'res_model': 'account.followup.print.all', - 'views': [(resource_id,'form')], - 'type': 'ir.actions.act_window', - 'target': 'new', - 'nodestroy': True - } - - def do_print(self, cr, uid, ids, context=None): - if context is None: - context = {} - data = self.read(cr, uid, ids, [], context=context)[0] - res = self._get_partners_followp(cr, uid, ids, context)['to_update'] - to_update = res - data['followup_id'] = 'followup_id' in context and context['followup_id'] or False - date = 'date' in context and context['date'] or data['date'] - if not data['test_print']: - for id in to_update.keys(): - if to_update[id]['partner_id'] in data['partner_ids']: - cr.execute( - "UPDATE account_move_line "\ - "SET followup_line_id=%s, followup_date=%s "\ - "WHERE id=%s", - (to_update[id]['level'], - date, int(id),)) - data.update({'date': context['date']}) - datas = { - 'ids': [], - 'model': 'account_followup.followup', - 'form': data - } - return { - 'type': 'ir.actions.report.xml', - 'report_name': 'account_followup.followup.print', - 'datas': datas, - } - -account_followup_print_all() +account_followup_print() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_followup/wizard/account_followup_print_view.xml b/addons/account_followup/wizard/account_followup_print_view.xml index fe77dbc053e..29f36522d05 100644 --- a/addons/account_followup/wizard/account_followup_print_view.xml +++ b/addons/account_followup/wizard/account_followup_print_view.xml @@ -4,25 +4,29 @@ account.followup.print.form - account.followup.print + account_followup.print
    - - + + -
    -
    +

    + This action will send follow-up emails, print the letters and + set the manual actions per customers. +

    +
    +
    -
    +
    Send Follow-Ups - account.followup.print + account_followup.print form form new @@ -30,8 +34,10 @@ + parent="menu_finance_followup" + name = "Send Letters and Emails" + groups = "account.group_account_user" + sequence="2"/> account_followup.stat.by.partner.search @@ -47,7 +53,6 @@ - account_followup.stat.by.partner.tree account_followup.stat.by.partner @@ -63,63 +68,25 @@ - - account.followup.print.all.form - account.followup.print.all + + account_followup.sending.results.form + account_followup.sending.results -
    +
    -
    - - - - - - - - - - - - - - - - +
    + +
    +
    +
    +
    +
    - - - account.followup.print.all.msg.form - account.followup.print.all - -
    - - - - -
    - - - Send Follow-Ups - ir.actions.act_window - account.followup.print.all - form - form - new - diff --git a/addons/account_payment/account_invoice.py b/addons/account_payment/account_invoice.py index 7138540fa3b..ec4feca9b81 100644 --- a/addons/account_payment/account_invoice.py +++ b/addons/account_payment/account_invoice.py @@ -20,12 +20,29 @@ ############################################################################## from datetime import datetime - +from tools.translate import _ from osv import fields, osv class Invoice(osv.osv): _inherit = 'account.invoice' + # Forbid to cancel an invoice if the related move lines have already been + # used in a payment order. The risk is that importing the payment line + # in the bank statement will result in a crash cause no more move will + # be found in the payment line + def action_cancel(self, cr, uid, ids, context=None): + payment_line_obj = self.pool.get('payment.line') + for inv in self.browse(cr, uid, ids, context=context): + pl_line_ids = [] + if inv.move_id and inv.move_id.line_id: + inv_mv_lines = [x.id for x in inv.move_id.line_id] + pl_line_ids = payment_line_obj.search(cr, uid, [('move_line_id','in',inv_mv_lines)], context=context) + if pl_line_ids: + pay_line = payment_line_obj.browse(cr, uid, pl_line_ids, context=context) + payment_order_name = ','.join(map(lambda x: x.order_id.reference, pay_line)) + raise osv.except_osv(_('Error!'), _("You cannot cancel an invoice which has already been imported in a payment order. Remove it from the following payment order : %s."%(payment_order_name))) + return super(Invoice, self).action_cancel(cr, uid, ids, context=context) + def _amount_to_pay(self, cursor, user, ids, name, args, context=None): '''Return the amount still to pay regarding all the payment orders''' if not ids: diff --git a/addons/account_payment/account_payment_view.xml b/addons/account_payment/account_payment_view.xml index 4d69c2d7315..e07043c495a 100644 --- a/addons/account_payment/account_payment_view.xml +++ b/addons/account_payment/account_payment_view.xml @@ -14,28 +14,16 @@
    - + diff --git a/addons/account_sequence/account_sequence_data.xml b/addons/account_sequence/account_sequence_data.xml index b2d40412d0d..21aaaf2baee 100644 --- a/addons/account_sequence/account_sequence_data.xml +++ b/addons/account_sequence/account_sequence_data.xml @@ -3,46 +3,7 @@ - - - - Internal Number - internal_sequence_number - - - - - - - Internal Number - internal_sequence_number - - - - - - - Internal Number - internal_sequence_number - - - - - - - Internal Number - internal_sequence_number - - - - - - - Internal Number - internal_sequence_number - - - + Account Journal account.journal diff --git a/addons/account_sequence/i18n/ar.po b/addons/account_sequence/i18n/ar.po index 50e1bdf3f24..c7353a27c08 100644 --- a/addons/account_sequence/i18n/ar.po +++ b/addons/account_sequence/i18n/ar.po @@ -8,19 +8,19 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-01-30 23:10+0000\n" +"PO-Revision-Date: 2012-12-01 18:27+0000\n" "Last-Translator: kifcaliph \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:31+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-02 04:38+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_sequence #: constraint:account.move.line:0 msgid "You cannot create journal items on closed account." -msgstr "" +msgstr "لا يمكنك إنشاء عناصر يوميه لحساب مغلق" #. module: account_sequence #: view:account.sequence.installer:0 @@ -116,7 +116,7 @@ msgstr "الاسم" #. module: account_sequence #: constraint:account.move.line:0 msgid "You cannot create journal items on an account of type view." -msgstr "" +msgstr "لا يمكنك إنشاء يوميات لحساب من نوع 'عرض'" #. module: account_sequence #: constraint:account.journal:0 @@ -124,6 +124,8 @@ msgid "" "Configuration error!\n" "The currency chosen should be shared by the default accounts too." msgstr "" +"خطأ في التكوين!\n" +"العملة المختارة يجب أن تكون مستخدمة من الحساب الافتراضي أيضا" #. module: account_sequence #: sql_constraint:account.move.line:0 @@ -144,7 +146,7 @@ msgstr "مسلسل داخلي" #. module: account_sequence #: constraint:account.move.line:0 msgid "Account and Period must belong to the same company." -msgstr "" +msgstr "الحساب و المدة يجب أن تنتمي لنفس الشركة." #. module: account_sequence #: help:account.sequence.installer,prefix:0 diff --git a/addons/account_sequence/i18n/fr.po b/addons/account_sequence/i18n/fr.po index 18985d1ecbc..d7e174b9227 100644 --- a/addons/account_sequence/i18n/fr.po +++ b/addons/account_sequence/i18n/fr.po @@ -7,19 +7,19 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0.0-rc1\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2011-02-15 15:36+0000\n" -"Last-Translator: <>\n" +"PO-Revision-Date: 2012-11-29 17:04+0000\n" +"Last-Translator: Christophe Chauvet - http://www.syleam.fr/ \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: 2012-11-25 06:31+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-30 05:08+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_sequence #: constraint:account.move.line:0 msgid "You cannot create journal items on closed account." -msgstr "" +msgstr "Vous ne pouvez pas créer d'entrée de journal dans un compte fermé." #. module: account_sequence #: view:account.sequence.installer:0 @@ -116,6 +116,7 @@ msgstr "Nom" #: constraint:account.move.line:0 msgid "You cannot create journal items on an account of type view." msgstr "" +"Vous ne pouvez pas créer d'entrée de journal dans un compte de type vue." #. module: account_sequence #: constraint:account.journal:0 @@ -123,6 +124,8 @@ msgid "" "Configuration error!\n" "The currency chosen should be shared by the default accounts too." msgstr "" +"Erreur de configuration!\n" +"Le devise choisie doit être aussi partagée par le compte par défaut." #. module: account_sequence #: sql_constraint:account.move.line:0 @@ -134,6 +137,8 @@ msgstr "Valeur erronée au crédit ou au débit dans l'écriture comptable !" msgid "" "You cannot create more than one move per period on a centralized journal." msgstr "" +"Vous ne pouvez pas créer plus d'un mouvement par période dans un journal " +"centralisé." #. module: account_sequence #: field:account.journal,internal_sequence_id:0 @@ -143,7 +148,7 @@ msgstr "Séquence interne" #. module: account_sequence #: constraint:account.move.line:0 msgid "Account and Period must belong to the same company." -msgstr "" +msgstr "Le compte et la période doivent appartenir à la même société." #. module: account_sequence #: help:account.sequence.installer,prefix:0 diff --git a/addons/account_sequence/i18n/nl.po b/addons/account_sequence/i18n/nl.po index 30edbf5db36..fda704bc2c1 100644 --- a/addons/account_sequence/i18n/nl.po +++ b/addons/account_sequence/i18n/nl.po @@ -8,19 +8,20 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-13 09:23+0000\n" +"PO-Revision-Date: 2012-12-01 16:19+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:31+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-12-02 04:38+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_sequence #: constraint:account.move.line:0 msgid "You cannot create journal items on closed account." msgstr "" +"Het is niet mogelijk om journaalposten te maken in een gesloten rekenening" #. module: account_sequence #: view:account.sequence.installer:0 @@ -117,6 +118,8 @@ msgstr "Naam" #: constraint:account.move.line:0 msgid "You cannot create journal items on an account of type view." msgstr "" +"Het is niet mogelijk om journaalposten te maken in een rekening van het type " +"'weergave'" #. module: account_sequence #: constraint:account.journal:0 @@ -124,6 +127,8 @@ msgid "" "Configuration error!\n" "The currency chosen should be shared by the default accounts too." msgstr "" +"Configurariefout!\n" +"De gekozen valuta moet ook worden gedeeld door de standaard kostenplaatsen." #. module: account_sequence #: sql_constraint:account.move.line:0 @@ -134,7 +139,7 @@ msgstr "Verkeerde debet of credit waarde in boekingsregel!" #: constraint:account.move:0 msgid "" "You cannot create more than one move per period on a centralized journal." -msgstr "" +msgstr "U kunt niet meerdere boekingen doen bij een centraal journaal" #. module: account_sequence #: field:account.journal,internal_sequence_id:0 @@ -144,7 +149,7 @@ msgstr "Intern volgnummer" #. module: account_sequence #: constraint:account.move.line:0 msgid "Account and Period must belong to the same company." -msgstr "" +msgstr "Kostenplaats en periode moeten behoren tot hetzelfde bedrijf." #. module: account_sequence #: help:account.sequence.installer,prefix:0 diff --git a/addons/account_sequence/i18n/zh_CN.po b/addons/account_sequence/i18n/zh_CN.po index 30711dedc44..e27fb65f3a5 100644 --- a/addons/account_sequence/i18n/zh_CN.po +++ b/addons/account_sequence/i18n/zh_CN.po @@ -8,19 +8,19 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-09 04:00+0000\n" -"Last-Translator: 开阖软件 Jeff Wang \n" +"PO-Revision-Date: 2012-11-28 07:24+0000\n" +"Last-Translator: ccdos \n" "Language-Team: Chinese (Simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:31+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: account_sequence #: constraint:account.move.line:0 msgid "You cannot create journal items on closed account." -msgstr "" +msgstr "你不能在关闭的科目创建账目项目" #. module: account_sequence #: view:account.sequence.installer:0 @@ -112,14 +112,14 @@ msgstr "名称" #. module: account_sequence #: constraint:account.move.line:0 msgid "You cannot create journal items on an account of type view." -msgstr "" +msgstr "你不能在视图类型的科目创建账目项目" #. module: account_sequence #: constraint:account.journal:0 msgid "" "Configuration error!\n" "The currency chosen should be shared by the default accounts too." -msgstr "" +msgstr "配置错误" #. module: account_sequence #: sql_constraint:account.move.line:0 @@ -130,7 +130,7 @@ msgstr "错误的分录" #: constraint:account.move:0 msgid "" "You cannot create more than one move per period on a centralized journal." -msgstr "" +msgstr "在每个会计期间,你不可以创建1个以上的总分类凭证" #. module: account_sequence #: field:account.journal,internal_sequence_id:0 @@ -140,7 +140,7 @@ msgstr "内部序列" #. module: account_sequence #: constraint:account.move.line:0 msgid "Account and Period must belong to the same company." -msgstr "" +msgstr "科目和会计周期必须属于同一个公司" #. module: account_sequence #: help:account.sequence.installer,prefix:0 diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py index 32be8c34929..ffc7cf1769d 100644 --- a/addons/account_voucher/account_voucher.py +++ b/addons/account_voucher/account_voucher.py @@ -1549,6 +1549,15 @@ class account_bank_statement(osv.osv): return move_line_obj.write(cr, uid, [x.id for x in v.move_ids], {'statement_id': st_line.statement_id.id}, context=context) return super(account_bank_statement, self).create_move_from_st_line(cr, uid, st_line.id, company_currency_id, next_number, context=context) + def write(self, cr, uid, ids, vals, context=None): + # Restrict to modify the journal if we already have some voucher of reconciliation created/generated. + # Because the voucher keeps in memory the journal it was created with. + 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!')) + return super(account_bank_statement, self).write(cr, uid, ids, vals, context=context) + account_bank_statement() class account_bank_statement_line(osv.osv): diff --git a/addons/account_voucher/account_voucher_pay_invoice.xml b/addons/account_voucher/account_voucher_pay_invoice.xml index 323be77f334..284632b9b5f 100644 --- a/addons/account_voucher/account_voucher_pay_invoice.xml +++ b/addons/account_voucher/account_voucher_pay_invoice.xml @@ -8,9 +8,9 @@ - +