diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py
index 019af2cdef5..7fffc4f07d4 100644
--- a/addons/account/__openerp__.py
+++ b/addons/account/__openerp__.py
@@ -141,7 +141,7 @@ for a particular financial year and for preparation of vouchers there is a modul
'project/analytic_account_demo.xml',
'demo/account_minimal.xml',
'demo/account_invoice_demo.xml',
-# 'account_unit_test.xml',
+ 'account_unit_test.xml',
],
'test': [
'test/account_customer_invoice.yml',
diff --git a/addons/account/account.py b/addons/account/account.py
index 98e51d0cf4f..22f2b3bda9c 100644
--- a/addons/account/account.py
+++ b/addons/account/account.py
@@ -75,8 +75,8 @@ class account_payment_term(osv.osv):
amount = value
result = []
obj_precision = self.pool.get('decimal.precision')
+ prec = obj_precision.precision_get(cr, uid, 'Account')
for line in pt.line_ids:
- prec = obj_precision.precision_get(cr, uid, 'Account')
if line.value == 'fixed':
amt = round(line.value_amount, prec)
elif line.value == 'procent':
@@ -92,19 +92,20 @@ class account_payment_term(osv.osv):
next_date += relativedelta(day=line.days2, months=1)
result.append( (next_date.strftime('%Y-%m-%d'), amt) )
amount -= amt
- return result
-account_payment_term()
+ amount = reduce(lambda x,y: x+y[1], result, 0.0)
+ dist = round(value-amount, prec)
+ if dist:
+ result.append( (time.strftime('%Y-%m-%d'), dist) )
+ return result
class account_payment_term_line(osv.osv):
_name = "account.payment.term.line"
_description = "Payment Term Line"
_columns = {
- 'name': fields.char('Line Name', size=32, required=True),
- 'sequence': fields.integer('Sequence', required=True, help="The sequence field is used to order the payment term lines from the lowest sequences to the higher ones"),
'value': fields.selection([('procent', 'Percent'),
('balance', 'Balance'),
- ('fixed', 'Fixed Amount')], 'Valuation',
+ ('fixed', 'Fixed Amount')], 'Computation',
required=True, help="""Select here the kind of valuation related to this payment term line. Note that you should have your last line with the type 'Balance' to ensure that the whole amount will be treated."""),
'value_amount': fields.float('Amount To Pay', digits_compute=dp.get_precision('Payment Term'), help="For percent enter a ratio between 0-1."),
@@ -115,10 +116,10 @@ class account_payment_term_line(osv.osv):
}
_defaults = {
'value': 'balance',
- 'sequence': 5,
+ 'days': 30,
'days2': 0,
}
- _order = "sequence"
+ _order = "value desc,days"
def _check_percent(self, cr, uid, ids, context=None):
obj = self.browse(cr, uid, ids[0], context=context)
@@ -1082,7 +1083,7 @@ class account_journal_period(osv.osv):
'journal_id': fields.many2one('account.journal', 'Journal', required=True, ondelete="cascade"),
'period_id': fields.many2one('account.period', 'Period', required=True, ondelete="cascade"),
'icon': fields.function(_icon_get, string='Icon', type='char', size=32),
- 'active': fields.boolean('Active', required=True, help="If the active field is set to False, it will allow you to hide the journal period without removing it."),
+ 'active': fields.boolean('Active', help="If the active field is set to False, it will allow you to hide the journal period without removing it."),
'state': fields.selection([('draft','Draft'), ('printed','Printed'), ('done','Done')], 'Status', required=True, readonly=True,
help='When journal period is created. The status is \'Draft\'. If a report is printed it comes to \'Printed\' status. When all transactions are done, it comes in \'Done\' status.'),
'fiscalyear_id': fields.related('period_id', 'fiscalyear_id', string='Fiscal Year', type='many2one', relation='account.fiscalyear'),
diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py
index c363bab4426..be8eb9641ee 100644
--- a/addons/account/account_invoice.py
+++ b/addons/account/account_invoice.py
@@ -80,8 +80,11 @@ class account_invoice(osv.osv):
def _reconciled(self, cr, uid, ids, name, args, context=None):
res = {}
- for id in ids:
- res[id] = self.test_paid(cr, uid, [id])
+ wf_service = netsvc.LocalService("workflow")
+ for inv in self.browse(cr, uid, ids, context=context):
+ res[inv.id] = self.test_paid(cr, uid, [inv.id])
+ if not res[inv.id] and inv.state == 'paid':
+ wf_service.trg_validate(uid, 'account.invoice', inv.id, 'open_test', cr)
return res
def _get_reference_type(self, cr, uid, context=None):
@@ -1157,7 +1160,7 @@ class account_invoice(osv.osv):
return map(lambda x: (0,0,x), lines)
def refund(self, cr, uid, ids, date=None, period_id=None, description=None, journal_id=None):
- invoices = self.read(cr, uid, ids, ['name', 'type', 'number', 'reference', 'comment', 'date_due', 'partner_id', 'partner_contact', 'partner_insite', 'partner_ref', 'payment_term', 'account_id', 'currency_id', 'invoice_line', 'tax_line', 'journal_id', 'company_id'])
+ invoices = self.read(cr, uid, ids, ['name', 'type', 'number', 'reference', 'comment', 'date_due', 'partner_id', 'partner_contact', 'partner_insite', 'partner_ref', 'payment_term', 'account_id', 'currency_id', 'invoice_line', 'tax_line', 'journal_id', 'company_id', 'user_id', 'fiscal_position'])
obj_invoice_line = self.pool.get('account.invoice.line')
obj_invoice_tax = self.pool.get('account.invoice.tax')
obj_journal = self.pool.get('account.journal')
@@ -1206,7 +1209,8 @@ class account_invoice(osv.osv):
})
# take the id part of the tuple returned for many2one fields
for field in ('partner_id', 'company_id',
- 'account_id', 'currency_id', 'payment_term', 'journal_id'):
+ 'account_id', 'currency_id', 'payment_term', 'journal_id',
+ 'user_id', 'fiscal_position'):
invoice[field] = invoice[field] and invoice[field][0]
# create the new invoice
new_ids.append(self.create(cr, uid, invoice))
diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py
index 2c6e651b14b..25c898f6c0d 100644
--- a/addons/account/account_move_line.py
+++ b/addons/account/account_move_line.py
@@ -443,9 +443,9 @@ 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'),
+ 'reconcile': fields.function(_get_reconcile, type='char', string='Reconcile Ref'),
'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_currency': fields.function(_amount_residual, string='Residual Amount in Currency', 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,
@@ -456,7 +456,7 @@ class account_move_line(osv.osv):
store = {
'account.move': (_get_move_lines, ['period_id'], 20)
}),
- 'blocked': fields.boolean('Litigation', help="You can check this box to mark this journal item as a litigation with the associated partner"),
+ 'blocked': fields.boolean('No Follow-up', help="You can check this box to mark this journal item as a litigation with the associated partner"),
'partner_id': fields.many2one('res.partner', 'Partner', select=1, ondelete='restrict'),
'date_maturity': fields.date('Due date', select=True ,help="This field is used for payable and receivable journal entries. You can put the limit date for the payment of this line."),
'date': fields.related('move_id','date', string='Effective date', type='date', required=True, select=True,
@@ -856,7 +856,12 @@ class account_move_line(osv.osv):
if r[0][1] != None:
raise osv.except_osv(_('Error!'), _('Some entries are already reconciled.'))
- if (not currency_obj.is_zero(cr, uid, account.company_id.currency_id, writeoff)) or \
+ if context.get('fy_closing'):
+ # We don't want to generate any write-off when being called from the
+ # wizard used to close a fiscal year (and it doesn't give us any
+ # writeoff_acc_id).
+ pass
+ elif (not currency_obj.is_zero(cr, uid, account.company_id.currency_id, writeoff)) or \
(account.currency_id and (not currency_obj.is_zero(cr, uid, account.currency_id, currency))):
if not writeoff_acc_id:
raise osv.except_osv(_('Warning!'), _('You have to provide an account for the write off/exchange difference entry.'))
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 6d3519cc461..401f569c74e 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -1549,10 +1549,8 @@
account.payment.term.line
-
-
-
+
@@ -1563,37 +1561,20 @@
account.payment.term.line
@@ -1616,7 +1597,7 @@
-
+
diff --git a/addons/account/data/account_data.xml b/addons/account/data/account_data.xml
index 0072a949d89..96b021650ce 100644
--- a/addons/account/data/account_data.xml
+++ b/addons/account/data/account_data.xml
@@ -10,17 +10,33 @@
-
- 30 Days End of Month
- 30 Days End of Month
+
+ Immediate Payment
+ Immediate Payment
-
- 30 Days End of Month
+
+
+ Immediate Paymentbalance
-
-
-
+
+
+
+
+
+
+ 15 Days
+ 15 Days
+
+
+
+ 15 Days
+ balance
+
+
+
+
+
Payment Term6
@@ -30,6 +46,7 @@
30 Net Days30 Net Days
+
30 Net Daysbalance
@@ -37,28 +54,7 @@
-
-
- 30% Advance End 30 Days
- 30% Advance End 30 Days
-
-
- 30% Advance
- procent
-
-
-
-
-
-
-
- Remaining Balance
- balance
-
-
-
-
-
+
diff --git a/addons/account/demo/account_demo.xml b/addons/account/demo/account_demo.xml
index 8b0f026c9f0..6918ad44702 100644
--- a/addons/account/demo/account_demo.xml
+++ b/addons/account/demo/account_demo.xml
@@ -127,6 +127,41 @@
+
+
+
+
+ 30 Days End of Month
+ 30 Days End of Month
+
+
+ 30 Days End of Month
+ balance
+
+
+
+
+
+
+ 30% Advance End 30 Days
+ 30% Advance End 30 Days
+
+
+ 30% Advance
+ procent
+
+
+
+
+
+
+
+ Remaining Balance
+ balance
+
+
+
+
diff --git a/addons/account/edi/invoice_action_data.xml b/addons/account/edi/invoice_action_data.xml
index 7cc4f4978f7..c4b0c8103f1 100644
--- a/addons/account/edi/invoice_action_data.xml
+++ b/addons/account/edi/invoice_action_data.xml
@@ -29,8 +29,9 @@
Invoice_${(object.number or '').replace('/','_')}_${object.state == 'draft' and 'draft' or ''}
+ ${object.partner_id.lang}
+
Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name or ''},
@@ -49,7 +50,7 @@
% endif
- % if object.company_id.paypal_account and object.type in ('out_invoice', 'in_refund'):
+ % if object.company_id.paypal_account and object.type in ('out_invoice'):
<%
comp_name = quote(object.company_id.name)
inv_number = quote(object.number)
@@ -73,7 +74,7 @@
-
+
${object.company_id.name}
diff --git a/addons/account/i18n/de.po b/addons/account/i18n/de.po
index dc3291fc9da..a5a3ef57009 100644
--- a/addons/account/i18n/de.po
+++ b/addons/account/i18n/de.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
-"PO-Revision-Date: 2012-12-06 10:40+0000\n"
+"PO-Revision-Date: 2012-12-08 10:58+0000\n"
"Last-Translator: Thorsten Vocks (OpenBig.org) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-12-07 04:35+0000\n"
+"X-Launchpad-Export-Date: 2012-12-09 04:39+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: account
@@ -1930,7 +1930,7 @@ msgstr "Geschäftsjahr Sequenz"
#. module: account
#: field:account.config.settings,group_analytic_accounting:0
msgid "Analytic accounting"
-msgstr ""
+msgstr "Buchen von Kostenstellen"
#. module: account
#: report:account.overdue:0
@@ -4041,6 +4041,11 @@ msgid ""
"You can create one in the menu: \n"
"Configuration/Journals/Journals."
msgstr ""
+"Es kann kein Buchungsjournal, mit dem %s Typ für dieses Unternehmens "
+"gefunden werden.\n"
+"\n"
+"Sie können ein neues Buchungsjournal in folgendem Menü erstellen:\n"
+"Finanzen / Konfiguration / Einstellungen / Buchungsjournale"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_unreconcile
@@ -7496,6 +7501,8 @@ msgid ""
"You cannot provide a secondary currency if it is the same than the company "
"one."
msgstr ""
+"Sie können keine weitere Währung verwalten, wenn diese identisch mit Ihrer "
+"Hauswährung ist."
#. module: account
#: code:addons/account/account_invoice.py:1321
@@ -10438,6 +10445,8 @@ msgid ""
"Credit note base on this type. You can not Modify and Cancel if the invoice "
"is already reconciled"
msgstr ""
+"Gutschrift für diesen Typ. Es können keine Änderungen oder Stornierungen "
+"vorgenommen werden, wenn die Rechnungen bereits ausgeglichen wurde."
#. module: account
#: report:account.account.balance:0
@@ -10774,7 +10783,7 @@ msgstr "Wiederkehrende Buchungen Journal"
#: code:addons/account/account.py:1058
#, python-format
msgid "Start period should precede then end period."
-msgstr ""
+msgstr "Start Periode die auf die Ende Periode folgen soll."
#. module: account
#: field:account.invoice,number:0
diff --git a/addons/account/i18n/fr.po b/addons/account/i18n/fr.po
index 27801a0da69..ab240056600 100644
--- a/addons/account/i18n/fr.po
+++ b/addons/account/i18n/fr.po
@@ -7,15 +7,15 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
-"PO-Revision-Date: 2012-12-03 20:35+0000\n"
+"PO-Revision-Date: 2012-12-07 15:21+0000\n"
"Last-Translator: Frederic Clementi - Camptocamp.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-12-04 05:21+0000\n"
-"X-Generator: Launchpad (build 16335)\n"
+"X-Launchpad-Export-Date: 2012-12-08 04:59+0000\n"
+"X-Generator: Launchpad (build 16341)\n"
#. module: account
#: code:addons/account/wizard/account_fiscalyear_close.py:41
@@ -184,7 +184,7 @@ msgstr ""
#: code:addons/account/static/src/xml/account_move_reconciliation.xml:30
#, python-format
msgid "Reconcile"
-msgstr "Lettrer"
+msgstr "Let."
#. module: account
#: field:account.bank.statement,name:0
@@ -988,12 +988,12 @@ msgstr ""
#. module: account
#: report:account.analytic.account.quantity_cost_ledger:0
msgid "J.C./Move name"
-msgstr "J.C. / Nom du mouvement"
+msgstr "J.C. / description de l'écriture"
#. module: account
#: view:account.account:0
msgid "Account Code and Name"
-msgstr ""
+msgstr "Code et Nom du Compte"
#. module: account
#: model:mail.message.subtype,name:account.mt_invoice_new
@@ -2993,7 +2993,7 @@ msgstr "Relevés"
#. module: account
#: report:account.analytic.account.journal:0
msgid "Move Name"
-msgstr "Nom de la transaction"
+msgstr "Description de l'écriture"
#. module: account
#: model:ir.model,name:account.model_account_move_line_reconcile_writeoff
@@ -3008,7 +3008,7 @@ msgstr "Ligne d'écriture lettrée (écriture d'écart)"
#: field:account.move.line,account_tax_id:0
#: view:account.tax:0
msgid "Tax"
-msgstr "Impôts et taxes"
+msgstr "Taxes"
#. module: account
#: view:account.analytic.account:0
@@ -4350,7 +4350,7 @@ msgstr ""
#: field:account.move.reconcile,name:0
#: field:account.subscription,name:0
msgid "Name"
-msgstr "Nom"
+msgstr "Decription"
#. module: account
#: code:addons/account/installer.py:94
@@ -4918,7 +4918,7 @@ msgstr "Nom du compte"
#. module: account
#: help:account.fiscalyear.close,report_name:0
msgid "Give name of the new entries"
-msgstr "Indique le nom à donner aux nouvelles écritures"
+msgstr "Indique la description à donner aux nouvelles écritures"
#. module: account
#: model:ir.model,name:account.model_account_invoice_report
@@ -4982,12 +4982,12 @@ msgstr "Le nom de la période doit être unique par société!"
#. module: account
#: help:wizard.multi.charts.accounts,currency_id:0
msgid "Currency as per company's country."
-msgstr ""
+msgstr "Devise selon le pays de la société"
#. module: account
#: view:account.tax:0
msgid "Tax Computation"
-msgstr ""
+msgstr "Calcul des taxes"
#. module: account
#: view:wizard.multi.charts.accounts:0
@@ -6246,7 +6246,7 @@ msgstr "Comptes fils"
#: code:addons/account/account_move_line.py:1107
#, python-format
msgid "Move name (id): %s (%s)"
-msgstr "Nom du mouvement (id): %s (%s)"
+msgstr "Description de l'écriture (id): %s (%s)"
#. module: account
#: view:account.move.line.reconcile:0
@@ -6258,7 +6258,7 @@ msgstr "Ajustement"
#. module: account
#: field:res.partner,debit:0
msgid "Total Payable"
-msgstr "Total à payer"
+msgstr "Total dû"
#. module: account
#: model:account.account.type,name:account.data_account_type_income
@@ -7850,7 +7850,7 @@ msgstr ""
#. module: account
#: field:account.fiscalyear.close,report_name:0
msgid "Name of new entries"
-msgstr "Nom des nouvelles écritures"
+msgstr "Description des nouvelles écritures"
#. module: account
#: view:account.use.model:0
@@ -7865,7 +7865,7 @@ msgstr ""
#. module: account
#: help:account.config.settings,currency_id:0
msgid "Main currency of the company."
-msgstr ""
+msgstr "Devise de a société"
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_reports
@@ -8843,7 +8843,7 @@ msgstr ""
#: field:account.move.line,reconcile_partial_id:0
#: view:account.move.line.reconcile:0
msgid "Partial Reconcile"
-msgstr "Rapprochement partiel"
+msgstr "Let.P"
#. module: account
#: model:ir.model,name:account.model_account_analytic_inverted_balance
diff --git a/addons/account/i18n/it.po b/addons/account/i18n/it.po
index 6bc1a0ac2bc..4324e492364 100644
--- a/addons/account/i18n/it.po
+++ b/addons/account/i18n/it.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
-"PO-Revision-Date: 2012-12-06 21:42+0000\n"
+"PO-Revision-Date: 2012-12-09 23:36+0000\n"
"Last-Translator: Sergio Corato \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-12-07 04:35+0000\n"
+"X-Launchpad-Export-Date: 2012-12-10 04:38+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: account
@@ -1229,6 +1229,20 @@ msgid ""
" \n"
" "
msgstr ""
+"
\n"
+" Clicca per aggiungere un conto.\n"
+"
\n"
+" Quando si fanno operazioni multi-valuta, è possibile perdere "
+"o\n"
+" guadagnare degli importi a causa della variazione del tasso "
+"di cambio.\n"
+" Questo menu dà una previsione del Guadagno o Perdita "
+"realizzato se\n"
+" queste operazioni fossero concluse oggi. Solo per conti che "
+"hanno\n"
+" una valuta secondaria.\n"
+"
\n"
+" "
#. module: account
#: field:account.bank.accounts.wizard,acc_name:0
@@ -3156,7 +3170,7 @@ msgstr "Movimento contabile di riconciliazione (storno)"
#: field:account.move.line,account_tax_id:0
#: view:account.tax:0
msgid "Tax"
-msgstr "Tassa"
+msgstr "Imposta"
#. module: account
#: view:account.analytic.account:0
@@ -3527,7 +3541,7 @@ msgstr "Solo Un Piano dei Conti Disponibile"
#: field:product.category,property_account_expense_categ:0
#: field:product.template,property_account_expense:0
msgid "Expense Account"
-msgstr "Bilancio spese"
+msgstr "Conto di Costo"
#. module: account
#: field:account.bank.statement,message_summary:0
@@ -7460,7 +7474,7 @@ msgid ""
"This account will be used instead of the default one as the receivable "
"account for the current partner"
msgstr ""
-"Qiesto conto verra' usato al posto del default come conto per incassi dal "
+"Questo conto verrà usato invece del default come conto incassi per il "
"partner corrente"
#. module: account
@@ -8012,7 +8026,7 @@ msgstr "Raggruppare per anno data fattura"
#. module: account
#: field:account.config.settings,purchase_tax_rate:0
msgid "Purchase tax (%)"
-msgstr ""
+msgstr "Imposta sugli acquisti (%)"
#. module: account
#: help:res.partner,credit:0
@@ -8359,6 +8373,8 @@ msgid ""
"This date will be used as the invoice date for credit note and period will "
"be chosen accordingly!"
msgstr ""
+"Questa data sarà usata come data fattura per la nota di credito e il periodo "
+"sarà scelto di conseguenza!"
#. module: account
#: view:product.template:0
@@ -8372,6 +8388,8 @@ msgid ""
"You have to set a code for the bank account defined on the selected chart of "
"accounts."
msgstr ""
+"E' necessario selezionare un codice per il conto bancario definito sul piano "
+"dei conti selezionato."
#. module: account
#: model:ir.ui.menu,name:account.menu_manual_reconcile
@@ -8797,6 +8815,7 @@ msgstr "Bilancio Analitico Invertito -"
msgid ""
"Is this reconciliation produced by the opening of a new fiscal year ?."
msgstr ""
+"La riconciliazione è prodotto dall'apertura di un nuovo anno fiscale ?."
#. module: account
#: view:account.analytic.line:0
@@ -8901,7 +8920,7 @@ msgstr "Sezionale Note di Credito Fornitori"
#: code:addons/account/account.py:1292
#, python-format
msgid "Please define a sequence on the journal."
-msgstr ""
+msgstr "E' necessario definire una sequenza per il sezionale."
#. module: account
#: help:account.tax.template,amount:0
@@ -8930,6 +8949,9 @@ msgid ""
"recalls.\n"
" This installs the module account_followup."
msgstr ""
+"Consente di automatizzare le lettere per le fatture non pagate, non richiami "
+"multi-livello.\n"
+" Installa il modulo account_followup."
#. module: account
#: field:account.automatic.reconcile,period_id:0
@@ -8974,12 +8996,12 @@ msgstr "Totale imponibile"
#: code:addons/account/wizard/account_report_common.py:153
#, python-format
msgid "Select a starting and an ending period."
-msgstr ""
+msgstr "Selezionare un periodo iniziale e uno finale."
#. module: account
#: field:account.config.settings,sale_sequence_next:0
msgid "Next invoice number"
-msgstr ""
+msgstr "Numero di fattura successivo"
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_generic_reporting
@@ -9128,7 +9150,7 @@ msgstr "Import automatico dei movimenti bancari"
#: code:addons/account/account_invoice.py:370
#, python-format
msgid "Unknown Error!"
-msgstr ""
+msgstr "Errore Sconosciuto!"
#. module: account
#: model:ir.model,name:account.model_account_move_bank_reconcile
@@ -9138,7 +9160,7 @@ msgstr "Riconciliazione movimenti bancari"
#. module: account
#: view:account.config.settings:0
msgid "Apply"
-msgstr ""
+msgstr "Conferma"
#. module: account
#: field:account.financial.report,account_type_ids:0
@@ -9154,6 +9176,8 @@ msgid ""
"You cannot use this general account in this journal, check the tab 'Entry "
"Controls' on the related journal."
msgstr ""
+"Non è possibile usare questo conto generale in questo sezionale, controllare "
+"la sezione 'Voci di controllo' nel relativo sezionale."
#. module: account
#: view:account.payment.term.line:0
@@ -9366,6 +9390,8 @@ msgstr "Il codice del conto deve essere unico per ogni azienda!"
#: help:product.template,property_account_expense:0
msgid "This account will be used to value outgoing stock using cost price."
msgstr ""
+"Questo conto sarà utilizzato per valutare le merci in uscita utilizzando il "
+"prezzo di costo."
#. module: account
#: view:account.invoice:0
@@ -9403,7 +9429,7 @@ msgstr "Conti consentiti (vuoto per non effettuare nessun controllo)"
#. module: account
#: field:account.config.settings,sale_tax_rate:0
msgid "Sales tax (%)"
-msgstr ""
+msgstr "Imposta sulle vendite (%)"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_analytic_account_tree2
@@ -9469,6 +9495,8 @@ msgid ""
"This allows you to check writing and printing.\n"
" This installs the module account_check_writing."
msgstr ""
+"Permette di verificare la scrittura e la stampa.\n"
+" Installa il modulo account_check_writing."
#. module: account
#: model:res.groups,name:account.group_account_invoice
@@ -9546,6 +9574,9 @@ msgid ""
"created. If you leave that field empty, it will use the same journal as the "
"current invoice."
msgstr ""
+"E' possibile selezionare qui il sezionale da utilizzare per le note di "
+"credito che saranno create. Se questa casella viene lasciata vuota, verrà "
+"utilizzato lo stesso sezionale della fattura corrente."
#. module: account
#: help:account.bank.statement.line,sequence:0
@@ -9578,7 +9609,7 @@ msgstr "Modello errato !"
#: view:account.tax.code.template:0
#: view:account.tax.template:0
msgid "Tax Template"
-msgstr ""
+msgstr "Modello Imposta"
#. module: account
#: field:account.invoice.refund,period:0
@@ -9598,6 +9629,10 @@ msgid ""
"some non legal fields or you must unreconcile first.\n"
"%s."
msgstr ""
+"Non è possibile fare questa modifica su una registrazione riconciliata. E' "
+"possibile cambiare solo alcuni campi non fiscali, altrimenti è necessario "
+"prima annullare la riconciliazione.\n"
+"%s."
#. module: account
#: help:account.financial.report,sign:0
@@ -9644,7 +9679,7 @@ msgstr "Le Bozze di fatture sono marcate, convalidate e stampate."
#: field:account.bank.statement,message_is_follower:0
#: field:account.invoice,message_is_follower:0
msgid "Is a Follower"
-msgstr ""
+msgstr "E' un Follower"
#. module: account
#: view:account.move:0
@@ -9924,7 +9959,7 @@ msgstr "Aziende collegate al Partner"
#. module: account
#: view:account.invoice:0
msgid "Ask Refund"
-msgstr ""
+msgstr "Richiesta Rimborso"
#. module: account
#: view:account.move.line:0
@@ -9966,12 +10001,12 @@ msgstr "Conti di Credito"
#. module: account
#: field:account.config.settings,purchase_refund_sequence_prefix:0
msgid "Supplier credit note sequence"
-msgstr ""
+msgstr "Sequenza nota di credito fornitore"
#. module: account
#: field:account.config.settings,purchase_sequence_next:0
msgid "Next supplier invoice number"
-msgstr ""
+msgstr "Numero fattura fornitore successivo"
#. module: account
#: help:account.config.settings,module_account_payment:0
@@ -10001,6 +10036,8 @@ msgstr "Estratti Conto Bancari"
#, python-format
msgid "To reconcile the entries company should be the same for all entries."
msgstr ""
+"Per riconciliare le registrazioni l'azienda dovrebbe essere la stessa per "
+"tutte le registrazioni."
#. module: account
#: field:account.account,balance:0
@@ -10078,7 +10115,7 @@ msgstr "Filtra per"
#: field:account.cashbox.line,number_closing:0
#: field:account.cashbox.line,number_opening:0
msgid "Number of Units"
-msgstr ""
+msgstr "Numero di Unità"
#. module: account
#: model:process.node,note:account.process_node_manually0
@@ -10103,12 +10140,12 @@ msgstr "Movimento contabile"
#: code:addons/account/wizard/account_period_close.py:51
#, python-format
msgid "Invalid Action!"
-msgstr ""
+msgstr "Azione non valida!"
#. module: account
#: view:account.bank.statement:0
msgid "Date / Period"
-msgstr ""
+msgstr "Data / Periodo"
#. module: account
#: report:account.central.journal:0
@@ -10127,11 +10164,14 @@ msgid ""
"The period is invalid. Either some periods are overlapping or the period's "
"dates are not matching the scope of the fiscal year."
msgstr ""
+"Errore!\n"
+"Il periodo non è valido. Alcuni periodi sono sovrapposti o le date del "
+"periodo non sono all'interno dell'anno fiscale."
#. module: account
#: report:account.overdue:0
msgid "There is nothing due with this customer."
-msgstr ""
+msgstr "Non c'è alcun credito scaduto verso questo cliente."
#. module: account
#: help:account.tax,account_paid_id:0
@@ -10151,7 +10191,7 @@ msgstr "Crea un conto con il template selezionato sotto il mastro esistente."
#. module: account
#: report:account.invoice:0
msgid "Source"
-msgstr ""
+msgstr "Origine"
#. module: account
#: selection:account.model.line,date_maturity:0
@@ -10174,11 +10214,13 @@ msgid ""
"This field contains the information related to the numbering of the journal "
"entries of this journal."
msgstr ""
+"Questo campo contiene le informazioni relative alla numerazione delle "
+"registrazioni di questo sezionale."
#. module: account
#: field:account.invoice,sent:0
msgid "Sent"
-msgstr ""
+msgstr "Spedito"
#. module: account
#: view:account.unreconcile.reconcile:0
@@ -10194,7 +10236,7 @@ msgstr "Report Comune"
#: field:account.config.settings,default_sale_tax:0
#: field:account.config.settings,sale_tax:0
msgid "Default sale tax"
-msgstr ""
+msgstr "Imposta sulle vendite di default"
#. module: account
#: report:account.overdue:0
@@ -10205,7 +10247,7 @@ msgstr "Saldo:"
#: code:addons/account/account.py:1542
#, python-format
msgid "Cannot create moves for different companies."
-msgstr ""
+msgstr "Non è possibile creare movimenti per diverse aziende."
#. module: account
#: view:account.invoice.report:0
@@ -10281,7 +10323,7 @@ msgstr "Periodo finale"
#. module: account
#: model:account.account.type,name:account.account_type_expense_view1
msgid "Expense View"
-msgstr ""
+msgstr "Vista Costi"
#. module: account
#: field:account.move.line,date_maturity:0
@@ -10292,7 +10334,7 @@ msgstr "Data scadenza"
#: code:addons/account/account.py:1459
#, python-format
msgid " Centralisation"
-msgstr ""
+msgstr " Centralizzazione"
#. module: account
#: help:account.journal,type:0
@@ -10860,7 +10902,7 @@ msgstr "Totale"
#: code:addons/account/wizard/account_invoice_refund.py:109
#, python-format
msgid "Cannot %s draft/proforma/cancel invoice."
-msgstr ""
+msgstr "Non è possibile %s una fattura bozza/proforma/annullata."
#. module: account
#: field:account.tax,account_analytic_paid_id:0
@@ -10989,7 +11031,7 @@ msgstr "Conti vuoti ? "
#: code:addons/account/account_move_line.py:1046
#, python-format
msgid "Unable to change tax!"
-msgstr ""
+msgstr "Impossibile cambiare l'imposta!"
#. module: account
#: constraint:account.bank.statement:0
diff --git a/addons/account/i18n/nl.po b/addons/account/i18n/nl.po
index 74fca69af53..95069e431dc 100644
--- a/addons/account/i18n/nl.po
+++ b/addons/account/i18n/nl.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
-"PO-Revision-Date: 2012-12-01 16:00+0000\n"
-"Last-Translator: Thomas Pot (Open2bizz) \n"
+"PO-Revision-Date: 2012-12-09 19:02+0000\n"
+"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-12-04 05:21+0000\n"
-"X-Generator: Launchpad (build 16335)\n"
+"X-Launchpad-Export-Date: 2012-12-10 04:38+0000\n"
+"X-Generator: Launchpad (build 16341)\n"
#, python-format
#~ msgid "Integrity Error !"
@@ -30,13 +30,13 @@ msgstr "Betaling (administratief)"
msgid ""
"An account fiscal position could be defined only once time on same accounts."
msgstr ""
-"Een fiscale positie kan maar één keer worden gedefinieerd voro dezelfde "
+"Een fiscale positie kan maar één keer worden gedefinieerd voor dezelfde "
"rekening."
#. module: account
#: view:account.unreconcile:0
msgid "Unreconciliate Transactions"
-msgstr "Afletteren transactief ongedaan maken"
+msgstr "Afletteren transacties ongedaan maken"
#. module: account
#: help:account.tax.code,sequence:0
@@ -502,7 +502,7 @@ msgstr ""
#: code:addons/account/static/src/xml/account_move_line_quickadd.xml:8
#, python-format
msgid "Period :"
-msgstr ""
+msgstr "Periode:"
#. module: account
#: field:account.account.template,chart_template_id:0
@@ -974,6 +974,8 @@ msgid ""
"Print Report with the currency column if the currency differs from the "
"company currency."
msgstr ""
+"Print de rapportage met de valuta kolom als de valuta afwijkt van de "
+"bedrijfsvaluta"
#. module: account
#: report:account.analytic.account.quantity_cost_ledger:0
@@ -1077,6 +1079,8 @@ msgid ""
"You cannot validate this journal entry because account \"%s\" does not "
"belong to chart of accounts \"%s\"."
msgstr ""
+"U kunt deze journaalpost niet valideren omdat rekening \"%s\" niet tot het "
+"rekeningschema \"%s\" behoort."
#. module: account
#: view:validate.account.move:0
@@ -1094,7 +1098,7 @@ msgstr "Totaalbedrag"
#. module: account
#: help:account.invoice,supplier_invoice_number:0
msgid "The reference of this invoice as provided by the supplier."
-msgstr ""
+msgstr "De referentie van deze factuur zoals opgegeven door de leverancier"
#. module: account
#: selection:account.account,type:0
@@ -1270,6 +1274,8 @@ msgstr "Crediteer "
#: help:account.config.settings,company_footer:0
msgid "Bank accounts as printed in the footer of each printed document"
msgstr ""
+"Rekeninginformatie die afgedrukt wordt in de voettekst van ieder afgedrukt "
+"document"
#. module: account
#: view:account.tax:0
@@ -1496,7 +1502,7 @@ msgstr "Niveau"
#: code:addons/account/wizard/account_change_currency.py:38
#, python-format
msgid "You can only change currency for Draft Invoice."
-msgstr ""
+msgstr "U kunt alleen de valuta wijzigen van een voorlopige factuur"
#. module: account
#: report:account.invoice:0
@@ -1617,7 +1623,7 @@ msgstr "Debiteuren"
#: code:addons/account/account.py:767
#, python-format
msgid "%s (copy)"
-msgstr ""
+msgstr "%s (kopie)"
#. module: account
#: selection:account.balance.report,display_account:0
@@ -2125,7 +2131,7 @@ msgstr "Klant ref:"
#: 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 "Gebruik deze code voor de belastingaangifte"
#. module: account
#: help:account.period,special:0
@@ -2292,6 +2298,18 @@ msgid ""
" \n"
" "
msgstr ""
+"
\n"
+" Klik om een bankafschrift te registreren.\n"
+"
\n"
+" Een bankafschrift is een samenvatting van alle financiele "
+"transacties\n"
+" van een bankrekening gedurende een bepaalde periode.\n"
+" U ontvangt deze periodieke van uw bank.\n"
+"
\n"
+" Met OpenERP kunt u de bankafschriften direct afletteren\n"
+" met de gerelateerde in- en verkoopfacturen.\n"
+"
\n"
+" "
#. module: account
#: model:ir.actions.act_window,name:account.action_view_created_invoice_dashboard
@@ -440,7 +448,7 @@ msgstr ""
#: code:addons/account/static/src/xml/account_move_line_quickadd.xml:8
#, python-format
msgid "Period :"
-msgstr ""
+msgstr "时间:"
#. module: account
#: field:account.account.template,chart_template_id:0
@@ -603,7 +611,7 @@ msgstr "没有什么被核销"
#. module: account
#: field:account.config.settings,decimal_precision:0
msgid "Decimal precision on journal entries"
-msgstr ""
+msgstr "日记帐分录小数精度"
#. module: account
#: selection:account.config.settings,period:0
@@ -722,7 +730,7 @@ msgstr "账簿的会计期间"
#: constraint:account.move:0
msgid ""
"You cannot create more than one move per period on a centralized journal."
-msgstr ""
+msgstr "在每个会计期间,你不可以创建1个以上的总分类凭证"
#. module: account
#: help:account.tax,account_analytic_paid_id:0
@@ -1401,7 +1409,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
@@ -2288,7 +2296,7 @@ msgstr "关闭财政年度"
#: code:addons/account/static/src/xml/account_move_line_quickadd.xml:14
#, python-format
msgid "Journal :"
-msgstr ""
+msgstr "流水帐"
#. module: account
#: sql_constraint:account.fiscal.position.tax:0
@@ -2995,7 +3003,7 @@ msgstr "单号"
#. module: account
#: view:wizard.multi.charts.accounts:0
msgid "Purchase Tax"
-msgstr ""
+msgstr "购置税"
#. module: account
#: help:account.move.line,tax_code_id:0
@@ -3089,7 +3097,7 @@ msgstr "沟通类型"
#. module: account
#: constraint:account.move.line:0
msgid "Account and Period must belong to the same company."
-msgstr ""
+msgstr "帐户和帐期必须属于同一家公司。"
#. module: account
#: field:account.invoice.line,discount:0
@@ -3117,7 +3125,7 @@ msgstr "补差额金额"
#: field:account.bank.statement,message_unread:0
#: field:account.invoice,message_unread:0
msgid "Unread Messages"
-msgstr ""
+msgstr "未读消息"
#. module: account
#: code:addons/account/wizard/account_invoice_state.py:44
diff --git a/addons/account/partner.py b/addons/account/partner.py
index b5e0a9538ef..2b4c4a49cb4 100644
--- a/addons/account/partner.py
+++ b/addons/account/partner.py
@@ -134,18 +134,23 @@ class res_partner(osv.osv):
return []
having_values = tuple(map(itemgetter(2), args))
where = ' AND '.join(
- map(lambda x: '(SUM(debit-credit) %(operator)s %%s)' % {
+ map(lambda x: '(SUM(bal2) %(operator)s %%s)' % {
'operator':x[1]},args))
query = self.pool.get('account.move.line')._query_get(cr, uid, context=context)
- cr.execute(('SELECT partner_id FROM account_move_line l '\
- 'WHERE account_id IN '\
- '(SELECT id FROM account_account '\
- 'WHERE type=%s AND active) '\
- 'AND reconcile_id IS NULL '\
- 'AND '+query+' '\
- 'AND partner_id IS NOT NULL '\
- 'GROUP BY partner_id HAVING '+where),
- (type,) + having_values)
+ cr.execute(('SELECT pid AS partner_id, SUM(bal2) FROM ' \
+ '(SELECT CASE WHEN bal IS NOT NULL THEN bal ' \
+ 'ELSE 0.0 END AS bal2, p.id as pid FROM ' \
+ '(SELECT (debit-credit) AS bal, partner_id ' \
+ 'FROM account_move_line l ' \
+ 'WHERE account_id IN ' \
+ '(SELECT id FROM account_account '\
+ 'WHERE type=%s AND active) ' \
+ 'AND reconcile_id IS NULL ' \
+ 'AND '+query+') AS l ' \
+ 'RIGHT JOIN res_partner p ' \
+ 'ON p.id = partner_id ) AS pl ' \
+ 'GROUP BY pid HAVING ' + where),
+ (type,) + having_values)
res = cr.fetchall()
if not res:
return [('id','=','0')]
diff --git a/addons/account/product_view.xml b/addons/account/product_view.xml
index a70fdf38f3c..44d53839700 100644
--- a/addons/account/product_view.xml
+++ b/addons/account/product_view.xml
@@ -4,6 +4,7 @@
product.normal.form.inheritproduct.product
+ 5
diff --git a/addons/account/report/account_financial_report.py b/addons/account/report/account_financial_report.py
index 5380383f537..6e0c8b95e1a 100644
--- a/addons/account/report/account_financial_report.py
+++ b/addons/account/report/account_financial_report.py
@@ -56,7 +56,7 @@ class report_account_common(report_sxw.rml_parse, common_report_header):
for report in self.pool.get('account.financial.report').browse(self.cr, self.uid, ids2, context=data['form']['used_context']):
vals = {
'name': report.name,
- 'balance': report.balance,
+ 'balance': report.balance * report.sign,
'type': 'report',
'level': bool(report.style_overwrite) and report.style_overwrite or report.level,
'account_type': report.type =='sum' and 'view' or False, #used to underline the financial report balances
diff --git a/addons/account/report/account_report.py b/addons/account/report/account_report.py
index 56e324bc361..076e598ac54 100644
--- a/addons/account/report/account_report.py
+++ b/addons/account/report/account_report.py
@@ -48,6 +48,7 @@ class report_account_receivable(osv.osv):
_order = 'name desc'
def init(self, cr):
+ tools.drop_view_if_exists(cr, 'report_account_receivable')
cr.execute("""
create or replace view report_account_receivable as (
select
@@ -183,6 +184,7 @@ class report_invoice_created(osv.osv):
_order = 'create_date'
def init(self, cr):
+ tools.drop_view_if_exists(cr, 'report_invoice_created')
cr.execute("""create or replace view report_invoice_created as (
select
inv.id as id, inv.name as name, inv.type as type,
diff --git a/addons/account/wizard/account_invoice_refund.py b/addons/account/wizard/account_invoice_refund.py
index 38a22baa9f1..52c754b5394 100644
--- a/addons/account/wizard/account_invoice_refund.py
+++ b/addons/account/wizard/account_invoice_refund.py
@@ -36,7 +36,7 @@ class account_invoice_refund(osv.osv_memory):
'period': fields.many2one('account.period', 'Force period'),
'journal_id': fields.many2one('account.journal', 'Refund Journal', help='You can select here the journal to use for the credit note that will be created. If you leave that field empty, it will use the same journal as the current invoice.'),
'description': fields.char('Reason', size=128, required=True),
- 'filter_refund': fields.selection([('refund', 'Create a draft credit note'), ('cancel', 'Cancel: create credit note and reconcile'),('modify', 'Modify: create credit note, reconcile and create a new draft invoice')], "Refund Method", required=True, help='Credit note base on this type. You can not Modify and Cancel if the invoice is already reconciled'),
+ 'filter_refund': fields.selection([('refund', 'Create a draft refund'), ('cancel', 'Cancel: create refund and reconcile'),('modify', 'Modify: create refund, reconcile and create a new draft invoice')], "Refund Method", required=True, help='Refund base on this type. You can not Modify and Cancel if the invoice is already reconciled'),
}
def _get_journal(self, cr, uid, context=None):
diff --git a/addons/account/wizard/account_invoice_refund_view.xml b/addons/account/wizard/account_invoice_refund_view.xml
index 3945a6f57e6..49c1550ad01 100644
--- a/addons/account/wizard/account_invoice_refund_view.xml
+++ b/addons/account/wizard/account_invoice_refund_view.xml
@@ -40,7 +40,7 @@
diff --git a/addons/account/wizard/account_report_common.py b/addons/account/wizard/account_report_common.py
index 4438484aaaf..2c1448b5e6f 100644
--- a/addons/account/wizard/account_report_common.py
+++ b/addons/account/wizard/account_report_common.py
@@ -24,6 +24,7 @@ from lxml import etree
from osv import fields, osv
from tools.translate import _
+from openerp.osv.orm import setup_modifiers
class account_common_report(osv.osv_memory):
_name = "account.common.report"
@@ -67,16 +68,16 @@ class account_common_report(osv.osv_memory):
(_check_company_id, 'The fiscalyear, periods or chart of account chosen have to belong to the same company.', ['chart_account_id','fiscalyear_id','period_from','period_to']),
]
-
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
if context is None:context = {}
res = super(account_common_report, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=False)
- if context.get('active_model', False) == 'account.account' and view_id:
+ if context.get('active_model', False) == 'account.account':
doc = etree.XML(res['arch'])
nodes = doc.xpath("//field[@name='chart_account_id']")
for node in nodes:
node.set('readonly', '1')
node.set('help', 'If you print the report from Account list/form view it will not consider Charts of account')
+ setup_modifiers(node, res['fields']['chart_account_id'])
res['arch'] = etree.tostring(doc)
return res
@@ -121,8 +122,8 @@ class account_common_report(osv.osv_memory):
now = time.strftime('%Y-%m-%d')
company_id = False
ids = context.get('active_ids', [])
- if ids:
- company_id = self.browse(cr, uid, ids[0], context=context).company_id.id
+ if ids and context.get('active_model') == 'account.account':
+ company_id = self.pool.get('account.account').browse(cr, uid, ids[0], context=context).company_id.id
fiscalyears = self.pool.get('account.fiscalyear').search(cr, uid, [('date_start', '<', now), ('date_stop', '>', now), ('company_id', '=', company_id)], limit=1)
return fiscalyears and fiscalyears[0] or False
diff --git a/addons/account_accountant/i18n/hr.po b/addons/account_accountant/i18n/hr.po
index da83a8c12c9..8886a91875a 100644
--- a/addons/account_accountant/i18n/hr.po
+++ b/addons/account_accountant/i18n/hr.po
@@ -8,19 +8,19 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2012-11-24 02:51+0000\n"
-"PO-Revision-Date: 2011-01-17 00:02+0000\n"
+"PO-Revision-Date: 2012-12-09 19:38+0000\n"
"Last-Translator: Goran Kliska \n"
"Language-Team: Croatian \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-10 04:39+0000\n"
+"X-Generator: Launchpad (build 16341)\n"
#. module: account_accountant
#: model:ir.actions.client,name:account_accountant.action_client_account_menu
msgid "Open Accounting Menu"
-msgstr ""
+msgstr "Otvori izbornik računovodstvo"
#~ msgid ""
#~ "\n"
diff --git a/addons/account_analytic_analysis/__openerp__.py b/addons/account_analytic_analysis/__openerp__.py
index 53ebf225de1..5ff15c09076 100644
--- a/addons/account_analytic_analysis/__openerp__.py
+++ b/addons/account_analytic_analysis/__openerp__.py
@@ -45,7 +45,7 @@ Adds menu to show relevant information to each manager.You can also view the rep
'css': [
'static/src/css/analytic.css'
],
- 'demo': [],
+ 'demo': ['analytic_account_demo.xml'],
'installable': True,
'auto_install': False,
}
diff --git a/addons/account_analytic_analysis/account_analytic_analysis_menu.xml b/addons/account_analytic_analysis/account_analytic_analysis_menu.xml
index 9eb8fe90895..368dd7f3b65 100644
--- a/addons/account_analytic_analysis/account_analytic_analysis_menu.xml
+++ b/addons/account_analytic_analysis/account_analytic_analysis_menu.xml
@@ -8,7 +8,7 @@
formtree,form[('invoice_id','=',False)]
- {'search_default_to_invoice': 1}
+ {'search_default_to_invoice': 1, 'search_default_sales': 1}
@@ -34,7 +34,7 @@
-
+
diff --git a/addons/account_analytic_analysis/analytic_account_demo.xml b/addons/account_analytic_analysis/analytic_account_demo.xml
new file mode 100644
index 00000000000..f721fc1459d
--- /dev/null
+++ b/addons/account_analytic_analysis/analytic_account_demo.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+ True
+ 1200
+ True
+
+
+ 100000
+
+
+
+
+
+
+
+
+
+ 100
+
+
+
+
+ True
+ 500
+ True
+
+ 50000
+
+
+
+
+
+
+
+
+ True
+ True
+ 100
+
+
+
+
+
+
+
diff --git a/addons/account_analytic_analysis/i18n/it.po b/addons/account_analytic_analysis/i18n/it.po
index 2dcf15f669b..641209e35ce 100644
--- a/addons/account_analytic_analysis/i18n/it.po
+++ b/addons/account_analytic_analysis/i18n/it.po
@@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev_rc3\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
-"PO-Revision-Date: 2012-08-16 09:05+0000\n"
-"Last-Translator: gagarin \n"
+"PO-Revision-Date: 2012-12-09 13:20+0000\n"
+"Last-Translator: Davide Corio - agilebg.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-12-04 05:34+0000\n"
-"X-Generator: Launchpad (build 16335)\n"
+"X-Launchpad-Export-Date: 2012-12-10 04:38+0000\n"
+"X-Generator: Launchpad (build 16341)\n"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "No order to invoice, create"
-msgstr ""
+msgstr "Nessun ordine da fatturare, crealo"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@@ -29,12 +29,12 @@ msgstr "Raggruppa per..."
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "To Invoice"
-msgstr ""
+msgstr "Da fatturare"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Remaining"
-msgstr ""
+msgstr "Rimanenti"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@@ -73,7 +73,7 @@ msgstr ""
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "⇒ Invoice"
-msgstr ""
+msgstr "⇒ Fattura"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_invoiced:0
@@ -88,7 +88,7 @@ msgstr "Data dell'ultimo costo fatturato"
#. module: account_analytic_analysis
#: help:account.analytic.account,fix_price_to_invoice:0
msgid "Sum of quotations for this contract."
-msgstr ""
+msgstr "Somma dei preventivi di questo contratto."
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_invoiced:0
@@ -98,7 +98,7 @@ msgstr "Importo totale fatture cliente per questo conto"
#. module: account_analytic_analysis
#: help:account.analytic.account,timesheet_ca_invoiced:0
msgid "Sum of timesheet lines invoiced for this contract."
-msgstr ""
+msgstr "Somma delle linee timesheet fatturate di questo contratto."
#. module: account_analytic_analysis
#: help:account.analytic.account,revenue_per_hour:0
@@ -108,12 +108,12 @@ msgstr "Calcolato usando la formula: Fatturato / Tempo Totale"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Contracts not assigned"
-msgstr ""
+msgstr "Contratti non assegnati"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Partner"
-msgstr ""
+msgstr "Partner"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@@ -156,12 +156,12 @@ 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 "Calcolato usando la formula: Tempo Massimo - Totale Tempo Fatturato"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Expected"
-msgstr ""
+msgstr "Atteso"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@@ -174,7 +174,7 @@ msgstr "Contabilità Analitica"
#. module: account_analytic_analysis
#: help:account.analytic.account,theorical_margin:0
msgid "Computed using the formula: Theoretical Revenue - Total Costs"
-msgstr ""
+msgstr "Calcolato usando la formula: Ricavo Teorico - Totale Costi"
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_invoiced:0
@@ -195,6 +195,8 @@ msgid ""
"{'required': [('type','=','contract')], 'invisible': [('type','in',['view', "
"'normal','template'])]}"
msgstr ""
+"{'required': [('type','=','contract')], 'invisible': [('type','in',['view', "
+"'normal','template'])]}"
#. module: account_analytic_analysis
#: field:account.analytic.account,real_margin_rate:0
@@ -204,7 +206,7 @@ msgstr "Tasso di margine reale (%)"
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_hours:0
msgid "Computed using the formula: Maximum Time - Total Worked Time"
-msgstr ""
+msgstr "Calcolato usando la formula: Tempo Massimo - Totale Tempo Lavorato"
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_quantity:0
@@ -218,23 +220,23 @@ msgstr ""
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Nothing to invoice, create"
-msgstr ""
+msgstr "Niente da fatturare, crealo"
#. 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 "Modello Contratto"
#. module: account_analytic_analysis
#: model:res.groups,name:account_analytic_analysis.group_template_required
msgid "Mandatory use of templates in contracts"
-msgstr ""
+msgstr "Utilizzo dei template obbligatorio nei contratti"
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_quantity:0
msgid "Total Worked Time"
-msgstr ""
+msgstr "Totale Tempo Lavorato"
#. module: account_analytic_analysis
#: field:account.analytic.account,real_margin:0
@@ -255,7 +257,7 @@ msgstr ""
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "or view"
-msgstr ""
+msgstr "o vista"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@@ -272,7 +274,7 @@ msgstr "Mese"
#: 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 "Tempo & Materiali da Fatturare"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_overdue_all
@@ -283,12 +285,12 @@ msgstr "Contratti"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Start Date"
-msgstr ""
+msgstr "Data Inizio"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Invoiced"
-msgstr ""
+msgstr "Fatturato"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@@ -307,13 +309,13 @@ msgstr "Contratti in sospeso da rinnovare con il cliente"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Timesheets"
-msgstr ""
+msgstr "Timesheets"
#. module: account_analytic_analysis
#: code:addons/account_analytic_analysis/account_analytic_analysis.py:461
#, python-format
msgid "Sale Order Lines of %s"
-msgstr ""
+msgstr "Linee Ordine di Vendita di %s"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@@ -328,7 +330,7 @@ msgstr "Quantità Scadute"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Status"
-msgstr ""
+msgstr "Stato"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_theorical:0
@@ -350,7 +352,7 @@ msgstr ""
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_sales_order
msgid "Sales Orders"
-msgstr ""
+msgstr "Ordini di Vendita"
#. module: account_analytic_analysis
#: help:account.analytic.account,last_invoice_date:0
@@ -404,6 +406,8 @@ msgid ""
"Allows you to set the template field as required when creating an analytic "
"account or a contract."
msgstr ""
+"Consente di impostare il campo modello come obbligatorio durante la "
+"creazione di un conto analitico o di un contratto."
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_qtt_invoiced:0
@@ -436,12 +440,12 @@ msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,toinvoice_total:0
msgid "Total to Invoice"
-msgstr ""
+msgstr "Totale da Fatturare"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Sale Orders"
-msgstr ""
+msgstr "Ordini di Vendita"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@@ -451,7 +455,7 @@ msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,invoiced_total:0
msgid "Total Invoiced"
-msgstr ""
+msgstr "Totale Fatturato"
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_ca:0
@@ -462,7 +466,7 @@ msgstr ""
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Responsible"
-msgstr ""
+msgstr "Responsabile"
#. module: account_analytic_analysis
#: field:account.analytic.account,last_invoice_date:0
@@ -516,6 +520,7 @@ msgstr "Contratti da Rinnovare"
#: help:account.analytic.account,toinvoice_total:0
msgid " Sum of everything that could be invoiced for this contract."
msgstr ""
+" Somma di tutto quello che può essere fatturato per questo contratto."
#. module: account_analytic_analysis
#: field:account.analytic.account,theorical_margin:0
@@ -525,7 +530,7 @@ msgstr "Margine teorico"
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_total:0
msgid "Total Remaining"
-msgstr ""
+msgstr "Totale Rimanente"
#. module: account_analytic_analysis
#: help:account.analytic.account,real_margin:0
@@ -535,12 +540,12 @@ msgstr "Calcolato utilizzando la formula: importo fatturato - totale costi"
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_est:0
msgid "Estimation of Hours to Invoice"
-msgstr ""
+msgstr "Stima delle Ore da Fatturare"
#. module: account_analytic_analysis
#: field:account.analytic.account,fix_price_invoices:0
msgid "Fixed Price"
-msgstr ""
+msgstr "Prezzo Fisso"
#. module: account_analytic_analysis
#: help:account.analytic.account,last_worked_date:0
@@ -550,17 +555,17 @@ msgstr "Data dell'ultimo lavoro fatto su questo conto."
#. module: account_analytic_analysis
#: model:ir.model,name:account_analytic_analysis.model_sale_config_settings
msgid "sale.config.settings"
-msgstr ""
+msgstr "sale.config.settings"
#. module: account_analytic_analysis
#: field:sale.config.settings,group_template_required:0
msgid "Mandatory use of templates."
-msgstr ""
+msgstr "Uso dei modelli obbligatorio"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Contracts Having a Partner"
-msgstr ""
+msgstr "Contratti con Partner"
#. module: account_analytic_analysis
#: help:account.analytic.account,total_cost:0
@@ -574,7 +579,7 @@ msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,est_total:0
msgid "Total Estimation"
-msgstr ""
+msgstr "Stima Totale"
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_ca:0
@@ -601,16 +606,17 @@ msgstr "Durata totale"
msgid ""
"the field template of the analytic accounts and contracts will be required."
msgstr ""
+"il campo modello dei conti analitici e dei contratti sarà obbligatorio."
#. module: account_analytic_analysis
#: field:account.analytic.account,invoice_on_timesheets:0
msgid "On Timesheets"
-msgstr ""
+msgstr "Su Timesheets"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Total"
-msgstr ""
+msgstr "Totale"
#~ msgid "Computed using the formula: Theorial Revenue - Total Costs"
#~ msgstr "Calcolato utilizzando la formula: Reddito teorico - costi totali"
diff --git a/addons/account_analytic_plans/i18n/de.po b/addons/account_analytic_plans/i18n/de.po
index 20f5dd70abc..5defd9b28f1 100644
--- a/addons/account_analytic_plans/i18n/de.po
+++ b/addons/account_analytic_plans/i18n/de.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-12-07 04:35+0000\n"
+"X-Launchpad-Export-Date: 2012-12-08 04:59+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: account_analytic_plans
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index a44226e76c8..3190801764b 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -41,8 +41,8 @@ class account_asset_category(osv.osv):
'company_id': fields.many2one('res.company', 'Company', required=True),
'method': fields.selection([('linear','Linear'),('degressive','Degressive')], 'Computation Method', required=True, help="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"),
- 'method_number': fields.integer('Number of Depreciations'),
+ " * Degressive: Calculated on basis of: Residual Value * Degressive Factor"),
+ 'method_number': fields.integer('Number of Depreciations', help="The number of depreciations needed to depreciate your asset"),
'method_period': fields.integer('Period Length', help="State here the time between 2 depreciations, in months", required=True),
'method_progress_factor': fields.float('Degressive Factor'),
'method_time': fields.selection([('number','Number of Depreciations'),('end','Ending Date')], 'Time Method', required=True,
@@ -222,6 +222,15 @@ class account_asset_asset(osv.osv):
else:
val['currency_id'] = company.currency_id.id
return {'value': val}
+
+ def onchange_purchase_salvage_value(self, cr, uid, ids, purchase_value, salvage_value, context=None):
+ val = {}
+ for asset in self.browse(cr, uid, ids, context=context):
+ if purchase_value:
+ val['value_residual'] = purchase_value - salvage_value
+ if salvage_value:
+ val['value_residual'] = purchase_value - salvage_value
+ return {'value': val}
_columns = {
'account_move_line_ids': fields.one2many('account.move.line', 'asset_id', 'Entries', readonly=True, states={'draft':[('readonly',False)]}),
@@ -243,9 +252,9 @@ class account_asset_asset(osv.osv):
'partner_id': fields.many2one('res.partner', 'Partner', readonly=True, states={'draft':[('readonly',False)]}),
'method': fields.selection([('linear','Linear'),('degressive','Degressive')], 'Computation Method', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="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"),
- 'method_number': fields.integer('Number of Depreciations', readonly=True, states={'draft':[('readonly',False)]}, help="Calculates Depreciation within specified interval"),
- 'method_period': fields.integer('Number of Months in a Period', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="State here the time during 2 depreciations, in months"),
+ " * Degressive: Calculated on basis of: Residual Value * Degressive Factor"),
+ 'method_number': fields.integer('Number of Depreciations', readonly=True, states={'draft':[('readonly',False)]}, help="The number of depreciations needed to depreciate your asset"),
+ 'method_period': fields.integer('Number of Months in a Period', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="The amount of time between two depreciations, in months"),
'method_end': fields.date('Ending Date', readonly=True, states={'draft':[('readonly',False)]}),
'method_progress_factor': fields.float('Degressive Factor', readonly=True, states={'draft':[('readonly',False)]}),
'value_residual': fields.function(_amount_residual, method=True, digits_compute=dp.get_precision('Account'), string='Residual Value'),
@@ -359,8 +368,8 @@ class account_asset_depreciation_line(osv.osv):
'sequence': fields.integer('Sequence', required=True),
'asset_id': fields.many2one('account.asset.asset', 'Asset', required=True),
'parent_state': fields.related('asset_id', 'state', type='char', string='State of Asset'),
- 'amount': fields.float('Depreciation Amount', digits_compute=dp.get_precision('Account'), required=True),
- 'remaining_value': fields.float('Amount to Depreciate', digits_compute=dp.get_precision('Account'),required=True),
+ 'amount': fields.float('Current Depreciation', digits_compute=dp.get_precision('Account'), required=True),
+ 'remaining_value': fields.float('Next Period Depreciation', digits_compute=dp.get_precision('Account'),required=True),
'depreciated_value': fields.float('Amount Already Depreciated', required=True),
'depreciation_date': fields.date('Depreciation Date', select=1),
'move_id': fields.many2one('account.move', 'Depreciation Entry'),
@@ -460,7 +469,7 @@ class account_asset_history(osv.osv):
help="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."),
- 'method_number': fields.integer('Number of Depreciations'),
+ 'method_number': fields.integer('Number of Depreciations', help="The number of depreciations needed to depreciate your asset"),
'method_period': fields.integer('Period Length', help="Time in month between two depreciations"),
'method_end': fields.date('Ending date'),
'note': fields.text('Note'),
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 520ee733e73..c4cb17bded3 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -108,8 +108,8 @@
-
-
+
+
diff --git a/addons/account_asset/i18n/de.po b/addons/account_asset/i18n/de.po
index d299ad86c07..daf6bdb23fd 100755
--- a/addons/account_asset/i18n/de.po
+++ b/addons/account_asset/i18n/de.po
@@ -15,7 +15,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-12-07 04:36+0000\n"
+"X-Launchpad-Export-Date: 2012-12-08 04:59+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: account_asset
diff --git a/addons/account_asset/i18n/it.po b/addons/account_asset/i18n/it.po
index a117c70b422..2bd5f5ddc7b 100644
--- a/addons/account_asset/i18n/it.po
+++ b/addons/account_asset/i18n/it.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
-"PO-Revision-Date: 2012-11-30 00:08+0000\n"
+"PO-Revision-Date: 2012-12-09 22:00+0000\n"
"Last-Translator: Sergio Corato \n"
"Language-Team: Italian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-12-04 05:53+0000\n"
-"X-Generator: Launchpad (build 16335)\n"
+"X-Launchpad-Export-Date: 2012-12-10 04:39+0000\n"
+"X-Generator: Launchpad (build 16341)\n"
#. module: account_asset
#: view:account.asset.asset:0
@@ -87,7 +87,7 @@ msgstr "Azienda"
#. module: account_asset
#: view:asset.modify:0
msgid "Modify"
-msgstr ""
+msgstr "Modifica"
#. module: account_asset
#: selection:account.asset.asset,state:0
@@ -112,7 +112,7 @@ msgstr "Analisi Immobilizzazioni"
#. module: account_asset
#: field:asset.modify,name:0
msgid "Reason"
-msgstr ""
+msgstr "Causale"
#. module: account_asset
#: field:account.asset.asset,method_progress_factor:0
@@ -189,7 +189,7 @@ msgstr "Note"
#. module: account_asset
#: field:account.asset.depreciation.line,move_id:0
msgid "Depreciation Entry"
-msgstr ""
+msgstr "Riga Ammortamento"
#. module: account_asset
#: view:asset.asset.report:0
@@ -223,7 +223,7 @@ msgstr "Riferimento"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Account Asset"
-msgstr ""
+msgstr "Conto Immobilizzazione"
#. module: account_asset
#: model:ir.actions.act_window,name:account_asset.action_asset_depreciation_confirmation_wizard
@@ -336,7 +336,7 @@ msgstr "Immobilizzazioni in stato \"chiuso\""
#. module: account_asset
#: field:account.asset.asset,parent_id:0
msgid "Parent Asset"
-msgstr ""
+msgstr "Immobilizzazione Padre"
#. module: account_asset
#: view:account.asset.history:0
@@ -362,7 +362,7 @@ msgstr ""
#. module: account_asset
#: model:ir.model,name:account_asset.model_account_move_line
msgid "Journal Items"
-msgstr ""
+msgstr "Voci Sezionale"
#. module: account_asset
#: field:asset.asset.report,unposted_value:0
diff --git a/addons/account_asset/i18n/zh_CN.po b/addons/account_asset/i18n/zh_CN.po
index a3c6589613e..3cae4c25678 100644
--- a/addons/account_asset/i18n/zh_CN.po
+++ b/addons/account_asset/i18n/zh_CN.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
-"PO-Revision-Date: 2012-05-10 17:45+0000\n"
-"Last-Translator: 开阖软件 Jeff Wang \n"
+"PO-Revision-Date: 2012-12-07 15:37+0000\n"
+"Last-Translator: ccdos \n"
"Language-Team: Chinese (Simplified) \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-12-04 05:54+0000\n"
-"X-Generator: Launchpad (build 16335)\n"
+"X-Launchpad-Export-Date: 2012-12-08 04:59+0000\n"
+"X-Generator: Launchpad (build 16341)\n"
#. module: account_asset
#: view:account.asset.asset:0
@@ -153,7 +153,7 @@ msgstr "折旧日期"
#. module: account_asset
#: constraint:account.asset.asset:0
msgid "Error ! You cannot create recursive assets."
-msgstr ""
+msgstr "错误!你不能创建循环的固定资产."
#. module: account_asset
#: field:asset.asset.report,posted_value:0
@@ -198,7 +198,7 @@ msgstr "折旧行编号"
#. module: account_asset
#: field:account.asset.asset,method_period:0
msgid "Number of Months in a Period"
-msgstr ""
+msgstr "在一个周期内的月数"
#. module: account_asset
#: view:asset.asset.report:0
@@ -441,7 +441,7 @@ msgstr ""
#: field:account.asset.asset,state:0
#: field:asset.asset.report,state:0
msgid "Status"
-msgstr ""
+msgstr "状态"
#. module: account_asset
#: field:account.asset.asset,partner_id:0
@@ -488,7 +488,7 @@ msgstr "计算"
#. module: account_asset
#: view:account.asset.history:0
msgid "Asset History"
-msgstr ""
+msgstr "资产历史"
#. module: account_asset
#: field:asset.asset.report,name:0
@@ -607,7 +607,7 @@ msgstr "要折旧的金额"
#. module: account_asset
#: field:account.asset.asset,name:0
msgid "Asset Name"
-msgstr ""
+msgstr "资产名称"
#. module: account_asset
#: field:account.asset.category,open_asset:0
@@ -662,7 +662,7 @@ msgstr ""
#. module: account_asset
#: field:account.asset.asset,purchase_value:0
msgid "Gross Value"
-msgstr ""
+msgstr "总值"
#. module: account_asset
#: field:account.asset.category,name:0
@@ -708,7 +708,7 @@ msgstr "新建固定资产会计凭证"
#. module: account_asset
#: field:account.asset.depreciation.line,sequence:0
msgid "Sequence"
-msgstr ""
+msgstr "编号"
#. module: account_asset
#: help:account.asset.category,method_period:0
diff --git a/addons/account_asset/wizard/account_asset_change_duration_view.xml b/addons/account_asset/wizard/account_asset_change_duration_view.xml
index 1c7f3458441..bb848e6db5d 100644
--- a/addons/account_asset/wizard/account_asset_change_duration_view.xml
+++ b/addons/account_asset/wizard/account_asset_change_duration_view.xml
@@ -8,12 +8,17 @@
\n"
" "
msgstr ""
+"
\n"
+" Klicken Sie, um einen neuen Scheck erstellen.\n"
+" p>\n"
+" Mit dem Scheck Formular können Sie Zahlungen an Lieferanten "
+"per Scheck \n"
+" anweisen, durchführen und verfolgen. Wenn Sie einen "
+"Lieferanten auswählen, \n"
+" sowie Zahlungsmethode und Betrag , macht OpenERP Ihnen den "
+"Vorschlag, \n"
+" diese Zahlung mit einer offenen Rechnung Ihres Lieferanten "
+"auszugleichen.\n"
+" p>\n"
+" "
#. module: account_check_writing
#: field:account.voucher,allow_check:0
@@ -128,7 +141,7 @@ msgstr "Benutze Vordruck"
#. module: account_check_writing
#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_bottom
msgid "Print Check (Bottom)"
-msgstr ""
+msgstr "Scheck drucken (Unterteil)"
#. module: account_check_writing
#: report:account.print.check.bottom:0
@@ -140,7 +153,7 @@ msgstr "Fälligkeit"
#. module: account_check_writing
#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_middle
msgid "Print Check (Middle)"
-msgstr ""
+msgstr "Scheck drucken (Mittelteil)"
#. module: account_check_writing
#: model:ir.model,name:account_check_writing.model_res_company
@@ -156,7 +169,7 @@ msgstr "Saldenausgleich"
#. module: account_check_writing
#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_top
msgid "Print Check (Top)"
-msgstr ""
+msgstr "Scheck drucken (Oberteil)"
#. module: account_check_writing
#: report:account.print.check.bottom:0
diff --git a/addons/account_followup/__openerp__.py b/addons/account_followup/__openerp__.py
index fc2f17e6a97..dbb4ea6583e 100644
--- a/addons/account_followup/__openerp__.py
+++ b/addons/account_followup/__openerp__.py
@@ -25,7 +25,7 @@
'category': 'Accounting & Finance',
'description': """
Module to automate letters for unpaid invoices, with multi-level recalls.
-==========================================================================
+=========================================================================
You can define your multiple levels of recall through the menu:
---------------------------------------------------------------
diff --git a/addons/account_followup/account_followup.py b/addons/account_followup/account_followup.py
index 3a09707c4b3..17a09d51e6e 100644
--- a/addons/account_followup/account_followup.py
+++ b/addons/account_followup/account_followup.py
@@ -24,7 +24,6 @@ from lxml import etree
from tools.translate import _
-
class followup(osv.osv):
_name = 'account_followup.followup'
_description = 'Account Follow-up'
@@ -74,7 +73,7 @@ class followup_line(osv.osv):
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.
+Would your payment have been carried out after this mail was sent, please ignore this message. Do not hesitate to contact our accounting department.
Best Regards,
""",
@@ -118,12 +117,61 @@ class account_move_line(osv.osv):
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)
+ def _get_followup_table_html(self, cr, uid, res_id, context=None):
+ '''
+ Build the html tables to be included in emails send to partners, when reminding them their
+ overdue invoices.
+ :param res_id: ID of the partner for whom we are building the tables
+ :rtype: string
+ '''
+ from report import account_followup_print
+
+ partner = self.pool.get('res.partner').browse(cr, uid, res_id, context=context)
+ followup_table = ''
+ if partner.unreconciled_aml_ids:
+ company = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id
+ current_date = fields.date.context_today(cr, uid, context)
+ rml_parse = account_followup_print.report_rappel(cr, uid, "followup_rml_parser")
+ final_res = rml_parse._lines_get_with_partner(partner, company.id)
+
+ for currency_dict in final_res:
+ currency = currency_dict.get('line', [{'currency_id': company.currency_id}])[0]['currency_id']
+ followup_table += '''
+
+
+
Invoice date
+
Reference
+
Due date
+
Amount (%s)
+
Lit.
+
+ ''' % (currency.symbol)
+ total = 0
+ for aml in currency_dict['line']:
+ block = aml['blocked'] and 'X' or ' '
+ total += aml['balance']
+ strbegin = "
"
+ strend = "
"
+ date = aml['date_maturity'] or aml['date']
+ if date <= current_date and aml['balance'] > 0:
+ strbegin = "
''' % (total)
+ return followup_table
+
+
+ def render_template(self, cr, uid, template, model, res_id, context=None):
+ if model == 'res.partner' and context.get('followup'):
+ context['followup_table'] = self._get_followup_table_html(cr, uid, res_id, context=context)
+ # 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
+ 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):
@@ -209,32 +257,36 @@ class res_partner(osv.osv):
}
def do_partner_mail(self, cr, uid, partner_ids, context=None):
+ if context is None:
+ context = {}
+ ctx = context.copy()
+ ctx['followup'] = True
#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):
+ for partner in self.browse(cr, uid, partner_ids, context=ctx):
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)
+ mtp.send_mail(cr, uid, level.email_template_id.id, partner.id, context=ctx)
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)
+ mtp.send_mail(cr, uid, mail_template_id[1], partner.id, context=ctx)
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)
+ payment_action_date = min(fields.date.context_today(cr, uid, ctx), partner.payment_next_action_date)
else:
- payment_action_date = fields.date.context_today(cr, uid, context)
+ payment_action_date = fields.date.context_today(cr, uid, ctx)
if partner.payment_next_action:
- payment_next_action = partner.payment_next_action + " + " + action_text
+ payment_next_action = partner.payment_next_action + " \n " + 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)
+ 'payment_next_action': payment_next_action}, context=ctx)
return unknown_mails
def action_done(self, cr, uid, ids, context=None):
@@ -256,21 +308,122 @@ class res_partner(osv.osv):
}
+ def _get_amounts_and_date(self, cr, uid, ids, name, arg, context=None):
+ '''
+ Function that computes values for the followup functional fields. Note that 'payment_amount_due'
+ is similar to 'credit' field on res.partner except it filters on user's company.
+ '''
+ res = {}
+ company = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id
+ current_date = fields.date.context_today(cr, uid, context)
+ for partner in self.browse(cr, uid, ids, context=context):
+ worst_due_date = False
+ amount_due = amount_overdue = 0.0
+ for aml in partner.unreconciled_aml_ids:
+ if (aml.company_id == company):
+ date_maturity = aml.date_maturity or aml.date
+ if not worst_due_date or date_maturity < worst_due_date:
+ worst_due_date = date_maturity
+ amount_due += aml.result
+ if (date_maturity <= current_date):
+ amount_overdue += aml.result
+ res[partner.id] = {'payment_amount_due': amount_due,
+ 'payment_amount_overdue': amount_overdue,
+ 'payment_earliest_due_date': worst_due_date}
+ return res
+
+ def _get_followup_overdue_query(self, cr, uid, args, overdue_only=False, context=None):
+ '''
+ This function is used to build the query and arguments to use when making a search on functional fields
+ * payment_amount_due
+ * payment_amount_overdue
+ Basically, the query is exactly the same except that for overdue there is an extra clause in the WHERE.
+
+ :param args: arguments given to the search in the usual domain notation (list of tuples)
+ :param overdue_only: option to add the extra argument to filter on overdue accounting entries or not
+ :returns: a tuple with
+ * the query to execute as first element
+ * the arguments for the execution of this query
+ :rtype: (string, [])
+ '''
+ company_id = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.id
+ having_where_clause = ' AND '.join(map(lambda x: '(SUM(bal2) %s %%s)' % (x[1]), args))
+ having_values = [x[2] for x in args]
+ query = self.pool.get('account.move.line')._query_get(cr, uid, context=context)
+ overdue_only_str = overdue_only and 'AND date_maturity <= NOW()' or ''
+ return ('''SELECT pid AS partner_id, SUM(bal2) FROM
+ (SELECT CASE WHEN bal IS NOT NULL THEN bal
+ ELSE 0.0 END AS bal2, p.id as pid FROM
+ (SELECT (debit-credit) AS bal, partner_id
+ FROM account_move_line l
+ WHERE account_id IN
+ (SELECT id FROM account_account
+ WHERE type=\'receivable\' AND active)
+ ''' + overdue_only_str + '''
+ AND reconcile_id IS NULL
+ AND company_id = %s
+ AND ''' + query + ''') AS l
+ RIGHT JOIN res_partner p
+ ON p.id = partner_id ) AS pl
+ GROUP BY pid HAVING ''' + having_where_clause, [company_id] + having_values)
+
+ def _payment_overdue_search(self, cr, uid, obj, name, args, context=None):
+ if not args:
+ return []
+ query, query_args = self._get_followup_overdue_query(cr, uid, args, overdue_only=True, context=context)
+ cr.execute(query, query_args)
+ res = cr.fetchall()
+ if not res:
+ return [('id','=','0')]
+ return [('id','in', [x[0] for x in res])]
+
+ def _payment_earliest_date_search(self, cr, uid, obj, name, args, context=None):
+ if not args:
+ return []
+ company_id = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.id
+ having_where_clause = ' AND '.join(map(lambda x: '(MIN(l.date_maturity) %s %%s)' % (x[1]), args))
+ having_values = [x[2] for x in args]
+ query = self.pool.get('account.move.line')._query_get(cr, uid, context=context)
+ cr.execute('SELECT partner_id FROM account_move_line l '\
+ 'WHERE account_id IN '\
+ '(SELECT id FROM account_account '\
+ 'WHERE type=\'receivable\' AND active) '\
+ 'AND l.company_id = %s '
+ 'AND reconcile_id IS NULL '\
+ 'AND '+query+' '\
+ 'AND partner_id IS NOT NULL '\
+ 'GROUP BY partner_id HAVING '+ having_where_clause,
+ [company_id] + having_values)
+ res = cr.fetchall()
+ if not res:
+ return [('id','=','0')]
+ return [('id','in', [x[0] for x in res])]
+
+ def _payment_due_search(self, cr, uid, obj, name, args, context=None):
+ if not args:
+ return []
+ query, query_args = self._get_followup_overdue_query(cr, uid, args, overdue_only=False, context=context)
+ cr.execute(query, query_args)
+ res = cr.fetchall()
+ if not res:
+ return [('id','=','0')]
+ return [('id','in', [x[0] for x in res])]
+
_inherit = "res.partner"
_columns = {
'payment_responsible_id':fields.many2one('res.users', ondelete='set null', string='Follow-up Responsible',
- help="Responsible for making sure the action happens."),
+ help="Optionally you can assign a user to this field, which will make him responsible for the action."),
'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':fields.text('Next Action',
+ help="This is the next action to be taken. It will automatically be set when 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. "),
+ help="This is when the manual follow-up is needed. " \
+ "The date will be set to the current date when the partner gets a follow-up level that requires a manual action. Can be practical to set manually e.g. to see if he keeps his promises."),
'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"),
+ 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",
@@ -281,7 +434,19 @@ class res_partner(osv.osv):
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),
+ 'payment_amount_due':fields.function(_get_amounts_and_date,
+ type='float', string="Amount Due",
+ store = False, multi="followup",
+ fnct_search=_payment_due_search),
+ 'payment_amount_overdue':fields.function(_get_amounts_and_date,
+ type='float', string="Amount Overdue",
+ store = False, multi="followup",
+ fnct_search = _payment_overdue_search),
+ 'payment_earliest_due_date':fields.function(_get_amounts_and_date,
+ type='date',
+ string = "Worst Due Date",
+ multi="followup",
+ fnct_search=_payment_earliest_date_search),
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_followup/account_followup_customers.xml b/addons/account_followup/account_followup_customers.xml
index df703773303..0471eb52fbe 100644
--- a/addons/account_followup/account_followup_customers.xml
+++ b/addons/account_followup/account_followup_customers.xml
@@ -16,7 +16,9 @@
-
+
+
+
@@ -28,10 +30,9 @@
-
+
-
-
+
@@ -43,29 +44,7 @@
-
- Search
- res.partner
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
Manual Follow-Ups
@@ -73,7 +52,7 @@
res.partnerformtree,form
- {}
+ [('payment_amount_due', '>', 0.0)]{'Followupfirst':True, 'search_default_todo': True}
@@ -88,9 +67,9 @@
+ help="Print overdue payments report independent of follow-up line" attrs="{'invisible':[('payment_amount_due', '<=', 0.0)]}" />
+ help="If not specified by the latest follow-up level, it will send from the default email template" attrs="{'invisible':[('payment_amount_due', '<=', 0.0)]}"/>
The , the latest payment follow-up
@@ -105,22 +84,22 @@
help="Click to mark the action as done." class="oe_link"
attrs="{'invisible':[('payment_next_action_date','=', False)]}"
groups="base.group_partner_manager"/>
-
+
-
+
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.
+ customer. You can check "No Follow-up" in
+ order to exclude it from the next follow-up actions.
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.
+contact our accounting department.
- ''' % (currency_symbol)
- total = 0
- for aml in currency_dict['line']:
- block = aml['blocked'] and 'X' or ' '
- total += aml['balance']
- strbegin = "
"
- strend = "
"
- date = aml['date_maturity'] or aml['date']
- if date <= ctx['current_date'] and aml['balance'] > 0:
- strbegin = "
''' % (total)
-%>
-${followup_table}
+${ctx.get('followup_table','')}
@@ -79,72 +46,37 @@ ${followup_table}
- Follow-up of overdue invoices level 1
- ${user.email or ''}
- ${user.company_id.name} Payment Follow-up
- ${object.email}
- ${object.lang}
+ A bit urging second payment follow-up reminder email
+ ${user.email or '' | h}
+ ${user.company_id.name | h} Payment Reminder
+ ${object.email | h}
+ ${object.lang | h}
-
Dear ${object.name},
+
Dear ${object.name | h},
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.
+department. so that we can resolve the matter quickly.
Details of due payments is printed below.
- ''' % (currency_symbol)
- total = 0
- for aml in currency_dict['line']:
- block = aml['blocked'] and 'X' or ' '
- total += aml['balance']
- strbegin = "
"
- strend = "
"
- date = aml['date_maturity'] or aml['date']
- if date <= ctx['current_date'] and aml['balance'] > 0:
- strbegin = "
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.
+In case of any queries concerning this matter, do not hesitate to contact our accounting department.
Best Regards,
-
-${user.name}
-
+
+${user.name | h}
- ''' % (currency_symbol)
- total = 0
- for aml in currency_dict['line']:
- block = aml['blocked'] and 'X' or ' '
- total += aml['balance']
- strbegin = "
"
- strend = "
"
- date = aml['date_maturity'] or aml['date']
- if date <= ctx['current_date'] and aml['balance'] > 0:
- strbegin = "
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.
+contact our accounting department.
Best Regards,
-
-
-${user.name}
-
+
+${user.name | h}
- ''' % (currency_symbol)
- total = 0
- for aml in currency_dict['line']:
- block = aml['blocked'] and 'X' or ' '
- total += aml['balance']
- strbegin = "
"
- strend = "
"
- date = aml['date_maturity'] or aml['date']
- if date <= ctx['current_date'] and aml['balance'] > 0:
- strbegin = "
]]>
-
-
-
-
@@ -319,7 +170,7 @@ 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.
+Would your payment have been carried out after this mail was sent, please ignore this message. Do not hesitate to contact our accounting department.
Best Regards,
@@ -342,15 +193,13 @@ We are disappointed to see that despite sending a reminder, that your account is
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.
+If there is a problem with paying invoice that we are not aware of, do not hesitate to contact our accounting department, so that we can resolve the matter quickly.
Details of due payments is printed below.
Best Regards,
-
-
Call the customer on the phone3
@@ -369,7 +218,7 @@ Unless full payment is made in next 8 days, then legal action for the recovery o
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.
+In case of any queries concerning this matter, do not hesitate to contact our accounting department.
Best Regards,
diff --git a/addons/account_followup/account_followup_demo.xml b/addons/account_followup/account_followup_demo.xml
index 4f22c18857d..0c470f5980e 100644
--- a/addons/account_followup/account_followup_demo.xml
+++ b/addons/account_followup/account_followup_demo.xml
@@ -17,7 +17,7 @@ Unless full payment is made in next 8 days, then legal action for the recovery o
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.
+In case of any queries concerning this matter, do not hesitate to contact our accounting department.
Best Regards,
@@ -39,7 +39,7 @@ Unless full payment is made in next 8 days, then legal action for the recovery o
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.
+In case of any queries concerning this matter, do not hesitate to contact our accounting department.
Best Regards,
diff --git a/addons/account_followup/account_followup_view.xml b/addons/account_followup/account_followup_view.xml
index 1df87feac76..5560ca822dc 100644
--- a/addons/account_followup/account_followup_view.xml
+++ b/addons/account_followup/account_followup_view.xml
@@ -69,7 +69,6 @@
account_followup.followup.formaccount_followup.followup
-
\n"
+" unter der Annahme, dass unsere Konten korrekt gebucht sind, sind "
+"offensichtlich folgende Beträge nicht bezahlt.\n"
+" Bitte nehmen Sie innerhalb der nächsten 8 Tage einen Kontoausgleich "
+"vor.\n"
+"\n"
+" Sollte sich unsere Mahnung mit Ihrer Zahlung überschneiden, betrachten "
+"Sie diesen Vorgang als erledigt.\n"
+" Bitte zögern Sie bei Rückfragen nicht, unsere Finanzabteilung per EMail "
+"oder Telefon zu kontaktieren.\n"
+"\n"
+" \n"
+"Viele Grüsse\n"
+"\n"
+" \n"
+"${user.name}\n"
+"\n"
+" \n"
+" \n"
+"<%\n"
+" from openerp.addons.account_followup.report import "
+"account_followup_print\n"
+" rml_parse = account_followup_print.report_rappel(object._cr, user.id, "
+"\"followup_rml_parser\")\n"
+" final_res = rml_parse._lines_get_with_partner(object, "
+"user.company_id.id)\n"
+" followup_table = ''\n"
+" for currency_dict in final_res:\n"
+" currency_symbol = currency_dict.get('line', [{'currency_id': "
+"user.company_id.currency_id}])[0]['currency_id'].symbol\n"
+" followup_table += '''\n"
+"
\n"
+"
\n"
+"
Rechnungsdatum
\n"
+"
Referenz
\n"
+"
Fällig am
\n"
+"
Betrag (%s)
\n"
+"
EUR
\n"
+"
\n"
+" ''' % (currency_symbol)\n"
+" total = 0\n"
+" for aml in currency_dict['line']:\n"
+" block = aml['blocked'] and 'X' or ' '\n"
+" total += aml['balance']\n"
+" strbegin = \"
\"\n"
+" strend = \"
\"\n"
+" date = aml['date_maturity'] or aml['date']\n"
+" if date <= ctx['current_date'] and aml['balance'] > 0:\n"
+" strbegin = \"
\n"
+" "
#. module: account_followup
#: view:res.partner:0
msgid "Follow-ups to do"
-msgstr ""
+msgstr "Anstehende Mahnungen"
#. module: account_followup
#: field:account_followup.followup,company_id:0
@@ -189,36 +263,52 @@ msgid ""
"Best Regards,\n"
" "
msgstr ""
+"\n"
+"Sehr geehrte(r) %(partner_name)s,\n"
+"\n"
+"trotz verschiedener Zahlungserinnerungen, wurde Ihr Konto bislang nicht "
+"ausgegelichen.\n"
+"\n"
+"Sollte in den nächsten 8 Tagen keine Zahlung eingehen, ergreifen wir ohne "
+"weitere Vorwarnung die erforderlichen Maßnahmen des gesetzlichen "
+"Mahnverfahrens. Voraussichtlich wird dieser Schritt nicht erforderlich sein, "
+"sie sehen alle fälligen Rechnungen in der unteren Liste.\n"
+"\n"
+"Bei weiteren Fragestellungen zu der Rechnung, zögern Sie bitte nicht unsere "
+"Finanzbuchhaltung anzusprechen. \n"
+"\n"
+"Best Regards,\n"
+" "
#. module: account_followup
#: view:account_followup.followup.line:0
msgid "days overdue, do the following actions:"
-msgstr ""
+msgstr "bei fällig, tun Sie folgendes:"
#. module: account_followup
#: view:account_followup.followup.line:0
msgid "Follow-up Steps"
-msgstr ""
+msgstr "Mahnstufen"
#. module: account_followup
#: field:account_followup.print,email_body:0
msgid "Email Body"
-msgstr ""
+msgstr "Text der E-Mail"
#. module: account_followup
#: help:res.partner,payment_responsible_id:0
msgid "Responsible for making sure the action happens."
-msgstr ""
+msgstr "Verantwortlicher Mitarbeiter für die Durchführung"
#. module: account_followup
#: view:res.partner:0
msgid "Overdue amount"
-msgstr ""
+msgstr "Überfälliger Betrag"
#. module: account_followup
#: model:ir.actions.act_window,name:account_followup.action_account_followup_print
msgid "Send Follow-Ups"
-msgstr ""
+msgstr "Sende Mahnungen"
#. module: account_followup
#: report:account_followup.followup.print:0
@@ -228,7 +318,7 @@ msgstr "Betrag"
#. module: account_followup
#: view:res.partner:0
msgid "No Responsible"
-msgstr ""
+msgstr "Kein Verantwortlicher"
#. module: account_followup
#: view:account_followup.stat.by.partner:0
@@ -243,12 +333,12 @@ msgstr "Gesamt Soll"
#. module: account_followup
#: field:res.partner,payment_next_action:0
msgid "Next Action"
-msgstr ""
+msgstr "Nächste Aktion"
#. module: account_followup
#: view:account_followup.followup.line:0
msgid ": Partner Name"
-msgstr ""
+msgstr ": Partner Name"
#. module: account_followup
#: view:account_followup.followup:0
@@ -283,12 +373,12 @@ msgstr "Datum:"
#. module: account_followup
#: view:res.partner:0
msgid "I am responsible"
-msgstr ""
+msgstr "Ich bin verantwortlich"
#. module: account_followup
#: sql_constraint:account_followup.followup:0
msgid "Only one follow-up per company is allowed"
-msgstr ""
+msgstr "Es ist nur ein Mahnverfahren je Unternehmen zulässig"
#. module: account_followup
#: model:account_followup.followup.line,description:account_followup.demo_followup_line4
@@ -311,11 +401,33 @@ msgid ""
"Best Regards,\n"
" "
msgstr ""
+"\n"
+"Sehr geehrte(r) %(partner_name)s,\n"
+"\n"
+"trotz mehrerer Mahnungen, ist Ihr Konto leider immer noch nicht "
+"ausgeglichen.\n"
+"\n"
+"Sofern keine vollständige Bezahlung innerhalb der nächsten 8 Tage "
+"vorgenommen wird, \n"
+"werden wir unsererseits die erforderlichen rechtlichen Schritte für das "
+"gesetzliche\n"
+"Mahnverfahren ohne weitere Ankündigung in die Wege leiten.\n"
+"\n"
+"Wir sind zuversichtlich, dass diese Aktion nicht erforderlich sein wird. "
+"Sämtliche Details der \n"
+"fälligen Rechnungen sind in diesem Schreiben aufgelistet.\n"
+"\n"
+"Bei Fragen zu dieser Angelegenheit, zögern Sie bitte nicht, unsere "
+"Buchhaltung unter #\n"
+"(+49) 4471 840 9000 zu kontaktieren.\n"
+"\n"
+"Freundliche Grüsse\n"
+" "
#. module: account_followup
#: help:account_followup.followup.line,send_letter:0
msgid "When processing, it will print a letter"
-msgstr ""
+msgstr "Bei Verarbeitung wird ein Anschreiben gedruckt"
#. module: account_followup
#: view:account_followup.stat:0
@@ -325,22 +437,22 @@ msgstr "Kein Verzug"
#. module: account_followup
#: view:res.partner:0
msgid "Without responsible"
-msgstr ""
+msgstr "Ohne Verantwortlichen"
#. module: account_followup
#: view:account_followup.print:0
msgid "Send emails and generate letters"
-msgstr ""
+msgstr "Sende Emails und erstelle Anschreiben"
#. module: account_followup
#: model:ir.actions.act_window,name:account_followup.action_customer_followup
msgid "Manual Follow-Ups"
-msgstr ""
+msgstr "Manuelle Mahnung"
#. module: account_followup
#: view:account_followup.followup.line:0
msgid "%(partner_name)s"
-msgstr ""
+msgstr "%(partner_name)s"
#. module: account_followup
#: field:account_followup.stat,debit:0
@@ -350,17 +462,17 @@ msgstr "Forderung"
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_followup_stat
msgid "Follow-up Statistics"
-msgstr ""
+msgstr "Statistik Mahnungen"
#. module: account_followup
#: view:res.partner:0
msgid "Send Overdue Email"
-msgstr ""
+msgstr "Sende fällige Rechnungen"
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_followup_followup_line
msgid "Follow-up Criteria"
-msgstr ""
+msgstr "Mahnkriterien"
#. module: account_followup
#: help:account_followup.followup.line,sequence:0
@@ -373,34 +485,34 @@ msgstr ""
#: code:addons/account_followup/wizard/account_followup_print.py:166
#, python-format
msgid " will be sent"
-msgstr ""
+msgstr " wird gesendet"
#. module: account_followup
#: view:account_followup.followup.line:0
msgid ": User's Company Name"
-msgstr ""
+msgstr ": Benutzer Unternehmen"
#. module: account_followup
#: view:account_followup.followup.line:0
#: field:account_followup.followup.line,send_letter:0
msgid "Send a Letter"
-msgstr ""
+msgstr "Sende Anschreiben"
#. module: account_followup
#: model:ir.actions.act_window,name:account_followup.action_account_followup_definition_form
msgid "Payment Follow-ups"
-msgstr ""
+msgstr "Mahnwesen"
#. module: account_followup
#: field:account_followup.followup.line,delay:0
msgid "Due Days"
-msgstr ""
+msgstr "Zahlungsverzug"
#. module: account_followup
#: code:addons/account_followup/wizard/account_followup_print.py:155
#, python-format
msgid "Nobody"
-msgstr ""
+msgstr "Niemand"
#. module: account_followup
#: field:account.move.line,followup_line_id:0
@@ -417,12 +529,12 @@ msgstr "Letzte Erinnerung"
#: model:ir.actions.act_window,name:account_followup.action_account_manual_reconcile_receivable
#: model:ir.ui.menu,name:account_followup.menu_manual_reconcile_followup
msgid "Reconcile Invoices & Payments"
-msgstr ""
+msgstr "Ausgleich Rechnungen & Zahlungen"
#. module: account_followup
#: model:ir.ui.menu,name:account_followup.account_followup_s
msgid "Do Manual Follow-Ups"
-msgstr ""
+msgstr "Erstelle händische Mahnung"
#. module: account_followup
#: report:account_followup.followup.print:0
@@ -432,17 +544,17 @@ msgstr "Limit"
#. module: account_followup
#: field:account_followup.print,email_conf:0
msgid "Send Email Confirmation"
-msgstr ""
+msgstr "Sende Email Bestätigung"
#. module: account_followup
#: view:res.partner:0
msgid "Print Overdue Payments"
-msgstr ""
+msgstr "Drucke fällige Zahlungen"
#. module: account_followup
#: field:account_followup.stat.by.partner,date_followup:0
msgid "Latest follow-up"
-msgstr ""
+msgstr "Letzte Mahnung"
#. module: account_followup
#: field:account_followup.print,partner_lang:0
@@ -453,13 +565,13 @@ msgstr "Sende EMail in Sprache d. Partners"
#: code:addons/account_followup/wizard/account_followup_print.py:169
#, python-format
msgid " email(s) sent"
-msgstr ""
+msgstr " gesendete Email(s)"
#. module: account_followup
#: 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 "Drucke Erinnerungen & Sende Emails"
#. module: account_followup
#: model:account_followup.followup.line,description:account_followup.demo_followup_line1
@@ -499,17 +611,17 @@ msgstr "gedruckte Mitteilung"
#. module: account_followup
#: field:res.partner,latest_followup_level_id_without_lit:0
msgid "Latest Follow-up Level without litigation"
-msgstr ""
+msgstr "Letzte Mahnstufe vor Mahnverfahren"
#. module: account_followup
#: view:res.partner:0
msgid "Partners with Credits"
-msgstr ""
+msgstr "Kunden mit Guthaben"
#. module: account_followup
#: help:account_followup.followup.line,send_email:0
msgid "When processing, it will send an email"
-msgstr ""
+msgstr "Bei Durchführung wird Email gesendet"
#. module: account_followup
#: view:account_followup.stat.by.partner:0
@@ -519,7 +631,7 @@ msgstr "Zu erinnernde Partner"
#. module: account_followup
#: view:res.partner:0
msgid "Print overdue payments report independent of follow-up line"
-msgstr ""
+msgstr "Drucke fällige Zahlungen ohne Mahnstufe"
#. module: account_followup
#: field:account_followup.followup.line,followup_id:0
@@ -531,12 +643,12 @@ msgstr "Mahnungen"
#: code:addons/account_followup/account_followup.py:227
#, python-format
msgid "Email not sent because of email address of partner not filled in"
-msgstr ""
+msgstr "Email wurde aufgrund fehlender Mailadresse nicht gesendet"
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_followup_followup
msgid "Account Follow-up"
-msgstr ""
+msgstr "Mahnwesen"
#. module: account_followup
#: help:res.partner,payment_next_action_date:0
@@ -545,11 +657,15 @@ msgid ""
"the current date if the action fields are empty and the partner gets a "
"follow-up level that requires a manual action. "
msgstr ""
+"Folgendermassen können Sie eine weitere Mahnung schreiben. Tragen Sie das "
+"aktuelle Datum ein und lassen Sie alle weiteren Felder unausgefüllt damit "
+"der Partner hierdurch eine Mahnstufe erhält, die eine manuelle Aktion "
+"erfordert. "
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_followup_sending_results
msgid "Results from the sending of the different letters and emails"
-msgstr ""
+msgstr "Ergebnis der Versendung von Anschreiben und EMails"
#. module: account_followup
#: constraint:account_followup.followup.line:0
@@ -564,12 +680,12 @@ msgstr ""
#: code:addons/account_followup/wizard/account_followup_print.py:172
#, python-format
msgid " manual action(s) assigned:"
-msgstr ""
+msgstr " manuell zugewiesene Aktion:"
#. module: account_followup
#: view:res.partner:0
msgid "Search Partner"
-msgstr ""
+msgstr "Suche Partner"
#. module: account_followup
#: view:res.partner:0
@@ -580,32 +696,38 @@ msgid ""
" order to not include it in the next payment\n"
" follow-ups."
msgstr ""
+"Unten sehen Sie die Vorgangshistorie für diesen \n"
+" Kunden. Einer Rechnung kann zugewiesen werden, "
+"daß Sie per\n"
+" gesetzlichem Mahnverfahren weiter verfolgt "
+"wird, um weitere\n"
+" Versendungen von Mahnungen zu vermeiden."
#. module: account_followup
#: model:ir.ui.menu,name:account_followup.account_followup_print_menu
msgid "Send Letters and Emails"
-msgstr ""
+msgstr "Sende Mahnschreiben und Emails"
#. module: account_followup
#: view:account_followup.followup:0
msgid "Search Follow-up"
-msgstr ""
+msgstr "Suche Mahnungen"
#. module: account_followup
#: view:res.partner:0
msgid "Account Move line"
-msgstr ""
+msgstr "Buchungszeile"
#. module: account_followup
#: code:addons/account_followup/wizard/account_followup_print.py:240
#, python-format
msgid "Send Letters and Emails: Actions Summary"
-msgstr ""
+msgstr "Versende Mahnschreiben und Emails: Zusammenfassung"
#. module: account_followup
#: view:account_followup.print:0
msgid "or"
-msgstr ""
+msgstr "oder"
#. module: account_followup
#: field:account_followup.stat,blocked:0
@@ -615,17 +737,17 @@ msgstr "Abgewiesen"
#. module: account_followup
#: sql_constraint:account_followup.followup.line:0
msgid "Days of the follow-up levels must be different"
-msgstr ""
+msgstr "Tage der Mahnstufen müssen verschieden sein"
#. module: account_followup
#: view:res.partner:0
msgid "Click to mark the action as done."
-msgstr ""
+msgstr "Klicken Sie um Aktion abzuschließen"
#. module: account_followup
#: model:ir.ui.menu,name:account_followup.menu_action_followup_stat_follow
msgid "Follow-Ups Analysis"
-msgstr ""
+msgstr "Statistik Mahnungen"
#. module: account_followup
#: help:account_followup.print,date:0
@@ -643,7 +765,7 @@ msgstr "Datum für Versand der Mahnung(en)"
#. module: account_followup
#: field:res.partner,payment_responsible_id:0
msgid "Follow-up Responsible"
-msgstr ""
+msgstr "Verantwortlich für Mahnung"
#. module: account_followup
#: report:account_followup.followup.print:0
@@ -659,12 +781,12 @@ msgstr "Erinnerung an zu zahlende Rechnungen"
#. module: account_followup
#: model:ir.ui.menu,name:account_followup.account_followup_menu
msgid "Follow-up Levels"
-msgstr ""
+msgstr "Mahnstufen"
#. module: account_followup
#: view:res.partner:0
msgid "Future Follow-ups"
-msgstr ""
+msgstr "Zukünftige Mahnungen"
#. module: account_followup
#: view:account_followup.followup:0
@@ -678,11 +800,19 @@ msgid ""
"certain\n"
" amount of days."
msgstr ""
+"Um Kunden an die Zahlung Ihrer offenen Rechnungen zu erinnern, können Sie\n"
+" je nach Fristüberschreitung unterschiedliche "
+"Mahnaktionen auslösen .\n"
+" Diese werden zusammengefasst in verschiedenen "
+"Mahnstufen,\n"
+" die in Abhängigkeit Ihres maximalen Verzugs bei "
+"Überschreitung\n"
+" ausgelöst werden."
#. module: account_followup
#: view:account_followup.stat:0
msgid "Follow-up Entries with period in current year"
-msgstr ""
+msgstr "Mahnungen mit Rechnung aus diesem Jahr"
#. module: account_followup
#: field:account.move.line,followup_date:0
@@ -692,24 +822,24 @@ msgstr "Letzte Mahnung"
#. module: account_followup
#: view:account_followup.sending.results:0
msgid "Download Letters"
-msgstr ""
+msgstr "Herunterladen Abschreiben"
#. module: account_followup
#: field:account_followup.print,company_id:0
#: field:res.partner,unreconciled_aml_ids:0
msgid "unknown"
-msgstr ""
+msgstr "unbekannt"
#. module: account_followup
#: code:addons/account_followup/account_followup.py:245
#, python-format
msgid "Printed overdue payments report"
-msgstr ""
+msgstr "Druck überfällige Zahlungen"
#. module: account_followup
#: model:ir.model,name:account_followup.model_email_template
msgid "Email Templates"
-msgstr ""
+msgstr "EMail Vorlagen"
#. module: account_followup
#: help:account_followup.followup.line,manual_action:0
@@ -717,18 +847,20 @@ msgid ""
"When processing, it will set the manual action to be taken for that "
"customer. "
msgstr ""
+"Bei Durchführung wird das manuelle Verfahren für diesen Kunden vorgeschlagen "
#. module: account_followup
#: code:addons/account_followup/wizard/account_followup_print.py:171
#, python-format
msgid " email(s) should have been sent, but "
-msgstr ""
+msgstr " EMail(s) sollten ausgetauscht werden, aber "
#. module: account_followup
#: help:account_followup.print,test_print:0
msgid ""
"Check if you want to print follow-ups without changing follow-ups level."
msgstr ""
+"Möchten Sie Ausdrucke von Mahnungen ohne Wechsel der Stufe generieren."
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_move_line
@@ -743,12 +875,12 @@ msgstr "Summe:"
#. module: account_followup
#: field:account_followup.followup.line,email_template_id:0
msgid "Email Template"
-msgstr ""
+msgstr "EMail Vorlage"
#. module: account_followup
#: view:account_followup.followup.line:0
msgid "%(user_signature)s"
-msgstr ""
+msgstr "%(user_signature)s"
#. module: account_followup
#: model:ir.model,name:account_followup.model_res_company
@@ -764,7 +896,7 @@ msgstr "Zusammenfassung"
#: view:account_followup.followup.line:0
#: field:account_followup.followup.line,send_email:0
msgid "Send an Email"
-msgstr ""
+msgstr "Sende eine Email"
#. module: account_followup
#: model:account_followup.followup.line,description:account_followup.demo_followup_line2
@@ -790,6 +922,25 @@ msgid ""
"Best Regards,\n"
" "
msgstr ""
+"\n"
+"Sehr geehrte(r) %partner_name,\n"
+"\n"
+"wir haben mit Enttäuschung feststellen müssen, dass trotz erfolgter Mahnung, "
+"Ihr Konto weiterhin überfällig ist.\n"
+"\n"
+"Es ist in Ihrem eigenen Interesse sehr wichtig, dass die sofortige Zahlung "
+"erfolgt, sonst müssen wir in Betracht ziehen, \n"
+"dass wir nicht mehr in der Lage sein werden, Ihr Unternehmen mit Waren / "
+"Dienstleistungen zu beliefern. Bitte ergreifen Sie \n"
+"geeignete Maßnahmen, um die Durchführung dieser Zahlung in den nächsten 8 "
+"Tagen vorzunehmen.\n"
+"\n"
+"Wenn es ein Problem mit der Zahlung der Rechnung gibt, die uns aktuell nicht "
+"bewusst ist, zögern Sie bitte nicht, unsere Buchhaltung unter (+49) 4471 "
+"8409000 zu kontaktieren. damit wir die Angelegenheit schnell lösen können.\n"
+"\n"
+"Details fälliger Zahlungen werden dann weiter unten gedruckt.\n"
+" "
#. module: account_followup
#: report:account_followup.followup.print:0
@@ -874,6 +1025,82 @@ msgid ""
"\n"
" "
msgstr ""
+"\n"
+"
\n"
+" \n"
+"
Sehr geehrte(r) ${object.name},
\n"
+"
\n"
+" Vorbehaltlich eines Fehler unsererseits, sind offensichtlich die "
+"folgenden Beträge noch nicht bezahlt. \n"
+"Bitte ergreifen Sie geeignete Maßnahmen Ihrerseits, um die entsprechenden "
+"Zahlungen innerhalb der nächsten \n"
+"8 Tage anzuweisen. Sollte sich diese EMail mit Ihrer Bezahlung zeitlich "
+"überschneiden, ignorieren Sie bitte diese Nachricht. \n"
+"Zögern Sie bei Rückfragen bitte auch nicht, unsere Buchhaltung unter (+49) "
+"4471 8409000 zu kontaktieren.\n"
+"
\n"
+" ''' % (currency_symbol)\n"
+" total = 0\n"
+" for aml in currency_dict['line']:\n"
+" block = aml['blocked'] and 'X' or ' '\n"
+" total += aml['balance']\n"
+" strbegin = \"
\"\n"
+" strend = \"
\"\n"
+" date = aml['date_maturity'] or aml['date']\n"
+" if date <= ctx['current_date'] and aml['balance'] > 0:\n"
+" strbegin = \"
\n"
+" "
#. module: account_followup
#: help:res.partner,latest_followup_level_id_without_lit:0
@@ -881,12 +1108,14 @@ msgid ""
"The maximum follow-up level without taking into account the account move "
"lines with litigation"
msgstr ""
+"Die höchstmögliche Mahnstufe, ohne dass die Rechnung dem gesetzlichen "
+"Mahnverfahren übergeben wird."
#. module: account_followup
#: view:account_followup.stat:0
#: field:res.partner,latest_followup_date:0
msgid "Latest Follow-up Date"
-msgstr ""
+msgstr "Letzte Mahnung"
#. module: account_followup
#: model:email.template,body_html:account_followup.email_template_account_followup_level1
@@ -970,6 +1199,88 @@ msgid ""
"\n"
" "
msgstr ""
+"\n"
+"
\n"
+" \n"
+"
Sehr geehrte(r) ${object.name},
\n"
+"
\n"
+" \t Wir sind enttäuscht, dass trotz Mahnung, Ihr Konto immer noch "
+"überfällige Rechnungen ausweist.\n"
+"\n"
+"Es ist wichtig, dass die sofortige Zahlung erfolgt, sonst müssen wir in "
+"Betracht ziehen, Ihr Kundenkonto zu sperren, \n"
+"wodurch wir dann leider gezwungen sind, Ihr Unternehmen vorerst nicht mehr "
+"mit Waren / Dienstleistungen zu \n"
+"beliefern. Bitte ergreifen Sie geeignete Maßnahmen, um eine Zahlung in den "
+"nächsten 8 Tagen durchzuführen.\n"
+"\n"
+"Wenn es ein Problem mit der Zahlung der Rechnung(en) gibt, die uns nicht "
+"bekannt ist, zögern Sie nicht, \n"
+"unsere Buchhaltung unter (+49) 4471 8409000 zu kontaktieren, damit wir die "
+"Angelegenheit lösen können.\n"
+"\n"
+"Details zu den fälligen Zahlungen finden Sie unten.\n"
+"
\n"
+" ''' % (currency_symbol)\n"
+" total = 0\n"
+" for aml in currency_dict['line']:\n"
+" block = aml['blocked'] and 'X' or ' '\n"
+" total += aml['balance']\n"
+" strbegin = \"
\"\n"
+" strend = \"
\"\n"
+" date = aml['date_maturity'] or aml['date']\n"
+" if date <= ctx['current_date'] and aml['balance'] > 0:\n"
+" strbegin = \"
\n"
+" Es wurden keine Buchungsbelege in diesem Journal "
+"gefunden.\n"
+"
\n"
+" "
#. module: account_followup
#: view:account.move.line:0
@@ -1144,12 +1464,12 @@ msgstr "Partnereinträge"
#. module: account_followup
#: view:account_followup.stat:0
msgid "Follow-up lines"
-msgstr ""
+msgstr "Mahnpositionen"
#. module: account_followup
#: field:account_followup.followup.line,manual_action_responsible_id:0
msgid "Assign a Responsible"
-msgstr ""
+msgstr "Zuweisen eines Verantwortlichen"
#. module: account_followup
#: view:account_followup.print:0
@@ -1157,6 +1477,9 @@ msgid ""
"This action will send follow-up emails, print the letters and\n"
" set the manual actions per customers."
msgstr ""
+"Hierdurch werden Mahnungen als EMails versendet, Anschreiben ausgedruckt und "
+"die manuell zu\n"
+"bearbeiteten Mahnungen der Kunden ausgelöst."
#. module: account_followup
#: help:account_followup.print,partner_lang:0
@@ -1179,6 +1502,14 @@ msgid ""
"installed\n"
" using to top right icon."
msgstr ""
+"Schreiben Sie hier eine allgemeingültige Einführung,\n"
+" in Abhängigkeit von der Mahnstufe. Sie können "
+"dabei\n"
+" die folgenden Schlüsselwörter verwenden. "
+"Vergessen Sie\n"
+" allerdings dann nicht alle Sprachen, die Sie "
+"verwenden, mit Hilfe\n"
+" des oberen rechten Knopfs zu installierenn."
#. module: account_followup
#: view:account_followup.stat:0
@@ -1194,7 +1525,7 @@ msgstr "Name"
#. module: account_followup
#: field:res.partner,latest_followup_level_id:0
msgid "Latest Follow-up Level"
-msgstr ""
+msgstr "Letzte Mahnstufe"
#. module: account_followup
#: field:account_followup.stat,date_move:0
@@ -1205,18 +1536,18 @@ msgstr "Erste Zahlung:"
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_followup_stat_by_partner
msgid "Follow-up Statistics by Partner"
-msgstr ""
+msgstr "Statistik Mahnwesen nach Partner"
#. module: account_followup
#: code:addons/account_followup/wizard/account_followup_print.py:172
#, python-format
msgid " letter(s) in report"
-msgstr ""
+msgstr " Geschäftsformulare Ansicht"
#. module: account_followup
#: view:res.partner:0
msgid "Customer Followup"
-msgstr ""
+msgstr "Kunden Historie"
#. module: account_followup
#: model:ir.actions.act_window,help:account_followup.action_account_followup_definition_form
@@ -1232,6 +1563,17 @@ msgid ""
" \n"
" "
msgstr ""
+"p class = \"oe_view_nocontent_create\">\n"
+" Klicken Sie, um zu definieren Follow-up Ebenen und die "
+"damit verbundenen Aktionen.\n"
+" p>\n"
+" Für jeden Schritt fest, welche Aktionen ergriffen werden "
+"und verzögern in Tagen. es ist\n"
+" möglich, Print-und E-Mail-Vorlagen verwenden, um bestimmte "
+"Nachrichten zu senden\n"
+" der Kunde.\n"
+" p>\n"
+" "
#. module: account_followup
#: model:email.template,body_html:account_followup.email_template_account_followup_level2
@@ -1312,6 +1654,83 @@ msgid ""
"\n"
" "
msgstr ""
+"\n"
+"
\n"
+" \n"
+"
Sehr geehrte(r) ${object.name},
\n"
+"
\n"
+" Trotz mehrerer Mahnungen, ist Ihr Konto immer noch nicht ausgeglichen.\n"
+"Sofern keine vollständige Bezahlung in den nächsten 8 Tagen vorgenommen "
+"wird, werden wir \n"
+"weitere rechtliche Schritte ohne weitere Ankündigung in die Wege leiten. "
+"Wir sind zuversichtlich, \n"
+"dass diese Aktion unnötig ist. Sollten Ihrerseits zu diesem Zeitpunkt "
+"weitere Detailfragen zu diesem \n"
+"Thema auftreten, zögern Sie bitte nicht, unsere Buchhaltung unter (+49) "
+"4471 8409000 \n"
+"zu kontaktieren.\n"
+"
\n"
+" ''' % (currency_symbol)\n"
+" total = 0\n"
+" for aml in currency_dict['line']:\n"
+" block = aml['blocked'] and 'X' or ' '\n"
+" total += aml['balance']\n"
+" strbegin = \"
\"\n"
+" strend = \"
\"\n"
+" date = aml['date_maturity'] or aml['date']\n"
+" if date <= ctx['current_date'] and aml['balance'] > 0:\n"
+" strbegin = \"
\n"
+" "
#. module: account_followup
#: help:res.partner,payment_next_action:0
@@ -1320,6 +1739,11 @@ msgid ""
"set when the action fields are empty and the partner gets a follow-up level "
"that requires a manual action. "
msgstr ""
+"Dies ist die nächste Aktion, die durch den Anwender getroffen werden muss. "
+"Die Aktion wird jetzt automatisch so eingestellt, \r\n"
+"dass erst wenn die Aktion Felder leer sind und der Partner eine automatische "
+"Mahnstufe erhält, ein manueller Eingriff \r\n"
+"erforderlich sein wird. "
#. module: account_followup
#: code:addons/account_followup/wizard/account_followup_print.py:166
@@ -1330,12 +1754,12 @@ msgstr ""
#. module: account_followup
#: view:res.partner:0
msgid "The"
-msgstr ""
+msgstr "Der"
#. module: account_followup
#: view:account_followup.print:0
msgid "Send follow-ups"
-msgstr ""
+msgstr "Sende Mahnungen"
#. module: account_followup
#: view:account.move.line:0
@@ -1350,7 +1774,7 @@ msgstr "Punkte"
#. module: account_followup
#: view:res.partner:0
msgid "Follow-ups To Do"
-msgstr ""
+msgstr "To-Do Liste Mahnungen"
#. module: account_followup
#: report:account_followup.followup.print:0
@@ -1368,7 +1792,7 @@ msgstr ""
#. module: account_followup
#: help:res.partner,latest_followup_date:0
msgid "Latest date that the follow-up level of the partner was changed"
-msgstr ""
+msgstr "Letztes Änderung der Mahnstufe"
#. module: account_followup
#: field:account_followup.print,test_print:0
@@ -1378,22 +1802,22 @@ msgstr "Testdruck"
#. module: account_followup
#: view:res.partner:0
msgid "Search view"
-msgstr ""
+msgstr "Suche Ansicht"
#. module: account_followup
#: view:account_followup.followup.line:0
msgid ": User Name"
-msgstr ""
+msgstr ": Benutzer Name"
#. module: account_followup
#: view:res.partner:0
msgid "Accounting"
-msgstr ""
+msgstr "Finanzbuchhaltung"
#. module: account_followup
#: field:res.partner,payment_note:0
msgid "Customer Payment Promise"
-msgstr ""
+msgstr "Kundenzahlung Versprechen"
#~ msgid "All payable entries"
#~ msgstr "Alle offenen Posten"
diff --git a/addons/account_followup/i18n/nl.po b/addons/account_followup/i18n/nl.po
index c4a52167a46..c7cdc088578 100644
--- a/addons/account_followup/i18n/nl.po
+++ b/addons/account_followup/i18n/nl.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
-"PO-Revision-Date: 2012-12-04 17:33+0000\n"
-"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n"
+"PO-Revision-Date: 2012-12-09 18:16+0000\n"
+"Last-Translator: Harjan Talen \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-12-05 05:19+0000\n"
-"X-Generator: Launchpad (build 16335)\n"
+"X-Launchpad-Export-Date: 2012-12-10 04:37+0000\n"
+"X-Generator: Launchpad (build 16341)\n"
#. module: account_followup
#: view:account_followup.followup.line:0
@@ -287,7 +287,7 @@ msgstr "Ik ben verantwoordelijk"
#. module: account_followup
#: sql_constraint:account_followup.followup:0
msgid "Only one follow-up per company is allowed"
-msgstr ""
+msgstr "Per bedrijf is één betalingsherinnering mogelijk"
#. module: account_followup
#: model:account_followup.followup.line,description:account_followup.demo_followup_line4
@@ -310,6 +310,21 @@ msgid ""
"Best Regards,\n"
" "
msgstr ""
+"\n"
+"Geachte %(partner_name)s,\n"
+"\n"
+"Ondanks herhaaldelijk verzoek is onze vordering nog niet voldaan.\n"
+"\n"
+"Wanneer de volledige betaling niet binnen 8 dagen wordt voldaan zijn wij "
+"genoodzaakt verdere stappen te ondernemen zonder vermelding vooraf.\n"
+"\n"
+"Wij gaan er vanuit dat dit echter niet noodzakelijk zal zijn. Onderstaand "
+"een overzicht van de openstaande posten.\n"
+"\n"
+"Wanneer u vragen op opmerkingen hierover heeft dan horen wij dat graag.\n"
+"\n"
+"Met vriendelijke groet,\n"
+" "
#. module: account_followup
#: help:account_followup.followup.line,send_letter:0
@@ -496,17 +511,17 @@ msgstr "Afgedrukt bericht"
#. module: account_followup
#: field:res.partner,latest_followup_level_id_without_lit:0
msgid "Latest Follow-up Level without litigation"
-msgstr ""
+msgstr "Laatste herinnering voor het incasso-traject."
#. module: account_followup
#: view:res.partner:0
msgid "Partners with Credits"
-msgstr ""
+msgstr "Relaties met openstaande facturen"
#. module: account_followup
#: help:account_followup.followup.line,send_email:0
msgid "When processing, it will send an email"
-msgstr ""
+msgstr "Bij verwerking wordt een e-mail verzonden"
#. module: account_followup
#: view:account_followup.stat.by.partner:0
@@ -517,6 +532,7 @@ msgstr "Relatie voor betalingsherinnering"
#: view:res.partner:0
msgid "Print overdue payments report independent of follow-up line"
msgstr ""
+"Druk overzicht openstaande posten af ongeacht status betalingsherinneringen."
#. module: account_followup
#: field:account_followup.followup.line,followup_id:0
@@ -614,7 +630,7 @@ msgstr "Geblokkeerd"
#. module: account_followup
#: sql_constraint:account_followup.followup.line:0
msgid "Days of the follow-up levels must be different"
-msgstr ""
+msgstr "De dagen van de herinnerings-niveau's moeten van elkaar verschillen"
#. module: account_followup
#: view:res.partner:0
@@ -703,7 +719,7 @@ msgstr "onbekend"
#: code:addons/account_followup/account_followup.py:245
#, python-format
msgid "Printed overdue payments report"
-msgstr ""
+msgstr "Druk het rapport achterstallige betalingen af"
#. module: account_followup
#: model:ir.model,name:account_followup.model_email_template
diff --git a/addons/account_followup/i18n/pt.po b/addons/account_followup/i18n/pt.po
index a41462e57b6..234b3bf1191 100644
--- a/addons/account_followup/i18n/pt.po
+++ b/addons/account_followup/i18n/pt.po
@@ -7,20 +7,20 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
-"PO-Revision-Date: 2010-12-16 00:03+0000\n"
-"Last-Translator: OpenERP Administrators \n"
+"PO-Revision-Date: 2012-12-07 10:43+0000\n"
+"Last-Translator: Andrei Talpa (multibase.pt) \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-12-04 05:19+0000\n"
-"X-Generator: Launchpad (build 16335)\n"
+"X-Launchpad-Export-Date: 2012-12-08 04:58+0000\n"
+"X-Generator: Launchpad (build 16341)\n"
#. module: account_followup
#: view:account_followup.followup.line:0
#: field:account_followup.followup.line,manual_action:0
msgid "Manual Action"
-msgstr ""
+msgstr "Ação manual"
#. module: account_followup
#: help:res.partner,latest_followup_level_id:0
@@ -30,7 +30,7 @@ msgstr ""
#. module: account_followup
#: view:res.partner:0
msgid "Group by"
-msgstr ""
+msgstr "Agrupar por"
#. module: account_followup
#: view:account_followup.stat:0
@@ -398,7 +398,7 @@ msgstr ""
#: code:addons/account_followup/wizard/account_followup_print.py:155
#, python-format
msgid "Nobody"
-msgstr ""
+msgstr "Ninguém"
#. module: account_followup
#: field:account.move.line,followup_line_id:0
diff --git a/addons/account_followup/i18n/zh_CN.po b/addons/account_followup/i18n/zh_CN.po
index bde6e33ac6f..e2184129bf8 100644
--- a/addons/account_followup/i18n/zh_CN.po
+++ b/addons/account_followup/i18n/zh_CN.po
@@ -7,61 +7,61 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
-"PO-Revision-Date: 2012-11-30 12:07+0000\n"
-"Last-Translator: ccdos \n"
+"PO-Revision-Date: 2012-12-09 04:57+0000\n"
+"Last-Translator: sum1201 \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-12-04 05:20+0000\n"
-"X-Generator: Launchpad (build 16335)\n"
+"X-Launchpad-Export-Date: 2012-12-10 04:37+0000\n"
+"X-Generator: Launchpad (build 16341)\n"
#. module: account_followup
#: view:account_followup.followup.line:0
#: field:account_followup.followup.line,manual_action:0
msgid "Manual Action"
-msgstr ""
+msgstr "手动操作"
#. module: account_followup
#: help:res.partner,latest_followup_level_id:0
msgid "The maximum follow-up level"
-msgstr ""
+msgstr "最大跟踪级别"
#. module: account_followup
#: view:res.partner:0
msgid "Group by"
-msgstr ""
+msgstr "分组"
#. module: account_followup
#: view:account_followup.stat:0
#: view:res.partner:0
msgid "Group By..."
-msgstr "分组..."
+msgstr "基于...分组"
#. module: account_followup
#: field:account_followup.print,followup_id:0
msgid "Follow-Up"
-msgstr "催款"
+msgstr "后续跟进"
#. module: account_followup
#: view:account_followup.followup.line:0
msgid "%(date)s"
-msgstr ""
+msgstr "%(日期)"
#. module: account_followup
#: field:res.partner,payment_next_action_date:0
msgid "Next Action Date"
-msgstr ""
+msgstr "下次活动日期"
#. module: account_followup
#: field:account_followup.sending.results,needprinting:0
msgid "Needs Printing"
-msgstr ""
+msgstr "需要印刷"
#. module: account_followup
#: view:res.partner:0
msgid "⇾ Mark as Done"
-msgstr ""
+msgstr "标记为完成"
#. module: account_followup
#: field:account_followup.followup.line,manual_action_note:0
@@ -192,7 +192,7 @@ msgstr ""
#. module: account_followup
#: view:account_followup.followup.line:0
msgid "days overdue, do the following actions:"
-msgstr ""
+msgstr "天过期,做下列动作:"
#. module: account_followup
#: view:account_followup.followup.line:0
@@ -207,12 +207,12 @@ msgstr "电子邮件正文"
#. module: account_followup
#: help:res.partner,payment_responsible_id:0
msgid "Responsible for making sure the action happens."
-msgstr ""
+msgstr "负责确保动作发生。"
#. module: account_followup
#: view:res.partner:0
msgid "Overdue amount"
-msgstr ""
+msgstr "逾期金额"
#. module: account_followup
#: model:ir.actions.act_window,name:account_followup.action_account_followup_print
@@ -242,12 +242,12 @@ msgstr "借方合计"
#. module: account_followup
#: field:res.partner,payment_next_action:0
msgid "Next Action"
-msgstr ""
+msgstr "下个行动日期"
#. module: account_followup
#: view:account_followup.followup.line:0
msgid ": Partner Name"
-msgstr ""
+msgstr ":伙伴名称"
#. module: account_followup
#: view:account_followup.followup:0
@@ -334,7 +334,7 @@ msgstr ""
#. module: account_followup
#: model:ir.actions.act_window,name:account_followup.action_customer_followup
msgid "Manual Follow-Ups"
-msgstr ""
+msgstr "手动跟进"
#. module: account_followup
#: view:account_followup.followup.line:0
@@ -354,7 +354,7 @@ msgstr "催款统计"
#. module: account_followup
#: view:res.partner:0
msgid "Send Overdue Email"
-msgstr ""
+msgstr "过期邮件发送"
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_followup_followup_line
@@ -370,7 +370,7 @@ msgstr "输入序列用于显示催款列表"
#: code:addons/account_followup/wizard/account_followup_print.py:166
#, python-format
msgid " will be sent"
-msgstr ""
+msgstr " 将被发送"
#. module: account_followup
#: view:account_followup.followup.line:0
diff --git a/addons/account_followup/report/account_followup_print.py b/addons/account_followup/report/account_followup_print.py
index 90dd5969d53..f101aeaa369 100644
--- a/addons/account_followup/report/account_followup_print.py
+++ b/addons/account_followup/report/account_followup_print.py
@@ -25,6 +25,8 @@ import pooler
from report import report_sxw
class report_rappel(report_sxw.rml_parse):
+ _name = "account_followup.report.rappel"
+
def __init__(self, cr, uid, name, context=None):
super(report_rappel, self).__init__(cr, uid, name, context=context)
self.localcontext.update({
@@ -79,7 +81,6 @@ class report_rappel(report_sxw.rml_parse):
final_res.append({'line': line_cur[cur]['line']})
return final_res
-
def _get_text(self, stat_line, followup_id, context=None):
if context is None:
context = {}
@@ -108,7 +109,6 @@ class report_rappel(report_sxw.rml_parse):
'company_name': stat_line.company_id.name,
'user_signature': pooler.get_pool(self.cr.dbname).get('res.users').browse(self.cr, self.uid, self.uid, context).signature or '',
}
-
return text
report_sxw.report_sxw('report.account_followup.followup.print',
diff --git a/addons/account_followup/tests/test_account_followup.py b/addons/account_followup/tests/test_account_followup.py
index c46977bd6b5..4495ffa6469 100644
--- a/addons/account_followup/tests/test_account_followup.py
+++ b/addons/account_followup/tests/test_account_followup.py
@@ -108,7 +108,7 @@ class TestAccountFollowup(TransactionCase):
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)])
+ ids = self.partner.search(cr, uid, [('payment_amount_due', '>=', 0.0)])
self.assertIn(self.partner_id, ids)
def test_04_action_done(self):
@@ -153,7 +153,6 @@ class TestAccountFollowup(TransactionCase):
}, 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.assertEqual(0, self.partner.browse(cr, uid, self.partner_id).payment_amount_due, "Amount Due != 0")
self.assertFalse(self.partner.browse(cr, uid, self.partner_id).payment_next_action_date, "Next action date not cleared")
-
\ No newline at end of file
+
diff --git a/addons/account_followup/wizard/account_followup_print.py b/addons/account_followup/wizard/account_followup_print.py
index db93b3c63a8..3f8bba1830f 100644
--- a/addons/account_followup/wizard/account_followup_print.py
+++ b/addons/account_followup/wizard/account_followup_print.py
@@ -152,7 +152,7 @@ class account_followup_print(osv.osv_memory):
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")
+ key = partner.partner_id.payment_responsible_id.name or _("Anybody")
if not key in manuals.keys():
manuals[key]= 1
else:
@@ -198,15 +198,12 @@ class account_followup_print(osv.osv_memory):
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)
+
+ partners_to_clear = []
+ for part in self.pool.get('res.partner').browse(cr, uid, ids, context=context):
+ if not part.unreconciled_aml_ids:
+ partners_to_clear.append(part.id)
+ self.pool.get('res.partner').action_done(cr, uid, partners_to_clear, context=context)
return len(ids)
def do_process(self, cr, uid, ids, context=None):
diff --git a/addons/account_followup/wizard/account_followup_print_view.xml b/addons/account_followup/wizard/account_followup_print_view.xml
index 29f36522d05..62943330d63 100644
--- a/addons/account_followup/wizard/account_followup_print_view.xml
+++ b/addons/account_followup/wizard/account_followup_print_view.xml
@@ -13,7 +13,7 @@
This action will send follow-up emails, print the letters and
- set the manual actions per customers.
+ set the manual actions per customer, according to the follow-up levels defined.