[MERGE]: Merged with lp:openobject-addons
bzr revid: atp@tinyerp.com-20120628101123-n47qwjvwzl25w0z1
This commit is contained in:
commit
858195963b
|
@ -24,11 +24,12 @@ from datetime import datetime
|
|||
from dateutil.relativedelta import relativedelta
|
||||
from operator import itemgetter
|
||||
|
||||
import netsvc
|
||||
import logging
|
||||
import pooler
|
||||
from osv import fields, osv
|
||||
import decimal_precision as dp
|
||||
from tools.translate import _
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
def check_cycle(self, cr, uid, ids, context=None):
|
||||
""" climbs the ``self._table.parent_id`` chains for 100 levels or
|
||||
|
@ -212,7 +213,6 @@ class account_account(osv.osv):
|
|||
_name = "account.account"
|
||||
_description = "Account"
|
||||
_parent_store = True
|
||||
logger = netsvc.Logger()
|
||||
|
||||
def search(self, cr, uid, args, offset=0, limit=None, order=None,
|
||||
context=None, count=False):
|
||||
|
@ -295,8 +295,7 @@ class account_account(osv.osv):
|
|||
if aml_query.strip():
|
||||
wheres.append(aml_query.strip())
|
||||
filters = " AND ".join(wheres)
|
||||
self.logger.notifyChannel('addons.'+self._name, netsvc.LOG_DEBUG,
|
||||
'Filters: %s'%filters)
|
||||
_logger.debug('Filters: %s',(filters))
|
||||
# IN might not work ideally in case there are too many
|
||||
# children_and_consolidated, in that case join on a
|
||||
# values() e.g.:
|
||||
|
@ -312,8 +311,7 @@ class account_account(osv.osv):
|
|||
" GROUP BY l.account_id")
|
||||
params = (tuple(children_and_consolidated),) + query_params
|
||||
cr.execute(request, params)
|
||||
self.logger.notifyChannel('addons.'+self._name, netsvc.LOG_DEBUG,
|
||||
'Status: %s'%cr.statusmessage)
|
||||
_logger.debug('Status: %s',(cr.statusmessage))
|
||||
|
||||
for res in cr.dictfetchall():
|
||||
accounts[res['id']] = res
|
||||
|
@ -2095,9 +2093,7 @@ class account_tax(osv.osv):
|
|||
}
|
||||
|
||||
def compute(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None):
|
||||
logger = netsvc.Logger()
|
||||
logger.notifyChannel("warning", netsvc.LOG_WARNING,
|
||||
"Deprecated, use compute_all(...)['taxes'] instead of compute(...) to manage prices with tax included")
|
||||
_logger.warning("Deprecated, use compute_all(...)['taxes'] instead of compute(...) to manage prices with tax included")
|
||||
return self._compute(cr, uid, taxes, price_unit, quantity, product, partner)
|
||||
|
||||
def _compute(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None):
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
<field name="quantity"/>
|
||||
<field name="uos_id" groups="product.group_uom"/>
|
||||
<field name="price_unit"/>
|
||||
<field name="discount"/>
|
||||
<field name="discount" groups="sale.group_discount_per_so_line"/>
|
||||
<field name="price_subtotal"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
@ -61,8 +61,8 @@
|
|||
on_change="uos_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, context, parent.company_id)"/>
|
||||
</div>
|
||||
<field name="price_unit"/>
|
||||
<field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '<>', 'view')]" name="account_id" on_change="onchange_account_id(product_id, parent.partner_id, parent.type, parent.fiscal_position,account_id)"/>
|
||||
<field name="discount"/>
|
||||
<field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '<>', 'view')]" name="account_id" on_change="onchange_account_id(product_id, parent.partner_id, parent.type, parent.fiscal_position,account_id)" groups="account.group_account_user"/>
|
||||
<field name="discount" groups="sale.group_discount_per_so_line"/>
|
||||
<field name="invoice_line_tax_id" context="{'type':parent.type}" domain="[('parent_id','=',False),('company_id', '=', parent.company_id)]" widget="many2many_tags"/>
|
||||
<field domain="[('type','<>','view'), ('company_id', '=', parent.company_id), ('parent_id', '!=', False)]" name="account_analytic_id" groups="analytic.group_analytic_accounting"/>
|
||||
<field name="company_id" groups="base.group_multi_company" readonly="1"/>
|
||||
|
@ -98,7 +98,7 @@
|
|||
<group col="4">
|
||||
<field name="name"/>
|
||||
<field name="sequence"/>
|
||||
<field name="account_id"/>
|
||||
<field name="account_id" groups="account.group_account_user"/>
|
||||
<field name="manual"/>
|
||||
<field name="amount"/>
|
||||
<field name="base" readonly="0"/>
|
||||
|
@ -148,7 +148,8 @@
|
|||
<field name="arch" type="xml">
|
||||
<form version="7.0">
|
||||
<header>
|
||||
<button name="invoice_open" states="draft,proforma2" string="Validate"/>
|
||||
<button name="invoice_open" states="draft" string="Validate" class="oe_highlight"/>
|
||||
<button name="invoice_open" states="proforma2" string="Validate"/>
|
||||
<button name="%(action_account_invoice_refund)d" type='action' string='Ask Refund' states='open,paid'/>
|
||||
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" groups="base.group_no_one"/>
|
||||
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object"/>
|
||||
|
@ -190,7 +191,7 @@
|
|||
<field context="{'partner_id': partner_id, 'price_type': 'price_type' in dir() and price_type or False, 'type': type}" name="invoice_line">
|
||||
<tree string="Invoice lines">
|
||||
<field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, context, parent.company_id)"/>
|
||||
<field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '<>', 'view')]" name="account_id" on_change="onchange_account_id(product_id,parent.partner_id,parent.type,parent.fiscal_position,account_id)"/>
|
||||
<field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '<>', 'view')]" name="account_id" on_change="onchange_account_id(product_id,parent.partner_id,parent.type,parent.fiscal_position,account_id)" groups="base.group_account_user"/>
|
||||
<field name="invoice_line_tax_id" view_mode="2" context="{'type':parent.type}" domain="[('parent_id','=',False)]"/>
|
||||
<field domain="[('type','<>','view'), ('company_id', '=', parent.company_id), ('parent_id', '!=', False)]" name="account_analytic_id" groups="analytic.group_analytic_accounting"/>
|
||||
<field name="quantity"/>
|
||||
|
@ -274,9 +275,10 @@
|
|||
<field name="arch" type="xml">
|
||||
<form version="7.0">
|
||||
<header>
|
||||
<button name="action_invoice_sent" type="object" string="Send by Email" states="open" attrs="{'invisible':['|',('sent','=',True), ('state', '=', 'draft')]}"/>
|
||||
<button name="invoice_print" string="Print Invoice" type="object" states="open" attrs="{'invisible':['|',('sent','=',True), ('state', '=', 'draft')]}"/>
|
||||
<button name="invoice_open" states="draft,proforma2" string="Validate"/>
|
||||
<button name="action_invoice_sent" type="object" string="Send by Email" states="open" attrs="{'invisible':['|',('sent','=',True), ('state', '=', 'draft')]}" class="oe_highlight"/>
|
||||
<button name="invoice_print" string="Print Invoice" type="object" states="open" attrs="{'invisible':['|',('sent','=',True), ('state', '=', 'draft')]}" class="oe_highlight"/>
|
||||
<button name="invoice_open" states="draft" string="Validate" class="oe_highlight"/>
|
||||
<button name="invoice_open" states="proforma2" string="Validate"/>
|
||||
<button name="invoice_proforma2" states="draft" string="PRO-FORMA" groups="account.group_proforma_invoices"/>
|
||||
<button name="%(action_account_invoice_refund)d" type='action' string='Refund Invoice' states='paid'/>
|
||||
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" groups="base.group_no_one"/>
|
||||
|
@ -339,7 +341,7 @@
|
|||
<field name="tax_line" nolabel="1">
|
||||
<tree editable="bottom" string="Taxes">
|
||||
<field name="name"/>
|
||||
<field name="account_id" groups="account.group_account_invoice"/>
|
||||
<field name="account_id" groups="account.group_account_user"/>
|
||||
<field name="base" on_change="base_change(base,parent.currency_id,parent.company_id,parent.date_invoice)" readonly="1"/>
|
||||
<field name="amount" on_change="amount_change(amount,parent.currency_id,parent.company_id,parent.date_invoice)"/>
|
||||
<field invisible="True" name="base_amount"/>
|
||||
|
@ -357,7 +359,7 @@
|
|||
<field name="amount_tax"/>
|
||||
<field name="amount_total" class="oe_subtotal_footer_separator"/>
|
||||
|
||||
<field name="residual" style="margin-top: 10px"/>
|
||||
<field name="residual" style="margin-top: 10px" groups="account.group_account_user"/>
|
||||
<field name="reconciled" invisible="1"/>
|
||||
</group>
|
||||
</group>
|
||||
|
@ -482,7 +484,12 @@
|
|||
<field name="domain">[('type','=','out_invoice')]</field>
|
||||
<field name="context">{'default_type':'out_invoice', 'type':'out_invoice', 'journal_type': 'sale'}</field>
|
||||
<field name="search_view_id" ref="view_account_invoice_filter"/>
|
||||
<field name="help">With Customer Invoices you can create and manage sales invoices issued to your customers. OpenERP can also generate draft invoices automatically from sales orders or deliveries. You should only confirm them before sending them to your customers.</field>
|
||||
<field name="help">
|
||||
Click here to create a new Invoice.
|
||||
<p>
|
||||
An invoice can be generated automatically from a sale order or a delivery order.
|
||||
The invoice can be send by email.
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
|
@ -510,7 +517,12 @@
|
|||
<field name="domain">[('type','=','in_invoice')]</field>
|
||||
<field name="context">{'default_type': 'in_invoice', 'type': 'in_invoice', 'journal_type': 'purchase'}</field>
|
||||
<field name="search_view_id" ref="view_account_invoice_filter"/>
|
||||
<field name="help">With Supplier Invoices you can enter and manage invoices issued by your suppliers. OpenERP can also generate draft invoices automatically from purchase orders or receipts. This way, you can control the invoice from your supplier according to what you purchased or received.</field>
|
||||
<field name="help">
|
||||
Click here to create Supplier invoice.
|
||||
<p>
|
||||
You can control the invoice from your supplier according to what you purchased or received.
|
||||
OpenERP can also generate draft invoices automatically from purchase orders or receipts.
|
||||
</field>
|
||||
</record>
|
||||
<menuitem action="action_invoice_tree2" id="menu_action_invoice_tree2" parent="menu_finance_payables"/>
|
||||
|
||||
|
@ -523,7 +535,12 @@
|
|||
<field name="domain">[('type','=','out_refund')]</field>
|
||||
<field name="context">{'default_type':'out_refund', 'type':'out_refund', 'journal_type': 'sale_refund'}</field>
|
||||
<field name="search_view_id" ref="view_account_invoice_filter"/>
|
||||
<field name="help">With Customer Refunds you can manage the credit notes for your customers. A refund is a document that credits an invoice completely or partially. You can easily generate refunds and reconcile them directly from the invoice form.</field>
|
||||
<field name="help">
|
||||
Click here to create a new customer refund.
|
||||
<p>
|
||||
A refund is a document that credits an invoice completely or partially.
|
||||
You can also generate refunds and reconcile them directly from the invoice form.
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_invoice_tree3_view1" model="ir.actions.act_window.view">
|
||||
|
@ -549,7 +566,12 @@
|
|||
<field name="domain">[('type','=','in_refund')]</field>
|
||||
<field name="context">{'default_type': 'in_refund', 'type': 'in_refund', 'journal_type': 'purchase_refund'}</field>
|
||||
<field name="search_view_id" ref="view_account_invoice_filter"/>
|
||||
<field name="help">With Supplier Refunds you can manage the credit notes you receive from your suppliers. A refund is a document that credits an invoice completely or partially. You can easily generate refunds and reconcile them directly from the invoice form.</field>
|
||||
<field name="help">
|
||||
Click here to create a new supplier refund.
|
||||
<p>
|
||||
Track refunds you receive from your suppliers.
|
||||
You can also generate refunds and reconcile them directly from the invoice form.
|
||||
</field>
|
||||
</record>
|
||||
<menuitem action="action_invoice_tree4" id="menu_action_invoice_tree4" parent="menu_finance_payables"/>
|
||||
|
||||
|
|
|
@ -555,19 +555,6 @@
|
|||
<field eval="1" name="number_increment"/>
|
||||
</record>
|
||||
|
||||
<!--
|
||||
Sequence for analytic account
|
||||
-->
|
||||
<record id="seq_type_analytic_account" model="ir.sequence.type">
|
||||
<field name="name">Analytic account</field>
|
||||
<field name="code">account.analytic.account</field>
|
||||
</record>
|
||||
<record id="seq_analytic_account" model="ir.sequence">
|
||||
<field name="name">Analytic account sequence</field>
|
||||
<field name="code">account.analytic.account</field>
|
||||
<field eval="3" name="padding"/>
|
||||
<field eval="2708" name="number_next"/>
|
||||
</record>
|
||||
|
||||
<!--
|
||||
Invoice requests (deprecated)
|
||||
|
|
|
@ -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-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2012-06-20 16:08+0000\n"
|
||||
"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-06-25 09:07+0000\n"
|
||||
"Last-Translator: Ferdinand @ Camptocamp <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-06-22 04:37+0000\n"
|
||||
"X-Generator: Launchpad (build 15461)\n"
|
||||
"X-Launchpad-Export-Date: 2012-06-26 05:22+0000\n"
|
||||
"X-Generator: Launchpad (build 15482)\n"
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice.report:0
|
||||
|
@ -5437,7 +5437,7 @@ msgstr "Standardauswertung Finanzen"
|
|||
#: field:account.bank.statement.line,name:0
|
||||
#: field:account.invoice,reference:0
|
||||
msgid "Communication"
|
||||
msgstr "Buchungstext"
|
||||
msgstr "Kommunikation"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.ui.menu,name:account.menu_analytic_accounting
|
||||
|
|
|
@ -30,11 +30,11 @@ from tools.translate import _
|
|||
from osv import fields, osv
|
||||
import netsvc
|
||||
import tools
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
class account_installer(osv.osv_memory):
|
||||
_name = 'account.installer'
|
||||
_inherit = 'res.config.installer'
|
||||
__logger = logging.getLogger(_name)
|
||||
|
||||
def _get_charts(self, cr, uid, context=None):
|
||||
modules = self.pool.get('ir.module.module')
|
||||
|
@ -149,7 +149,7 @@ class account_installer(osv.osv_memory):
|
|||
cr, uid, ids, context=context)
|
||||
chart = self.read(cr, uid, ids, ['charts'],
|
||||
context=context)[0]['charts']
|
||||
self.__logger.debug('Installing chart of accounts %s', chart)
|
||||
_logger.debug('Installing chart of accounts %s', chart)
|
||||
return modules | set([chart])
|
||||
|
||||
account_installer()
|
||||
|
|
|
@ -3,102 +3,85 @@
|
|||
<data noupdate="1">
|
||||
<record id="analytic_root" model="account.analytic.account">
|
||||
<field name="name" model="res.company" use="name" search="[]"/>
|
||||
<field name="code">0</field>
|
||||
</record>
|
||||
<record id="analytic_absences" model="account.analytic.account">
|
||||
<field name="name">Leaves</field>
|
||||
<field name="code">1</field>
|
||||
<field name="type">view</field>
|
||||
<field name="parent_id" ref="analytic_root"/>
|
||||
</record>
|
||||
<record id="analytic_internal" model="account.analytic.account">
|
||||
<field name="name">Internal</field>
|
||||
<field name="code">2</field>
|
||||
<field name="type">view</field>
|
||||
<field name="parent_id" ref="analytic_root"/>
|
||||
</record>
|
||||
<record id="analytic_our_super_product" model="account.analytic.account">
|
||||
<field name="name">Our Super Product</field>
|
||||
<field name="code">100</field>
|
||||
<field name="state">open</field>
|
||||
<field name="type">view</field>
|
||||
<field name="parent_id" ref="analytic_root"/>
|
||||
</record>
|
||||
<record id="analytic_project_1" model="account.analytic.account">
|
||||
<field name="name">Project 1</field>
|
||||
<field name="code">101</field>
|
||||
<field name="type">view</field>
|
||||
<field name="parent_id" ref="analytic_root"/>
|
||||
</record>
|
||||
<record id="analytic_project_2" model="account.analytic.account">
|
||||
<field name="name">Project 2</field>
|
||||
<field name="code">102</field>
|
||||
<field name="type">view</field>
|
||||
<field name="parent_id" ref="analytic_root"/>
|
||||
</record>
|
||||
<record id="analytic_journal_trainings" model="account.analytic.account">
|
||||
<field name="name">Training</field>
|
||||
<field name="code">4</field>
|
||||
<field name="type">view</field>
|
||||
<field name="parent_id" ref="analytic_internal"/>
|
||||
</record>
|
||||
<record id="analytic_in_house" model="account.analytic.account">
|
||||
<field name="name">In House</field>
|
||||
<field name="code">1</field>
|
||||
<field name="type">normal</field>
|
||||
<field name="parent_id" ref="analytic_journal_trainings"/>
|
||||
</record>
|
||||
<record id="analytic_online" model="account.analytic.account">
|
||||
<field name="name">Online</field>
|
||||
<field name="code">2</field>
|
||||
<field name="type">normal</field>
|
||||
<field name="parent_id" ref="analytic_journal_trainings"/>
|
||||
</record>
|
||||
<record id="analytic_support" model="account.analytic.account">
|
||||
<field name="name">Support</field>
|
||||
<field name="code">support</field>
|
||||
<field name="type">view</field>
|
||||
<field name="parent_id" ref="analytic_our_super_product"/>
|
||||
</record>
|
||||
<record id="analytic_partners" model="account.analytic.account">
|
||||
<field name="name">Partners</field>
|
||||
<field name="code">partners</field>
|
||||
<field name="type">view</field>
|
||||
<field name="parent_id" ref="analytic_support"/>
|
||||
</record>
|
||||
<record id="analytic_customers" model="account.analytic.account">
|
||||
<field name="name">Customers</field>
|
||||
<field name="code">customers</field>
|
||||
<field name="type">view</field>
|
||||
<field name="parent_id" ref="analytic_support"/>
|
||||
</record>
|
||||
<record id="analytic_support_internal" model="account.analytic.account">
|
||||
<field name="name">Internal</field>
|
||||
<field name="code">3</field>
|
||||
<field name="type">normal</field>
|
||||
<field name="type">contract</field>
|
||||
<field name="parent_id" ref="analytic_support"/>
|
||||
</record>
|
||||
<record id="analytic_integration" model="account.analytic.account">
|
||||
<field name="name">Integration</field>
|
||||
<field name="code">integration</field>
|
||||
<field name="type">view</field>
|
||||
<field name="parent_id" ref="analytic_our_super_product"/>
|
||||
</record>
|
||||
<record id="analytic_consultancy" model="account.analytic.account">
|
||||
<field name="name">Consultancy</field>
|
||||
<field name="code">4</field>
|
||||
<field name="type">normal</field>
|
||||
<field name="type">contract</field>
|
||||
<field name="parent_id" ref="analytic_our_super_product"/>
|
||||
</record>
|
||||
<record id="analytic_super_product_trainings" model="account.analytic.account">
|
||||
<field name="name">Training</field>
|
||||
<field name="code">5</field>
|
||||
<field name="type">normal</field>
|
||||
<field name="type">contract</field>
|
||||
<field name="parent_id" ref="analytic_our_super_product"/>
|
||||
</record>
|
||||
<record id="analytic_seagate_p1" model="account.analytic.account">
|
||||
<field name="name">Seagate P1</field>
|
||||
<field name="code">1</field>
|
||||
<field name="parent_id" ref="analytic_integration"/>
|
||||
<field name="type">normal</field>
|
||||
<field name="state">open</field>
|
||||
|
@ -106,7 +89,6 @@
|
|||
</record>
|
||||
<record id="analytic_seagate_p2" model="account.analytic.account">
|
||||
<field name="name">Seagate P2</field>
|
||||
<field name="code">2</field>
|
||||
<field name="type">normal</field>
|
||||
<field name="parent_id" ref="analytic_integration"/>
|
||||
<field name="state">open</field>
|
||||
|
@ -114,14 +96,12 @@
|
|||
</record>
|
||||
<record id="analytic_magasin_bml_1" model="account.analytic.account">
|
||||
<field name="name">Magasin BML 1</field>
|
||||
<field name="code">3</field>
|
||||
<field name="parent_id" ref="analytic_integration"/>
|
||||
<field name="type">normal</field>
|
||||
<field name="partner_id" ref="base.res_partner_15"/>
|
||||
</record>
|
||||
<record id="analytic_integration_c2c" model="account.analytic.account">
|
||||
<field name="name">CampToCamp</field>
|
||||
<field name="code">7</field>
|
||||
<field name="type">normal</field>
|
||||
<field eval="str(time.localtime()[0] - 1) + '-08-07'" name="date_start"/>
|
||||
<field eval="time.strftime('%Y-12-31')" name="date"/>
|
||||
|
@ -131,28 +111,24 @@
|
|||
</record>
|
||||
<record id="analytic_agrolait" model="account.analytic.account">
|
||||
<field name="name">Agrolait</field>
|
||||
<field name="code">3</field>
|
||||
<field name="parent_id" ref="analytic_customers"/>
|
||||
<field name="type">normal</field>
|
||||
<field name="partner_id" ref="base.res_partner_agrolait"/>
|
||||
</record>
|
||||
<record id="analytic_asustek" model="account.analytic.account">
|
||||
<field name="name">Asustek</field>
|
||||
<field name="code">4</field>
|
||||
<field name="type">normal</field>
|
||||
<field name="parent_id" ref="analytic_customers"/>
|
||||
<field name="partner_id" ref="base.res_partner_asus"/>
|
||||
</record>
|
||||
<record id="analytic_distripc" model="account.analytic.account">
|
||||
<field name="name">DistriPC</field>
|
||||
<field name="code">7</field>
|
||||
<field name="parent_id" ref="analytic_customers"/>
|
||||
<field name="type">normal</field>
|
||||
<field name="partner_id" ref="base.res_partner_4"/>
|
||||
</record>
|
||||
<record id="analytic_sednacom" model="account.analytic.account">
|
||||
<field name="name">Sednacom</field>
|
||||
<field name="code">2</field>
|
||||
<field eval="str(time.localtime()[0] - 1) + '-05-09'" name="date_start"/>
|
||||
<field eval="time.strftime('%Y-05-08')" name="date"/>
|
||||
<field name="parent_id" ref="analytic_partners"/>
|
||||
|
@ -162,7 +138,6 @@
|
|||
</record>
|
||||
<record id="analytic_thymbra" model="account.analytic.account">
|
||||
<field name="name">Thymbra</field>
|
||||
<field name="code">3</field>
|
||||
<field eval="time.strftime('%Y-02-01')" name="date_start"/>
|
||||
<field eval="time.strftime('%Y-07-01')" name="date"/>
|
||||
<field name="type">normal</field>
|
||||
|
@ -172,7 +147,6 @@
|
|||
</record>
|
||||
<record id="analytic_leclerc" model="account.analytic.account">
|
||||
<field name="name">Leclerc</field>
|
||||
<field name="code">10</field>
|
||||
<field eval="time.strftime('%Y-04-24')" name="date_start"/>
|
||||
<field eval="str(time.localtime()[0] + 1) + '-04-24'" name="date"/>
|
||||
<field name="type">normal</field>
|
||||
|
@ -181,7 +155,6 @@
|
|||
</record>
|
||||
<record id="analytic_desertic_hispafuentes" model="account.analytic.account">
|
||||
<field name="name">Desertic - Hispafuentes</field>
|
||||
<field name="code">12</field>
|
||||
<field eval="time.strftime('%Y-02-01')" name="date_start"/>
|
||||
<field eval="str(time.localtime()[0] + 1) + '-02-01'" name="date"/>
|
||||
<field name="type">normal</field>
|
||||
|
@ -190,14 +163,12 @@
|
|||
</record>
|
||||
<record id="analytic_tiny_at_work" model="account.analytic.account">
|
||||
<field name="name">OpenERP SA AT Work</field>
|
||||
<field name="code">15</field>
|
||||
<field name="type">normal</field>
|
||||
<field name="parent_id" ref="analytic_partners"/>
|
||||
<field name="partner_id" ref="base.res_partner_tinyatwork"/>
|
||||
</record>
|
||||
<record id="analytic_partners_camp_to_camp" model="account.analytic.account">
|
||||
<field name="name">Camp to Camp</field>
|
||||
<field name="code">21</field>
|
||||
<field eval="time.strftime('%Y-%m-%d', time.localtime(time.time() - 365 * 86400))" name="date_start"/>
|
||||
<field eval="time.strftime('%Y-%m-%d')" name="date"/>
|
||||
<field name="type">normal</field>
|
||||
|
@ -207,67 +178,56 @@
|
|||
</record>
|
||||
<record id="analytic_project_2_support" model="account.analytic.account">
|
||||
<field name="name">Support</field>
|
||||
<field name="code">1</field>
|
||||
<field name="type">normal</field>
|
||||
<field name="parent_id" ref="analytic_project_2"/>
|
||||
</record>
|
||||
<record id="analytic_project_2_development" model="account.analytic.account">
|
||||
<field name="name">Development</field>
|
||||
<field name="code">2</field>
|
||||
<field name="type">normal</field>
|
||||
<field name="parent_id" ref="analytic_project_2"/>
|
||||
</record>
|
||||
<record id="analytic_project_1_trainings" model="account.analytic.account">
|
||||
<field name="name">Training</field>
|
||||
<field name="code">1</field>
|
||||
<field name="type">normal</field>
|
||||
<field name="parent_id" ref="analytic_project_1"/>
|
||||
</record>
|
||||
<record id="analytic_project_1_development" model="account.analytic.account">
|
||||
<field name="name">Development</field>
|
||||
<field name="code">2</field>
|
||||
<field name="type">normal</field>
|
||||
<field name="parent_id" ref="analytic_project_1"/>
|
||||
</record>
|
||||
<record id="analytic_administratif" model="account.analytic.account">
|
||||
<field name="name">Administrative</field>
|
||||
<field name="code">1</field>
|
||||
<field name="type">normal</field>
|
||||
<field name="parent_id" ref="analytic_internal"/>
|
||||
</record>
|
||||
<record id="analytic_commercial_marketing" model="account.analytic.account">
|
||||
<field name="name">Commercial & Marketing</field>
|
||||
<field name="code">2</field>
|
||||
<field name="type">normal</field>
|
||||
<field name="parent_id" ref="analytic_internal"/>
|
||||
</record>
|
||||
<record id="analytic_our_super_product_development" model="account.analytic.account">
|
||||
<field name="name">Our Super Product Development</field>
|
||||
<field name="code">3</field>
|
||||
<field name="type">view</field>
|
||||
<field name="parent_id" ref="analytic_internal"/>
|
||||
</record>
|
||||
<record id="analytic_stable" model="account.analytic.account">
|
||||
<field name="name">Stable</field>
|
||||
<field name="code">1</field>
|
||||
<field name="type">normal</field>
|
||||
<field name="parent_id" ref="analytic_our_super_product_development"/>
|
||||
</record>
|
||||
<record id="analytic_trunk" model="account.analytic.account">
|
||||
<field name="name">Trunk</field>
|
||||
<field name="code">2</field>
|
||||
<field name="type">normal</field>
|
||||
<field name="parent_id" ref="analytic_our_super_product_development"/>
|
||||
</record>
|
||||
<record id="analytic_paid" model="account.analytic.account">
|
||||
<field name="name">Paid</field>
|
||||
<field name="code">1</field>
|
||||
<field name="type">normal</field>
|
||||
<field name="parent_id" ref="analytic_absences"/>
|
||||
</record>
|
||||
<record id="analytic_unpaid" model="account.analytic.account">
|
||||
<field name="name">Unpaid</field>
|
||||
<field name="code">2</field>
|
||||
<field name="type">normal</field>
|
||||
<field name="parent_id" ref="analytic_absences"/>
|
||||
</record>
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
<field name="partner_id" invisible="1"/>
|
||||
<field name="state" invisible="1"/>
|
||||
<field name="type" invisible="1"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -59,7 +60,7 @@
|
|||
<field name="field_parent">child_complete_ids</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree colors="blue:state=='pending';grey:state in ('close','cancelled');blue:type=='view'" string="Analytic account" toolbar="1">
|
||||
<field name="name"/>
|
||||
<field name="complete_name"/>
|
||||
<field name="code"/>
|
||||
<field name="debit"/>
|
||||
<field name="credit"/>
|
||||
|
@ -71,50 +72,11 @@
|
|||
<field name="partner_id" invisible="1"/>
|
||||
<field name="parent_id" invisible="1"/>
|
||||
<field name="type"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_account_analytic_account_form" model="ir.ui.view">
|
||||
<field name="name">account.analytic.account.form</field>
|
||||
<field name="model">account.analytic.account</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Analytic Account" version="7.0">
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name" colspan="4"/>
|
||||
<field name="parent_id" on_change="on_change_parent(parent_id)"/>
|
||||
<field name="company_id" on_change="on_change_company(company_id)" widget="selection" groups="base.group_multi_company" attrs="{'required': [('type','<>','view')]}"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="type"/>
|
||||
<field name="code"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Account Data">
|
||||
<group>
|
||||
<group string="Contacts">
|
||||
<field name="partner_id"/>
|
||||
<field name="user_id"/>
|
||||
</group>
|
||||
<group name="contract" string="Contract Data">
|
||||
<field name="date_start"/>
|
||||
<field name="date"/>
|
||||
<field name="quantity_max"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Description">
|
||||
<field name="description"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_account_analytic_account_form" model="ir.actions.act_window">
|
||||
<field name="name">Analytic Accounts</field>
|
||||
|
@ -210,6 +172,7 @@
|
|||
<field domain="[('type','=','normal')]" name="account_id"/>
|
||||
<field name="general_account_id" invisible="context.get('to_invoice', False)"/>
|
||||
<field name="user_id" invisible="1" />
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -75,10 +75,10 @@ class account_analytic_cost_ledger(report_sxw.rml_parse):
|
|||
return res
|
||||
|
||||
def _account_sum_debit(self, account, date1, date2):
|
||||
return self._sum_debit(self, [account], date1, date2)
|
||||
return self._sum_debit([account], date1, date2)
|
||||
|
||||
def _account_sum_credit(self, account, date1, date2):
|
||||
return self._sum_credit(self, [account], date1, date2)
|
||||
return self._sum_credit([account], date1, date2)
|
||||
|
||||
def _account_sum_balance(self, account, date1, date2):
|
||||
debit = self._account_sum_debit(account, date1, date2)
|
||||
|
|
|
@ -497,7 +497,7 @@
|
|||
<para style="terp_default_8">[[ strip_name(line['partner_name'],10) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_8">[[ strip_name(line['lref'],9) ]]</para>
|
||||
<para style="terp_default_8">[[ line['lref'] and strip_name(line['lref'],9) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_8">[[ strip_name(line['move'],9) ]]</para>
|
||||
|
@ -590,7 +590,7 @@
|
|||
<para style="terp_default_8">[[ strip_name(line['partner_name'],20) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_8">[[ strip_name(line['lref'],9) ]]</para>
|
||||
<para style="terp_default_8">[[ line['lref'] and strip_name(line['lref'],9) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_8">[[ strip_name(line['move'],9) ]]</para>
|
||||
|
|
|
@ -505,7 +505,7 @@
|
|||
<para style="terp_default_Bold_7_Right">[[ formatLang(sum_credit_account(o), digits=get_digits(dp='Account')) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Bold_7_Right">[[ formatLang(sum_balance_account(o), digits=get_digits(dp='Account'), currency = company.currency_id) ]]</para>
|
||||
<para style="terp_default_Bold_7_Right">[[ formatLang(sum_balance_account(o), digits=get_digits(dp='Account'), currency_obj= company.currency_id) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Bold_7_Right">[[ o.currency_id and formatLang(sum_currency_amount_account(o), digits=get_digits(dp='Account'),currency_obj=o.currency_id) or '' ]]</para>
|
||||
|
@ -529,7 +529,7 @@
|
|||
<para style="terp_default_7">[[ strip_name(line['partner_name'],20) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_7">[[ strip_name(line['lref'],17) ]]</para>
|
||||
<para style="terp_default_7">[[ line['lref'] and strip_name(line['lref'],17) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_7">[[ line['move'] ]]</para>
|
||||
|
|
|
@ -519,7 +519,7 @@
|
|||
<para style="terp_default_8">[[ line['a_code'] ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_8">[[ strip_name(line['ref'],10) ]] - [[ strip_name(line['name'],15) ]]</para>
|
||||
<para style="terp_default_8">[[ line['ref'] and strip_name(line['ref'],10) ]] - [[ strip_name(line['name'],15) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_8">[[ formatLang((line['debit'])) ]]</para>
|
||||
|
|
|
@ -524,7 +524,7 @@
|
|||
<para style="terp_default_8">[[ line['a_code'] ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_8">[[ strip_name(line['ref'],10) ]] - [[ strip_name(line['name'],15) ]]</para>
|
||||
<para style="terp_default_8">[[ line['ref'] and strip_name(line['ref'],10) ]] - [[ strip_name(line['name'],15) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_8">[[ formatLang((line['debit'])) ]]</para>
|
||||
|
|
|
@ -162,7 +162,7 @@
|
|||
</td>
|
||||
<td>
|
||||
<para style="terp_default_8">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para>
|
||||
<para style="terp_default_8">[[ display_address(o.partner_id,'invoice') ]]</para>
|
||||
<para style="terp_default_8">[[ display_address(o.partner_id) ]]</para>
|
||||
<para style="terp_default_8">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
|
|
|
@ -37,14 +37,14 @@ class account_config_settings(osv.osv_memory):
|
|||
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||
'has_default_company': fields.boolean('Has default company', readonly=True),
|
||||
'expects_chart_of_accounts': fields.related('company_id', 'expects_chart_of_accounts', type='boolean',
|
||||
string='Chart of Accounts for this Company',
|
||||
string='This Company Has its Own Chart of Accounts',
|
||||
help="""Check this box if this company is a legal entity."""),
|
||||
'currency_id': fields.related('company_id', 'currency_id', type='many2one', relation='res.currency', required=True,
|
||||
string='Default Company Currency', help="Main currency of the company."),
|
||||
'paypal_account': fields.related('company_id', 'paypal_account', type='char', size=128,
|
||||
string='Paypal Account', help="Paypal account (email) for receiving online payments (credit card, etc.)"),
|
||||
string='Paypal Account', help="Paypal account (email) for receiving online payments (credit card, etc.) If you set a paypal account, the customer will be able to pay your invoices or quotations with a button \"Pay with Paypal\" in automated emails or through the OpenERP portal."),
|
||||
'company_footer': fields.related('company_id', 'rml_footer2', type='char', size=250, readonly=True,
|
||||
string='Bank Accounts on Reports', help="Bank accounts as printed on footer of reports."),
|
||||
string='Bank Accounts on Reports', help="Bank accounts as printed in the footer of each customer document. This is for information purpose only, you should configure these bank accounts through the above button \"Configure Bank Accounts\"."),
|
||||
|
||||
'has_chart_of_accounts': fields.boolean('Company has a chart of accounts'),
|
||||
'chart_template_id': fields.many2one('account.chart.template', 'Chart Template', domain="[('visible','=', True)]"),
|
||||
|
@ -77,12 +77,12 @@ class account_config_settings(osv.osv_memory):
|
|||
help="""This allows you to check writing and printing.
|
||||
This installs the module account_check_writing."""),
|
||||
'module_account_accountant': fields.boolean('Accountant Features',
|
||||
help="""If you do not check this box, you will be able to do Invoicing & Payments, but not accounting (Journal Items, Chart of Accounts, ...)."""),
|
||||
help="""If you do not check this box, you will be able to do invoicing & payments, but not accounting (Journal Items, Chart of Accounts, ...)"""),
|
||||
'module_account_asset': fields.boolean('Assets Management',
|
||||
help="""This allows you to manage the assets owned by a company or a person.
|
||||
It keeps track of the depreciation occurred on those assets, and creates account move for those depreciation lines.
|
||||
This installs the module account_asset. If you do not check this box, you will be able to do invoicing & payments,
|
||||
but not accounting (Journal Items, Chart of Accounts, ...) """),
|
||||
This installs the module account_asset. If you do not check this box, you will be able to do invoicing & payments,
|
||||
but not accounting (Journal Items, Chart of Accounts, ...)"""),
|
||||
'module_account_budget': fields.boolean('Budget Management',
|
||||
help="""This allows accountants to manage analytic and crossovered budgets.
|
||||
Once the master budgets and the budgets are defined,
|
||||
|
@ -96,7 +96,7 @@ class account_config_settings(osv.osv_memory):
|
|||
'module_account_voucher': fields.boolean('Manage Customer Payments',
|
||||
help="""This includes all the basic requirements of voucher entries for bank, cash, sales, purchase, expense, contra, etc.
|
||||
This installs the module account_voucher."""),
|
||||
'module_account_followup': fields.boolean('Manage Customer Payment Follow-Ups',
|
||||
'module_account_followup': fields.boolean('Manage Customer Payment Follow-ups',
|
||||
help="""This allows to automate letters for unpaid invoices, with multi-level recalls.
|
||||
This installs the module account_followup."""),
|
||||
'module_account_invoice_layout': fields.boolean('Allow Notes and Subtotals',
|
||||
|
@ -110,10 +110,12 @@ class account_config_settings(osv.osv_memory):
|
|||
'group_proforma_invoices': fields.boolean('Allow Pro-forma Invoices',
|
||||
implied_group='account.group_proforma_invoices',
|
||||
help="Allows you to put invoices in pro-forma state."),
|
||||
'default_sale_tax': fields.many2one('account.tax', 'Default Sale Tax'),
|
||||
'default_purchase_tax': fields.many2one('account.tax', 'Default Purchase Tax'),
|
||||
'decimal_precision': fields.integer('Decimal Precision',
|
||||
help="""Set the decimal precision for rounding results in accounting."""),
|
||||
'default_sale_tax': fields.many2one('account.tax', 'Default Sale Tax',
|
||||
help="This sale tax will be assigned by default on new products."),
|
||||
'default_purchase_tax': fields.many2one('account.tax', 'Default Purchase Tax',
|
||||
help="This purchase tax will be assigned by default on new products."),
|
||||
'decimal_precision': fields.integer('Decimal Precision on Journal Entries',
|
||||
help="""As an example, a decimal precision of 2 will allow journal entries like: 9.99 EUR, whereas a decimal precision of 4 will allow journal entries like: 0.0231 EUR."""),
|
||||
}
|
||||
|
||||
def _default_company(self, cr, uid, context=None):
|
||||
|
|
|
@ -17,52 +17,66 @@
|
|||
<field name="arch" type="xml">
|
||||
<form string="Configure Accounting" version="7.0">
|
||||
<header>
|
||||
<button string="Apply" type="object" name="execute"/>
|
||||
<button string="Cancel" special="cancel"/>
|
||||
<button string="Apply" type="object" name="execute" class="oe_highlight_on_dirty"/>
|
||||
<button string="Cancel" type="object" name="cancel"/>
|
||||
</header>
|
||||
<group col="4">
|
||||
<field name="has_default_company" invisible="1" />
|
||||
<field name="has_chart_of_accounts" invisible="1"/>
|
||||
<field name="company_id" widget="selection" on_change="onchange_company_id(company_id)"
|
||||
<sheet>
|
||||
<field name="has_default_company" invisible="1" />
|
||||
<field name="has_chart_of_accounts" invisible="1"/>
|
||||
<field name="complete_tax_set" invisible="1"/>
|
||||
<field name="has_fiscal_year" invisible="1"/>
|
||||
|
||||
<group groups="base.group_multi_company">
|
||||
<field name="company_id" string="Select Company" widget="selection"
|
||||
on_change="onchange_company_id(company_id)"
|
||||
attrs="{'invisible': [('has_default_company', '=', True)]}"/>
|
||||
<field name="expects_chart_of_accounts"/>
|
||||
</group>
|
||||
|
||||
<group string="Select a Chart of Accounts to Install" col="4" attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_chart_of_accounts','=',True)]}">
|
||||
<field name="chart_template_id" widget="selection" on_change="onchange_chart_template_id(chart_template_id)" domain="[('visible','=', True)]"/>
|
||||
<div class="oe_form_button_save_dirty">
|
||||
<group string="Select a Chart of Accounts to Install"
|
||||
attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_chart_of_accounts','=',True)]}">
|
||||
<group>
|
||||
<field name="chart_template_id" widget="selection" domain="[('visible','=', True)]"
|
||||
on_change="onchange_chart_template_id(chart_template_id)"/>
|
||||
<field name="code_digits" groups="account.group_account_user"/>
|
||||
<field name="sale_tax" attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',False)]}"
|
||||
domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('sale','all'))]"/>
|
||||
<field name="purchase_tax" attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',False)]}"
|
||||
domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('purchase', 'all'))]"/>
|
||||
<field name="sale_tax_rate" attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',True)]}" on_change="onchange_tax_rate(sale_tax_rate)"/>
|
||||
<field name="purchase_tax_rate" attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',True)]}"/>
|
||||
</group>
|
||||
<button string="Install More Chart Templates" icon="gtk-go-forward"
|
||||
name="%(open_account_charts_modules)d" type="action"/>
|
||||
<newline/>
|
||||
<field name="code_digits" groups="account.group_account_user"/>
|
||||
<newline/>
|
||||
<field name="complete_tax_set" invisible="1"/>
|
||||
<field name="sale_tax" attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',False)]}"
|
||||
domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('sale','all'))]"/>
|
||||
<field name="purchase_tax" attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',False)]}"
|
||||
domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('purchase', 'all'))]"/>
|
||||
<field name="sale_tax_rate" attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',True)]}" on_change="onchange_tax_rate(sale_tax_rate)"/>
|
||||
<field name="purchase_tax_rate" attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',True)]}"/>
|
||||
</group>
|
||||
</div>
|
||||
|
||||
<field name="has_fiscal_year" invisible="1"/>
|
||||
<group string="No Fiscal Year Defined for this Company" col="4" attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_fiscal_year','=',True)]}">
|
||||
<field name="date_start" on_change="onchange_start_date(date_start)"/>
|
||||
<field name="date_stop"/>
|
||||
<field name="period" colspan="4"/>
|
||||
<div class="oe_form_button_save_dirty">
|
||||
<group string="No Fiscal Year Defined for This Company"
|
||||
attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_fiscal_year','=',True)]}">
|
||||
<label for="date_start" string="Date Range"/>
|
||||
<div>
|
||||
<field name="date_start" on_change="onchange_start_date(date_start)" class="oe_inline"/> -
|
||||
<field name="date_stop" class="oe_inline"/>
|
||||
</div>
|
||||
<field name="period"/>
|
||||
</group>
|
||||
</div>
|
||||
|
||||
<field name="complete_tax_set" invisible="1"/>
|
||||
<group string="Accounting Configuration">
|
||||
<group>
|
||||
<field name="default_sale_tax" domain="[('type_tax_use','=','sale'), ('company_id','=',company_id)]" attrs="{'invisible': [('has_chart_of_accounts','=',False)]}"/>
|
||||
<field name="default_sale_tax" domain="[('type_tax_use','=','sale'), ('company_id','=',company_id)]"
|
||||
attrs="{'invisible': [('has_chart_of_accounts','=',False)]}"/>
|
||||
<field name="module_account_accountant"/>
|
||||
<field name="module_account_asset"/>
|
||||
<field name="currency_id"/>
|
||||
<field name="decimal_precision"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="default_purchase_tax" domain="[('type_tax_use','=','purchase'), ('company_id','=',company_id)]" attrs="{'invisible': [('has_chart_of_accounts','=',False)]}"/>
|
||||
<field name="currency_id"/>
|
||||
<field name="default_purchase_tax" domain="[('type_tax_use','=','purchase'), ('company_id','=',company_id)]"
|
||||
attrs="{'invisible': [('has_chart_of_accounts','=',False)]}"/>
|
||||
<field name="module_account_asset"/>
|
||||
<field name="module_account_budget"/>
|
||||
<field name="decimal_precision"/>
|
||||
</group>
|
||||
</group>
|
||||
|
||||
|
@ -72,47 +86,55 @@
|
|||
<field name="purchase_refund_journal_id" invisible="1"/>
|
||||
<group>
|
||||
<group string="Customer Invoices">
|
||||
<label string="Invoice Sequence" for="sale_sequence_prefix"/>
|
||||
<div>
|
||||
<field name="sale_sequence_prefix" class="oe_inline"/>
|
||||
<field name="sale_sequence_next" class="oe_inline" attrs="{'readonly': [('sale_journal_id','=',False)]}"/>
|
||||
</div>
|
||||
|
||||
<label string="Credit Note Sequence" for="sale_refund_sequence_prefix"/>
|
||||
<div>
|
||||
<field name="sale_refund_sequence_prefix" class="oe_inline"/>
|
||||
<field name="sale_refund_sequence_next" class="oe_inline" attrs="{'readonly': [('sale_refund_journal_id','=',False)]}"/>
|
||||
</div>
|
||||
<label for="sale_sequence_next"/>
|
||||
<group>
|
||||
<field name="sale_sequence_prefix" class="oe_inline" nolabel="1"
|
||||
help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
|
||||
<field name="sale_sequence_next" class="oe_inline" nolabel="1" attrs="{'readonly': [('sale_journal_id','=',False)]}"/>
|
||||
</group>
|
||||
<label for="sale_refund_sequence_next"/>
|
||||
<group>
|
||||
<field name="sale_refund_sequence_prefix" class="oe_inline" nolabel="1"
|
||||
help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
|
||||
<field name="sale_refund_sequence_next" class="oe_inline" nolabel="1" attrs="{'readonly': [('sale_refund_journal_id','=',False)]}"/>
|
||||
</group>
|
||||
<field name="module_account_invoice_layout"/>
|
||||
<field name="module_account_voucher"/>
|
||||
<field name="module_account_followup"/>
|
||||
<field name="group_proforma_invoices"/>
|
||||
</group>
|
||||
|
||||
<group string="Supplier Invoices">
|
||||
<label string="Supplier Invoice Sequence" for="purchase_sequence_prefix"/>
|
||||
<div>
|
||||
<field name="purchase_sequence_prefix" class="oe_inline"/>
|
||||
<field name="purchase_sequence_next" class="oe_inline" attrs="{'readonly': [('purchase_journal_id','=',False)]}"/>
|
||||
</div>
|
||||
<label string="Supplier Credit Note Sequence" for="purchase_refund_sequence_prefix"/>
|
||||
<div>
|
||||
<field name="purchase_refund_sequence_prefix" class="oe_inline"/>
|
||||
<field name="purchase_refund_sequence_next" class="oe_inline"
|
||||
<label for="purchase_sequence_next"/>
|
||||
<group>
|
||||
<field name="purchase_sequence_prefix" class="oe_inline" nolabel="1"
|
||||
help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
|
||||
<field name="purchase_sequence_next" class="oe_inline" nolabel="1" attrs="{'readonly': [('purchase_journal_id','=',False)]}"/>
|
||||
</group>
|
||||
<label for="purchase_refund_sequence_next"/>
|
||||
<group>
|
||||
<field name="purchase_refund_sequence_prefix" class="oe_inline" nolabel="1"
|
||||
help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
|
||||
<field name="purchase_refund_sequence_next" class="oe_inline" nolabel="1"
|
||||
attrs="{'readonly': [('purchase_refund_journal_id','=',False)]}"/>
|
||||
</div>
|
||||
</group>
|
||||
<field name="module_account_payment"/>
|
||||
</group>
|
||||
|
||||
<group string="Electronic Payments">
|
||||
<field name="paypal_account"/>
|
||||
<field name="paypal_account" placeholder="sales@openerp.com"/>
|
||||
</group>
|
||||
|
||||
<group string="Bank & Cash">
|
||||
<label string="Configure Bank Accounts :"/>
|
||||
<label for="id" string="Configure Bank Accounts"/>
|
||||
<button name="%(action_bank_tree)d" string="Configure Bank Accounts" icon="gtk-go-forward" type="action"/>
|
||||
<field name="company_footer"/>
|
||||
<field name="module_account_check_writing"/>
|
||||
</group>
|
||||
|
||||
<group name="analytic_accounting" invisible="1" string="Analytic Accounting"/>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
##############################################################################
|
||||
|
||||
from osv import fields, osv
|
||||
from tools.translate import _
|
||||
|
||||
class account_fiscalyear_close_state(osv.osv_memory):
|
||||
"""
|
||||
|
@ -53,10 +54,6 @@ class account_fiscalyear_close_state(osv.osv_memory):
|
|||
cr.execute('UPDATE account_fiscalyear ' \
|
||||
'SET state = %s WHERE id = %s', ('done', fy_id))
|
||||
|
||||
# Log message for Fiscalyear
|
||||
fy_pool = self.pool.get('account.fiscalyear')
|
||||
fy_code = fy_pool.browse(cr, uid, fy_id, context=context).code
|
||||
fy_pool.log(cr, uid, fy_id, "Fiscal year '%s' is closed, no more modification allowed." % (fy_code))
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
account_fiscalyear_close_state()
|
||||
|
|
|
@ -53,11 +53,8 @@ class account_period_close(osv.osv_memory):
|
|||
cr.execute('update account_journal_period set state=%s where period_id=%s', (mode, id))
|
||||
cr.execute('update account_period set state=%s where id=%s', (mode, id))
|
||||
|
||||
# Log message for Period
|
||||
for period_id, name in period_pool.name_get(cr, uid, [id]):
|
||||
period_pool.log(cr, uid, period_id, "Period '%s' is closed, no more modification allowed for this period." % (name))
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
account_period_close()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -98,7 +98,7 @@ class account_analytic_account(osv.osv):
|
|||
WHERE account_analytic_account.id IN %s \
|
||||
AND account_analytic_line.invoice_id IS NULL \
|
||||
AND account_analytic_line.to_invoice IS NOT NULL \
|
||||
AND account_analytic_journal.type IN ('purchase','general') \
|
||||
AND account_analytic_journal.type = 'general' \
|
||||
GROUP BY account_analytic_account.id;""", (parent_ids,))
|
||||
for account_id, sum in cr.fetchall():
|
||||
if account_id not in res:
|
||||
|
@ -257,6 +257,12 @@ class account_analytic_account(osv.osv):
|
|||
res[id] = round(res.get(id, 0.0),2)
|
||||
return res
|
||||
|
||||
def _remaining_hours_to_invoice_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
res = {}
|
||||
for account in self.browse(cr, uid, ids, context=context):
|
||||
res[account.id] = max(account.hours_qtt_est - account.timesheet_ca_invoiced, account.ca_to_invoice)
|
||||
return res
|
||||
|
||||
def _hours_qtt_invoiced_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
res = {}
|
||||
for account in self.browse(cr, uid, ids, context=context):
|
||||
|
@ -291,15 +297,34 @@ class account_analytic_account(osv.osv):
|
|||
res[id] = round(res.get(id, 0.0),2)
|
||||
return res
|
||||
|
||||
def _fix_price_to_invoice_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
sale_obj = self.pool.get('sale.order')
|
||||
res = {}
|
||||
for account in self.browse(cr, uid, ids, context=context):
|
||||
res[account.id] = 0.0
|
||||
sale_ids = sale_obj.search(cr, uid, [('project_id','=', account.id), ('partner_id', '=', account.partner_id.id)], context=context)
|
||||
for sale in sale_obj.browse(cr, uid, sale_ids, context=context):
|
||||
if not sale.invoiced:
|
||||
res[account.id] += sale.amount_untaxed
|
||||
for invoice in sale.invoice_ids:
|
||||
if invoice.state not in ('draft', 'cancel'):
|
||||
res[account.id] -= invoice.amount_untaxed
|
||||
return res
|
||||
|
||||
def _timesheet_ca_invoiced_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
lines_obj = self.pool.get('account.analytic.line')
|
||||
res = {}
|
||||
for account in self.browse(cr, uid, ids, context=context):
|
||||
res[account.id] = 0.0
|
||||
line_ids = lines_obj.search(cr, uid, [('account_id','=', account.id), ('invoice_id','!=',False), ('to_invoice','!=', False), ('journal_id.type', '=', 'general')], context=context)
|
||||
for line in lines_obj.browse(cr, uid, line_ids, context=context):
|
||||
res[account.id] += line.invoice_id.amount_untaxed
|
||||
return res
|
||||
|
||||
def _remaining_ca_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
res = {}
|
||||
for account in self.browse(cr, uid, ids, context=context):
|
||||
if account.amount_max != 0:
|
||||
res[account.id] = account.amount_max - account.ca_invoiced
|
||||
else:
|
||||
res[account.id]=0.0
|
||||
for id in ids:
|
||||
res[id] = round(res.get(id, 0.0),2)
|
||||
res[account.id] = max(account.amount_max - account.ca_invoiced, account.fix_price_to_invoice)
|
||||
return res
|
||||
|
||||
def _real_margin_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
|
@ -333,6 +358,47 @@ class account_analytic_account(osv.osv):
|
|||
result.add(line.account_id.id)
|
||||
return list(result)
|
||||
|
||||
def _get_total_estimation(self, account):
|
||||
tot_est = 0.0
|
||||
if account.fix_price_invoices:
|
||||
tot_est += account.amount_max
|
||||
if account.invoice_on_timesheets:
|
||||
tot_est += account.hours_qtt_est
|
||||
return tot_est
|
||||
|
||||
def _get_total_invoiced(self, account):
|
||||
total_invoiced = 0.0
|
||||
if account.fix_price_invoices:
|
||||
total_invoiced += account.ca_invoiced
|
||||
if account.invoice_on_timesheets:
|
||||
total_invoiced += account.timesheet_ca_invoiced
|
||||
return total_invoiced
|
||||
|
||||
def _get_total_remaining(self, account):
|
||||
total_remaining = 0.0
|
||||
if account.fix_price_invoices:
|
||||
total_remaining += account.remaining_ca
|
||||
if account.invoice_on_timesheets:
|
||||
total_remaining += account.remaining_hours_to_invoice
|
||||
return total_remaining
|
||||
|
||||
def _get_total_toinvoice(self, account):
|
||||
total_toinvoice = 0.0
|
||||
if account.fix_price_invoices:
|
||||
total_toinvoice += account.fix_price_to_invoice
|
||||
if account.invoice_on_timesheets:
|
||||
total_toinvoice += account.ca_to_invoice
|
||||
return total_toinvoice
|
||||
|
||||
def _sum_of_fields(self, cr, uid, ids, name, arg, context=None):
|
||||
res = dict([(i, {}) for i in ids])
|
||||
for account in self.browse(cr, uid, ids, context=context):
|
||||
res[account.id]['est_total'] = self._get_total_estimation(account)
|
||||
res[account.id]['invoiced_total'] = self._get_total_invoiced(account)
|
||||
res[account.id]['remaining_total'] = self._get_total_remaining(account)
|
||||
res[account.id]['toinvoice_total'] = self._get_total_toinvoice(account)
|
||||
return res
|
||||
|
||||
_columns = {
|
||||
'is_overdue_quantity' : fields.function(_is_overdue_quantity, method=True, type='boolean', string='Overdue Quantity',
|
||||
store={
|
||||
|
@ -350,7 +416,7 @@ class account_analytic_account(osv.osv):
|
|||
'ca_theorical': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Theoretical Revenue',
|
||||
help="Based on the costs you had on the project, what would have been the revenue if all these costs have been invoiced at the normal sale price provided by the pricelist.",
|
||||
digits_compute=dp.get_precision('Account')),
|
||||
'hours_quantity': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Total Time',
|
||||
'hours_quantity': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Total Worked Time',
|
||||
help="Number of time you spent on the analytic account (from timesheet). It computes quantities on all journal of type 'general'."),
|
||||
'last_invoice_date': fields.function(_analysis_all, multi='analytic_analysis', type='date', string='Last Invoice Date',
|
||||
help="If invoice from the costs, this is the date of the latest invoiced."),
|
||||
|
@ -363,7 +429,13 @@ class account_analytic_account(osv.osv):
|
|||
'hours_qtt_invoiced': fields.function(_hours_qtt_invoiced_calc, type='float', string='Invoiced Time',
|
||||
help="Number of time (hours/days) that can be invoiced plus those that already have been invoiced."),
|
||||
'remaining_hours': fields.function(_remaining_hours_calc, type='float', string='Remaining Time',
|
||||
help="Computed using the formula: Maximum Time - Total Time"),
|
||||
help="Computed using the formula: Maximum Time - Total Worked Time"),
|
||||
'remaining_hours_to_invoice': fields.function(_remaining_hours_to_invoice_calc, type='float', string='Remaining Time',
|
||||
help="Computed using the formula: Maximum Time - Total Invoiced Time"),
|
||||
'fix_price_to_invoice': fields.function(_fix_price_to_invoice_calc, type='float', string='Remaining Time',
|
||||
help="Sum of quotations for this contract."),
|
||||
'timesheet_ca_invoiced': fields.function(_timesheet_ca_invoiced_calc, type='float', string='Remaining Time',
|
||||
help="Sum of timesheet lines invoiced for this contract."),
|
||||
'remaining_ca': fields.function(_remaining_ca_calc, type='float', string='Remaining Revenue',
|
||||
help="Computed using the formula: Max Invoice Price - Invoiced Amount.",
|
||||
digits_compute=dp.get_precision('Account')),
|
||||
|
@ -379,10 +451,51 @@ class account_analytic_account(osv.osv):
|
|||
'real_margin_rate': fields.function(_real_margin_rate_calc, type='float', string='Real Margin Rate (%)',
|
||||
help="Computes using the formula: (Real Margin / Total Costs) * 100.",
|
||||
digits_compute=dp.get_precision('Account')),
|
||||
'fix_price_invoices' : fields.boolean('Fix Price Invoices'),
|
||||
'invoice_on_timesheets' : fields.boolean("Invoice On Timesheets"),
|
||||
'month_ids': fields.function(_analysis_all, multi='analytic_analysis', type='many2many', relation='account_analytic_analysis.summary.month', string='Month'),
|
||||
'user_ids': fields.function(_analysis_all, multi='analytic_analysis', type="many2many", relation='account_analytic_analysis.summary.user', string='User'),
|
||||
'template_id': fields.many2one('account.analytic.account', 'Template of Contract'),
|
||||
'hours_qtt_est': fields.float('Estimation of Hours to Invoice'),
|
||||
'est_total' : fields.function(_sum_of_fields, type="float",multi="sum_of_all", string="Total Estimation"),
|
||||
'invoiced_total' : fields.function(_sum_of_fields, type="float",multi="sum_of_all", string="Total Invoiced"),
|
||||
'remaining_total' : fields.function(_sum_of_fields, type="float",multi="sum_of_all", string="Total Remaining", help="Expectation of remaining income for this contract. Computed as the sum of remaining subtotals which, in turn, are computed as the maximum between '(Estimation - Invoiced)' and 'To Invoice' amounts"),
|
||||
'toinvoice_total' : fields.function(_sum_of_fields, type="float",multi="sum_of_all", string="Total to Invoice", help=" Sum of everything that could be invoiced for this contract."),
|
||||
}
|
||||
|
||||
def open_sale_order_lines(self,cr,uid,ids,context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
sale_ids = self.pool.get('sale.order').search(cr,uid,[('project_id','=',context.get('search_default_project_id',False)),('partner_id','=',context.get('search_default_partner_id',False))])
|
||||
names = [record.name for record in self.browse(cr, uid, ids, context=context)]
|
||||
name = _('Sale Order Lines of %s') % ','.join(names)
|
||||
return {
|
||||
'type': 'ir.actions.act_window',
|
||||
'name': name,
|
||||
'view_type': 'form',
|
||||
'view_mode': 'tree,form',
|
||||
'context': context,
|
||||
'domain' : [('order_id','in',sale_ids)],
|
||||
'res_model': 'sale.order.line',
|
||||
'nodestroy': True,
|
||||
}
|
||||
|
||||
def on_change_template(self, cr, uid, ids, template_id, context=None):
|
||||
if not template_id:
|
||||
return {}
|
||||
res = {'value':{}}
|
||||
template = self.browse(cr, uid, template_id, context=context)
|
||||
res['value']['date_start'] = template.date_start
|
||||
res['value']['date'] = template.date
|
||||
res['value']['fix_price_invoices'] = template.fix_price_invoices
|
||||
res['value']['invoice_on_timesheets'] = template.invoice_on_timesheets
|
||||
res['value']['quantity_max'] = template.quantity_max
|
||||
res['value']['hours_qtt_est'] = template.hours_qtt_est
|
||||
res['value']['amount_max'] = template.amount_max
|
||||
res['value']['to_invoice'] = template.to_invoice.id
|
||||
res['value']['pricelist_id'] = template.pricelist_id.id
|
||||
res['value']['description'] = template.description
|
||||
return res
|
||||
account_analytic_account()
|
||||
|
||||
class account_analytic_account_summary_user(osv.osv):
|
||||
|
|
|
@ -58,8 +58,8 @@
|
|||
<field name="res_model">account.analytic.account</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form,graph</field>
|
||||
<field name="context">{'search_default_has_partner':1, 'search_default_user_id':uid, 'search_default_draft':1, 'search_default_pending':1, 'search_default_open':1, 'search_default_renew':1}</field>
|
||||
<field name="domain">[('type','=','normal')]</field>
|
||||
<field name="context">{'search_default_user_id':uid, 'search_default_draft':1, 'search_default_pending':1, 'search_default_open':1, 'search_default_renew':1}</field>
|
||||
<field name="domain">[('type','=','contract')]</field>
|
||||
<field name="search_view_id" ref="view_account_analytic_account_overdue_search"/>
|
||||
<field name="help">You will find here the contracts to be renewed because the deadline is passed or the working hours are higher than the allocated hours. OpenERP automatically sets these analytic accounts to the pending state, in order to raise a warning during the timesheets recording. Salesmen should review all pending accounts and reopen or close the according to the negotiation with the customer.</field>
|
||||
</record>
|
||||
|
@ -70,8 +70,8 @@
|
|||
<field name="res_model">account.analytic.account</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form,graph</field>
|
||||
<field name="context">{'search_default_has_partner':1, 'search_default_user_id':uid, 'search_default_draft':1, 'search_default_pending':1, 'search_default_open':1}</field>
|
||||
<field name="domain">[('type','=','normal')]</field>
|
||||
<field name="context">{'default_type':'contract'}</field>
|
||||
<field name="domain">[('type','=','contract')]</field>
|
||||
<field name="search_view_id" ref="view_account_analytic_account_overdue_search"/>
|
||||
</record>
|
||||
<menuitem id="base.menu_sales" name="Sales"
|
||||
|
|
|
@ -4,97 +4,99 @@
|
|||
|
||||
<!--
|
||||
Analytic Account form
|
||||
|
||||
Remove information on Account data => because they move on analysis sheet
|
||||
create a page with invoicing informations
|
||||
-->
|
||||
<record id="account_analytic_account_invoice_stat_form" model="ir.ui.view">
|
||||
<field name="name">account.analytic.account.invoice.stat.form.inherit</field>
|
||||
<field name="model">account.analytic.account</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="hr_timesheet_invoice.account_analytic_account_form_form"/>
|
||||
<field eval="18" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<group name="invoice_stats" position="inside">
|
||||
<field name="hours_qtt_non_invoiced" attrs="{'invisible': [('to_invoice','=',0)]}"/>
|
||||
<field name="ca_to_invoice" attrs="{'invisible': [('to_invoice','=',0)]}"/>
|
||||
<label string="" colspan="1"/>
|
||||
<button
|
||||
name="%(hr_timesheet_invoice.action_hr_timesheet_invoice_create_final)d"
|
||||
string="Create Invoice"
|
||||
type="action"
|
||||
attrs="{'readonly':[('ca_to_invoice','=',0.0)], 'invisible': [('to_invoice','=',0)]}"
|
||||
icon="gtk-go-forward"/>
|
||||
</group>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<act_window
|
||||
id="action_sales_order"
|
||||
name="Sales Orders"
|
||||
res_model="sale.order"
|
||||
src_model="account.analytic.account"
|
||||
/>
|
||||
|
||||
<record id="account_analytic_account_form_form" model="ir.ui.view">
|
||||
<field name="name">account.analytic.account.invoice.form.inherit</field>
|
||||
<field name="model">account.analytic.account</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="account.view_account_analytic_account_form"/>
|
||||
<field eval="18" name="priority"/>
|
||||
<field name="inherit_id" ref="analytic.view_account_analytic_account_form"/>
|
||||
<field eval="40" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<notebook position="inside">
|
||||
<page string="Invoice Analysis">
|
||||
<separator colspan="4" string="Work Done Stats"/>
|
||||
|
||||
<field name="total_cost"/>
|
||||
<field name="remaining_ca"/>
|
||||
<field name="ca_invoiced"/>
|
||||
<field name="ca_theorical"/>
|
||||
<newline/>
|
||||
<field name="hours_quantity"/>
|
||||
<field name="hours_qtt_invoiced"/>
|
||||
<field name="remaining_hours"/>
|
||||
<newline/>
|
||||
<separator colspan="4" string="Analysis Stats"/>
|
||||
|
||||
<field name="revenue_per_hour"/>
|
||||
<field name="real_margin"/>
|
||||
<field name="real_margin_rate"/>
|
||||
<field name="theorical_margin"/>
|
||||
<separator colspan="4" string="Key Dates"/>
|
||||
|
||||
<field name="last_invoice_date"/>
|
||||
<field name="last_worked_invoiced_date"/>
|
||||
<field name="last_worked_date"/>
|
||||
</page>
|
||||
<page string="Stats by month">
|
||||
<field colspan="4" name="month_ids" nolabel="1">
|
||||
<tree string="Month">
|
||||
<field name="month"/>
|
||||
<field name="unit_amount" widget="float_time"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Stats by user">
|
||||
<field colspan="4" name="user_ids" nolabel="1">
|
||||
<tree string="Users">
|
||||
<field name="user"/>
|
||||
<field name="unit_amount" widget="float_time"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Add information on Account analytic list for the project management -->
|
||||
<record id="view_account_analytic_account_tree_c2c_2" model="ir.ui.view">
|
||||
<field name="name">account.analytic.account.tree</field>
|
||||
<field name="model">account.analytic.account</field>
|
||||
<field name="inherit_id" ref="account.view_account_analytic_account_list"/>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="quantity" position="replace">
|
||||
<field name="hours_quantity"/>
|
||||
<field name="hours_qtt_non_invoiced"/>
|
||||
<field name="remaining_hours"/>
|
||||
<field name="quantity_max"/>
|
||||
</field>
|
||||
<xpath expr='//field[@name="type"]' position='after'>
|
||||
<field name="template_id" on_change="on_change_template(template_id,context)" domain="[('type','=','template')]" attrs="{'invisible': [('type','in',['view', 'normal','template'])]}" context="{'default_type' : 'template'}"/>
|
||||
</xpath>
|
||||
<xpath expr='//div[@name="duration"]' position="after" version="7.0">
|
||||
<label for="quantity_max"/>
|
||||
<div>
|
||||
<field name="quantity_max" class="oe_inline"/> / Remaining: <field name="remaining_hours" class="oe_inline"/>
|
||||
</div>
|
||||
</xpath>
|
||||
<xpath expr='//group[@name="invoice_on_timesheets"]' position="replace">
|
||||
<group name='invoice_on_timesheets' string="Invoice on Timesheets Options" attrs="{'invisible': [('invoice_on_timesheets','=',False)]}" col="4">
|
||||
<field name="pricelist_id" attrs="{'required': [('invoice_on_timesheets', '=', True)]}"/>
|
||||
<field name="to_invoice" widget="selection" attrs="{'required': [('invoice_on_timesheets', '=', True)]}"/>
|
||||
</group>
|
||||
</xpath>
|
||||
<xpath expr='//group[@name="master"]' position='after'>
|
||||
<separator name="toinvoice" string="Invoicing"/>
|
||||
<table width="100%%">
|
||||
<tr>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th><label string="Est.Tot"/></th>
|
||||
<th><label string="Invoiced"/></th>
|
||||
<th><label string="Remaining"/></th>
|
||||
<th><label string="To Invoice"/></th>
|
||||
<th></th>
|
||||
</tr><tr>
|
||||
<td>
|
||||
<label for="fix_price_invoices"/>
|
||||
</td><td>
|
||||
<field name="fix_price_invoices" class="oe_inline"/>
|
||||
</td><td>
|
||||
<field class="oe_inline" name="amount_max" attrs="{'invisible': [('fix_price_invoices','=',False)]}"/>
|
||||
</td><td>
|
||||
<field class="oe_inline" name="ca_invoiced" attrs="{'invisible': [('fix_price_invoices','=',False)]}"/>
|
||||
</td><td>
|
||||
<field class="oe_inline" name="remaining_ca" attrs="{'invisible': [('fix_price_invoices','=',False)]}"/>
|
||||
</td><td>
|
||||
<field class="oe_inline" name="fix_price_to_invoice" attrs="{'invisible': [('fix_price_invoices','=',False)]}"/>
|
||||
</td><td>
|
||||
<button name="%(action_sales_order)d" string="All Sales" type="action" context="{'default_partner_id': [partner_id], 'search_default_partner_id': [partner_id],'search_default_project_id': [active_id],'default_project_id': [active_id]}" attrs="{'invisible': [('fix_price_invoices','=',False)]}"/>
|
||||
<button name="open_sale_order_lines" string="Lines To Invoice" type="object" context="{'default_partner_id': [partner_id],'default_project_id': active_id,'search_default_uninvoiced': 1,'search_default_project_id': active_id,'search_default_partner_id': [partner_id]}" attrs="{'invisible': [('fix_price_invoices','=',False)]}"/>
|
||||
</td>
|
||||
</tr><tr attrs="{'invisible':[('use_timesheets','=',False)]}">
|
||||
<td>
|
||||
<label for="invoice_on_timesheets"/>
|
||||
</td><td>
|
||||
<field name="invoice_on_timesheets"/>
|
||||
</td><td>
|
||||
<field class="oe_inline" name="hours_qtt_est" attrs="{'invisible': [('invoice_on_timesheets','=',False)]}"/>
|
||||
</td><td>
|
||||
<field class="oe_inline" name="timesheet_ca_invoiced" attrs="{'invisible': [('invoice_on_timesheets','=',False)]}"/>
|
||||
</td><td>
|
||||
<field class="oe_inline" name="remaining_hours_to_invoice" attrs="{'invisible': [('invoice_on_timesheets','=',False)]}"/>
|
||||
</td><td>
|
||||
<field class="oe_inline" name="ca_to_invoice" attrs="{'invisible': [('invoice_on_timesheets','=',False)]}"/>
|
||||
</td><td>
|
||||
<button name="%(hr_timesheet.act_hr_timesheet_line_evry1_all_form)d" string="All Timesheets" type="action" attrs="{'invisible': [('invoice_on_timesheets','=',False)]}" context="{'default_account_id': active_id,'search_default_account_id': active_id}"/>
|
||||
<button name="%(hr_timesheet_invoice.act_acc_analytic_acc_2_report_acc_analytic_line_to_invoice)d" string="Timesheets to Invoice" type="action" attrs="{'invisible': [('invoice_on_timesheets','=',False)]}"/>
|
||||
</td>
|
||||
</tr><tr name='total'>
|
||||
<th>
|
||||
<label string="Total"/>
|
||||
</th><td>
|
||||
</td><td>
|
||||
<field name="est_total" class="oe_inline" attrs="{'invisible': [('invoice_on_timesheets','=',False)]}"/>
|
||||
</td><td>
|
||||
<field name="invoiced_total" class="oe_inline"/>
|
||||
</td><td>
|
||||
<field name="remaining_total" class="oe_inline"/>
|
||||
</td><td>
|
||||
<field name="toinvoice_total" class="oe_inline"/>
|
||||
</td><td>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
@ -106,10 +108,20 @@
|
|||
<field name="arch" type="xml">
|
||||
<field name="date" position="before">
|
||||
<field name="last_invoice_date"/>
|
||||
<field name="ca_to_invoice"/>
|
||||
<field name="toinvoice_total"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="template_of_contract_action" model="ir.actions.act_window">
|
||||
<field name="name">Template of Contract</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account.analytic.account</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('type','=','template')]</field>
|
||||
<field name="context">{'search_default_type':'template','default_type' : 'template'}</field>
|
||||
</record>
|
||||
<menuitem action="template_of_contract_action" id="menu_template_of_contract_action" parent="base.menu_base_config"/>
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -109,7 +109,6 @@ class crossovered_analytic(report_sxw.rml_parse):
|
|||
res['ref_qty'] = info[0]['qty']
|
||||
res['ref_amt'] = info[0]['amt']
|
||||
self.base_amount = info[0]['amt']
|
||||
|
||||
result.append(res)
|
||||
return result
|
||||
|
||||
|
|
|
@ -237,10 +237,10 @@
|
|||
<para style="terp_default_Centre_9">[[ a['ref_code'] ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">[[ formatLang(a['ref_qty']) ]]</para>
|
||||
<para style="terp_default_Right_9">[[ a['ref_qty'] and formatLang(a['ref_qty']) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">[[ formatLang(a['ref_amt'], currency_obj=company.currency_id) ]]</para>
|
||||
<para style="terp_default_Right_9">[[ a['ref_amt'] and formatLang(a['ref_amt'], currency_obj=company.currency_id) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">100.00%</para>
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
import time
|
||||
from osv import osv, fields
|
||||
import decimal_precision as dp
|
||||
import netsvc
|
||||
from tools.translate import _
|
||||
|
||||
class account_bank_statement(osv.osv):
|
||||
|
|
|
@ -23,13 +23,13 @@
|
|||
import time
|
||||
from report import report_sxw
|
||||
import pooler
|
||||
import netsvc
|
||||
logger=netsvc.Logger()
|
||||
import logging
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
class bank_statement_balance_report(report_sxw.rml_parse):
|
||||
|
||||
def set_context(self, objects, data, ids, report_type=None):
|
||||
#logger.notifyChannel('addons.'+__name__, netsvc.LOG_WARNING, 'set_context, objects = %s, data = %s, ids = %s' % (objects, data, ids))
|
||||
#_logger.warning('addons.'+__name__, 'set_context, objects = %s, data = %s, ids = %s' % (objects, data, ids))
|
||||
cr = self.cr
|
||||
uid = self.uid
|
||||
context = self.context
|
||||
|
|
|
@ -274,7 +274,7 @@
|
|||
<field name="name">account.analytic.account.form.inherot.budget</field>
|
||||
<field name="type">form</field>
|
||||
<field name="model">account.analytic.account</field>
|
||||
<field name="inherit_id" ref="account.view_account_analytic_account_form"/>
|
||||
<field name="inherit_id" ref="analytic.view_account_analytic_account_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<notebook position="inside">
|
||||
<page string="Budget Lines">
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<field name="inherit_id" ref="account.invoice_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//button[@name='invoice_cancel']" position="replace">
|
||||
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="gtk-cancel" groups="account.group_account_invoice"/>
|
||||
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" groups="account.group_account_invoice"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -32,7 +32,7 @@
|
|||
<field name="inherit_id" ref="account.invoice_supplier_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//button[@name='invoice_cancel']" position="replace">
|
||||
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="gtk-cancel" groups="account.group_account_invoice"/>
|
||||
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" groups="account.group_account_invoice"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -22,9 +22,7 @@
|
|||
|
||||
from osv import osv, fields
|
||||
import decimal_precision as dp
|
||||
import netsvc
|
||||
from tools.translate import _
|
||||
logger=netsvc.Logger()
|
||||
|
||||
class coda_bank_account(osv.osv):
|
||||
_name= 'coda.bank.account'
|
||||
|
|
|
@ -24,11 +24,11 @@ import time
|
|||
import base64
|
||||
from osv import fields,osv
|
||||
from tools.translate import _
|
||||
import netsvc
|
||||
import logging
|
||||
import re
|
||||
from traceback import format_exception
|
||||
from sys import exc_info
|
||||
logger=netsvc.Logger()
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
class account_coda_import(osv.osv_memory):
|
||||
_name = 'account.coda.import'
|
||||
|
@ -816,7 +816,7 @@ class account_coda_import(osv.osv_memory):
|
|||
ttype = line['type'] == 'supplier' and 'payment' or 'receipt',
|
||||
date = line['val_date'],
|
||||
context = context)
|
||||
#logger.notifyChannel('addons.'+self._name, netsvc.LOG_WARNING, 'voucher_dict = %s' % voucher_dict)
|
||||
#_logger.warning('voucher_dict = %s' % voucher_dict)
|
||||
voucher_line_vals = False
|
||||
if voucher_dict['value']['line_ids']:
|
||||
for line_dict in voucher_dict['value']['line_ids']:
|
||||
|
@ -889,22 +889,19 @@ class account_coda_import(osv.osv_memory):
|
|||
nb_err += 1
|
||||
err_string += _('\nError ! ') + str(e)
|
||||
tb = ''.join(format_exception(*exc_info()))
|
||||
logger.notifyChannel('addons.'+self._name, netsvc.LOG_ERROR,
|
||||
'Application Error while processing Statement %s\n%s' % (statement.get('name', '/'),tb))
|
||||
_logger.error('Application Error while processing Statement %s\n%s' % (statement.get('name', '/'),tb))
|
||||
except Exception, e:
|
||||
cr.rollback()
|
||||
nb_err += 1
|
||||
err_string += _('\nSystem Error : ') + str(e)
|
||||
tb = ''.join(format_exception(*exc_info()))
|
||||
logger.notifyChannel('addons.'+self._name, netsvc.LOG_ERROR,
|
||||
'System Error while processing Statement %s\n%s' % (statement.get('name', '/'),tb))
|
||||
_logger.error('System Error while processing Statement %s\n%s' % (statement.get('name', '/'),tb))
|
||||
except :
|
||||
cr.rollback()
|
||||
nb_err += 1
|
||||
err_string = _('\nUnknown Error : ') + str(e)
|
||||
tb = ''.join(format_exception(*exc_info()))
|
||||
logger.notifyChannel('addons.'+self._name, netsvc.LOG_ERROR,
|
||||
'Unknown Error while processing Statement %s\n%s' % (statement.get('name', '/'),tb))
|
||||
_logger.error('Unknown Error while processing Statement %s\n%s' % (statement.get('name', '/'),tb))
|
||||
|
||||
# end 'for statement in coda_statements'
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
##############################################################################
|
||||
|
||||
{
|
||||
'name': 'Followup Management',
|
||||
'name': 'Follow-up Management',
|
||||
'version': '1.0',
|
||||
'category': 'Accounting & Finance',
|
||||
'description': """
|
||||
|
@ -28,16 +28,16 @@ Module to automate letters for unpaid invoices, with multi-level recalls.
|
|||
==========================================================================
|
||||
|
||||
You can define your multiple levels of recall through the menu:
|
||||
Accounting/Configuration/Miscellaneous/Follow-Ups
|
||||
Accounting/Configuration/Miscellaneous/Follow-ups
|
||||
|
||||
Once it is defined, you can automatically print recalls every day through simply clicking on the menu:
|
||||
Accounting/Periodical Processing/Billing/Send followups
|
||||
Accounting/Periodical Processing/Billing/Send follow-ups
|
||||
|
||||
It will generate a PDF with all the letters according to the the
|
||||
different levels of recall defined. You can define different policies
|
||||
for different companies. You can also send mail to the customer.
|
||||
|
||||
Note that if you want to check the followup level for a given partner/account entry, you can do from in the menu:
|
||||
Note that if you want to check the follow-up level for a given partner/account entry, you can do from in the menu:
|
||||
Accounting/Reporting/Generic Reporting/Partners/Follow-ups Sent
|
||||
|
||||
""",
|
||||
|
|
|
@ -23,11 +23,11 @@ from osv import fields, osv
|
|||
|
||||
class followup(osv.osv):
|
||||
_name = 'account_followup.followup'
|
||||
_description = 'Account Follow Up'
|
||||
_description = 'Account Follow-up'
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=64, required=True),
|
||||
'description': fields.text('Description'),
|
||||
'followup_line': fields.one2many('account_followup.followup.line', 'followup_id', 'Follow-Up'),
|
||||
'followup_line': fields.one2many('account_followup.followup.line', 'followup_id', 'Follow-up'),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||
}
|
||||
_defaults = {
|
||||
|
@ -38,7 +38,7 @@ followup()
|
|||
|
||||
class followup_line(osv.osv):
|
||||
_name = 'account_followup.followup.line'
|
||||
_description = 'Follow-Up Criteria'
|
||||
_description = 'Follow-up Criteria'
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=64, required=True),
|
||||
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of follow-up lines."),
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<data noupdate="1">
|
||||
|
||||
<record id="demo_followup1" model="account_followup.followup">
|
||||
<field name="name">Default Follow-Up</field>
|
||||
<field name="name">Default Follow-up</field>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field name="description">First letter after 15 net days, 30 net days and 45 days end of month levels.</field>
|
||||
</record>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<field name="model">account_followup.followup.line</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Follow-Up Steps">
|
||||
<tree string="Follow-up Steps">
|
||||
<field name="name"/>
|
||||
<field name="delay"/>
|
||||
<field name="start"/>
|
||||
|
@ -19,7 +19,7 @@
|
|||
<field name="model">account_followup.followup.line</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Follow-Up Steps" version="7.0">
|
||||
<form string="Follow-up Steps" version="7.0">
|
||||
<group col="4">
|
||||
<field name="name"/>
|
||||
<field name="delay"/>
|
||||
|
@ -43,7 +43,7 @@
|
|||
<field name="model">account_followup.followup</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Follow-Up" version="7.0">
|
||||
<form string="Follow-up" version="7.0">
|
||||
<group col="4">
|
||||
<field name="name"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
|
@ -58,7 +58,7 @@
|
|||
<field name="model">account_followup.followup</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Follow-Up">
|
||||
<tree string="Follow-up">
|
||||
<field name="name"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
|
@ -70,9 +70,9 @@
|
|||
<field name="model">account_followup.followup</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Followup">
|
||||
<search string="Search Follow-up">
|
||||
<group>
|
||||
<field name="name" string="Followup"/>
|
||||
<field name="name" string="Follow-up"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
|
@ -81,16 +81,16 @@
|
|||
</record>
|
||||
|
||||
<record id="action_account_followup_definition_form" model="ir.actions.act_window">
|
||||
<field name="name">Follow-Ups</field>
|
||||
<field name="name">Follow-ups</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account_followup.followup</field>
|
||||
<field name="search_view_id" ref="view_account_followup_filter"/>
|
||||
<field name="view_type">form</field>
|
||||
<field name="help">Define follow up levels and their related messages and delay. For each step, specify the message and the day of delay. Use the legend to know the using code to adapt the email content to the good context (good name, good date) and you can manage the multi language of messages.</field>
|
||||
<field name="help">Define follow-up levels and their related messages and delay. For each step, specify the message and the day of delay. Use the legend to know the using code to adapt the email content to the good context (good name, good date) and you can manage the multi language of messages.</field>
|
||||
</record>
|
||||
<menuitem action="action_account_followup_definition_form" id="account_followup_menu" parent="account.menu_configuration_misc"/>
|
||||
|
||||
<report auto="False" id="account_followup_followup_report" menu="False" model="account_followup.followup" name="account_followup.followup.print" rml="account_followup/report/account_followup_print.rml" string="Followup Report"/>
|
||||
<report auto="False" id="account_followup_followup_report" menu="False" model="account_followup.followup" name="account_followup.followup.print" rml="account_followup/report/account_followup_print.rml" string="Follow-up Report"/>
|
||||
|
||||
<record id="account_move_line_partner_tree" model="ir.ui.view">
|
||||
<field name="name">account.move.line.partner.tree</field>
|
||||
|
|
|
@ -17,7 +17,7 @@ msgstr ""
|
|||
|
||||
#. module: account_followup
|
||||
#: view:account_followup.followup:0
|
||||
msgid "Search Followup"
|
||||
msgid "Search Follow-up"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
|
@ -34,12 +34,12 @@ msgstr ""
|
|||
#. module: account_followup
|
||||
#: view:account_followup.followup:0
|
||||
#: field:account_followup.followup,followup_line:0
|
||||
msgid "Follow-Up"
|
||||
msgid "Follow-up"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
#: help:account.followup.print.all,test_print:0
|
||||
msgid "Check if you want to print followups without changing followups level."
|
||||
msgid "Check if you want to print follow-ups without changing follow-ups level."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
|
@ -80,7 +80,7 @@ msgstr ""
|
|||
|
||||
#. module: account_followup
|
||||
#: model:ir.actions.act_window,help:account_followup.action_followup_stat
|
||||
msgid "Follow up on the reminders sent over to your partners for unpaid invoices."
|
||||
msgid "Follow-up on the reminders sent over to your partners for unpaid invoices."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
|
@ -91,7 +91,7 @@ msgstr ""
|
|||
|
||||
#. module: account_followup
|
||||
#: view:account_followup.stat:0
|
||||
msgid "Follow up Entries with period in current year"
|
||||
msgid "Follow-up Entries with period in current year"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
|
@ -117,7 +117,7 @@ msgstr ""
|
|||
#. module: account_followup
|
||||
#: model:ir.actions.act_window,name:account_followup.action_account_followup_definition_form
|
||||
#: model:ir.ui.menu,name:account_followup.account_followup_menu
|
||||
msgid "Follow-Ups"
|
||||
msgid "Follow-ups"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
|
@ -175,7 +175,7 @@ msgstr ""
|
|||
|
||||
#. module: account_followup
|
||||
#: model:ir.model,name:account_followup.model_account_followup_followup
|
||||
msgid "Account Follow Up"
|
||||
msgid "Account Follow-up"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
|
@ -227,7 +227,7 @@ msgstr ""
|
|||
#. module: account_followup
|
||||
#: field:account_followup.stat,date_followup:0
|
||||
#: field:account_followup.stat.by.partner,date_followup:0
|
||||
msgid "Latest followup"
|
||||
msgid "Latest follow-up"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
|
@ -269,7 +269,7 @@ msgstr ""
|
|||
#: model:ir.actions.act_window,name:account_followup.action_account_followup_print
|
||||
#: model:ir.actions.act_window,name:account_followup.action_account_followup_print_all
|
||||
#: model:ir.ui.menu,name:account_followup.account_followup_print_menu
|
||||
msgid "Send followups"
|
||||
msgid "Send follow-ups"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
|
@ -280,13 +280,13 @@ msgstr ""
|
|||
#. module: account_followup
|
||||
#: field:account_followup.followup.line,followup_id:0
|
||||
#: field:account_followup.stat,followup_id:0
|
||||
msgid "Follow Ups"
|
||||
msgid "Follow-ups"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
#: code:addons/account_followup/wizard/account_followup_print.py:296
|
||||
#, python-format
|
||||
msgid "All E-mails have been successfully sent to Partners:.\n"
|
||||
msgid "All Emails have been successfully sent to Partners:.\n"
|
||||
"\n"
|
||||
"%s"
|
||||
msgstr ""
|
||||
|
@ -308,7 +308,7 @@ msgstr ""
|
|||
|
||||
#. module: account_followup
|
||||
#: model:ir.model,name:account_followup.model_account_followup_stat_by_partner
|
||||
msgid "Followup Statistics by Partner"
|
||||
msgid "Follow-up Statistics by Partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
|
@ -326,7 +326,7 @@ msgstr ""
|
|||
#, python-format
|
||||
msgid "\n"
|
||||
"\n"
|
||||
"E-Mail sent to following Partners successfully. !\n"
|
||||
"Email sent to following Partners successfully. !\n"
|
||||
"\n"
|
||||
"%s"
|
||||
msgstr ""
|
||||
|
@ -354,7 +354,7 @@ msgstr ""
|
|||
|
||||
#. module: account_followup
|
||||
#: view:account.followup.print.all:0
|
||||
msgid "Print Follow Ups"
|
||||
msgid "Print Follow-ups"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
|
@ -364,7 +364,7 @@ msgstr ""
|
|||
|
||||
#. module: account_followup
|
||||
#: model:ir.model,name:account_followup.model_account_followup_stat
|
||||
msgid "Followup Statistics"
|
||||
msgid "Follow-up Statistics"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
|
@ -430,7 +430,7 @@ msgstr ""
|
|||
|
||||
#. module: account_followup
|
||||
#: view:account_followup.stat:0
|
||||
msgid "Follow-Up lines"
|
||||
msgid "Follow-up lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
|
@ -453,7 +453,7 @@ msgstr ""
|
|||
#. module: account_followup
|
||||
#: model:ir.model,name:account_followup.model_account_followup_print
|
||||
#: model:ir.model,name:account_followup.model_account_followup_print_all
|
||||
msgid "Print Followup & Send Mail to Customers"
|
||||
msgid "Print Follow-up & Send Mail to Customers"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
|
@ -464,12 +464,12 @@ msgstr ""
|
|||
|
||||
#. module: account_followup
|
||||
#: model:ir.actions.report.xml,name:account_followup.account_followup_followup_report
|
||||
msgid "Followup Report"
|
||||
msgid "Follow-up Report"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
#: view:account_followup.followup.line:0
|
||||
msgid "Follow-Up Steps"
|
||||
msgid "Follow-up Steps"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
|
@ -480,7 +480,7 @@ msgstr ""
|
|||
#. module: account_followup
|
||||
#: code:addons/account_followup/wizard/account_followup_print.py:307
|
||||
#, python-format
|
||||
msgid "Followup Summary"
|
||||
msgid "Follow-up Summary"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
|
@ -496,12 +496,12 @@ msgstr ""
|
|||
|
||||
#. module: account_followup
|
||||
#: field:account_followup.stat.by.partner,max_followup_id:0
|
||||
msgid "Max Follow Up Level"
|
||||
msgid "Max Follow-up Level"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
#: model:ir.actions.act_window,name:account_followup.action_view_account_followup_followup_form
|
||||
msgid "Review Invoicing Follow-Ups"
|
||||
msgid "Review Invoicing Follow-ups"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
|
@ -511,7 +511,7 @@ msgstr ""
|
|||
|
||||
#. module: account_followup
|
||||
#: model:ir.actions.act_window,help:account_followup.action_account_followup_definition_form
|
||||
msgid "Define follow up levels and their related messages and delay. For each step, specify the message and the day of delay. Use the legend to know the using code to adapt the email content to the good context (good name, good date) and you can manage the multi language of messages."
|
||||
msgid "Define follow-up levels and their related messages and delay. For each step, specify the message and the day of delay. Use the legend to know the using code to adapt the email content to the good context (good name, good date) and you can manage the multi language of messages."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
|
@ -522,7 +522,7 @@ msgstr ""
|
|||
#. module: account_followup
|
||||
#: code:addons/account_followup/wizard/account_followup_print.py:298
|
||||
#, python-format
|
||||
msgid "E-Mail not sent to following Partners, E-mail not available !\n"
|
||||
msgid "Email not sent to following Partners, Email not available !\n"
|
||||
"\n"
|
||||
"%s"
|
||||
msgstr ""
|
||||
|
@ -545,7 +545,7 @@ msgstr ""
|
|||
|
||||
#. module: account_followup
|
||||
#: view:account_followup.stat:0
|
||||
msgid "Followup Level"
|
||||
msgid "Follow-up Level"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
|
@ -556,7 +556,7 @@ msgstr ""
|
|||
|
||||
#. module: account_followup
|
||||
#: constraint:account_followup.followup:0
|
||||
msgid "Only One Followup by Company."
|
||||
msgid "Only One Follow-up by Company."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
|
@ -682,11 +682,11 @@ msgstr ""
|
|||
|
||||
#. module: account_followup
|
||||
#: view:account_followup.stat:0
|
||||
msgid "Latest Followup Date"
|
||||
msgid "Latest Follow-up Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_followup
|
||||
#: model:ir.model,name:account_followup.model_account_followup_followup_line
|
||||
msgid "Follow-Up Criteria"
|
||||
msgid "Follow-up Criteria"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<document filename="Account Followup.pdf">
|
||||
<template title="Account Followup" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
|
||||
<document filename="Account Follow-up.pdf">
|
||||
<template title="Account Follow-up" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
|
||||
<pageTemplate id="first">
|
||||
<frame id="first" x1="31.0" y1="28.0" width="532" height="786"/>
|
||||
</pageTemplate>
|
||||
|
|
|
@ -24,7 +24,7 @@ import tools
|
|||
|
||||
class account_followup_stat(osv.osv):
|
||||
_name = "account_followup.stat"
|
||||
_description = "Followup Statistics"
|
||||
_description = "Follow-up Statistics"
|
||||
_rec_name = 'partner_id'
|
||||
_auto = False
|
||||
_columns = {
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<field name="model">account_followup.stat</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Follow-Up lines">
|
||||
<tree string="Follow-up lines">
|
||||
<field name="partner_id"/>
|
||||
<field name="date_move"/>
|
||||
<field name="date_move_last"/>
|
||||
|
@ -28,7 +28,7 @@
|
|||
<field name="model">account_followup.stat</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Follow-Up lines" type="bar">
|
||||
<graph string="Follow-up lines" type="bar">
|
||||
<field name="partner_id"/>
|
||||
<field name="balance" operator="+"/>
|
||||
</graph>
|
||||
|
@ -47,7 +47,7 @@
|
|||
<filter icon="terp-go-year" string="This Fiscal year"
|
||||
name="fiscalyear"
|
||||
domain="[('period_id','in','current_year')]"
|
||||
help="Follow up Entries with period in current year"/>
|
||||
help="Follow-up Entries with period in current year"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter icon="terp-camera_test" string="Not Litigation"
|
||||
domain="[('blocked','=', False)]"
|
||||
|
@ -62,8 +62,8 @@
|
|||
<separator orientation="vertical"/>
|
||||
<filter string="Litigation" icon="terp-camera_test" context="{'group_by':'blocked'}" />
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Followup Level" icon="terp-stock_effects-object-colorize" name="followup_level" context="{'group_by':'followup_id'}" />
|
||||
<filter string="Latest Followup Date" icon="terp-go-month" context="{'group_by':'date_followup'}" />
|
||||
<filter string="Follow-up Level" icon="terp-stock_effects-object-colorize" name="followup_level" context="{'group_by':'followup_id'}" />
|
||||
<filter string="Latest Follow-up Date" icon="terp-go-month" context="{'group_by':'date_followup'}" />
|
||||
<separator orientation="vertical" groups="base.group_multi_company"/>
|
||||
<filter string="Company" groups="base.group_multi_company" icon="terp-go-home" context="{'group_by':'company_id'}" />
|
||||
</group>
|
||||
|
@ -77,7 +77,7 @@
|
|||
<field name="view_mode">tree,graph</field>
|
||||
<field name="context">{'search_default_followup_level':1}</field>
|
||||
<field name="search_view_id" ref="view_account_followup_stat_search"/>
|
||||
<field name="help">Follow up on the reminders sent over to your partners for unpaid invoices.</field>
|
||||
<field name="help">Follow-up on the reminders sent over to your partners for unpaid invoices.</field>
|
||||
</record>
|
||||
|
||||
<menuitem action="action_followup_stat" id="menu_action_followup_stat_follow" parent="account.next_id_22" groups="account.group_account_user"/>
|
||||
|
|
|
@ -3,14 +3,14 @@
|
|||
<data>
|
||||
|
||||
<record id="account_followup_comp_rule" model="ir.rule">
|
||||
<field name="name">Account Followup multi company rule</field>
|
||||
<field name="name">Account Follow-up multi company rule</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_followup_followup"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="account_followup_stat_by_partner_comp_rule" model="ir.rule">
|
||||
<field name="name">Account Followup Statistics by Partner Rule</field>
|
||||
<field name="name">Account Follow-up Statistics by Partner Rule</field>
|
||||
<field ref="model_account_followup_stat_by_partner" name="model_id"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
|
|
|
@ -1,23 +1,23 @@
|
|||
-
|
||||
In order to test account followup module in OpenERP, I change the state of invoice to "open".
|
||||
In order to test account follow-up module in OpenERP, I change the state of invoice to "open".
|
||||
-
|
||||
!record {model: account.invoice, id: account.demo_invoice_0}:
|
||||
check_total: 14.0
|
||||
-
|
||||
!workflow {model: account.invoice, action: invoice_open, ref: account.demo_invoice_0}
|
||||
-
|
||||
I create a followup.
|
||||
I create a follow-up.
|
||||
-
|
||||
!record {model: account.followup.print, id: account_followup_print_0}:
|
||||
{}
|
||||
-
|
||||
I select the followup to send it to the partner.
|
||||
I select the follow-up to send it to the partner.
|
||||
-
|
||||
!python {model: account.followup.print}: |
|
||||
self.do_continue(cr, uid, [ref("account_followup_print_0")], {"active_ids": [ref("account_followup.account_followup_print_menu")], "active_id": ref("account_followup.account_followup_print_menu"),
|
||||
})
|
||||
-
|
||||
I select partners whom I want to send followups.
|
||||
I select partners whom I want to send follow-ups.
|
||||
-
|
||||
!record {model: account.followup.print.all, id: account_followup_print_all_0}:
|
||||
email_body: 'Date : %(date)s\n\nDear %(partner_name)s,\n\nPlease find in attachment
|
||||
|
@ -28,7 +28,7 @@
|
|||
- base.res_partner_desertic_hispafuentes
|
||||
partner_lang: 1
|
||||
-
|
||||
I send a followup mail to partner.
|
||||
I send a follow-up mail to partner.
|
||||
-
|
||||
!python {model: account.followup.print.all}: |
|
||||
import time
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
-
|
||||
In order to test the report I print followup report.
|
||||
In order to test the report I print follow-up report.
|
||||
-
|
||||
!python {model: account.followup.print.all}: |
|
||||
import time
|
||||
ctx = {'form_view_ref':'account_followup.view_account_followup_print_all', 'followup_id': ref('account_followup.demo_followup1'),'date': time.strftime('%Y-%m-%d'),'model': 'account_followup.followup','active_ids':[ref('account_followup_print_all_0')], 'company_id':ref('base.main_company')}
|
||||
data_dict = {'email_conf': 1}
|
||||
from tools import test_reports
|
||||
test_reports.try_report_action(cr, uid, 'action_account_followup_print_all', context=ctx, wiz_data=data_dict,wiz_buttons=["Print Follow Ups"], our_module='account_followup')
|
||||
test_reports.try_report_action(cr, uid, 'action_account_followup_print_all', context=ctx, wiz_data=data_dict,wiz_buttons=["Print Follow-ups"], our_module='account_followup')
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ from tools.translate import _
|
|||
|
||||
class account_followup_print(osv.osv_memory):
|
||||
_name = 'account.followup.print'
|
||||
_description = 'Print Followup & Send Mail to Customers'
|
||||
_description = 'Print Follow-up & Send Mail to Customers'
|
||||
_columns = {
|
||||
'date': fields.date('Follow-up Sending Date', required=True, help="This field allow you to select a forecast date to plan your follow-ups"),
|
||||
'followup_id': fields.many2one('account_followup.followup', 'Follow-up', required=True),
|
||||
|
@ -71,14 +71,14 @@ account_followup_print()
|
|||
|
||||
class account_followup_stat_by_partner(osv.osv):
|
||||
_name = "account_followup.stat.by.partner"
|
||||
_description = "Followup Statistics by Partner"
|
||||
_description = "Follow-up Statistics by Partner"
|
||||
_rec_name = 'partner_id'
|
||||
_auto = False
|
||||
_columns = {
|
||||
'partner_id': fields.many2one('res.partner', 'Partner', readonly=True),
|
||||
'date_move':fields.date('First move', readonly=True),
|
||||
'date_move_last':fields.date('Last move', readonly=True),
|
||||
'date_followup':fields.date('Latest followup', readonly=True),
|
||||
'date_followup':fields.date('Latest follow-up', readonly=True),
|
||||
'max_followup_id': fields.many2one('account_followup.followup.line',
|
||||
'Max Follow Up Level', readonly=True, ondelete="cascade"),
|
||||
'balance':fields.float('Balance', readonly=True),
|
||||
|
@ -90,7 +90,7 @@ class account_followup_stat_by_partner(osv.osv):
|
|||
# Here we don't have other choice but to create a virtual ID based on the concatenation
|
||||
# of the partner_id and the company_id, because if a partner is shared between 2 companies,
|
||||
# we want to see 2 lines for him in this table. It means that both company should be able
|
||||
# to send him followups separately . An assumption that the number of companies will not
|
||||
# to send him follow-ups separately . An assumption that the number of companies will not
|
||||
# reach 10 000 records is made, what should be enough for a time.
|
||||
cr.execute("""
|
||||
create or replace view account_followup_stat_by_partner as (
|
||||
|
@ -118,7 +118,7 @@ account_followup_stat_by_partner()
|
|||
|
||||
class account_followup_print_all(osv.osv_memory):
|
||||
_name = 'account.followup.print.all'
|
||||
_description = 'Print Followup & Send Mail to Customers'
|
||||
_description = 'Print Follow-up & Send Mail to Customers'
|
||||
_columns = {
|
||||
'partner_ids': fields.many2many('account_followup.stat.by.partner', 'partner_stat_rel', 'osv_memory_id', 'partner_id', 'Partners', required=True),
|
||||
'email_conf': fields.boolean('Send email confirmation'),
|
||||
|
@ -126,7 +126,7 @@ class account_followup_print_all(osv.osv_memory):
|
|||
'partner_lang': fields.boolean('Send Email in Partner Language', help='Do not change message text, if you want to send email in partner language, or configure from company'),
|
||||
'email_body': fields.text('Email body'),
|
||||
'summary': fields.text('Summary', required=True, readonly=True),
|
||||
'test_print': fields.boolean('Test Print', help='Check if you want to print followups without changing followups level.')
|
||||
'test_print': fields.boolean('Test Print', help='Check if you want to print follow-ups without changing follow-ups level.')
|
||||
}
|
||||
def _get_summary(self, cr, uid, context=None):
|
||||
if context is None:
|
||||
|
@ -289,15 +289,15 @@ class account_followup_print_all(osv.osv_memory):
|
|||
msg += partner.name + '\n'
|
||||
msg_unsent += msg
|
||||
if not msg_unsent:
|
||||
summary = _("All E-mails have been successfully sent to Partners:.\n\n%s") % msg_sent
|
||||
summary = _("All Emails have been successfully sent to Partners:.\n\n%s") % msg_sent
|
||||
else:
|
||||
msg_unsent = _("E-Mail not sent to following Partners, E-mail not available !\n\n%s") % msg_unsent
|
||||
msg_sent = msg_sent and _("\n\nE-Mail sent to following Partners successfully. !\n\n%s") % msg_sent
|
||||
msg_unsent = _("Email not sent to following Partners, Email not available !\n\n%s") % msg_unsent
|
||||
msg_sent = msg_sent and _("\n\nEmail sent to following Partners successfully. !\n\n%s") % msg_sent
|
||||
line = '=========================================================================='
|
||||
summary = msg_unsent + line + msg_sent
|
||||
context.update({'summary': summary})
|
||||
else:
|
||||
context.update({'summary': '\n\n\nE-Mail has not been sent to any partner. If you want to send it, please tick send email confirmation on wizard.'})
|
||||
context.update({'summary': '\n\n\nEmail has not been sent to any partner. If you want to send it, please tick send email confirmation on wizard.'})
|
||||
|
||||
return {
|
||||
'name': _('Followup Summary'),
|
||||
|
|
|
@ -7,12 +7,12 @@
|
|||
<field name="model">account.followup.print</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Send followups" version="7.0">
|
||||
<form string="Send follow-ups" version="7.0">
|
||||
<header>
|
||||
<button name="do_continue" string="Continue" colspan="1" type="object" icon="gtk-ok"/>
|
||||
<button special="cancel" string="Cancel" icon='gtk-cancel'/>
|
||||
</header>
|
||||
<separator string="Send Follow-Ups"/>
|
||||
<separator string="Send Follow-ups"/>
|
||||
<label string ="This feature allows you to send reminders to partners with pending invoices. You can send them the default message for unpaid invoices or manually enter a message should you need to remind them of a specific information."/>
|
||||
<group col="4">
|
||||
<field name="followup_id"/>
|
||||
|
@ -23,7 +23,7 @@
|
|||
</record>
|
||||
|
||||
<record id="action_account_followup_print" model="ir.actions.act_window">
|
||||
<field name="name">Send followups</field>
|
||||
<field name="name">Send follow-ups</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account.followup.print</field>
|
||||
<field name="view_type">form</field>
|
||||
|
@ -75,7 +75,7 @@
|
|||
<field name="model">account.followup.print.all</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Send followups" version="7.0">
|
||||
<form string="Send follow-ups" version="7.0">
|
||||
<header>
|
||||
<button name="do_mail" string="Send Mails" colspan="1" type="object" icon="gtk-execute"/>
|
||||
<button name="do_print" string="Print Follow Ups" colspan="1" type="object" icon="gtk-print"/>
|
||||
|
@ -126,7 +126,7 @@
|
|||
</record>
|
||||
|
||||
<record id="action_account_followup_print_all" model="ir.actions.act_window">
|
||||
<field name="name">Send followups</field>
|
||||
<field name="name">Send follow-ups</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account.followup.print.all</field>
|
||||
<field name="view_type">form</field>
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2012-05-09 09:04+0000\n"
|
||||
"PO-Revision-Date: 2012-06-25 05:21+0000\n"
|
||||
"Last-Translator: Tomomi Mengelberg <tomomi.mengelberg@aquasys.co.jp>\n"
|
||||
"Language-Team: Japanese <ja@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-05-10 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 15213)\n"
|
||||
"X-Launchpad-Export-Date: 2012-06-26 05:22+0000\n"
|
||||
"X-Generator: Launchpad (build 15482)\n"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: selection:account.invoice.line,state:0
|
||||
|
@ -120,7 +120,7 @@ msgstr "詳細"
|
|||
#. module: account_invoice_layout
|
||||
#: help:account.invoice.line,sequence:0
|
||||
msgid "Gives the sequence order when displaying a list of invoice lines."
|
||||
msgstr ""
|
||||
msgstr "請求書行のリスト表示は、シーケンスの順序になっています。"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: report:account.invoice.layout:0
|
||||
|
|
|
@ -193,7 +193,7 @@
|
|||
</td>
|
||||
<td>
|
||||
<para style="terp_default_8">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para>
|
||||
<para style="terp_default_8">[[ display_address(o.partner_id, 'invoice') ]]</para>
|
||||
<para style="terp_default_8">[[ display_address(o.partner_id) ]]</para>
|
||||
<para style="terp_default_8">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
|
|
|
@ -197,7 +197,7 @@
|
|||
</td>
|
||||
<td>
|
||||
<para style="terp_default_8">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para>
|
||||
<para style="terp_default_8">[[ display_address(o.partner_id, 'invoice') ]]</para>
|
||||
<para style="terp_default_8">[[ display_address(o.partner_id) ]]</para>
|
||||
<para style="terp_default_8">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
|
|
|
@ -250,6 +250,7 @@ class account_voucher(osv.osv):
|
|||
|
||||
_name = 'account.voucher'
|
||||
_description = 'Accounting Voucher'
|
||||
_inherit = ['mail.thread']
|
||||
_order = "date desc, id desc"
|
||||
# _rec_name = 'number'
|
||||
_columns = {
|
||||
|
@ -323,7 +324,7 @@ class account_voucher(osv.osv):
|
|||
'amount': _get_amount,
|
||||
'type':_get_type,
|
||||
'state': 'draft',
|
||||
'pay_now': 'pay_later',
|
||||
'pay_now': 'pay_now',
|
||||
'name': '',
|
||||
'date': lambda *a: time.strftime('%Y-%m-%d'),
|
||||
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'account.voucher',context=c),
|
||||
|
@ -334,6 +335,11 @@ class account_voucher(osv.osv):
|
|||
'payment_rate_currency_id': _get_payment_rate_currency,
|
||||
}
|
||||
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
voucher = super(account_voucher, self).create(cr, uid, vals, context=context)
|
||||
self.create_send_note(cr, uid, [voucher], context=context)
|
||||
return voucher
|
||||
|
||||
def compute_tax(self, cr, uid, ids, context=None):
|
||||
tax_pool = self.pool.get('account.tax')
|
||||
partner_pool = self.pool.get('res.partner')
|
||||
|
@ -556,7 +562,7 @@ class account_voucher(osv.osv):
|
|||
@return: Returns a dict which contains new values, and context
|
||||
"""
|
||||
def _remove_noise_in_o2m():
|
||||
"""if the line is partially reconciled, then we must pay attention to display it only once and
|
||||
"""if the line is partially reconciled, then we must pay attention to display it only once and
|
||||
in the good o2m.
|
||||
This function returns True if the line is considered as noise and should not be displayed
|
||||
"""
|
||||
|
@ -1249,12 +1255,16 @@ class account_voucher(osv.osv):
|
|||
'state': 'posted',
|
||||
'number': name,
|
||||
})
|
||||
self.post_send_note(cr, uid, [voucher.id], context=context)
|
||||
if voucher.journal_id.entry_posted:
|
||||
move_pool.post(cr, uid, [move_id], context={})
|
||||
# We automatically reconcile the account move lines.
|
||||
reconcile = False
|
||||
for rec_ids in rec_list_ids:
|
||||
if len(rec_ids) >= 2:
|
||||
move_line_pool.reconcile_partial(cr, uid, rec_ids, writeoff_acc_id=voucher.writeoff_acc_id.id, writeoff_period_id=voucher.period_id.id, writeoff_journal_id=voucher.journal_id.id)
|
||||
reconcile = move_line_pool.reconcile_partial(cr, uid, rec_ids, writeoff_acc_id=voucher.writeoff_acc_id.id, writeoff_period_id=voucher.period_id.id, writeoff_journal_id=voucher.journal_id.id)
|
||||
if reconcile:
|
||||
self.reconcile_send_note(cr, uid, [voucher.id], context=context)
|
||||
return True
|
||||
|
||||
def copy(self, cr, uid, id, default={}, context=None):
|
||||
|
@ -1270,6 +1280,32 @@ class account_voucher(osv.osv):
|
|||
default['date'] = time.strftime('%Y-%m-%d')
|
||||
return super(account_voucher, self).copy(cr, uid, id, default, context)
|
||||
|
||||
# -----------------------------------------
|
||||
# OpenChatter notifications and need_action
|
||||
# -----------------------------------------
|
||||
_document_type = {
|
||||
'sale': 'Sales Receipt',
|
||||
'purchase': 'Purchase Receipt',
|
||||
'payment': 'Supplier Payment',
|
||||
'receipt': 'Customer Payment',
|
||||
False: 'Payment',
|
||||
}
|
||||
|
||||
def create_send_note(self, cr, uid, ids, context=None):
|
||||
for obj in self.browse(cr, uid, ids, context=context):
|
||||
message = "%s <b>created</b>." % self._document_type[obj.type or False]
|
||||
self.message_append_note(cr, uid, [obj.id], body=message, context=context)
|
||||
|
||||
def post_send_note(self, cr, uid, ids, context=None):
|
||||
for obj in self.browse(cr, uid, ids, context=context):
|
||||
message = "%s '%s' is <b>posted</b>." % (self._document_type[obj.type or False], obj.move_id.name)
|
||||
self.message_append_note(cr, uid, [obj.id], body=message, context=context)
|
||||
|
||||
def reconcile_send_note(self, cr, uid, ids, context=None):
|
||||
for obj in self.browse(cr, uid, ids, context=context):
|
||||
message = "%s <b>reconciled</b>." % self._document_type[obj.type or False]
|
||||
self.message_append_note(cr, uid, [obj.id], body=message, context=context)
|
||||
|
||||
account_voucher()
|
||||
|
||||
class account_voucher_line(osv.osv):
|
||||
|
|
|
@ -2,15 +2,18 @@
|
|||
<openerp>
|
||||
<data>
|
||||
<record id="view_invoice_customer" model="ir.ui.view">
|
||||
<field name="name">account.invoice.customer.pay</field>
|
||||
<field name="model">account.invoice</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="account.invoice_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<button name="invoice_open" position="after">
|
||||
<button name="invoice_pay_customer" type="object" string="Register Payment" states="open" icon="gtk-go-forward"/>
|
||||
</button>
|
||||
</field>
|
||||
<field name="name">account.invoice.customer.pay</field>
|
||||
<field name="model">account.invoice</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="account.invoice_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//button[@name='invoice_open'][last()]" position="after">
|
||||
<button name="invoice_pay_customer" type="object" string="Register Payment"
|
||||
attrs="{'invisible': ['|', ('state','!=','open'), ('sent','=',True)]}"/>
|
||||
<button name="invoice_pay_customer" type="object" string="Register Payment"
|
||||
attrs="{'invisible': ['|', ('state','!=','open'), ('sent','=',False)]}" class="oe_highlight"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_invoice_supplier" model="ir.ui.view">
|
||||
<field name="name">account.invoice.supplier.pay</field>
|
||||
|
@ -18,9 +21,9 @@
|
|||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="account.invoice_supplier_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<button name="invoice_open" position="after">
|
||||
<button name="invoice_pay_customer" type="object" string="Pay" states="open" icon="gtk-go-forward"/>
|
||||
</button>
|
||||
<xpath expr="//button[@name='invoice_open'][last()]" position="after">
|
||||
<button name="invoice_pay_customer" type="object" string="Pay" states="open" class="oe_highlight"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<field name="number"/>
|
||||
<field name="reference"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="journal_id"/>
|
||||
<field name="journal_id" groups="account.group_account_user"/>
|
||||
<field name="period_id" invisible="context.get('visible', True)"/>
|
||||
<field name="type" invisible="context.get('visible', True)"/>
|
||||
<field name="amount" sum="Total Amount"/>
|
||||
|
@ -110,7 +110,10 @@
|
|||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</sheet>
|
||||
<footer>
|
||||
<field name="message_ids" widget="ThreadView"/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -72,4 +72,4 @@ report_sxw.report_sxw(
|
|||
parser=report_voucher,header="external"
|
||||
)
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -93,4 +93,4 @@ report_sxw.report_sxw(
|
|||
parser=report_voucher_print,header="external"
|
||||
)
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -143,7 +143,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<form version="7.0">
|
||||
<header>
|
||||
<button name="proforma_voucher" string="Validate" states="draft" invisible="context.get('line_type', False)"/>
|
||||
<button name="proforma_voucher" string="Validate" states="draft" invisible="context.get('line_type', False)" class="oe_highlight"/>
|
||||
<button name="cancel_voucher" string="Cancel" states="draft,proforma" invisible="context.get('line_type', False)"/>
|
||||
<button name="cancel_voucher" string="Unreconcile" type="object" states="posted" invisible="context.get('line_type', False)" confirm="Are you sure to unreconcile and cancel this record ?"/>
|
||||
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" invisible="context.get('line_type', False)"/>
|
||||
|
@ -183,8 +183,8 @@
|
|||
<field name="date_original" readonly="1"/>
|
||||
<field name="date_due" readonly="1"/>
|
||||
<field name="amount_original" readonly="1"/>
|
||||
<field name="amount_unreconciled" readonly="1"/>
|
||||
<field name="reconcile" on_change="onchange_reconcile(reconcile, amount, amount_unreconciled, context)"/>
|
||||
<field name="amount_unreconciled" readonly="1" groups="account.group_account_user"/>
|
||||
<field name="reconcile" on_change="onchange_reconcile(reconcile, amount, amount_unreconciled, context)" groups="account.group_account_user"/>
|
||||
<field name="amount" sum="Total Allocation" on_change="onchange_amount(amount, amount_unreconciled, context)"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
@ -199,8 +199,8 @@
|
|||
<field name="date_original" readonly="1"/>
|
||||
<field name="date_due" readonly="1"/>
|
||||
<field name="amount_original" readonly="1"/>
|
||||
<field name="amount_unreconciled" readonly="1"/>
|
||||
<field name="reconcile" on_change="onchange_reconcile(reconcile, amount, amount_unreconciled, context)"/>
|
||||
<field name="amount_unreconciled" readonly="1" groups="account.group_account_user"/>
|
||||
<field name="reconcile" on_change="onchange_reconcile(reconcile, amount, amount_unreconciled, context)" groups="account.group_account_user"/>
|
||||
<field name="amount" sum="Total Allocation" on_change="onchange_amount(amount, amount_unreconciled, context)"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
@ -257,6 +257,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<field name="message_ids" widget="ThreadView"/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -270,7 +273,9 @@
|
|||
<field name="view_id" eval="False"/>
|
||||
<field name="search_view_id" ref="view_voucher_filter_vendor_pay"/>
|
||||
<field name="target">current</field>
|
||||
<field name="help">The supplier payment form allows you to track the payment you do to your suppliers. When you select a supplier, the payment method and an amount for the payment, OpenERP will propose to reconcile your payment with the open supplier invoices or bills.</field>
|
||||
<field name="help">Click on "Create" to register a supplier payment.
|
||||
<p>
|
||||
Track payments you do to your supplier and amounts you pay.</field>
|
||||
</record>
|
||||
<record id="action_vendor_payment_tree" model="ir.actions.act_window.view">
|
||||
<field eval="1" name="sequence"/>
|
||||
|
@ -295,7 +300,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<form version="7.0">
|
||||
<header>
|
||||
<button name="proforma_voucher" string="Validate" states="draft" invisible="context.get('line_type', False)"/>
|
||||
<button name="proforma_voucher" string="Validate" states="draft" invisible="context.get('line_type', False)" class="oe_highlight"/>
|
||||
<button name="cancel_voucher" string="Cancel" states="draft,proforma" invisible="context.get('line_type', False)"/>
|
||||
<button name="cancel_voucher" string="Unreconcile" type="object" states="posted" invisible="context.get('line_type', False)" confirm="Are you sure to unreconcile and cancel this record ?"/>
|
||||
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" invisible="context.get('line_type', False)"/>
|
||||
|
@ -425,6 +430,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<field name="message_ids" widget="ThreadView"/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -438,7 +446,11 @@
|
|||
<field name="search_view_id" ref="view_voucher_filter_customer_pay"/>
|
||||
<field name="view_id" eval="False"/>
|
||||
<field name="target">current</field>
|
||||
<field name="help">Sales payment allows you to register the payments you receive from your customers. In order to record a payment, you must enter the customer, the payment method (=the journal) and the payment amount. OpenERP will propose to you automatically the reconciliation of this payment with the open invoices or sales receipts.</field>
|
||||
<field name="help">
|
||||
Click on create to register a payment.
|
||||
<p>
|
||||
Enter the customer and the payment method and then, either create manually a payment record or OpenERP will propose to you automatically the reconciliation of this payment with the open invoices or sales receipts.
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_vendor_receipt_tree" model="ir.actions.act_window.view">
|
||||
<field eval="1" name="sequence"/>
|
||||
|
|
|
@ -80,8 +80,8 @@
|
|||
<field name="arch" type="xml">
|
||||
<form version="7.0">
|
||||
<header>
|
||||
<button name="proforma_voucher" string="Validate" states="draft"/>
|
||||
<button name="%(act_pay_voucher)d" context="{'narration':narration, 'title':'Customer Payment', 'type':'receipt', 'partner_id':partner_id, 'reference':reference, 'amount':amount}" type="action" string="Pay" attrs="{'invisible':['|',('pay_now','=','pay_now'),'|',('state','=','draft'), ('paid','=',True)]}"/>
|
||||
<button name="proforma_voucher" string="Validate" states="draft" class="oe_highlight"/>
|
||||
<button name="%(act_pay_voucher)d" context="{'narration':narration, 'title':'Customer Payment', 'type':'receipt', 'partner_id':partner_id, 'reference':reference, 'amount':amount}" type="action" string="Pay" attrs="{'invisible':['|',('pay_now','=','pay_now'),'|',('state','=','draft'), ('paid','=',True)]}" class="oe_highlight"/>
|
||||
<button name="cancel_voucher" string="Cancel" states="draft,proforma" />
|
||||
<button name="cancel_voucher" string="Cancel" type="object" states="posted" confirm="Are you sure to confirm this record ?"/>
|
||||
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft"/>
|
||||
|
@ -119,7 +119,7 @@
|
|||
<page string="Sales Information">
|
||||
<field name="line_cr_ids" on_change="onchange_price(line_cr_ids, tax_id, partner_id)" context="{'journal_id':journal_id, 'type':type, 'partner_id':partner_id}">
|
||||
<tree string="Sales Lines" editable="bottom">
|
||||
<field name="account_id" domain="[('user_type.report_type','=','income'),('type','!=','view')]" widget="selection"/>
|
||||
<field name="account_id" domain="[('user_type.report_type','=','income'),('type','!=','view')]" widget="selection" groups="account.group_account_user"/>
|
||||
<field name="name"/>
|
||||
<field name="amount" sum="Total"/>
|
||||
<field name="account_analytic_id" groups="analytic.group_analytic_accounting"/>
|
||||
|
@ -167,6 +167,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<field name="message_ids" widget="ThreadView"/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -181,7 +184,11 @@
|
|||
<field name="view_id" eval="False"/>
|
||||
<field name="search_view_id" ref="view_voucher_filter_sale"/>
|
||||
<field name="target">current</field>
|
||||
<field name="help">When you sell products to a customer, you can give him a sales receipt or an invoice. When the sales receipt is confirmed, it creates journal items automatically and you can record the customer payment related to this sales receipt.</field>
|
||||
<field name="help">
|
||||
Click here to create a sale receipt.
|
||||
<p>
|
||||
When the sales receipt is confirmed, you can record the customer payment related to this sales receipt.
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_sale_receipt_tree" model="ir.actions.act_window.view">
|
||||
<field eval="1" name="sequence"/>
|
||||
|
@ -217,8 +224,8 @@
|
|||
<field name="arch" type="xml">
|
||||
<form version="7.0">
|
||||
<header>
|
||||
<button name="proforma_voucher" string="Validate" states="draft"/>
|
||||
<button name="%(act_pay_bills)d" context="{'narration':narration, 'title':'Bill Payment', 'type':'payment', 'partner_id': partner_id, 'reference':reference}" type="action" string="Pay Bill" attrs="{'invisible':['|',('pay_now','=','pay_now'),'|',('state','=','draft'), ('paid','=',True)]}"/>
|
||||
<button name="proforma_voucher" string="Validate" states="draft" class="oe_highlight"/>
|
||||
<button name="%(act_pay_bills)d" context="{'narration':narration, 'title':'Bill Payment', 'type':'payment', 'partner_id': partner_id, 'reference':reference}" type="action" string="Pay Bill" attrs="{'invisible':['|',('pay_now','=','pay_now'),'|',('state','=','draft'), ('paid','=',True)]}" class="oe_highlight"/>
|
||||
<button name="cancel_voucher" string="Cancel" states="draft,proforma" />
|
||||
<button name="cancel_voucher" string="Cancel" type="object" states="posted" confirm="Are you sure to confirm this record ?"/>
|
||||
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft"/>
|
||||
|
@ -259,7 +266,7 @@
|
|||
<page string="Bill Information">
|
||||
<field name="line_dr_ids" on_change="onchange_price(line_dr_ids, tax_id, partner_id)" context="{'journal_id':journal_id,'partner_id':partner_id}">
|
||||
<tree string="Expense Lines" editable="bottom">
|
||||
<field name="account_id" widget="selection" domain="[('user_type.report_type','=','expense'), ('type','!=','view')]"/>
|
||||
<field name="account_id" widget="selection" domain="[('user_type.report_type','=','expense'), ('type','!=','view')]" groups="account.group_account_user"/>
|
||||
<field name="name"/>
|
||||
<field name="amount"/>
|
||||
<field name="account_analytic_id" groups="analytic.group_analytic_accounting"/>
|
||||
|
@ -313,6 +320,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<field name="message_ids" widget="ThreadView"/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -325,6 +335,11 @@
|
|||
<field name="view_id" eval="False"/>
|
||||
<field name="search_view_id" eval="view_voucher_filter_vendor"/>
|
||||
<field name="target">current</field>
|
||||
<field name="help">
|
||||
Click here to create a purchase receipt.
|
||||
<p>
|
||||
When the purchase receipt is confirmed, you can record the supplier payment related to this purchase receipt.
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_purchase_receipt_tree" model="ir.actions.act_window.view">
|
||||
<field eval="1" name="sequence"/>
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
"author" : "OpenERP SA",
|
||||
"website" : "http://www.openerp.com",
|
||||
"category": 'Hidden/Dependency',
|
||||
"depends" : ["base", "decimal_precision"],
|
||||
"depends" : ["base", "decimal_precision", "mail"],
|
||||
"description": """
|
||||
Module for defining analytic accounting object.
|
||||
===============================================
|
||||
|
@ -37,6 +37,8 @@ that have no counterpart in the general financial accounts.
|
|||
"init_xml" : [],
|
||||
"update_xml": ['security/analytic_security.xml',
|
||||
"security/ir.model.access.csv",
|
||||
"analytic_sequence.xml",
|
||||
"analytic_view.xml"
|
||||
],
|
||||
'demo_xml': [
|
||||
],
|
||||
|
|
|
@ -27,6 +27,7 @@ import decimal_precision as dp
|
|||
|
||||
class account_analytic_account(osv.osv):
|
||||
_name = 'account.analytic.account'
|
||||
_inherit = ['mail.thread']
|
||||
_description = 'Analytic Account'
|
||||
|
||||
def _compute_level_tree(self, cr, uid, ids, child_ids, res, field_names, context=None):
|
||||
|
@ -155,7 +156,11 @@ class account_analytic_account(osv.osv):
|
|||
'name': fields.char('Account Name', size=128, required=True),
|
||||
'complete_name': fields.function(_complete_name_calc, type='char', string='Full Account Name'),
|
||||
'code': fields.char('Code/Reference', size=24, select=True),
|
||||
'type': fields.selection([('view','View'), ('normal','Normal')], 'Account Type', help='If you select the View Type, it means you won\'t allow to create journal entries using that account.'),
|
||||
'type': fields.selection([('view','Analytic View'), ('normal','Analytic Account'),('contract','Contract or Project'),('template','Template of Project')], 'Type of Account', required=True,
|
||||
help="If you select the View Type, it means you won\'t allow to create journal entries using that account.\n"\
|
||||
"The type 'Analytic account' stands for usual accounts that you only want to use in accounting.\n"\
|
||||
"If you select Contract or Project, it offers you the possibility to manage the validity and the invoicing options for this account.\n"\
|
||||
"The special type 'Template of Project' allows you to define a template with default data that you can reuse easily."),
|
||||
'description': fields.text('Description'),
|
||||
'parent_id': fields.many2one('account.analytic.account', 'Parent Analytic Account', select=2),
|
||||
'child_ids': fields.one2many('account.analytic.account', 'parent_id', 'Child Accounts'),
|
||||
|
@ -166,23 +171,28 @@ class account_analytic_account(osv.osv):
|
|||
'credit': fields.function(_debit_credit_bal_qtty, type='float', string='Credit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')),
|
||||
'quantity': fields.function(_debit_credit_bal_qtty, type='float', string='Quantity', multi='debit_credit_bal_qtty'),
|
||||
'quantity_max': fields.float('Maximum Time', help='Sets the higher limit of time to work on the contract.'),
|
||||
'partner_id': fields.many2one('res.partner', 'Partner'),
|
||||
'user_id': fields.many2one('res.users', 'Account Manager'),
|
||||
'partner_id': fields.many2one('res.partner', 'Customer'),
|
||||
'user_id': fields.many2one('res.users', 'Project Manager'),
|
||||
'manager_id': fields.many2one('res.users', 'Account Manager'),
|
||||
'date_start': fields.date('Date Start'),
|
||||
'date': fields.date('Date End', select=True),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=False), #not required because we want to allow different companies to use the same chart of account, except for leaf accounts.
|
||||
'state': fields.selection([('template', 'Template'),('draft','New'),('open','Open'), ('cancelled', 'Cancelled'),('pending','Pending'),('close','Closed')], 'Status', required=True,
|
||||
help='* When an account is created its in \'Draft\' state.\
|
||||
\n* If any associated partner is there, it can be in \'Open\' state.\
|
||||
\n* If any pending balance is there it can be in \'Pending\'. \
|
||||
\n* And finally when all the transactions are over, it can be in \'Close\' state. \
|
||||
\n* The project can be in either if the states \'Template\' and \'Running\'.\n If it is template then we can make projects based on the template projects. If its in \'Running\' state it is a normal project.\
|
||||
\n If it is to be reviewed then the state is \'Pending\'.\n When the project is completed the state is set to \'Done\'.'),
|
||||
'state': fields.selection([('template', 'Template'),('draft','New'),('open','In Progress'), ('cancelled', 'Cancelled'),('pending','To Renew'),('close','Closed')], 'Status', required=True,),
|
||||
'currency_id': fields.function(_currency, fnct_inv=_set_company_currency,
|
||||
store = {
|
||||
'res.company': (_get_analytic_account, ['currency_id'], 10),
|
||||
}, string='Currency', type='many2one', relation='res.currency'),
|
||||
}
|
||||
|
||||
def on_change_partner_id(self, cr, uid, ids,partner_id, name, context={}):
|
||||
res={}
|
||||
if partner_id:
|
||||
partner = self.pool.get('res.partner').browse(cr, uid, partner_id, context=context)
|
||||
if partner.user_id:
|
||||
res['manager_id'] = partner.user_id.id
|
||||
if not name:
|
||||
res['name'] = _('Contract: ') + partner.name
|
||||
return {'value': res}
|
||||
|
||||
def _default_company(self, cr, uid, context=None):
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
|
||||
|
@ -197,6 +207,7 @@ class account_analytic_account(osv.osv):
|
|||
_defaults = {
|
||||
'type': 'normal',
|
||||
'company_id': _default_company,
|
||||
'code' : lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'account.analytic.account'),
|
||||
'state': 'open',
|
||||
'user_id': lambda self, cr, uid, ctx: uid,
|
||||
'partner_id': lambda self, cr, uid, ctx: ctx.get('partner_id', False),
|
||||
|
@ -266,6 +277,17 @@ class account_analytic_account(osv.osv):
|
|||
account = self.search(cr, uid, args, limit=limit, context=context)
|
||||
return self.name_get(cr, uid, account, context=context)
|
||||
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
contract = super(account_analytic_account, self).create(cr, uid, vals, context=context)
|
||||
if contract:
|
||||
self.create_send_note(cr, uid, [contract], context=context)
|
||||
return contract
|
||||
|
||||
def create_send_note(self, cr, uid, ids, context=None):
|
||||
for obj in self.browse(cr, uid, ids, context=context):
|
||||
self.message_subscribe(cr, uid, [obj.id], [obj.user_id.id], context=context)
|
||||
self.message_append_note(cr, uid, [obj.id], body=_("Contract for <em>%s</em> has been <b>created</b>.") % (obj.partner_id.name), context=context)
|
||||
|
||||
account_analytic_account()
|
||||
|
||||
|
||||
|
@ -290,17 +312,17 @@ class account_analytic_line(osv.osv):
|
|||
}
|
||||
|
||||
_order = 'date desc'
|
||||
|
||||
|
||||
def _check_no_view(self, cr, uid, ids, context=None):
|
||||
analytic_lines = self.browse(cr, uid, ids, context=context)
|
||||
for line in analytic_lines:
|
||||
if line.account_id.type == 'view':
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
_constraints = [
|
||||
(_check_no_view, 'You can not create analytic line on view account.', ['account_id']),
|
||||
]
|
||||
]
|
||||
|
||||
account_analytic_line()
|
||||
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
<record id="seq_type_analytic_account_main" model="ir.sequence.type">
|
||||
<field name="name">Analytic account</field>
|
||||
<field name="code">account.analytic.account</field>
|
||||
</record>
|
||||
<record id="seq_analytic_account_base" model="ir.sequence">
|
||||
<field name="name">Analytic account sequence</field>
|
||||
<field name="code">account.analytic.account</field>
|
||||
<field name="prefix">AA</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
|
@ -0,0 +1,53 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="view_account_analytic_account_form" model="ir.ui.view">
|
||||
<field name="name">analytic.analytic.account.form</field>
|
||||
<field name="model">account.analytic.account</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form version="7.0">
|
||||
<sheet string="Analytic Account">
|
||||
<label for="name" class="oe_edit_only"/>
|
||||
<h1>
|
||||
<field name="name"/>
|
||||
</h1>
|
||||
<group>
|
||||
<group>
|
||||
<field name="partner_id" on_change="on_change_partner_id(partner_id, name)" attrs="{'required':[('type','=','contract')]}"/>
|
||||
<field name="parent_id" on_change="on_change_parent(parent_id)" attrs="{'invisible': [('type','in',['contract','template'])]}"/>
|
||||
<field name="type"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="manager_id"/>
|
||||
<field name="company_id" on_change="on_change_company(company_id)" widget="selection" groups="base.group_multi_company" attrs="{'required': [('type','<>','view')]}"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Contract Information" name="contract_page" attrs="{'invisible':[('type','not in',['contract', 'template'])]}">
|
||||
<group name="master">
|
||||
<group string="Validity" name="contract">
|
||||
<label for="date_start" string="Duration"/>
|
||||
<div name="duration">
|
||||
<field name="date_start" class="oe_inline"/> - <field name="date" class="oe_inline"/>
|
||||
</div>
|
||||
</group>
|
||||
<group name="project">
|
||||
<separator string="Project Management" name="project_sep" invisible="1"/>
|
||||
</group>
|
||||
</group>
|
||||
<separator string="Terms and Conditions" name="description"/>
|
||||
<field name="description"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<field name="message_ids" widget="ThreadView"/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
|
@ -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 analytic_contract_expense_project
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -19,28 +19,28 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
|
||||
{
|
||||
'name': 'Billing Rates on Contracts',
|
||||
'version': '1.0',
|
||||
'name': 'Projects Management: hr_expense link',
|
||||
'version': '1.1',
|
||||
'category': 'Sales Management',
|
||||
'description': """
|
||||
This module allows you to define what is the default invoicing rate for a specific journal on a given account.
|
||||
==============================================================================================================
|
||||
This module is for modifying project view to show some data related to the hr_expense module.
|
||||
======================================================================================================
|
||||
|
||||
This is mostly used when a user encodes his timesheet: the values are retrieved and the fields are auto-filled. But the possibility to change these values is still available.
|
||||
|
||||
Obviously if no data has been recorded for the current account, the default value is given as usual by the account data so that this module is perfectly compatible with older configurations.
|
||||
|
||||
""",
|
||||
'author': 'OpenERP SA',
|
||||
'website': 'http://www.openerp.com',
|
||||
'images': ['images/analytic_journal_billing_rate.jpeg'],
|
||||
'depends': ['analytic_user_function', 'account', 'hr_timesheet_invoice'],
|
||||
'init_xml': [],
|
||||
'update_xml': ['analytic_journal_billing_rate_view.xml', 'security/ir.model.access.csv'],
|
||||
""",
|
||||
"author": "OpenERP S.A.",
|
||||
"website": "http://www.openerp.com/",
|
||||
"depends": ["analytic_contract_hr_expense","project"],
|
||||
"init_xml": [],
|
||||
"update_xml": [
|
||||
"analytic_contract_expense_project_view.xml",
|
||||
],
|
||||
'demo_xml': [],
|
||||
"css" : [
|
||||
],
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
'certificate': '0030271787965',
|
||||
'auto_install': True,
|
||||
}
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -0,0 +1,37 @@
|
|||
# -*- 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 osv import osv
|
||||
|
||||
class project_project(osv.osv):
|
||||
_inherit = "project.project"
|
||||
|
||||
def open_hr_expense(self, cr, uid, ids, context=None):
|
||||
account_ids = [x.analytic_account_id.id for x in self.browse(cr, uid, ids, context=context)]
|
||||
return self.pool.get('account.analytic.account').open_hr_expense(cr, uid, account_ids, context=context)
|
||||
|
||||
def hr_to_invoice_expense(self, cr, uid, ids, context=None):
|
||||
account_ids = [x.analytic_account_id.id for x in self.browse(cr, uid, ids, context=context)]
|
||||
return self.pool.get('account.analytic.account').hr_to_invoice_expense(cr, uid, account_ids, context=context)
|
||||
|
||||
project_project()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="project_form_expense_form" model="ir.ui.view">
|
||||
<field name="name">project.project.form.expense.inherit</field>
|
||||
<field name="model">project.project</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="analytic_contract_project.project_account_analytic_account_form"/>
|
||||
<field eval="20" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr='//tr[@name="total"]' position='before'>
|
||||
<tr>
|
||||
<td>
|
||||
<label for="charge_expenses"/>
|
||||
</td><td>
|
||||
<field name="charge_expenses"/>
|
||||
</td><td>
|
||||
<field class="oe_form_inline" name="est_expenses" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
</td><td>
|
||||
<field class="oe_form_inline" name="expense_invoiced" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
</td><td>
|
||||
<field class="oe_form_inline" name="remaining_expense" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
</td><td>
|
||||
<field class="oe_form_inline" name="expense_to_invoice" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
</td><td>
|
||||
<button name="open_hr_expense" string="All Expenses" type="object" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
<button name="hr_to_invoice_expense" string="Expenses to Invoice" type="object" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
</td>
|
||||
</tr>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
|
@ -19,6 +19,6 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
import analytic_journal_billing_rate
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
import analytic_contract_hr_expense
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -0,0 +1,47 @@
|
|||
# -*- 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/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
|
||||
{
|
||||
'name': 'Contracts Management: hr_expense link',
|
||||
'version': '1.1',
|
||||
'category': 'Sales Management',
|
||||
'description': """
|
||||
This module is for modifying account analytic view to show some data related to the hr_expense module.
|
||||
======================================================================================================
|
||||
|
||||
""",
|
||||
"author": "OpenERP S.A.",
|
||||
"website": "http://www.openerp.com/",
|
||||
"depends": ["hr_expense","account_analytic_analysis"],
|
||||
"init_xml": [],
|
||||
"update_xml": [
|
||||
"analytic_contract_hr_expense_view.xml",
|
||||
],
|
||||
'demo_xml': [],
|
||||
"css" : [
|
||||
],
|
||||
'installable': True,
|
||||
'auto_install': True,
|
||||
'certificate': '',
|
||||
}
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -0,0 +1,160 @@
|
|||
# -*- 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 osv import osv, fields
|
||||
from osv.orm import intersect, except_orm
|
||||
import tools.sql
|
||||
from tools.translate import _
|
||||
from decimal_precision import decimal_precision as dp
|
||||
|
||||
|
||||
class account_analytic_account(osv.osv):
|
||||
_name = "account.analytic.account"
|
||||
_inherit = "account.analytic.account"
|
||||
|
||||
def _get_total_estimation(self, account):
|
||||
tot_est = super(account_analytic_account, self)._get_total_estimation(account)
|
||||
if account.charge_expenses:
|
||||
tot_est += account.est_expenses
|
||||
return tot_est
|
||||
|
||||
def _get_total_invoiced(self, account):
|
||||
total_invoiced = super(account_analytic_account, self)._get_total_invoiced(account)
|
||||
if account.charge_expenses:
|
||||
total_invoiced += account.expense_invoiced
|
||||
return total_invoiced
|
||||
|
||||
def _get_total_remaining(self, account):
|
||||
total_remaining = super(account_analytic_account, self)._get_total_remaining(account)
|
||||
if account.charge_expenses:
|
||||
total_remaining += account.remaining_expense
|
||||
return total_remaining
|
||||
|
||||
def _get_total_toinvoice(self, account):
|
||||
total_toinvoice = super(account_analytic_account, self)._get_total_toinvoice(account)
|
||||
if account.charge_expenses:
|
||||
total_toinvoice += account.expense_to_invoice
|
||||
return total_toinvoice
|
||||
|
||||
def _remaining_expnse_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
res = {}
|
||||
for account in self.browse(cr, uid, ids, context=context):
|
||||
if account.est_expenses != 0:
|
||||
res[account.id] = max(account.est_expenses - account.expense_invoiced, account.expense_to_invoice)
|
||||
else:
|
||||
res[account.id]=0.0
|
||||
return res
|
||||
|
||||
def _expense_to_invoice_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
res = {}
|
||||
res_final = {}
|
||||
child_ids = tuple(ids) #We don't want consolidation for each of these fields because those complex computation is resource-greedy.
|
||||
for i in child_ids:
|
||||
res[i] = 0.0
|
||||
if not child_ids:
|
||||
return res
|
||||
|
||||
if child_ids:
|
||||
cr.execute("""SELECT account_analytic_account.id, \
|
||||
COALESCE(SUM (product_template.list_price * \
|
||||
account_analytic_line.unit_amount * \
|
||||
((100-hr_timesheet_invoice_factor.factor)/100)), 0.0) \
|
||||
AS ca_to_invoice \
|
||||
FROM product_template \
|
||||
JOIN product_product \
|
||||
ON product_template.id = product_product.product_tmpl_id \
|
||||
JOIN account_analytic_line \
|
||||
ON account_analytic_line.product_id = product_product.id \
|
||||
JOIN account_analytic_journal \
|
||||
ON account_analytic_line.journal_id = account_analytic_journal.id \
|
||||
JOIN account_analytic_account \
|
||||
ON account_analytic_account.id = account_analytic_line.account_id \
|
||||
JOIN hr_timesheet_invoice_factor \
|
||||
ON hr_timesheet_invoice_factor.id = account_analytic_account.to_invoice \
|
||||
WHERE account_analytic_account.id IN %s \
|
||||
AND account_analytic_line.invoice_id IS NULL \
|
||||
AND account_analytic_line.to_invoice IS NOT NULL \
|
||||
AND account_analytic_journal.type = 'purchase' \
|
||||
GROUP BY account_analytic_account.id;""",(child_ids,))
|
||||
for account_id, sum in cr.fetchall():
|
||||
res[account_id] = sum
|
||||
res_final = res
|
||||
return res_final
|
||||
|
||||
def _expense_invoiced_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
lines_obj = self.pool.get('account.analytic.line')
|
||||
res = {}
|
||||
for account in self.browse(cr, uid, ids, context=context):
|
||||
res[account.id] = 0.0
|
||||
line_ids = lines_obj.search(cr, uid, [('account_id','=', account.id), ('invoice_id','!=',False), ('to_invoice','!=', False), ('journal_id.type', '=', 'purchase')], context=context)
|
||||
for line in lines_obj.browse(cr, uid, line_ids, context=context):
|
||||
res[account.id] += line.invoice_id.amount_untaxed
|
||||
return res
|
||||
|
||||
|
||||
_columns = {
|
||||
'charge_expenses' : fields.boolean('Charge Expenses'),
|
||||
'expense_invoiced' : fields.function(_expense_invoiced_calc, type="float"),
|
||||
'expense_to_invoice' : fields.function(_expense_to_invoice_calc, type='float'),
|
||||
'remaining_expense' : fields.function(_remaining_expnse_calc, type="float"),
|
||||
'est_expenses': fields.float('Estimation of Expenses to Invoice'),
|
||||
}
|
||||
|
||||
def on_change_template(self, cr, uid, id, template_id, context=None):
|
||||
res = super(account_analytic_account, self).on_change_template(cr, uid, id, template_id, context=context)
|
||||
if template_id and 'value' in res:
|
||||
template = self.browse(cr, uid, template_id, context=context)
|
||||
res['value']['charge_expenses'] = template.charge_expenses
|
||||
res['value']['est_expenses'] = template.est_expenses
|
||||
return res
|
||||
|
||||
def open_hr_expense(self, cr, uid, ids, context=None):
|
||||
line_ids = self.pool.get('hr.expense.line').search(cr,uid,[('analytic_account', 'in', ids)])
|
||||
domain = [('line_ids', 'in', line_ids)]
|
||||
names = [record.name for record in self.browse(cr, uid, ids, context=context)]
|
||||
name = _('Expenses of %s') % ','.join(names)
|
||||
return {
|
||||
'type': 'ir.actions.act_window',
|
||||
'name': name,
|
||||
'view_type': 'form',
|
||||
'view_mode': 'tree,form',
|
||||
'domain' : domain,
|
||||
'res_model': 'hr.expense.expense',
|
||||
'nodestroy': True,
|
||||
}
|
||||
|
||||
def hr_to_invoice_expense(self, cr, uid, ids, context=None):
|
||||
domain = [('invoice_id','=',False),('to_invoice','!=',False), ('journal_id.type', '=', 'purchase'), ('account_id', 'in', ids)]
|
||||
names = [record.name for record in self.browse(cr, uid, ids, context=context)]
|
||||
name = _('Expenses to Invoice of %s') % ','.join(names)
|
||||
return {
|
||||
'type': 'ir.actions.act_window',
|
||||
'name': name,
|
||||
'view_type': 'form',
|
||||
'view_mode': 'tree,form',
|
||||
'domain' : domain,
|
||||
'res_model': 'account.analytic.line',
|
||||
'nodestroy': True,
|
||||
}
|
||||
|
||||
account_analytic_account()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -0,0 +1,58 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="account_analytic_account_form_expense_form" model="ir.ui.view">
|
||||
<field name="name">account.analytic.account.form.expense.inherit</field>
|
||||
<field name="model">account.analytic.account</field>
|
||||
<field name="type">form</field>
|
||||
<field eval="60" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr='//tr[@name="total"]' position='before'>
|
||||
<tr>
|
||||
<td>
|
||||
<label for="charge_expenses"/>
|
||||
</td><td>
|
||||
<field name="charge_expenses"/>
|
||||
</td><td>
|
||||
<field class="oe_form_inline" name="est_expenses" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
</td><td>
|
||||
<field class="oe_form_inline" name="expense_invoiced" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
</td><td>
|
||||
<field class="oe_form_inline" name="remaining_expense" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
</td><td>
|
||||
<field class="oe_form_inline" name="expense_to_invoice" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
</td><td>
|
||||
<group>
|
||||
<button name="open_hr_expense" string="All Expenses" type="object" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
<button name="hr_to_invoice_expense" string="Expenses to Invoice" type="object" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
</group>
|
||||
</td>
|
||||
</tr>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!--<record id="project_form_expense_form" model="ir.ui.view">
|
||||
<field name="name">project.project.form.expense.inherit</field>
|
||||
<field name="model">project.project</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="analytic_contract_project.project_account_analytic_account_form"/>
|
||||
<field eval="20" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr='//div[@name="end_of_tabl_hook"]' position='before'>
|
||||
<tr>
|
||||
<th class="oe_border_right">Charge Expenses</th>
|
||||
<td><field name="charge_expenses" nolabel="1"/></td>
|
||||
<td><field class="oe_th_110px" name="est_expenses" nolabel="1" attrs="{'invisible': [('charge_expenses','=',0)]}"/></td>
|
||||
<td class="oe_th_110px"><field name="expense_invoiced" nolabel="1" attrs="{'invisible': [('charge_expenses','=',0)]}"/></td>
|
||||
<td class="oe_th_110px oe_border_right"><field name="remaining_expense" nolabel="1" attrs="{'invisible': [('charge_expenses','=',0)]}"/></td>
|
||||
<td class="oe_th_110px"><field name="expense_to_invoice" nolabel="1" attrs="{'invisible': [('charge_expenses','=',0)]}"/></td>
|
||||
<td width="10px"></td>
|
||||
<td><button icon="gtk-select-all" class= "oe_btn_width" name="open_hr_expense" string="Expenses" type="object" attrs="{'invisible': [('charge_expenses','=',0)]}"/></td>
|
||||
<td><button icon="terp-dolar" class= "oe_btn_width" name="hr_to_invoiced_expense" string="Invoice Expenses" type="object" attrs="{'invisible': [('charge_expenses','=',0)]}"/></td>
|
||||
</tr>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>-->
|
||||
</data>
|
||||
</openerp>
|
|
@ -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 analytic_contract_project
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -0,0 +1,37 @@
|
|||
# -*- 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/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
{
|
||||
"name" : "Contract On Project",
|
||||
"version": "1.1",
|
||||
"author" : "OpenERP SA",
|
||||
"website" : "http://www.openerp.com",
|
||||
"depends" : ["project", "account_analytic_analysis"],
|
||||
"description": """
|
||||
Add "Contract Data" in project view.
|
||||
""",
|
||||
"init_xml" : [],
|
||||
"update_xml": ["analytic_contract_project_view.xml"],
|
||||
'demo_xml': [],
|
||||
'installable': True,
|
||||
'auto_install': True,
|
||||
}
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -0,0 +1,83 @@
|
|||
# -*- 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 osv import fields, osv
|
||||
from tools.translate import _
|
||||
|
||||
class project_project(osv.osv):
|
||||
_inherit = 'project.project'
|
||||
|
||||
_defaults = {
|
||||
'use_timesheets': True,
|
||||
}
|
||||
|
||||
def open_sale_order_lines(self,cr,uid,ids,context=None):
|
||||
account_ids = [x.analytic_account_id.id for x in self.browse(cr, uid, ids, context=context)]
|
||||
return self.pool.get('account.analytic.account').open_sale_order_lines(cr, uid, account_ids, context=context)
|
||||
|
||||
def open_timesheets_to_invoice(self,cr,uid,ids,context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
analytic_account_id = self.browse(cr, uid, ids[0], context=context).analytic_account_id.id
|
||||
context.update({'search_default_account_id': analytic_account_id, 'default_account_id': analytic_account_id, 'search_default_to_invoice': 1})
|
||||
return {
|
||||
'type': 'ir.actions.act_window',
|
||||
'name': _('Timesheet Lines to Invoice'),
|
||||
'view_type': 'form',
|
||||
'view_mode': 'tree,form',
|
||||
'context': context,
|
||||
'domain' : [('invoice_id','=',False),('to_invoice','!=',False), ('journal_id.type', '=', 'general')],
|
||||
'res_model': 'account.analytic.line',
|
||||
'nodestroy': True,
|
||||
}
|
||||
|
||||
def open_timesheets(self, cr, uid, ids, context=None):
|
||||
""" open Timesheets view """
|
||||
project = self.browse(cr, uid, ids[0], context)
|
||||
try:
|
||||
journal_id = self.pool.get('ir.model.data').get_object(cr, uid, 'hr_timesheet', 'analytic_journal').id
|
||||
except ValueError:
|
||||
journal_id = False
|
||||
view_context = {
|
||||
'search_default_account_id': [project.analytic_account_id.id],
|
||||
'default_account_id': project.analytic_account_id.id,
|
||||
'default_journal_id': journal_id,
|
||||
}
|
||||
return {
|
||||
'type': 'ir.actions.act_window',
|
||||
'name': _('Bill Tasks Works'),
|
||||
'res_model': 'account.analytic.line',
|
||||
'view_type': 'form',
|
||||
'view_mode': 'tree,form',
|
||||
'context': view_context,
|
||||
'nodestroy': True,
|
||||
}
|
||||
project_project()
|
||||
|
||||
class task(osv.osv):
|
||||
_inherit = "project.task"
|
||||
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
task_id = super(task, self).create(cr, uid, vals, context=context)
|
||||
task_browse = self.browse(cr, uid, task_id, context=context)
|
||||
self.pool.get('account.analytic.account').message_append_note(cr, uid, [task_browse.project_id.analytic_account_id.id], body=_("Task <em>%s</em> has been <b>created</b>.") % (task_browse.name), context=context)
|
||||
return task_id
|
||||
task()
|
|
@ -0,0 +1,128 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="project_account_analytic_account_form" model="ir.ui.view">
|
||||
<field name="name">project.project.form.inherit</field>
|
||||
<field name="model">project.project</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="project.edit_project"/>
|
||||
<field eval="18" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr='//page[@name="team"]' position='after'>
|
||||
<page string="Contract Data">
|
||||
<group>
|
||||
<group string="Validity">
|
||||
<label for="date_start" string="Duration"/>
|
||||
<div name="duration">
|
||||
<field name="date_start" class="oe_inline"/> - <field name="date" class="oe_inline"/>
|
||||
</div>
|
||||
<label for="quantity_max"/>
|
||||
<div>
|
||||
<field name="quantity_max" class="oe_inline"/>
|
||||
<field name="company_uom_id" readonly="1" class="oe_inline"/> / Remaining:
|
||||
<field name="remaining_hours" class="oe_inline"/>
|
||||
<field name="company_uom_id" readonly="1" class="oe_inline"/>
|
||||
</div>
|
||||
</group>
|
||||
<group string="Invoice Options">
|
||||
<field name="manager_id" />
|
||||
<field name="pricelist_id" attrs="{'invisible': [('invoice_on_timesheets','=',0)]}"/>
|
||||
<field name="to_invoice" widget="selection" attrs="{'invisible': [('invoice_on_timesheets','=',0)]}"/>
|
||||
</group>
|
||||
</group>
|
||||
<separator name="toinvoice" string="Invoicing"/>
|
||||
<table width="100%%">
|
||||
<tr>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th><label string="Est.Tot"/></th>
|
||||
<th><label string="Invoiced"/></th>
|
||||
<th><label string="Remaining"/></th>
|
||||
<th><label string="To Invoice"/></th>
|
||||
<th></th>
|
||||
</tr><tr>
|
||||
<td>
|
||||
<label for="fix_price_invoices"/>
|
||||
</td><td>
|
||||
<field name="fix_price_invoices" class="oe_inline"/>
|
||||
</td><td>
|
||||
<field class="oe_inline" name="amount_max" attrs="{'invisible': [('fix_price_invoices','=',False)]}"/>
|
||||
</td><td>
|
||||
<field class="oe_inline" name="ca_invoiced" attrs="{'invisible': [('fix_price_invoices','=',False)]}"/>
|
||||
</td><td>
|
||||
<field class="oe_inline" name="remaining_ca" attrs="{'invisible': [('fix_price_invoices','=',False)]}"/>
|
||||
</td><td>
|
||||
<field class="oe_inline" name="fix_price_to_invoice" attrs="{'invisible': [('fix_price_invoices','=',False)]}"/>
|
||||
</td><td>
|
||||
<button name="%(account_analytic_analysis.action_sales_order)d" string="All Sales" type="action" context="{'default_partner_id': [partner_id], 'search_default_partner_id': [partner_id], 'default_project_id': analytic_account_id, 'search_default_project_id': analytic_account_id}" attrs="{'invisible': [('fix_price_invoices','=',False)]}"/>
|
||||
<button name="open_sale_order_lines" string="Lines To Invoice" type="object" context="{'default_partner_id': [partner_id],'default_project_id': analytic_account_id,'search_default_uninvoiced': 1,'search_default_project_id': analytic_account_id,'search_default_partner_id': [partner_id]}" attrs="{'invisible': [('fix_price_invoices','=',False)]}"/></td>
|
||||
</tr><tr attrs="{'invisible':[('use_timesheets','=',False)]}">
|
||||
<td>
|
||||
<label for="invoice_on_timesheets"/>
|
||||
</td><td>
|
||||
<field name="invoice_on_timesheets"/>
|
||||
</td><td>
|
||||
<field class="oe_inline" name="hours_qtt_est" attrs="{'invisible': [('invoice_on_timesheets','=',False)]}"/>
|
||||
</td><td>
|
||||
<field class="oe_inline" name="timesheet_ca_invoiced" attrs="{'invisible': [('invoice_on_timesheets','=',False)]}"/>
|
||||
</td><td>
|
||||
<field class="oe_inline" name="remaining_hours_to_invoice" attrs="{'invisible': [('invoice_on_timesheets','=',False)]}"/>
|
||||
</td><td>
|
||||
<field class="oe_inline" name="ca_to_invoice" attrs="{'invisible': [('fix_price_invoices','=',False)]}"/>
|
||||
</td><td>
|
||||
<button name="%(hr_timesheet.act_hr_timesheet_line_evry1_all_form)d" string="All Timesheets" type="action" attrs="{'invisible': [('invoice_on_timesheets','=',False)]}" context="{'default_account_id': analytic_account_id,'search_default_account_id': analytic_account_id}"/>
|
||||
<button name="open_timesheets_to_invoice" string="Timesheets to Invoice" type="object" attrs="{'invisible': [('invoice_on_timesheets','=',False)]}"/>
|
||||
</td>
|
||||
</tr><tr name="total">
|
||||
<th>
|
||||
<label string="Total"/>
|
||||
</th><td>
|
||||
</td><td>
|
||||
<field name="est_total" class="oe_inline" attrs="{'invisible': [('invoice_on_timesheets','=',False)]}"/>
|
||||
</td><td>
|
||||
<field name="invoiced_total" class="oe_inline"/>
|
||||
</td><td>
|
||||
<field name="remaining_total" class="oe_inline"/>
|
||||
</td><td>
|
||||
<field name="toinvoice_total" class="oe_inline"/>
|
||||
</td><td>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<separator string="Terms and Conditions" name="description"/>
|
||||
<field name="description"/>
|
||||
</page>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="project_invoice_form" model="ir.ui.view">
|
||||
<field name="name">Inherit project form : Invoicing Data</field>
|
||||
<field name="model">project.project</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="project.edit_project"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr='//tr[@name="use_tasks_row"]' position='after'>
|
||||
<tr>
|
||||
<td><group><field name="use_timesheets"/></group></td>
|
||||
<td><button icon="terp-gtk-go-back-rtl" name="open_timesheets" string="Timesheets" type="object" attrs="{'invisible':[('use_timesheets','=', 0)]}"/></td>
|
||||
</tr>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="contract_inherited_form" model="ir.ui.view">
|
||||
<field name="name">Inherit contract form : adding UoM</field>
|
||||
<field name="model">account.analytic.account</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="analytic.view_account_analytic_account_form"/>
|
||||
<field name="priority">50</field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr='//field[@name="remaining_hours"]' position='after'>
|
||||
<field name="company_uom_id" readonly="1" class="oe_inline"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
|
@ -1,121 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import fields,osv
|
||||
|
||||
class analytic_journal_rate_grid(osv.osv):
|
||||
|
||||
_name="analytic_journal_rate_grid"
|
||||
_description= "Relation table between journals and billing rates"
|
||||
_columns={
|
||||
'journal_id': fields.many2one('account.analytic.journal', 'Analytic Journal', required=True,),
|
||||
'account_id': fields.many2one("account.analytic.account", "Analytic Account", required=True,),
|
||||
'rate_id': fields.many2one("hr_timesheet_invoice.factor", "Invoicing Rate",),
|
||||
}
|
||||
|
||||
analytic_journal_rate_grid()
|
||||
|
||||
class account_analytic_account(osv.osv):
|
||||
|
||||
_inherit = "account.analytic.account"
|
||||
_columns = {
|
||||
'journal_rate_ids': fields.one2many('analytic_journal_rate_grid', 'account_id', 'Invoicing Rate per Journal'),
|
||||
}
|
||||
|
||||
account_analytic_account()
|
||||
|
||||
class hr_analytic_timesheet(osv.osv):
|
||||
|
||||
_inherit = "hr.analytic.timesheet"
|
||||
|
||||
|
||||
def on_change_account_id(self, cr, uid, ids, account_id, user_id=False, unit_amount=0, journal_id=0):
|
||||
res = {}
|
||||
if not (account_id):
|
||||
#avoid a useless call to super
|
||||
return res
|
||||
|
||||
if not (journal_id):
|
||||
return super(hr_analytic_timesheet, self).on_change_account_id(cr, uid, ids,account_id, user_id, unit_amount)
|
||||
|
||||
#get the browse record related to journal_id and account_id
|
||||
temp = self.pool.get('analytic_journal_rate_grid').search(cr, uid, [('journal_id', '=', journal_id),('account_id', '=', account_id) ])
|
||||
|
||||
if not temp:
|
||||
#if there isn't any record for this journal_id and account_id
|
||||
return super(hr_analytic_timesheet, self).on_change_account_id(cr, uid, ids,account_id,user_id, unit_amount)
|
||||
else:
|
||||
#get the old values from super and add the value from the new relation analytic_journal_rate_grid
|
||||
r = self.pool.get('analytic_journal_rate_grid').browse(cr, uid, temp)[0]
|
||||
res.setdefault('value',{})
|
||||
res['value']= super(hr_analytic_timesheet, self).on_change_account_id(cr, uid, ids, account_id, user_id, unit_amount)['value']
|
||||
if r.rate_id.id:
|
||||
res['value']['to_invoice'] = r.rate_id.id
|
||||
|
||||
return res
|
||||
|
||||
|
||||
def on_change_journal_id(self, cr, uid, ids, journal_id, account_id):
|
||||
res = {}
|
||||
if not (journal_id and account_id):
|
||||
return res
|
||||
|
||||
#get the browse record related to journal_id and account_id
|
||||
temp = self.pool.get('analytic_journal_rate_grid').search(cr, uid, [('journal_id', '=', journal_id),('account_id', '=', account_id) ])
|
||||
if temp:
|
||||
#add the value from the new relation analytic_user_funct_grid
|
||||
r = self.pool.get('analytic_journal_rate_grid').browse(cr, uid, temp)[0]
|
||||
res.setdefault('value',{})
|
||||
if r.rate_id.id:
|
||||
res['value']['to_invoice'] = r.rate_id.id
|
||||
return res
|
||||
to_invoice = self.pool.get('account.analytic.account').read(cr, uid, [account_id], ['to_invoice'])[0]['to_invoice']
|
||||
if to_invoice:
|
||||
res.setdefault('value',{})
|
||||
res['value']['to_invoice'] = to_invoice[0]
|
||||
|
||||
return res
|
||||
|
||||
hr_analytic_timesheet()
|
||||
|
||||
|
||||
class account_invoice(osv.osv):
|
||||
_inherit = "account.invoice"
|
||||
|
||||
def _get_analytic_lines(self, cr, uid, id, context=None):
|
||||
iml = super(account_invoice, self)._get_analytic_lines(cr, uid, id, context=context)
|
||||
for il in iml:
|
||||
if il['account_analytic_id'] and il.get('analytic_lines', False):
|
||||
|
||||
#get the browse record related to journal_id and account_id
|
||||
journal_id = il['analytic_lines'][0][2]['journal_id']
|
||||
account_id = il['analytic_lines'][0][2]['account_id']
|
||||
if journal_id and account_id:
|
||||
temp = self.pool.get('analytic_journal_rate_grid').search(cr, uid, [('journal_id', '=', journal_id),('account_id', '=', account_id)], context=context)
|
||||
|
||||
if temp:
|
||||
r = self.pool.get('analytic_journal_rate_grid').browse(cr, uid, temp, context=context)[0]
|
||||
il['analytic_lines'][0][2]['to_invoice'] = r.rate_id.id
|
||||
return iml
|
||||
|
||||
account_invoice()
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
@ -1,82 +0,0 @@
|
|||
<?xml version="1.0" ?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- analytic_journal_rate_grid views -->
|
||||
<record model="ir.ui.view" id="analytic_journal_rate_grid_tree">
|
||||
<field name="name">analytic_journal_rate_grid.tree</field>
|
||||
<field name="model">analytic_journal_rate_grid</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Billing Rate per Journal for this Analytic Account" editable="bottom">
|
||||
<field name="journal_id" required="1"/>
|
||||
<field name="rate_id" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="analytic_journal_rate_grid_form">
|
||||
<field name="name">analytic_journal_rate_grid.form</field>
|
||||
<field name="model">analytic_journal_rate_grid</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Billing Rate per Journal for this Analytic Account">
|
||||
<field name="journal_id" required="1"/>
|
||||
<field name="rate_id" />
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- account.analytic.account inherited view -->
|
||||
<record model="ir.ui.view" id="view_account_analytic_account_form_inherit">
|
||||
<field name="name">account.analytic.account.form</field>
|
||||
<field name="model">account.analytic.account</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="hr_timesheet_invoice.account_analytic_account_form_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='to_invoice']" position="after">
|
||||
<field name="journal_rate_ids" nolabel="1" colspan="4"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- hr_timesheet_sheet.sheet inherited view -->
|
||||
<record model="ir.ui.view" id="hr_timesheet_sheet_form_inherit">
|
||||
<field name="name">hr.timesheet.sheet.form</field>
|
||||
<field name="model">hr_timesheet_sheet.sheet</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="hr_timesheet_sheet.hr_timesheet_sheet_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/sheet/notebook/page/field[@name='timesheet_ids']/tree/field[@name='account_id']" position="replace">
|
||||
<field name="account_id" domain="[('type','=','normal'),('state', '<>', 'close')]" on_change="on_change_account_id(account_id, user_id, unit_amount, journal_id)"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- hr.analytic.timesheet inherited views -->
|
||||
<record model="ir.ui.view" id="hr_timesheet_line_form_inherit">
|
||||
<field name="name">hr.analytic.timesheet.form</field>
|
||||
<field name="model">hr.analytic.timesheet</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="hr_timesheet.hr_timesheet_line_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//page[@string='Information']//field[@name='account_id']" position="replace">
|
||||
<field name="account_id" domain="[('type','=','normal'),('state', '<>', 'close')]" on_change="on_change_account_id(account_id, user_id, unit_amount, journal_id)" select="1"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="hr_timesheet_line_form_inherit_2">
|
||||
<field name="name">hr.analytic.timesheet.form</field>
|
||||
<field name="model">hr.analytic.timesheet</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="hr_timesheet.hr_timesheet_line_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//page[@string='Information']//field[@name='journal_id']" position="replace">
|
||||
<field name="journal_id" select="1" required="1" on_change="on_change_journal_id(journal_id, account_id)"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
|
@ -1,78 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic_journal_billing_rate
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.1rc1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2012-02-08 00:35+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr ""
|
||||
|
|
@ -1,89 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic_journal_billing_rate
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2012-01-05 20:55+0000\n"
|
||||
"Last-Translator: kifcaliph <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "يومية تحليلية"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "قيمة الفواتير لكل يومية للحساب التحليلي هذا"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "حساب تحليلي"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "جدول العلاقة بين اليوميات ومعدلات الفواتير"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr "قيمة الفاتورة لكل يومية"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "فاتورة"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr "قيمة الفاتورة"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr "خطأ! لا يمكنك إنشاء حسابات تحليلية متكررة."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr "خط سجل الدوام"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Error! The currency has to be the same as the currency of the selected "
|
||||
#~ "company"
|
||||
#~ msgstr "خطأ! العملة لابد و أن تكون مثل العملة للشركة المختارة"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Analytic Journal Billing Rate, Define the default invoicing rate for a "
|
||||
#~ "specific journal"
|
||||
#~ msgstr ""
|
||||
#~ "القيم التحليلية للفواتير اليومية, حدد قيمة الفاتورة الافتراضية ليومية محددة"
|
|
@ -1,93 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic_journal_billing_rate
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2011-03-01 20:24+0000\n"
|
||||
"Last-Translator: Dimitar Markov <dimitar.markov@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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Аналитичен дневник"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Аналитична сметка"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Фактура"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr "Грешка! Не можете да създавате рекурсивни аналитични сметки."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr "Ред в графика"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "Невалиден XML за преглед на архитектурата"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
#~ msgstr ""
|
||||
#~ "Името на обекта трябва да започва с \"x_\" и да не съдържа никакви специални "
|
||||
#~ "символи!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Error! The currency has to be the same as the currency of the selected "
|
||||
#~ "company"
|
||||
#~ msgstr ""
|
||||
#~ "Грешка! Валутата трябва да бъде същата като валутата на избраната компания"
|
|
@ -1,86 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic_journal_billing_rate
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2010-08-03 00:19+0000\n"
|
||||
"Last-Translator: Mantavya Gajjar (Open ERP) <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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Analitička knjiženja"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "Cijana naplate po knjiženju za ovo Analitičko konto"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Analitičko konto"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "Tabela relacija između knjiženja i cijene naplate"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr "Cijena po knjiženju"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "Neodgovarajući XML za arhitekturu prikaza!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
#~ msgstr ""
|
||||
#~ "Naziv objekta mora počinjati sa x_ i ne smije sadržavati specijalne znakove!"
|
|
@ -1,133 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic_journal_billing_rate
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2009-09-29 06:30+0000\n"
|
||||
"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
|
||||
"<jesteve@zikzakmedia.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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Diari analític"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "Taxa de facturació per diari per aquesta compte analítica"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Compte analític"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "Taula de relació entre diaris i taxes de facturació"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr "Taxa de facturació per diari"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Factura"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr "Taxa de facturació"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr "Error! No podeu crear comptes analítics recursius."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr "Línia del full de serveis"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "XML invàlid per a la definició de la vista!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
#~ msgstr ""
|
||||
#~ "El nom de l'objecte ha de començar amb x_ i no contenir cap caràcter "
|
||||
#~ "especial!"
|
||||
|
||||
#~ msgid "Analytic Journal Billing Rate"
|
||||
#~ msgstr "Rati facturació diari analític"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Error! The currency has to be the same as the currency of the selected "
|
||||
#~ "company"
|
||||
#~ msgstr ""
|
||||
#~ "Error! La moneda ha de ser la mateixa que la moneda de la companyia "
|
||||
#~ "seleccionada"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Analytic Journal Billing Rate, Define the default invoicing rate for a "
|
||||
#~ "specific journal"
|
||||
#~ msgstr ""
|
||||
#~ "Taxa de facturació d'un diari analític. Defineix la taxa de facturació per "
|
||||
#~ "defecte per a un diari en concret."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to define what is the default invoicing rate for "
|
||||
#~ "a specific journal on a given account. This is mostly used when a user "
|
||||
#~ "encodes his timesheet: the values are retrieved and the fields are auto-"
|
||||
#~ "filled... but the possibility to change these values is still available.\n"
|
||||
#~ "\n"
|
||||
#~ " Obviously if no data has been recorded for the current account, the "
|
||||
#~ "default value is given as usual by the account data so that this module is "
|
||||
#~ "perfectly compatible with older configurations.\n"
|
||||
#~ "\n"
|
||||
#~ " "
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "\n"
|
||||
#~ " Aquest mòdul us permet definir el percentatge de facturació per a un "
|
||||
#~ "cert diari en un compte donat. S'utilitza principalment quan un usuari "
|
||||
#~ "codifica el seu full de serveis: els valors són recuperats i els camps són "
|
||||
#~ "auto emplenats tot i que la possibilitat de canviar-los està encara "
|
||||
#~ "disponible.\n"
|
||||
#~ "\n"
|
||||
#~ "Òbviament si no s'ha guardat dades per al compte actual, es proporciona el "
|
||||
#~ "valor per defecte per a les dades del compte com sempre, pel que aquest "
|
||||
#~ "mòdul és perfectament compatible amb configuracions anteriors.\n"
|
||||
#~ "\n"
|
||||
#~ " "
|
|
@ -1,78 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic_journal_billing_rate
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2009-02-03 06:24+0000\n"
|
||||
"Last-Translator: <>\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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr ""
|
|
@ -1,79 +0,0 @@
|
|||
# Danish translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2011-11-09 21:41+0000\n"
|
||||
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
|
||||
"Language-Team: Danish <da@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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Faktura"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr ""
|
|
@ -1,133 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic_journal_billing_rate
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2012-01-13 19:15+0000\n"
|
||||
"Last-Translator: Ferdinand @ Camptocamp <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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr "Die Rechnungsnummer muss je Firma eindeutig sein"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Analytisches Journal"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr "ungültige BBA Kommunikations Stuktur"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "Abrechnungsquote nach Journal"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Analytisches Konto"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "Relation zwischen Journal und Abrechnungsquote"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr "Abrechnungsquote nach Journal"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Rechnung"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
"Bestätigte und abgerechnete Zeitaufzeichungen können nicht geändert werden"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr "Abrechnungsquote"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr "Fehler ! Sie können keine rekursiven Analytische Konten definieren."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr "Zeiterfassung Positionen"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "Fehlerhafter xml Code für diese Ansicht!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
#~ msgstr ""
|
||||
#~ "Der Objekt Name muss mit einem x_ starten und darf keine Sonderzeichen "
|
||||
#~ "beinhalten"
|
||||
|
||||
#~ msgid "Analytic Journal Billing Rate"
|
||||
#~ msgstr "Analytisches Journal Verrechnungssatz"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Analytic Journal Billing Rate, Define the default invoicing rate for a "
|
||||
#~ "specific journal"
|
||||
#~ msgstr ""
|
||||
#~ "Abrechnungsquote für analytische Buchungen. Definieren Sie einen "
|
||||
#~ "Standardwert je spezifiziertem Journal."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Error! The currency has to be the same as the currency of the selected "
|
||||
#~ "company"
|
||||
#~ msgstr "Fehler! Die Währung muss der Währung der gewählten Firma entsprechen"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to define what is the default invoicing rate for "
|
||||
#~ "a specific journal on a given account. This is mostly used when a user "
|
||||
#~ "encodes his timesheet: the values are retrieved and the fields are auto-"
|
||||
#~ "filled... but the possibility to change these values is still available.\n"
|
||||
#~ "\n"
|
||||
#~ " Obviously if no data has been recorded for the current account, the "
|
||||
#~ "default value is given as usual by the account data so that this module is "
|
||||
#~ "perfectly compatible with older configurations.\n"
|
||||
#~ "\n"
|
||||
#~ " "
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "\n"
|
||||
#~ " Diese Anwendung ermöglicht Ihnen die Definition einer Standard "
|
||||
#~ "Abrechnungsquote für ein analytisches Konto bei Buchung im Kontext eines "
|
||||
#~ "bestimmten Journals. Angewendet wird die Abrechnungsquote meistens, wenn ein "
|
||||
#~ "Benutzer seine Zeiterfassung auf bestimmte Konten vornimmt. Dabei werden "
|
||||
#~ "dann die Konten und Beträge automatisch vorausgefüllt, mit der Möglichkeit "
|
||||
#~ "diese\n"
|
||||
#~ "individuell anzupassen.\n"
|
||||
#~ "\n"
|
||||
#~ " Wenn keine Konfiguration bei der Eingabe eines Kontos gefunden wird, "
|
||||
#~ "würde weiterhin der Standardwert des Kontos verwendet, so dass dieses Modul "
|
||||
#~ "gleichzeitig kompatibel mit älteren Konfigurationseinstellungen ist.\n"
|
||||
#~ "\n"
|
||||
#~ " "
|
|
@ -1,92 +0,0 @@
|
|||
# Greek translation for openobject-addons
|
||||
# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2010-12-29 10:33+0000\n"
|
||||
"Last-Translator: Dimitris Andavoglou <dimitrisand@gmail.com>\n"
|
||||
"Language-Team: Greek <el@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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Ημερολόγιο Αναλυτικής"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr ""
|
||||
"Ποσοστό Τιμολόγησης ανα Ημερολόγιο για αυτόν τον Αναλυτικό Λογαριασμό"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Αναλυτικός Λογαριασμός"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "Πίνακας σχέσεων μεταξύ ημερολογίων και ποσοστών χρέωσης"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr "Ποσό Τιμολόγησης ανα Ημερολόγιο"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Τιμολόγιο"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr "Ποσό Τιμολόγησης"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr "Γραμμή Φύλλου Xρόνου Eργασίας"
|
||||
|
||||
#~ msgid "Analytic Journal Billing Rate"
|
||||
#~ msgstr "Ποσό Τιμολόγησης Ημερολόγιου Αναλυτικής"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "Άκυρο XML για Αρχιτεκτονική Όψης!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
#~ msgstr ""
|
||||
#~ "Το όνομα του αντικειμένου θα πρέπει να ξεκινάει με x_ και να μην περιέχει "
|
||||
#~ "ειδικούς χαρακτήρες!"
|
|
@ -1,130 +0,0 @@
|
|||
# English (United Kingdom) translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2012-01-23 13:36+0000\n"
|
||||
"Last-Translator: mrx5682 <Unknown>\n"
|
||||
"Language-Team: English (United Kingdom) <en_GB@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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr "Invoice Number must be unique per Company!"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Analytic Journal"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr "Invalid BBA Structured Communication !"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "Billing Rate per Journal for this Analytic Account"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Analytic Account"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "Relation table between journals and billing rates"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr "Invoicing Rate per Journal"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Invoice"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr "Invoicing Rate"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr "Error! You can not create recursive analytic accounts."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr "Timesheet Line"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Error! The currency has to be the same as the currency of the selected "
|
||||
#~ "company"
|
||||
#~ msgstr ""
|
||||
#~ "Error! The currency has to be the same as that of the selected company"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to define what is the default invoicing rate for "
|
||||
#~ "a specific journal on a given account. This is mostly used when a user "
|
||||
#~ "encodes his timesheet: the values are retrieved and the fields are auto-"
|
||||
#~ "filled... but the possibility to change these values is still available.\n"
|
||||
#~ "\n"
|
||||
#~ " Obviously if no data has been recorded for the current account, the "
|
||||
#~ "default value is given as usual by the account data so that this module is "
|
||||
#~ "perfectly compatible with older configurations.\n"
|
||||
#~ "\n"
|
||||
#~ " "
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to define the default invoicing rate for a "
|
||||
#~ "specific journal on a given account. This is mostly used when a user encodes "
|
||||
#~ "their timesheet: the values are retrieved and the fields are auto-filled... "
|
||||
#~ "but the possibility to change these values is still available.\n"
|
||||
#~ "\n"
|
||||
#~ " Obviously if no data has been recorded for the current account, the "
|
||||
#~ "default value is given by the account data so that this module is perfectly "
|
||||
#~ "compatible with older configurations.\n"
|
||||
#~ "\n"
|
||||
#~ " "
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Analytic Journal Billing Rate, Define the default invoicing rate for a "
|
||||
#~ "specific journal"
|
||||
#~ msgstr ""
|
||||
#~ "Analytic Journal Billing Rate, Define the default invoicing rate for a "
|
||||
#~ "specific journal"
|
||||
|
||||
#~ msgid "Analytic Journal Billing Rate"
|
||||
#~ msgstr "Analytic Journal Billing Rate"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
#~ msgstr ""
|
||||
#~ "The Object name must start with x_ and not contain any special characters!"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "Invalid XML for View Architecture!"
|
|
@ -1,133 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic_journal_billing_rate
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2011-01-11 10:47+0000\n"
|
||||
"Last-Translator: Borja López Soilán (NeoPolus) <borjalopezsoilan@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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Diario analítico"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "Tasa de facturación por diario para esta cuenta analítica"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Cuenta analítica"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "Tabla de relación entre diarios y tasas de facturación"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr "Tasa de facturación por diario"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Factura"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr "Tasa de facturación"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr "¡Error! No puede crear cuentas analíticas recursivas."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr "Línea hoja de servicios"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "¡XML inválido para la definición de la vista!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
#~ msgstr ""
|
||||
#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter "
|
||||
#~ "especial!"
|
||||
|
||||
#~ msgid "Analytic Journal Billing Rate"
|
||||
#~ msgstr "Tasa facturación diario analítico"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to define what is the default invoicing rate for "
|
||||
#~ "a specific journal on a given account. This is mostly used when a user "
|
||||
#~ "encodes his timesheet: the values are retrieved and the fields are auto-"
|
||||
#~ "filled... but the possibility to change these values is still available.\n"
|
||||
#~ "\n"
|
||||
#~ " Obviously if no data has been recorded for the current account, the "
|
||||
#~ "default value is given as usual by the account data so that this module is "
|
||||
#~ "perfectly compatible with older configurations.\n"
|
||||
#~ "\n"
|
||||
#~ " "
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "\n"
|
||||
#~ " Este módulo le permite definir el porcentaje de facturación para un "
|
||||
#~ "cierto diario en una cuenta dada. Se utiliza principalmente cuando un "
|
||||
#~ "usuario codifica su hoja de servicios: los valores son recuperados y los "
|
||||
#~ "campos son auto rellenados aunque la posibilidad de cambiar estos valores "
|
||||
#~ "está todavía disponible.\n"
|
||||
#~ "\n"
|
||||
#~ " Obviamente si no se ha guardado datos para la cuenta actual, se "
|
||||
#~ "proporciona el valor por defecto para los datos de la cuenta como siempre "
|
||||
#~ "por lo que este módulo es perfectamente compatible con configuraciones "
|
||||
#~ "anteriores.\n"
|
||||
#~ "\n"
|
||||
#~ " "
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Error! The currency has to be the same as the currency of the selected "
|
||||
#~ "company"
|
||||
#~ msgstr ""
|
||||
#~ "¡Error! La divisa tiene que ser la misma que la establecida en la compañía "
|
||||
#~ "seleccionada"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Analytic Journal Billing Rate, Define the default invoicing rate for a "
|
||||
#~ "specific journal"
|
||||
#~ msgstr ""
|
||||
#~ "Tasa de facturación de un diario analítico. Define la tasa de facturación "
|
||||
#~ "por defecto para un diario en concreto."
|
|
@ -1,90 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic_journal_billing_rate
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2009-09-14 18:33+0000\n"
|
||||
"Last-Translator: Silvana Herrera <sherrera@thymbra.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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Libro Diario analítico"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "Tasa de facturación por libro diario para esta cuenta analítica"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Cuenta Analítica"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "Tabla de relación entre libros diarios y tasas de facturación"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr "Tasa de facturación por libro diario"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr "Tasa de facturación"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Analytic Journal Billing Rate"
|
||||
#~ msgstr "Tasa facturación del libro diario analítico"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "XML inválido para la definición de la vista!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
#~ msgstr ""
|
||||
#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún caracter "
|
||||
#~ "especial!"
|
|
@ -1,136 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic_journal_billing_rate
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2012-02-15 15:53+0000\n"
|
||||
"Last-Translator: Freddy Gonzalez <freddy.gonzalez@clearcorp.co.cr>\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-02-16 05:06+0000\n"
|
||||
"X-Generator: Launchpad (build 14781)\n"
|
||||
"Language: \n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr "¡El número de factura debe ser único por compañía!"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Diario analítico"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr "¡Estructura de comunicación BBA no válida!"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "Tasa de facturación por diario para esta cuenta analítica"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Cuenta analítica"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "Tabla de relación entre diarios y tasas de facturación"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr "Tasa de facturación por diario"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Factura"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
"No se puede modificar una entrada en un parte de horas Confirmado / ¡Ya "
|
||||
"está!."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr "Tasa de facturación"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr "¡Error! No puede crear cuentas analíticas recursivas."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr "Línea hoja de servicios"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "¡XML inválido para la definición de la vista!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
#~ msgstr ""
|
||||
#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter "
|
||||
#~ "especial!"
|
||||
|
||||
#~ msgid "Analytic Journal Billing Rate"
|
||||
#~ msgstr "Tasa facturación diario analítico"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to define what is the default invoicing rate for "
|
||||
#~ "a specific journal on a given account. This is mostly used when a user "
|
||||
#~ "encodes his timesheet: the values are retrieved and the fields are auto-"
|
||||
#~ "filled... but the possibility to change these values is still available.\n"
|
||||
#~ "\n"
|
||||
#~ " Obviously if no data has been recorded for the current account, the "
|
||||
#~ "default value is given as usual by the account data so that this module is "
|
||||
#~ "perfectly compatible with older configurations.\n"
|
||||
#~ "\n"
|
||||
#~ " "
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "\n"
|
||||
#~ " Este módulo le permite definir el porcentaje de facturación para un "
|
||||
#~ "cierto diario en una cuenta dada. Se utiliza principalmente cuando un "
|
||||
#~ "usuario codifica su hoja de servicios: los valores son recuperados y los "
|
||||
#~ "campos son auto rellenados aunque la posibilidad de cambiar estos valores "
|
||||
#~ "está todavía disponible.\n"
|
||||
#~ "\n"
|
||||
#~ " Obviamente si no se ha guardado datos para la cuenta actual, se "
|
||||
#~ "proporciona el valor por defecto para los datos de la cuenta como siempre "
|
||||
#~ "por lo que este módulo es perfectamente compatible con configuraciones "
|
||||
#~ "anteriores.\n"
|
||||
#~ "\n"
|
||||
#~ " "
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Error! The currency has to be the same as the currency of the selected "
|
||||
#~ "company"
|
||||
#~ msgstr ""
|
||||
#~ "¡Error! La divisa tiene que ser la misma que la establecida en la compañía "
|
||||
#~ "seleccionada"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Analytic Journal Billing Rate, Define the default invoicing rate for a "
|
||||
#~ "specific journal"
|
||||
#~ msgstr ""
|
||||
#~ "Tasa de facturación de un diario analítico. Define la tasa de facturación "
|
||||
#~ "por defecto para un diario en concreto."
|
|
@ -1,133 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic_journal_billing_rate
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2011-01-13 03:51+0000\n"
|
||||
"Last-Translator: Cristian Salamea (Gnuthink) <ovnicraft@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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Diario analítico"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "Tasa de facturación por diario para esta cuenta analítica"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Cuenta analítica"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "Tabla de relación entre diarios y tasas de facturación"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr "Tasa de facturación por diario"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Factura"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr "Tasa de facturación"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr "¡Error! No puede crear cuentas analíticas recursivas."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr "Línea hoja de servicios"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "¡XML inválido para la definición de la vista!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
#~ msgstr ""
|
||||
#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter "
|
||||
#~ "especial!"
|
||||
|
||||
#~ msgid "Analytic Journal Billing Rate"
|
||||
#~ msgstr "Tasa facturación diario analítico"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Analytic Journal Billing Rate, Define the default invoicing rate for a "
|
||||
#~ "specific journal"
|
||||
#~ msgstr ""
|
||||
#~ "Tasa de facturación diario analítico. Define la tasa de facturación por "
|
||||
#~ "defecto para un diario en concreto."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Error! The currency has to be the same as the currency of the selected "
|
||||
#~ "company"
|
||||
#~ msgstr ""
|
||||
#~ "¡Error! La divisa tiene que ser la misma que la establecida en la compañía "
|
||||
#~ "seleccionada"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to define what is the default invoicing rate for "
|
||||
#~ "a specific journal on a given account. This is mostly used when a user "
|
||||
#~ "encodes his timesheet: the values are retrieved and the fields are auto-"
|
||||
#~ "filled... but the possibility to change these values is still available.\n"
|
||||
#~ "\n"
|
||||
#~ " Obviously if no data has been recorded for the current account, the "
|
||||
#~ "default value is given as usual by the account data so that this module is "
|
||||
#~ "perfectly compatible with older configurations.\n"
|
||||
#~ "\n"
|
||||
#~ " "
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "\n"
|
||||
#~ " Este módulo le permite definir el porcentaje de facturación para un "
|
||||
#~ "cierto diario en una cuenta dada. Se utiliza principalmente cuando un "
|
||||
#~ "usuario codifica su hoja de servicios: los valores son recuperados y los "
|
||||
#~ "campos son auto rellenados aunque la posibilidad de cambiar estos valores "
|
||||
#~ "está todavía disponible.\n"
|
||||
#~ "\n"
|
||||
#~ " Obviamente si no se ha guardado datos para la cuenta actual, se "
|
||||
#~ "proporciona el valor por defecto para los datos de la cuenta como siempre "
|
||||
#~ "por lo que este módulo es perfectamente compatible con configuraciones "
|
||||
#~ "anteriores.\n"
|
||||
#~ "\n"
|
||||
#~ " "
|
|
@ -1,124 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic_journal_billing_rate
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-03 16:56+0000\n"
|
||||
"PO-Revision-Date: 2011-01-11 10:47+0000\n"
|
||||
"Last-Translator: Borja López Soilán (NeoPolus) <borjalopezsoilan@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: 2011-09-05 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 13830)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.module.module,description:analytic_journal_billing_rate.module_meta_information
|
||||
msgid ""
|
||||
"\n"
|
||||
"\n"
|
||||
" This module allows you to define what is the default invoicing rate for "
|
||||
"a specific journal on a given account. This is mostly used when a user "
|
||||
"encodes his timesheet: the values are retrieved and the fields are auto-"
|
||||
"filled... but the possibility to change these values is still available.\n"
|
||||
"\n"
|
||||
" Obviously if no data has been recorded for the current account, the "
|
||||
"default value is given as usual by the account data so that this module is "
|
||||
"perfectly compatible with older configurations.\n"
|
||||
"\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"\n"
|
||||
" Este módulo le permite definir el porcentaje de facturación para un "
|
||||
"cierto diario en una cuenta dada. Se utiliza principalmente cuando un "
|
||||
"usuario codifica su hoja de servicios: los valores son recuperados y los "
|
||||
"campos son auto rellenados aunque la posibilidad de cambiar estos valores "
|
||||
"está todavía disponible.\n"
|
||||
"\n"
|
||||
" Obviamente si no se ha guardado datos para la cuenta actual, se "
|
||||
"proporciona el valor por defecto para los datos de la cuenta como siempre "
|
||||
"por lo que este módulo es perfectamente compatible con configuraciones "
|
||||
"anteriores.\n"
|
||||
"\n"
|
||||
" "
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Diario analítico"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Factura"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "Tasa de facturación por diario para esta cuenta analítica"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Cuenta analítica"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "Tabla de relación entre diarios y tasas de facturación"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr "Tasa de facturación por diario"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.module.module,shortdesc:analytic_journal_billing_rate.module_meta_information
|
||||
msgid ""
|
||||
"Analytic Journal Billing Rate, Define the default invoicing rate for a "
|
||||
"specific journal"
|
||||
msgstr ""
|
||||
"Tasa de facturación de un diario analítico. Define la tasa de facturación "
|
||||
"por defecto para un diario en concreto."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid ""
|
||||
"Error! The currency has to be the same as the currency of the selected "
|
||||
"company"
|
||||
msgstr ""
|
||||
"¡Error! La divisa tiene que ser la misma que la establecida en la compañía "
|
||||
"seleccionada"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr "Tasa de facturación"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr "¡Error! No puede crear cuentas analíticas recursivas."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr "Línea hoja de servicios"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "¡XML inválido para la definición de la vista!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
#~ msgstr ""
|
||||
#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter "
|
||||
#~ "especial!"
|
||||
|
||||
#~ msgid "Analytic Journal Billing Rate"
|
||||
#~ msgstr "Tasa facturación diario analítico"
|
|
@ -1,121 +0,0 @@
|
|||
# Spanish (Paraguay) translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2011-03-07 23:16+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Spanish (Paraguay) <es_PY@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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Diario analítico"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "Tasa de facturación por diario para esta cuenta analítica"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Cuenta Analítica"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "Tabla de relación entre diarios y tasas de facturación"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr "Tasa de facturación por diario"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Factura"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr "Tasa de facturación"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr "¡Error! No puede crear cuentas analíticas recursivas."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr "Línea hoja de servicios"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Analytic Journal Billing Rate, Define the default invoicing rate for a "
|
||||
#~ "specific journal"
|
||||
#~ msgstr ""
|
||||
#~ "Tasa de facturación diario analítico. Define la tasa de facturación por "
|
||||
#~ "defecto para un diario en concreto."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Error! The currency has to be the same as the currency of the selected "
|
||||
#~ "company"
|
||||
#~ msgstr ""
|
||||
#~ "¡Error! La moneda debe ser la misma que la moneda de la compañía seleccionada"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to define what is the default invoicing rate for "
|
||||
#~ "a specific journal on a given account. This is mostly used when a user "
|
||||
#~ "encodes his timesheet: the values are retrieved and the fields are auto-"
|
||||
#~ "filled... but the possibility to change these values is still available.\n"
|
||||
#~ "\n"
|
||||
#~ " Obviously if no data has been recorded for the current account, the "
|
||||
#~ "default value is given as usual by the account data so that this module is "
|
||||
#~ "perfectly compatible with older configurations.\n"
|
||||
#~ "\n"
|
||||
#~ " "
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "\n"
|
||||
#~ " Este módulo le permite definir el porcentaje de facturación para un "
|
||||
#~ "cierto diario en una cuenta dada. Se utiliza principalmente cuando un "
|
||||
#~ "usuario codifica su hoja de servicios: los valores son recuperados y los "
|
||||
#~ "campos son auto rellenados aunque la posibilidad de cambiar estos valores "
|
||||
#~ "está todavía disponible.\n"
|
||||
#~ "\n"
|
||||
#~ " Obviamente si no se ha guardado datos para la cuenta actual, se "
|
||||
#~ "proporciona el valor por defecto para los datos de la cuenta como siempre "
|
||||
#~ "por lo que este módulo es perfectamente compatible con configuraciones "
|
||||
#~ "anteriores.\n"
|
||||
#~ "\n"
|
||||
#~ " "
|
|
@ -1,124 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic_journal_billing_rate
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-03 16:56+0000\n"
|
||||
"PO-Revision-Date: 2011-01-11 10:47+0000\n"
|
||||
"Last-Translator: Borja López Soilán (NeoPolus) <borjalopezsoilan@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: 2011-09-05 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 13830)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.module.module,description:analytic_journal_billing_rate.module_meta_information
|
||||
msgid ""
|
||||
"\n"
|
||||
"\n"
|
||||
" This module allows you to define what is the default invoicing rate for "
|
||||
"a specific journal on a given account. This is mostly used when a user "
|
||||
"encodes his timesheet: the values are retrieved and the fields are auto-"
|
||||
"filled... but the possibility to change these values is still available.\n"
|
||||
"\n"
|
||||
" Obviously if no data has been recorded for the current account, the "
|
||||
"default value is given as usual by the account data so that this module is "
|
||||
"perfectly compatible with older configurations.\n"
|
||||
"\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"\n"
|
||||
" Este módulo le permite definir el porcentaje de facturación para un "
|
||||
"cierto diario en una cuenta dada. Se utiliza principalmente cuando un "
|
||||
"usuario codifica su hoja de servicios: los valores son recuperados y los "
|
||||
"campos son auto rellenados aunque la posibilidad de cambiar estos valores "
|
||||
"está todavía disponible.\n"
|
||||
"\n"
|
||||
" Obviamente si no se ha guardado datos para la cuenta actual, se "
|
||||
"proporciona el valor por defecto para los datos de la cuenta como siempre "
|
||||
"por lo que este módulo es perfectamente compatible con configuraciones "
|
||||
"anteriores.\n"
|
||||
"\n"
|
||||
" "
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Diario analítico"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Factura"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "Tasa de facturación por diario para esta cuenta analítica"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Cuenta analítica"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "Tabla de relación entre diarios y tasas de facturación"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr "Tasa de facturación por diario"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.module.module,shortdesc:analytic_journal_billing_rate.module_meta_information
|
||||
msgid ""
|
||||
"Analytic Journal Billing Rate, Define the default invoicing rate for a "
|
||||
"specific journal"
|
||||
msgstr ""
|
||||
"Tasa de facturación de un diario analítico. Define la tasa de facturación "
|
||||
"por defecto para un diario en concreto."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid ""
|
||||
"Error! The currency has to be the same as the currency of the selected "
|
||||
"company"
|
||||
msgstr ""
|
||||
"¡Error! La divisa tiene que ser la misma que la establecida en la compañía "
|
||||
"seleccionada"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr "Tasa de facturación"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr "¡Error! No puede crear cuentas analíticas recursivas."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr "Línea hoja de servicios"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "¡XML inválido para la definición de la vista!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
#~ msgstr ""
|
||||
#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter "
|
||||
#~ "especial!"
|
||||
|
||||
#~ msgid "Analytic Journal Billing Rate"
|
||||
#~ msgstr "Tasa facturación diario analítico"
|
|
@ -1,86 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic_journal_billing_rate
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2009-11-09 16:30+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Analüütiline päevik"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "Arve esitamise määr päeviku kohta sellel analüütilisel kontol"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Analüütiline konto"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "Seoste tabel päevikute ja arve esitamise määrade vahel"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr "Arveldamise määr päeviku kohta"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr "Arveldamise määr"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "Vigane XML vaate arhitektuurile!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
#~ msgstr ""
|
||||
#~ "Objekti nimi peab algama x_'ga ja ei tohi sisaldada ühtegi erisümbolit !"
|
|
@ -1,79 +0,0 @@
|
|||
# Persian translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2011-12-18 17:01+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Persian <fa@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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr ""
|
|
@ -1,91 +0,0 @@
|
|||
# Finnish translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2011-08-08 07:40+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Finnish <fi@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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Analyyttinen päiväkirja"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "Veloitushinta päiväkirjoittain tälle analyyttiselle tilille"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Analyyttinen tili"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "Suhdetaulu päiväkirjojen ja veloituhintojen välillä"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr "Veloitushinta päiväkirjoittain"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Lasku"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr "Laskutushinta"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr "Virhe! Et voi luoda sisäkkäisiä analyyttisiä tilejä."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr "Tuntilistan rivi"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Error! The currency has to be the same as the currency of the selected "
|
||||
#~ "company"
|
||||
#~ msgstr "Virhe! Valuutan tulee olla sama kun valitun yrityksen valutta."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Analytic Journal Billing Rate, Define the default invoicing rate for a "
|
||||
#~ "specific journal"
|
||||
#~ msgstr ""
|
||||
#~ "Analyyttisen päiväkirjan veloitushinta, määrittele oletushinta tietylle "
|
||||
#~ "päiväkirjalle"
|
|
@ -1,133 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic_journal_billing_rate
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2011-01-18 16:44+0000\n"
|
||||
"Last-Translator: Maxime Chambreuil (http://www.savoirfairelinux.com) "
|
||||
"<maxime.chambreuil@savoirfairelinux.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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Journal Analytique"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "Taux de Facturation par Journal pour ce Compte Analytique"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Compte Analytique"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "Tableau de Relations entre les journaux et les taux de Facturations"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr "Taux de Facturation par Journal"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Facture"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr "Taux de Facturation"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr "Erreur ! Vous ne pouvez pas créer de comptes analytiques récursifs."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr "Ligne de prestation"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "XML non valide pour l'architecture de la vue"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
#~ msgstr ""
|
||||
#~ "Le nom de l'objet doit commencer avec x_ et ne pas contenir de charactères "
|
||||
#~ "spéciaux !"
|
||||
|
||||
#~ msgid "Analytic Journal Billing Rate"
|
||||
#~ msgstr "Taux de Facturation des Journaux Analytiques"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Analytic Journal Billing Rate, Define the default invoicing rate for a "
|
||||
#~ "specific journal"
|
||||
#~ msgstr ""
|
||||
#~ "Taux de facturation par journal analytique. Définir le taux de facturation "
|
||||
#~ "par défaut pour un journal donné"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Error! The currency has to be the same as the currency of the selected "
|
||||
#~ "company"
|
||||
#~ msgstr ""
|
||||
#~ "Erreur ! La monnaie doit être la même que la monnaie de la société "
|
||||
#~ "sélectionnée"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to define what is the default invoicing rate for "
|
||||
#~ "a specific journal on a given account. This is mostly used when a user "
|
||||
#~ "encodes his timesheet: the values are retrieved and the fields are auto-"
|
||||
#~ "filled... but the possibility to change these values is still available.\n"
|
||||
#~ "\n"
|
||||
#~ " Obviously if no data has been recorded for the current account, the "
|
||||
#~ "default value is given as usual by the account data so that this module is "
|
||||
#~ "perfectly compatible with older configurations.\n"
|
||||
#~ "\n"
|
||||
#~ " "
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "\n"
|
||||
#~ " Ce module vous permet de définir quel est le taux de facturation par "
|
||||
#~ "défaut pour un journal spécifique et pour un compte donné. Ceci est surtout "
|
||||
#~ "utilisé quand un utilisateur saisit sa feuille de temps : les valeurs sont "
|
||||
#~ "récupérées et les champs sont automatiquement remplis... mais la possibilité "
|
||||
#~ "de changer ces valeurs est toujours disponible.\n"
|
||||
#~ "\n"
|
||||
#~ " Obviously if no data has been recorded for the current account, the "
|
||||
#~ "default value is given as usual by the account data so that this module is "
|
||||
#~ "perfectly compatible with older configurations.\n"
|
||||
#~ "\n"
|
||||
#~ " "
|
|
@ -1,132 +0,0 @@
|
|||
# translation of analytic-journal-billing-rate-es.po to Galego
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic_journal_billing_rate
|
||||
#
|
||||
# Frco. Javier Rial Rodríguez <fjrial@cesga.es>, 2009.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: analytic-journal-billing-rate-es\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2011-02-07 10:37+0000\n"
|
||||
"Last-Translator: Alberto Luengo Cabanillas (Pexego) <alberto@pexego.es>\n"
|
||||
"Language-Team: Galego <g11n@mancomun.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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Diario analítico"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "Taxa de facturación por diario para esta conta analítica"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Conta analítica"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "Táboa de relación entre diarios e taxas de facturación"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr "Taxa de facturación por diario"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Factura"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr "Taxa de facturación"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr "¡Erro! Non pode crear contas analíticas recorrentes."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr "Liña de parte de horas"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "¡XML non válido para a definición da vista!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
#~ msgstr ""
|
||||
#~ "¡O nome do obxecto debe comezar con x_ y e non conter ningún carácter "
|
||||
#~ "especial!"
|
||||
|
||||
#~ msgid "Analytic Journal Billing Rate"
|
||||
#~ msgstr "Taxa facturación diario analítico"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Analytic Journal Billing Rate, Define the default invoicing rate for a "
|
||||
#~ "specific journal"
|
||||
#~ msgstr ""
|
||||
#~ "Taxa Analítico de Diario de Facturación, Define o taxa de facturación por "
|
||||
#~ "defecto para un diario específico"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Error! The currency has to be the same as the currency of the selected "
|
||||
#~ "company"
|
||||
#~ msgstr "¡Erro! A divisa ten que se-la mesma ca da compañía seleccionada"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to define what is the default invoicing rate for "
|
||||
#~ "a specific journal on a given account. This is mostly used when a user "
|
||||
#~ "encodes his timesheet: the values are retrieved and the fields are auto-"
|
||||
#~ "filled... but the possibility to change these values is still available.\n"
|
||||
#~ "\n"
|
||||
#~ " Obviously if no data has been recorded for the current account, the "
|
||||
#~ "default value is given as usual by the account data so that this module is "
|
||||
#~ "perfectly compatible with older configurations.\n"
|
||||
#~ "\n"
|
||||
#~ " "
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "\n"
|
||||
#~ " Este módulo permítelle establecer cal é a taxa de facturación por "
|
||||
#~ "defecto para un diario específico nunha determinada conta. Isto é usado "
|
||||
#~ "sobre todo cando un usuario cubre o seu parte de horas: os valores son "
|
||||
#~ "recuperados e os campos son cubertos automáticamente... pero a posibilidade "
|
||||
#~ "de modificar estes valores aínda está dispoñible.\n"
|
||||
#~ "\n"
|
||||
#~ " Por suposto, se ningún dato foi rexistrado para a conta actual, o valor "
|
||||
#~ "por defecto é dado como de costume polos datos da conta para que este módulo "
|
||||
#~ "sexa perfectamente compatible coas configuracións máis antigas.\n"
|
||||
#~ "\n"
|
||||
#~ " "
|
|
@ -1,79 +0,0 @@
|
|||
# Gujarati 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-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2012-03-06 18:22+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Gujarati <gu@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-03-07 05:13+0000\n"
|
||||
"X-Generator: Launchpad (build 14907)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "વિશ્લેષણાત્મક ખાતું"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr "ત્રુટિ! તમે અંદરોઅંદર વિશ્લેષણાત્મક ખાતાઓ ન બનાવી શકો."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr ""
|
|
@ -1,83 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic_journal_billing_rate
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2011-12-08 15:46+0000\n"
|
||||
"Last-Translator: Goran Kliska <gkliska@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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Dnevnik analitike"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "Stupanj naplate po temeljnici za ovaj analitički račun"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Analitički konto"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "Relacijska tablica između temeljnica i stupnjeva naplate"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Račun"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr "Greška! Ne možete kreirati rekurzivna analitička konta."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Error! The currency has to be the same as the currency of the selected "
|
||||
#~ "company"
|
||||
#~ msgstr "Greška! Valuta ne odgovara valuti organizacije."
|
|
@ -1,119 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic_journal_billing_rate
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2011-01-30 18:59+0000\n"
|
||||
"Last-Translator: NOVOTRADE RENDSZERHÁZ ( novotrade.hu ) "
|
||||
"<openerp@novotrade.hu>\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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Gyűjtőnapló"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "A gyűjtőkód naplónkénti számlázási rátája"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Gyűjtőkód"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "Naplók és számlázási ráták közötti kapcsolati tábla"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr "Naplónkénti számlázási ráta"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Számla"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr "Számlázási ráta"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr "Hiba! Nem hozhat létre rekurzív gyűjtőkódokat."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr "Munkaidő-kimutatás sora"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Error! The currency has to be the same as the currency of the selected "
|
||||
#~ "company"
|
||||
#~ msgstr ""
|
||||
#~ "Hiba! A pénznemnek meg kell egyeznie a kiválasztott vállalat pénznemével."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to define what is the default invoicing rate for "
|
||||
#~ "a specific journal on a given account. This is mostly used when a user "
|
||||
#~ "encodes his timesheet: the values are retrieved and the fields are auto-"
|
||||
#~ "filled... but the possibility to change these values is still available.\n"
|
||||
#~ "\n"
|
||||
#~ " Obviously if no data has been recorded for the current account, the "
|
||||
#~ "default value is given as usual by the account data so that this module is "
|
||||
#~ "perfectly compatible with older configurations.\n"
|
||||
#~ "\n"
|
||||
#~ " "
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "\n"
|
||||
#~ " Ez a modul lehetővé teszi annak meghatározását, hogy mi a gyűjtőkód "
|
||||
#~ "naplójának alapértelmezett számlázási rátája. Leginkább akkor használják, "
|
||||
#~ "amikor a felhasználó berögzíti a munkaidő-kimutatását: az értékek feljönnek "
|
||||
#~ "és a mezők automatikusan kitöltődnek... De ezeket az értékeket meg lehet "
|
||||
#~ "változtatni.\n"
|
||||
#~ "\n"
|
||||
#~ " Nyilvánvalóan, ha az aktuális gyűjtőkódra nem vittek be adatot, az "
|
||||
#~ "alapértelmezett érték a könyvelési adatokból kerül meghatározásra.\n"
|
||||
#~ "\n"
|
||||
#~ " "
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Analytic Journal Billing Rate, Define the default invoicing rate for a "
|
||||
#~ "specific journal"
|
||||
#~ msgstr ""
|
||||
#~ "Gyűjtőnapló számlázási ráta. Az adott naplóra meghatározza az "
|
||||
#~ "alapértelmezett számlázási rátát."
|
|
@ -1,86 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic_journal_billing_rate
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2010-08-03 00:27+0000\n"
|
||||
"Last-Translator: Mantavya Gajjar (Open ERP) <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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Jurnal Analisis"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Akun Analisis"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "XML tidak sah untuk Menampilkan Arsitektur!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
#~ msgstr ""
|
||||
#~ "Nama Objek harus berawalan dengan x_ dan tidak mengandung karakter khusus !"
|
|
@ -1,97 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic_journal_billing_rate
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2011-01-17 20:25+0000\n"
|
||||
"Last-Translator: Nicola Riolini - Micronaet <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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Giornale conti analitici"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "Tasso di fatturazione per Giornale per questo Conto Analitico"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Conto analitico"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "Tabella di relazione tra Giornali e tassi di fatturazione"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr "Tasso di fatturazione diviso per Giornale"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Fattura"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr "Tasso di fatturazione"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr "Errore! Non è possibile creare conti analitici ricorsivi."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr "Linea del Timesheet"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
#~ msgstr ""
|
||||
#~ "Il nome dell'oggetto deve iniziare per x_ e non deve contenere caratteri "
|
||||
#~ "speciali!"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "XML non valido per Visualizzare l'architettura!"
|
||||
|
||||
#~ msgid "Analytic Journal Billing Rate"
|
||||
#~ msgstr "Giornale Conti Analitici Tasso di fatturazione"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Error! The currency has to be the same as the currency of the selected "
|
||||
#~ "company"
|
||||
#~ msgstr ""
|
||||
#~ "Errore! La valuta deve essere la stessa di quella impostata nell'azienda "
|
||||
#~ "selezionata"
|
|
@ -1,79 +0,0 @@
|
|||
# Japanese 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-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2012-04-26 08:50+0000\n"
|
||||
"Last-Translator: Tomomi Mengelberg <tomomi.mengelberg@aquasys.co.jp>\n"
|
||||
"Language-Team: Japanese <ja@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-04-27 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 15149)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr "請求書番号は会社ごとに固有である必要があります。"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "分析仕訳帳"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr "無効なBBA(ブロードバンドアクセス)構造の通信"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "この分析アカウントの仕訳ごとの請求割合"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "分析アカウント"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "仕訳帳と請求割合の関連表"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr "仕訳ごとの請求割合"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "請求書"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr "確認済み/完了した勤務表の記入項目を変更することはできません。"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr "請求割合"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr "エラー。反復した分析アカウントを作成することはできません。"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr "勤務表の行"
|
|
@ -1,89 +0,0 @@
|
|||
# Korean translation for openobject-addons
|
||||
# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2009-09-08 14:10+0000\n"
|
||||
"Last-Translator: ekodaq <ceo@ekosdaq.com>\n"
|
||||
"Language-Team: Korean <ko@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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "분석 저널"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "이 분석 계정을 위한 저널 당 청구 비율"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "분석 계정"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "저널과 청구 비율 간의 관계"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr "저널 당 인보이스 비율"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr "청구 비율"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Analytic Journal Billing Rate"
|
||||
#~ msgstr "분석 저널 청구 비율"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
#~ msgstr "오브젝트 이름은 x_로 시작해야 하며, 특수 문자를 포함하면 안 됩니다 !"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "유효하지 않은 뷰 아키텍처를 위한 XML !"
|
|
@ -1,78 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic_journal_billing_rate
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2009-09-08 14:43+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.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-02-09 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14763)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr ""
|
|
@ -1,79 +0,0 @@
|
|||
# Latvian 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-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2012-05-28 13:45+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Latvian <lv@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-05-29 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 15316)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
msgid "Invoicing Rate per Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr ""
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue