[MERGE] merged trunk.

bzr revid: vmt@openerp.com-20121210111654-0pm3pupnqqeip52n
This commit is contained in:
Vo Minh Thu 2012-12-10 12:16:54 +01:00
commit 6072fd11af
346 changed files with 17885 additions and 5501 deletions

View File

@ -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',

View File

@ -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'),

View File

@ -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):
@ -1159,7 +1162,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')
@ -1208,7 +1211,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))

View File

@ -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.'))

View File

@ -1549,10 +1549,8 @@
<field name="model">account.payment.term.line</field>
<field name="arch" type="xml">
<tree string="Payment Term">
<field name="sequence"/>
<field name="name"/>
<field name="value"/>
<field name="value_amount"/>
<field name="value_amount" attrs="{'readonly':[('value','=','balance')]}"/>
<field name="days"/>
<field name="days2"/>
</tree>
@ -1563,37 +1561,20 @@
<field name="model">account.payment.term.line</field>
<field name="arch" type="xml">
<form string="Payment Term" version="7.0">
<group>
<field name="name"/>
<field name="sequence"/>
</group>
<group>
<group string="Amount Computation">
<field name="value"/>
<field name="value_amount" attrs="{'readonly':[('value','=','balance')]}"/>
<field name="value"/>
<label for="value_amount" string="Amount To Pay" attrs="{'invisible':[('value','=','balance')]}"/>
<div attrs="{'invisible':[('value','=','balance')]}">
<field name="value_amount" class="oe_inline"/>
<label string="%%" class="oe_inline" attrs="{'invisible':['!',('value','=','procent')]}" />
</div>
</group>
<group string="Due Date Computation">
<field name="days"/>
<field name="days2"/>
</group>
</group>
<separator string="Example"/>
<label string="At 14 net days 2 percent, remaining amount at 30 days end of month."/>
<group>
<label string="Line 1:" colspan="2"/>
<label string=" Valuation: Percent"/>
<label string=" Number of Days: 14"/>
<label string=" Value amount: 0.02"/>
<label string=" Day of the Month: 0"/>
</group>
<group>
<label string="Line 2:" colspan="2"/>
<label string=" Valuation: Balance"/>
<label string=" Number of Days: 30"/>
<label string=" Value amount: n.a"/>
<label string=" Day of the Month= -1"/>
</group>
</form>
</field>
</record>
@ -1616,7 +1597,7 @@
<field name="name"/>
<field name="active"/>
</group>
<field name="note" placeholder="Note for the invoice..."/>
<field name="note" placeholder="Payment term explanation for the customer..."/>
<separator string="Computation"/>
<field name="line_ids"/>
</form>

View File

@ -10,17 +10,33 @@
<!--
Payment term
-->
<record id="account_payment_term" model="account.payment.term">
<field name="name">30 Days End of Month</field>
<field name="note">30 Days End of Month</field>
<record id="account_payment_term_immediate" model="account.payment.term">
<field name="name">Immediate Payment</field>
<field name="note">Immediate Payment</field>
</record>
<record id="account_payment_term_line" model="account.payment.term.line">
<field name="name">30 Days End of Month</field>
<record id="account_payment_term_line_immediate" model="account.payment.term.line">
<field name="name">Immediate Payment</field>
<field name="value">balance</field>
<field eval="30" name="days"/>
<field eval="-1" name="days2"/>
<field eval="account_payment_term" name="payment_id"/>
<field eval="0" name="days"/>
<field eval="0" name="days2"/>
<field eval="account_payment_term_immediate" name="payment_id"/>
</record>
<record id="account_payment_term_15days" model="account.payment.term">
<field name="name">15 Days</field>
<field name="note">15 Days</field>
</record>
<record id="account_payment_term_line_15days" model="account.payment.term.line">
<field name="name">15 Days</field>
<field name="value">balance</field>
<field eval="15" name="days"/>
<field eval="0" name="days2"/>
<field eval="account_payment_term_15days" name="payment_id"/>
</record>
<record forcecreate="True" id="decimal_payment" model="decimal.precision">
<field name="name">Payment Term</field>
<field name="digits">6</field>
@ -30,6 +46,7 @@
<field name="name">30 Net Days</field>
<field name="note">30 Net Days</field>
</record>
<record id="account_payment_term_line_net" model="account.payment.term.line">
<field name="name">30 Net Days</field>
<field name="value">balance</field>
@ -37,28 +54,7 @@
<field eval="0" name="days2"/>
<field eval="account_payment_term_net" name="payment_id"/>
</record>
<record id="account_payment_term_advance" model="account.payment.term">
<field name="name">30% Advance End 30 Days</field>
<field name="note">30% Advance End 30 Days</field>
</record>
<record id="account_payment_term_line_advance1" model="account.payment.term.line">
<field name="name">30% Advance</field>
<field name="value">procent</field>
<field eval="3" name="sequence"/>
<field eval="0.300000" name="value_amount"/>
<field eval="0" name="days"/>
<field eval="0" name="days2"/>
<field eval="account_payment_term_advance" name="payment_id"/>
</record>
<record id="account_payment_term_line_advance2" model="account.payment.term.line">
<field name="name">Remaining Balance</field>
<field name="value">balance</field>
<field eval="30" name="days"/>
<field eval="-1" name="days2"/>
<field eval="account_payment_term_advance" name="payment_id"/>
</record>
<!--
Account Journal Sequences
-->

View File

@ -127,6 +127,41 @@
<field eval="time.strftime('%Y')+'-12-31'" name="date_stop"/>
<field name="company_id" ref="base.main_company"/>
</record>
<!-- Payment Term -->
<record id="account_payment_term" model="account.payment.term">
<field name="name">30 Days End of Month</field>
<field name="note">30 Days End of Month</field>
</record>
<record id="account_payment_term_line" model="account.payment.term.line">
<field name="name">30 Days End of Month</field>
<field name="value">balance</field>
<field eval="30" name="days"/>
<field eval="-1" name="days2"/>
<field eval="account_payment_term" name="payment_id"/>
</record>
<record id="account_payment_term_advance" model="account.payment.term">
<field name="name">30% Advance End 30 Days</field>
<field name="note">30% Advance End 30 Days</field>
</record>
<record id="account_payment_term_line_advance1" model="account.payment.term.line">
<field name="name">30% Advance</field>
<field name="value">procent</field>
<field eval="3" name="sequence"/>
<field eval="0.300000" name="value_amount"/>
<field eval="0" name="days"/>
<field eval="0" name="days2"/>
<field eval="account_payment_term_advance" name="payment_id"/>
</record>
<record id="account_payment_term_line_advance2" model="account.payment.term.line">
<field name="name">Remaining Balance</field>
<field name="value">balance</field>
<field eval="30" name="days"/>
<field eval="-1" name="days2"/>
<field eval="account_payment_term_advance" name="payment_id"/>
</record>
<record id="base.user_demo" model="res.users">
<field name="groups_id" eval="[(4,ref('account.group_account_user'))]"/>

View File

@ -29,8 +29,9 @@
<field name="auto_delete" eval="True"/>
<field name="report_template" ref="account_invoices"/>
<field name="report_name">Invoice_${(object.number or '').replace('/','_')}_${object.state == 'draft' and 'draft' or ''}</field>
<field name="lang">${object.partner_id.lang}</field>
<field name="body_html"><![CDATA[
<div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, 255, 255); ">
<div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: #FFF; ">
<p>Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name or ''},</p>
@ -49,7 +50,7 @@
% endif
</p>
% 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 @@
<br/>
<br/>
<div style="width: 375px; margin: 0px; padding: 0px; background-color: #8E0000; border-top-left-radius: 5px 5px; border-top-right-radius: 5px 5px; background-repeat: repeat no-repeat;">
<h3 style="margin: 0px; padding: 2px 14px; font-size: 12px; color: #FFF;">
<h3 style="margin: 0px; padding: 2px 14px; font-size: 12px; color: #DDD;">
<strong style="text-transform:uppercase;">${object.company_id.name}</strong></h3>
</div>
<div style="width: 347px; margin: 0px; padding: 5px 14px; line-height: 16px; background-color: #F2F2F2;">

View File

@ -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-05 22:09+0000\n"
"PO-Revision-Date: 2012-12-08 10:58+0000\n"
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
"consulting.net>\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-06 04:40+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
@ -9891,7 +9898,7 @@ msgstr "Gültig ab"
#. module: account
#: field:account.cashbox.line,pieces:0
msgid "Unit of Currency"
msgstr ""
msgstr "Währungseinheit"
#. module: account
#: code:addons/account/account.py:3137
@ -10019,6 +10026,16 @@ msgid ""
"related journal entries may or may not be reconciled. \n"
"* The 'Cancelled' status is used when user cancel invoice."
msgstr ""
" * Der \"Entwurf\"-Status wird verwendet, wenn ein Benutzer eine Rechnung "
"erstellt, aber noch nicht gebucht hat.\n"
"* Der \"Pro-forma\" Status wird nach dessen Auswahl angezeigt, es wird aber "
"noch keine Rechnungsnummer vergeben. \n"
"* Die Rechnung ist im \"Offen\" Status, wenn Sie gebucht wurde, dadurch eine "
"Rechnungsnummer bekommen hat, aber noch nicht vom Kunden bezahlt wurde. \n"
"* Der\"Bezahlt\"-Status wird automatisch vergeben, wenn die offene Rechnung "
"vom Kunden bezahlt wurde.\n"
"* Eine Anzeige im \"Abgebrochen\"-Status erfolgt immer dann, wenn die "
"Rechnung storniert wurde."
#. module: account
#: field:account.period,date_stop:0
@ -10038,7 +10055,7 @@ msgstr "Finanz Reports"
#. module: account
#: model:account.account.type,name:account.account_type_liability_view1
msgid "Liability View"
msgstr ""
msgstr "Passiva Ansicht"
#. module: account
#: report:account.account.balance:0
@ -10086,7 +10103,7 @@ msgstr "Firmenreferenzen Partner"
#. module: account
#: view:account.invoice:0
msgid "Ask Refund"
msgstr ""
msgstr "Gutschrift anfragen"
#. module: account
#: view:account.move.line:0
@ -10127,12 +10144,12 @@ msgstr "Forderungskonten"
#. module: account
#: field:account.config.settings,purchase_refund_sequence_prefix:0
msgid "Supplier credit note sequence"
msgstr ""
msgstr "Nummernfolge Lieferantengutschrift"
#. module: account
#: field:account.config.settings,purchase_sequence_next:0
msgid "Next supplier invoice number"
msgstr ""
msgstr "Nächste Eingangsrechnung"
#. module: account
#: help:account.config.settings,module_account_payment:0
@ -10144,6 +10161,12 @@ msgid ""
"payments.\n"
" This installs the module account_payment."
msgstr ""
"Sie können Zahlungsaufträge erstellen und verwalten , um\n"
"                     * diese als Grundlage für externe Erweiterungen zur "
"Automatisierung von Zahlungen zu nutzen. \n"
"                     * dadurch den Rechnungsausgleich von Lieferanten und "
"andere Kreditoren durchzuführen.\n"
"                 Es erfolgt eine Installation des Moduls account_payment."
#. module: account
#: xsl:account.transfer:0
@ -10162,6 +10185,7 @@ msgstr "Bankauszüge"
#, python-format
msgid "To reconcile the entries company should be the same for all entries."
msgstr ""
"Das Unternehmen sollte für alle auszugleichenden Buchungen identisch sein."
#. module: account
#: field:account.account,balance:0
@ -10241,7 +10265,7 @@ msgstr "Filter nach"
#: field:account.cashbox.line,number_closing:0
#: field:account.cashbox.line,number_opening:0
msgid "Number of Units"
msgstr ""
msgstr "Stückzahl"
#. module: account
#: model:process.node,note:account.process_node_manually0
@ -10266,12 +10290,12 @@ msgstr "Buchung"
#: code:addons/account/wizard/account_period_close.py:51
#, python-format
msgid "Invalid Action!"
msgstr ""
msgstr "Diese Aktion ist fehlerhaft!"
#. module: account
#: view:account.bank.statement:0
msgid "Date / Period"
msgstr ""
msgstr "Datum / Periode"
#. module: account
#: report:account.central.journal:0
@ -10421,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
@ -10464,7 +10490,7 @@ msgstr "Fälligkeitsdatum"
#: code:addons/account/account.py:1459
#, python-format
msgid " Centralisation"
msgstr ""
msgstr " Zusammenfassung"
#. module: account
#: help:account.journal,type:0
@ -10548,7 +10574,7 @@ msgstr "Rechnungsentwürfe"
#: view:cash.box.in:0
#: model:ir.actions.act_window,name:account.action_cash_box_in
msgid "Put Money In"
msgstr ""
msgstr "Zahle Geld ein"
#. module: account
#: selection:account.account.type,close_method:0
@ -10609,7 +10635,7 @@ msgstr "Abrechnen von Analyt. Buchungen"
#. module: account
#: view:account.installer:0
msgid "Configure your Fiscal Year"
msgstr ""
msgstr "Konfiguration Geschäftsjahr"
#. module: account
#: field:account.period,name:0
@ -10623,6 +10649,8 @@ msgid ""
"Selected invoice(s) cannot be cancelled as they are already in 'Cancelled' "
"or 'Done' state."
msgstr ""
"Die ausgewählten Rechnungen können im Status \"abgebrochen\" oder "
"\"bezahlt\" nicht mehr storniert werden."
#. module: account
#: report:account.analytic.account.quantity_cost_ledger:0
@ -10657,6 +10685,10 @@ msgid ""
"some non legal fields or you must unconfirm the journal entry first.\n"
"%s."
msgstr ""
"Sie können keine Änderung bereits erfolgter Buchungen vornehmen. Lediglich "
"unkritische Informationen können ohne weiteres geändert werden, ansonsten "
"ist zunächst die zugrunde liegende Buchung zu stornieren.\n"
"%s."
#. module: account
#: help:account.config.settings,module_account_budget:0
@ -10667,6 +10699,15 @@ msgid ""
"analytic account.\n"
" This installs the module account_budget."
msgstr ""
"Definieren Sie Ihre Kostenstellen und budgetieren Sie die dort relevanten "
"Erfolgskonten.\n"
"                 Sobald Sie die Vorlagen für Ihre anstehenden "
"Budgetplanungen erstellt haben ,\n"
"                 können Ihre verantwortlichen Projektmanager die geplante "
"Beträge für Ihre Kostenstellen\n"
" differenziert nach Erfolgs- und Kostenkonten aufteilen.\n"
"                 Zu diesem Zweck installieren Sie hier das Modul "
"account_budget."
#. module: account
#: help:res.partner,property_account_payable:0
@ -10721,12 +10762,12 @@ msgstr "Haben"
#. module: account
#: view:account.invoice:0
msgid "Draft Invoice "
msgstr ""
msgstr "Entwurf Rechnung "
#. module: account
#: selection:account.invoice.refund,filter_refund:0
msgid "Cancel: create credit note and reconcile"
msgstr ""
msgstr "Abbrechen: Erstelle Gutschrift und Ausgleich"
#. module: account
#: model:ir.ui.menu,name:account.menu_account_general_journal
@ -10742,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
@ -10827,7 +10868,7 @@ msgstr "Gewinn & Verlust Übertrag"
#: code:addons/account/account_invoice.py:368
#, python-format
msgid "There is no Sale/Purchase Journal(s) defined."
msgstr ""
msgstr "Es wurde noch kein Journal für Verkauf / Einkauf angelegt."
#. module: account
#: view:account.move.line.reconcile.select:0
@ -10905,7 +10946,7 @@ msgstr "Kontotyp"
#. module: account
#: field:account.subscription.generate,date:0
msgid "Generate Entries Before"
msgstr ""
msgstr "Buchungspositionen vorab erstellen"
#. module: account
#: model:ir.actions.act_window,name:account.action_subscription_form_running
@ -11005,6 +11046,8 @@ msgstr "Status"
#: help:product.template,property_account_income:0
msgid "This account will be used to value outgoing stock using sale price."
msgstr ""
"Dieses Konto wird für abgehende Bestände mit dem Verkaufspreis bewertet und "
"gebucht."
#. module: account
#: field:account.invoice,check_total:0
@ -11027,12 +11070,12 @@ msgstr "Bruttobetrag"
#: code:addons/account/wizard/account_invoice_refund.py:109
#, python-format
msgid "Cannot %s draft/proforma/cancel invoice."
msgstr ""
msgstr "Entwurf / Proforma / Abgebrochen Rechnungen können nicht %s werden."
#. module: account
#: field:account.tax,account_analytic_paid_id:0
msgid "Refund Tax Analytic Account"
msgstr ""
msgstr "Kostenstelle für Steuer der Gutschrift"
#. module: account
#: view:account.move.bank.reconcile:0
@ -11099,7 +11142,7 @@ msgstr "Fälligkeitsdatum"
#: field:cash.box.in,name:0
#: field:cash.box.out,name:0
msgid "Reason"
msgstr ""
msgstr "Begründung"
#. module: account
#: selection:account.partner.ledger,filter:0
@ -11157,7 +11200,7 @@ msgstr "Konten ohne Buchung? "
#: code:addons/account/account_move_line.py:1046
#, python-format
msgid "Unable to change tax!"
msgstr ""
msgstr "Eine Änderung der Steuer ist nicht möglich"
#. module: account
#: constraint:account.bank.statement:0
@ -11189,6 +11232,9 @@ msgid ""
"customer. The tool search can also be used to personalise your Invoices "
"reports and so, match this analysis to your needs."
msgstr ""
"Durch diesen Bericht erhalten Sie einen Überblick über die Abrechnungen "
"Ihrer Kunden. Das Suche + Filter Tool kann zur weiteren auf Ihre Bedürfnisse "
"angepassten Analyse angepasst werden."
#. module: account
#: view:account.partner.reconcile.process:0
@ -11209,7 +11255,7 @@ msgstr "Status der Rechnung ist 'Erledigt'"
#. module: account
#: field:account.config.settings,module_account_followup:0
msgid "Manage customer payment follow-ups"
msgstr ""
msgstr "Verwalten Sie Zahlungserinnerungen"
#. module: account
#: model:ir.model,name:account.model_report_account_sales
@ -11285,7 +11331,7 @@ msgstr "Debitoren"
#: code:addons/account/account_move_line.py:776
#, python-format
msgid "Already reconciled."
msgstr ""
msgstr "Bereits ausgeglichen."
#. module: account
#: selection:account.model.line,date_maturity:0
@ -11361,6 +11407,7 @@ msgstr "Gruppiere je Monat des Rechnungsdatums"
#, python-format
msgid "There is no income account defined for this product: \"%s\" (id:%d)."
msgstr ""
"Es wurde kein Ertragskonto für dieses Produkt definiert: \"%s\" (Kürzel: %d)."
#. module: account
#: model:ir.actions.act_window,name:account.action_aged_receivable_graph
@ -11423,6 +11470,8 @@ msgid ""
"The selected unit of measure is not compatible with the unit of measure of "
"the product."
msgstr ""
"Die ausgewählte Mengeneinheit ist nicht mit derjenigen für das Produkt "
"kompatibel."
#. module: account
#: view:account.fiscal.position:0
@ -11446,6 +11495,17 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
"                 Klicken Sie um neue Steuern zu definieren.\n"
"               </ p>\n"
"                 Je nach Land, ist eine Steuer in der Regel ein Wert in "
"Ihrer \n"
"                 Umsatzsteuererklärung. OpenERP ermöglicht die Definition\n"
"                 von Steuerstrukturen, damit sämtliche Steuerberechnungen \n"
" und Buchungen dann in einer oder mehrerer Positionen für \n"
" die Voranmeldung bzw. Steuererklärung auftauchen.\n"
"               </ p>\n"
" "
#. module: account
#: selection:account.entries.report,month:0
@ -11472,6 +11532,22 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
"                 Wählen Sie Periode und Journal für Ihre Buchungen.\n"
"               </ p>\n"
"                 Diese Ansicht kann von Wirtschaftsprüfern und "
"Steuerberatern genutzt werden, \n"
" um schnellstmöglich Buchungen in OpenERP von außen "
"einzugeben. Wenn Sie eine \n"
" Lieferantenrechnung erfassen, beginnen Sie normalerweise "
"mit der Eingabe des \n"
" Aufwandskontos für eine Rechnung. OpenERP wird Ihnen aus "
"dem Kontext des\n"
" Produkts dann automatisch eine Steuer vorschlagen sowie das "
"Gegenkonto für die \n"
" \"Kreditoren\".\n"
"               </ p>\n"
" "
#. module: account
#: help:account.invoice.line,account_id:0
@ -11481,7 +11557,7 @@ msgstr "Aufwand- und Erlöskonto des Produktes"
#. module: account
#: view:account.config.settings:0
msgid "Install more chart templates"
msgstr ""
msgstr "Installieren Sie weitere Kontenpläne"
#. module: account
#: report:account.general.journal:0
@ -11529,6 +11605,8 @@ msgid ""
"You cannot remove/deactivate an account which is set on a customer or "
"supplier."
msgstr ""
"Sie können keine Konten deaktivieren, die bereits einem Kunden oder "
"Lieferanten zugewiesen wurden."
#. module: account
#: model:ir.model,name:account.model_validate_account_move_lines
@ -11540,6 +11618,8 @@ msgstr "Verbuche Buchungszeilen"
msgid ""
"The fiscal position will determine taxes and accounts used for the partner."
msgstr ""
"Die Steuerzuordnung steuert die zu benutzenden Steuern und Konten für den "
"Partner."
#. module: account
#: model:process.node,note:account.process_node_supplierpaidinvoice0
@ -11573,6 +11653,7 @@ msgstr "Manuelle Berechnung Steuer"
#, python-format
msgid "The payment term of supplier does not have a payment term line."
msgstr ""
"Die Zahlungsbedingung für die Lieferantenrechnung hat keine Zahlungsposition."
#. module: account
#: field:account.account,parent_right:0
@ -11585,7 +11666,7 @@ msgstr "Oberkonto Rechts"
#: code:addons/account/static/src/js/account_move_reconciliation.js:80
#, python-format
msgid "Never"
msgstr ""
msgstr "Niemals"
#. module: account
#: model:ir.model,name:account.model_account_addtmpl_wizard
@ -11606,7 +11687,7 @@ msgstr "Partner"
#. module: account
#: field:account.account,note:0
msgid "Internal Notes"
msgstr ""
msgstr "Interne Hinweise"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_fiscalyear
@ -11639,7 +11720,7 @@ msgstr "Buchungsvorlage"
#: code:addons/account/account_cash_statement.py:292
#, python-format
msgid "Loss"
msgstr ""
msgstr "Verlust"
#. module: account
#: selection:account.entries.report,month:0
@ -11665,7 +11746,7 @@ msgstr ""
#: view:account.bank.statement:0
#: help:account.cashbox.line,number_closing:0
msgid "Closing Unit Numbers"
msgstr ""
msgstr "Abschluss Bankauszug"
#. module: account
#: field:account.bank.accounts.wizard,bank_account_id:0
@ -11731,7 +11812,7 @@ msgstr ""
#. module: account
#: selection:account.config.settings,tax_calculation_rounding_method:0
msgid "Round per line"
msgstr ""
msgstr "Runden per Zeile"
#. module: account
#: help:account.move.line,amount_residual_currency:0

View File

@ -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 "
"<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 "
#. 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

File diff suppressed because it is too large Load Diff

View File

@ -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) <Unknown>\n"
"PO-Revision-Date: 2012-12-09 19:02+0000\n"
"Last-Translator: Erwin van der Ploeg (Endian Solutions) <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-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 ""
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
" Klik om een bankafschrift te registreren.\n"
" </p><p>\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"
" </p><p>\n"
" Met OpenERP kunt u de bankafschriften direct afletteren\n"
" met de gerelateerde in- en verkoopfacturen.\n"
" </p>\n"
" "
#. module: account
#: field:account.config.settings,currency_id:0
@ -2381,7 +2399,7 @@ msgstr "Afsluiten boekjaar"
#: code:addons/account/static/src/xml/account_move_line_quickadd.xml:14
#, python-format
msgid "Journal :"
msgstr ""
msgstr "Dagboek:"
#. module: account
#: sql_constraint:account.fiscal.position.tax:0
@ -7290,7 +7308,7 @@ msgstr "Behoud het balans +/- teken"
#: model:ir.actions.report.xml,name:account.account_vat_declaration
#: model:ir.ui.menu,name:account.menu_account_vat_declaration
msgid "Taxes Report"
msgstr "Belastingen rapport"
msgstr "BTW aangifte"
#. module: account
#: selection:account.journal.period,state:0
@ -10658,7 +10676,7 @@ msgstr "Vervaldatum"
#: field:cash.box.in,name:0
#: field:cash.box.out,name:0
msgid "Reason"
msgstr ""
msgstr "Reden"
#. module: account
#: selection:account.partner.ledger,filter:0
@ -10839,7 +10857,7 @@ msgstr "Debiteuren"
#: code:addons/account/account_move_line.py:776
#, python-format
msgid "Already reconciled."
msgstr ""
msgstr "Al afgeletterd"
#. module: account
#: selection:account.model.line,date_maturity:0
@ -11138,7 +11156,7 @@ msgstr "Rechts bovenliggende"
#: code:addons/account/static/src/js/account_move_reconciliation.js:80
#, python-format
msgid "Never"
msgstr ""
msgstr "Nooit"
#. module: account
#: model:ir.model,name:account.model_account_addtmpl_wizard
@ -11159,7 +11177,7 @@ msgstr "Relaties"
#. module: account
#: field:account.account,note:0
msgid "Internal Notes"
msgstr ""
msgstr "Interne notities"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_fiscalyear
@ -11192,7 +11210,7 @@ msgstr "Administratiemodel"
#: code:addons/account/account_cash_statement.py:292
#, python-format
msgid "Loss"
msgstr ""
msgstr "Verlies"
#. module: account
#: selection:account.entries.report,month:0

View File

@ -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-11-01 18:30+0000\n"
"PO-Revision-Date: 2012-12-10 00:34+0000\n"
"Last-Translator: Dusan Laznik <laznik@mentis.si>\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:25+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
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
@ -386,7 +386,7 @@ msgstr ""
#: view:account.invoice.report:0
#: field:account.invoice.report,user_id:0
msgid "Salesperson"
msgstr ""
msgstr "Prodajalec"
#. module: account
#: model:ir.model,name:account.model_account_tax_template
@ -452,7 +452,7 @@ msgstr ""
#: code:addons/account/static/src/xml/account_move_line_quickadd.xml:8
#, python-format
msgid "Period :"
msgstr ""
msgstr "Obdobje:"
#. module: account
#: field:account.account.template,chart_template_id:0
@ -1108,7 +1108,7 @@ msgstr "Oznaka"
#. module: account
#: view:account.config.settings:0
msgid "Features"
msgstr ""
msgstr "Možnosti"
#. module: account
#: code:addons/account/account.py:2293
@ -1189,7 +1189,7 @@ msgstr ""
#. module: account
#: view:account.invoice:0
msgid "Refund "
msgstr ""
msgstr "Dobropis "
#. module: account
#: help:account.config.settings,company_footer:0
@ -1329,7 +1329,7 @@ msgstr "Izhodna tečajna lista"
#. module: account
#: field:account.config.settings,chart_template_id:0
msgid "Template"
msgstr ""
msgstr "Predloga"
#. module: account
#: selection:account.analytic.journal,type:0
@ -1542,7 +1542,7 @@ msgstr "Konto terjatev"
#: code:addons/account/account.py:767
#, python-format
msgid "%s (copy)"
msgstr ""
msgstr "%s (kopija)"
#. module: account
#: selection:account.balance.report,display_account:0
@ -1611,7 +1611,7 @@ msgstr "Preskoči stanje \"Osnutek\" za ročno vnašanje"
#: code:addons/account/wizard/account_report_common.py:159
#, python-format
msgid "Not implemented."
msgstr ""
msgstr "Ni vgrajeno."
#. module: account
#: view:account.invoice.refund:0
@ -1698,7 +1698,7 @@ msgstr "Neobdavčeno"
#. module: account
#: view:account.journal:0
msgid "Advanced Settings"
msgstr ""
msgstr "Napredne nastavitve"
#. module: account
#: view:account.bank.statement:0

View File

@ -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 16:27+0000\n"
"Last-Translator: ccdos <ccdos@163.com>\n"
"PO-Revision-Date: 2012-12-09 04:42+0000\n"
"Last-Translator: sum1201 <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-05 05:20+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
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
@ -104,6 +104,8 @@ msgid ""
"Error!\n"
"You cannot create recursive account templates."
msgstr ""
"错误!\n"
"您不能创建重复的帐户模板。"
#. module: account
#. openerp-web
@ -192,6 +194,12 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
"点击添加一个会计期间.\n"
"</p><p>\n"
"会计期间通常是一个月或一个季度。它通常对应纳税申报的期间。\n"
"</p>\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
@ -1137,7 +1145,7 @@ msgstr "科目名称"
#. module: account
#: field:account.journal,with_last_closing_balance:0
msgid "Opening With Last Closing Balance"
msgstr "用末期的期终余额打开"
msgstr "用上个期末余额作期初"
#. module: account
#: help:account.tax.code,notprintable: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
@ -1959,7 +1967,7 @@ msgstr "Pending Accounts"
#. module: account
#: view:account.open.closed.fiscalyear:0
msgid "Cancel Fiscal Year Opening Entries"
msgstr ""
msgstr "取消财务年度未结案分录"
#. module: account
#: report:account.journal.period.print.sale.purchase:0
@ -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

View File

@ -135,18 +135,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')]

View File

@ -4,6 +4,7 @@
<record id="product_normal_form_view" model="ir.ui.view">
<field name="name">product.normal.form.inherit</field>
<field name="model">product.product</field>
<field name="priority">5</field>
<field name="inherit_id" ref="product.product_normal_form_view"/>
<field name="arch" type="xml">
<notebook position="inside">

View File

@ -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

View File

@ -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,

View File

@ -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):

View File

@ -40,7 +40,7 @@
</group>
</group>
<footer>
<button string='Create Credit Note' name="invoice_refund" type="object" class="oe_highlight"/>
<button string='Create Refund' name="invoice_refund" type="object" class="oe_highlight"/>
or
<button string="Cancel" class="oe_link" special="cancel"/>
</footer>

View File

@ -23,6 +23,7 @@ import time
from lxml import etree
from openerp.osv import fields, osv
from openerp.osv.orm import setup_modifiers
from openerp.tools.translate import _
class account_common_report(osv.osv_memory):
@ -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

View File

@ -8,19 +8,19 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-11-24 02:51+0000\n"
"PO-Revision-Date: 2011-01-17 00:02+0000\n"
"PO-Revision-Date: 2012-12-09 19:38+0000\n"
"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
"Language-Team: Croatian <hr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-11-25 06:28+0000\n"
"X-Generator: Launchpad (build 16293)\n"
"X-Launchpad-Export-Date: 2012-12-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"

View File

@ -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,
}

View File

@ -8,7 +8,7 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('invoice_id','=',False)]</field>
<field name="context">{'search_default_to_invoice': 1}</field>
<field name="context">{'search_default_to_invoice': 1, 'search_default_sales': 1}</field>
<field name="search_view_id" ref="account.view_account_analytic_line_filter"/>
<field name="help" type="html">
<p>
@ -34,7 +34,7 @@
<filter icon="terp-go-today" string="To Renew" domain="['|', '&amp;', ('date', '!=', False), ('date', '&lt;=', time.strftime('%%Y-%%m-%%d')), ('is_overdue_quantity', '=', True)]" name="renew"
help="The contracts to be renewed because the deadline is passed or the working hours are higher than the allocated hours" />
<separator/>
<filter string="Contracts Having a Partner" help="A contract in OpenERP is an analytic account having a partner set on it." name="has_partner" domain="[('partner_id', '!=', False)]" icon="terp-partner" />
<filter string="Customer Contracts" help="A contract in OpenERP is an analytic account having a partner set on it." name="has_partner" domain="[('partner_id', '!=', False)]" icon="terp-partner" />
<separator/>
<filter string="Contracts not assigned" help="Contracts that are not assigned to an account manager." domain="[('user_id', '=', False)]" icon="terp-personal-" />
<field name="partner_id"/>

View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<record id="account.analytic_consultancy" model="account.analytic.account">
<field name="partner_id" ref="base.res_partner_15"/>
<field name="invoice_on_timesheets">True</field>
<field name="hours_qtt_est">1200</field>
<field name="fix_price_invoices">True</field>
<field name="to_invoice" ref="hr_timesheet_invoice.timesheet_invoice_factor1"/>
<field name="pricelist_id" ref="product.list0"/>
<field name="amount_max">100000</field>
</record>
<record id="sale.sale_order_4" model="sale.order">
<field name="project_id" ref="account.analytic_consultancy"/>
</record>
<record id="hr_timesheet.working_hours_maintenance" model="hr.analytic.timesheet">
<field name="account_id" ref="account.analytic_consultancy"/>
<field name="to_invoice" ref="hr_timesheet_invoice.timesheet_invoice_factor1"/>
<field name="unit_amount">100</field>
</record>
<record id="account.analytic_super_product_trainings" model="account.analytic.account">
<field name="partner_id" ref="base.res_partner_18"/>
<field name="invoice_on_timesheets">True</field>
<field name="hours_qtt_est">500</field>
<field name="fix_price_invoices">True</field>
<field name="pricelist_id" ref="product.list0"/>
<field name="amount_max">50000</field>
<field name="to_invoice" ref="hr_timesheet_invoice.timesheet_invoice_factor1"/>
</record>
<record id="sale.sale_order_6" model="sale.order">
<field name="project_id" ref="account.analytic_super_product_trainings"/>
</record>
<record id="account.analytic_support_internal" model="account.analytic.account">
<field name="use_timesheets">True</field>
<field name="invoice_on_timesheets">True</field>
<field name="hours_qtt_est">100</field>
<field name="pricelist_id" ref="product.list0"/>
<field name="to_invoice" ref="hr_timesheet_invoice.timesheet_invoice_factor1"/>
</record>
</data>
</openerp>

View File

@ -7,14 +7,15 @@ 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-02-08 08:41+0000\n"
"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n"
"PO-Revision-Date: 2012-12-06 21:29+0000\n"
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
"consulting.net>\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-07 04:35+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@ -24,17 +25,17 @@ msgstr ""
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Group By..."
msgstr "Gruppiere nach..."
msgstr "Gruppierung ..."
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "To Invoice"
msgstr ""
msgstr "Abrechenbar"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Remaining"
msgstr ""
msgstr "Verbleibend"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@ -58,7 +59,7 @@ msgstr "vorheriger Arbeitstag"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_to_invoice:0
msgid "Uninvoiced Amount"
msgstr "Nicht berechnete Beträge"
msgstr "Abrechenbarer Betrag"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@ -69,56 +70,58 @@ msgid ""
"to\n"
" define the customer invoice price rate."
msgstr ""
"Die abzurechnenden Arbeitsstunden werden gemäß der Preisliste des Vertrags "
"für das beim Mitarbeiter hinterlegte Produkt berechnet."
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "⇒ Invoice"
msgstr ""
msgstr "=> Rechnung"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_invoiced:0
msgid "Invoiced Amount"
msgstr "Rechnungsbetrag"
msgstr "Abgerechnet"
#. module: account_analytic_analysis
#: field:account.analytic.account,last_worked_invoiced_date:0
msgid "Date of Last Invoiced Cost"
msgstr "Datum letzte Berechnung"
msgstr "Datum der letzten Abrechnung"
#. module: account_analytic_analysis
#: help:account.analytic.account,fix_price_to_invoice:0
msgid "Sum of quotations for this contract."
msgstr ""
msgstr "Summe abzurechnende Beträge"
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_invoiced:0
msgid "Total customer invoiced amount for this account."
msgstr "Gesamtbetrag Kundenrechnungen für dieses Konto"
msgstr "Bereits abgerechnete Beträge"
#. module: account_analytic_analysis
#: help:account.analytic.account,timesheet_ca_invoiced:0
msgid "Sum of timesheet lines invoiced for this contract."
msgstr ""
msgstr "Summe abgerechneter Arbeitszeiten"
#. module: account_analytic_analysis
#: help:account.analytic.account,revenue_per_hour:0
msgid "Computed using the formula: Invoiced Amount / Total Time"
msgstr "Berechnet als: Verrechneter Betrag / Gesamt Zeit"
msgstr "Berechnungsformel: Abgerechnete Beträge / Abgerechnete Stunden"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Contracts not assigned"
msgstr ""
msgstr "Nicht unterzeichnete Verträge"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Partner"
msgstr ""
msgstr "Kunde"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Contracts that are not assigned to an account manager."
msgstr "Verträge, die keinem Account Manager zugeordnet sind."
msgstr "Verträge ohne verantwortlichen Mitarbeiter"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,help:account_analytic_analysis.action_account_analytic_overdue
@ -138,11 +141,25 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
" Klicken Sie um neuen Vertrag anzulegen.\n"
" </p><p>\n"
" Sie finden hier die zu verlängernden Verträge, bei denen "
"entweder das terminierte Vertragsende\n"
" bereits überschritten wurde oder die geleistete Arbeitszeit "
"nicht mehr durch die vertraglich vereinbarte abrechenbare Arbeitszeit "
"abgedeckt wird.\n"
" </p><p>\n"
" OpenERP versetzt automatisch die zu erneuernden Verträge in "
"den Status Wiedervorlage. Nach der Erneuerung einer Vereinbarung sollte der "
"Verkäufer den alten Vertrag entweder abschließen oder erneuern. \n"
" </p>\n"
" "
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "End Date"
msgstr "Enddatum"
msgstr "Ende Datum"
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_qtt_non_invoiced:0
@ -156,12 +173,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 "Berechnungsformel: Maximale Zeit - Abgerechnete Zeit"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Expected"
msgstr ""
msgstr "Geplant"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@ -174,7 +191,7 @@ msgstr "Analytisches Konto"
#. module: account_analytic_analysis
#: help:account.analytic.account,theorical_margin:0
msgid "Computed using the formula: Theoretical Revenue - Total Costs"
msgstr ""
msgstr "Berechnungsformel: Geplanter Umsatz - Gesamte Kosten"
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_invoiced:0
@ -204,7 +221,7 @@ msgstr "Marge (%)"
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_hours:0
msgid "Computed using the formula: Maximum Time - Total Worked Time"
msgstr ""
msgstr "Berechnungsformel: Maximale Zeit - Geleistete Zeit"
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_quantity:0
@ -224,17 +241,17 @@ msgstr ""
#: 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 "Vertragsvorlage"
#. module: account_analytic_analysis
#: model:res.groups,name:account_analytic_analysis.group_template_required
msgid "Mandatory use of templates in contracts"
msgstr ""
msgstr "Vertragsvorlage ist verbindlich"
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_quantity:0
msgid "Total Worked Time"
msgstr ""
msgstr "Gesamte Arbeitszeit"
#. module: account_analytic_analysis
#: field:account.analytic.account,real_margin:0
@ -244,18 +261,17 @@ msgstr "Realisierte Marge"
#. module: account_analytic_analysis
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_month
msgid "Hours summary by month"
msgstr "Stundenanzahl pro Monat"
msgstr "Stunden pro Monat"
#. module: account_analytic_analysis
#: help:account.analytic.account,real_margin_rate:0
msgid "Computes using the formula: (Real Margin / Total Costs) * 100."
msgstr ""
"Berechnung nutzt diese Formel: (absolute Gewinnspanne / Gesamtkosten) * 100"
msgstr "Berechnungsformel: (Marge / Gesamte Kosten) * 100"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "or view"
msgstr ""
msgstr "oder Ansicht"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@ -272,7 +288,7 @@ msgstr "Monat"
#: 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 "Abrechenbare Zeiten & Sachaufwendungen"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_overdue_all
@ -283,12 +299,12 @@ msgstr "Verträge"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Start Date"
msgstr ""
msgstr "Start Datum"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Invoiced"
msgstr ""
msgstr "Abgerechnet"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@ -296,8 +312,8 @@ msgid ""
"The contracts to be renewed because the deadline is passed or the working "
"hours are higher than the allocated hours"
msgstr ""
"Der Vertrag muss erneuert werden, das die Frist abgelaufen ist oder die "
"geplanten Stunden überschritten sind"
"Zu erneuernde Verträge, aufgrund Laufzeitende oder Überschreitung der "
"vereinbarten Stunden"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@ -307,7 +323,7 @@ msgstr "Verträge, die zu erneuern sind"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Timesheets"
msgstr ""
msgstr "Stundenzettel"
#. module: account_analytic_analysis
#: code:addons/account_analytic_analysis/account_analytic_analysis.py:461
@ -328,7 +344,7 @@ msgstr "Überfällige Mengen"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Status"
msgstr ""
msgstr "Status"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_theorical:0
@ -349,13 +365,12 @@ msgstr "Ein Vertrag ist ein Analyse Konto mit Partner"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_sales_order
msgid "Sales Orders"
msgstr ""
msgstr "Aufträge"
#. module: account_analytic_analysis
#: help:account.analytic.account,last_invoice_date:0
msgid "If invoice from the costs, this is the date of the latest invoiced."
msgstr ""
"Wenn Kosten verrechnet werden, dann ist dies das Datum der letzten Rechnung."
msgstr "Letztmaliges Datum der Kostenabrechnung"
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_theorical:0
@ -364,9 +379,8 @@ msgid ""
"if all these costs have been invoiced at the normal sale price provided by "
"the pricelist."
msgstr ""
"Ausgehend von den entstandenen Projektkosten. Welcher Erlös wäre erzielt "
"worden, wenn diese Kosten auf der Basis der normalen Preisliste des Verkaufs "
"abgerechnet worden wären."
"Theoretischer Erlös, wenn alle Kosten auf Basis der \"Allgemeinen "
"Preisliste\" abgerechnet worden wären."
#. module: account_analytic_analysis
#: field:account.analytic.account,user_ids:0
@ -387,6 +401,16 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
" Klicken Sie zur Erstellung einer Vertragsvorlage.\n"
" </p><p>\n"
" Vorlagen sind vordefinierte Verträge für Projekte, aus "
"denen zur schnellen\n"
"und einfachen Erstellung neuer Vereinbarungen, die zugrundeliegenden "
"Einstellungen und Konditionen\n"
"übernommen werden.\n"
" </p>\n"
" "
#. module: account_analytic_analysis
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_user
@ -404,6 +428,8 @@ msgid ""
"Allows you to set the template field as required when creating an analytic "
"account or a contract."
msgstr ""
"Bei Erstellung eines Vertrags oder Projekt ist die Verwendung einer Vorlage "
"verpflichtend."
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_qtt_invoiced:0
@ -434,16 +460,28 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
" Klicken Sie zur Erstellung eines Vertrags.\n"
" </p><p>\n"
" Setzen Sie Verträge ein, um hierüber Aufgaben, Vorfälle, "
"Stundenzettel oder Abrechnungen \n"
" geleisteter Arbeitszeiten, Personalspesen und/oder "
"Verkaufsaufträge zu verfolgen. OpenERP\n"
" überwacht dabei automatisch, ob Verträge erneuert werden "
"müssen und benachrichtigt den\n"
" zugewiesenen Verkäufer.\n"
" </p>\n"
" "
#. module: account_analytic_analysis
#: field:account.analytic.account,toinvoice_total:0
msgid "Total to Invoice"
msgstr ""
msgstr "Gesamt Abrechnungsbetrag"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Sale Orders"
msgstr ""
msgstr "Verkaufsaufträge"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@ -453,18 +491,18 @@ msgstr "Offen"
#. module: account_analytic_analysis
#: field:account.analytic.account,invoiced_total:0
msgid "Total Invoiced"
msgstr ""
msgstr "Abgerechneter Betrag"
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_ca:0
msgid "Computed using the formula: Max Invoice Price - Invoiced Amount."
msgstr ""
"Berechnet auf Basis der Formel: Max. Einkaufspreis - Abgerechneter Betrag"
"Berechnungsformel: Geplanter Abrechnungsbetrag - Abgerechneter Betrag"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Responsible"
msgstr ""
msgstr "Projektleiter"
#. module: account_analytic_analysis
#: field:account.analytic.account,last_invoice_date:0
@ -484,16 +522,25 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p>\n"
" Sie finden hier die aufgezeichneten Stundenzettel und "
"eingekauften Sachmittel, \n"
" die für diesen Vertrag abgerechnet werden können. Für neue "
"abzurechnende\n"
" Arbeitszeiten sollten Sie das Menü für die Stundenzettel "
"benutzen.\n"
" </p>\n"
" "
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_non_invoiced:0
msgid "Uninvoiced Time"
msgstr "nicht verrechnete Zeit"
msgstr "Nicht abgerechnete Zeit"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Invoicing"
msgstr "Eingangsrechnung"
msgstr "Abrechnung"
#. module: account_analytic_analysis
#: field:account.analytic.account,total_cost:0
@ -507,6 +554,10 @@ msgid ""
"remaining subtotals which, in turn, are computed as the maximum between "
"'(Estimation - Invoiced)' and 'To Invoice' amounts"
msgstr ""
"Insgesamt verbleibender Abrechnungsbetrag für diesen Vertrag. Der Betrag "
"errechnet sich aus der Summe der Einzelpositionen, sowie im Umkehrschluss "
"aus dem Maximalbetrag der Differenz 'Geplant - Abgerechnet' und "
"'Abzurechnen'."
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_overdue
@ -517,7 +568,7 @@ msgstr "Zu erneuernde Verträge"
#. module: account_analytic_analysis
#: help:account.analytic.account,toinvoice_total:0
msgid " Sum of everything that could be invoiced for this contract."
msgstr ""
msgstr " Summe abzurechnender Beträge für diesen Vertrag"
#. module: account_analytic_analysis
#: field:account.analytic.account,theorical_margin:0
@ -527,22 +578,22 @@ msgstr "Theoretische Marge"
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_total:0
msgid "Total Remaining"
msgstr ""
msgstr "Summe verbleibende Abrechnung"
#. module: account_analytic_analysis
#: help:account.analytic.account,real_margin:0
msgid "Computed using the formula: Invoiced Amount - Total Costs."
msgstr "Berechnet durch die Formel: Rechnungsbetrag - Gesamt Kosten."
msgstr "Berechnungsformel: Rechnungsbetrag - Gesamt Kosten."
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_est:0
msgid "Estimation of Hours to Invoice"
msgstr ""
msgstr "Geplante abzurechnende Stunden"
#. module: account_analytic_analysis
#: field:account.analytic.account,fix_price_invoices:0
msgid "Fixed Price"
msgstr ""
msgstr "Festpreis"
#. module: account_analytic_analysis
#: help:account.analytic.account,last_worked_date:0
@ -557,12 +608,12 @@ msgstr ""
#. module: account_analytic_analysis
#: field:sale.config.settings,group_template_required:0
msgid "Mandatory use of templates."
msgstr ""
msgstr "Zwingende Nutzung von Vorlagen"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Contracts Having a Partner"
msgstr ""
msgstr "Verträge mit Kunden"
#. module: account_analytic_analysis
#: help:account.analytic.account,total_cost:0
@ -577,7 +628,7 @@ msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,est_total:0
msgid "Total Estimation"
msgstr ""
msgstr "Erwartete Gesamtabrechnung"
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_ca:0
@ -605,16 +656,18 @@ msgstr "Gesamtzeit"
msgid ""
"the field template of the analytic accounts and contracts will be required."
msgstr ""
"ein Auswahl für die Projekt Vorlage und Vertragseinstellungen sind "
"erforderlich"
#. module: account_analytic_analysis
#: field:account.analytic.account,invoice_on_timesheets:0
msgid "On Timesheets"
msgstr ""
msgstr "auf Stundenzettel"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Total"
msgstr ""
msgstr "Gesamt"
#~ msgid ""
#~ "Number of hours that can be invoiced plus those that already have been "

View File

@ -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 <Unknown>\n"
"PO-Revision-Date: 2012-12-09 13:20+0000\n"
"Last-Translator: Davide Corio - agilebg.com <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"

View File

@ -7,31 +7,32 @@ 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-01-13 19:25+0000\n"
"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n"
"PO-Revision-Date: 2012-12-06 22:26+0000\n"
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
"consulting.net>\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:37+0000\n"
"X-Generator: Launchpad (build 16335)\n"
"X-Launchpad-Export-Date: 2012-12-07 04:35+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: account_analytic_default
#: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_partner
#: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_product
#: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_user
msgid "Analytic Rules"
msgstr "Analytische Kontierungsrichtlinie"
msgstr "Kostenstellen Kontierungsregeln"
#. module: account_analytic_default
#: view:account.analytic.default:0
msgid "Group By..."
msgstr "Gruppierung..."
msgstr "Gruppierung ..."
#. module: account_analytic_default
#: help:account.analytic.default,date_stop:0
msgid "Default end date for this Analytic Account."
msgstr ""
msgstr "Vorgabe für Ende Datum der Kostenstelle"
#. module: account_analytic_default
#: model:ir.model,name:account_analytic_default.model_stock_picking
@ -50,6 +51,9 @@ msgid ""
"default (e.g. create new customer invoice or Sale order if we select this "
"partner, it will automatically take this as an analytic account)"
msgstr ""
"Wählen Sie einen Partner aus, der bereits eine spezifizierte Kostenstelle "
"hat (z.B. durch neu definierte Ausgangsrechnung oder einen Verkaufsauftrag "
"bei einer Auswahl des unterzuordnenden Partners)"
#. module: account_analytic_default
#: view:account.analytic.default:0
@ -60,7 +64,7 @@ msgstr "Produkt"
#. module: account_analytic_default
#: model:ir.model,name:account_analytic_default.model_account_analytic_default
msgid "Analytic Distribution"
msgstr "Analytische Verrechnung"
msgstr "Kostenstellen Distribution"
#. module: account_analytic_default
#: view:account.analytic.default:0
@ -86,18 +90,21 @@ msgid ""
"default (e.g. create new customer invoice or Sale order if we select this "
"product, it will automatically take this as an analytic account)"
msgstr ""
"Wählen Sie ein Produkt mit hinterlegter Standard Kostenstelle (z.B. bei der "
"Erstellung einer Ausgangsrechnung oder eines Angebots wird bei der Auswahl "
"des Produkts eine automatische Erkennung der Kostenstelle gestartet)."
#. module: account_analytic_default
#: field:account.analytic.default,date_stop:0
msgid "End Date"
msgstr "Endedatum"
msgstr "Ende Datum"
#. module: account_analytic_default
#: view:account.analytic.default:0
#: model:ir.actions.act_window,name:account_analytic_default.action_analytic_default_list
#: model:ir.ui.menu,name:account_analytic_default.menu_analytic_default_list
msgid "Analytic Defaults"
msgstr "Analytische Buchungsvorlage"
msgstr "Kostenstellen Buchungsvorlage"
#. module: account_analytic_default
#: field:account.analytic.default,sequence:0
@ -111,12 +118,16 @@ msgid ""
"default (e.g. create new customer invoice or Sale order if we select this "
"company, it will automatically take this as an analytic account)"
msgstr ""
"Wählen Sie ein Unternehmen mit hinterlegter Standard Kostenstelle (z.B. bei "
"der Erstellung einer Ausgangsrechnung oder eines Angebots wird bei der "
"Auswahl des Unternehmens eine automatische Erkennung der Kostenstelle "
"gestartet)."
#. module: account_analytic_default
#: help:account.analytic.default,user_id:0
msgid ""
"Select a user which will use analytic account specified in analytic default."
msgstr ""
msgstr "Wählen Sie einen Benutzer mit der hinterlegten Standard Kostenstelle"
#. module: account_analytic_default
#: model:ir.model,name:account_analytic_default.model_account_invoice_line
@ -127,17 +138,17 @@ msgstr "Rechnungszeile"
#: view:account.analytic.default:0
#: field:account.analytic.default,analytic_id:0
msgid "Analytic Account"
msgstr "Analytische Konten"
msgstr "Kostenstelle"
#. module: account_analytic_default
#: help:account.analytic.default,date_start:0
msgid "Default start date for this Analytic Account."
msgstr ""
msgstr "Standard Start Datum für Kostenstelle"
#. module: account_analytic_default
#: view:account.analytic.default:0
msgid "Accounts"
msgstr "Konten"
msgstr "Kostenstellen"
#. module: account_analytic_default
#: view:account.analytic.default:0
@ -154,9 +165,7 @@ msgstr "Start Datum"
#: help:account.analytic.default,sequence:0
msgid ""
"Gives the sequence order when displaying a list of analytic distribution"
msgstr ""
"Zeigt eine Liste analytischer Konten, in der Reihenfolge wie von Ihnen "
"festgelegt."
msgstr "Zeigt eine Liste mit Kostenstellen"
#. module: account_analytic_default
#: model:ir.model,name:account_analytic_default.model_sale_order_line

View File

@ -7,14 +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-10-12 23:19+0000\n"
"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n"
"PO-Revision-Date: 2012-12-06 22:38+0000\n"
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
"consulting.net>\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-08 04:59+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account4_ids:0
@ -48,7 +49,7 @@ msgstr "Anteil (%)"
#: code:addons/account_analytic_plans/account_analytic_plans.py:234
#, python-format
msgid "The total should be between %s and %s."
msgstr ""
msgstr "Die Summe sollte zwischen %s und %s sein."
#. module: account_analytic_plans
#: view:account.analytic.plan:0
@ -131,7 +132,7 @@ msgstr "Zeige keine leeren Zeilen"
#: code:addons/account_analytic_plans/wizard/account_crossovered_analytic.py:61
#, python-format
msgid "There are no analytic lines related to account %s."
msgstr ""
msgstr "Es gibt keine Kostenstellen Buchungen für das Konto %s."
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account3_ids:0
@ -142,7 +143,7 @@ msgstr "Konto3 ID"
#: view:account.crossovered.analytic:0
#: view:analytic.plan.create.model:0
msgid "or"
msgstr ""
msgstr "oder"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_analytic_line
@ -281,7 +282,7 @@ msgstr "Bankauszug Buchungen"
#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:41
#, python-format
msgid "Error!"
msgstr ""
msgstr "Fehler !"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
@ -297,7 +298,7 @@ msgstr "Druck Kreuzanalyse"
#: code:addons/account_analytic_plans/wizard/account_crossovered_analytic.py:61
#, python-format
msgid "User Error!"
msgstr ""
msgstr "Benutzerfehler !"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account6_ids:0
@ -316,6 +317,7 @@ msgstr "Analytisches Journal"
#, python-format
msgid "Please put a name and a code before saving the model."
msgstr ""
"Bitte tragen Sie eine Bezeichnung und ein Kürzel vor dem Speichern ein."
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
@ -347,7 +349,7 @@ msgstr "Journal"
#: code:addons/account_analytic_plans/account_analytic_plans.py:486
#, python-format
msgid "You have to define an analytic journal on the '%s' journal."
msgstr ""
msgstr "Sie müssen eine Kostenstelle für das Journal '%s' eintragen"
#. module: account_analytic_plans
#: code:addons/account_analytic_plans/account_analytic_plans.py:342
@ -375,7 +377,7 @@ msgstr "Rechnungszeile"
#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:41
#, python-format
msgid "There is no analytic plan defined."
msgstr ""
msgstr "Es existieren Kostenstellen und ein Plan"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_bank_statement
@ -402,7 +404,7 @@ msgstr "Analytische Verrechnung"
#: code:addons/account_analytic_plans/account_analytic_plans.py:221
#, python-format
msgid "A model with this name and code already exists."
msgstr ""
msgstr "Ein Modul mit ähnlichem Name und Kürzel existiert bereits."
#. module: account_analytic_plans
#: help:account.analytic.plan.line,root_analytic_id:0

View File

@ -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'),

View File

@ -108,8 +108,8 @@
<page string="General">
<group>
<group>
<field name="purchase_value" widget="monetary" options="{'currency_field': 'currency_id'}"/>
<field name="salvage_value" widget="monetary" options="{'currency_field': 'currency_id'}"/>
<field name="purchase_value" widget="monetary" options="{'currency_field': 'currency_id'}" on_change="onchange_purchase_salvage_value(purchase_value, salvage_value)"/>
<field name="salvage_value" widget="monetary" options="{'currency_field': 'currency_id'}" on_change="onchange_purchase_salvage_value(purchase_value, salvage_value)"/>
<field name="value_residual" widget="monetary" options="{'currency_field': 'currency_id'}"/>
<field name="partner_id"/>
</group>

View File

@ -8,14 +8,15 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
"PO-Revision-Date: 2012-05-10 17:36+0000\n"
"Last-Translator: Ferdinand-camptocamp <Unknown>\n"
"PO-Revision-Date: 2012-12-06 23:48+0000\n"
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
"consulting.net>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-04 05:53+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
@ -156,7 +157,7 @@ msgstr "Abschreibungs Datum"
#. module: account_asset
#: constraint:account.asset.asset:0
msgid "Error ! You cannot create recursive assets."
msgstr ""
msgstr "Fehler ! Sie können keine rekursiven Anlagengegenstände definieren."
#. module: account_asset
#: field:asset.asset.report,posted_value:0
@ -201,7 +202,7 @@ msgstr "# der Abschreibungsbuchungen"
#. module: account_asset
#: field:account.asset.asset,method_period:0
msgid "Number of Months in a Period"
msgstr ""
msgstr "Anzahl Monate in Perioden"
#. module: account_asset
#: view:asset.asset.report:0
@ -389,7 +390,7 @@ msgstr "Zeit Methode"
#: view:asset.depreciation.confirmation.wizard:0
#: view:asset.modify:0
msgid "or"
msgstr ""
msgstr "oder"
#. module: account_asset
#: field:account.asset.asset,note:0
@ -446,12 +447,17 @@ msgid ""
"You can manually close an asset when the depreciation is over. If the last "
"line of depreciation is posted, the asset automatically goes in that status."
msgstr ""
"Wenn eine Anlage angelegt wird, ist der Status \"Entwurf\". Nach Bestätigung "
"der Anlage wird dies aktiv und Abschreibungen können verbucht werden. Sie "
"können die Anlage automatisch schließen, wenn die Abschreibungen vorbei "
"sind. Nach Verbuchung der letzen Abschreibung wird die Anlage automatisch "
"geschlossen."
#. module: account_asset
#: field:account.asset.asset,state:0
#: field:asset.asset.report,state:0
msgid "Status"
msgstr ""
msgstr "Status"
#. module: account_asset
#: field:account.asset.asset,partner_id:0
@ -498,7 +504,7 @@ msgstr "Berechnen"
#. module: account_asset
#: view:account.asset.history:0
msgid "Asset History"
msgstr ""
msgstr "Historie Anlagegegüter"
#. module: account_asset
#: field:asset.asset.report,name:0
@ -619,7 +625,7 @@ msgstr "Abzuschreibender Betrag"
#. module: account_asset
#: field:account.asset.asset,name:0
msgid "Asset Name"
msgstr ""
msgstr "Anlagegut Bezeichnung"
#. module: account_asset
#: field:account.asset.category,open_asset:0
@ -670,11 +676,16 @@ msgid ""
" </p>\n"
" "
msgstr ""
"Über diesen Report erhalten Sie einen Überblick über alle Abschreibungen. "
"Die Suche kann auch zur \n"
"individuellen und persönlichen Auswertung über das Anlagevermögen benutzt "
"werden.\n"
" "
#. module: account_asset
#: field:account.asset.asset,purchase_value:0
msgid "Gross Value"
msgstr ""
msgstr "Brutto Erlös"
#. module: account_asset
#: field:account.asset.category,name:0

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\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 <Unknown>\n"
"Language-Team: Italian <it@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-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

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\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 <jeff@osbzr.com>\n"
"PO-Revision-Date: 2012-12-07 15:37+0000\n"
"Last-Translator: ccdos <ccdos@163.com>\n"
"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-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

View File

@ -8,12 +8,17 @@
<field name="arch" type="xml">
<form string="Modify Asset" version="7.0">
<group string="Asset Durations to Modify" col="4">
<field name="name" colspan="4"/>
<group colspan="2" col="2">
<field name="name"/>
<field name="method_number"/>
<field name="method_end"/>
</group>
<field name="method_period"/>
<group colspan="2" col="2">
<field name="method_end"/>
<label for="method_period"/>
<div>
<field name="method_period" class="oe_inline"/> months
</div>
</group>
</group>
<separator string="Notes"/>
<field name="note"/>

View File

@ -8,14 +8,15 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
"PO-Revision-Date: 2012-02-09 15:02+0000\n"
"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n"
"PO-Revision-Date: 2012-12-06 23:53+0000\n"
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
"consulting.net>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-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_bank_statement_extensions
#: view:account.bank.statement.line:0
@ -59,7 +60,7 @@ msgstr "Storniere ausgewählte Buchungszeilen"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,val_date:0
msgid "Value Date"
msgstr ""
msgstr "Datum Wertstellung"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
@ -104,7 +105,7 @@ msgstr "Batch Zahlungs Info"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,state:0
msgid "Status"
msgstr ""
msgstr "Status"
#. module: account_bank_statement_extensions
#: code:addons/account_bank_statement_extensions/account_bank_statement.py:129
@ -113,11 +114,13 @@ msgid ""
"Delete operation not allowed. Please go to the associated bank "
"statement in order to delete and/or modify bank statement line."
msgstr ""
"Lösche Operation ist nicht erlaubt. Bitte wechseln Sie zum angebundenen "
"Bankauszug Beleg, um dort die Zahlungsvorschläge zu beurteilen."
#. module: account_bank_statement_extensions
#: view:confirm.statement.line:0
msgid "or"
msgstr ""
msgstr "oder"
#. module: account_bank_statement_extensions
#: view:confirm.statement.line:0
@ -219,7 +222,7 @@ msgstr "Manuell"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Bank Transaction"
msgstr ""
msgstr "Bank Auszug"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
@ -326,7 +329,7 @@ msgstr "Buchungszeilen"
#: code:addons/account_bank_statement_extensions/account_bank_statement.py:129
#, python-format
msgid "Warning!"
msgstr ""
msgstr "Warnung !"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line.global:0

View File

@ -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: 2011-01-26 17:36+0000\n"
"Last-Translator: Nicola Riolini - Micronaet <Unknown>\n"
"PO-Revision-Date: 2012-12-09 20:37+0000\n"
"Last-Translator: Sergio Corato <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-04 05:42+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_budget
#: view:account.budget.analytic:0
@ -120,7 +120,7 @@ msgstr "Stato"
#: code:addons/account_budget/account_budget.py:119
#, python-format
msgid "The Budget '%s' has no accounts!"
msgstr ""
msgstr "Il Budget '%s' non ha un conto!"
#. module: account_budget
#: report:account.budget:0
@ -198,7 +198,7 @@ msgstr "Data fine"
#: model:ir.model,name:account_budget.model_account_budget_analytic
#: model:ir.model,name:account_budget.model_account_budget_report
msgid "Account Budget report for analytic account"
msgstr ""
msgstr "Report Budget Conto per conto analitico"
#. module: account_budget
#: view:account.analytic.account:0
@ -234,7 +234,7 @@ msgstr ""
#. module: account_budget
#: view:crossovered.budget:0
msgid "Duration"
msgstr ""
msgstr "Durata"
#. module: account_budget
#: field:account.budget.post,code:0
@ -332,7 +332,7 @@ msgstr "Importo Teorico"
#: view:account.budget.crossvered.summary.report:0
#: view:account.budget.report:0
msgid "or"
msgstr ""
msgstr "o"
#. module: account_budget
#: field:crossovered.budget.lines,analytic_account_id:0
@ -418,7 +418,7 @@ msgstr "Maschera Analisi"
#. module: account_budget
#: view:crossovered.budget:0
msgid "Draft Budgets"
msgstr ""
msgstr "Budget in Bozza"
#~ msgid "%"
#~ msgstr "%"

View File

@ -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-11-25 20:59+0000\n"
"PO-Revision-Date: 2012-12-06 11:57+0000\n"
"Last-Translator: Erwin van der Ploeg (Endian Solutions) <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-04 05:42+0000\n"
"X-Generator: Launchpad (build 16335)\n"
"X-Launchpad-Export-Date: 2012-12-07 04:36+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: account_budget
#: view:account.budget.analytic:0
@ -367,6 +367,27 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p>\n"
" Een budget is een prognose van uw bedrijfs inkomsten en "
"uitgaven,\n"
" welke wordt verwacht in een bepaalde periode in de toekomst. "
"Een budget\n"
" wordt gedefinieerd op grootboekrekeningen en/of "
"kostenplaatsen (welke \n"
" projecten, afdelingen, productcategorieën, etc. "
"vertegenwoordigen)\n"
" </p><p>\n"
" Door deze geldstromen bij te houden is het waarschijnlijk, "
"dat u niet\n"
" te veel uitgeeft en u een grotere kans heeft u financieel "
"doelen te\n"
" realiseren. Definieer een budget door de verwachte opbrengst "
"in\n"
" te geven per kostenplaats en volg de voortgang, gebaseerd op "
"werkelijke\n"
" gerealiseerde gegevens, gedurende die periode.\n"
" </p>\n"
" "
#. module: account_budget
#: report:account.budget:0

View File

@ -30,6 +30,7 @@ Module for the Check Writing and Check Printing.
'website': 'http://www.openerp.com',
'depends' : ['account_voucher'],
'data': [
'wizard/account_check_batch_printing_view.xml',
'account_check_writing_report.xml',
'account_view.xml',
'account_voucher_view.xml',

View File

@ -9,7 +9,7 @@
<field name="model">account.voucher</field>
<field name="inherit_id" ref="account_voucher.view_vendor_payment_form" />
<field name="arch" type="xml">
<field name="journal_id" position="after">
<field name="amount" position="after">
<newline/>
<field name="allow_check" invisible="1"/>
<field name="amount_in_word" attrs="{'invisible':[('allow_check','!=',1)]}" nolabel="1" colspan="6"/>

View File

@ -8,15 +8,15 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
"PO-Revision-Date: 2012-05-10 18:06+0000\n"
"PO-Revision-Date: 2012-12-07 09:04+0000\n"
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
"consulting.net>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-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_check_writing
#: selection:res.company,check_layout:0
@ -107,6 +107,19 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\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

View File

@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import account_check_batch_printing
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,87 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from tools.translate import _
from osv import fields, osv
class account_check_write(osv.osv_memory):
_name = 'account.check.write'
_description = 'Prin Check in Batch'
_columns = {
'check_number': fields.integer('Next Check Number', required=True, help="The number of the next check number to be printed."),
}
def _get_next_number(self, cr, uid, context=None):
dummy, sequence_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account_check_writing', 'sequence_check_number')
return self.pool.get('ir.sequence').read(cr, uid, sequence_id, ['number_next'])['number_next']
_defaults = {
'check_number': _get_next_number,
}
def print_check_write(self, cr, uid, ids, context=None):
if context is None:
context = {}
voucher_obj = self.pool.get('account.voucher')
ir_sequence_obj = self.pool.get('ir.sequence')
#update the sequence to number the checks from the value encoded in the wizard
dummy, sequence_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account_check_writing', 'sequence_check_number')
increment = ir_sequence_obj.read(cr, uid, sequence_id, ['number_increment'])['number_increment']
new_value = self.browse(cr, uid, ids[0], context=context).check_number
ir_sequence_obj.write(cr, uid, sequence_id, {'number_next': new_value})
#validate the checks so that they get a number
voucher_ids = context.get('active_ids', [])
for check in voucher_obj.browse(cr, uid, voucher_ids, context=context):
new_value += increment
if check.number:
raise osv.except_osv(_('Error!'),_("One of the printed check already got a number."))
voucher_obj.proforma_voucher(cr, uid, voucher_ids, context=context)
#update the sequence again (because the assignation using next_val was made during the same transaction of
#the first update of sequence)
ir_sequence_obj.write(cr, uid, sequence_id, {'number_next': new_value})
#print the checks
check_layout_report = {
'top' : 'account.print.check.top',
'middle' : 'account.print.check.middle',
'bottom' : 'account.print.check.bottom',
}
check_layout = voucher_obj.browse(cr, uid, voucher_ids[0], context=context).company_id.check_layout
if not check_layout:
check_layout = 'top'
return {
'type': 'ir.actions.report.xml',
'report_name':check_layout_report[check_layout],
'datas': {
'model':'account.voucher',
'ids': voucher_ids,
'report_type': 'pdf'
},
'nodestroy': True
}
account_check_write()

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="0">
<record id="view_account_check_write" model="ir.ui.view">
<field name="name">account.check.form</field>
<field name="model">account.check.write</field>
<field name="arch" type="xml">
<form string="Check" version="7.0">
<group col="4">
<field name="check_number"/>
</group>
<footer>
<button name="print_check_write" string="Print Check" type="object" class="oe_highlight"/> or
<button string="Cancel" class="oe_link" special="cancel"/>
</footer>
</form>
</field>
</record>
<act_window id="action_account_check_write"
multi="True"
name="Print Check in Batch"
res_model="account.check.write" src_model="account.voucher"
view_mode="form" target="new" view_type="form" />
</data>
</openerp>

View File

@ -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:
---------------------------------------------------------------

View File

@ -24,7 +24,6 @@ from lxml import etree
from openerp.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 += '''
<table border="2" width=100%%>
<tr>
<td>Invoice date</td>
<td>Reference</td>
<td>Due date</td>
<td>Amount (%s)</td>
<td>Lit.</td>
</tr>
''' % (currency.symbol)
total = 0
for aml in currency_dict['line']:
block = aml['blocked'] and 'X' or ' '
total += aml['balance']
strbegin = "<TD>"
strend = "</TD>"
date = aml['date_maturity'] or aml['date']
if date <= current_date and aml['balance'] > 0:
strbegin = "<TD><B>"
strend = "</B></TD>"
followup_table +="<TR>" + strbegin + str(aml['date']) + strend + strbegin + aml['ref'] + strend + strbegin + str(date) + strend + strbegin + str(aml['balance']) + strend + strbegin + block + strend + "</TR>"
total = rml_parse.formatLang(total, dp='Account', currency_obj=currency)
followup_table += '''<tr> </tr>
</table>
<center>Amount due: %s </center>''' % (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:

View File

@ -16,7 +16,9 @@
<field name="user_id" invisible="1"/>
<field name="parent_id" invisible="1"/>
<field name="payment_responsible_id"/>
<field name="credit"/>
<field name="payment_earliest_due_date"/>
<field name="payment_amount_overdue"/>
<field name="payment_amount_due" />
</tree>
</field>
</record>
@ -28,10 +30,9 @@
<field name="arch" type="xml">
<search string="Search Partner" position="inside">
<group string="Follow-up">
<filter string="Partners with Credits" domain="[('credit', '>', 0.0)]" name="credits"/>
<filter string="Partners with Overdue Credits" domain="[('payment_amount_overdue', '>', 0.0)]" name="credits"/>
<separator/>
<filter string="Follow-ups To Do" domain="[('payment_next_action_date', '&lt;=', time.strftime('%%Y-%%m-%%d')), ('credit', '>', 0.0)]" name="todo"/>
<filter string="Future Follow-ups" domain="[('payment_next_action_date', '&gt;', time.strftime('%%Y-%%m-%%d')), ('credit', '>', 0.0)]"/>
<filter string="Follow-ups To Do" domain="[('payment_next_action_date', '&lt;=', time.strftime('%%Y-%%m-%%d')), ('payment_amount_overdue', '>', 0.0)]" name="todo"/>
<separator/>
<filter string="No Responsible" domain="[('payment_responsible_id', '=', False)]"/>
<filter string="My Follow-ups" domain="[('payment_responsible_id','=', uid)]"/>
@ -43,29 +44,7 @@
</field>
</record>
<record id="customer_followup_search_view2" model="ir.ui.view">
<field name="name">Search</field>
<field name="model">res.partner</field>
<field name="arch" type="xml">
<search string="Search view">
<field name="name"/>
<field name="payment_next_action"/>
<!--<filter string="Actions to be taken with overdue amount" domain="['&amp;', ('payment_amount_outstanding', '>', 0.0), ('payment_next_action_date', '&lt;=', time.strftime('%%Y-%%m-%%d'))]"/>
<separator/>-->
<filter string="Overdue amount" domain="[('credit', '>', 0.0)]"/>
<separator/>
<filter string="Follow-ups to do" domain="[('payment_next_action_date', '&lt;=', time.strftime('%%Y-%%m-%%d'))]"/>
<separator/>
<!--filter string="Future follow-ups" domain="['&', ('payment_next_action', '!=', ''), ('payment_next_action_date', '>', time.strftime('%%Y-%%m-%%d'))]"/>-->
<separator/>
<filter string="Without responsible" domain="[('payment_responsible_id', '=', False)]"/>
<filter string="I am responsible" domain="[('payment_responsible_id','=', uid)]"/>
<group expand="1" string="Group by">
<filter string="Responsible" context="{'group_by':'payment_responsible_id'}"/>
</group>
</search>
</field>
</record>
<record id="action_customer_followup" model="ir.actions.act_window">
<field name="name">Manual Follow-Ups</field>
@ -73,7 +52,7 @@
<field name="res_model">res.partner</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{} </field>
<field name="domain">[('payment_amount_due', '>', 0.0)]</field>
<field name="context">{'Followupfirst':True, 'search_default_todo': True} </field>
<field name="search_view_id" ref="customer_followup_search_view"/>
</record>
@ -88,9 +67,9 @@
<page string="Payment Follow-up" groups="account.group_account_invoice" name="followup_tab">
<div class="oe_right oe_button_box" name="followup_button">
<button name="do_button_print" type="object" string="Print Overdue Payments" groups="account.group_account_user"
help="Print overdue payments report independent of follow-up line" attrs="{'invisible':[('credit', '&lt;=', 0.0)]}" />
help="Print overdue payments report independent of follow-up line" attrs="{'invisible':[('payment_amount_due', '&lt;=', 0.0)]}" />
<button name="do_partner_mail" type="object" string="Send Overdue Email" groups="account.group_account_user"
help="If not specified by the latest follow-up level, it will send from the default follow-up of overdue invoices template" attrs="{'invisible':[('credit', '&lt;=', 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', '&lt;=', 0.0)]}"/>
</div>
<p attrs="{'invisible':[('latest_followup_date','=', False)]}">
The <field name="latest_followup_date" class = "oe_inline"/>, 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"/>
<field name="payment_next_action" placeholder="e.g. Give a phonecall, Check if it's paid, ..."/>
<field name="payment_next_action" placeholder="Action to be taken e.g. Give a phonecall, Check if it's paid, ..."/>
</div>
</group>
<label for="payment_note" class="oe_edit_only"/>
<field name="payment_note" placeholder="e.g. 50%% before 15th of May, balance before 1st of July."/>
<field name="payment_note" placeholder="He said the problem was temporary and promised to pay 50%% before 15th of May, balance before 1st of July."/>
<p class="oe_grey">
Below is the history of the transactions of this
customer. You can set an invoice in litigation in
order to not include it in the next payment
follow-ups.
customer. You can check "No Follow-up" in
order to exclude it from the next follow-up actions.
</p>
<field name="unreconciled_aml_ids">
<tree string="Account Move line" editable="bottom" create="false" delete="false" colors="red:(not date_maturity or date_maturity&lt;=current_date) and result&gt;0">
<field name="date" readonly="True"/>
<field name="company_id" readonly="True" groups="base.group_multi_company" />
<field name="move_id" readonly="True"/>
<field name="blocked" string="Litigation"/>
<field name="blocked"/>
<field name="date_maturity" readonly="True"/>
<field name="reconcile_partial_id" readonly="True"/>
<field name="result" readonly="True"/>

View File

@ -5,69 +5,36 @@
<data noupdate="1">
<!--Mail template level 0-->
<record id="email_template_account_followup_level0" model="email.template">
<field name="name">Follow-up of overdue invoices level 0</field>
<field name="email_from">${user.email or ''}</field>
<field name="subject">${user.company_id.name} Payment Follow-up</field>
<field name="email_to">${object.email}</field>
<field name="lang">${object.lang}</field>
<field name="name">First polite payment follow-up reminder email</field>
<field name="email_from">${user.email or '' | h}</field>
<field name="subject">${user.company_id.name | h} Payment Reminder</field>
<field name="email_to">${object.email | h}</field>
<field name="lang">${object.lang | h}</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="auto_delete" eval="True"/>
<field name="body_html"><![CDATA[
<div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, 255, 255); ">
<p>Dear ${object.name},</p>
<p>Dear ${object.name | h},</p>
<p>
Exception made if there was a mistake of ours, it seems that the following amount stays unpaid. Please, take
appropriate measures in order to carry out this payment in the next 8 days.
Would your payment have been carried out after this mail was sent, please ignore this message. Do not hesitate to
contact our accounting department at (+32).10.68.94.39.
contact our accounting department.
</p>
<br/>
Best Regards,
<br/>
<br/>
${user.name}
${user.name | h}
<br/>
<br/>
<%
from openerp.addons.account_followup.report import account_followup_print
rml_parse = account_followup_print.report_rappel(object._cr, user.id, "followup_rml_parser")
final_res = rml_parse._lines_get_with_partner(object, user.company_id.id)
followup_table = ''
for currency_dict in final_res:
currency_symbol = currency_dict.get('line', [{'currency_id': user.company_id.currency_id}])[0]['currency_id'].symbol
followup_table += '''
<table border="2" width=100%%>
<tr>
<td>Invoice date</td>
<td>Reference</td>
<td>Due date</td>
<td>Amount (%s)</td>
<td>Lit.</td>
</tr>
''' % (currency_symbol)
total = 0
for aml in currency_dict['line']:
block = aml['blocked'] and 'X' or ' '
total += aml['balance']
strbegin = "<TD> "
strend = "</TD> "
date = aml['date_maturity'] or aml['date']
if date <= ctx['current_date'] and aml['balance'] > 0:
strbegin = "<TD><B>"
strend = "</B></TD>"
followup_table +="<TR>" + strbegin + str(aml['date']) + strend + strbegin + aml['ref'] + strend + strbegin + str(date) + strend + strbegin + str(aml['balance']) + strend + strbegin + block + strend + "</TR>"
total = rml_parse.formatLang(total, dp='Account', currency_obj=object.company_id.currency_id)
followup_table += '''<tr> </tr>
</table>
<center>Amount due: %s </center>''' % (total)
%>
${followup_table}
${ctx.get('followup_table','')}
<br/>
@ -79,72 +46,37 @@ ${followup_table}
<!--Mail template level 1 -->
<record id="email_template_account_followup_level1" model="email.template">
<field name="name">Follow-up of overdue invoices level 1</field>
<field name="email_from">${user.email or ''}</field>
<field name="subject">${user.company_id.name} Payment Follow-up</field>
<field name="email_to">${object.email}</field>
<field name="lang">${object.lang}</field>
<field name="name">A bit urging second payment follow-up reminder email</field>
<field name="email_from">${user.email or '' | h}</field>
<field name="subject">${user.company_id.name | h} Payment Reminder</field>
<field name="email_to">${object.email | h}</field>
<field name="lang">${object.lang | h}</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="auto_delete" eval="True"/>
<field name="body_html"><![CDATA[
<div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, 255, 255); ">
<p>Dear ${object.name},</p>
<p>Dear ${object.name | h},</p>
<p>
We are disappointed to see that despite sending a reminder, that your account is now seriously overdue.
It is essential that immediate payment is made, otherwise we will have to consider placing a stop on your account
which means that we will no longer be able to supply your company with (goods/services).
Please, take appropriate measures in order to carry out this payment in the next 8 days.
If there is a problem with paying invoice that we are not aware of, do not hesitate to contact our accounting
department at (+32).10.68.94.39. so that we can resolve the matter quickly.
department. so that we can resolve the matter quickly.
Details of due payments is printed below.
</p>
<br/>
Best Regards,
<br/>
${user.name}
<br/>
${user.name | h}
<br/>
<br/>
<%
from openerp.addons.account_followup.report import account_followup_print
rml_parse = account_followup_print.report_rappel(object._cr, user.id, "followup_rml_parser")
final_res = rml_parse._lines_get_with_partner(object, user.company_id.id)
followup_table = ''
for currency_dict in final_res:
currency_symbol = currency_dict.get('line', [{'currency_id': user.company_id.currency_id}])[0]['currency_id'].symbol
followup_table += '''
<table border="2" width=100%%>
<tr>
<td>Invoice date</td>
<td>Reference</td>
<td>Due date</td>
<td>Amount (%s)</td>
<td>Lit.</td>
</tr>
''' % (currency_symbol)
total = 0
for aml in currency_dict['line']:
block = aml['blocked'] and 'X' or ' '
total += aml['balance']
strbegin = "<TD> "
strend = "</TD> "
date = aml['date_maturity'] or aml['date']
if date <= ctx['current_date'] and aml['balance'] > 0:
strbegin = "<TD><B>"
strend = "</B></TD>"
followup_table +="<TR>" + strbegin + str(aml['date']) + strend + strbegin + aml['ref'] + strend + strbegin + str(date) + strend + strbegin + str(aml['balance']) + strend + strbegin + block + strend + "</TR>"
total = rml_parse.formatLang(total, dp='Account', currency_obj=object.company_id.currency_id)
followup_table += '''<tr> </tr>
</table>
<center>Amount due: %s </center>''' % (total)
%>
${followup_table}
${ctx.get('followup_table','')}
<br/>
@ -153,71 +85,34 @@ ${followup_table}
</record>
<!--Email template -->
<record id="email_template_account_followup_level2" model="email.template">
<field name="name">Follow-up of overdue invoices level 2</field>
<field name="email_from">${user.email or ''}</field>
<field name="subject">${user.company_id.name} Payment Follow-up</field>
<field name="email_to">${object.email}</field>
<field name="lang">${object.lang}</field>
<field name="name">Urging payment follow-up reminder email</field>
<field name="email_from">${user.email or '' | h}</field>
<field name="subject">${user.company_id.name | h} Payment Reminder</field>
<field name="email_to">${object.email | h}</field>
<field name="lang">${object.lang | h}</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="auto_delete" eval="True"/>
<field name="body_html"><![CDATA[
<div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, 255, 255); ">
<p>Dear ${object.name},</p>
<p>Dear ${object.name | h},</p>
<p>
Despite several reminders, your account is still not settled.
Unless full payment is made in next 8 days, legal action for the recovery of the debt will be taken without
further notice.
I trust that this action will prove unnecessary and details of due payments is printed below.
In case of any queries concerning this matter, do not hesitate to contact our accounting department at (+32).10.68.94.39.
In case of any queries concerning this matter, do not hesitate to contact our accounting department.
</p>
<br/>
Best Regards,
<br/>
${user.name}
<br/>
${user.name | h}
<br/>
<br/>
<%
from openerp.addons.account_followup.report import account_followup_print
rml_parse = account_followup_print.report_rappel(object._cr, user.id, "followup_rml_parser")
final_res = rml_parse._lines_get_with_partner(object, user.company_id.id)
followup_table = ''
for currency_dict in final_res:
currency_symbol = currency_dict.get('line', [{'currency_id': user.company_id.currency_id}])[0]['currency_id'].symbol
followup_table += '''
<table border="2" width=100%%>
<tr>
<td>Invoice date</td>
<td>Reference</td>
<td>Due date</td>
<td>Amount (%s)</td>
<td>Lit.</td>
</tr>
''' % (currency_symbol)
total = 0
for aml in currency_dict['line']:
block = aml['blocked'] and 'X' or ' '
total += aml['balance']
strbegin = "<TD> "
strend = "</TD> "
date = aml['date_maturity'] or aml['date']
if date <= ctx['current_date'] and aml['balance'] > 0:
strbegin = "<TD><B>"
strend = "</B></TD>"
followup_table +="<TR>" + strbegin + str(aml['date']) + strend + strbegin + aml['ref'] + strend + strbegin + str(date) + strend + strbegin + str(aml['balance']) + strend + strbegin + block + strend + "</TR>"
total = rml_parse.formatLang(total, dp='Account', currency_obj=object.company_id.currency_id)
followup_table += '''<tr> </tr>
</table>
<center>Amount due: %s </center>''' % (total)
%>
${followup_table}
${ctx.get('followup_table','')}
<br/>
@ -228,81 +123,37 @@ ${followup_table}
<!-- Default follow up message -->
<record id="email_template_account_followup_default" model="email.template">
<field name="name">Default follow-up of overdue invoices</field>
<field name="email_from">${user.email or ''}</field>
<field name="subject">${user.company_id.name} Payment Follow-up</field>
<field name="email_to">${object.email}</field>
<field name="lang">${object.lang}</field>
<field name="name">Default payment follow-up reminder e-mail</field>
<field name="email_from">${user.email or '' | h}</field>
<field name="subject">${user.company_id.name | h} Payment Reminder</field>
<field name="email_to">${object.email | h}</field>
<field name="lang">${object.lang | h}</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="auto_delete" eval="True"/>
<field name="body_html"><![CDATA[
<div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, 255, 255); ">
<p>Dear ${object.name},</p>
<p>Dear ${object.name | h},</p>
<p>
Exception made if there was a mistake of ours, it seems that the following amount stays unpaid. Please, take
appropriate measures in order to carry out this payment in the next 8 days.
Would your payment have been carried out after this mail was sent, please ignore this message. Do not hesitate to
contact our accounting department at (+32).10.68.94.39.
contact our accounting department.
</p>
<br/>
Best Regards,
</br>
</br>
<br/>
${user.name}
<br/>
${user.name | h}
<br/>
<br/>
<%
from openerp.addons.account_followup.report import account_followup_print
rml_parse = account_followup_print.report_rappel(object._cr, user.id, "followup_rml_parser")
final_res = rml_parse._lines_get_with_partner(object, user.company_id.id)
followup_table = ''
for currency_dict in final_res:
currency_symbol = currency_dict.get('line', [{'currency_id': user.company_id.currency_id}])[0]['currency_id'].symbol
followup_table += '''
<table border="2" width=100%%>
<tr>
<td>Invoice date</td>
<td>Reference</td>
<td>Due date</td>
<td>Amount (%s)</td>
<td>Lit.</td>
</tr>
''' % (currency_symbol)
total = 0
for aml in currency_dict['line']:
block = aml['blocked'] and 'X' or ' '
total += aml['balance']
strbegin = "<TD> "
strend = "</TD> "
date = aml['date_maturity'] or aml['date']
if date <= ctx['current_date'] and aml['balance'] > 0:
strbegin = "<TD><B>"
strend = "</B></TD>"
followup_table +="<TR>" + strbegin + str(aml['date']) + strend + strbegin + aml['ref'] + strend + strbegin + str(date) + strend + strbegin + str(aml['balance']) + strend + strbegin + block + strend + "</TR>"
total = rml_parse.formatLang(total, dp='Account', currency_obj=object.company_id.currency_id)
followup_table += '''<tr> </tr>
</table>
<center>Amount due: %s </center>''' % (total)
%>
${followup_table}
<br/>
${ctx.get('followup_table','')}
<br/>
</div>
]]></field>
</record>
<record id="demo_followup1" model="account_followup.followup">
<field name="company_id" ref="base.main_company"/>
@ -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,
</field>
@ -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,
</field>
</record>
<record id="demo_followup_line3" model="account_followup.followup.line">
<field name="name">Call the customer on the phone</field>
<field name="sequence">3</field>
@ -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,
</field>

View File

@ -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,
</field>
@ -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,
</field>

View File

@ -69,7 +69,6 @@
<record id="view_account_followup_followup_form" model="ir.ui.view">
<field name="name">account_followup.followup.form</field>
<field name="model">account_followup.followup</field>
<!-- <field name="group_ids" groups="base.group_multi_company"/>-->
<field name="arch" type="xml">
<form string="Follow-up" version="7.0">
<h1><field name="company_id" widget="selection" class="oe_inline"/></h1>
@ -77,9 +76,11 @@
To remind customers of paying their invoices, you can
define different actions depending on how severely
overdue the customer is. These actions are bundled
into folow-up levels that are triggered when the due
date of the most overdue invoice has passed a certain
amount of days.
into follow-up levels that are triggered when the due
date of an invoice has passed a certain
number of days. If there are other overdue invoices for the
same customer, the actions of the most
overdue invoice will be executed.
</p>
<field name="followup_line"/>
</form>
@ -91,7 +92,7 @@
<field name="model">account_followup.followup</field>
<field name="arch" type="xml">
<tree string="Follow-up">
<field name="company_id" /> <!--groups="base.group_multi_company"-->
<field name="company_id" />
</tree>
</field>
</record>
@ -180,18 +181,5 @@
</field>
</field>
</record>
<!-- <record id="view_move_line_tree" model="ir.ui.view">
<field name="name">account.move.line.tree.followup</field>
<field name="model">account.move.line</field>
<field name="inherit_id" ref="account.view_move_line_tree"/>
<field name="arch" type="xml">
<field name="state" position="before">
<field name="followup_date"/>
<field name="followup_line_id"/>
</field>
</field>
</record> -->
</data>
</openerp>

File diff suppressed because it is too large Load Diff

View File

@ -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) <Unknown>\n"
"PO-Revision-Date: 2012-12-09 18:16+0000\n"
"Last-Translator: Harjan Talen <harjantalen@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-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

View File

@ -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 <Unknown>\n"
"PO-Revision-Date: 2012-12-07 10:43+0000\n"
"Last-Translator: Andrei Talpa (multibase.pt) <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

View File

@ -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 <ccdos@163.com>\n"
"PO-Revision-Date: 2012-12-09 04:57+0000\n"
"Last-Translator: sum1201 <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-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

View File

@ -25,6 +25,8 @@ from openerp import pooler
from openerp.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',

View File

@ -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")

View File

@ -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):

View File

@ -13,7 +13,7 @@
</group>
<p class ="oe_grey">
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.
</p>
<footer>
<button name="do_process" string="Send emails and generate letters" type="object" class="oe_highlight"/>

View File

@ -7,14 +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-02-08 08:52+0000\n"
"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n"
"PO-Revision-Date: 2012-12-07 15:45+0000\n"
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
"consulting.net>\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:35+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_payment
#: model:ir.actions.act_window,help:account_payment.action_payment_order_tree
@ -28,6 +29,15 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
" Klicken Sie zur Erstellung eines Zahlungsauftrags.\n"
" </p><p>\n"
" Ein Zahlungsauftrag ist eine Zahlungsaufforderung aus Ihrem "
"Unternehmen zur Zahlung \n"
" einer Lieferantenrechnung oder einer Rückerstattung durch "
"eine Kundengutschrift.\n"
" </p>\n"
" "
#. module: account_payment
#: field:payment.line,currency:0
@ -123,13 +133,16 @@ msgid ""
"You cannot cancel an invoice which has already been imported in a payment "
"order. Remove it from the following payment order : %s."
msgstr ""
"Sie können keine Rechnung stornieren, die Sie bereits in einen "
"Zahlungsauftrag übernommen haben. Entfernen Sie die Rechnung vom "
"Zahlungsauftrag: %s ."
#. module: account_payment
#: code:addons/account_payment/account_invoice.py:43
#: code:addons/account_payment/account_move_line.py:110
#, python-format
msgid "Error!"
msgstr ""
msgstr "Fehler !"
#. module: account_payment
#: report:payment.order:0
@ -194,6 +207,9 @@ msgid ""
" Once the bank is confirmed the status is set to 'Confirmed'.\n"
" Then the order is paid the status is 'Done'."
msgstr ""
"Wenn ein Zahlungsauftrag erstellt wird ist der Status 'Entwurf'.\n"
" Durch Bestätigung wechselt der Status in 'Bestätigt'.\n"
" Durch die tatsächliche Freigabe zu Zahlung wechselt der"
#. module: account_payment
#: view:payment.order:0
@ -219,7 +235,7 @@ msgstr "Strukturiert"
#. module: account_payment
#: view:account.bank.statement:0
msgid "Import Payment Lines"
msgstr ""
msgstr "Import von Zahlungspositionen"
#. module: account_payment
#: view:payment.line:0
@ -262,7 +278,7 @@ msgstr ""
#. module: account_payment
#: field:payment.order,date_created:0
msgid "Creation Date"
msgstr ""
msgstr "Datum Erstellung"
#. module: account_payment
#: help:payment.mode,journal:0
@ -369,7 +385,7 @@ msgstr "Beleg Zahlungsvorschlag"
#: code:addons/account_payment/account_move_line.py:110
#, python-format
msgid "There is no partner defined on the entry line."
msgstr ""
msgstr "Es gibt keinen Partner als Zahlungsempfänger für diese Position."
#. module: account_payment
#: help:payment.mode,name:0
@ -401,7 +417,7 @@ msgstr "Entwurf"
#: view:payment.order:0
#: field:payment.order,state:0
msgid "Status"
msgstr ""
msgstr "Status"
#. module: account_payment
#: help:payment.line,communication2:0
@ -449,7 +465,7 @@ msgstr "Suche"
#. module: account_payment
#: field:payment.order,user_id:0
msgid "Responsible"
msgstr ""
msgstr "Verantwortlicher"
#. module: account_payment
#: field:payment.line,date:0
@ -464,7 +480,7 @@ msgstr "Summe:"
#. module: account_payment
#: field:payment.order,date_done:0
msgid "Execution Date"
msgstr ""
msgstr "Datum Ausführung"
#. module: account_payment
#: view:account.payment.populate.statement:0
@ -582,7 +598,7 @@ msgstr "Verwendungszweck 2"
#. module: account_payment
#: field:payment.order,date_scheduled:0
msgid "Scheduled Date"
msgstr ""
msgstr "Geplantes Datum"
#. module: account_payment
#: view:account.payment.make.payment:0
@ -677,14 +693,14 @@ msgstr "Bezahlung"
#. module: account_payment
#: field:payment.order,date_prefered:0
msgid "Preferred Date"
msgstr ""
msgstr "bevorzugtes Datum"
#. module: account_payment
#: view:account.payment.make.payment:0
#: view:account.payment.populate.statement:0
#: view:payment.order.create:0
msgid "or"
msgstr ""
msgstr "oder"
#. module: account_payment
#: help:payment.mode,bank_id:0

View File

@ -0,0 +1,2 @@
import account_test
import report

View File

@ -0,0 +1,47 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (c) 2011 CCI Connect asbl (http://www.cciconnect.be) All Rights Reserved.
# Philmer <philmer@cciconnect.be>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{
'name' : 'Accounting Consistency Tests',
'version' : '1.0',
'author' : 'OpenERP',
'category' : 'Accounting & Finance',
'website': 'http://www.openerp.com',
'description': """
Asserts on accounting.
======================
With this module you can manually check consistencies and inconsistencies of accounting module from menu Reporting/Accounting/Accounting Tests.
You can write a query in order to create Consistency Test and you will get the result of the test
in PDF format which can be accessed by Menu Reporting -> Accounting Tests, then select the test
and print the report from Print button in header area.
""",
'depends' : ['account'],
'data' : [
'security/ir.model.access.csv',
'account_test_view.xml',
'account_test_report.xml',
'account_test_data.xml',
],
'active': False,
'installable': True
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,65 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Copyright (c) 2005-2006 TINY SPRL. (http://tiny.be) All Rights Reserved.
#
# $Id: product_expiry.py 4304 2006-10-25 09:54:51Z ged $
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
from osv import fields,osv
import pooler
import netsvc
import time
from xml import dom
CODE_EXEC_DEFAULT = '''\
res = []
cr.execute("select id, code from account_journal")
for record in cr.dictfetchall():
res.append(record['code'])
result = res
'''
class accounting_assert_test(osv.osv):
_name = "accounting.assert.test"
_order = "sequence"
_columns = {
'name': fields.char('Test Name', size=256, required=True, select=True, translate=True),
'desc': fields.text('Test Description', select=True, translate=True),
'code_exec': fields.text('Python code', required=True),
'active': fields.boolean('Active'),
'sequence': fields.integer('Sequence'),
}
_defaults = {
'code_exec': CODE_EXEC_DEFAULT,
'active': True,
'sequence': 10,
}
accounting_assert_test()

View File

@ -0,0 +1,172 @@
<?xml version="1.0"?>
<openerp>
<data>
<record model="accounting.assert.test" id="account_test_01">
<field name="sequence">1</field>
<field name="name">Test 1: General balance</field>
<field name="desc">Check the balance: Debit sum = Credit sum</field>
<field name="code_exec"><![CDATA[sql="""SELECT
sum(debit)-sum(credit) as balance
FROM account_move_line
"""
cr.execute(sql)
result=[]
res= cr.dictfetchall()
if res[0]['balance']!=0.0 and res[0]['balance'] is not None:
result.append(_('* The difference of the balance is: '))
result.append(res)
]]></field>
</record>
<record model="accounting.assert.test" id="account_test_02">
<field name="sequence">2</field>
<field name="name">Test 2: Opening a fiscal year</field>
<field name="desc">Check if the balance of the new opened fiscal year matches with last year's balance</field>
<field name="code_exec"><![CDATA[result = []
cr.execute("select coalesce(sum(debit),0) as debit_new_fyear,coalesce(sum(credit),0) as credit_new_fyear from account_move_line where period_id in (select id from account_period where state='draft' and special order by id desc limit 1);")
rec = cr.dictfetchall()
cr.execute("select coalesce(sum(debit),0) as debit_last_fyear,coalesce(sum(credit),0) as credit_last_fyear from account_move_line where period_id in (select period_id from account_fiscalyear where state='done' order by id desc limit 1);")
rec2= cr.dictfetchall()
if (rec2[0]['credit_last_fyear']-rec[0]['credit_new_fyear']!=0) or (rec2[0]['debit_last_fyear']-rec[0]['debit_new_fyear']!=0) :
result.append(_('* New fiscalyear debit and credit are:'))
result.append(rec[0])
result.append(_('* Last year debit and credit are:'))
result.append(rec2[0])
]]></field>
</record>
<record model="accounting.assert.test" id="account_test_03">
<field name="sequence">3</field>
<field name="name">Test 3: Movement lines</field>
<field name="desc">Check if movement lines are balanced and have the same date and period</field>
<field name="code_exec"><![CDATA[order_columns=['am_date','ml_date','am.period_id','ml.period_id','am.id']
sql="""SELECT
am.id as move_id,
sum(debit)-sum(credit) as balance,
am.period_id,
ml.period_id,
am.date as am_date,
ml.date as ml_date
FROM account_move am, account_move_line ml
WHERE
ml.move_id = am.id
GROUP BY am.name, am.id, am.state, am.period_id, ml.period_id,am.period_id, ml.period_id,am.date, ml.date
HAVING abs(sum(ml.debit-ml.credit)) <> 0 or am.period_id!=ml.period_id or (am.date!=ml.date)
"""
cr.execute(sql)
res = cr.dictfetchall()
if res:
res.insert(0,_('* The test failed for these movement lines:'))
result = res
]]></field>
</record>
<record model="accounting.assert.test" id="account_test_04">
<field name="sequence">4</field>
<field name="name">Test 4: Totally reconciled mouvements</field>
<field name="desc">Check if the totally reconciled movements are balanced</field>
<field name="code_exec"><![CDATA[res = []
cr.execute("SELECT distinct reconcile_id from account_move_line where reconcile_id is not null")
rec_ids = cr.dictfetchall()
for record in rec_ids :
cr.execute("SELECT distinct r.name,r.id from account_journal j,account_period p, account_move_reconcile r,account_move m, account_move_line ml where m.journal_id=j.id and m.period_id=p.id and ml.reconcile_id=%s and ml.move_id=m.id and ml.reconcile_id=r.id group by r.id,r.name having sum(ml.debit)-sum(ml.credit)<>0", (record['reconcile_id'],))
reconcile_ids=cr.dictfetchall()
if reconcile_ids:
res.append(', '.join(["Reconcile name: %(name)s, id=%(id)s " % r for r in reconcile_ids]))
result = res
if result:
result.insert(0,_('* The test failed for these reconciled items(id/name):'))
]]></field>
</record>
<record model="accounting.assert.test" id="account_test_05">
<field name="sequence">5</field>
<field name="name">Test 5.1 : Payable and Receivable accountant lines of reconciled invoices</field>
<field name="desc">Check that reconciled invoice for Sales/Purchases has reconciled entries for Payable and Receivable Accounts</field>
<field name="code_exec"><![CDATA[res = []
cr.execute("SELECT distinct inv.number,inv.id from account_invoice inv, account_move m, account_move_line ml, account_account a where m.id=ml.move_id and ml.account_id=a.id and a.type in ('receivable','payable') and inv.move_id=m.id and ml.reconcile_id is not null;")
records= cr.dictfetchall()
rec = [r['id'] for r in records]
res = reconciled_inv()
invoices = set(rec).difference(set(res))
result = [rec for rec in records if rec['id'] in invoices]
if result:
result.insert(0,_('* Invoices that need to be checked: '))
]]></field>
</record>
<record model="accounting.assert.test" id="account_test_05_2">
<field name="sequence">6</field>
<field name="name">Test 5.2 : Reconcilied invoices and Payable/Receivable accounts</field>
<field name="desc">Check that reconciled account moves, that define Payable and Receivable accounts, are belonging to reconciled invoices</field>
<field name="code_exec"><![CDATA[res = reconciled_inv()
result=[]
if res:
cr.execute("SELECT distinct inv.number,inv.id from account_invoice inv, account_move_line ml, account_account a, account_move m where m.id=ml.move_id and inv.move_id=m.id and inv.id=inv.move_id and ml.reconcile_id is null and a.type in ('receivable','payable') and ml.account_id=a.id and inv.id in %s",(tuple(res),))
records = cr.dictfetchall()
result = [rec for rec in records]
if result:
result.insert(0,_('* Invoices that need to be checked: '))
]]></field>
</record>
<record model="accounting.assert.test" id="account_test_06">
<field name="sequence">7</field>
<field name="name">Test 6 : Invoices status</field>
<field name="desc">Check that paid/reconciled invoices are not in 'Open' state</field>
<field name="code_exec"><![CDATA[
res = []
column_order = ['number','id','name','state']
if reconciled_inv():
cr.execute("select inv.name,inv.state,inv.id,inv.number from account_invoice inv where inv.state!='paid' and id in %s", (tuple(reconciled_inv()),))
res = cr.dictfetchall()
result = res
if result:
result.insert(0,_('* Invoices that need to be checked: '))
]]></field>
</record>
<record model="accounting.assert.test" id="account_test_06_1">
<field name="sequence">8</field>
<field name="name">Test 7: « View  » account type</field>
<field name="desc">Check that there's no move for any account with « View » account type</field>
<field name="code_exec"><![CDATA[column_order=['name','ref','id','date']
sql = "select id, name, ref, date from account_move_line where account_id in (select id from account_account where type = 'view')"
cr.execute(sql)
result = cr.dictfetchall()
if result:
result.insert(0,_('* Movement lines that need to be checked: '))
]]></field>
</record>
<record model="accounting.assert.test" id="account_test_07">
<field name="sequence">9</field>
<field name="name">Test 8 : Closing balance on bank statements</field>
<field name="desc">Check on bank statement that the Closing Balance = Starting Balance + sum of statement lines</field>
<field name="code_exec"><![CDATA[column_order = ['name','difference']
cr.execute("SELECT s.balance_start+sum(m.amount)-s.balance_end_real as difference, s.name from account_bank_statement s inner join account_bank_statement_line m on m.statement_id=s.id group by s.id, s.balance_start, s.balance_end_real,s.name having abs(s.balance_start+sum(m.amount)-s.balance_end_real) > 0.000000001;")
result = cr.dictfetchall()
if result:
result.insert(0,_('* Unbalanced bank statement that need to be checked: '))
]]></field>
</record>
<record model="accounting.assert.test" id="account_test_08">
<field name="sequence">10</field>
<field name="name">Test 9 : Accounts and partners on account moves</field>
<field name="desc">Check that general accounts and partners on account moves are active</field>
<field name="code_exec"><![CDATA[column_order=['partner_name','partner_active','account_name','move_line_id','period']
res = []
cr.execute("SELECT l.id as move_line_id,a.name as account_name,a.code as account_code,r.name as partner_name,r.active as partner_active,p.name as period from account_period p,res_partner r, account_account a,account_move_line l where l.account_id=a.id and l.partner_id=r.id and (not r.active or not a.active) and l.period_id=p.id")
res = cr.dictfetchall()
result = res
if result:
result.insert(0,_('* Here is the list of inactive partners and movement lines that are not correct: '))
]]></field>
</record>
</data>
</openerp>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<report
id="account_assert_test_report"
model="accounting.assert.test"
name="account.test.assert.print"
rml="account_test/report/account_test.rml"
header="False"
string="Accounting Tests"/>
</data>
</openerp>

View File

@ -0,0 +1,85 @@
<?xml version="1.0"?>
<openerp>
<data>
<record model="ir.ui.view" id="account_assert_tree">
<field name="name">Tests</field>
<field name="model">accounting.assert.test</field>
<field name="arch" type="xml">
<tree string="Tests">
<field name="sequence"/>
<field name="name"/>
<field name="desc"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="account_assert_form">
<field name="name">Tests</field>
<field name="model">accounting.assert.test</field>
<field name="arch" type="xml">
<form string="Tests" version="7.0">
<sheet>
<group>
<group>
<field name="name"/>
<field name="sequence"/>
</group>
<group>
<field name="active"/>
</group>
</group>
<notebook>
<page string="Description">
<field name="desc" nolabel="1"/>
</page>
<page string="Expression">
<group string="Python Code">
<field colspan="4" name="code_exec" nolabel="1"/>
</group>
<group string="Code Help">
<pre>
Code should always set a variable named `result` with the result of your test, that can be a list or
a dictionary. If `result` is an empty list, it means that the test was succesful. Otherwise it will
try to translate and print what is inside `result`.
If the result of your test is a dictionary, you can set a variable named `column_order` to choose in
what order you want to print `result`'s content.
Should you need them, you can also use the following variables into your code:
* cr: cursor to the database
* uid: ID of the current user
In any ways, the code must be legal python statements with correct indentation (if needed).
Example:
sql = '''SELECT id, name, ref, date
FROM account_move_line
WHERE account_id IN (SELECT id FROM account_account WHERE type = 'view')
'''
cr.execute(sql)
result = cr.dictfetchall()
</pre>
</group>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record model="ir.actions.act_window" id="action_accounting_assert">
<field name="name">Accounting Tests</field>
<field name="res_model">accounting.assert.test</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create Accounting Test.
</p>
</field>
</record>
<menuitem name="Accounting Tests" parent="account.menu_finance_reporting" id="menu_action_license" action="action_accounting_assert"/>
</data>
</openerp>

View File

@ -0,0 +1,3 @@
import account_test_report
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,78 @@
<?xml version="1.0"?>
<document filename="test.pdf">
<template pageSize="(595.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="57.0" y1="57.0" width="481" height="728"/>
</pageTemplate>
</template>
<stylesheet>
<blockTableStyle id="Standard_Outline">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Tableau1">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="0,0" stop="0,0"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/>
</blockTableStyle>
<blockTableStyle id="Table1">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="0,0" stop="0,0"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="0,1" stop="1,1"/>
<lineStyle kind="LINEBEFORE" colorName="#000000" start="0,0" stop="0,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#000000" start="0,1" stop="0,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#000000" start="1,0" stop="1,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#000000" start="1,1" stop="1,-1"/>
<lineStyle kind="LINEAFTER" colorName="#000000" start="1,0" stop="1,-1"/>
<lineStyle kind="LINEAFTER" colorName="#000000" start="1,1" stop="1,-1"/>
</blockTableStyle>
<initialize>
<paraStyle name="all" alignment="justify"/>
</initialize>
<paraStyle name="Standard" fontName="Times-Roman"/>
<paraStyle name="Heading" fontName="Times-Roman" fontSize="16.0" leading="20" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P10" fontName="Times-Roman" fontSize="16.0" leading="20" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="List" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Caption" fontName="Times-Roman" fontSize="12.0" leading="15" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="Index" fontName="Times-Roman"/>
<paraStyle name="Table Contents" fontName="Times-Roman"/>
<images/>
</stylesheet>
<story>
<para style="Heading">Accouting tests on [[ datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") ]]</para>
<para style="Standard">
<font color="white"> </font>
</para>
<section>
<para style="Standard">[[repeatIn(objects,'o')]]</para>
<blockTable colWidths="482.0" style="Table1">
<tr>
<td>
<para style="Table Contents">[[ o.name ]]</para>
</td>
</tr>
<tr>
<td>
<para style="Table Contents"><i>[[ o.desc or '' ]]</i></para>
</td>
</tr>
</blockTable>
<blockTable colWidths="482.0" style="Tableau1">
<tr>
<td>
<para style="Table Contents">[[ repeatIn(execute_code(o.code_exec), 'test_result') ]]</para>
<para style="Table Contents">[[ test_result ]] </para>
</td>
</tr>
</blockTable>
<para style="Standard">
<font color="white"> </font>
</para>
</section>
</story>
</document>

View File

@ -0,0 +1,87 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved
# $Id$
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import datetime
import time
from report import report_sxw
from tools.translate import _
#
# Use period and Journal for selection or resources
#
class report_assert_account(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
super(report_assert_account, self).__init__(cr, uid, name, context=context)
self.localcontext.update( {
'time': time,
'datetime': datetime,
'execute_code': self.execute_code,
})
def execute_code(self, code_exec):
def reconciled_inv():
"""
returns the list of invoices that are set as reconciled = True
"""
return self.pool.get('account.invoice').search(self.cr, self.uid, [('reconciled','=',True)])
def order_columns(item, cols=None):
"""
This function is used to display a dictionary as a string, with its columns in the order chosen.
:param item: dict
:param cols: list of field names
:returns: a list of tuples (fieldname: value) in a similar way that would dict.items() do except that the
returned values are following the order given by cols
:rtype: [(key, value)]
"""
if cols is None:
cols = item.keys()
return [(col, item.get(col)) for col in cols if col in item.keys()]
localdict = {
'cr': self.cr,
'uid': self.uid,
'reconciled_inv': reconciled_inv, #specific function used in different tests
'result': None, #used to store the result of the test
'column_order': None, #used to choose the display order of columns (in case you are returning a list of dict)
}
exec code_exec in localdict
result = localdict['result']
column_order = localdict.get('column_order', None)
if not isinstance(result, (tuple, list, set)):
result = [result]
if not result:
result = [_('The test was passed successfully')]
else:
def _format(item):
if isinstance(item, dict):
return ', '.join(["%s: %s" % (tup[0], tup[1]) for tup in order_columns(item, column_order)])
else:
return item
result = [_(_format(rec)) for rec in result]
return result
report_sxw.report_sxw('report.account.test.assert.print', 'accounting.assert.test', 'addons/account_test/report/account_test.rml', parser=report_assert_account, header=False)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,3 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_accounting_assert_test","accounting.assert.test","model_accounting_assert_test",base.group_system,1,0,0,1
"access_accounting_assert_test_manager","accounting.assert.test","model_accounting_assert_test",account.group_account_manager,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_accounting_assert_test accounting.assert.test model_accounting_assert_test base.group_system 1 0 0 1
3 access_accounting_assert_test_manager accounting.assert.test model_accounting_assert_test account.group_account_manager 1 0 0 0

View File

@ -26,7 +26,7 @@
'summary': 'Send Invoices and Track Payments',
'description': """
Invoicing & Payments by Accounting Voucher & Receipts
======================================================
=====================================================
The specific and easy-to-use Invoicing system in OpenERP allows you to keep track of your accounting, even when you are not an accountant. It provides an easy way to follow up on your suppliers and customers.
You could use this simplified accounting in case you work with an (external) account to keep your books, and you still want to keep track of payments.

View File

@ -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:01+0000\n"
"PO-Revision-Date: 2012-05-10 17:49+0000\n"
"PO-Revision-Date: 2012-12-07 20:51+0000\n"
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
"consulting.net>\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:41+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_voucher
#: field:account.bank.statement.line,voucher_id:0
@ -64,7 +64,7 @@ msgstr "Berechnet als Differenz zwischen Belege und Belegzeilen"
#. module: account_voucher
#: view:account.voucher:0
msgid "(Update)"
msgstr ""
msgstr "(Aktualisieren)"
#. module: account_voucher
#: code:addons/account_voucher/account_voucher.py:1093
@ -99,7 +99,7 @@ msgstr "März"
#. module: account_voucher
#: field:account.voucher,message_unread:0
msgid "Unread Messages"
msgstr ""
msgstr "Ungelesene Nachrichten"
#. module: account_voucher
#: view:account.voucher:0
@ -109,7 +109,7 @@ msgstr "Bezahle Rechnung"
#. module: account_voucher
#: view:account.voucher:0
msgid "Are you sure you want to cancel this receipt?"
msgstr ""
msgstr "Sind Sie sicher, dass Sie diesen Beleg löschen wollen ?"
#. module: account_voucher
#: view:account.voucher:0
@ -130,7 +130,7 @@ msgstr "Gruppiere je Jahr der Rechnung"
#: view:sale.receipt.report:0
#: field:sale.receipt.report,user_id:0
msgid "Salesperson"
msgstr ""
msgstr "Verkäufer"
#. module: account_voucher
#: view:account.voucher:0
@ -144,6 +144,8 @@ msgid ""
"You can not change the journal as you already reconciled some statement "
"lines!"
msgstr ""
"Dieses Journal kann nicht geändert werden, da bereits Auszugspositionen "
"ausgeglichen wurden."
#. module: account_voucher
#: view:account.voucher:0
@ -161,6 +163,13 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
"                 Klicken Sie zur Erfassung eines Kaufbeleg.\n"
"               </ p>\n"
" Wenn der Kaufbeleg bestätigt wird, können Sie die\n"
"                 Lieferanten Bezahlung erfassen.\n"
"               </ p>\n"
" "
#. module: account_voucher
#: view:account.voucher:0
@ -210,7 +219,7 @@ msgstr "Anmerkungen"
#. module: account_voucher
#: field:account.voucher,message_ids:0
msgid "Messages"
msgstr ""
msgstr "Mitteilungen"
#. module: account_voucher
#: selection:account.voucher,type:0
@ -228,7 +237,7 @@ msgstr "Journal Buchung"
#: code:addons/account_voucher/account_voucher.py:964
#, python-format
msgid "Error!"
msgstr ""
msgstr "Fehler !"
#. module: account_voucher
#: field:account.voucher.line,amount:0
@ -272,11 +281,19 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
" Klicken Sie zur Erstellung eines Kaufbeleg.\n"
" </p><p>\n"
" Wenn Sie den Kaufbeleg bestätigt haben, können Sie optional "
"die\n"
"                 Einzahlung sofort oder später erfassen.\n"
" </p>\n"
" "
#. module: account_voucher
#: help:account.voucher,message_unread:0
msgid "If checked new messages require your attention."
msgstr ""
msgstr "Benachrichtigung erfordert handeln"
#. module: account_voucher
#: model:ir.model,name:account_voucher.model_account_bank_statement_line
@ -298,7 +315,7 @@ msgstr "Steuer"
#: code:addons/account_voucher/account_voucher.py:864
#, python-format
msgid "Invalid Action!"
msgstr ""
msgstr "Diese Aktion ist fehlerhaft !"
#. module: account_voucher
#: field:account.voucher,comment:0
@ -316,6 +333,9 @@ msgid ""
"Holds the Chatter summary (number of messages, ...). This summary is "
"directly in html format in order to be inserted in kanban views."
msgstr ""
"Beinhaltet die Chatter Zusammenfassung (Anzahl der Nachrichten, ...). Diese "
"Zusammenfassung ist im HTML-Format, um in Kanban Karten Ansichten eingefügt "
"zu werden."
#. module: account_voucher
#: view:account.voucher:0
@ -325,7 +345,7 @@ msgstr "Zahlungsinformation"
#. module: account_voucher
#: view:account.voucher:0
msgid "(update)"
msgstr ""
msgstr "(aktualisieren)"
#. module: account_voucher
#: view:account.voucher:0
@ -361,6 +381,9 @@ msgid ""
"settings, to manage automatically the booking of accounting entries related "
"to differences between exchange rates."
msgstr ""
"Sie sollten in den Einstellungen für die Buchhaltung das 'Kursgewinn Konto' "
"einstellen, um automatisch die entstehenden erforderlichen Buchungen für "
"Wechselkursdifferenzen zu generieren."
#. module: account_voucher
#: view:account.voucher:0
@ -397,7 +420,7 @@ msgstr "Konto belasten (Soll)"
#: code:addons/account_voucher/account_voucher.py:1558
#, python-format
msgid "Unable to change journal !"
msgstr ""
msgstr "Es ist nicht möglich das Journal zu ändern !"
#. module: account_voucher
#: view:sale.receipt.report:0
@ -527,12 +550,22 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
"                 Klicken Sie zur Eingabe einer Einzahlung.\n"
"               </ p>\n"
"                 Erfassen Sie den Kunden, die Zahlungsmethode und den "
"Betrag, bevor Sie dann entweder \n"
" einfach nur die Zahlung bestätigen oder den automatischen "
"Vorschlag der auszugleichenden \n"
" Rechnungen bzw. Verkaufsbelege übernehmen und buchen.\n"
"               </ p>\n"
" "
#. module: account_voucher
#: field:account.config.settings,expense_currency_exchange_account_id:0
#: field:res.company,expense_currency_exchange_account_id:0
msgid "Loss Exchange Rate Account"
msgstr ""
msgstr "Kursverlust Konto"
#. module: account_voucher
#: view:account.voucher:0
@ -566,6 +599,9 @@ msgid ""
"settings, to manage automatically the booking of accounting entries related "
"to differences between exchange rates."
msgstr ""
"Sie sollten das Kursverlust Konto in den Einstellungen der Buchhaltung "
"definieren, um automatisch die Buchungen für die Kursverluste aus "
"Wechselkursänderungen zu generieren."
#. module: account_voucher
#: view:account.voucher:0
@ -575,7 +611,7 @@ msgstr "Aufwandspositionen"
#. module: account_voucher
#: view:account.voucher:0
msgid "Sale voucher"
msgstr ""
msgstr "Verkauf Belege"
#. module: account_voucher
#: help:account.voucher,is_multi_currency:0
@ -589,7 +625,7 @@ msgstr ""
#. module: account_voucher
#: view:account.invoice:0
msgid "Register Payment"
msgstr ""
msgstr "Erfassen Einzahlung"
#. module: account_voucher
#: field:account.statement.from.invoice.lines,line_ids:0
@ -627,17 +663,17 @@ msgstr "Kreditoren und Debitoren"
#. module: account_voucher
#: view:account.voucher:0
msgid "Voucher Payment"
msgstr ""
msgstr "Zahlung Belege"
#. module: account_voucher
#: field:sale.receipt.report,state:0
msgid "Voucher Status"
msgstr ""
msgstr "Belegstatus"
#. module: account_voucher
#: view:account.voucher:0
msgid "Are you sure to unreconcile this record?"
msgstr ""
msgstr "Möchten Sie wirklich den Ausgleich stornieren?"
#. module: account_voucher
#: field:account.voucher,company_id:0
@ -661,7 +697,7 @@ msgstr "OP-Ausgleich Saldo"
#: code:addons/account_voucher/account_voucher.py:960
#, python-format
msgid "Configuration Error !"
msgstr ""
msgstr "Konfigurationsfehler !"
#. module: account_voucher
#: view:account.voucher:0
@ -678,14 +714,14 @@ msgstr "Bruttobetrag"
#. module: account_voucher
#: view:account.voucher:0
msgid "Purchase Voucher"
msgstr ""
msgstr "Einkauf Belege"
#. module: account_voucher
#: view:account.voucher:0
#: field:account.voucher,state:0
#: view:sale.receipt.report:0
msgid "Status"
msgstr ""
msgstr "Status"
#. module: account_voucher
#: view:account.voucher:0
@ -696,7 +732,7 @@ msgstr "Zuordnung"
#: view:account.statement.from.invoice.lines:0
#: view:account.voucher:0
msgid "or"
msgstr ""
msgstr "oder"
#. module: account_voucher
#: selection:sale.receipt.report,month:0
@ -721,7 +757,7 @@ msgstr "Oktober"
#: code:addons/account_voucher/account_voucher.py:961
#, python-format
msgid "Please activate the sequence of selected journal !"
msgstr ""
msgstr "Bitte aktivieren Sie die Nummernfolge für das gewählte Journal !"
#. module: account_voucher
#: selection:sale.receipt.report,month:0
@ -779,7 +815,7 @@ msgstr "Betrag Ausgeglichen"
#: field:account.voucher,message_comment_ids:0
#: help:account.voucher,message_comment_ids:0
msgid "Comments and emails"
msgstr ""
msgstr "Kommentare und EMails"
#. module: account_voucher
#: model:ir.actions.act_window,help:account_voucher.action_vendor_payment
@ -792,6 +828,14 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
"                 Klicken Sie zur Eingabe einer Lieferanten Zahlung.\n"
"               </ p>\n"
"                 OpenERP hilft bei der Ermittlung der offenen Rechnungen für "
"Zahlungsvorschläge \n"
" und hilft bei der Verfolgung von Zahlungen .\n"
"               </ p>\n"
" "
#. module: account_voucher
#: selection:account.voucher,pay_now:0
@ -828,18 +872,18 @@ msgstr "Unternehmen"
#. module: account_voucher
#: field:account.voucher,message_summary:0
msgid "Summary"
msgstr ""
msgstr "Zusammenfassung"
#. module: account_voucher
#: field:account.voucher,active:0
msgid "Active"
msgstr ""
msgstr "Aktiv"
#. module: account_voucher
#: code:addons/account_voucher/account_voucher.py:965
#, python-format
msgid "Please define a sequence on the journal."
msgstr ""
msgstr "Bitte definieren Sie eine Nummernfolge für dieses Journal."
#. module: account_voucher
#: view:account.voucher:0
@ -855,7 +899,7 @@ msgstr "Gruppiert je Rechnungsdatum"
#: code:addons/account_voucher/account_voucher.py:1093
#, python-format
msgid "Wrong bank statement line"
msgstr ""
msgstr "Falsche Bankauszugposition"
#. module: account_voucher
#: view:account.voucher:0
@ -952,7 +996,7 @@ msgstr "Abbrechen"
#. module: account_voucher
#: model:ir.actions.client,name:account_voucher.action_client_invoice_menu
msgid "Open Invoicing Menu"
msgstr ""
msgstr "Offene Rechnungen Auswahl"
#. module: account_voucher
#: selection:account.voucher,state:0
@ -972,6 +1016,8 @@ msgstr "Buchungsjournale"
#, python-format
msgid "Please define default credit/debit accounts on the journal \"%s\"."
msgstr ""
"Bitte definieren Sie je ein Standard Soll / Haben Konto für das Journal "
"\"%s\"."
#. module: account_voucher
#: model:ir.actions.act_window,name:account_voucher.act_pay_voucher
@ -1021,6 +1067,16 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p>\n"
" Durch diese Statistik können Sie sich einen Überblick über die "
"abgerechneten Rechnungen \n"
" verschaffen sowie den Status der nicht termingerechten "
"Zahlungen bewerten. Die \n"
" Sucheinstellung kann verwendet werden, um Statistiken zu "
"personalisieren \n"
" und bedarfsgerecht anzupassen.\n"
" </p>\n"
" "
#. module: account_voucher
#: view:account.voucher:0
@ -1050,7 +1106,7 @@ msgstr "Mai"
#. module: account_voucher
#: view:account.voucher:0
msgid "Sale Receipt"
msgstr ""
msgstr "Verkauf Buchungsbelege"
#. module: account_voucher
#: view:account.voucher:0
@ -1143,7 +1199,7 @@ msgstr "Jahr"
#: field:account.config.settings,income_currency_exchange_account_id:0
#: field:res.company,income_currency_exchange_account_id:0
msgid "Gain Exchange Rate Account"
msgstr ""
msgstr "Kursverlust Konto"
#. module: account_voucher
#: selection:sale.receipt.report,month:0
@ -1163,7 +1219,7 @@ msgstr "Standard Typ"
#. module: account_voucher
#: help:account.voucher,message_ids:0
msgid "Messages and communication history"
msgstr ""
msgstr "Nachrichten und Kommunikation Historie"
#. module: account_voucher
#: model:ir.model,name:account_voucher.model_account_statement_from_invoice_lines
@ -1187,12 +1243,14 @@ msgid ""
"The amount of the voucher must be the same amount as the one on the "
"statement line."
msgstr ""
"Der Betrag für diesen Beleg sollte identisch sein mit demjenigen auf dem "
"Bankauszug."
#. module: account_voucher
#: code:addons/account_voucher/account_voucher.py:864
#, python-format
msgid "Cannot delete voucher(s) which are already opened or paid."
msgstr ""
msgstr "Offene oder bezahlte Belege können nicht storniert werden"
#. module: account_voucher
#: help:account.voucher,date:0
@ -1202,7 +1260,7 @@ msgstr "Tatsächliches Buchungsdatum"
#. module: account_voucher
#: model:mail.message.subtype,name:account_voucher.mt_voucher
msgid "Status Change"
msgstr ""
msgstr "Status Änderung"
#. module: account_voucher
#: selection:account.voucher,payment_option:0
@ -1251,7 +1309,7 @@ msgstr "Offener Saldo"
#: code:addons/account_voucher/account_voucher.py:1001
#, python-format
msgid "Insufficient Configuration!"
msgstr ""
msgstr "Unzureichende Konfiguration !"
#. module: account_voucher
#: help:account.voucher,active:0
@ -1260,6 +1318,9 @@ msgid ""
"inactive, which allow to hide the customer/supplier payment while the bank "
"statement isn't confirmed."
msgstr ""
"Standardmäßig werden die Zahlungsausgleiche aus Bank Belegen als inaktiv "
"gesetzt, um Kunden / Lieferanten Bezahlung zu verbergen, während der "
"Kontoauszug noch nicht endgültig bestätigt wurde."
#~ msgid "On Account of :"
#~ msgstr "Bezug Konto:"

View File

@ -8,29 +8,30 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
"PO-Revision-Date: 2012-02-08 08:55+0000\n"
"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n"
"PO-Revision-Date: 2012-12-08 10:41+0000\n"
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
"consulting.net>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-04 05:46+0000\n"
"X-Generator: Launchpad (build 16335)\n"
"X-Launchpad-Export-Date: 2012-12-09 04:39+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: analytic
#: field:account.analytic.account,child_ids:0
msgid "Child Accounts"
msgstr "untergeordnete Konten"
msgstr "untergordnete Kostenstelle"
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "In Progress"
msgstr ""
msgstr "In Arbeit"
#. module: analytic
#: model:mail.message.subtype,name:analytic.mt_account_status
msgid "Status Change"
msgstr ""
msgstr "Status Änderung"
#. module: analytic
#: selection:account.analytic.account,state:0
@ -40,7 +41,7 @@ msgstr "Vorlage"
#. module: analytic
#: view:account.analytic.account:0
msgid "End Date"
msgstr ""
msgstr "Ende Datum"
#. module: analytic
#: help:account.analytic.line,unit_amount:0
@ -60,12 +61,16 @@ msgid ""
"the\n"
" customer."
msgstr ""
"Sobald das Ende Datum des Vertrags überschritten wird oder die maximale "
"Anzahl von Service Einheiten (beispielsweise in einem Support-Vertrag) "
"abgeleistet wurde, wird der Projekt Manager per EMail benachrichtigt, um den "
"Vertrag mit dem Kunden zu erneuern."
#. module: analytic
#: code:addons/analytic/analytic.py:222
#, python-format
msgid "Contract: "
msgstr ""
msgstr "Vertrag: "
#. module: analytic
#: field:account.analytic.account,manager_id:0
@ -75,13 +80,13 @@ msgstr "Verantw. Mitarbeiter"
#. module: analytic
#: field:account.analytic.account,message_follower_ids:0
msgid "Followers"
msgstr ""
msgstr "Followers"
#. module: analytic
#: code:addons/analytic/analytic.py:319
#, python-format
msgid "Contract <b>created</b>."
msgstr ""
msgstr "Vertrag wurde <b>erstellt</b>."
#. module: analytic
#: selection:account.analytic.account,state:0
@ -101,23 +106,23 @@ msgstr "Neu"
#. module: analytic
#: field:account.analytic.account,user_id:0
msgid "Project Manager"
msgstr ""
msgstr "Projekt Manager"
#. module: analytic
#: field:account.analytic.account,state:0
msgid "Status"
msgstr ""
msgstr "Status"
#. module: analytic
#: code:addons/analytic/analytic.py:261
#, python-format
msgid "%s (copy)"
msgstr ""
msgstr "%s (Kopie)"
#. module: analytic
#: model:ir.model,name:analytic.model_account_analytic_line
msgid "Analytic Line"
msgstr "Analytische Buchungszeile"
msgstr "Kostenstellen Buchung"
#. module: analytic
#: field:account.analytic.account,description:0
@ -128,17 +133,17 @@ msgstr "Buchungstext"
#. module: analytic
#: field:account.analytic.account,name:0
msgid "Account/Contract Name"
msgstr ""
msgstr "Kostenstelle/Vertrag Bezeichnung"
#. module: analytic
#: field:account.analytic.account,message_unread:0
msgid "Unread Messages"
msgstr ""
msgstr "Ungelesene Nachrichten"
#. module: analytic
#: constraint:account.analytic.account:0
msgid "Error! You cannot create recursive analytic accounts."
msgstr ""
msgstr "Fehler ! Sie können keine rekursiven Kostenstellen anlegen."
#. module: analytic
#: field:account.analytic.account,company_id:0
@ -149,12 +154,12 @@ msgstr "Unternehmen"
#. module: analytic
#: view:account.analytic.account:0
msgid "Renewal"
msgstr ""
msgstr "Erneuerung"
#. module: analytic
#: help:account.analytic.account,message_ids:0
msgid "Messages and communication history"
msgstr ""
msgstr "Nachrichten und Kommunikation"
#. module: analytic
#: help:account.analytic.account,quantity_max:0
@ -162,6 +167,8 @@ msgid ""
"Sets the higher limit of time to work on the contract, based on the "
"timesheet. (for instance, number of hours in a limited support contract.)"
msgstr ""
"Tragen Sie die für diesen Vertrag maximal abrechenbare Zeit, die sich aus "
"den Stundenzetteln ergibt (z.B. Kontingent Supportstunden)."
#. module: analytic
#: code:addons/analytic/analytic.py:153
@ -182,7 +189,7 @@ msgstr ""
#. module: analytic
#: field:account.analytic.account,message_is_follower:0
msgid "Is a Follower"
msgstr ""
msgstr "Ist ein Follower"
#. module: analytic
#: field:account.analytic.line,user_id:0
@ -211,53 +218,62 @@ msgid ""
"The special type 'Template of Contract' allows you to define a template with "
"default data that you can reuse easily."
msgstr ""
"Wenn Sie 'Ansicht' als Typ einer Kostenstelle auswählen, darf auf dieser "
"Kostenstelle nicht gebucht werden.\n"
"Der Typ 'Kostenstelle' steht für die normalen internen Kostenstellen, die "
"nur in der Buchhaltung verwendet werden.\n"
"Wenn Sie 'Vertrag oder Projekt' auswählen, können Sie die Einstellungen zur "
"Vertragsdauer und zur Abrechnung \n"
"verwalten. In einer 'Vertrag Vorlage' hinterlegen Sie Standard-Daten, die "
"Sie immer wieder verwenden können."
#. module: analytic
#: field:account.analytic.account,message_comment_ids:0
#: help:account.analytic.account,message_comment_ids:0
msgid "Comments and emails"
msgstr ""
msgstr "Kommentare und EMails"
#. module: analytic
#: field:account.analytic.account,partner_id:0
msgid "Customer"
msgstr ""
msgstr "Kunde"
#. module: analytic
#: field:account.analytic.account,child_complete_ids:0
msgid "Account Hierarchy"
msgstr "Kontenhierarchie"
msgstr "Kostenstellen Hierachie"
#. module: analytic
#: field:account.analytic.account,message_ids:0
msgid "Messages"
msgstr ""
msgstr "Mitteilungen"
#. module: analytic
#: constraint:account.analytic.line:0
msgid "You cannot create analytic line on view account."
msgstr ""
"Sie können keine Kostenstellen buchen, die als Ansicht definiert wurde"
#. module: analytic
#: view:account.analytic.account:0
msgid "Contract Information"
msgstr ""
msgstr "Vertrag Informationen"
#. module: analytic
#: field:account.analytic.account,template_id:0
#: selection:account.analytic.account,type:0
msgid "Template of Contract"
msgstr ""
msgstr "Vertrag Vorlage"
#. module: analytic
#: field:account.analytic.account,message_summary:0
msgid "Summary"
msgstr ""
msgstr "Zusammenfassung"
#. module: analytic
#: field:account.analytic.account,quantity_max:0
msgid "Prepaid Service Units"
msgstr ""
msgstr "Servicekontingent"
#. module: analytic
#: field:account.analytic.account,credit:0
@ -273,12 +289,12 @@ msgstr "Betrag"
#: code:addons/analytic/analytic.py:321
#, python-format
msgid "Contract for <em>%s</em> has been <b>created</b>."
msgstr ""
msgstr "Vertrag für <em>%s</em> wurde <b>erstellt</b>."
#. module: analytic
#: view:account.analytic.account:0
msgid "Terms and Conditions"
msgstr ""
msgstr "Bedingungen und Konditionen"
#. module: analytic
#: selection:account.analytic.account,state:0
@ -288,7 +304,7 @@ msgstr "Abgebrochen"
#. module: analytic
#: selection:account.analytic.account,type:0
msgid "Analytic View"
msgstr ""
msgstr "Kostenstelle Ansicht"
#. module: analytic
#: field:account.analytic.account,balance:0
@ -298,18 +314,18 @@ msgstr "Saldo"
#. module: analytic
#: help:account.analytic.account,message_unread:0
msgid "If checked new messages require your attention."
msgstr ""
msgstr "Benachrichtigung erfordert handeln"
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "To Renew"
msgstr ""
msgstr "Zu Erneuern"
#. module: analytic
#: field:account.analytic.account,quantity:0
#: field:account.analytic.line,unit_amount:0
msgid "Quantity"
msgstr "Menge"
msgstr "Anzahl"
#. module: analytic
#: field:account.analytic.account,date:0
@ -319,28 +335,28 @@ msgstr "Ende Datum"
#. module: analytic
#: field:account.analytic.account,code:0
msgid "Reference"
msgstr ""
msgstr "Kostenstellennummer"
#. module: analytic
#: code:addons/analytic/analytic.py:153
#, python-format
msgid "Error!"
msgstr ""
msgstr "Fehler !"
#. module: analytic
#: model:res.groups,name:analytic.group_analytic_accounting
msgid "Analytic Accounting"
msgstr "Analytische Konten"
msgstr "Kostenstellenrechnung"
#. module: analytic
#: selection:account.analytic.account,type:0
msgid "Contract or Project"
msgstr ""
msgstr "Vertrag oder Projekt"
#. module: analytic
#: field:account.analytic.account,complete_name:0
msgid "Full Account Name"
msgstr "Vollständige Kontobezeichnung"
msgstr "Bezeichnung der Kostenstelle"
#. module: analytic
#: view:account.analytic.account:0
@ -348,7 +364,7 @@ msgstr "Vollständige Kontobezeichnung"
#: field:account.analytic.line,account_id:0
#: model:ir.model,name:analytic.model_account_analytic_account
msgid "Analytic Account"
msgstr "Analytisches Konto"
msgstr "Kostenstelle"
#. module: analytic
#: field:account.analytic.account,currency_id:0
@ -361,16 +377,19 @@ msgid ""
"Holds the Chatter summary (number of messages, ...). This summary is "
"directly in html format in order to be inserted in kanban views."
msgstr ""
"Beinhaltet die Chatter Zusammenfassung (Anzahl der Nachrichten, ...). Diese "
"Zusammenfassung ist im HTML-Format, um in Kanban Karten Ansichten eingefügt "
"zu werden."
#. module: analytic
#: field:account.analytic.account,type:0
msgid "Type of Account"
msgstr ""
msgstr "Typ der Kostenstelle"
#. module: analytic
#: field:account.analytic.account,date_start:0
msgid "Start Date"
msgstr ""
msgstr "Start Datum"
#. module: analytic
#: help:account.analytic.line,amount:0
@ -385,7 +404,7 @@ msgstr ""
#. module: analytic
#: field:account.analytic.account,line_ids:0
msgid "Analytic Entries"
msgstr "Analytische Buchungen"
msgstr "Kostenstellen Buchungen"
#~ msgid "Account Name"
#~ msgstr "Kontenbezeichnung"

View File

@ -0,0 +1,73 @@
# German translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
"PO-Revision-Date: 2012-12-08 10:51+0000\n"
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
"consulting.net>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-09 04:39+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: analytic_contract_hr_expense
#: view:account.analytic.account:0
msgid "or view"
msgstr "oder Ansicht"
#. module: analytic_contract_hr_expense
#: view:account.analytic.account:0
msgid "Nothing to invoice, create"
msgstr ""
#. module: analytic_contract_hr_expense
#: view:account.analytic.account:0
msgid "expenses"
msgstr "Spesen"
#. module: analytic_contract_hr_expense
#: model:ir.model,name:analytic_contract_hr_expense.model_account_analytic_account
msgid "Analytic Account"
msgstr "Kostenstelle"
#. module: analytic_contract_hr_expense
#: code:addons/analytic_contract_hr_expense/analytic_contract_hr_expense.py:134
#, python-format
msgid "Expenses to Invoice of %s"
msgstr ""
#. module: analytic_contract_hr_expense
#: code:addons/analytic_contract_hr_expense/analytic_contract_hr_expense.py:119
#, python-format
msgid "Expenses of %s"
msgstr ""
#. module: analytic_contract_hr_expense
#: field:account.analytic.account,expense_invoiced:0
#: field:account.analytic.account,expense_to_invoice:0
#: field:account.analytic.account,remaining_expense:0
msgid "unknown"
msgstr "unbekannt"
#. module: analytic_contract_hr_expense
#: field:account.analytic.account,est_expenses:0
msgid "Estimation of Expenses to Invoice"
msgstr "Geplante Spesenabrechnung"
#. module: analytic_contract_hr_expense
#: field:account.analytic.account,charge_expenses:0
msgid "Charge Expenses"
msgstr "Weiterberechnung Spesen"
#. module: analytic_contract_hr_expense
#: view:account.analytic.account:0
msgid "⇒ Invoice"
msgstr "=> Rechnung"

View File

@ -7,44 +7,45 @@ 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-01-13 19:15+0000\n"
"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n"
"PO-Revision-Date: 2012-12-08 11:12+0000\n"
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
"consulting.net>\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:42+0000\n"
"X-Generator: Launchpad (build 16335)\n"
"X-Launchpad-Export-Date: 2012-12-09 04:39+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: analytic_user_function
#: model:ir.model,name:analytic_user_function.model_account_analytic_line
msgid "Analytic Line"
msgstr ""
msgstr "Kostenstellen Buchung"
#. module: analytic_user_function
#: view:account.analytic.account:0
msgid "Invoice Price Rate per User"
msgstr ""
msgstr "Abrechenbare Stundensätze der Benutzer"
#. module: analytic_user_function
#: field:analytic.user.funct.grid,product_id:0
msgid "Service"
msgstr ""
msgstr "Dienstleistung"
#. module: analytic_user_function
#: model:ir.model,name:analytic_user_function.model_analytic_user_funct_grid
msgid "Price per User"
msgstr ""
msgstr "Preis nach Benutzer"
#. module: analytic_user_function
#: field:analytic.user.funct.grid,price:0
msgid "Price"
msgstr ""
msgstr "Preis"
#. module: analytic_user_function
#: help:analytic.user.funct.grid,price:0
msgid "Price per hour for this user."
msgstr ""
msgstr "Preis pro Stunde für Benutzer"
#. module: analytic_user_function
#: field:analytic.user.funct.grid,account_id:0
@ -57,12 +58,12 @@ msgstr "Analytisches Konto"
#: code:addons/analytic_user_function/analytic_user_function.py:135
#, python-format
msgid "Error!"
msgstr ""
msgstr "Fehler !"
#. module: analytic_user_function
#: view:analytic.user.funct.grid:0
msgid "Invoicing Data"
msgstr ""
msgstr "Rechnungsdaten"
#. module: analytic_user_function
#: field:account.analytic.account,user_product_ids:0
@ -78,11 +79,15 @@ msgid ""
" of the default values when invoicing the "
"customer."
msgstr ""
"Anlegen einer spezifischen Dienstleistung (z.B. Senior Consultant)\n"
" und Preis für einige Benutzer, um diese Daten "
"anstelle der Standard Werte\n"
" für die Abrechnung an Kunden zu benutzen."
#. module: analytic_user_function
#: field:analytic.user.funct.grid,uom_id:0
msgid "Unit of Measure"
msgstr ""
msgstr "Mengeneinheit"
#. module: analytic_user_function
#: code:addons/analytic_user_function/analytic_user_function.py:107
@ -105,6 +110,9 @@ msgid ""
" specific user. This allows to set invoicing\n"
" conditions for a group of contracts."
msgstr ""
"OpenERP durchsucht rekursiv die übergeordneten Kostenstellen, um spezifische "
"Konditionen für spezifische Benutzer zu überprüfen. Dieses ermöglicht die "
"Hinterlegung der Abrechnungskonditionen für bestimmte Vertragsgruppen."
#. module: analytic_user_function
#: field:analytic.user.funct.grid,user_id:0

View File

@ -36,7 +36,7 @@ from itertools import groupby
from operator import itemgetter
FIELD_STATES = [('clear', 'Clear'), ('anonymized', 'Anonymized'), ('not_existing', 'Not Existing')]
FIELD_STATES = [('clear', 'Clear'), ('anonymized', 'Anonymized'), ('not_existing', 'Not Existing'), ('new', 'New')]
ANONYMIZATION_STATES = FIELD_STATES + [('unstable', 'Unstable')]
WIZARD_ANONYMIZATION_STATES = [('clear', 'Clear'), ('anonymized', 'Anonymized'), ('unstable', 'Unstable')]
ANONYMIZATION_HISTORY_STATE = [('started', 'Started'), ('done', 'Done'), ('in_exception', 'Exception occured')]

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-01-17 07:43+0000\n"
"Last-Translator: Nicola Riolini - Micronaet <Unknown>\n"
"PO-Revision-Date: 2012-12-09 20:34+0000\n"
"Last-Translator: Sergio Corato <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-10-30 05:33+0000\n"
"X-Generator: Launchpad (build 16206)\n"
"X-Launchpad-Export-Date: 2012-12-10 04:39+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: association
#: field:profile.association.config.install_modules_wizard,wiki:0
@ -71,6 +71,8 @@ msgid ""
"Tracks and manages employee expenses, and can automatically re-invoice "
"clients if the expenses are project-related."
msgstr ""
"Traccia e gestisce le spese dei dipendenti e può ri-generare automaticamente "
"fatture se le spese sono collegate al progetto."
#. module: association
#: help:profile.association.config.install_modules_wizard,project_gtd:0
@ -101,7 +103,7 @@ msgstr "Monitoraggio spese"
#: model:ir.actions.act_window,name:association.action_config_install_module
#: view:profile.association.config.install_modules_wizard:0
msgid "Association Application Configuration"
msgstr ""
msgstr "Configurazione Applicazione Associazione"
#. module: association
#: help:profile.association.config.install_modules_wizard,wiki:0
@ -109,6 +111,8 @@ msgid ""
"Lets you create wiki pages and page groups in order to keep track of "
"business knowledge and share it with and between your employees."
msgstr ""
"Permette di creare pagine wiki e gruppi di pagine per tenere traccia delle "
"conoscenze aziendali e condividerle con e tra gli dipendenti."
#. module: association
#: help:profile.association.config.install_modules_wizard,project:0
@ -116,6 +120,8 @@ msgid ""
"Helps you manage your projects and tasks by tracking them, generating "
"plannings, etc..."
msgstr ""
"Aiuta a gestire i progetti e le attività attraverso il loro tracciamento, "
"pianificazione, ecc..."
#. module: association
#: model:ir.model,name:association.model_profile_association_config_install_modules_wizard

View File

@ -83,11 +83,11 @@ class audittrail_rule(osv.osv):
"domain": "[('object_id','=', " + str(thisrule.object_id.id) + "), ('res_id', '=', active_id)]"
}
action_id = obj_action.create(cr, uid, val)
action_id = obj_action.create(cr, SUPERUSER_ID, val)
self.write(cr, uid, [thisrule.id], {"state": "subscribed", "action_id": action_id})
keyword = 'client_action_relate'
value = 'ir.actions.act_window,' + str(action_id)
res = obj_model.ir_set(cr, uid, 'action', keyword, 'View_log_' + thisrule.object_id.model, [thisrule.object_id.model], value, replace=True, isobject=True, xml_id=False)
res = obj_model.ir_set(cr, SUPERUSER_ID, 'action', keyword, 'View_log_' + thisrule.object_id.model, [thisrule.object_id.model], value, replace=True, isobject=True, xml_id=False)
#End Loop
return True
@ -109,7 +109,7 @@ class audittrail_rule(osv.osv):
setattr(function[0], function[1], function[2])
w_id = obj_action.search(cr, uid, [('name', '=', 'View Log'), ('res_model', '=', 'audittrail.log'), ('src_model', '=', thisrule.object_id.model)])
if w_id:
obj_action.unlink(cr, uid, w_id)
obj_action.unlink(cr, SUPERUSER_ID, w_id)
value = "ir.actions.act_window" + ',' + str(w_id[0])
val_id = ir_values_obj.search(cr, uid, [('model', '=', thisrule.object_id.model), ('value', '=', value)])
if val_id:

View File

@ -0,0 +1,30 @@
# French translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-11-24 02:52+0000\n"
"PO-Revision-Date: 2012-12-07 10:27+0000\n"
"Last-Translator: Quentin THEURET <Unknown>\n"
"Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-08 04:59+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: auth_anonymous
#. openerp-web
#: code:addons/auth_anonymous/static/src/xml/auth_anonymous.xml:9
#, python-format
msgid "Login"
msgstr "Connexion"
#. module: auth_anonymous
#: model:res.groups,name:auth_anonymous.group_anonymous
msgid "Anonymous Group"
msgstr ""

View File

@ -0,0 +1,30 @@
# Croatian translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-11-24 02:52+0000\n"
"PO-Revision-Date: 2012-12-09 19:39+0000\n"
"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
"Language-Team: Croatian <hr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-10 04:39+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: auth_anonymous
#. openerp-web
#: code:addons/auth_anonymous/static/src/xml/auth_anonymous.xml:9
#, python-format
msgid "Login"
msgstr "Prijava"
#. module: auth_anonymous
#: model:res.groups,name:auth_anonymous.group_anonymous
msgid "Anonymous Group"
msgstr "Anonimna grupa"

View File

@ -0,0 +1,135 @@
# French translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-03 16:02+0000\n"
"PO-Revision-Date: 2012-12-07 10:28+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-08 04:59+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: auth_oauth
#: field:auth.oauth.provider,validation_endpoint:0
msgid "Validation URL"
msgstr ""
#. module: auth_oauth
#: field:auth.oauth.provider,auth_endpoint:0
msgid "Authentication URL"
msgstr ""
#. module: auth_oauth
#: model:ir.model,name:auth_oauth.model_base_config_settings
msgid "base.config.settings"
msgstr ""
#. module: auth_oauth
#: field:auth.oauth.provider,name:0
msgid "Provider name"
msgstr ""
#. module: auth_oauth
#: field:auth.oauth.provider,scope:0
msgid "Scope"
msgstr ""
#. module: auth_oauth
#: field:res.users,oauth_provider_id:0
msgid "OAuth Provider"
msgstr ""
#. module: auth_oauth
#: field:auth.oauth.provider,css_class:0
msgid "CSS class"
msgstr ""
#. module: auth_oauth
#: field:auth.oauth.provider,body:0
msgid "Body"
msgstr ""
#. module: auth_oauth
#: model:ir.model,name:auth_oauth.model_res_users
msgid "Users"
msgstr ""
#. module: auth_oauth
#: field:auth.oauth.provider,sequence:0
msgid "unknown"
msgstr ""
#. module: auth_oauth
#: field:res.users,oauth_access_token:0
msgid "OAuth Access Token"
msgstr ""
#. module: auth_oauth
#: field:auth.oauth.provider,client_id:0
#: field:base.config.settings,auth_oauth_facebook_client_id:0
#: field:base.config.settings,auth_oauth_google_client_id:0
msgid "Client ID"
msgstr ""
#. module: auth_oauth
#: model:ir.ui.menu,name:auth_oauth.menu_oauth_providers
msgid "OAuth Providers"
msgstr ""
#. module: auth_oauth
#: model:ir.model,name:auth_oauth.model_auth_oauth_provider
msgid "OAuth2 provider"
msgstr ""
#. module: auth_oauth
#: field:res.users,oauth_uid:0
msgid "OAuth User ID"
msgstr ""
#. module: auth_oauth
#: field:base.config.settings,auth_oauth_facebook_enabled:0
msgid "Allow users to sign in with Facebook"
msgstr ""
#. module: auth_oauth
#: sql_constraint:res.users:0
msgid "OAuth UID must be unique per provider"
msgstr ""
#. module: auth_oauth
#: help:res.users,oauth_uid:0
msgid "Oauth Provider user_id"
msgstr ""
#. module: auth_oauth
#: field:auth.oauth.provider,data_endpoint:0
msgid "Data URL"
msgstr ""
#. module: auth_oauth
#: view:auth.oauth.provider:0
msgid "arch"
msgstr ""
#. module: auth_oauth
#: model:ir.actions.act_window,name:auth_oauth.action_oauth_provider
msgid "Providers"
msgstr ""
#. module: auth_oauth
#: field:base.config.settings,auth_oauth_google_enabled:0
msgid "Allow users to sign in with Google"
msgstr ""
#. module: auth_oauth
#: field:auth.oauth.provider,enabled:0
msgid "Allowed"
msgstr ""

View File

@ -57,18 +57,17 @@ class Controller(openerp.addons.web.http.Controller):
def signup(self, req, dbname, token, name, login, password):
""" sign up a user (new or existing)"""
values = {'name': name, 'login': login, 'password': password}
return self._signup_with_values(req, dbname, token, values)
try:
self._signup_with_values(req, dbname, token, values)
except SignupError, e:
return {'error': openerp.tools.exception_to_unicode(e)}
return {}
def _signup_with_values(self, req, dbname, token, values):
registry = RegistryManager.get(dbname)
with registry.cursor() as cr:
res_users = registry.get('res.users')
try:
res_users.signup(cr, openerp.SUPERUSER_ID, values, token)
except SignupError, e:
return {'error': openerp.tools.exception_to_unicode(e)}
cr.commit()
return {}
res_users.signup(cr, openerp.SUPERUSER_ID, values, token)
@openerp.addons.web.http.httprequest
def reset_password(self, req, dbname, login):

View File

@ -0,0 +1,258 @@
# Croatian translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-04 14:41+0000\n"
"PO-Revision-Date: 2012-12-09 19:58+0000\n"
"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
"Language-Team: Croatian <hr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-10 04:39+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: auth_signup
#: field:base.config.settings,auth_signup_uninvited:0
msgid "Allow external users to sign up"
msgstr "Dozvoli prijavu eksternim korisnicima"
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:16
#, python-format
msgid "Confirm Password"
msgstr "Potvrdi lozinku"
#. module: auth_signup
#: help:base.config.settings,auth_signup_uninvited:0
msgid "If unchecked, only invited users may sign up."
msgstr "Dozvoli prijavu svima ili samo pozvanim korisnicima"
#. module: auth_signup
#: model:ir.model,name:auth_signup.model_base_config_settings
msgid "base.config.settings"
msgstr ""
#. module: auth_signup
#: code:addons/auth_signup/res_users.py:248
#, python-format
msgid "Cannot send email: user has no email address."
msgstr "Korisnik nema e-mail adresu."
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:25
#, python-format
msgid "Reset password"
msgstr "Resetiraj lozinku"
#. module: auth_signup
#: field:base.config.settings,auth_signup_template_user_id:0
msgid "Template user for new users created through signup"
msgstr "Korisnik predložak za sve korisnike kreirane prijavom."
#. module: auth_signup
#: model:email.template,subject:auth_signup.reset_password_email
msgid "Password reset"
msgstr "Promjena lozinke"
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:120
#, python-format
msgid "Please enter a password and confirm it."
msgstr "Molim upišite lozinku i potvrdu."
#. module: auth_signup
#: view:res.users:0
msgid "Send an email to the user to (re)set their password."
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:23
#, python-format
msgid "Sign Up"
msgstr ""
#. module: auth_signup
#: selection:res.users,state:0
msgid "New"
msgstr "Nova(i)"
#. module: auth_signup
#: field:res.users,state:0
msgid "Status"
msgstr "Status"
#. module: auth_signup
#: model:email.template,body_html:auth_signup.reset_password_email
msgid ""
"\n"
"<p>A password reset was requested for the OpenERP account linked to this "
"email.</p>\n"
"\n"
"<p>You may change your password by following <a "
"href=\"${object.signup_url}\">this link</a>.</p>\n"
"\n"
"<p>Note: If you do not expect this, you can safely ignore this email.</p>"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:114
#, python-format
msgid "Please enter a name."
msgstr "Unesite ime"
#. module: auth_signup
#: model:ir.model,name:auth_signup.model_res_users
msgid "Users"
msgstr "Korisnici"
#. module: auth_signup
#: field:res.partner,signup_url:0
msgid "Signup URL"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:117
#, python-format
msgid "Please enter a username."
msgstr "Upišite korisničko ime"
#. module: auth_signup
#: selection:res.users,state:0
msgid "Active"
msgstr "Aktivan"
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:12
#, python-format
msgid "Username"
msgstr "Korisničko ime"
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:8
#, python-format
msgid "Name"
msgstr "Naziv"
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:160
#, python-format
msgid "Please enter a username or email address."
msgstr "Upišite korisničko ime ili email adresu."
#. module: auth_signup
#: selection:res.users,state:0
msgid "Resetting Password"
msgstr "Promjena lozinke"
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:13
#, python-format
msgid "Username (Email)"
msgstr "Korisničko ime (e-mail)"
#. module: auth_signup
#: field:res.partner,signup_expiration:0
msgid "Signup Expiration"
msgstr ""
#. module: auth_signup
#: help:base.config.settings,auth_signup_reset_password:0
msgid "This allows users to trigger a password reset from the Login page."
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:21
#, python-format
msgid "Log in"
msgstr "Prijava"
#. module: auth_signup
#: field:res.partner,signup_valid:0
msgid "Signup Token is Valid"
msgstr "Token prijave je ispravan"
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:111
#: code:addons/auth_signup/static/src/js/auth_signup.js:114
#: code:addons/auth_signup/static/src/js/auth_signup.js:117
#: code:addons/auth_signup/static/src/js/auth_signup.js:120
#: code:addons/auth_signup/static/src/js/auth_signup.js:123
#: code:addons/auth_signup/static/src/js/auth_signup.js:157
#: code:addons/auth_signup/static/src/js/auth_signup.js:160
#, python-format
msgid "Login"
msgstr "Prijava"
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:94
#, python-format
msgid "Invalid signup token"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:123
#, python-format
msgid "Passwords do not match; please retype them."
msgstr "Lozinke nisu iste, pokušajte ponovo."
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:111
#: code:addons/auth_signup/static/src/js/auth_signup.js:157
#, python-format
msgid "No database selected !"
msgstr "Nije odabrana baza podataka"
#. module: auth_signup
#: view:res.users:0
msgid "Reset Password"
msgstr "Promijeni lozinku"
#. module: auth_signup
#: field:base.config.settings,auth_signup_reset_password:0
msgid "Enable password reset from Login page"
msgstr "Omogući promjenu lozinke na stranici prijave"
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:24
#, python-format
msgid "Back to Login"
msgstr "Nazad na prijavu"
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:22
#, python-format
msgid "Sign up"
msgstr "Prijava"
#. module: auth_signup
#: model:ir.model,name:auth_signup.model_res_partner
msgid "Partner"
msgstr "Partner"
#. module: auth_signup
#: field:res.partner,signup_token:0
msgid "Signup Token"
msgstr "Token prijave"

View File

@ -254,6 +254,6 @@ class res_users(osv.Model):
# overridden to automatically invite user to sign up
user_id = super(res_users, self).create(cr, uid, values, context=context)
user = self.browse(cr, uid, user_id, context=context)
if user.email:
if context and context.get('reset_password') and user.email:
user.action_reset_password()
return user_id

View File

@ -2,6 +2,11 @@
<openerp>
<data>
<!-- add context in action to enable automatic reset password -->
<record id="base.action_res_users" model="ir.actions.act_window">
<field name="context">{'reset_password': True}</field>
</record>
<record id="res_users_form_view" model="ir.ui.view">
<field name="name">user.form.state</field>
<field name="model">res.users</field>
@ -22,7 +27,7 @@
</xpath>
<!-- hide field set_password -->
<field name="new_password" position="replace">
<field name="new_password" groups="base.group_no_one"/>
<field name="new_password" groups="base.group_no_one" password="True"/>
</field>
</field>
</record>

View File

@ -2,43 +2,6 @@
<openerp>
<data>
<!-- Read/Unread actions -->
<record id="actions_server_crm_meeting_read" model="ir.actions.server">
<field name="name">CRM Meeting: Mark read</field>
<field name="condition">True</field>
<field name="type">ir.actions.server</field>
<field name="model_id" ref="model_crm_meeting"/>
<field name="state">code</field>
<field name="code">self.message_mark_as_read(cr, uid, context.get('active_ids'), context=context)</field>
</record>
<record id="action_crm_meeting_read" model="ir.values">
<field name="name">action_crm_meeting_read</field>
<field name="action_id" ref="actions_server_crm_meeting_read"/>
<field name="value" eval="'ir.actions.server,' + str(ref('actions_server_crm_meeting_read'))"/>
<field name="key">action</field>
<field name="model_id" ref="model_crm_meeting"/>
<field name="model">crm.meeting</field>
<field name="key2">client_action_multi</field>
</record>
<record id="actions_server_crm_meeting_unread" model="ir.actions.server">
<field name="name">CRM Meeting: Mark unread</field>
<field name="condition">True</field>
<field name="type">ir.actions.server</field>
<field name="model_id" ref="model_crm_meeting"/>
<field name="state">code</field>
<field name="code">self.message_mark_as_unread(cr, uid, context.get('active_ids'), context=context)</field>
</record>
<record id="action_crm_meeting_unread" model="ir.values">
<field name="name">action_crm_meeting_unread</field>
<field name="action_id" ref="actions_server_crm_meeting_unread"/>
<field name="value" eval="'ir.actions.server,' + str(ref('actions_server_crm_meeting_unread'))"/>
<field name="key">action</field>
<field name="model_id" ref="model_crm_meeting"/>
<field name="model">crm.meeting</field>
<field name="key2">client_action_multi</field>
</record>
<!-- CRM Meetings Types Form View -->

View File

@ -8,14 +8,15 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-03 16:03+0000\n"
"PO-Revision-Date: 2012-12-01 11:25+0000\n"
"Last-Translator: Luiz Fernando M.França <Unknown>\n"
"PO-Revision-Date: 2012-12-07 22:49+0000\n"
"Last-Translator: Fábio Martinelli - http://zupy.com.br "
"<webmaster@guaru.net>\n"
"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-04 05:50+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: base_calendar
#: selection:calendar.alarm,trigger_related:0
@ -364,6 +365,9 @@ msgid ""
"Holds the Chatter summary (number of messages, ...). This summary is "
"directly in html format in order to be inserted in kanban views."
msgstr ""
"Contém o resumo da conversação (número de mensagens, ...). Este resumo é "
"gerado diretamente em formato HTML para que possa ser inserido nas visões "
"kanban."
#. module: base_calendar
#: code:addons/base_calendar/base_calendar.py:388
@ -518,7 +522,7 @@ msgstr "Email"
#. module: base_calendar
#: model:ir.actions.server,name:base_calendar.actions_server_crm_meeting_unread
msgid "CRM Meeting: Mark unread"
msgstr ""
msgstr "CRM Reunião : Marcar como não lida"
#. module: base_calendar
#: selection:calendar.alarm,state:0
@ -1061,7 +1065,7 @@ msgstr "Intervalo"
#. module: base_calendar
#: model:ir.actions.server,name:base_calendar.actions_server_crm_meeting_read
msgid "CRM Meeting: Mark read"
msgstr ""
msgstr "CRM Reunião: Marcar como lida"
#. module: base_calendar
#: selection:calendar.event,week_list:0
@ -1173,7 +1177,7 @@ msgstr "Detalhes do Lembrete"
#. module: base_calendar
#: model:crm.meeting.type,name:base_calendar.categ_meet3
msgid "Off-site Meeting"
msgstr ""
msgstr "Reunião Externa"
#. module: base_calendar
#: view:crm.meeting:0

View File

@ -8,19 +8,19 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-03 16:03+0000\n"
"PO-Revision-Date: 2011-02-15 15:37+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2012-12-07 10:31+0000\n"
"Last-Translator: WANTELLET Sylvain <Swantellet@tetra-info.com>\n"
"Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-04 05:53+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: base_crypt
#: model:ir.model,name:base_crypt.model_res_users
msgid "Users"
msgstr ""
msgstr "Utilisateurs"
#, python-format
#~ msgid "Error"

View File

@ -8,19 +8,19 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-03 16:03+0000\n"
"PO-Revision-Date: 2011-12-19 12:11+0000\n"
"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
"PO-Revision-Date: 2012-12-09 19:40+0000\n"
"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
"Language-Team: Croatian <hr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-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: base_crypt
#: model:ir.model,name:base_crypt.model_res_users
msgid "Users"
msgstr ""
msgstr "Korisnici"
#~ msgid ""
#~ "This module replaces the cleartext password in the database with a password "

View File

@ -0,0 +1,23 @@
# Indonesian translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-03 16:03+0000\n"
"PO-Revision-Date: 2012-12-09 08:46+0000\n"
"Last-Translator: Budhi Hartono <klikmaxima@gmail.com>\n"
"Language-Team: Indonesian <id@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-10 04:39+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: base_crypt
#: model:ir.model,name:base_crypt.model_res_users
msgid "Users"
msgstr "Pengguna"

View File

@ -8,19 +8,19 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-03 16:03+0000\n"
"PO-Revision-Date: 2011-03-15 23:59+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2012-12-07 08:15+0000\n"
"Last-Translator: Denis Karataev <dskarataev@gmail.com>\n"
"Language-Team: Russian <ru@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-04 05:53+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: base_crypt
#: model:ir.model,name:base_crypt.model_res_users
msgid "Users"
msgstr ""
msgstr "Пользователи"
#~ msgid "res.users"
#~ msgstr "res.users"

View File

@ -24,7 +24,7 @@
'category': 'Tools',
'description': """
Automated Translations through Gengo API
----------------------------------------
========================================
This module will install passive scheduler job for automated translations
using the Gengo API. To activate it, you must

View File

@ -0,0 +1,249 @@
# Croatian translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-03 16:03+0000\n"
"PO-Revision-Date: 2012-12-09 20:02+0000\n"
"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
"Language-Team: Croatian <hr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-10 04:39+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: base_gengo
#: view:res.company:0
msgid "Comments for Translator"
msgstr "Komentari prevoditelju"
#. module: base_gengo
#: field:ir.translation,job_id:0
msgid "Gengo Job ID"
msgstr ""
#. module: base_gengo
#: code:addons/base_gengo/wizard/base_gengo_translations.py:114
#, python-format
msgid "This language is not supported by the Gengo translation services."
msgstr ""
#. module: base_gengo
#: field:res.company,gengo_comment:0
msgid "Comments"
msgstr "Komentari"
#. module: base_gengo
#: field:res.company,gengo_private_key:0
msgid "Gengo Private Key"
msgstr "Gengo privatni ključ"
#. module: base_gengo
#: model:ir.model,name:base_gengo.model_base_gengo_translations
msgid "base.gengo.translations"
msgstr ""
#. module: base_gengo
#: help:res.company,gengo_auto_approve:0
msgid "Jobs are Automatically Approved by Gengo."
msgstr ""
#. module: base_gengo
#: field:base.gengo.translations,lang_id:0
msgid "Language"
msgstr "Jezik"
#. module: base_gengo
#: field:ir.translation,gengo_comment:0
msgid "Comments & Activity Linked to Gengo"
msgstr ""
#. module: base_gengo
#: code:addons/base_gengo/wizard/base_gengo_translations.py:124
#, python-format
msgid "Gengo Sync Translation (Response)"
msgstr ""
#. module: base_gengo
#: code:addons/base_gengo/wizard/base_gengo_translations.py:72
#, python-format
msgid ""
"Gengo `Public Key` or `Private Key` are missing. Enter your Gengo "
"authentication parameters under `Settings > Companies > Gengo Parameters`."
msgstr ""
#. module: base_gengo
#: selection:ir.translation,gengo_translation:0
msgid "Translation By Machine"
msgstr ""
#. module: base_gengo
#: code:addons/base_gengo/wizard/base_gengo_translations.py:155
#, python-format
msgid ""
"%s\n"
"\n"
"--\n"
" Commented on %s by %s."
msgstr ""
#. module: base_gengo
#: field:ir.translation,gengo_translation:0
msgid "Gengo Translation Service Level"
msgstr ""
#. module: base_gengo
#: constraint:ir.translation:0
msgid ""
"The Gengo translation service selected is not supported for this language."
msgstr ""
#. module: base_gengo
#: selection:ir.translation,gengo_translation:0
msgid "Standard"
msgstr "Standardni"
#. module: base_gengo
#: help:ir.translation,gengo_translation:0
msgid ""
"You can select here the service level you want for an automatic translation "
"using Gengo."
msgstr ""
#. module: base_gengo
#: field:base.gengo.translations,restart_send_job:0
msgid "Restart Sending Job"
msgstr ""
#. module: base_gengo
#: view:ir.translation:0
msgid "To Approve In Gengo"
msgstr ""
#. module: base_gengo
#: view:res.company:0
msgid "Private Key"
msgstr "Privatni ključ"
#. module: base_gengo
#: view:res.company:0
msgid "Public Key"
msgstr "Javni ključ"
#. module: base_gengo
#: field:res.company,gengo_public_key:0
msgid "Gengo Public Key"
msgstr "Gengo Javni ključ"
#. module: base_gengo
#: code:addons/base_gengo/wizard/base_gengo_translations.py:123
#, python-format
msgid "Gengo Sync Translation (Request)"
msgstr ""
#. module: base_gengo
#: view:ir.translation:0
msgid "Translations"
msgstr "Prijevodi"
#. module: base_gengo
#: field:res.company,gengo_auto_approve:0
msgid "Auto Approve Translation ?"
msgstr ""
#. module: base_gengo
#: model:ir.actions.act_window,name:base_gengo.action_wizard_base_gengo_translations
#: model:ir.ui.menu,name:base_gengo.menu_action_wizard_base_gengo_translations
msgid "Gengo: Manual Request of Translation"
msgstr ""
#. module: base_gengo
#: code:addons/base_gengo/ir_translation.py:62
#: code:addons/base_gengo/wizard/base_gengo_translations.py:109
#, python-format
msgid "Gengo Authentication Error"
msgstr ""
#. module: base_gengo
#: model:ir.model,name:base_gengo.model_res_company
msgid "Companies"
msgstr "Organizacije"
#. module: base_gengo
#: view:ir.translation:0
msgid ""
"Note: If the translation state is 'In Progress', it means that the "
"translation has to be approved to be uploaded in this system. You are "
"supposed to do that directly by using your Gengo Account"
msgstr ""
#. module: base_gengo
#: code:addons/base_gengo/wizard/base_gengo_translations.py:82
#, python-format
msgid ""
"Gengo connection failed with this message:\n"
"``%s``"
msgstr ""
#. module: base_gengo
#: view:res.company:0
msgid "Gengo Parameters"
msgstr ""
#. module: base_gengo
#: view:base.gengo.translations:0
msgid "Send"
msgstr "Pošalji"
#. module: base_gengo
#: selection:ir.translation,gengo_translation:0
msgid "Ultra"
msgstr ""
#. module: base_gengo
#: model:ir.model,name:base_gengo.model_ir_translation
msgid "ir.translation"
msgstr ""
#. module: base_gengo
#: view:ir.translation:0
msgid "Gengo Translation Service"
msgstr ""
#. module: base_gengo
#: selection:ir.translation,gengo_translation:0
msgid "Pro"
msgstr ""
#. module: base_gengo
#: view:base.gengo.translations:0
msgid "Gengo Request Form"
msgstr ""
#. module: base_gengo
#: code:addons/base_gengo/wizard/base_gengo_translations.py:114
#, python-format
msgid "Warning"
msgstr "Upozoranje"
#. module: base_gengo
#: help:res.company,gengo_comment:0
msgid ""
"This comment will be automatically be enclosed in each an every request sent "
"to Gengo"
msgstr ""
#. module: base_gengo
#: view:base.gengo.translations:0
msgid "Cancel"
msgstr "Otkaži"
#. module: base_gengo
#: view:base.gengo.translations:0
msgid "or"
msgstr ""

View File

@ -0,0 +1,256 @@
# Norwegian Bokmal translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-03 16:03+0000\n"
"PO-Revision-Date: 2012-12-06 10:25+0000\n"
"Last-Translator: Kaare Pettersen <Unknown>\n"
"Language-Team: Norwegian Bokmal <nb@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-07 04:36+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: base_gengo
#: view:res.company:0
msgid "Comments for Translator"
msgstr "Kommentarer til oversetter."
#. module: base_gengo
#: field:ir.translation,job_id:0
msgid "Gengo Job ID"
msgstr "Gengo jobb ID."
#. module: base_gengo
#: code:addons/base_gengo/wizard/base_gengo_translations.py:114
#, python-format
msgid "This language is not supported by the Gengo translation services."
msgstr "Dette språket er ikke støttet av Gengo oversettings tjenester."
#. module: base_gengo
#: field:res.company,gengo_comment:0
msgid "Comments"
msgstr "Kommentarer."
#. module: base_gengo
#: field:res.company,gengo_private_key:0
msgid "Gengo Private Key"
msgstr "Gengo privat nøkkel."
#. module: base_gengo
#: model:ir.model,name:base_gengo.model_base_gengo_translations
msgid "base.gengo.translations"
msgstr "Base.Gengo.Oversettelser."
#. module: base_gengo
#: help:res.company,gengo_auto_approve:0
msgid "Jobs are Automatically Approved by Gengo."
msgstr "Jobber godkjennes automatisk ved Gengo."
#. module: base_gengo
#: field:base.gengo.translations,lang_id:0
msgid "Language"
msgstr "Språk."
#. module: base_gengo
#: field:ir.translation,gengo_comment:0
msgid "Comments & Activity Linked to Gengo"
msgstr "Kommentarer og aktivitet knyttet til Gengo."
#. module: base_gengo
#: code:addons/base_gengo/wizard/base_gengo_translations.py:124
#, python-format
msgid "Gengo Sync Translation (Response)"
msgstr ""
#. module: base_gengo
#: code:addons/base_gengo/wizard/base_gengo_translations.py:72
#, python-format
msgid ""
"Gengo `Public Key` or `Private Key` are missing. Enter your Gengo "
"authentication parameters under `Settings > Companies > Gengo Parameters`."
msgstr ""
#. module: base_gengo
#: selection:ir.translation,gengo_translation:0
msgid "Translation By Machine"
msgstr "Oversetting av maskin."
#. module: base_gengo
#: code:addons/base_gengo/wizard/base_gengo_translations.py:155
#, python-format
msgid ""
"%s\n"
"\n"
"--\n"
" Commented on %s by %s."
msgstr ""
"%s\n"
"\n"
"--\n"
"Kommentarer på %s by %s."
#. module: base_gengo
#: field:ir.translation,gengo_translation:0
msgid "Gengo Translation Service Level"
msgstr "Gengo Oversettelse tjeneste nivå."
#. module: base_gengo
#: constraint:ir.translation:0
msgid ""
"The Gengo translation service selected is not supported for this language."
msgstr ""
"Den Gengo oversettelses tjeneste som er valgt støttes ikke for dette språket."
#. module: base_gengo
#: selection:ir.translation,gengo_translation:0
msgid "Standard"
msgstr "Standard"
#. module: base_gengo
#: help:ir.translation,gengo_translation:0
msgid ""
"You can select here the service level you want for an automatic translation "
"using Gengo."
msgstr ""
"Du kan velge her tjenestenivået du ønsker for en automatisk oversettelse ved "
"hjelp av Gengo."
#. module: base_gengo
#: field:base.gengo.translations,restart_send_job:0
msgid "Restart Sending Job"
msgstr ""
#. module: base_gengo
#: view:ir.translation:0
msgid "To Approve In Gengo"
msgstr "Slik godkjenner du I Gengo."
#. module: base_gengo
#: view:res.company:0
msgid "Private Key"
msgstr "Privat nøkkel."
#. module: base_gengo
#: view:res.company:0
msgid "Public Key"
msgstr "Offentlig nøkkel."
#. module: base_gengo
#: field:res.company,gengo_public_key:0
msgid "Gengo Public Key"
msgstr "Gengo offentlig nøkkel."
#. module: base_gengo
#: code:addons/base_gengo/wizard/base_gengo_translations.py:123
#, python-format
msgid "Gengo Sync Translation (Request)"
msgstr "Gengo synkronisering oversettelse (Forespørsel)"
#. module: base_gengo
#: view:ir.translation:0
msgid "Translations"
msgstr "Oversettelser."
#. module: base_gengo
#: field:res.company,gengo_auto_approve:0
msgid "Auto Approve Translation ?"
msgstr "Automatisk godkjenning oversettelse."
#. module: base_gengo
#: model:ir.actions.act_window,name:base_gengo.action_wizard_base_gengo_translations
#: model:ir.ui.menu,name:base_gengo.menu_action_wizard_base_gengo_translations
msgid "Gengo: Manual Request of Translation"
msgstr "Gengo: Manuell forespørsel av oversetting."
#. module: base_gengo
#: code:addons/base_gengo/ir_translation.py:62
#: code:addons/base_gengo/wizard/base_gengo_translations.py:109
#, python-format
msgid "Gengo Authentication Error"
msgstr ""
#. module: base_gengo
#: model:ir.model,name:base_gengo.model_res_company
msgid "Companies"
msgstr "Firmaer."
#. module: base_gengo
#: view:ir.translation:0
msgid ""
"Note: If the translation state is 'In Progress', it means that the "
"translation has to be approved to be uploaded in this system. You are "
"supposed to do that directly by using your Gengo Account"
msgstr ""
#. module: base_gengo
#: code:addons/base_gengo/wizard/base_gengo_translations.py:82
#, python-format
msgid ""
"Gengo connection failed with this message:\n"
"``%s``"
msgstr ""
#. module: base_gengo
#: view:res.company:0
msgid "Gengo Parameters"
msgstr ""
#. module: base_gengo
#: view:base.gengo.translations:0
msgid "Send"
msgstr "Send."
#. module: base_gengo
#: selection:ir.translation,gengo_translation:0
msgid "Ultra"
msgstr "Ultra."
#. module: base_gengo
#: model:ir.model,name:base_gengo.model_ir_translation
msgid "ir.translation"
msgstr "Ir.Oversettelse."
#. module: base_gengo
#: view:ir.translation:0
msgid "Gengo Translation Service"
msgstr "Gengo oversettelse tjeneste."
#. module: base_gengo
#: selection:ir.translation,gengo_translation:0
msgid "Pro"
msgstr "Profesjonell."
#. module: base_gengo
#: view:base.gengo.translations:0
msgid "Gengo Request Form"
msgstr "Gengo forespørsel form."
#. module: base_gengo
#: code:addons/base_gengo/wizard/base_gengo_translations.py:114
#, python-format
msgid "Warning"
msgstr "Advarsel."
#. module: base_gengo
#: help:res.company,gengo_comment:0
msgid ""
"This comment will be automatically be enclosed in each an every request sent "
"to Gengo"
msgstr ""
#. module: base_gengo
#: view:base.gengo.translations:0
msgid "Cancel"
msgstr "Avbryt."
#. module: base_gengo
#: view:base.gengo.translations:0
msgid "or"
msgstr "Eller."

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-11-24 02:52+0000\n"
"PO-Revision-Date: 2012-11-29 15:28+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2012-12-07 10:31+0000\n"
"Last-Translator: Numérigraphe <Unknown>\n"
"Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-11-30 05:08+0000\n"
"X-Generator: Launchpad (build 16319)\n"
"X-Launchpad-Export-Date: 2012-12-08 04:59+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: base_import
#. openerp-web
@ -1016,7 +1016,7 @@ msgstr ""
#: code:addons/base_import/static/src/xml/import.xml:170
#, python-format
msgid "CSV file for Products"
msgstr ""
msgstr "Fichier CSV des articles"
#. module: base_import
#. openerp-web

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -19,15 +19,14 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import time
from openerp import wizard
from openerp import osv
from openerp import pooler
import urllib
import base64
from openerp import tools
from openerp.tools.translate import _
import time
import urllib
from openerp import osv, pooler, tools
from openerp.osv import fields, osv
from openerp.tools.translate import _
class base_report_sxw(osv.osv_memory):
"""Base Report sxw """

View File

@ -7,19 +7,20 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-11-24 02:52+0000\n"
"PO-Revision-Date: 2012-01-13 19:44+0000\n"
"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n"
"PO-Revision-Date: 2012-12-08 12:33+0000\n"
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
"consulting.net>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-11-25 05:52+0000\n"
"X-Generator: Launchpad (build 16293)\n"
"X-Launchpad-Export-Date: 2012-12-09 04:39+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: base_setup
#: view:sale.config.settings:0
msgid "Emails Integration"
msgstr ""
msgstr "EMail Integration"
#. module: base_setup
#: selection:base.setup.terminology,partner:0
@ -29,7 +30,7 @@ msgstr "Gast"
#. module: base_setup
#: view:sale.config.settings:0
msgid "Contacts"
msgstr ""
msgstr "Kontakte"
#. module: base_setup
#: model:ir.model,name:base_setup.model_base_config_settings
@ -41,6 +42,8 @@ msgstr ""
msgid ""
"Use external authentication providers, sign in with google, facebook, ..."
msgstr ""
"Benutzen Sie eine externe Authentifizierung, z.B. von Anbietern wie google, "
"facebook, ..."
#. module: base_setup
#: view:sale.config.settings:0
@ -54,6 +57,16 @@ msgid ""
"OpenERP using specific\n"
" plugins for your preferred email application."
msgstr ""
"OpenERP ermöglicht die automatische Erstellung von Interessenten (und "
"anderen Belegen)\n"
" aus eingehenden EMails. Sie können Ihren "
"EMail Posteingang regelmässig synchronisieren, indem\n"
" Sie hierzu Ihre POP/IMAP Konten anbinden "
"und dann ein Script zur direkten EMail Integration \n"
" regelmässig anwenden, oder indem Sie "
"selektiv mit Hilfe eines Plugins für Ihre persönliche Arbeitsplatz \n"
" Mailanwendung bestimmte EMails nach "
"OpenERP transferieren."
#. module: base_setup
#: selection:base.setup.terminology,partner:0
@ -63,24 +76,24 @@ msgstr "Mitglied"
#. module: base_setup
#: view:base.config.settings:0
msgid "Portal access"
msgstr ""
msgstr "Portal Zugang"
#. module: base_setup
#: view:base.config.settings:0
msgid "Authentication"
msgstr ""
msgstr "Authentifizierung"
#. module: base_setup
#: view:sale.config.settings:0
msgid "Quotations and Sales Orders"
msgstr ""
msgstr "Angebote und Aufträge"
#. module: base_setup
#: view:base.config.settings:0
#: model:ir.actions.act_window,name:base_setup.action_general_configuration
#: model:ir.ui.menu,name:base_setup.menu_general_configuration
msgid "General Settings"
msgstr ""
msgstr "Grundeinstellungen"
#. module: base_setup
#: selection:base.setup.terminology,partner:0
@ -90,12 +103,12 @@ msgstr "Spender"
#. module: base_setup
#: view:base.config.settings:0
msgid "Email"
msgstr ""
msgstr "EMail"
#. module: base_setup
#: field:sale.config.settings,module_crm:0
msgid "CRM"
msgstr ""
msgstr "CRM"
#. module: base_setup
#: selection:base.setup.terminology,partner:0
@ -105,17 +118,17 @@ msgstr "Patient"
#. module: base_setup
#: field:base.config.settings,module_base_import:0
msgid "Allow users to import data from CSV files"
msgstr ""
msgstr "Ermöglicht Benutzern Import von .csv Dateien"
#. module: base_setup
#: field:base.config.settings,module_multi_company:0
msgid "Manage multiple companies"
msgstr ""
msgstr "Multi-Company Management"
#. module: base_setup
#: help:base.config.settings,module_portal:0
msgid "Give access your customers and suppliers to their documents."
msgstr ""
msgstr "Erlauben Sie Kunden oder Lieferanten Zugriff auf Ihre Belege"
#. module: base_setup
#: view:sale.config.settings:0
@ -125,12 +138,12 @@ msgstr ""
#. module: base_setup
#: field:sale.config.settings,module_web_linkedin:0
msgid "Get contacts automatically from linkedIn"
msgstr ""
msgstr "Kontakte aus linkedin Netzwerk importieren"
#. module: base_setup
#: field:sale.config.settings,module_plugin_thunderbird:0
msgid "Enable Thunderbird plug-in"
msgstr ""
msgstr "Aktiviere Thunderbird Plug-In"
#. module: base_setup
#: view:base.setup.terminology:0
@ -140,22 +153,22 @@ msgstr "res_config_contents"
#. module: base_setup
#: view:sale.config.settings:0
msgid "Customer Features"
msgstr ""
msgstr "Kunden Features"
#. module: base_setup
#: view:base.config.settings:0
msgid "Import / Export"
msgstr ""
msgstr "Import / Export"
#. module: base_setup
#: view:sale.config.settings:0
msgid "Sale Features"
msgstr ""
msgstr "Verkauf Features"
#. module: base_setup
#: field:sale.config.settings,module_plugin_outlook:0
msgid "Enable Outlook plug-in"
msgstr ""
msgstr "Aktiviere Outlook Plugin"
#. module: base_setup
#: view:base.setup.terminology:0
@ -174,7 +187,7 @@ msgstr "Mieter"
#. module: base_setup
#: help:base.config.settings,module_share:0
msgid "Share or embbed any screen of openerp."
msgstr ""
msgstr "Teilen oder einbetten von OpenERP Ansichten"
#. module: base_setup
#: selection:base.setup.terminology,partner:0
@ -187,6 +200,9 @@ msgid ""
"When you create a new contact (person or company), you will be able to load "
"all the data from LinkedIn (photos, address, etc)."
msgstr ""
"Wenn Sie einen neuen Kontakt erstellen (Person oder Firma) können Sie "
"sämtliche in linkedin verknüpften Kontaktdaten einfach als neue Kontakte "
"bzw. Ansprechpartner importieren (Photo, Adresse, etc.)"
#. module: base_setup
#: help:base.config.settings,module_multi_company:0
@ -195,6 +211,9 @@ msgid ""
"companies.\n"
" This installs the module multi_company."
msgstr ""
"Arbeiten Sie in einer Multi-Company Organisation, und wenden Sie die "
"entsprechenden Berechtigungen für den wechselseitigen Unternehmenszugriff "
"einfach an."
#. module: base_setup
#: view:base.config.settings:0
@ -202,6 +221,9 @@ msgid ""
"You will find more options in your company details: address for the header "
"and footer, overdue payments texts, etc."
msgstr ""
"Sie finden weitere Optionen unter Ihren Unternehmenseinstellungen: "
"Adressanschrift für Kopf- und Fußzeile, Mahntexte für überfällige Zahlungen, "
"u.s.w."
#. module: base_setup
#: model:ir.model,name:base_setup.model_sale_config_settings
@ -227,6 +249,8 @@ msgstr "Klient"
#: help:base.config.settings,module_auth_anonymous:0
msgid "Enable the public part of openerp, openerp becomes a public website."
msgstr ""
"Aktivieren Sie den globalen Zugriff auf veröffentliche Bereiche und "
"Dokumente , OpenERP wird dadurch auch öffentlich verfügbar.."
#. module: base_setup
#: help:sale.config.settings,module_plugin_thunderbird:0
@ -239,6 +263,15 @@ msgid ""
" Partner from the selected emails.\n"
" This installs the module plugin_thunderbird."
msgstr ""
"Die Erweiterung erlaubt es, EMails inklusive Anhänge bei ausgewählten\n"
"                 OpenERP Objekten zu archivieren. Sie können bei der Auswahl "
"entscheiden, ob Sie den Anhang \n"
" als .eml Dateianhang beim Kunden oder bei einem "
"Interessenten zuordnen. Sie können auch neue \n"
" Dokumente anlegen, z.B. für einen neuen Interessenten (CRM "
"Lead), indem Sie die Auswahl\n"
" \"Neues Dokument\" anklicken. Durch Ihre Auswahl wird das "
"Modul plugin_thunderbird installiert."
#. module: base_setup
#: selection:base.setup.terminology,partner:0
@ -254,7 +287,7 @@ msgstr "Verwenden Sie ein anderes Wort für \"Kunde\""
#: model:ir.actions.act_window,name:base_setup.action_sale_config
#: view:sale.config.settings:0
msgid "Configure Sales"
msgstr ""
msgstr "Konfiguriere Verkauf"
#. module: base_setup
#: help:sale.config.settings,module_plugin_outlook:0
@ -267,36 +300,45 @@ msgid ""
" email into an OpenERP mail message with attachments.\n"
" This installs the module plugin_outlook."
msgstr ""
"Das Outlook Plugin erlaubt es, EMails inklusive Anhänge bei ausgewählten\n"
"                 OpenERP Objekten zu archivieren. Sie können bei der Auswahl "
"entscheiden, ob Sie den Anhang \n"
" als .eml Dateianhang beim Kunden oder bei einem "
"Interessenten zuordnen. Sie können auch neue \n"
" Dokumente anlegen, z.B. für einen neuen Interessenten (CRM "
"Lead), indem Sie die Auswahl\n"
" \"Neues Dokument\" anklicken. Durch Ihre Auswahl wird das "
"Modul plugin_outlook installiert."
#. module: base_setup
#: view:base.config.settings:0
msgid "Options"
msgstr ""
msgstr "Optionen"
#. module: base_setup
#: field:base.config.settings,module_portal:0
msgid "Activate the customer/supplier portal"
msgstr ""
msgstr "Aktivierung Kunden / Lieferanten Portal"
#. module: base_setup
#: field:base.config.settings,module_share:0
msgid "Allow documents sharing"
msgstr ""
msgstr "Ermögliche Dokumentenfreigabe"
#. module: base_setup
#: field:base.config.settings,module_auth_anonymous:0
msgid "Activate the public portal"
msgstr ""
msgstr "Aktivierung des öffentlichen Portals"
#. module: base_setup
#: view:base.config.settings:0
msgid "Configure outgoing email servers"
msgstr ""
msgstr "Konfigurieren des ausgehenden Mailservers"
#. module: base_setup
#: view:sale.config.settings:0
msgid "Social Network Integration"
msgstr ""
msgstr "Integration Soziale Netzwerke"
#. module: base_setup
#: view:base.config.settings:0
@ -308,7 +350,7 @@ msgstr "Abbruch"
#: view:base.config.settings:0
#: view:sale.config.settings:0
msgid "Apply"
msgstr ""
msgstr "Anwenden"
#. module: base_setup
#: view:base.setup.terminology:0
@ -319,12 +361,12 @@ msgstr "Spezifizieren Sie Ihre Terminologie"
#: view:base.config.settings:0
#: view:sale.config.settings:0
msgid "or"
msgstr ""
msgstr "oder"
#. module: base_setup
#: view:base.config.settings:0
msgid "Configure your company data"
msgstr ""
msgstr "Konfigurieren Sie Ihre Unternehmensdaten"
#~ msgid "City"
#~ msgstr "Stadt"

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-11-24 02:52+0000\n"
"PO-Revision-Date: 2012-12-04 10:03+0000\n"
"PO-Revision-Date: 2012-12-07 10:32+0000\n"
"Last-Translator: WANTELLET Sylvain <Swantellet@tetra-info.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-05 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: base_setup
#: view:sale.config.settings:0
@ -63,12 +63,12 @@ msgstr "Membre"
#. module: base_setup
#: view:base.config.settings:0
msgid "Portal access"
msgstr ""
msgstr "Accès au portail"
#. module: base_setup
#: view:base.config.settings:0
msgid "Authentication"
msgstr ""
msgstr "Authentification"
#. module: base_setup
#: view:sale.config.settings:0
@ -80,7 +80,7 @@ msgstr "Devis et bons de commande"
#: model:ir.actions.act_window,name:base_setup.action_general_configuration
#: model:ir.ui.menu,name:base_setup.menu_general_configuration
msgid "General Settings"
msgstr ""
msgstr "Paramètres généraux"
#. module: base_setup
#: selection:base.setup.terminology,partner:0
@ -95,7 +95,7 @@ msgstr ""
#. module: base_setup
#: field:sale.config.settings,module_crm:0
msgid "CRM"
msgstr ""
msgstr "CRM"
#. module: base_setup
#: selection:base.setup.terminology,partner:0
@ -125,7 +125,7 @@ msgstr ""
#. module: base_setup
#: field:sale.config.settings,module_web_linkedin:0
msgid "Get contacts automatically from linkedIn"
msgstr ""
msgstr "Récupérer les contacts automatiquement de LinkedIn"
#. module: base_setup
#: field:sale.config.settings,module_plugin_thunderbird:0
@ -145,7 +145,7 @@ msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid "Import / Export"
msgstr ""
msgstr "Import / Export"
#. module: base_setup
#: view:sale.config.settings:0

View File

@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-11-24 02:52+0000\n"
"PO-Revision-Date: 2012-11-24 18:22+0000\n"
"Last-Translator: Erwin van der Ploeg (Endian Solutions) <Unknown>\n"
"PO-Revision-Date: 2012-12-09 18:22+0000\n"
"Last-Translator: Leen Sonneveld <leen.sonneveld@opensol.nl>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-11-25 05:52+0000\n"
"X-Generator: Launchpad (build 16293)\n"
"X-Launchpad-Export-Date: 2012-12-10 04:37+0000\n"
"X-Generator: Launchpad (build 16341)\n"
#. module: base_setup
#: view:sale.config.settings:0
msgid "Emails Integration"
msgstr "E-mail intergratie"
msgstr "E-mail integratie"
#. module: base_setup
#: selection:base.setup.terminology,partner:0

Some files were not shown because too many files have changed in this diff Show More