[MERGE] Sync with trunk.
bzr revid: tde@openerp.com-20121203093454-lf21qlsuse1ve8ro
This commit is contained in:
commit
c3a3492848
|
@ -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'
|
||||
],
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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,
|
||||
}
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -435,7 +435,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
<field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>
|
||||
<field name="message_ids" widget="mail_thread" placeholder="Share a note..."/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -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:
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -59,412 +59,6 @@
|
|||
<field eval="account_payment_term_advance" name="payment_id"/>
|
||||
</record>
|
||||
|
||||
<!--
|
||||
Account Journal View
|
||||
-->
|
||||
<record id="account_journal_bank_view" model="account.journal.view">
|
||||
<field name="name">Bank/Cash Journal View</field>
|
||||
</record>
|
||||
<record id="bank_col1" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view"/>
|
||||
<field name="name">Date</field>
|
||||
<field name="field">date</field>
|
||||
<field eval="True" name="required"/>
|
||||
<field eval="3" name="sequence"/>
|
||||
</record>
|
||||
<record id="bank_col2" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view"/>
|
||||
<field name="name">Journal Entry</field>
|
||||
<field name="field">move_id</field>
|
||||
<field eval="False" name="required"/>
|
||||
<field eval="1" name="sequence"/>
|
||||
</record>
|
||||
<record id="bank_col7" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view"/>
|
||||
<field name="name">Name</field>
|
||||
<field name="field">name</field>
|
||||
<field eval="7" name="sequence"/>
|
||||
<field eval="True" name="required"/>
|
||||
</record>
|
||||
<record id="bank_col4" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view"/>
|
||||
<field name="name">Statement</field>
|
||||
<field name="field">statement_id</field>
|
||||
<field eval="4" name="sequence"/>
|
||||
</record>
|
||||
<record id="bank_col6" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view"/>
|
||||
<field name="name">Partner</field>
|
||||
<field name="field">partner_id</field>
|
||||
<field eval="5" name="sequence"/>
|
||||
</record>
|
||||
<record id="bank_col5" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view"/>
|
||||
<field name="name">Account</field>
|
||||
<field name="field">account_id</field>
|
||||
<field eval="True" name="required"/>
|
||||
<field eval="6" name="sequence"/>
|
||||
</record>
|
||||
<record id="bank_col9" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view"/>
|
||||
<field name="name">Debit</field>
|
||||
<field name="field">debit</field>
|
||||
<field eval="11" name="sequence"/>
|
||||
</record>
|
||||
<record id="bank_col10" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view"/>
|
||||
<field name="name">Credit</field>
|
||||
<field name="field">credit</field>
|
||||
<field eval="12" name="sequence"/>
|
||||
</record>
|
||||
<record id="bank_col3" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view"/>
|
||||
<field name="name">Ref</field>
|
||||
<field name="field">ref</field>
|
||||
<field eval="2" name="sequence"/>
|
||||
</record>
|
||||
<record id="bank_col23" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view"/>
|
||||
<field name="name">Status</field>
|
||||
<field name="field">state</field>
|
||||
<field eval="19" name="sequence"/>
|
||||
</record>
|
||||
<record id="bank_col20" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view"/>
|
||||
<field name="name">Reconcile</field>
|
||||
<field name="field">reconcile_id</field>
|
||||
<field eval="20" name="sequence"/>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="account_journal_bank_view_multi" model="account.journal.view">
|
||||
<field name="name">Bank/Cash Journal (Multi-Currency) View</field>
|
||||
</record>
|
||||
<record id="bank_col1_multi" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view_multi"/>
|
||||
<field name="name">Date</field>
|
||||
<field name="field">date</field>
|
||||
<field eval="True" name="required"/>
|
||||
<field eval="3" name="sequence"/>
|
||||
</record>
|
||||
<record id="bank_col2_multi" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view_multi"/>
|
||||
<field name="name">Journal Entry</field>
|
||||
<field name="field">move_id</field>
|
||||
<field eval="False" name="required"/>
|
||||
<field eval="1" name="sequence"/>
|
||||
</record>
|
||||
<record id="bank_col7_multi" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view_multi"/>
|
||||
<field name="name">Name</field>
|
||||
<field name="field">name</field>
|
||||
<field eval="7" name="sequence"/>
|
||||
<field eval="True" name="required"/>
|
||||
</record>
|
||||
<record id="bank_col4_multi" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view_multi"/>
|
||||
<field name="name">Statement</field>
|
||||
<field name="field">statement_id</field>
|
||||
<field eval="4" name="sequence"/>
|
||||
</record>
|
||||
<record id="bank_col6_multi" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view_multi"/>
|
||||
<field name="name">Partner</field>
|
||||
<field name="field">partner_id</field>
|
||||
<field eval="5" name="sequence"/>
|
||||
</record>
|
||||
<record id="bank_col5_multi" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view_multi"/>
|
||||
<field name="name">Account</field>
|
||||
<field name="field">account_id</field>
|
||||
<field eval="True" name="required"/>
|
||||
<field eval="6" name="sequence"/>
|
||||
</record>
|
||||
<record id="bank_col17_multi" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view_multi"/>
|
||||
<field name="name">Currency Amt.</field>
|
||||
<field name="field">amount_currency</field>
|
||||
<field eval="9" name="sequence"/>
|
||||
</record>
|
||||
<record id="bank_col18_multi" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view_multi"/>
|
||||
<field name="name">Currency</field>
|
||||
<field name="field">currency_id</field>
|
||||
<field eval="10" name="sequence"/>
|
||||
</record>
|
||||
<record id="bank_col9_multi" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view_multi"/>
|
||||
<field name="name">Debit</field>
|
||||
<field name="field">debit</field>
|
||||
<field eval="11" name="sequence"/>
|
||||
</record>
|
||||
<record id="bank_col10_multi" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view_multi"/>
|
||||
<field name="name">Credit</field>
|
||||
<field name="field">credit</field>
|
||||
<field eval="12" name="sequence"/>
|
||||
</record>
|
||||
<record id="bank_col3_multi" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view_multi"/>
|
||||
<field name="name">Ref</field>
|
||||
<field name="field">ref</field>
|
||||
<field eval="2" name="sequence"/>
|
||||
</record>
|
||||
<record id="bank_col23_multi" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view_multi"/>
|
||||
<field name="name">Status</field>
|
||||
<field name="field">state</field>
|
||||
<field eval="19" name="sequence"/>
|
||||
</record>
|
||||
<record id="bank_col20_multi" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_bank_view_multi"/>
|
||||
<field name="name">Reconcile</field>
|
||||
<field name="field">reconcile_id</field>
|
||||
<field eval="20" name="sequence"/>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="account_journal_view" model="account.journal.view">
|
||||
<field name="name">Journal View</field>
|
||||
</record>
|
||||
<record id="journal_col1" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_view"/>
|
||||
<field name="name">Date</field>
|
||||
<field name="field">date</field>
|
||||
<field eval="True" name="required"/>
|
||||
<field eval="3" name="sequence"/>
|
||||
</record>
|
||||
<record id="journal_col2" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_view"/>
|
||||
<field name="name">Journal Entry</field>
|
||||
<field name="field">move_id</field>
|
||||
<field eval="False" name="required"/>
|
||||
<field eval="1" name="sequence"/>
|
||||
</record>
|
||||
<record id="journal_col3" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_view"/>
|
||||
<field name="name">Ref</field>
|
||||
<field name="field">ref</field>
|
||||
<field eval="2" name="sequence"/>
|
||||
</record>
|
||||
<record id="journal_col5" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_view"/>
|
||||
<field name="name">Partner</field>
|
||||
<field name="field">partner_id</field>
|
||||
<field eval="5" name="sequence"/>
|
||||
</record>
|
||||
<record id="journal_col4" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_view"/>
|
||||
<field name="name">Account</field>
|
||||
<field name="field">account_id</field>
|
||||
<field eval="True" name="required"/>
|
||||
<field eval="6" name="sequence"/>
|
||||
</record>
|
||||
<record id="journal_col6" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_view"/>
|
||||
<field name="name">Name</field>
|
||||
<field name="field">name</field>
|
||||
<field eval="7" name="sequence"/>
|
||||
<field eval="True" name="required"/>
|
||||
</record>
|
||||
<record id="journal_col8" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_view"/>
|
||||
<field name="name">Debit</field>
|
||||
<field name="field">debit</field>
|
||||
<field eval="11" name="sequence"/>
|
||||
</record>
|
||||
<record id="journal_col9" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_view"/>
|
||||
<field name="name">Credit</field>
|
||||
<field name="field">credit</field>
|
||||
<field eval="12" name="sequence"/>
|
||||
</record>
|
||||
<record id="journal_col11" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_view"/>
|
||||
<field name="name">Analytic Account</field>
|
||||
<field name="field">analytic_account_id</field>
|
||||
<field eval="14" name="sequence"/>
|
||||
</record>
|
||||
<record id="journal_col24" model="account.journal.column">
|
||||
<field name="view_id" ref="account_journal_view"/>
|
||||
<field name="name">Status</field>
|
||||
<field name="field">state</field>
|
||||
<field eval="19" name="sequence"/>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="account_sp_journal_view" model="account.journal.view">
|
||||
<field name="name">Sale/Purchase Journal View</field>
|
||||
</record>
|
||||
<record id="sp_journal_col1" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_journal_view"/>
|
||||
<field name="name">Date</field>
|
||||
<field name="field">date</field>
|
||||
<field eval="True" name="required"/>
|
||||
<field eval="3" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_journal_col2" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_journal_view"/>
|
||||
<field name="name">Journal Entry</field>
|
||||
<field name="field">move_id</field>
|
||||
<field eval="False" name="required"/>
|
||||
<field eval="1" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_journal_col3" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_journal_view"/>
|
||||
<field name="name">Ref</field>
|
||||
<field name="field">ref</field>
|
||||
<field eval="2" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_journal_col4" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_journal_view"/>
|
||||
<field name="name">Account</field>
|
||||
<field name="field">account_id</field>
|
||||
<field eval="True" name="required"/>
|
||||
<field eval="6" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_journal_col5" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_journal_view"/>
|
||||
<field name="name">Partner</field>
|
||||
<field name="field">partner_id</field>
|
||||
<field eval="5" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_journal_col6" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_journal_view"/>
|
||||
<field name="name">Name</field>
|
||||
<field name="field">name</field>
|
||||
<field eval="7" name="sequence"/>
|
||||
<field eval="True" name="required"/>
|
||||
</record>
|
||||
<record id="sp_journal_col7" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_journal_view"/>
|
||||
<field name="name">Due Date</field>
|
||||
<field name="field">date_maturity</field>
|
||||
<field eval="8" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_journal_col8" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_journal_view"/>
|
||||
<field name="name">Debit</field>
|
||||
<field name="field">debit</field>
|
||||
<field eval="11" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_journal_col9" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_journal_view"/>
|
||||
<field name="name">Credit</field>
|
||||
<field name="field">credit</field>
|
||||
<field eval="12" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_journal_col10" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_journal_view"/>
|
||||
<field name="name">Tax</field>
|
||||
<field name="field">account_tax_id</field>
|
||||
<field eval="13" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_journal_col11" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_journal_view"/>
|
||||
<field name="name">Analytic Account</field>
|
||||
<field name="field">analytic_account_id</field>
|
||||
<field eval="14" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_journal_col24" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_journal_view"/>
|
||||
<field name="name">Status</field>
|
||||
<field name="field">state</field>
|
||||
<field eval="19" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_journal_col20" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_journal_view"/>
|
||||
<field name="name">Reconcile</field>
|
||||
<field name="field">reconcile_id</field>
|
||||
<field eval="20" name="sequence"/>
|
||||
</record>
|
||||
|
||||
<record id="account_sp_refund_journal_view" model="account.journal.view">
|
||||
<field name="name">Sale/Purchase Refund Journal View</field>
|
||||
</record>
|
||||
<record id="sp_refund_journal_col1" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_refund_journal_view"/>
|
||||
<field name="name">Date</field>
|
||||
<field name="field">date</field>
|
||||
<field eval="True" name="required"/>
|
||||
<field eval="3" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_refund_journal_col2" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_refund_journal_view"/>
|
||||
<field name="name">Journal Entry</field>
|
||||
<field name="field">move_id</field>
|
||||
<field eval="False" name="required"/>
|
||||
<field eval="1" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_refund_journal_col3" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_refund_journal_view"/>
|
||||
<field name="name">Ref</field>
|
||||
<field name="field">ref</field>
|
||||
<field eval="2" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_refund_journal_col4" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_refund_journal_view"/>
|
||||
<field name="name">Account</field>
|
||||
<field name="field">account_id</field>
|
||||
<field eval="True" name="required"/>
|
||||
<field eval="6" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_refund_journal_col5" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_refund_journal_view"/>
|
||||
<field name="name">Partner</field>
|
||||
<field name="field">partner_id</field>
|
||||
<field eval="5" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_refund_journal_col6" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_refund_journal_view"/>
|
||||
<field name="name">Name</field>
|
||||
<field name="field">name</field>
|
||||
<field eval="7" name="sequence"/>
|
||||
<field eval="True" name="required"/>
|
||||
</record>
|
||||
<record id="sp_refund_journal_col7" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_refund_journal_view"/>
|
||||
<field name="name">Due Date</field>
|
||||
<field name="field">date_maturity</field>
|
||||
<field eval="8" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_refund_journal_col8" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_refund_journal_view"/>
|
||||
<field name="name">Debit</field>
|
||||
<field name="field">debit</field>
|
||||
<field eval="11" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_refund_journal_col9" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_refund_journal_view"/>
|
||||
<field name="name">Credit</field>
|
||||
<field name="field">credit</field>
|
||||
<field eval="12" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_refund_journal_col10" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_refund_journal_view"/>
|
||||
<field name="name">Tax</field>
|
||||
<field name="field">account_tax_id</field>
|
||||
<field eval="13" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_refund_journal_col11" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_refund_journal_view"/>
|
||||
<field name="name">Analytic Account</field>
|
||||
<field name="field">analytic_account_id</field>
|
||||
<field eval="14" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_refund_journal_col24" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_refund_journal_view"/>
|
||||
<field name="name">Status</field>
|
||||
<field name="field">state</field>
|
||||
<field eval="19" name="sequence"/>
|
||||
</record>
|
||||
<record id="sp_refund_journal_col20" model="account.journal.column">
|
||||
<field name="view_id" ref="account_sp_refund_journal_view"/>
|
||||
<field name="name">Reconcile</field>
|
||||
<field name="field">reconcile_id</field>
|
||||
<field eval="20" name="sequence"/>
|
||||
</record>
|
||||
|
||||
<!--
|
||||
Account Journal Sequences
|
||||
-->
|
||||
|
|
|
@ -312,7 +312,6 @@
|
|||
<field name="name">Sales Journal - (test)</field>
|
||||
<field name="code">TSAJ</field>
|
||||
<field name="type">sale</field>
|
||||
<field name="view_id" ref="account_sp_journal_view"/>
|
||||
<field name="sequence_id" ref="sequence_sale_journal"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="a_sale"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="a_sale"/>
|
||||
|
@ -323,7 +322,6 @@
|
|||
<field name="name">Sales Credit Note Journal - (test)</field>
|
||||
<field name="code">TSCNJ</field>
|
||||
<field name="type">sale_refund</field>
|
||||
<field name="view_id" ref="account_sp_refund_journal_view"/>
|
||||
<field name="sequence_id" ref="sequence_refund_sales_journal"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="a_sale"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="a_sale"/>
|
||||
|
@ -335,7 +333,6 @@
|
|||
<field name="name">Expenses Journal - (test)</field>
|
||||
<field name="code">TEXJ</field>
|
||||
<field name="type">purchase</field>
|
||||
<field name="view_id" ref="account_sp_journal_view"/>
|
||||
<field name="sequence_id" ref="sequence_purchase_journal"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="a_expense"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="a_expense"/>
|
||||
|
@ -346,7 +343,6 @@
|
|||
<field name="name">Expenses Credit Notes Journal - (test)</field>
|
||||
<field name="code">TECNJ</field>
|
||||
<field name="type">purchase_refund</field>
|
||||
<field name="view_id" ref="account_sp_refund_journal_view"/>
|
||||
<field name="sequence_id" ref="sequence_refund_purchase_journal"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="a_expense"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="a_expense"/>
|
||||
|
@ -358,7 +354,6 @@
|
|||
<field name="name">Bank Journal - (test)</field>
|
||||
<field name="code">TBNK</field>
|
||||
<field name="type">bank</field>
|
||||
<field name="view_id" ref="account_journal_bank_view"/>
|
||||
<field name="sequence_id" ref="sequence_bank_journal"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="bnk"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="bnk"/>
|
||||
|
@ -369,7 +364,6 @@
|
|||
<field name="name">Checks Journal - (test)</field>
|
||||
<field name="code">TCHK</field>
|
||||
<field name="type">bank</field>
|
||||
<field name="view_id" ref="account_journal_bank_view"/>
|
||||
<field name="sequence_id" ref="sequence_check_journal"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="cash"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="cash"/>
|
||||
|
@ -390,7 +384,6 @@
|
|||
that test OpenERP arrive directly in the touchscreen UI.
|
||||
-->
|
||||
<field name="cash_control" eval="False"/>
|
||||
<field name="view_id" ref="account_journal_bank_view"/>
|
||||
<field name="sequence_id" ref="sequence_cash_journal"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="cash"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="cash"/>
|
||||
|
@ -401,7 +394,6 @@
|
|||
<field name="name">Miscellaneous Journal - (test)</field>
|
||||
<field name="code">TMIS</field>
|
||||
<field name="type">general</field>
|
||||
<field name="view_id" ref="account_journal_view"/>
|
||||
<field name="sequence_id" ref="sequence_miscellaneous_journal"/>
|
||||
<field name="analytic_journal_id" ref="sit"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
|
@ -410,7 +402,6 @@
|
|||
<field name="name">Opening Entries Journal - (test)</field>
|
||||
<field name="code">TOEJ</field>
|
||||
<field name="type">situation</field>
|
||||
<field name="view_id" ref="account_journal_view"/>
|
||||
<field name="sequence_id" ref="sequence_opening_journal"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="o_income"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="o_expense"/>
|
||||
|
@ -422,7 +413,6 @@
|
|||
<field name="name">USD Bank Journal - (test)</field>
|
||||
<field name="code">TUBK</field>
|
||||
<field name="type">bank</field>
|
||||
<field name="view_id" ref="account_journal_bank_view"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="usd_bnk"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="usd_bnk"/>
|
||||
<field name="currency" ref="base.USD"/>
|
||||
|
|
|
@ -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) <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-01 17:09+0000\n"
|
||||
"Last-Translator: kifcaliph <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\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 <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2012-11-29 20:54+0000\n"
|
||||
"Last-Translator: Jose Ernesto Mendez <tecnologia@obsdr.com>\n"
|
||||
"Language-Team: Spanish (Dominican Republic) <es_DO@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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
|
||||
|
|
|
@ -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 <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-11-24 02:52+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 17:52+0000\n"
|
||||
"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-11-29 13:22+0000\n"
|
||||
"Last-Translator: Andrius Preimantas <andrius.preimantas@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\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 <Unknown>\n"
|
||||
"Language-Team: Norwegian Bokmal <nb@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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 <b>paid</b>."
|
||||
msgstr ""
|
||||
msgstr "%s <b>Betalt</b>."
|
||||
|
||||
#. 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
|
||||
|
|
|
@ -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) <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-01 16:00+0000\n"
|
||||
"Last-Translator: Thomas Pot (Open2bizz) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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 ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Klik om de zichtbare kolommen van een dagboek te "
|
||||
"specificeren.\n"
|
||||
" </p><p>\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"
|
||||
" </p><p>\n"
|
||||
" In de dagboekinstellingen kan bepaald worden welke gegevens\n"
|
||||
" zichtbaar zijn bij boekingen in het betreffende dagboek.\n"
|
||||
" </p>\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 ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" klik hier om een fiscale periode toe te voegen.\n"
|
||||
" </p><p>\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"
|
||||
" </p>\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 ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Klik hier om een creditnota te maken. \n"
|
||||
" </p><p>\n"
|
||||
" Een creditnota is een factuur, waarbij u een bestaande "
|
||||
"factuur volledig of gedeeltelijk \n"
|
||||
" crediteert.\n"
|
||||
" </p><p>\n"
|
||||
" In plaats van handmatig kunt u hiermee een creditnota maken "
|
||||
"\n"
|
||||
" direct vanaf de originele factuur.\n"
|
||||
" </p>\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 ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p>\n"
|
||||
" Geen journaalposten gevonden.\n"
|
||||
" </p>\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
|
||||
|
|
|
@ -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) <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-01 21:27+0000\n"
|
||||
"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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
|
||||
|
|
|
@ -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 <ccdos@163.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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 <b>created</b>."
|
||||
msgstr ""
|
||||
msgstr "%s <b>被创建</b>."
|
||||
|
||||
#. 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 ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" 单击以注册一个新的账簿\n"
|
||||
" </p><p>\n"
|
||||
" 这个视图给会计人员使用,为了在Openerp中快速登记分录。\n"
|
||||
" 如果要登记供应商发票,从记录费用科目行开始。Openerp将\n"
|
||||
" 建议你自动处理科目相关的税,以及对方科目 \"应付帐款\"。\n"
|
||||
" </p>\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
|
||||
|
|
|
@ -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()
|
||||
|
||||
|
|
|
@ -30,8 +30,6 @@
|
|||
<!-- <field name="reconciled" sum="# Reconciled"/> -->
|
||||
<field name="user_currency_price_total" sum="Total Without Tax"/>
|
||||
<field name="user_currency_residual" sum="Total Residual" invisible="context.get('residual_invisible',False)"/>
|
||||
<field name="due_delay" sum="Avg. Due Delay" invisible="context.get('residual_invisible',False)"/>
|
||||
<field name="delay_to_pay" sum="Avg. Delay To Pay" invisible="context.get('residual_invisible',False)"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -93,7 +91,7 @@
|
|||
<field name="view_mode">tree,graph</field>
|
||||
<field name="context">{'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,}</field>
|
||||
<field name="search_view_id" ref="view_account_invoice_report_search"/>
|
||||
<field name="help">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.</field>
|
||||
<field name="help">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.</field>
|
||||
|
||||
</record>
|
||||
|
||||
|
|
|
@ -211,7 +211,7 @@
|
|||
<para style="terp_default_Right_9">[[ (line['account_id']['type'] == 'receivable' and formatLang(line['credit']) or 0) or (line['account_id']['type'] == 'payable' and formatLang(line['debit'] * -1) or 0) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">[[ time.strftime('%Y-%m-%d') > formatLang((line['date_maturity'])) and formatLang(line['debit'] - line['credit'], currency_obj = company.currency_id) ]]</para>
|
||||
<para style="terp_default_Right_9">[[ (time.strftime('%Y-%m-%d') > line['date_maturity']) and formatLang(line['debit'] - line['credit'], currency_obj = company.currency_id) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Centre_9">[[ line['blocked'] and 'X' or '' ]]</para>
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
|
@ -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);
|
||||
},
|
||||
});
|
||||
};
|
|
@ -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({
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<templates id="template" xml:space="preserve">
|
||||
|
||||
<t t-name="AccountMoveLineQuickAdd">
|
||||
<div class="oe_account_quickadd ui-toolbar" style="margin-bottom:0px;">
|
||||
<div class="oe_form_dropdown_section">
|
||||
<h4>Period :</h4>
|
||||
<select class="oe_account_select_period">
|
||||
|
||||
</select>
|
||||
</div>
|
||||
<div class="oe_form_dropdown_section">
|
||||
<h4>Journal :</h4>
|
||||
<select class="oe_account_select_journal" >
|
||||
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
|
||||
</templates>
|
|
@ -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"), })
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -1,194 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from 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 = """<?xml version="1.0" encoding="utf-8"?>
|
||||
<form string="Standard entries" version="7.0">
|
||||
<group>
|
||||
<field name="target_move"/>
|
||||
</group>
|
||||
%s: <label string="%s"/>
|
||||
%s: <label string="%s"/>
|
||||
<footer>
|
||||
<button string="%s" name="action_open_window" default_focus="1" type="object" class="oe_highlight"/>
|
||||
or
|
||||
<button string="Cancel" class="oe_link" special="cancel"/>
|
||||
</footer>
|
||||
</form>""" % (_('Journal'), journal_string, _('Period'), period_string, open_string)
|
||||
|
||||
view = etree.fromstring(view.encode('utf8'))
|
||||
xarch, xfields = self._view_look_dom_arch(cr, uid, view, view_id, context=context)
|
||||
view = xarch
|
||||
res.update({
|
||||
'arch': view
|
||||
})
|
||||
return res
|
||||
|
||||
def action_open_window(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
This function Open action move line window on given period and Journal/Payment Mode
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param ids: account move journal’s ID or list of IDs
|
||||
@return: dictionary of Open action move line window on given period and Journal/Payment Mode
|
||||
"""
|
||||
|
||||
period_pool = self.pool.get('account.journal.period')
|
||||
data_pool = self.pool.get('ir.model.data')
|
||||
journal_pool = self.pool.get('account.journal')
|
||||
account_period_obj = self.pool.get('account.period')
|
||||
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
journal_id = self._get_journal(cr, uid, context)
|
||||
period_id = self._get_period(cr, uid, context)
|
||||
target_move = self.read(cr, uid, ids, ['target_move'], context=context)[0]['target_move']
|
||||
|
||||
name = _("Journal Items")
|
||||
if journal_id:
|
||||
ids = period_pool.search(cr, uid, [('journal_id', '=', journal_id), ('period_id', '=', period_id)], context=context)
|
||||
|
||||
if not ids:
|
||||
journal = journal_pool.browse(cr, uid, journal_id, context=context)
|
||||
period = account_period_obj.browse(cr, uid, period_id, context=context)
|
||||
|
||||
name = journal.name
|
||||
state = period.state
|
||||
|
||||
if state == 'done':
|
||||
raise osv.except_osv(_('User Error!'), _('This period is already closed.'))
|
||||
|
||||
company = period.company_id.id
|
||||
res = {
|
||||
'name': name,
|
||||
'period_id': period_id,
|
||||
'journal_id': journal_id,
|
||||
'company_id': company
|
||||
}
|
||||
period_pool.create(cr, uid, res,context=context)
|
||||
|
||||
ids = period_pool.search(cr, uid, [('journal_id', '=', journal_id), ('period_id', '=', period_id)], context=context)
|
||||
period = period_pool.browse(cr, uid, ids[0], context=context)
|
||||
name = (period.journal_id.code or '') + ':' + (period.period_id.code or '')
|
||||
|
||||
result = data_pool.get_object_reference(cr, uid, 'account', 'view_account_move_line_filter')
|
||||
res_id = result and result[1] or False
|
||||
move = 0
|
||||
if target_move == 'posted':
|
||||
move = 1
|
||||
return {
|
||||
'name': name,
|
||||
'view_type': 'form',
|
||||
'view_mode': 'tree,graph,form',
|
||||
'res_model': 'account.move.line',
|
||||
'view_id': False,
|
||||
'context': "{'search_default_posted': %d, 'search_default_journal_id':%d, 'search_default_period_id':%d}" % (move, journal_id, period_id),
|
||||
'type': 'ir.actions.act_window',
|
||||
'search_view_id': res_id
|
||||
}
|
||||
|
||||
account_move_journal()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="view_account_move_journal_form" model="ir.ui.view">
|
||||
<field name="name">account.move.journal.form</field>
|
||||
<field name="model">account.move.journal</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Standard Entries">
|
||||
<field name="target_move"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
|
@ -8,19 +8,19 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-24 02:51+0000\n"
|
||||
"PO-Revision-Date: 2011-01-18 21:27+0000\n"
|
||||
"Last-Translator: bamuhrez <bamuhrez@gmail.com>\n"
|
||||
"PO-Revision-Date: 2012-12-01 17:31+0000\n"
|
||||
"Last-Translator: gehad shaat <gehad.shaath@gmail.com>\n"
|
||||
"Language-Team: Arabic <ar@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-25 06:28+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_accountant
|
||||
#: model:ir.actions.client,name:account_accountant.action_client_account_menu
|
||||
msgid "Open Accounting Menu"
|
||||
msgstr ""
|
||||
msgstr "افتح قائمة المحاسبة"
|
||||
|
||||
#~ msgid "Accountant"
|
||||
#~ msgstr "محاسب"
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
# Spanish (Dominican Republic) 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 <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-24 02:51+0000\n"
|
||||
"PO-Revision-Date: 2012-11-29 20:23+0000\n"
|
||||
"Last-Translator: Jose Ernesto Mendez <tecnologia@obsdr.com>\n"
|
||||
"Language-Team: Spanish (Dominican Republic) <es_DO@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-30 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16319)\n"
|
||||
|
||||
#. module: account_accountant
|
||||
#: model:ir.actions.client,name:account_accountant.action_client_account_menu
|
||||
msgid "Open Accounting Menu"
|
||||
msgstr "Abrir Menú de Contabilidad"
|
|
@ -8,19 +8,19 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-24 02:51+0000\n"
|
||||
"PO-Revision-Date: 2011-01-17 07:34+0000\n"
|
||||
"Last-Translator: Nicola Riolini - Micronaet <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-11-28 19:50+0000\n"
|
||||
"Last-Translator: Davide Corio - agilebg.com <davide.corio@agilebg.com>\n"
|
||||
"Language-Team: Italian <it@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-25 06:28+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_accountant
|
||||
#: model:ir.actions.client,name:account_accountant.action_client_account_menu
|
||||
msgid "Open Accounting Menu"
|
||||
msgstr ""
|
||||
msgstr "Apri Menù Contabilità"
|
||||
|
||||
#~ msgid "Accountant"
|
||||
#~ msgstr "Contabile"
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
|
||||
import account_analytic_analysis
|
||||
import cron_account_analytic_account
|
||||
import res_config
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
|
|
@ -40,6 +40,7 @@ Adds menu to show relevant information to each manager.You can also view the rep
|
|||
'account_analytic_analysis_view.xml',
|
||||
'account_analytic_analysis_menu.xml',
|
||||
'account_analytic_analysis_cron.xml',
|
||||
'res_config_view.xml',
|
||||
],
|
||||
'css': [
|
||||
'static/src/css/analytic.css'
|
||||
|
|
|
@ -75,15 +75,21 @@ class account_analytic_account(osv.osv):
|
|||
res[id][f] = 0.0
|
||||
res2 = {}
|
||||
for account in accounts:
|
||||
cr.execute("SELECT product_id, user_id, to_invoice, sum(unit_amount), product_uom_id, name " \
|
||||
"FROM account_analytic_line as line " \
|
||||
"WHERE account_id = %s " \
|
||||
"AND invoice_id is NULL AND to_invoice IS NOT NULL " \
|
||||
"GROUP BY product_id, user_id, to_invoice, product_uom_id, name", (account.id,))
|
||||
cr.execute("""
|
||||
SELECT product_id, sum(amount), user_id, to_invoice, sum(unit_amount), product_uom_id, line.name
|
||||
FROM account_analytic_line line
|
||||
LEFT JOIN account_analytic_journal journal ON (journal.id = line.journal_id)
|
||||
WHERE account_id = %s
|
||||
AND journal.type != 'purchase'
|
||||
AND invoice_id IS NULL
|
||||
AND to_invoice IS NOT NULL
|
||||
GROUP BY product_id, user_id, to_invoice, product_uom_id, line.name""", (account.id,))
|
||||
|
||||
res[account.id][f] = 0.0
|
||||
for product_id, user_id, factor_id, qty, uom, line_name in cr.fetchall():
|
||||
price = self.pool.get('account.analytic.line')._get_invoice_price(cr, uid, account, product_id, user_id, qty, context)
|
||||
for product_id, price, user_id, factor_id, qty, uom, line_name in cr.fetchall():
|
||||
price = -price
|
||||
if product_id:
|
||||
price = self.pool.get('account.analytic.line')._get_invoice_price(cr, uid, account, product_id, user_id, qty, context)
|
||||
factor = self.pool.get('hr_timesheet_invoice.factor').browse(cr, uid, factor_id, context=context)
|
||||
res[account.id][f] += price * qty * (100-factor.factor or 0.0) / 100.0
|
||||
|
||||
|
|
|
@ -147,6 +147,18 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_account_analytic_account_template_required" model="ir.ui.view">
|
||||
<field name="name">account.analytic.account.form.template.required</field>
|
||||
<field name="model">account.analytic.account</field>
|
||||
<field name="groups_id" eval="[(6, 0, [ref('group_template_required')])]"/>
|
||||
<field name="inherit_id" ref="analytic.view_account_analytic_account_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="template_id" position="attributes">
|
||||
<attribute name="attrs">{'required': [('type','=','contract')], 'invisible': [('type','in',['view', 'normal','template'])]}</attribute>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="template_of_contract_action" model="ir.actions.act_window">
|
||||
<field name="name">Template of Contract</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -8,19 +8,19 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\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 <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-02 20:45+0000\n"
|
||||
"Last-Translator: Kaare Pettersen <Unknown>\n"
|
||||
"Language-Team: Norwegian Bokmal <nb@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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
|
||||
|
|
|
@ -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) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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 ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Klik hier om een nieuw contract aan te maken\n"
|
||||
" </p><p>\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"
|
||||
" </p><p>\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"
|
||||
" </p>\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 ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Klik hier om een nieuw contractsjabloon aan te maken.\n"
|
||||
" </p><p>\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"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_user
|
||||
|
@ -424,6 +456,18 @@ msgid ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Klik hier om een nieuw contract aan te maken\n"
|
||||
" </p><p>\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"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,toinvoice_total:0
|
||||
|
@ -473,6 +517,14 @@ msgid ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p>\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"
|
||||
" </p>\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 "
|
||||
|
|
|
@ -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 <jeff@osbzr.com>\n"
|
||||
"PO-Revision-Date: 2012-11-29 10:29+0000\n"
|
||||
"Last-Translator: ccdos <ccdos@163.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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 "在动作定义中输入的对象名称错误"
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Business Applications
|
||||
# Copyright (C) 2004-2012 OpenERP S.A. (<http://openerp.com>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import 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."),
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="view_sales_config" model="ir.ui.view">
|
||||
<field name="name">sale settings</field>
|
||||
<field name="model">sale.config.settings</field>
|
||||
<field name="inherit_id" ref="sale.view_sales_config"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='module_analytic_user_function']" position="inside">
|
||||
<div>
|
||||
<field name="group_template_required" class="oe_inline"/>
|
||||
<label for="group_template_required"/>
|
||||
</div>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
@ -6,5 +6,12 @@
|
|||
<field eval="[(4,ref('sale.group_analytic_accounting'))]" name="groups_id"/>
|
||||
</record>
|
||||
|
||||
<record id="group_template_required" model="res.groups">
|
||||
<field name="name">Mandatory use of templates in contracts</field>
|
||||
<field name="category_id" ref="base.module_category_sales_management"/>
|
||||
<field name="comment">the field template of the analytic accounts and contracts will be required.</field>
|
||||
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-11-29 15:09+0000\n"
|
||||
"Last-Translator: Numérigraphe <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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
|
||||
|
|
|
@ -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) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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
|
||||
|
|
|
@ -29,15 +29,6 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record id="journal_col11" model="account.journal.column">
|
||||
<field eval=""""Analytic Distribution"""" name="name"/>
|
||||
<field eval="15" name="sequence"/>
|
||||
<field name="view_id" ref="account.account_journal_view"/>
|
||||
<field eval="0" name="required"/>
|
||||
<field eval=""""analytics_id"""" name="field"/>
|
||||
<field eval="0" name="readonly"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_move_line_form_inherit">
|
||||
<field name="name">account.move.line.form.inherit</field>
|
||||
<field name="model">account.move.line</field>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\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 <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2012-12-02 20:44+0000\n"
|
||||
"Last-Translator: Kaare Pettersen <Unknown>\n"
|
||||
"Language-Team: Norwegian Bokmal <nb@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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"
|
||||
|
|
|
@ -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) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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 !"
|
||||
|
|
|
@ -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 <jeff@osbzr.com>\n"
|
||||
"PO-Revision-Date: 2012-11-28 07:38+0000\n"
|
||||
"Last-Translator: ccdos <ccdos@163.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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 "选择信息"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -8,15 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\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) "
|
||||
"<maxime.chambreuil@savoirfairelinux.com>\n"
|
||||
"PO-Revision-Date: 2012-11-29 15:33+0000\n"
|
||||
"Last-Translator: Numérigraphe <Unknown>\n"
|
||||
"Language-Team: French <fr@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\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 <Unknown>\n"
|
||||
"Language-Team: Italian <it@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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 ""
|
||||
"<p>\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"
|
||||
" </p>\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 ""
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\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) <Unknown>\n"
|
||||
"Language-Team: Dutch <nl@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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 ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p>\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"
|
||||
" </p>\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
|
||||
|
|
|
@ -43,10 +43,10 @@
|
|||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="//page[@name='statement_line_ids']/field[@name='line_ids']/tree/field[@name='date']" position="after">
|
||||
<field name="val_date"/>
|
||||
</xpath>
|
||||
<field name="val_date" invisible="1"/>
|
||||
</xpath>
|
||||
<xpath expr="//page[@name='statement_line_ids']/field[@name='line_ids']/tree/field[@name='amount']" position="after">
|
||||
<field name="globalisation_id" string="Glob. Id"/>
|
||||
<field name="globalisation_id" string="Glob. Id" invisible="1"/>
|
||||
<field name="state" invisible="1"/>
|
||||
</xpath>
|
||||
<xpath expr="//page[@name='statement_line_ids']/field[@name='line_ids']/form/group/field[@name='date']" position="after">
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\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 <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2012-12-01 18:23+0000\n"
|
||||
"Last-Translator: gehad shaat <gehad.shaath@gmail.com>\n"
|
||||
"Language-Team: Arabic <ar@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\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 <jeff@osbzr.com>\n"
|
||||
"PO-Revision-Date: 2012-11-28 06:46+0000\n"
|
||||
"Last-Translator: ccdos <ccdos@163.com>\n"
|
||||
"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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
|
||||
|
|
|
@ -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 <gehad.shaath@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-11-29 16:58+0000\n"
|
||||
"Last-Translator: Christophe Chauvet - http://www.syleam.fr/ <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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
|
||||
|
|
|
@ -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) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2012-11-28 16:01+0000\n"
|
||||
"Last-Translator: Andrius Preimantas <andrius.preimantas@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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"
|
||||
|
|
|
@ -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 <jeff@osbzr.com>\n"
|
||||
"PO-Revision-Date: 2012-11-28 06:47+0000\n"
|
||||
"Last-Translator: ccdos <ccdos@163.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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
|
||||
|
|
|
@ -8,19 +8,19 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\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 <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-11-28 19:46+0000\n"
|
||||
"Last-Translator: Davide Corio - agilebg.com <davide.corio@agilebg.com>\n"
|
||||
"Language-Team: Italian <it@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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"
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<field name="model">account.journal</field>
|
||||
<field name="inherit_id" ref="account.view_account_journal_form" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="type" on_change="onchange_type(type, currency)" />
|
||||
<field name="type" />
|
||||
<field name="entry_posted" position="after">
|
||||
<field name="allow_check_writing" attrs="{'readonly':[('type','!=','bank')]}" />
|
||||
<field name="use_preprint_check" attrs="{'readonly':[('type','!=','bank')]}" />
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\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 <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2012-12-01 18:24+0000\n"
|
||||
"Last-Translator: gehad shaat <gehad.shaath@gmail.com>\n"
|
||||
"Language-Team: Arabic <ar@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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
|
||||
|
|
|
@ -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 <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-24 02:52+0000\n"
|
||||
"PO-Revision-Date: 2012-11-29 18:20+0000\n"
|
||||
"Last-Translator: OscarAlca <oscarolar@hotmail.com>\n"
|
||||
"Language-Team: Spanish (Mexico) <es_MX@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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 ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to create a new check. \n"
|
||||
" </p><p>\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"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click para crear un nuevo cheque.\n"
|
||||
" </p><p>\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"
|
||||
" </p>\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."
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\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 <jeff@osbzr.com>\n"
|
||||
"PO-Revision-Date: 2012-11-28 06:58+0000\n"
|
||||
"Last-Translator: ccdos <ccdos@163.com>\n"
|
||||
"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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 ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" 单击 创建一个新的支票。\n"
|
||||
" </p><p>\n"
|
||||
" 支票支付表单允许跟踪用支票支付给供应商的过程。\n"
|
||||
" 当年选择了一个供应商,Openerp 将自动提供 支付\n"
|
||||
" 方法和支付金额,用于核销待支付的供应商发票和\n"
|
||||
" 单据。\n"
|
||||
" </p>\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
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -0,0 +1,157 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- followup of customers views -->
|
||||
|
||||
<record id="customer_followup_tree" model="ir.ui.view">
|
||||
<field name="name">res.partner.followup.inherit.tree</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="priority" eval="20"/>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Customer Followup">
|
||||
<field name="name"/>
|
||||
<field name="payment_next_action_date"/>
|
||||
<field name="payment_next_action"/>
|
||||
<field name="user_id" invisible="1"/>
|
||||
<field name="parent_id" invisible="1"/>
|
||||
<field name="payment_responsible_id"/>
|
||||
<field name="credit"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="customer_followup_search_view" model="ir.ui.view">
|
||||
<field name="name">Search</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_res_partner_filter"/>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Partner" position="inside">
|
||||
<group string="Follow-up">
|
||||
<filter string="Partners with Credits" domain="[('credit', '>', 0.0)]" name="credits"/>
|
||||
<separator/>
|
||||
<filter string="Follow-ups To Do" domain="[('payment_next_action_date', '<=', time.strftime('%%Y-%%m-%%d')), ('credit', '>', 0.0)]" name="todo"/>
|
||||
<filter string="Future Follow-ups" domain="[('payment_next_action_date', '>', time.strftime('%%Y-%%m-%%d')), ('credit', '>', 0.0)]"/>
|
||||
<separator/>
|
||||
<filter string="No Responsible" domain="[('payment_responsible_id', '=', False)]"/>
|
||||
<filter string="My Follow-ups" domain="[('payment_responsible_id','=', uid)]"/>
|
||||
</group>
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Responsible" context="{'group_by':'payment_responsible_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="customer_followup_search_view2" model="ir.ui.view">
|
||||
<field name="name">Search</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search view">
|
||||
<field name="name"/>
|
||||
<field name="payment_next_action"/>
|
||||
<!--<filter string="Actions to be taken with overdue amount" domain="['&', ('payment_amount_outstanding', '>', 0.0), ('payment_next_action_date', '<=', time.strftime('%%Y-%%m-%%d'))]"/>
|
||||
<separator/>-->
|
||||
<filter string="Overdue amount" domain="[('credit', '>', 0.0)]"/>
|
||||
<separator/>
|
||||
<filter string="Follow-ups to do" domain="[('payment_next_action_date', '<=', time.strftime('%%Y-%%m-%%d'))]"/>
|
||||
<separator/>
|
||||
<!--filter string="Future follow-ups" domain="['&', ('payment_next_action', '!=', ''), ('payment_next_action_date', '>', time.strftime('%%Y-%%m-%%d'))]"/>-->
|
||||
<separator/>
|
||||
<filter string="Without responsible" domain="[('payment_responsible_id', '=', False)]"/>
|
||||
<filter string="I am responsible" domain="[('payment_responsible_id','=', uid)]"/>
|
||||
<group expand="1" string="Group by">
|
||||
<filter string="Responsible" context="{'group_by':'payment_responsible_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_customer_followup" model="ir.actions.act_window">
|
||||
<field name="name">Manual Follow-Ups</field>
|
||||
<field name="view_id" ref="customer_followup_tree"/>
|
||||
<field name="res_model">res.partner</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="context">{} </field>
|
||||
<field name="context">{'Followupfirst':True, 'search_default_todo': True} </field>
|
||||
<field name="search_view_id" ref="customer_followup_search_view"/>
|
||||
</record>
|
||||
|
||||
<!--Inherited view -->
|
||||
<record id="view_partner_inherit_followup_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.followup.form.inherit</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="arch" type="xml" >
|
||||
<page string="Accounting" position="before" version="7.0">
|
||||
<page string="Payment Follow-up" groups="account.group_account_invoice" name="followup_tab">
|
||||
<div class="oe_right oe_button_box" name="followup_button">
|
||||
<button name="do_button_print" type="object" string="Print Overdue Payments" groups="account.group_account_user"
|
||||
help="Print overdue payments report independent of follow-up line" attrs="{'invisible':[('credit', '<=', 0.0)]}" />
|
||||
<button name="do_partner_mail" type="object" string="Send Overdue Email" groups="account.group_account_user"
|
||||
help="If not specified by the latest follow-up level, it will send from the default follow-up of overdue invoices template" attrs="{'invisible':[('credit', '<=', 0.0)]}"/>
|
||||
</div>
|
||||
<p attrs="{'invisible':[('latest_followup_date','=', False)]}">
|
||||
The <field name="latest_followup_date" class = "oe_inline"/>, the latest payment follow-up
|
||||
was: <field name="latest_followup_level_id" class="oe_inline"/>
|
||||
</p>
|
||||
<group>
|
||||
<field name="payment_responsible_id" placeholder="Responsible of credit collection" class="oe_inline"/>
|
||||
<label for="payment_next_action"/>
|
||||
<div>
|
||||
<field name="payment_next_action_date" class="oe_inline"/>
|
||||
<button name="action_done" type="object" string="⇾ Mark as Done"
|
||||
help="Click to mark the action as done." class="oe_link"
|
||||
attrs="{'invisible':[('payment_next_action_date','=', False)]}"
|
||||
groups="base.group_partner_manager"/>
|
||||
<field name="payment_next_action" placeholder="e.g. Give a phonecall, Check if it's paid, ..."/>
|
||||
</div>
|
||||
</group>
|
||||
<label for="payment_note" class="oe_edit_only"/>
|
||||
<field name="payment_note" placeholder="e.g. 50%% before 15th of May, balance before 1st of July."/>
|
||||
<p class="oe_grey">
|
||||
Below is the history of the transactions of this
|
||||
customer. You can set an invoice in litigation in
|
||||
order to not include it in the next payment
|
||||
follow-ups.
|
||||
</p>
|
||||
<field name="unreconciled_aml_ids">
|
||||
<tree string="Account Move line" editable="bottom" create="false" delete="false" colors="red:(not date_maturity or date_maturity<=current_date) and result>0">
|
||||
<field name="date" readonly="True"/>
|
||||
<field name="move_id" readonly="True"/>
|
||||
<field name="blocked" string="Litigation"/>
|
||||
<field name="date_maturity" readonly="True"/>
|
||||
<field name="reconcile_partial_id" readonly="True"/>
|
||||
<field name="result" readonly="True"/>
|
||||
<field name="followup_line_id" invisible='1'/>
|
||||
</tree>
|
||||
</field>
|
||||
<group class="oe_subtotal_footer oe_right">
|
||||
<field name="payment_amount_due"/>
|
||||
</group>
|
||||
<div class="oe_clear"/>
|
||||
</page>
|
||||
</page>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_view_customer_followup_form" model="ir.actions.act_window.view">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="view_partner_inherit_followup_form"/>
|
||||
<field name="act_window_id" ref="action_customer_followup"/>
|
||||
</record>
|
||||
<record id="action_view_customer_followup_tree" model="ir.actions.act_window.view">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="customer_followup_tree"/>
|
||||
<field name="act_window_id" ref="action_customer_followup"/>
|
||||
</record>
|
||||
|
||||
<!-- Menus about followup of customers -->
|
||||
<menuitem id="account_followup_s" action="action_customer_followup"
|
||||
parent="menu_finance_followup" name="Do Manual Follow-Ups" sequence="3"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
|
@ -1,19 +1,378 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record model="res.company" id="base.main_company">
|
||||
<field name="follow_up_msg">Date : %(date)s
|
||||
<!-- Mail template is done in a NOUPDATE block
|
||||
so users can freely customize/delete them -->
|
||||
<data noupdate="1">
|
||||
<!--Mail template level 0-->
|
||||
<record id="email_template_account_followup_level0" model="email.template">
|
||||
<field name="name">Follow-up of overdue invoices level 0</field>
|
||||
<field name="email_from">${user.email or ''}</field>
|
||||
<field name="subject">${user.company_id.name} Payment Follow-up</field>
|
||||
<field name="email_to">${object.email}</field>
|
||||
<field name="lang">${object.lang}</field>
|
||||
<field name="model_id" ref="base.model_res_partner"/>
|
||||
<field name="auto_delete" eval="True"/>
|
||||
<field name="body_html"><![CDATA[
|
||||
<div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, 255, 255); ">
|
||||
|
||||
<p>Dear ${object.name},</p>
|
||||
<p>
|
||||
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.
|
||||
|
||||
</p>
|
||||
<br/>
|
||||
Best Regards,
|
||||
|
||||
<br/>
|
||||
${user.name}
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
<%
|
||||
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 += '''
|
||||
<table border="2" width=100%%>
|
||||
<tr>
|
||||
<td>Invoice date</td>
|
||||
<td>Reference</td>
|
||||
<td>Due date</td>
|
||||
<td>Amount (%s)</td>
|
||||
<td>Lit.</td>
|
||||
</tr>
|
||||
''' % (currency_symbol)
|
||||
total = 0
|
||||
for aml in currency_dict['line']:
|
||||
block = aml['blocked'] and 'X' or ' '
|
||||
total += aml['balance']
|
||||
strbegin = "<TD> "
|
||||
strend = "</TD> "
|
||||
date = aml['date_maturity'] or aml['date']
|
||||
if date <= ctx['current_date'] and aml['balance'] > 0:
|
||||
strbegin = "<TD><B>"
|
||||
strend = "</B></TD>"
|
||||
followup_table +="<TR>" + strbegin + str(aml['date']) + strend + strbegin + aml['ref'] + strend + strbegin + str(date) + strend + strbegin + str(aml['balance']) + strend + strbegin + block + strend + "</TR>"
|
||||
total = rml_parse.formatLang(total, dp='Account', currency_obj=object.company_id.currency_id)
|
||||
followup_table += '''<tr> </tr>
|
||||
</table>
|
||||
<center>Amount due: %s </center>''' % (total)
|
||||
|
||||
%>
|
||||
|
||||
${followup_table}
|
||||
|
||||
<br/>
|
||||
|
||||
</div>
|
||||
]]></field>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
<!--Mail template level 1 -->
|
||||
<record id="email_template_account_followup_level1" model="email.template">
|
||||
<field name="name">Follow-up of overdue invoices level 1</field>
|
||||
<field name="email_from">${user.email or ''}</field>
|
||||
<field name="subject">${user.company_id.name} Payment Follow-up</field>
|
||||
<field name="email_to">${object.email}</field>
|
||||
<field name="lang">${object.lang}</field>
|
||||
<field name="model_id" ref="base.model_res_partner"/>
|
||||
<field name="auto_delete" eval="True"/>
|
||||
<field name="body_html"><![CDATA[
|
||||
<div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, 255, 255); ">
|
||||
|
||||
<p>Dear ${object.name},</p>
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
<br/>
|
||||
Best Regards,
|
||||
|
||||
<br/>
|
||||
${user.name}
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
|
||||
<%
|
||||
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 += '''
|
||||
<table border="2" width=100%%>
|
||||
<tr>
|
||||
<td>Invoice date</td>
|
||||
<td>Reference</td>
|
||||
<td>Due date</td>
|
||||
<td>Amount (%s)</td>
|
||||
<td>Lit.</td>
|
||||
</tr>
|
||||
''' % (currency_symbol)
|
||||
total = 0
|
||||
for aml in currency_dict['line']:
|
||||
block = aml['blocked'] and 'X' or ' '
|
||||
total += aml['balance']
|
||||
strbegin = "<TD> "
|
||||
strend = "</TD> "
|
||||
date = aml['date_maturity'] or aml['date']
|
||||
if date <= ctx['current_date'] and aml['balance'] > 0:
|
||||
strbegin = "<TD><B>"
|
||||
strend = "</B></TD>"
|
||||
followup_table +="<TR>" + strbegin + str(aml['date']) + strend + strbegin + aml['ref'] + strend + strbegin + str(date) + strend + strbegin + str(aml['balance']) + strend + strbegin + block + strend + "</TR>"
|
||||
total = rml_parse.formatLang(total, dp='Account', currency_obj=object.company_id.currency_id)
|
||||
followup_table += '''<tr> </tr>
|
||||
</table>
|
||||
<center>Amount due: %s </center>''' % (total)
|
||||
|
||||
%>
|
||||
|
||||
${followup_table}
|
||||
|
||||
<br/>
|
||||
|
||||
</div>
|
||||
]]></field>
|
||||
</record>
|
||||
<!--Email template -->
|
||||
<record id="email_template_account_followup_level2" model="email.template">
|
||||
<field name="name">Follow-up of overdue invoices level 2</field>
|
||||
<field name="email_from">${user.email or ''}</field>
|
||||
<field name="subject">${user.company_id.name} Payment Follow-up</field>
|
||||
<field name="email_to">${object.email}</field>
|
||||
<field name="lang">${object.lang}</field>
|
||||
<field name="model_id" ref="base.model_res_partner"/>
|
||||
<field name="auto_delete" eval="True"/>
|
||||
<field name="body_html"><![CDATA[
|
||||
<div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, 255, 255); ">
|
||||
|
||||
<p>Dear ${object.name},</p>
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
<br/>
|
||||
Best Regards,
|
||||
|
||||
<br/>
|
||||
${user.name}
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
<%
|
||||
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 += '''
|
||||
<table border="2" width=100%%>
|
||||
<tr>
|
||||
<td>Invoice date</td>
|
||||
<td>Reference</td>
|
||||
<td>Due date</td>
|
||||
<td>Amount (%s)</td>
|
||||
<td>Lit.</td>
|
||||
</tr>
|
||||
''' % (currency_symbol)
|
||||
total = 0
|
||||
for aml in currency_dict['line']:
|
||||
block = aml['blocked'] and 'X' or ' '
|
||||
total += aml['balance']
|
||||
strbegin = "<TD> "
|
||||
strend = "</TD> "
|
||||
date = aml['date_maturity'] or aml['date']
|
||||
if date <= ctx['current_date'] and aml['balance'] > 0:
|
||||
strbegin = "<TD><B>"
|
||||
strend = "</B></TD>"
|
||||
followup_table +="<TR>" + strbegin + str(aml['date']) + strend + strbegin + aml['ref'] + strend + strbegin + str(date) + strend + strbegin + str(aml['balance']) + strend + strbegin + block + strend + "</TR>"
|
||||
total = rml_parse.formatLang(total, dp='Account', currency_obj=object.company_id.currency_id)
|
||||
followup_table += '''<tr> </tr>
|
||||
</table>
|
||||
<center>Amount due: %s </center>''' % (total)
|
||||
|
||||
%>
|
||||
|
||||
${followup_table}
|
||||
|
||||
<br/>
|
||||
|
||||
</div>
|
||||
]]></field>
|
||||
</record>
|
||||
|
||||
<!-- Default follow up message -->
|
||||
|
||||
<record id="email_template_account_followup_default" model="email.template">
|
||||
<field name="name">Default follow-up of overdue invoices</field>
|
||||
<field name="email_from">${user.email or ''}</field>
|
||||
<field name="subject">${user.company_id.name} Payment Follow-up</field>
|
||||
<field name="email_to">${object.email}</field>
|
||||
<field name="lang">${object.lang}</field>
|
||||
<field name="model_id" ref="base.model_res_partner"/>
|
||||
<field name="auto_delete" eval="True"/>
|
||||
<field name="body_html"><![CDATA[
|
||||
<div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, 255, 255); ">
|
||||
|
||||
<p>Dear ${object.name},</p>
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
<br/>
|
||||
Best Regards,
|
||||
</br>
|
||||
</br>
|
||||
<br/>
|
||||
${user.name}
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
<%
|
||||
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 += '''
|
||||
<table border="2" width=100%%>
|
||||
<tr>
|
||||
<td>Invoice date</td>
|
||||
<td>Reference</td>
|
||||
<td>Due date</td>
|
||||
<td>Amount (%s)</td>
|
||||
<td>Lit.</td>
|
||||
</tr>
|
||||
''' % (currency_symbol)
|
||||
total = 0
|
||||
for aml in currency_dict['line']:
|
||||
block = aml['blocked'] and 'X' or ' '
|
||||
total += aml['balance']
|
||||
strbegin = "<TD> "
|
||||
strend = "</TD> "
|
||||
date = aml['date_maturity'] or aml['date']
|
||||
if date <= ctx['current_date'] and aml['balance'] > 0:
|
||||
strbegin = "<TD><B>"
|
||||
strend = "</B></TD>"
|
||||
followup_table +="<TR>" + strbegin + str(aml['date']) + strend + strbegin + aml['ref'] + strend + strbegin + str(date) + strend + strbegin + str(aml['balance']) + strend + strbegin + block + strend + "</TR>"
|
||||
total = rml_parse.formatLang(total, dp='Account', currency_obj=object.company_id.currency_id)
|
||||
followup_table += '''<tr> </tr>
|
||||
</table>
|
||||
<center>Amount due: %s </center>''' % (total)
|
||||
|
||||
%>
|
||||
|
||||
${followup_table}
|
||||
|
||||
<br/>
|
||||
|
||||
</div>
|
||||
]]></field>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<record id="demo_followup1" model="account_followup.followup">
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
</record>
|
||||
|
||||
<record id="demo_followup_line1" model="account_followup.followup.line">
|
||||
<field name="name">Send first reminder email</field>
|
||||
<field name="sequence">0</field>
|
||||
<field name="delay">15</field>
|
||||
<field name="followup_id" ref="demo_followup1"/>
|
||||
<field name="send-email">True</field>
|
||||
<field name="description">
|
||||
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</field>
|
||||
Best Regards,
|
||||
</field>
|
||||
<field name="email_template_id" ref="email_template_account_followup_level0"/>
|
||||
</record>
|
||||
|
||||
<record id="demo_followup_line2" model="account_followup.followup.line">
|
||||
<field name="name">Send reminder letter and email</field>
|
||||
<field name="sequence">1</field>
|
||||
<field name="delay">30</field>
|
||||
<field name="followup_id" ref="demo_followup1"/>
|
||||
<field name="email_template_id" ref="email_template_account_followup_level1"/>
|
||||
<field name="send_email">True</field>
|
||||
<field name="send_letter">True</field>
|
||||
<field name="description">
|
||||
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,
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="demo_followup_line3" model="account_followup.followup.line">
|
||||
<field name="name">Call the customer on the phone</field>
|
||||
<field name="sequence">3</field>
|
||||
<field name="delay">40</field>
|
||||
<field name="followup_id" ref="demo_followup1"/>
|
||||
<field name="email_template_id" ref="email_template_account_followup_level2"/>
|
||||
<field eval="False" name="send_email"/>
|
||||
<field name="manual_action">True</field>
|
||||
<field name="manual_action_note">Call the customer on the phone! </field>
|
||||
<field name="description">
|
||||
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,
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -1,58 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
<record id="demo_followup1" model="account_followup.followup">
|
||||
<field name="name">Default Follow-up</field>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field name="description">First letter after 15 net days, 30 net days and 45 days end of month levels.</field>
|
||||
</record>
|
||||
|
||||
<record id="demo_followup_line1" model="account_followup.followup.line">
|
||||
<field name="name">Level 0 : 15 net days</field>
|
||||
<field name="sequence">0</field>
|
||||
<field name="start">days</field>
|
||||
<field name="delay">15</field>
|
||||
<field name="followup_id" ref="demo_followup1"/>
|
||||
<field name="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,
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="demo_followup_line2" model="account_followup.followup.line">
|
||||
<field name="name">Level 1 : 30 net days</field>
|
||||
<field name="sequence">1</field>
|
||||
<field name="start">days</field>
|
||||
<field name="delay">30</field>
|
||||
<field name="followup_id" ref="demo_followup1"/>
|
||||
<field name="description">
|
||||
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,
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="demo_followup_line3" model="account_followup.followup.line">
|
||||
<field name="name">Level 2 : 45 days end of month</field>
|
||||
<field name="sequence">2</field>
|
||||
<field name="start">end_of_month</field>
|
||||
<field name="delay">45</field>
|
||||
<data noupdate="1">
|
||||
<record id="demo_followup_line4" model="account_followup.followup.line">
|
||||
<field name="name">Urging reminder email</field>
|
||||
<field name="sequence">4</field>
|
||||
<field name="delay">50</field>
|
||||
<field name="followup_id" ref="demo_followup1"/>
|
||||
<field name="send_email">True</field>
|
||||
<field name="email_template_id" ref="email_template_account_followup_level2"/>
|
||||
<field name="description">
|
||||
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,
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
<record id="demo_followup_line5" model="account_followup.followup.line">
|
||||
<field name="name">Urging reminder letter</field>
|
||||
<field name="sequence">5</field>
|
||||
<field name="delay">60</field>
|
||||
<field name="followup_id" ref="demo_followup1"/>
|
||||
<field eval="False" name="send_email"/>
|
||||
<field name="send_letter">True</field>
|
||||
<field name="email_template_id" ref="email_template_account_followup_level2"/>
|
||||
<field name="description">
|
||||
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,
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -1,14 +1,16 @@
|
|||
<openerp>
|
||||
<data>
|
||||
|
||||
|
||||
<record id="view_account_followup_followup_line_tree" model="ir.ui.view">
|
||||
<field name="name">account_followup.followup.line.tree</field>
|
||||
<field name="model">account_followup.followup.line</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Follow-up Steps">
|
||||
<tree string="Follow-up Steps" >
|
||||
<field name="name"/>
|
||||
<field name="delay"/>
|
||||
<field name="start"/>
|
||||
<field name="send_email"/>
|
||||
<field name="send_letter"/>
|
||||
<field name="manual_action"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -18,19 +20,47 @@
|
|||
<field name="model">account_followup.followup.line</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Follow-up Steps" version="7.0">
|
||||
<group col="4">
|
||||
<field name="name"/>
|
||||
<field name="delay"/>
|
||||
<field name="start"/>
|
||||
<label for="name" class="oe_edit_only"/>
|
||||
<h1><field name="name"/></h1>
|
||||
<div class="oe_inline">
|
||||
After <field name="delay" class="oe_inline"/> days overdue, do the following actions:
|
||||
</div>
|
||||
<div>
|
||||
<field name="manual_action" class="oe_inline"/>
|
||||
<label for="manual_action"/>
|
||||
</div><div>
|
||||
<field name="send_email" class="oe_inline"/>
|
||||
<label for="send_email"/>
|
||||
</div><div>
|
||||
<field name="send_letter" class="oe_inline"/>
|
||||
<label for="send_letter"/>
|
||||
</div>
|
||||
|
||||
<group string="Manual Action" attrs="{'invisible': [('manual_action', '=', False)]}">
|
||||
<field name="manual_action_responsible_id"/>
|
||||
<field name="manual_action_note" attrs="{'required': [('manual_action', '<>', False)]}"
|
||||
placeholder="e.g. Call the customer, check if it's paid, ..."/>
|
||||
</group>
|
||||
<separator string="Message"/>
|
||||
<field name="description"/>
|
||||
<separator string="Legend"/>
|
||||
<group>
|
||||
<label string="%%(partner_name)s: Partner Name"/>
|
||||
<label string="%%(date)s: Current Date"/>
|
||||
<label string="%%(user_signature)s: User Name"/>
|
||||
<label string="%%(company_name)s: User's Company Name"/>
|
||||
|
||||
<group string="Send an Email" attrs="{'invisible': [('send_email', '=', False)]}">
|
||||
<field name="email_template_id" attrs="{'required': [('send_email', '<>', False)]}"/>
|
||||
</group>
|
||||
|
||||
<group string="Send a Letter" attrs="{'invisible': [('send_letter', '=', False)]}">
|
||||
<p colspan="2" class="oe_grey">
|
||||
Write here the introduction in the letter,
|
||||
according to the level of the follow-up. You can
|
||||
use the following keywords in the text. Don't
|
||||
forget to translate in all languages you installed
|
||||
using to top right icon.
|
||||
<group class="oe_grey">
|
||||
<b>%%(partner_name)s</b>: Partner Name
|
||||
<b>%%(date)s</b>: Current Date
|
||||
<b>%%(user_signature)s</b>: User Name
|
||||
<b>%%(company_name)s</b>: User's Company Name
|
||||
</group>
|
||||
</p>
|
||||
<field name="description" nolabel="1" colspan="2"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
@ -39,12 +69,18 @@
|
|||
<record id="view_account_followup_followup_form" model="ir.ui.view">
|
||||
<field name="name">account_followup.followup.form</field>
|
||||
<field name="model">account_followup.followup</field>
|
||||
<!-- <field name="group_ids" groups="base.group_multi_company"/>-->
|
||||
<field name="arch" type="xml">
|
||||
<form string="Follow-up" version="7.0">
|
||||
<group col="4">
|
||||
<field name="name"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
<h1><field name="company_id" widget="selection" class="oe_inline"/></h1>
|
||||
<p class="oe_grey">
|
||||
To remind customers of paying their invoices, you can
|
||||
define different actions depending on how severely
|
||||
overdue the customer is. These actions are bundled
|
||||
into folow-up levels that are triggered when the due
|
||||
date of the most overdue invoice has passed a certain
|
||||
amount of days.
|
||||
</p>
|
||||
<field name="followup_line"/>
|
||||
</form>
|
||||
</field>
|
||||
|
@ -55,8 +91,7 @@
|
|||
<field name="model">account_followup.followup</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Follow-up">
|
||||
<field name="name"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="company_id" /> <!--groups="base.group_multi_company"-->
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -66,31 +101,50 @@
|
|||
<field name="model">account_followup.followup</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Follow-up">
|
||||
<field name="name" string="Follow-up"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_account_followup_definition_form" model="ir.actions.act_window">
|
||||
<field name="name">Follow-ups</field>
|
||||
<field name="name">Payment Follow-ups</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account_followup.followup</field>
|
||||
<field name="search_view_id" ref="view_account_followup_filter"/>
|
||||
<field name="view_type">form</field>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Click to define follow-up levels and their related messages.
|
||||
Click to define follow-up levels and their related actions.
|
||||
</p><p>
|
||||
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.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_account_manual_reconcile_receivable" model="ir.actions.act_window">
|
||||
<field name="name">Reconcile Invoices & Payments</field>
|
||||
<field name="search_view_id" ref="view_account_followup_filter"/>
|
||||
<field name="context">{'search_default_unreconciled': 1,'view_mode':True}</field>
|
||||
<field name="domain">[('account_id.type', '=', 'receivable')]</field>
|
||||
<field name="res_model">account.move.line</field>
|
||||
<field name="view_id" ref="account.view_move_line_tree_reconcile"/>
|
||||
<field name="view_mode">tree_account_reconciliation</field>
|
||||
<field name="help" type="html">
|
||||
<p>
|
||||
No journal items found.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
<menuitem action="action_account_followup_definition_form" id="account_followup_menu" parent="account.menu_configuration_misc"/>
|
||||
|
||||
<menuitem
|
||||
name="Reconcile Invoices & Payments"
|
||||
action="action_account_manual_reconcile_receivable"
|
||||
parent="menu_finance_followup"
|
||||
sequence="0"
|
||||
id="menu_manual_reconcile_followup"/>
|
||||
|
||||
<menuitem action="action_account_followup_definition_form" id="account_followup_menu" parent="account.menu_finance_configuration" name="Follow-up Levels"/>
|
||||
<report auto="False" id="account_followup_followup_report" menu="False" model="account_followup.followup" name="account_followup.followup.print" rml="account_followup/report/account_followup_print.rml" string="Follow-up Report"/>
|
||||
|
||||
<record id="account_move_line_partner_tree" model="ir.ui.view">
|
||||
|
@ -127,7 +181,7 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_move_line_tree" model="ir.ui.view">
|
||||
<!-- <record id="view_move_line_tree" model="ir.ui.view">
|
||||
<field name="name">account.move.line.tree.followup</field>
|
||||
<field name="model">account.move.line</field>
|
||||
<field name="inherit_id" ref="account.view_move_line_tree"/>
|
||||
|
@ -137,27 +191,7 @@
|
|||
<field name="followup_line_id"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
</record> -->
|
||||
|
||||
<act_window domain="[('reconcile_id', '=', False),('account_id.type','=','receivable')]" id="act_account_partner_account_move_all" name="Receivable Items" res_model="account.move.line" src_model="" view_id="account_move_line_partner_tree"/>
|
||||
|
||||
<!--<menuitem action="act_account_partner_account_move_all" id="menu_account_move_open_unreconcile" parent="account_followup.menu_action_followup_stat"/> -->
|
||||
|
||||
<act_window domain="[('reconcile_id', '=', False), ('account_id.type','=','payable')]" id="act_account_partner_account_move_payable_all" name="Payable Items" res_model="account.move.line" src_model="" view_id="account_move_line_partner_tree"/>
|
||||
|
||||
<!-- <menuitem action="act_account_partner_account_move_payable_all" id="menu_account_move_open_unreconcile_payable" parent="account_followup.menu_action_followup_stat"/> -->
|
||||
|
||||
<record model="ir.ui.view" id="view_company_inherit_followup_form">
|
||||
<field name="name">res.company.followup.form.inherit</field>
|
||||
<field name="inherit_id" ref="account.view_company_inherit_form"/>
|
||||
<field name="model">res.company</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="overdue_msg" nolabel="1" colspan="4" position="after">
|
||||
<separator string="Follow-up Message" colspan="4"/>
|
||||
<field name="follow_up_msg" nolabel="1" colspan="4"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -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 <waleed_bazaza@yahoo.com>\n"
|
||||
"PO-Revision-Date: 2012-12-01 18:26+0000\n"
|
||||
"Last-Translator: kifcaliph <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\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) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2012-11-29 13:37+0000\n"
|
||||
"Last-Translator: Kaare Pettersen <Unknown>\n"
|
||||
"Language-Team: Norwegian Bokmal <nb@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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
|
||||
|
|
|
@ -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) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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
|
||||
|
|
|
@ -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 <jeff@osbzr.com>\n"
|
||||
"PO-Revision-Date: 2012-11-30 12:07+0000\n"
|
||||
"Last-Translator: ccdos <ccdos@163.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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 ""
|
|||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" 单击定义催款级别和他们相关的信息\n"
|
||||
" </p><p>\n"
|
||||
" 每个步骤可指定消息和延时天数。\n"
|
||||
" 能管理多种语言的消息。\n"
|
||||
" </p>\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
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -194,7 +194,7 @@
|
|||
<para style="terp_default_Centre_9">[[ line['date_maturity'] and formatLang(line['date_maturity'], date=True) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">[[ formatLang(line['balance']) ]] [[ line['currency_id'] ]]</para>
|
||||
<para style="terp_default_Right_9">[[ formatLang(line['balance'], currency_obj=line['currency_id']) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Centre_9">[[ line['blocked'] and 'X' or '' ]]</para>
|
||||
|
@ -212,7 +212,7 @@
|
|||
<para style="terp_tblheader_Details_Centre">Total: </para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">[[formatLang(reduce(lambda x,y: x+y['balance'], cur_lines['line'], 0.00)) ]] [[ line['currency_id'] ]] </para>
|
||||
<para style="terp_default_Right_9">[[formatLang(reduce(lambda x,y: x+y['balance'], cur_lines['line'], 0.00), currency_obj=line['currency_id']) ]] </para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">
|
||||
|
|
|
@ -64,8 +64,8 @@
|
|||
<field name="context">{'search_default_followup_level':1}</field>
|
||||
<field name="search_view_id" ref="view_account_followup_stat_search"/>
|
||||
</record>
|
||||
|
||||
<menuitem action="action_followup_stat" id="menu_action_followup_stat_follow" parent="account.next_id_22" groups="account.group_account_user"/>
|
||||
<menuitem id="menu_finance_followup" parent="account.menu_finance" name="Payment Follow-up" groups="account.group_account_invoice"/>
|
||||
<menuitem action="action_followup_stat" id="menu_action_followup_stat_follow" parent="account.menu_finance_reporting" groups="account.group_account_invoice" name="Follow-Ups Analysis" sequence="10"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -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
|
||||
|
|
|
|
@ -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"),})
|
|
@ -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')
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2011 OpenERP S.A (<http://www.openerp.com>).
|
||||
# OpenERP, Open Source Business Applications
|
||||
# Copyright (c) 2012-TODAY OpenERP S.A. <http://openerp.com>
|
||||
#
|
||||
# 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 <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
from . import test_account_followup
|
||||
|
||||
import contact
|
||||
checks = [
|
||||
test_account_followup,
|
||||
]
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -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")
|
||||
|
|
@ -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 ") + "<I> " + partner.partner_id.latest_followup_level_id_without_lit.name + "</I>" + _(" 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 <BR/> "
|
||||
resulttext += "<BR/>" + str(nbprints) + _(" letter(s) in report") + " \n <BR/>" + str(nbmanuals) + _(" manual action(s) assigned:")
|
||||
needprinting = False
|
||||
if nbprints > 0:
|
||||
needprinting = True
|
||||
resulttext += "<p align=\"center\">"
|
||||
for item in manuals:
|
||||
resulttext = resulttext + "<li>" + item + ":" + str(manuals[item]) + "\n </li>"
|
||||
resulttext += "</p>"
|
||||
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'] + "<li>" + _("%s partners have no credits and as such the action is cleared") %(str(nbactionscleared)) + "</li>"
|
||||
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': '<pre>%s</pre>' % 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:
|
||||
|
|
|
@ -4,25 +4,29 @@
|
|||
|
||||
<record id="view_account_followup_print" model="ir.ui.view">
|
||||
<field name="name">account.followup.print.form</field>
|
||||
<field name="model">account.followup.print</field>
|
||||
<field name="model">account_followup.print</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Send follow-ups" version="7.0">
|
||||
<group col="4">
|
||||
<field name="followup_id"/>
|
||||
<field name="date"/>
|
||||
<field name="followup_id" groups="base.group_multi_company"/>
|
||||
<field name="date" groups="base.group_no_one"/>
|
||||
</group>
|
||||
<footer>
|
||||
<button name="do_continue" string="Continue" type="object" class="oe_highlight"/>
|
||||
or
|
||||
<button string="Cancel" class="oe_link" special="cancel"/>
|
||||
</footer>
|
||||
<p class ="oe_grey">
|
||||
This action will send follow-up emails, print the letters and
|
||||
set the manual actions per customers.
|
||||
</p>
|
||||
<footer>
|
||||
<button name="do_process" string="Send emails and generate letters" type="object" class="oe_highlight"/>
|
||||
or
|
||||
<button string="Cancel" class="oe_link" special="cancel"/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_account_followup_print" model="ir.actions.act_window">
|
||||
<field name="name">Send Follow-Ups</field>
|
||||
<field name="res_model">account.followup.print</field>
|
||||
<field name="res_model">account_followup.print</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
|
@ -30,8 +34,10 @@
|
|||
|
||||
<menuitem action="action_account_followup_print"
|
||||
id="account_followup_print_menu"
|
||||
parent="account.menu_finance_periodical_processing_billing"
|
||||
sequence="10"/>
|
||||
parent="menu_finance_followup"
|
||||
name = "Send Letters and Emails"
|
||||
groups = "account.group_account_user"
|
||||
sequence="2"/>
|
||||
|
||||
<record id="account_followup_stat_by_partner_search" model="ir.ui.view">
|
||||
<field name="name">account_followup.stat.by.partner.search</field>
|
||||
|
@ -47,7 +53,6 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Screen2 -->
|
||||
<record id="account_followup_stat_by_partner_tree" model="ir.ui.view">
|
||||
<field name="name">account_followup.stat.by.partner.tree</field>
|
||||
<field name="model">account_followup.stat.by.partner</field>
|
||||
|
@ -63,63 +68,25 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_account_followup_print_all" model="ir.ui.view">
|
||||
<field name="name">account.followup.print.all.form</field>
|
||||
<field name="model">account.followup.print.all</field>
|
||||
<record id="view_account_followup_sending_results" model="ir.ui.view">
|
||||
<field name="name">account_followup.sending.results.form</field>
|
||||
<field name="model">account_followup.sending.results</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Send Follow-Ups" version="7.0">
|
||||
<form string="Summary of actions" version="7.0">
|
||||
<header>
|
||||
<button name="do_mail" string="Send Mails" type="object" class="oe_highlight"/>
|
||||
<button name="do_print" string="Print Follow Ups" type="object" class="oe_highlight"/>
|
||||
or
|
||||
<button string="Cancel" class="oe_link" special="cancel"/>
|
||||
<field name="description" widget="html" class="oe_view_only"/>
|
||||
</header>
|
||||
<notebook>
|
||||
<page string="Partner Selection">
|
||||
<field name="partner_ids" context="{'search_default_balance_positive': 1}" domain="[('company_id','=',context.get('company_id',False))]"/>
|
||||
</page>
|
||||
<page string="Email Settings">
|
||||
<group col="4">
|
||||
<field name="email_conf" colspan="4"/>
|
||||
<field name="partner_lang" colspan="4"/>
|
||||
<field name="test_print" colspan="4"/>
|
||||
<field name="email_subject" colspan="4"/>
|
||||
<field name="email_body" colspan="4" nolabel="1"/>
|
||||
</group>
|
||||
<group string="Legend">
|
||||
<label string="%%(partner_name)s: Partner name"/>
|
||||
<label string="%%(user_signature)s: User name"/>
|
||||
<label string="%%(followup_amount)s: Total Amount Due"/>
|
||||
<label string="%%(date)s: Current Date"/>
|
||||
<label string="%%(company_name)s: User's Company name"/>
|
||||
<label string="%%(company_currency)s: User's Company Currency"/>
|
||||
<label string="%%(heading)s: Move line header"/>
|
||||
<label string="%%(line)s: Ledger Posting lines"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
<footer>
|
||||
<field name="needprinting" invisible="1"/>
|
||||
<div attrs="{'invisible':[('needprinting','=', False)]}">
|
||||
<button name="do_report" string="Download Letters" type="object" class="oe_highlight"/>
|
||||
</div>
|
||||
<div attrs="{'invisible':[('needprinting','!=', False)]}">
|
||||
<button name="do_done" string="Close" type="object" class="oe_highlight"/>
|
||||
</div>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_account_followup_print_all_msg" model="ir.ui.view">
|
||||
<field name="name">account.followup.print.all.msg.form</field>
|
||||
<field name="model">account.followup.print.all</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Summary" version="7.0">
|
||||
<separator string="Summary"/>
|
||||
<field name="summary"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_account_followup_print_all" model="ir.actions.act_window">
|
||||
<field name="name">Send Follow-Ups</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account.followup.print.all</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -14,28 +14,16 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_move_line_tree_wiz">
|
||||
<!-- <record model="ir.ui.view" id="view_move_line_tree_wiz">
|
||||
<field name="name">account.move.line.tree</field>
|
||||
<field name="model">account.move.line</field>
|
||||
<field name="priority" eval="1"/>
|
||||
<field name="inherit_id" ref="account.view_move_line_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Account Entry Line">
|
||||
<field name="partner_id"/>
|
||||
<field name="ref"/>
|
||||
<field name="name"/>
|
||||
<field name="journal_id"/>
|
||||
<field name="account_id"/>
|
||||
<field name="date_maturity"/>
|
||||
<field name="date"/>
|
||||
<field name="debit" sum="Total debit"/>
|
||||
<field name="credit" sum="Total credit"/>
|
||||
<field name="reconcile" position="after">
|
||||
<field name="amount_to_pay"/>
|
||||
<field name="amount_currency" groups="base.group_multi_currency"/>
|
||||
<field name="currency_id" groups="base.group_multi_currency"/>
|
||||
<field name="period_id" invisible="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
</record> -->
|
||||
|
||||
<menuitem id="menu_main_payment" name="Payment" parent="account.menu_finance" sequence="7"/>
|
||||
|
||||
|
|
|
@ -3,46 +3,7 @@
|
|||
<data>
|
||||
|
||||
<!--Account Journal Internal Number of account move line-->
|
||||
|
||||
<record id="sp_journal_col3" model="account.journal.column">
|
||||
<field name="view_id" ref="account.account_sp_journal_view"/>
|
||||
<field name="name">Internal Number</field>
|
||||
<field name="field">internal_sequence_number</field>
|
||||
<field eval="True" name="required"/>
|
||||
<field eval="2" name="sequence"/>
|
||||
</record>
|
||||
|
||||
<record id="journal_col1" model="account.journal.column">
|
||||
<field name="view_id" ref="account.account_journal_view"/>
|
||||
<field name="name">Internal Number</field>
|
||||
<field name="field">internal_sequence_number</field>
|
||||
<field eval="True" name="required"/>
|
||||
<field eval="2" name="sequence"/>
|
||||
</record>
|
||||
|
||||
<record id="bank_col3" model="account.journal.column">
|
||||
<field name="view_id" ref="account.account_journal_bank_view"/>
|
||||
<field name="name">Internal Number</field>
|
||||
<field name="field">internal_sequence_number</field>
|
||||
<field eval="True" name="required"/>
|
||||
<field eval="2" name="sequence"/>
|
||||
</record>
|
||||
|
||||
<record id="bank_col3_multi" model="account.journal.column">
|
||||
<field name="view_id" ref="account.account_journal_bank_view_multi"/>
|
||||
<field name="name">Internal Number</field>
|
||||
<field name="field">internal_sequence_number</field>
|
||||
<field eval="True" name="required"/>
|
||||
<field eval="2" name="sequence"/>
|
||||
</record>
|
||||
|
||||
<record id="sp_refund_journal_col3" model="account.journal.column">
|
||||
<field name="view_id" ref="account.account_sp_refund_journal_view"/>
|
||||
<field name="name">Internal Number</field>
|
||||
<field name="field">internal_sequence_number</field>
|
||||
<field eval="True" name="required"/>
|
||||
<field eval="2" name="sequence"/>
|
||||
</record>
|
||||
|
||||
<record id="sequence_journal" model="ir.sequence.type">
|
||||
<field name="name">Account Journal</field>
|
||||
<field name="code">account.journal</field>
|
||||
|
|
|
@ -8,19 +8,19 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\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 <Unknown>\n"
|
||||
"Language-Team: Arabic <ar@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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
|
||||
|
|
|
@ -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/ <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 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
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue