[MERGE] Merge with dev-addons3 branch

bzr revid: psi@tinyerp.co.in-20100618052733-kfuqzqr3jq0nj2uq
This commit is contained in:
psi (Open ERP)
2010-06-18 10:57:33 +05:30
1328 changed files with 43105 additions and 67147 deletions
+20 -2
View File
@@ -23,7 +23,7 @@
{
"name" : "Accounting and Financial Management",
"version" : "1.1",
"depends" : ["product", "analytic", "process"],
"depends" : ["product", "analytic", "process","board"],
"author" : "Tiny",
"category": 'Generic Modules/Accounting',
"description": """Financial and accounting module that covers:
@@ -34,6 +34,10 @@
Budgets
Customer and Supplier Invoices
Bank statements
Creates a dashboards for accountants that includes:
* List of uninvoiced quotations
* Graph of aged receivables
* Graph of aged incomes
The processes like maintaining of general ledger is done through the defined financial Journals (entry move line or
grouping is maintained through journal) for a particular financial year and for preparation of vouchers there is a
@@ -111,7 +115,8 @@ module named account_voucherss
'report/account_report_view.xml',
'report/account_analytic_report_view.xml',
'report/account_account_report_view.xml',
'report/account_analytic_entries_report_view.xml'
'report/account_analytic_entries_report_view.xml',
'board_account_view.xml',
],
'demo_xml': [
#'demo/price_accuracy00.yml',
@@ -120,6 +125,19 @@ module named account_voucherss
'project/analytic_account_demo.xml',
'demo/account_minimal.xml',
'account_unit_test.xml',
'board_account_demo.xml',
],
'test': [
'test/account_customer_invoice.yml',
'test/account_supplier_invoice.yml',
'test/account_change_currency.yml',
'test/chart_of_account.yml',
'test/account_period_close.yml',
'test/account_fiscalyear_close_state.yml',
'test/account_invoice_state.yml',
'test/account_use_model.yml',
'test/account_validate_account_move.yml',
# 'test/account_fiscalyear_close.yml',
],
'installable': True,
'active': False,
+93 -32
View File
@@ -62,7 +62,7 @@ class account_payment_term(osv.osv):
elif line.value == 'balance':
amt = round(amount, prec)
if amt:
next_date = datetime.strptime(date_ref, '%y-%m-%d') + relativedelta(days=line.days)
next_date = datetime.strptime(date_ref, '%Y-%m-%d') + relativedelta(days=line.days)
if line.days2 < 0:
next_date += relativedelta(day=line.days2)
if line.days2 > 0:
@@ -183,7 +183,7 @@ class account_account(osv.osv):
temp.append(x)
ids2 += self._get_children_and_consol(cr, uid, temp, context)
return ids2
def search(self, cr, uid, args, offset=0, limit=None, order=None,
context=None, count=False):
if context is None:
@@ -320,7 +320,7 @@ class account_account(osv.osv):
level = obj.level + 1
res[account.id] = level
return res
_columns = {
'name': fields.char('Name', size=128, required=True, select=True),
'currency_id': fields.many2one('res.currency', 'Secondary Currency', help="Forces all moves for this account to have this secondary currency."),
@@ -477,7 +477,7 @@ class account_account(osv.osv):
def _check_moves(self, cr, uid, ids, method, context):
line_obj = self.pool.get('account.move.line')
account_ids = self.search(cr, uid, [('id', 'child_of', ids)])
if line_obj.search(cr, uid, [('account_id', 'in', account_ids)]):
if method == 'write':
raise osv.except_osv(_('Error !'), _('You cannot deactivate an account that contains account moves.'))
@@ -509,9 +509,14 @@ class account_account(osv.osv):
def write(self, cr, uid, ids, vals, context=None):
if context is None:
context = {}
if 'company_id' in vals:
move_lines = self.pool.get('account.move.line').search(cr, uid, [('account_id', 'in', ids)])
if move_lines:
raise osv.except_osv(_('Warning !'), _('You cannot modify Company of account as its related record exist in Entry Lines'))
if 'active' in vals and not vals['active']:
self._check_moves(cr, uid, ids, "write", context)
if 'type' in vals.keys():
self._check_moves(cr, uid, ids, "write", context=context)
if 'type' in vals.keys():
self._check_allow_type_change(cr, uid, ids, vals['type'], context=context)
return super(account_account, self).write(cr, uid, ids, vals, context=context)
@@ -557,42 +562,46 @@ class account_journal(osv.osv):
_name = "account.journal"
_description = "Journal"
_columns = {
'name': fields.char('Journal Name', size=64, required=True, translate=True),
'code': fields.char('Code', size=16),
'type': fields.selection([('sale', 'Sale'), ('purchase', 'Purchase'), ('cash', 'Cash'), ('general', 'General'), ('situation', 'Situation')], 'Type', size=32, required=True,
'name': fields.char('Journal Name', size=64, required=True, translate=True,help="Name of the journal"),
'code': fields.char('Code', size=16,required=True,help="Code of the journal"),
'type': fields.selection([('sale', 'Sale'),('sale_refund','Sale Refund'), ('purchase', 'Purchase'), ('purchase_refund','Purchase Refund'),('expense', 'Expense'), ('cash', 'Cash'), ('bank', 'Bank'), ('general', 'General'), ('situation', 'Situation')], 'Type', size=32, required=True,
help="Select 'Sale' for Sale journal to be used at the time of making invoice."\
" Select 'Purchase' for Purchase Journal to be used at the time of approving purchase order."\
" Select 'Cash' to be used at the time of making payment."\
" Select 'General' to be used at the time of stock input/output."\
" Select 'Situation' to be used at the time of making vouchers."),
'refund_journal': fields.boolean('Refund Journal', help='Fill this if the journal is to be used for refunds of invoices.'),
'type_control_ids': fields.many2many('account.account.type', 'account_journal_type_rel', 'journal_id','type_id', 'Type Controls', domain=[('code','<>','view'), ('code', '<>', 'closed')]),
'account_control_ids': fields.many2many('account.account', 'account_account_type_rel', 'journal_id','account_id', 'Account', domain=[('type','<>','view'), ('type', '<>', 'closed')]),
'active': fields.boolean('Active', help="If the active field is set to true, it will allow you to hide the journal without removing it."),
'view_id': fields.many2one('account.journal.view', 'View', required=True, help="Gives the view used when writing or browsing entries in this journal. The view tells Open ERP which fields should be visible, required or readonly and in which order. You can create your own view for a faster encoding in each journal."),
'default_credit_account_id': fields.many2one('account.account', 'Default Credit Account', domain="[('type','!=','view')]"),
'default_debit_account_id': fields.many2one('account.account', 'Default Debit Account', domain="[('type','!=','view')]"),
'view_id': fields.many2one('account.journal.view', 'Display Mode', required=True, help="Gives the view used when writing or browsing entries in this journal. The view tells Open ERP which fields should be visible, required or readonly and in which order. You can create your own view for a faster encoding in each journal."),
'default_credit_account_id': fields.many2one('account.account', 'Default Credit Account', domain="[('type','!=','view')]",help="It acts as a default account for credit amount"),
'default_debit_account_id': fields.many2one('account.account', 'Default Debit Account', domain="[('type','!=','view')]",help="It acts as a default account for debit amount"),
'centralisation': fields.boolean('Centralised counterpart', help="Check this box to determine that each entry of this journal won't create a new counterpart but will share the same counterpart. This is used in fiscal year closing."),
'update_posted': fields.boolean('Allow Cancelling Entries'),
'update_posted': fields.boolean('Allow Cancelling Entries',help="Check this box if you want to cancel the entries related to this journal or want to cancel the invoice related to this journal"),
'group_invoice_lines': fields.boolean('Group invoice lines', help="If this box is checked, the system will try to group the accounting lines when generating them from invoices."),
'sequence_id': fields.many2one('ir.sequence', 'Entry Sequence', help="The sequence gives the display order for a list of journals", required=True),
'user_id': fields.many2one('res.users', 'User', help="The user responsible for this journal"),
'groups_id': fields.many2many('res.groups', 'account_journal_group_rel', 'journal_id', 'group_id', 'Groups'),
'currency': fields.many2one('res.currency', 'Currency', help='The currency used to enter statement'),
'entry_posted': fields.boolean('Skip \'Draft\' State for Created Entries', help='Check this box if you don\'t want new account moves to pass through the \'draft\' state and instead goes directly to the \'posted state\' without any manual validation.'),
'company_id': fields.many2one('res.company', 'Company', required=True,select=1),
'company_id': fields.many2one('res.company', 'Company', required=True,select=1,help="Company associated with a journal"),
'invoice_sequence_id': fields.many2one('ir.sequence', 'Invoice Sequence', \
help="The sequence used for invoice numbers in this journal."),
'allow_date':fields.boolean('Check Date not in the Period', help= 'If set to True then do not accept the entry if the entry date is not into the period dates'),
}
_defaults = {
'active': lambda *a: 1,
'user_id': lambda self,cr,uid,context: uid,
'company_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id,
}
def write(self, cr, uid, ids, vals, context=None):
obj=[]
if 'company_id' in vals:
move_lines = self.pool.get('account.move.line').search(cr, uid, [('journal_id', 'in', ids)])
if move_lines:
raise osv.except_osv(_('Warning !'), _('You cannot modify company of this journal as its related record exist in Entry Lines'))
return super(account_journal, self).write(cr, uid, ids, vals, context=context)
def create(self, cr, uid, vals, context={}):
journal_id = super(account_journal, self).create(cr, uid, vals, context)
# journal_name = self.browse(cr, uid, [journal_id])[0].code
@@ -618,6 +627,16 @@ class account_journal(osv.osv):
ids = self.search(cr, user, [('name',operator,name)]+ args, limit=limit, context=context)
return self.name_get(cr, user, ids, context=context)
def onchange_type(self, cr, uid, ids, type):
res={}
for line in self.browse(cr, uid, ids):
if type == 'situation':
res= {'value':{'centralisation': True}}
else:
res= {'value':{'centralisation': False}}
return res
account_journal()
class account_fiscalyear(osv.osv):
@@ -683,7 +702,7 @@ class account_fiscalyear(osv.osv):
else:
return False
return ids[0]
def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
if args is None:
args = []
@@ -695,7 +714,7 @@ class account_fiscalyear(osv.osv):
if not ids:
ids = self.search(cr, user, [('name',operator,name)]+ args, limit=limit)
return self.name_get(cr, user, ids, context=context)
account_fiscalyear()
class account_period(osv.osv):
@@ -711,7 +730,7 @@ class account_period(osv.osv):
'fiscalyear_id': fields.many2one('account.fiscalyear', 'Fiscal Year', required=True, states={'done':[('readonly',True)]}, select=True),
'state': fields.selection([('draft','Draft'), ('done','Done')], 'State', readonly=True,
help='When monthly periods are created. The state is \'Draft\'. At the end of monthly period it is in \'Done\' state.'),
'company_id': fields.many2one('res.company', 'Company', required=True)
'company_id': fields.related('fiscalyear_id','company_id',type='many2one',relation='res.company',string='Company',store=True)
}
_defaults = {
'state': lambda *a: 'draft',
@@ -771,7 +790,7 @@ class account_period(osv.osv):
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))
return True
def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
if args is None:
args = []
@@ -784,6 +803,14 @@ class account_period(osv.osv):
ids = self.search(cr, user, [('name',operator,name)]+ args, limit=limit)
return self.name_get(cr, user, ids, context=context)
def write(self, cr, uid, ids, vals, context=None):
obj=[]
if 'company_id' in vals:
move_lines = self.pool.get('account.move.line').search(cr, uid, [('period_id', 'in', ids)])
if move_lines:
raise osv.except_osv(_('Warning !'), _('You cannot modify company of this period as its related record exist in Entry Lines'))
return super(account_period, self).write(cr, uid, ids, vals, context=context)
account_period()
class account_journal_period(osv.osv):
@@ -809,7 +836,7 @@ class account_journal_period(osv.osv):
'state': fields.selection([('draft','Draft'), ('printed','Printed'), ('done','Done')], 'State', required=True, readonly=True,
help='When journal period is created. The state is \'Draft\'. If a report is printed it comes to \'Printed\' state. When all transactions are done, it comes in \'Done\' state.'),
'fiscalyear_id': fields.related('period_id', 'fiscalyear_id', string='Fiscal Year', type='many2one', relation='account.fiscalyear'),
'company_id' : fields.many2one('res.company', 'Company')
'company_id': fields.related('journal_id','company_id',type='many2one',relation='res.company',string='Company')
}
def _check(self, cr, uid, ids, context={}):
@@ -927,7 +954,7 @@ class account_move(osv.osv):
('journal_sale_vou','Journal Sale'),
('journal_pur_voucher','Journal Purchase'),
('journal_voucher','Journal Voucher'),
],'Type', readonly=True, select=True, states={'draft':[('readonly',False)]}),
],'Entry Type', select=True , size=128, readonly=True, states={'draft':[('readonly',False)]}),
'narration':fields.text('Narration', readonly=True, select=True, states={'draft':[('readonly',False)]}),
'company_id': fields.related('journal_id','company_id',type='many2one',relation='res.company',string='Company',store=True),
}
@@ -1375,7 +1402,7 @@ class account_tax_code(osv.osv):
return False
level -= 1
return True
def copy(self, cr, uid, id, default=None, context=None):
if default is None:
@@ -1383,7 +1410,7 @@ class account_tax_code(osv.osv):
default = default.copy()
default.update({'line_ids': []})
return super(account_tax_code, self).copy(cr, uid, id, default, context)
_constraints = [
(_check_recursion, 'Error ! You can not create recursive accounts.', ['parent_id'])
]
@@ -1441,6 +1468,7 @@ class account_tax(osv.osv):
'include_base_amount': fields.boolean('Included in base amount', help="Indicates if the amount of tax must be included in the base amount for the computation of the next taxes"),
'company_id': fields.many2one('res.company', 'Company', required=True),
'description': fields.char('Tax Code',size=32),
'price_include': fields.boolean('Tax Included in Price', help="Check this if the price you use on the product and invoices includes this tax."),
'type_tax_use': fields.selection([('sale','Sale'),('purchase','Purchase'),('all','All')], 'Tax Application', required=True)
}
@@ -1473,6 +1501,7 @@ class account_tax(osv.osv):
'applicable_type': lambda *a: 'true',
'type': lambda *a: 'percent',
'amount': lambda *a: 0,
'price_include': lambda *a: 0,
'active': lambda *a: 1,
'type_tax_use': lambda *a: 'all',
'sequence': lambda *a: 1,
@@ -1565,8 +1594,42 @@ class account_tax(osv.osv):
cur_price_unit+=amount2
return res
def compute(self, cr, uid, taxes, price_unit, quantity, address_id=None, product=None, partner=None):
def compute_all(self, cr, uid, taxes, price_unit, quantity, address_id=None, product=None, partner=None):
"""
RETURN: {
'total': 0.0, # Total without taxes
'total_included: 0.0, # Total with taxes
'taxes': [] # List of taxes, see compute for the format
}
"""
precision = self.pool.get('decimal.precision').precision_get(cr, uid, 'Account')
totalin = totalex = round(price_unit * quantity, precision)
tin = []
tex = []
for tax in taxes:
if tax.price_include:
tin.append(tax)
else:
tex.append(tax)
tin = self.compute_inv(cr, uid, tin, price_unit, quantity, address_id=address_id, product=product, partner=partner)
for r in tin:
totalex -= r['amount']
tex = self._compute(cr, uid, tex, totalex/quantity, quantity, address_id=address_id, product=product, partner=partner)
for r in tex:
totalin += r['amount']
return {
'total': totalex,
'total_included': totalin,
'taxes': tin + tex
}
def compute(self, cr, uid, taxes, price_unit, quantity, address_id=None, 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")
return self._compute(cr, uid, taxes, price_unit, quantity, address_id, product, partner)
def _compute(self, cr, uid, taxes, price_unit, quantity, address_id=None, product=None, partner=None):
"""
Compute tax values for given PRICE_UNIT, QUANTITY and a buyer/seller ADDRESS_ID.
@@ -1583,7 +1646,6 @@ class account_tax(osv.osv):
else:
r['amount'] = round(r['amount'] * quantity, self.pool.get('decimal.precision').precision_get(cr, uid, 'Account'))
total += r['amount']
return res
def _unit_compute_inv(self, cr, uid, taxes, price_unit, address_id=None, product=None, partner=None):
@@ -1963,13 +2025,12 @@ class account_add_tmpl_wizard(osv.osv_memory):
if not tids or not tids[0]['parent_id']:
return False
ptids = tmpl_obj.read(cr, uid, [tids[0]['parent_id'][0]],['code'])
res = None
if not ptids or not ptids[0]['code']:
raise osv.except_osv(_('Error !'), _('Cannot locate parent code for template account!'))
res = acc_obj.search(cr,uid,[('code','=',ptids[0]['code'])])
if res:
return res[0]
else:
return False
return res and res[0] or False
_columns = {
'cparent_id':fields.many2one('account.account', 'Parent target', help="Creates an account with the selected template under this existing parent.", required=True),
+19 -19
View File
@@ -19,26 +19,26 @@
position="attributes">
<attribute name="string">You can enhance OpenERP's basic accounting support with a few additional OpenERP applications.</attribute>
</xpath>
<xpath expr="//button[@string='Install Modules']" position="attributes">
<xpath expr="//button[@string='Install Modules']" position="attributes">
<attribute name="string">Configure</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='rowspan'>23</attribute>
<attribute name='string'></attribute>
</xpath>
<group colspan="8">
<group colspan="4" height="450" width="600">
</xpath>
<group colspan="8">
<group colspan="4" height="450" width="600">
<field name="charts"/>
<group colspan="4">
<separator col="4" colspan="4" string="Configure Fiscal Year"/>
<separator col="4" colspan="4" string="Configure Fiscal Year"/>
<field name="date_start" on_change="on_change_start_date(date_start)"/>
<field name="date_stop"/>
<field name="period" colspan="4"/>
</group>
<group colspan="4" attrs="{'invisible':[('charts','!=','configurable')]}">
<separator col="4" colspan="4" string="Bank and Cost Account"/>
<field colspan="4" mode="tree" name="bank_accounts_id" nolabel="1" widget="one2many_list">
<form string="">
<separator col="4" colspan="4" string="Bank and Cost Account"/>
<field colspan="4" mode="tree" name="bank_accounts_id" nolabel="1" widget="one2many_list">
<form string="">
<field name="acc_name"/>
<field name="account_type"/>
<field name="currency_id" widget="selection"/>
@@ -51,15 +51,15 @@
</field>
</group>
<group colspan="4" attrs="{'invisible':[('charts','!=','configurable')]}">
<field name="sale_tax" colspan="2" on_change="on_change_tax(sale_tax)"/>
<field name="purchase_tax" colspan="2" />
<field name="sale_tax" colspan="2" on_change="on_change_tax(sale_tax)"/>
<field name="purchase_tax" colspan="2" />
</group>
<group colspan="4" groups="base.group_extended">
<separator col="4" colspan="4" string="Install Extra Account Module"/>
<field name="account_analytic_plans"/>
<field name="account_payment"/>
<field name="account_followup"/>
<field name="account_asset"/>
<separator col="4" colspan="4" string="Install Extra Account Module"/>
<field name="account_analytic_plans"/>
<field name="account_payment"/>
<field name="account_followup"/>
<field name="account_asset"/>
</group>
</group>
</group>
@@ -88,12 +88,12 @@
<field name="name">account_installer_action_replace</field>
<field name="type">tree</field>
<field name="inherit_id" ref="base.ir_actions_todo_tree"/>
<field name="arch" type="xml">
<xpath expr="//button[@string='Launch']" position="replace">
<button name="%(action_account_installer)d" states="open,skip" string="Launch" type="action" icon="gtk-execute" help="Launch Configuration Wizard"/>
<field name="arch" type="xml">
<xpath expr="//button[@string='Launch']" position="replace">
<button name="%(action_account_installer)d" states="open,skip" string="Launch" type="action" icon="gtk-execute" help="Launch Configuration Wizard"/>
</xpath>
</field>
</record>
</record>
</data>
</openerp>
+33 -46
View File
@@ -53,7 +53,7 @@
<notebook>
<page string="Line">
<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.address_invoice_id, parent.currency_id, {'company_id': parent.company_id})"/>
<field name="uos_id"/>
<field name="uos_id" widget="selection" on_change="uos_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_invoice_id, parent.currency_id, {'company_id': parent.company_id})"/>
<field name="quantity"/>
<field name="price_unit"/>
<field name="discount"/>
@@ -63,6 +63,7 @@
<field domain="[('type','&lt;&gt;','view'), ('company_id', '=', parent.company_id)]" name="account_analytic_id" groups="base.group_user,base.group_extended"/>
<newline/>
<field name="price_subtotal"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<field colspan="4" name="invoice_line_tax_id" context="{'type':parent.type}" domain="[('parent_id','=',False),('company_id', '=', parent.company_id)]"/>
</page>
@@ -146,7 +147,7 @@
<field name="number" readonly="1"/>
<field name="type" invisible="1"/>
<field name="currency_id" domain="[('company_id','=', company_id)]" on_change="onchange_currency_id(currency_id, company_id)" width="50"/>
<button name="%(action_account_change_currency)d" type="action" icon="gtk-apply" string="Change Currency"/>
<button name="%(action_account_change_currency)d" type="action" icon="gtk-apply" string="Change"/>
<newline/>
<field name="partner_id" domain="[('supplier','=', 1)]" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank,company_id)" context="{'default_customer': 0}"/>
<field domain="[('partner_id','=',partner_id)]" name="address_invoice_id"/>
@@ -192,7 +193,7 @@
</field>
</group>
<group col="4" colspan="2">
<button colspan="2" name="button_reset_taxes" states="draft" string="Compute Taxes" type="object" icon="gtk-apply"/>
<button colspan="2" name="button_reset_taxes" states="draft" string="Compute Taxes" type="object" icon="terp-stock_format-scientific"/>
<field name="amount_untaxed"/>
<label string="" colspan="2"/>
<field name="amount_tax"/>
@@ -201,12 +202,12 @@
<field name="state"/>
<field name="residual"/>
<group col="3" colspan="4">
<button name="invoice_open" states="draft,proforma2" string="Validate" icon="gtk-apply"/>
<button name="invoice_open" states="draft,proforma2" string="Validate" icon="terp-camera_test"/>
<button name="%(action_account_invoice_pay)d" type='action' string='Pay Invoice' states='open' icon="gtk-ok"/>
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="gtk-cancel"/>
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="gtk-convert"/>
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="terp-gtk-stop"/>
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="stock_effects-object-colorize"/>
<button name="%(action_account_state_open)d" type='action' string='Re-Open' states='paid' icon="gtk-convert"/>
<button name="%(action_account_invoice_refund)d" type='action' string='Credit Note' states='paid' icon="gtk-execute"/>
<button name="%(action_account_invoice_refund)d" type='action' string='Credit Note' states='paid' icon="terp-dolar"/>
</group>
</group>
</page>
@@ -219,7 +220,8 @@
<field name="name"/>
<newline/>
<field name="origin" groups="base.group_extended"/>
<field colspan="4" domain="[('partner_id','=',partner_id)]" name="address_contact_id" groups="base.group_extended"/>
<field domain="[('partner_id','=',partner_id)]" name="address_contact_id" groups="base.group_extended"/>
<field name="user_id"/>
<field name="move_id"/>
<separator colspan="4" string="Additional Information"/>
<field colspan="4" name="comment" nolabel="1"/>
@@ -255,7 +257,7 @@
<field name="number"/>
<field name="type" invisible="1"/>
<field name="currency_id" domain="[('company_id','=', company_id)]" on_change="onchange_currency_id(currency_id, company_id)" width="50"/>
<button name="%(action_account_change_currency)d" type="action" icon="gtk-apply" string="Change Currency"/>
<button name="%(action_account_change_currency)d" type="action" icon="terp-stock_effects-object-colorize" string="Change Currency"/>
<newline/>
<field name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank,company_id)" groups="base.group_user"/>
<field domain="[('partner_id','=',partner_id)]" name="address_invoice_id"/>
@@ -285,7 +287,7 @@
</field>
</group>
<group col="4" colspan="2">
<button colspan="2" name="button_reset_taxes" states="draft" string="Compute Taxes" type="object" groups="base.group_user" icon="gtk-apply"/>
<button colspan="2" name="button_reset_taxes" states="draft" string="Compute Taxes" type="object" groups="base.group_user" icon="terp-stock_format-scientific"/>
<field name="amount_untaxed"/>
<label string="" colspan="2"/>
<field name="amount_tax"/>
@@ -294,11 +296,11 @@
<field name="state"/>
<field name="residual"/>
<group col="4" colspan="4" groups="base.group_user">
<button name="invoice_proforma2" states="draft" string="PRO-FORMA" icon="gtk-print"/>
<button name="invoice_open" states="draft,proforma2" string="Create" icon="gtk-execute"/>
<button name="invoice_proforma2" states="draft" string="PRO-FORMA" icon="terp-check"/>
<button name="invoice_open" states="draft,proforma2" string="Create" icon="terp-document-new"/>
<button name="%(action_account_invoice_pay)d" type='action' string='Pay Invoice' states='open' icon="gtk-ok"/>
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="gtk-cancel"/>
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="gtk-convert"/>
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="terp-stock_effects-object-colorize"/>
<button name='%(action_account_state_open)d' type='action' string='Re-Open' states='paid' icon="gtk-convert"/>
<button name="%(action_account_invoice_refund)d" type='action' string='Credit Note' states='paid' icon="gtk-execute"/>
</group>
@@ -345,9 +347,9 @@
<field name="arch" type="xml">
<search string="Search Invoice">
<group col="10" colspan="4">
<filter icon="terp-account" string="Draft" domain="[('state','=','draft')]" help="Draft Invoices"/>
<filter icon="terp-account" string="Proforma" domain="[('state','=','proforma2')]" help="Proforma Invoices"/>
<filter icon="terp-account" string="Unpaid" domain="[('state','=','open')]" help="Unpaid Invoices"/>
<filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Invoices"/>
<filter icon="terp-check" string="Proforma" domain="[('state','=','proforma2')]" help="Proforma Invoices"/>
<filter icon="terp-dolar_ok!" string="Unpaid" domain="[('state','=','open')]" help="Unpaid Invoices"/>
<separator orientation="vertical"/>
<field name="number"/>
<field name="partner_id"/>
@@ -356,16 +358,16 @@
<field name="amount_total"/>
</group>
<newline/>
<group expand="1" string="Group By...">
<filter string="Journal" icon="terp-account" domain="[]" context="{'group_by':'journal_id'}"/>
<filter string="Period" icon="terp-account" domain="[]" context="{'group_by':'period_id'}"/>
<group expand="0" string="Group By...">
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
<filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id'}"/>
<separator orientation="vertical"/>
<filter string="Partner" icon="terp-account" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Salesman" icon="terp-account" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="State" icon="terp-account" domain="[]" context="{'group_by':'state'}"/>
<filter string="Partner" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
<separator orientation="vertical"/>
<filter string="Invoice Date" icon="terp-account" domain="[]" context="{'group_by':'date_invoice'}"/>
<filter string="Due Date" icon="terp-account" domain="[]" context="{'group_by':'date_due'}"/>
<filter string="Invoice Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_invoice'}"/>
<filter string="Due Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_due'}"/>
</group>
</search>
</field>
@@ -403,7 +405,7 @@
<field name="view_id" ref="invoice_form"/>
<field name="act_window_id" ref="action_invoice_tree"/>
</record>
<menuitem name="Invoices" id="menu_finance_invoice" parent="account.menu_finance" sequence="2"/>
<!-- <menuitem name="Invoices" id="menu_finance_invoice" parent="account.menu_finance" sequence="2"/>-->
<record id="action_invoice_tree1" model="ir.actions.act_window">
<field name="name">Customer Invoices</field>
@@ -426,10 +428,10 @@
<field name="view_id" ref="invoice_form"/>
<field name="act_window_id" ref="action_invoice_tree1"/>
</record>
<menuitem action="action_invoice_tree1" id="menu_action_invoice_tree1" parent="account.menu_finance_invoice"/>
<menuitem action="action_invoice_tree1" id="menu_action_invoice_tree1" parent="menu_finance_receivables"/>
<record id="action_invoice_tree2" model="ir.actions.act_window">
<field name="name">Supplier Invoices</field>
<field name="name">Vendor Invoices</field>
<field name="res_model">account.invoice</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar,graph</field>
@@ -438,7 +440,7 @@
<field name="context">{'type':'in_invoice'}</field>
<field name="search_view_id" ref="view_account_invoice_filter"/>
</record>
<menuitem action="action_invoice_tree2" id="menu_action_invoice_tree2" parent="account.menu_finance_invoice"/>
<menuitem action="action_invoice_tree2" id="menu_action_invoice_tree2" parent="menu_finance_payables"/>
<record id="action_invoice_tree3" model="ir.actions.act_window">
<field name="name">Customer Refunds</field>
@@ -464,10 +466,10 @@
<field name="act_window_id" ref="action_invoice_tree3"/>
</record>
<menuitem action="action_invoice_tree3" id="menu_action_invoice_tree3" parent="account.menu_finance_invoice"/>
<menuitem action="action_invoice_tree3" id="menu_action_invoice_tree3" parent="menu_finance_receivables"/>
<record id="action_invoice_tree4" model="ir.actions.act_window">
<field name="name">Supplier Refunds</field>
<field name="name">Vendor Refunds</field>
<field name="res_model">account.invoice</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar,graph</field>
@@ -476,7 +478,7 @@
<field name="context">{'type':'in_refund'}</field>
<field name="search_view_id" ref="view_account_invoice_filter"/>
</record>
<menuitem action="action_invoice_tree4" id="menu_action_invoice_tree4" parent="account.menu_finance_invoice"/>
<menuitem action="action_invoice_tree4" id="menu_action_invoice_tree4" parent="menu_finance_payables"/>
<act_window domain="[('partner_id','=',active_id)]" id="act_res_partner_2_account_invoice_opened" name="Invoices" res_model="account.invoice" src_model="res.partner"/>
@@ -486,20 +488,5 @@
<act_window domain="[('partner_id', '=', partner_id), ('account_id.type', 'in', ['receivable', 'payable']), ('reconcile_id','=',False)]" id="act_account_invoice_account_move_unreconciled" name="Unreconciled Receivables &amp; Payables" res_model="account.move.line" src_model="account.invoice"/>
<!-- Partners inherited form -->
<record id="view_invoice_partner_info_form" model="ir.ui.view">
<field name="name">res.partner.invoice.info.inherit</field>
<field name="model">res.partner</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<notebook position="inside">
<page string="Account Info">
<field name="invoice_ids" colspan="4" nolabel="1" context="{'group_by':'product_id'}"/>
</page>
</notebook>
</field>
</record>
</data>
</openerp>
+40 -16
View File
@@ -1,28 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<menuitem icon="terp-account" id="menu_finance" name="Financial Management" sequence="1"/>
<menuitem id="menu_finance_receivables" name="Receivables" parent="menu_finance" sequence="2"/>
<menuitem id="menu_finance_payables" name="Payables" parent="menu_finance" sequence="3"/>
<menuitem id="menu_finance_bank_and_cash" name="Bank And Cash" parent="menu_finance" sequence="4"/>
<!-- <menuitem id="menu_accounting" name="Accounting" parent="menu_finance" sequence="5"/>-->
<menuitem id="menu_finance_periodical_processing" name="Periodical Processing" parent="menu_finance" sequence="8" groups="group_account_user"/>
<menuitem id="periodical_processing_journal_entries_validation" name="Journal Entries Validation" parent="menu_finance_periodical_processing"/>
<menuitem id="periodical_processing_reconciliation" name="Reconciliation" parent="menu_finance_periodical_processing"/>
<!-- <menuitem id="periodical_processing_recurrent_entries" name="Recurrent Entries" parent="menu_finance_periodical_processing"/>-->
<menuitem id="periodical_processing_invoicing" name="Invoicing" parent="menu_finance_periodical_processing"/>
<!-- <menuitem id="periodical_processing_end_of_period" name="End of Period" parent="menu_finance_periodical_processing"/>-->
<menuitem id="menu_finance_charts" name="Charts" parent="menu_finance" sequence="10"/>
<menuitem id="menu_finance_reporting" name="Reporting" parent="account.menu_finance" sequence="12"/>
<menuitem id="menu_finance_reporting_budgets" name="Budgets" parent="menu_finance_reporting"/>
<menuitem id="menu_generic_report" name="Management Reports" parent="menu_finance_reporting"/>
<menuitem id="menu_finance_legal_statement" name="Legal Reports" parent="menu_finance_reporting"/>
<menuitem id="menu_finance_management_belgian_reports" name="Belgian Reports" parent="menu_finance_reporting"/>
<menuitem id="menu_finance_configuration" name="Configuration" parent="menu_finance" sequence="13"/>
<menuitem id="menu_finance_accounting" name="Financial Accounting" parent="menu_finance_configuration"/>
<menuitem id="menu_analytic_accounting" name="Analytic Accounting" parent="menu_finance_configuration"/>
<menuitem id="menu_analytic" parent="menu_analytic_accounting" name="Accounts"/>
<menuitem id="menu_low_level" name="Low Level" parent="menu_finance_accounting"/>
<menuitem id="menu_configuration_misc" name="Miscelleanous" parent="menu_finance_configuration"/>
<menuitem id="base.menu_action_currency_form" parent="menu_configuration_misc" sequence="20"/>
<menuitem icon="terp-account" id="menu_finance" name="Financial Management" sequence="5"/>
<menuitem id="menu_finance_configuration" name="Configuration" parent="menu_finance" sequence="8"/>
<menuitem id="base.menu_action_currency_form" parent="menu_finance_configuration" sequence="20"/>
<menuitem id="menu_finance_accounting" name="Financial Accounting" parent="menu_finance_configuration"/>
<menuitem id="menu_analytic_accounting" name="Analytic Accounting" parent="menu_finance_configuration"/>
<!-- <menuitem id="menu_finance_configuration1" name="Configuration" parent="menu_finance" sequence="80"/>-->
<!-- <menuitem id="base.menu_action_currency_form" parent="menu_finance_configuration" sequence="20"/>-->
<!-- <menuitem id="menu_finance_accounting1" name="Financial Accounting" parent="menu_finance_configuration" sequence="80"/>-->
<!-- <menuitem id="menu_analytic_accounting1" name="Analytic Accounting" parent="menu_finance_configuration" sequence="80"/>-->
<menuitem id="menu_finance_reporting" name="Reporting" parent="account.menu_finance" sequence="7"/>
<menuitem id="menu_finance_generic_reporting" name="Generic Reporting" parent="account.menu_finance_reporting" sequence="1"/>
<menuitem id="menu_finance_legal_statement" name="Legal Statements" parent="account.menu_finance_reporting" sequence="2"/>
<menuitem id="menu_generic_report" name="Generic Reports" parent="account.menu_finance_legal_statement" sequence="8"/>
<!-- <menuitem id="menu_finance_reporting11" name="Reporting" parent="account.menu_finance" sequence="80"/>-->
<menuitem id="menu_finance_generic_reporting" name="Generic Reporting" parent="menu_finance_reporting" sequence="100"/>
<!-- <menuitem id="menu_finance_legal_statement1" name="Legal Statements" parent="account.menu_finance_reporting" sequence="200"/>-->
<!-- <menuitem id="menu_generic_report" name="Generic Reports" parent="account.menu_finance_legal_statement" sequence="8"/>-->
<menuitem id="menu_finance_entries" name="Accounting" parent="account.menu_finance" sequence="1"
<menuitem id="menu_finance_entries" name="Accounting" parent="menu_finance" sequence="1"
groups="group_account_user"/>
<menuitem id="account.menu_finance_recurrent_entries" name="Recurrent Entries" parent="account.menu_finance_entries" sequence="15"/>
<menuitem id="account.menu_finance_recurrent_entries" name="Recurrent Entries" parent="menu_finance_periodical_processing" sequence="15"/>
<menuitem id="menu_finance_periodical_processing" name="Periodical Processing" parent="account.menu_finance"
sequence="3"
groups="group_account_user"/>
<menuitem id="menu_account_end_year_treatments" name="End of Year Treatments" parent="account.menu_finance_periodical_processing" sequence="20"/>
<!-- <menuitem id="menu_finance_periodical_processing11" name="Periodical Processing" parent="account.menu_finance"-->
<!-- sequence="3"-->
<!-- groups="group_account_user"/>-->
<menuitem id="menu_account_end_year_treatments" name="End of Period" parent="menu_finance_periodical_processing"/>
<menuitem id="menu_finance_statastic_report_statement" name="Satistic Reports" parent="account.menu_finance_reporting" sequence="3"/>
<menuitem id="menu_finance_statistic_report_statement" name="Statistic Reports" parent="menu_finance_reporting" sequence="300"/>
</data>
</openerp>
+37 -10
View File
@@ -498,9 +498,17 @@ class account_move_line(osv.osv):
return False
return True
def _check_company_id(self, cr, uid, ids):
lines = self.browse(cr, uid, ids)
for l in lines:
if l.company_id != l.account_id.company_id or l.company_id != l.period_id.company_id:
return False
return True
_constraints = [
(_check_no_view, 'You can not create move line on view account.', ['account_id']),
(_check_no_closed, 'You can not create move line on closed account.', ['account_id']),
(_check_company_id,'Company must be same for its related account and period.',['company_id'] ),
]
#TODO: ONCHANGE_ACCOUNT_ID: set account_tax_id
@@ -530,9 +538,8 @@ class account_move_line(osv.osv):
date = datetime.now().strftime('%Y-%m-%d')
part = self.pool.get('res.partner').browse(cr, uid, partner_id)
if part.property_payment_term and part.property_payment_term.line_ids:
payterm = part.property_payment_term.line_ids[0]
res = self.pool.get('account.payment.term').compute(cr, uid, payterm.id, 100, date)
if part.property_payment_term:
res = self.pool.get('account.payment.term').compute(cr, uid, part.property_payment_term.id, 100, date)
if res:
val['date_maturity'] = res[0][0]
if not account_id:
@@ -540,10 +547,10 @@ class account_move_line(osv.osv):
id2 = part.property_account_receivable.id
if journal:
jt = self.pool.get('account.journal').browse(cr, uid, journal).type
if jt=='sale':
if jt == 'sale':
val['account_id'] = self.pool.get('account.fiscal.position').map_account(cr, uid, part and part.property_account_position or False, id2)
elif jt=='purchase':
elif jt == 'purchase':
val['account_id'] = self.pool.get('account.fiscal.position').map_account(cr, uid, part and part.property_account_position or False, id1)
if val.get('account_id', False):
d = self.onchange_account_id(cr, uid, ids, val['account_id'])
@@ -570,11 +577,21 @@ class account_move_line(osv.osv):
# writeoff; entry generated for the difference between the lines
#
def reconcile_partial(self, cr, uid, ids, type='auto', context={}):
def reconcile_partial(self, cr, uid, ids, type='auto', context=None):
merges = []
unmerge = []
total = 0.0
merges_rec = []
company_list = []
if context is None:
context = {}
for line in self.browse(cr, uid, ids, context=context):
if company_list and not line.company_id.id in company_list:
raise osv.except_osv(_('Warning !'), _('To reconcile the entries company should be the same for all entries'))
company_list.append(line.company_id.id)
for line in self.browse(cr, uid, ids, context):
if line.reconcile_id:
raise osv.except_osv(_('Warning'), _('Already Reconciled!'))
@@ -588,6 +605,7 @@ class account_move_line(osv.osv):
else:
unmerge.append(line.id)
total += (line.debit or 0.0) - (line.credit or 0.0)
if not total:
res = self.reconcile(cr, uid, merges+unmerge, context=context)
return res
@@ -598,13 +616,22 @@ class account_move_line(osv.osv):
self.pool.get('account.move.reconcile').reconcile_partial_check(cr, uid, [r_id] + merges_rec, context=context)
return True
def reconcile(self, cr, uid, ids, type='auto', writeoff_acc_id=False, writeoff_period_id=False, writeoff_journal_id=False, context={}):
def reconcile(self, cr, uid, ids, type='auto', writeoff_acc_id=False, writeoff_period_id=False, writeoff_journal_id=False, context=None):
lines = self.browse(cr, uid, ids, context=context)
unrec_lines = filter(lambda x: not x['reconcile_id'], lines)
credit = debit = 0.0
currency = 0.0
account_id = False
partner_id = False
if context is None:
context = {}
company_list = []
for line in self.browse(cr, uid, ids, context=context):
if company_list and not line.company_id.id in company_list:
raise osv.except_osv(_('Warning !'), _('To reconcile the entries company should be the same for all entries'))
company_list.append(line.company_id.id)
for line in unrec_lines:
if line.state <> 'valid':
raise osv.except_osv(_('Error'),
@@ -837,7 +864,7 @@ class account_move_line(osv.osv):
if vals.get('date', False):
todo_date = vals['date']
del vals['date']
for line in self.browse(cr, uid, ids,context=context):
ctx = context.copy()
if ('journal_id' not in ctx):
@@ -849,8 +876,8 @@ class account_move_line(osv.osv):
if line.move_id:
ctx['period_id'] = line.move_id.period_id.id
else:
ctx['period_id'] = line.period_id.id
#Check for centralisation
ctx['period_id'] = line.period_id.id
#Check for centralisation
journal = self.pool.get('account.journal').browse(cr, uid, ctx['journal_id'], context=ctx)
if journal.centralisation:
self._check_moves(cr, uid, context=ctx)
+5 -5
View File
@@ -23,7 +23,7 @@
<report auto="False" id="account_intracom" menu="False" model="account.move.line" name="account.intracom" string="IntraCom"/>
<report id="account_move_line_list" model="account.tax.code" name="account.tax.code.entries" rml="account/report/account_tax_code.rml" string="All Entries"/>
<report
auto="False"
id="account_vat_declaration"
@@ -32,21 +32,21 @@
name="account.vat.declaration"
rml="account/report/tax_report.rml"
string="Taxes Report"/>
<report id="report_account_voucher_new"
string="Print Voucher"
string="Voucher"
model="account.move"
name="account.move.voucher"
rml="account/report/voucher_print.rml"
auto="False"
header = "False"
menu="True"/>
<menuitem
id="menu_tax_report"
name="Taxes"
parent="account.menu_finance_generic_reporting" sequence="3"/>
<!-- <wizard
id="wizard_vat_declaration"
menu="False"
+149 -77
View File
@@ -135,8 +135,10 @@
<field name="check_history"/>
<field name="type" select="1"/>
<newline/>
<field colspan="4" name="tax_ids" domain="[('parent_id','=',False)]"/>
<field name="child_consol_ids" colspan="4" attrs="{'readonly':[('type','!=','consolidation')]}"/>
<separator string="Default Taxes" colspan="4"/>
<field colspan="4" name="tax_ids" nolabel="1" domain="[('parent_id','=',False)]"/>
<separator string="Consolidated Children" colspan="4"/>
<field name="child_consol_ids" colspan="4" nolabel="1" attrs="{'readonly':[('type','!=','consolidation')]}"/>
</page>
<page string="Notes">
<field colspan="4" name="note" nolabel="1"/>
@@ -146,7 +148,7 @@
</field>
</record>
<record id="view_account_search" model="ir.ui.view">
<record id="view_account_search" model="ir.ui.view">
<field name="name">account.account.search</field>
<field name="model">account.account</field>
<field name="type">search</field>
@@ -161,13 +163,13 @@
</record>
<record id="action_account_form" model="ir.actions.act_window">
<field name="name">List of Accounts</field>
<field name="name">Accounts</field>
<field name="res_model">account.account</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,graph</field>
<field name="search_view_id" ref="view_account_search"/>
</record>
<menuitem id="account_account_menu" name="Financial Accounts" parent="account.menu_finance_accounting"/>
<menuitem id="account_account_menu" name="Accounts" parent="menu_finance_accounting"/>
<menuitem action="action_account_form" id="menu_action_account_form" parent="account_account_menu"/>
<record id="view_account_tree" model="ir.ui.view">
@@ -195,7 +197,7 @@
<field name="view_id" ref="view_account_tree"/>
<field name="domain">[('parent_id','=',False)]</field>
</record>
<menuitem action="action_account_tree" id="menu_action_account_tree" parent="account.account_account_menu"/>
<!-- <menuitem action="action_account_tree" id="menu_action_account_tree" parent="account.account_account_menu"/>-->
<!--
Journal
@@ -270,50 +272,51 @@
<group colspan="4" col="6">
<field name="name" select="1"/>
<field name="code" select="1"/>
<field name="active" select="1"/>
<field name="type"/>
<field name="type" on_change="onchange_type(type)"/>
<field name="refund_journal" attrs="{'readonly':[('type','=','general'),('type','=','cash'),('type','=','situation')]}"/>
</group>
<notebook colspan="4">
<notebook colspan="4">
<page string="General Information">
<group colspan="2" col="2">
<separator string="Journal View" colspan="4"/>
<field name="view_id"/>
<field name="view_id" widget="selection"/>
</group>
<group colspan="2" col="2">
<separator string="Sequence" colspan="4"/>
<field name="sequence_id"/>
<field name="invoice_sequence_id"/>
</group>
<group colspan="2" col="2">
<separator string="Accounts" colspan="4"/>
<field name="default_debit_account_id" attrs="{'required':[('type','=','cash')]}" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
<field name="default_credit_account_id" attrs="{'required':[('type','=','cash')]}" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
</group>
<group colspan="2" col="2">
<separator string="Validations" colspan="4"/>
<group colspan="2" col="2">
<separator string="Validations" colspan="4"/>
<field name="allow_date" groups="base.group_extended"/>
</group>
<group colspan="2" col="2">
<separator string="Company" colspan="4"/>
<separator string="Company" colspan="4"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="user_id" groups="base.group_extended"/>
<field name="currency"/>
</group>
<group colspan="2" col="2">
<separator string="Other Configuration" colspan="4"/>
<field name="centralisation"/>
<field name="group_invoice_lines"/>
<field name="update_posted"/>
<separator string="Other Configuration" colspan="4"/>
<field name="centralisation" groups="base.group_extended"/>
<field name="entry_posted"/>
<group colspan="2" col="2">
<separator string="Invoicing Data" colspan="4"/>
<field name="invoice_sequence_id"/>
<field name="group_invoice_lines"/>
</group>
</group>
</page>
<page string="Entry Controls">
<page string="Entry Controls" groups="base.group_extended">
<separator colspan="4" string="Accounts Type Allowed (empty for no control)"/>
<field colspan="4" name="type_control_ids" nolabel="1"/>
<separator colspan="4" string="Accounts Allowed (empty for no control)"/>
@@ -324,12 +327,12 @@
</field>
</record>
<record id="action_account_journal_form" model="ir.actions.act_window">
<field name="name">Financial Journals</field>
<field name="name">Journals</field>
<field name="res_model">account.journal</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="action_account_journal_form" id="menu_action_account_journal_form" parent="menu_finance_accounting"/>
<menuitem action="action_account_journal_form" id="menu_action_account_journal_form" parent="account_account_menu"/>
<record id="view_bank_statement_tree" model="ir.ui.view">
<field name="name">account.bank.statement.tree</field>
@@ -405,20 +408,20 @@
<group col="7" colspan="4">
<field name="state"/>
<field name="balance_end"/>
<button name="button_dummy" states="draft" string="Compute" icon="gtk-execute"/>
<button name="button_confirm" states="draft" string="Confirm" type="object" icon="gtk-apply"/>
<button name="button_cancel" states="confirm" string="Cancel" type="object" icon="gtk-cancel"/>
<button name="button_dummy" states="draft" string="Compute" icon="terp-stock_format-scientific"/>
<button name="button_confirm" states="draft" string="Confirm" type="object" icon="terp-camera_test"/>
<button name="button_cancel" states="confirm" string="Cancel" type="object" icon="terp-gtk-stop"/>
</group>
</form>
</field>
</record>
<record id="action_bank_statement_tree" model="ir.actions.act_window">
<field name="name">Entries by Statements</field>
<field name="name">Bank Statements</field>
<field name="res_model">account.bank.statement</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="action_bank_statement_tree" id="menu_bank_statement_tree" parent="menu_finance_entries" sequence="7"/>
<menuitem string="Bank Statements" action="action_bank_statement_tree" id="menu_bank_statement_tree" parent="menu_finance_bank_and_cash" sequence="7"/>
<record id="action_bank_statement_draft_tree" model="ir.actions.act_window">
<field name="name">Draft statements</field>
@@ -463,7 +466,7 @@
<field name="total_entry"/>
<field name="total_new"/>
<field name="total_balance"/>
<button colspan="2" name="dummy" string="Compute" icon="gtk-execute"/>
<button colspan="2" name="dummy" string="Compute" icon="terp-stock_format-scientific"/>
</group>
</form>
</field>
@@ -515,7 +518,7 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="action_account_type_form" groups="base.group_extended" id="menu_action_account_type_form" parent="account.account_account_menu"/>
<menuitem action="action_account_type_form" groups="base.group_extended" id="menu_action_account_type_form" parent="menu_low_level"/>
<!--
Entries
-->
@@ -607,7 +610,7 @@
<field name="view_id" ref="view_tax_code_tree"/>
</record>
<menuitem id="next_id_27" name="Taxes" parent="account.menu_finance_accounting"/>
<menuitem action="action_tax_code_list" id="menu_action_tax_code_list" parent="next_id_27" sequence="12"/>
<menuitem action="action_tax_code_list" id="menu_action_tax_code_list" parent="menu_low_level" sequence="12"/>
<!--
@@ -621,6 +624,7 @@
<field name="arch" type="xml">
<tree string="Account Tax">
<field name="name"/>
<field name="price_include" groups="base.group_extended"/>
<field name="description"/>
</tree>
</field>
@@ -652,6 +656,7 @@
<label colspan="2" nolabel="1" string="Keep empty to use the expense account"/>
<field groups="base.group_extended" name="child_depend"/>
<field groups="base.group_extended" name="sequence"/>
<field groups="base.group_extended" name="price_include"/>
<field name="type_tax_use"/>
<newline/>
<field colspan="4" groups="base.group_extended" name="child_ids"/>
@@ -832,8 +837,8 @@
<field name="arch" type="xml">
<search string="Search Entry Lines">
<group col='10' colspan='4'>
<filter icon="terp-account" string="Draft" domain="[('state','=','draft')]" help="Draft Entry Lines"/>
<filter icon="terp-account" string="Posted" domain="[('state','=','valid')]" help="Posted Entry Lines"/>
<filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Entry Lines"/>
<filter icon="terp-camera_test" string="Posted" domain="[('state','=','valid')]" help="Posted Entry Lines"/>
<separator orientation="vertical"/>
<field name="date" select='1'/>
<field name="account_id" select='1'/>
@@ -952,8 +957,8 @@
<field name="narration" colspan="4" nolabel="1"/>
<field name="state" select="1"/>
<group col="2" colspan="2">
<button name="button_validate" states="draft" string="Validate" type="object" icon="gtk-execute"/>
<button name="button_cancel" states="posted" string="Cancel" type="object" icon="gtk-cancel"/>
<button name="button_validate" states="draft" string="Validate" type="object" icon="terp-camera_test"/>
<button name="button_cancel" states="posted" string="Cancel" type="object" icon="terp-gtk-stop"/>
</group>
</page>
<page string="Other Information">
@@ -975,8 +980,8 @@
<field name="arch" type="xml">
<search string="Search Move">
<group col='8' colspan='4'>
<filter icon="terp-account" string="Draft" domain="[('state','=','draft')]" help="Draft Move Lines"/>
<filter icon="terp-account" string="Posted" domain="[('state','=','posted')]" help="Posted Move Lines"/>
<filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Move Lines"/>
<filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Move Lines"/>
<separator orientation="vertical"/>
<field name="date" select='1'/>
<field name="name" select='1'/>
@@ -984,11 +989,11 @@
<field name="partner_id" select='1'/>
</group>
<newline/>
<group expand="1" string="Group By..." colspan="12" col="10">
<filter string="Journal" icon="terp-account" domain="[]" context="{'group_by':'journal_id'}"/>
<filter string="Period" icon="terp-account" domain="[]" context="{'group_by':'period_id'}"/>
<filter string="Type" icon="terp-account" domain="[]" context="{'group_by':'type', 'set_visible':True}"/>
<filter string="States" icon="terp-account" domain="[]" context="{'group_by':'state'}"/>
<group expand="0" string="Group By..." colspan="12" col="10">
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
<filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id'}"/>
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type', 'set_visible':True}"/>
<filter string="States" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
</group>
</search>
</field>
@@ -1002,11 +1007,22 @@
<field name="view_id" ref="view_move_tree"/>
<field name="search_view_id" ref="view_account_move_filter"/>
</record>
<record id="action_move_to_review" model="ir.actions.act_window">
<field name="name">Journal Entries to Review</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">account.move</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_move_tree"/>
<field name="search_view_id" ref="view_account_move_filter"/>
<field name="domain">[('to_check','=',True)]</field>
</record>
<menuitem action="action_move_to_review" id="menu_action_move_to_review" parent="periodical_processing_journal_entries_validation"/>
<menuitem id="next_id_29" name="Search Entries" parent="account.menu_finance_entries" sequence="40"/>
<menuitem action="action_move_line_form" id="menu_action_move_line_form" parent="next_id_29"/>
<record id="action_move_line_form_encode_by_move" model="ir.actions.act_window">
<field name="name">Journal Entries</field>
<field name="name">Journal Vouchers</field>
<field name="res_model">account.move</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
@@ -1016,6 +1032,30 @@
<menuitem action="action_move_line_form_encode_by_move" id="menu_encode_entries_by_move" parent="menu_finance_entries"/>
<record id="action_account_moves_sale" model="ir.actions.act_window">
<field name="name">Receivable Entries</field>
<field name="res_model">account.move</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_move_tree"/>
<field name="search_view_id" ref="view_account_move_filter"/>
<field name="domain">[('journal_id.type', '=', 'sale')]</field>
</record>
<menuitem action="action_account_moves_sale" id="menu_eaction_account_moves_sale" parent="menu_finance_receivables"/>
<record id="action_account_moves_purchase" model="ir.actions.act_window">
<field name="name">Payable Entries</field>
<field name="res_model">account.move</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_move_tree"/>
<field name="search_view_id" ref="view_account_move_filter"/>
<field name="domain">[('journal_id.type', '=', 'purchase')]</field>
</record>
<menuitem action="action_account_moves_purchase" id="menu_eaction_account_moves_purchase" parent="menu_finance_payables"/>
<record id="action_move_line_search" model="ir.actions.act_window">
<field name="name">Entry Lines</field>
<field name="type">ir.actions.act_window</field>
@@ -1036,6 +1076,29 @@
<field name="view_mode">form</field>
<field name="act_window_id" ref="action_move_line_search"/>
</record>
<record id="action_move_line_search_view3" model="ir.actions.act_window">
<field name="name">Cash Register</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">account.move.line</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_move_line_tree"/>
<field name="search_view_id" ref="view_account_move_line_filter"/>
<field name="domain">[('journal_id.type', '=', 'cash')]</field>
</record>
<record id="action_move_line_search_view4" model="ir.actions.act_window">
<field name="name">Checks Register</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">account.move.line</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_move_line_tree"/>
<field name="search_view_id" ref="view_account_move_line_filter"/>
<field name="domain">[('journal_id.type', '=', 'bank')]</field>
</record>
<menuitem action="action_move_line_search_view3" id="journal_cash_move_lines" parent="menu_finance_bank_and_cash"/>
<menuitem action="action_move_line_search_view4" id="journal_bank_move_lines" parent="menu_finance_bank_and_cash"/>
<menuitem action="action_move_line_search" id="menu_action_move_line_search" parent="account.next_id_29"/>
<menuitem id="menu_finance_charts" name="Charts" parent="account.menu_finance" sequence="4"/>
@@ -1090,9 +1153,9 @@
<group col="7" colspan="4">
<field name="state"/>
<field name="balance_end"/>
<button name="button_dummy" states="draft" string="Compute" icon="gtk-execute"/>
<button name="button_confirm" states="draft" string="Confirm" type="object" icon="gtk-apply"/>
<button name="button_cancel" states="confirm" string="Cancel" type="object" icon="gtk-cancel"/>
<button name="button_dummy" states="draft" string="Compute" icon="terp-stock_format-scientific"/>
<button name="button_confirm" states="draft" string="Confirm" type="object" icon="terp-camera_test"/>
<button name="button_cancel" states="confirm" string="Cancel" type="object" icon="terp-gtk-stop"/>
</group>
</form>
</field>
@@ -1107,17 +1170,17 @@
<menuitem
id="next_id_30"
name="Bank Reconciliation"
parent="account.menu_finance_periodical_processing"
parent="menu_finance_periodical_processing"
groups="group_account_user"/>
<menuitem action="action_bank_statement_reconciliation_form" id="menu_action_account_bank_reconcile_tree" parent="next_id_30"/>
<!-- <menuitem action="action_bank_statement_reconciliation_form" id="menu_action_account_bank_reconcile_tree" parent="next_id_30"/>-->
<!-- <wizard id="action_account_bank_reconcile_tree" menu="False" model="account.move.line" name="account.move.bank.reconcile" string="Bank reconciliation"/> -->
<!-- <menuitem action="action_account_bank_reconcile_tree" id="menu_action_account_bank_reconcile_check_tree" parent="account.next_id_30" type="wizard"/> -->
<!-- bank reconsilation -->
<menuitem action="action_account_bank_reconcile_tree"
id="menu_action_account_bank_reconcile_check_tree"
parent="account.next_id_30" />
id="menu_action_account_bank_reconcile_check_tree"
parent="account.next_id_30" />
<act_window
@@ -1240,12 +1303,12 @@
</field>
</record>
<record id="action_model_form" model="ir.actions.act_window">
<field name="name">Models Definition</field>
<field name="name">Define Models</field>
<field name="res_model">account.model</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="action_model_form" id="menu_action_model_form" parent="menu_finance_configuration"/>
<menuitem action="action_model_form" id="menu_action_model_form" parent="account.menu_finance_recurrent_entries"/>
<!--
@@ -1308,7 +1371,7 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="action_payment_term_form" id="menu_action_payment_term_form" parent="menu_finance_configuration"/>
<menuitem action="action_payment_term_form" id="menu_action_payment_term_form" parent="menu_configuration_misc"/>
<!--
# Account Subscriptions
@@ -1368,7 +1431,7 @@
<field name="period_type"/>
<field name="model_id"/>
<group col="2" colspan="2">
<button name="compute" states="draft,running" string="Compute" type="object" icon="gtk-execute"/>
<button name="compute" states="draft,running" string="Compute" type="object" icon="terp-stock_format-scientific"/>
<button name="remove_line" states="running" string="Remove Lines" type="object" icon="gtk-remove"/>
</group>
<separator colspan="4" string="Subscription Lines"/>
@@ -1388,7 +1451,7 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="action_subscription_form" id="menu_action_subscription_form" parent="account.menu_finance_recurrent_entries"/>
<!-- <menuitem action="action_subscription_form" id="menu_action_subscription_form" parent="account.menu_finance_recurrent_entries"/>-->
<record id="action_subscription_form_running" model="ir.actions.act_window">
<field name="name">Running Subscriptions</field>
@@ -1491,8 +1554,8 @@
<act_window domain="[('partner_id', '=', active_id), ('account_id.type', 'in', ['receivable', 'payable']), ('reconcile_id','=',False)]" id="act_account_partner_account_move_unreconciled" name="Unreconciled Receivables &amp; Payables" res_model="account.move.line" src_model="res.partner"/>
<act_window domain="[('partner_id', '=', active_id), ('account_id.type', 'in', ['receivable', 'payable'])]" id="act_account_partner_account_move_all" name="Receivables &amp; Payables" res_model="account.move.line" src_model="res.partner"/>
<act_window domain="[('partner_id', '=', active_id)]" id="act_account_partner_account_move" name="All Account Entries" res_model="account.move.line" src_model="res.partner"/>
<act_window domain="[('partner_id', '=', active_id)]" id="act_account_partner_account_move" name="All Account Entries" res_model="account.move.line" src_model="res.partner"/>
<record id="view_account_addtmpl_wizard_form" model="ir.ui.view">
<field name="name">Account Add wizard</field>
@@ -1515,14 +1578,24 @@
res_model="account.addtmpl.wizard"
context="{'tmpl_ids': active_id}"
src_model="account.account.template"
view_type="form" view_mode="form"/>
view_type="form" view_mode="form"/>
<!-- Account Templates -->
<menuitem
id="account_template_folder"
name="Templates"
parent="account.menu_finance_accounting"
parent="menu_finance_accounting"
groups="base.group_multi_company"/>
<menuitem
id="account_template_taxes"
name="Taxes"
parent="account_template_folder"
groups="base.group_multi_company" sequence="2"/>
<menuitem
id="account_template_accounts"
name="Accounts"
parent="account_template_folder"
groups="base.group_multi_company" sequence="1"/>
<record id="view_account_template_form" model="ir.ui.view">
@@ -1573,7 +1646,7 @@
</record>
<menuitem action="action_account_template_form" id="menu_action_account_template_form" parent="account_template_folder"/>
<menuitem action="action_account_template_form" id="menu_action_account_template_form" parent="account_template_accounts"/>
<!-- Chart of Accounts Templates -->
@@ -1618,7 +1691,7 @@
<field name="view_mode">tree,form</field>
</record>
<menuitem action="action_account_chart_template_form" id="menu_action_account_chart_template_form" parent="account_template_folder"/>
<menuitem action="action_account_chart_template_form" id="menu_action_account_chart_template_form" parent="account_template_accounts"/>
<!-- Account Tax Templates -->
@@ -1694,7 +1767,7 @@
<field name="view_mode">tree,form</field>
</record>
<menuitem action="action_account_tax_template_form" id="menu_action_account_tax_template_form" parent="account_template_folder" sequence="13"/>
<menuitem action="action_account_tax_template_form" id="menu_action_account_tax_template_form" parent="account_template_taxes" sequence="13"/>
<!-- Account Tax Code Templates -->
<record id="view_tax_code_template_tree" model="ir.ui.view">
@@ -1732,7 +1805,7 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="action_account_tax_code_template_form" id="menu_action_account_tax_code_template_form" parent="account_template_folder" sequence="14"/>
<menuitem action="action_account_tax_code_template_form" id="menu_action_account_tax_code_template_form" parent="account_template_taxes" sequence="14"/>
<!-- Wizard for Multi Charts of Accounts -->
@@ -1748,17 +1821,17 @@
<attribute name="string">Generate Chart of Accounts from a Chart Template</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string"
<attribute name="string"
>Generate Chart of Accounts from a Chart Template</attribute>
</separator>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">This will automatically configure your chart of accounts, bank accounts, taxes and journals according to the selected template</attribute>
<attribute name="width">150</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='rowspan'>15</attribute>
<attribute name='string'></attribute>
</xpath>
</separator>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">This will automatically configure your chart of accounts, bank accounts, taxes and journals according to the selected template</attribute>
<attribute name="width">150</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='rowspan'>15</attribute>
<attribute name='string'></attribute>
</xpath>
<group string="res_config_contents" position="replace">
<field name="company_id" widget="selection"
/>
@@ -1779,7 +1852,6 @@
</tree>
</field>
</group>
<xpath expr='//button[@name="action_skip"]' position='replace'/>
</data>
</field>
</record>
+1 -1
View File
@@ -33,7 +33,7 @@
-->
<!-- automatic reconcile -->
<menuitem id="next_id_20" name="Reconciliation" parent="menu_finance_periodical_processing"/>
<!-- <menuitem id="next_id_20" name="Reconciliation" parent="menu_finance_periodical_processing"/>-->
<!-- <wizard id="wizard_automatic_reconcile" menu="False" model="account.account" name="account.automatic.reconcile" string="Automatic reconciliation"/>
<menuitem action="wizard_automatic_reconcile" id="menu_automatic_reconcile" parent="next_id_20" type="wizard"/>-->
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<!--
Administrator shortcut
Demo user startup menu
@@ -6,13 +6,6 @@
<field name="name">Accountants</field>
</record>
<record id="action_account_analytic_line_to_invoice" model="ir.actions.act_window">
<field name="name">Costs to invoice</field>
<field name="res_model">report.account.analytic.line.to.invoice</field>
<field name="view_type">form</field>
<field name="view_mode">graph,tree</field>
</record>
<record id="action_aged_receivable" model="ir.actions.act_window">
<field name="name">Receivable Accounts</field>
<field name="res_model">report.account.receivable</field>
@@ -28,9 +21,6 @@
<field name="domain">[('type','=','income')]</field>
</record>
<act_window domain="[('state','&lt;&gt;','close'),('partner_id','&lt;&gt;',False),('to_invoice', '&lt;&gt;', False)]" id="act_my_account" name="Accounts to invoice" res_model="account.analytic.account" src_model="res.users" view_mode="tree,form" view_type="form"/>
<record id="board_account_form" model="ir.ui.view">
<field name="name">board.account.form</field>
<field name="model">board.board</field>
@@ -38,25 +28,12 @@
<field name="arch" type="xml">
<form string="Account Board">
<hpaned>
<child1>
<action colspan="4" height="160" name="%(hr_timesheet_invoice.action_analytic_account_tree)d" string="Analytic accounts to close" width="510"/>
<action colspan="4" height="160" name="%(act_my_account)d" string="Accounts to invoice" width="510"/>
<action colspan="4" height="160" name="%(account.action_invoice_tree1)d" string="Draft Customer Invoices" domain="[('state','=','draft'),('type','=','out_invoice')]"/>
</child1>
<child2>
<button colspan="4" icon="terp-purchase" name="%(account_report.action_account_report_tree_view_indicator)d" string="My indicators" type="action"/>
<action colspan="4" height="220" name="%(action_account_analytic_line_to_invoice)d" string="Costs to invoice"/>
<action colspan="4" height="220" name="%(action_aged_receivable)d" string="Aged receivables"/>
<action colspan="4" height="220" name="%(action_aged_income)d" string="Aged income"/>
</child2>
</hpaned>
</form>
@@ -71,6 +48,7 @@
<field name="usage">menu</field>
<field name="view_id" ref="board_account_form"/>
</record>
<menuitem icon="terp-graph" id="base.dashboard" name="Dashboards" sequence="2" parent="base.reporting_menu"/>
<menuitem id="next_id_68" name="Accounting" parent="base.dashboard"
groups="account.group_account_manager"/>
+57 -52
View File
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-04-18 09:39+0000\n"
"Last-Translator: Albert Cervera i Areny - http://www.NaN-tic.com <albert@nan-"
"tic.com>\n"
"PO-Revision-Date: 2010-06-04 09:39+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: 2010-04-21 04:06+0000\n"
"X-Launchpad-Export-Date: 2010-06-11 03:42+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account
@@ -61,12 +61,12 @@ msgstr "Nom de model no vàlid en la definició de l'acció."
#. module: account
#: help:account.journal,currency:0
msgid "The currency used to enter statement"
msgstr "La moneda utilitzada per introduir assentaments"
msgstr "La divisa utilitzada per introduir assentaments"
#. module: account
#: wizard_view:account_use_models,init_form:0
msgid "Select Message"
msgstr "Selecciona missatge"
msgstr "Seleccioneu missatge"
#. module: account
#: help:product.category,property_account_income_categ:0
@@ -189,7 +189,7 @@ msgstr "Plans comptables"
#. module: account
#: model:ir.actions.wizard,name:account.wizard_move_line_select
msgid "Move line select"
msgstr "Selecciona línia moviment"
msgstr "Seleccioneu línia moviment"
#. module: account
#: rml:account.journal.period.print:0
@@ -202,7 +202,7 @@ msgstr "Ref. assentament"
#. module: account
#: model:ir.model,name:account.model_account_model_line
msgid "Account Model Entries"
msgstr "Línia de model d'assentament"
msgstr "Líniees de model d'assentament"
#. module: account
#: field:account.tax.code,sum_period:0
@@ -315,7 +315,7 @@ msgstr "Pagaments fora de termini"
#: wizard_view:account.analytic.account.quantity_cost_ledger.report,init:0
#: wizard_view:account.vat.declaration,init:0
msgid "Select period"
msgstr "Selecciona període"
msgstr "Seleccioneu període"
#. module: account
#: field:account.invoice,origin:0
@@ -457,7 +457,7 @@ msgstr "Estat"
#: model:ir.actions.act_window,name:account.action_invoice_tree13
#: model:ir.ui.menu,name:account.menu_action_invoice_tree13
msgid "Unpaid Supplier Refunds"
msgstr "Factures d'abonament de proveïdor sense pagar"
msgstr "Factures rectificatives (abonament) de proveïdor sense pagar"
#. module: account
#: view:account.tax:0
@@ -710,7 +710,7 @@ msgstr "Informació addicional"
#. module: account
#: selection:account.invoice,type:0
msgid "Customer Refund"
msgstr "Factura d'abonament de client"
msgstr "Factura rectificativa (abonament) de client"
#. module: account
#: wizard_view:account.analytic.account.chart,init:0
@@ -909,7 +909,7 @@ msgstr "Diari de desajust"
#: field:account.model.line,amount_currency:0
#: field:account.move.line,amount_currency:0
msgid "Amount Currency"
msgstr "Import canvi"
msgstr "Import divisa"
#. module: account
#: field:account.chart.template,property_account_expense_categ:0
@@ -938,7 +938,7 @@ msgstr "Exercici fiscal per obrir"
#. module: account
#: view:account.config.wizard:0
msgid "Select Chart of Accounts"
msgstr "Selecciona pla comptable"
msgstr "Seleccioneu un pla comptable"
#. module: account
#: field:account.analytic.account,quantity:0
@@ -1242,7 +1242,7 @@ msgstr ""
#. module: account
#: field:account.account,company_currency_id:0
msgid "Company Currency"
msgstr "Moneda de la companyia"
msgstr "Divisa de la companyia"
#. module: account
#: model:ir.model,name:account.model_account_fiscal_position_account_template
@@ -1353,7 +1353,7 @@ msgstr "Missatge"
#. module: account
#: model:process.node,note:account.process_node_supplierpaymentorder0
msgid "Select invoices you want to pay and manages advances"
msgstr "Selecciona factures que es volen pagar i gestiona avançaments"
msgstr "Seleccioneu les factures que voleu pagar i gestionar avançaments"
#. module: account
#: selection:account.account,type:0
@@ -1887,7 +1887,7 @@ msgstr "Data inicial"
#. module: account
#: model:account.journal,name:account.refund_expenses_journal
msgid "x Expenses Credit Notes Journal"
msgstr "x Diari factures d'abonament de despeses"
msgstr "x Diari factures rectificatives (abonament) de despeses"
#. module: account
#: field:account.analytic.journal,type:0
@@ -1914,7 +1914,7 @@ msgstr "Base imposable"
#: field:account.tax,account_collected_id:0
#: field:account.tax.template,account_collected_id:0
msgid "Invoice Tax Account"
msgstr "Compte impostos de factura"
msgstr "Compte impostos de factures"
#. module: account
#: view:account.move.line:0
@@ -2026,7 +2026,7 @@ msgstr "Informe analític de diari"
#: model:ir.actions.act_window,name:account.action_invoice_tree3
#: model:ir.ui.menu,name:account.menu_action_invoice_tree3
msgid "Customer Refunds"
msgstr "Factures d'abonament de client"
msgstr "Factures rectificatives (abonament) de client"
#. module: account
#: rml:account.vat.declaration:0
@@ -2047,7 +2047,7 @@ msgstr "Nom diari-període"
#: field:account.tax.code,name:0
#: field:account.tax.code.template,name:0
msgid "Tax Case Name"
msgstr "Nom impost del cas"
msgstr "Nom codi d'impost"
#. module: account
#: help:account.journal,entry_posted:0
@@ -2057,7 +2057,7 @@ msgid ""
"manual validation."
msgstr ""
"Marqueu aquesta casella si no voleu que els nous assentaments passin per "
"l'estat 'esborrany' i vagin directament a l'estat 'fixat' sense validar-se "
"l'estat 'Esborrany' i vagin directament a l'estat 'Fixat' sense validar-los "
"manualment."
#. module: account
@@ -2144,7 +2144,7 @@ msgstr "Anterior"
#: field:account.model.line,currency_id:0
#: field:account.move.line,currency_id:0
msgid "Currency"
msgstr "Moneda"
msgstr "Divisa"
#. module: account
#: model:ir.actions.act_window,name:account.act_account_journal_2_account_invoice_opened
@@ -2179,7 +2179,8 @@ msgid "Analytic Entry"
msgstr "Assentament analític"
#. module: account
#: view:res.company:0 field:res.company,overdue_msg:0
#: view:res.company:0
#: field:res.company,overdue_msg:0
msgid "Overdue Payments Message"
msgstr "Missatge de pagaments fora de termini"
@@ -2285,7 +2286,7 @@ msgstr "Diari assentaments d'obertura"
#. module: account
#: view:account.config.wizard:0
msgid "Create a Fiscal Year"
msgstr "Crea un exercici fiscal"
msgstr "Creeu un exercici fiscal"
#. module: account
#: field:product.template,taxes_id:0
@@ -2320,7 +2321,8 @@ msgstr "2"
#: wizard_view:account.chart,init:0
msgid "(If you do not select Fiscal year it will take all open fiscal years)"
msgstr ""
"(Si no es selecciona cap any fiscal s'utilitzen tots els anys fiscals oberts)"
"(Si no es selecciona cap exercici fiscal s'utilitzen tots els exercicis "
"fiscals oberts)"
#. module: account
#: help:account.invoice.tax,base_code_id:0
@@ -2467,7 +2469,7 @@ msgstr "Data final"
#: model:ir.actions.act_window,name:account.action_move_line_tree1
#: model:ir.ui.menu,name:account.menu_action_move_line_search
msgid "Entry Lines"
msgstr "Línies de l'extracte"
msgstr "Apunts"
#. module: account
#: view:account.tax:0
@@ -2526,7 +2528,7 @@ msgstr "Assentaments conciliats"
#. module: account
#: help:account.bank.statement.reconcile,total_second_amount:0
msgid "The amount in the currency of the journal"
msgstr "La quantitat en la moneda del diari"
msgstr "La quantitat en la divisa del diari"
#. module: account
#: wizard_field:account.general.ledger.report,checktype,landscape:0
@@ -2836,7 +2838,7 @@ msgstr "Companyies que es refereixen a l'empresa"
#. module: account
#: field:account.move.line,date:0
msgid "Effective date"
msgstr "Data vigència"
msgstr "Data"
#. module: account
#: help:account.tax.template,sequence:0
@@ -2961,7 +2963,7 @@ msgstr "1cm 27.7cm 20cm 27.7cm"
#: model:ir.actions.act_window,name:account.action_invoice_tree12
#: model:ir.ui.menu,name:account.menu_action_invoice_tree12
msgid "Draft Supplier Refunds"
msgstr "Factures d'abonament de proveïdor esborrany"
msgstr "Factures rectificatives (abonament) de proveïdor esborrany"
#. module: account
#: model:process.node,name:account.process_node_accountingstatemententries0
@@ -3048,7 +3050,7 @@ msgstr "Taxa de divises de sortida"
#: model:ir.actions.act_window,name:account.action_invoice_tree10
#: model:ir.ui.menu,name:account.menu_action_invoice_tree10
msgid "Draft Customer Refunds"
msgstr "Factures d'abonament de client esborrany"
msgstr "Factures rectificatives (abonament) de client esborrany"
#. module: account
#: field:account.journal.column,readonly:0
@@ -3606,7 +3608,7 @@ msgstr "Impressió"
#: model:ir.actions.act_window,name:account.action_invoice_tree4_new
#: model:ir.ui.menu,name:account.menu_action_invoice_tree4_new
msgid "New Supplier Refund"
msgstr "Nova factura d'abonament de proveïdor"
msgstr "Nova factura rectificativa (abonament) de proveïdor"
#. module: account
#: view:account.model:0
@@ -3616,7 +3618,7 @@ msgstr "Model d'assentament"
#. module: account
#: wizard_field:account.general.ledger.report,checktype,amount_currency:0
msgid "With Currency"
msgstr "Amb moneda"
msgstr "Mostra divisa"
#. module: account
#: view:account.account:0
@@ -3721,12 +3723,12 @@ msgstr "Codificació extracte"
#: wizard_view:account.invoice.refund,init:0
#: model:ir.actions.wizard,name:account.wizard_invoice_refund
msgid "Credit Note"
msgstr "Factura d'abonament"
msgstr "Factura rectificativa (abonament)"
#. module: account
#: model:ir.actions.todo,note:account.config_fiscalyear
msgid "Define Fiscal Years and Select Charts of Account"
msgstr "Defineix exercicis fiscals i selecciona pla comptable"
msgstr "Definiu els exercicis fiscals i seleccioneu el pla comptable"
#. module: account
#: wizard_field:account.move.line.reconcile,addendum,period_id:0
@@ -3736,7 +3738,7 @@ msgstr "Període de desajust"
#. module: account
#: selection:account.config.wizard,period:0
msgid "3 Months"
msgstr "3 mesos"
msgstr "Trimestral"
#. module: account
#: wizard_view:account.move.journal,init:0
@@ -3800,7 +3802,7 @@ msgstr "Data inicial"
#. module: account
#: wizard_view:account.general.ledger.report,account_selection:0
msgid "Select Chart"
msgstr "Selecciona pla comptable"
msgstr "Seleccioneu un pla comptable"
#. module: account
#: selection:account.chart,init,target_move:0
@@ -3867,7 +3869,7 @@ msgstr "Seqüència de l'assentament"
#: selection:account.account,type:0
#: selection:account.account.template,type:0
msgid "Closed"
msgstr "Tancat"
msgstr "Tancament"
#. module: account
#: model:process.node,name:account.process_node_paymententries0
@@ -4022,7 +4024,7 @@ msgstr "Propietats de comptabilitat del client"
#. module: account
#: view:account.bank.statement:0
msgid "Select entries"
msgstr "Selecciona les entrades"
msgstr "Seleccioneu les entrades"
#. module: account
#: selection:account.chart,init,target_move:0
@@ -4048,7 +4050,7 @@ msgstr "Compte a pagar"
#: field:account.account,currency_id:0
#: field:account.account.template,currency_id:0
msgid "Secondary Currency"
msgstr "Moneda secundària"
msgstr "Divisa secundària"
#. module: account
#: field:account.account,credit:0
@@ -4083,7 +4085,7 @@ msgstr ""
#: field:account.tax,account_paid_id:0
#: field:account.tax.template,account_paid_id:0
msgid "Refund Tax Account"
msgstr "Compte impostos de devolucions"
msgstr "Compte impostos de reintegraments"
#. module: account
#: field:account.tax.code,child_ids:0
@@ -4186,7 +4188,7 @@ msgstr "Seqüències de diaris separades"
#. module: account
#: help:account.bank.statement.reconcile,total_second_currency:0
msgid "The currency of the journal"
msgstr "La moneda del diari"
msgstr "La divisa del diari"
#. module: account
#: view:account.journal.column:0
@@ -4429,7 +4431,7 @@ msgstr "Fixat"
#: view:account.tax:0
#: view:account.tax.template:0
msgid "Credit Notes"
msgstr "Factures d'abonament"
msgstr "Factures rectificatives (abonament)"
#. module: account
#: field:account.config.wizard,date2:0
@@ -4621,7 +4623,7 @@ msgstr "Per data"
#: model:ir.actions.act_window,name:account.action_invoice_tree4
#: model:ir.ui.menu,name:account.menu_action_invoice_tree4
msgid "Supplier Refunds"
msgstr "Factures d'abonament de proveïdor"
msgstr "Factures rectificatives (abonament) de proveïdor"
#. module: account
#: help:account.model.line,date:0
@@ -4951,7 +4953,7 @@ msgstr "Confirmat"
#. module: account
#: wizard_view:account.account.balance.report,account_selection:0
msgid "Select parent account"
msgstr "Selecciona compte pare"
msgstr "Seleccioneu el compte pare"
#. module: account
#: field:account.account.template,parent_id:0
@@ -5126,7 +5128,7 @@ msgstr "Compte d'ingressos en plantilla producte"
#: help:account.account.template,currency_id:0
msgid "Force all moves for this account to have this secondary currency."
msgstr ""
"Força a tots els moviments d'aquest compte que tinguin aquesta moneda "
"Força a tots els moviments d'aquest compte que tinguin aquesta divisa "
"secundària."
#. module: account
@@ -5140,7 +5142,7 @@ msgstr "_Cancel·la"
#: wizard_view:account.partner.balance.report,init:0
#: wizard_view:account.third_party_ledger.report,init:0
msgid "Select Date-Period"
msgstr "Selecciona data-període"
msgstr "Seleccioneu data-període"
#. module: account
#: rml:account.analytic.account.inverted.balance:0
@@ -5169,7 +5171,7 @@ msgstr "Grup de l'impost"
#: model:ir.actions.act_window,name:account.action_invoice_tree3_new
#: model:ir.ui.menu,name:account.menu_action_invoice_tree3_new
msgid "New Customer Refund"
msgstr "Nova factura d'abonament de client"
msgstr "Nova factura rectificativa (abonament) de client"
#. module: account
#: help:wizard.multi.charts.accounts,seq_journal:0
@@ -5343,7 +5345,7 @@ msgstr "Filtrat per data"
#. module: account
#: wizard_view:populate_statement_from_inv,init:0
msgid "Choose Journal and Payment Date"
msgstr "Selecciona diari i data de pagament"
msgstr "Seleccioneu diari i data de pagament"
#. module: account
#: selection:account.analytic.account,state:0
@@ -5367,7 +5369,7 @@ msgstr "Pagat"
#: model:ir.actions.act_window,name:account.action_invoice_tree11
#: model:ir.ui.menu,name:account.menu_action_invoice_tree11
msgid "Unpaid Customer Refunds"
msgstr "Factures d'abonament de client sense pagar"
msgstr "Factures rectificatives (abonament) de client sense pagar"
#. module: account
#: help:account.invoice,residual:0
@@ -5524,7 +5526,7 @@ msgstr "Fi del període"
#: view:account.move:0
#: model:ir.model,name:account.model_account_move
msgid "Account Entry"
msgstr "Assentament de compte"
msgstr "Assentament comptable"
#. module: account
#: rml:account.general.journal:0
@@ -5555,7 +5557,7 @@ msgstr "Saldo pendent"
#. module: account
#: rml:account.invoice:0
msgid "Refund"
msgstr "Factura d'abonament"
msgstr "Factura rectificativa (abonament)"
#. module: account
#: model:ir.model,name:account.model_account_invoice_tax
@@ -5792,7 +5794,7 @@ msgstr ""
#: field:account.tax.code,code:0
#: field:account.tax.code.template,code:0
msgid "Case Code"
msgstr "Codi cas"
msgstr "Codi"
#. module: account
#: selection:account.automatic.reconcile,init,power:0
@@ -5916,7 +5918,7 @@ msgstr "Deixeu-lo buit per a tots els exercicis fiscals oberts"
#: rml:account.invoice:0
#: selection:account.invoice,type:0
msgid "Supplier Refund"
msgstr "Factura d'abonament de proveïdor"
msgstr "Factura rectificativa (abonament) de proveïdor"
#. module: account
#: model:process.transition,note:account.process_transition_entriesreconcile0
@@ -6072,3 +6074,6 @@ msgstr ""
#: wizard_button:account.subscription.generate,init,generate:0
msgid "Compute Entry Dates"
msgstr "Calcula les dates de l'assentament"
#~ msgid "account.config.wizard"
#~ msgstr "account.config.assistent"
+12 -10
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-04-16 09:47+0000\n"
"PO-Revision-Date: 2010-06-09 15:10+0000\n"
"Last-Translator: Ferdinand @ ChriCar <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: 2010-04-21 04:06+0000\n"
"X-Launchpad-Export-Date: 2010-06-11 03:42+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account
@@ -272,10 +272,6 @@ msgid ""
"in which order. You can create your own view for a faster encoding in each "
"journal."
msgstr ""
"zeigt die Ansicht des Journalberichtes. Open ERP wird gezeigt welche Felder "
"sichtbar sein sollen, welche erforderlich sind oder keine Schreibrechte habe "
"und in der Reihenfolge der Auftragsnummern. Sie können einen eigenen View "
"für eine schnellere Buchungsbearbeitung herstellen."
#. module: account
#: help:account.invoice,date_due:0
@@ -2176,7 +2172,8 @@ msgid "Analytic Entry"
msgstr "Buchung Analysekonto"
#. module: account
#: view:res.company:0 field:res.company,overdue_msg:0
#: view:res.company:0
#: field:res.company,overdue_msg:0
msgid "Overdue Payments Message"
msgstr "Text Zahlungserinnerung"
@@ -3314,7 +3311,9 @@ msgstr "Buchen OP Ausgleich"
#. module: account
#: wizard_view:account.wizard_paid_open,init:0
msgid "(Invoice should be unreconciled if you want to open it)"
msgstr "(Rechnungen müssen ausgeglichen werden)"
msgstr ""
"(Rechnungen dürfen nicht ausgeglichen sein, wenn diese wieder geöffnet "
"werden sollen)"
#. module: account
#: view:account.invoice:0
@@ -4905,7 +4904,7 @@ msgstr "Details Finanzkonto"
#. module: account
#: rml:account.overdue:0
msgid "VAT:"
msgstr "USt.:"
msgstr "UID:"
#. module: account
#: rml:account.analytic.account.cost_ledger:0
@@ -5314,7 +5313,7 @@ msgstr "Benutze Buchungsvorlage"
#. module: account
#: wizard_button:account.wizard_paid_open,init,end:0
msgid "No"
msgstr "Nummer"
msgstr "Nein"
#. module: account
#: model:ir.actions.act_window,name:account.act_account_partner_account_move
@@ -6062,3 +6061,6 @@ msgstr "Aktivieren, wenn Benutzer das Konto ausgleichen dürfen."
#: wizard_button:account.subscription.generate,init,generate:0
msgid "Compute Entry Dates"
msgstr "Berechne eingegebene Daten"
#~ msgid "account.config.wizard"
#~ msgstr "account.config.wizard"
+8 -8
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-05-13 14:03+0000\n"
"Last-Translator: Carlo - didotech.com <Unknown>\n"
"PO-Revision-Date: 2010-06-15 07:00+0000\n"
"Last-Translator: eLBati - albatos.com <lorenzo.battistini@albatos.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: 2010-05-14 04:55+0000\n"
"X-Launchpad-Export-Date: 2010-06-18 03:32+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account
@@ -1176,7 +1176,7 @@ msgstr ""
#. module: account
#: field:account.payment.term,line_ids:0
msgid "Terms"
msgstr "Periodi"
msgstr "Condizioni"
#. module: account
#: rml:account.vat.declaration:0
@@ -3047,7 +3047,7 @@ msgstr ""
#. module: account
#: field:account.invoice.line,uos_id:0
msgid "Unit of Measure"
msgstr ""
msgstr "Unità di misura"
#. module: account
#: field:account.chart.template,property_account_receivable:0
@@ -3107,7 +3107,7 @@ msgstr "Imposta come bozza"
#: help:account.invoice,origin:0
#: help:account.invoice.line,origin:0
msgid "Reference of the document that produced this invoice."
msgstr ""
msgstr "Riferimento al documento che ha prodotto questa fattura."
#. module: account
#: selection:account.account,type:0
@@ -3608,7 +3608,7 @@ msgstr "Manuale"
#. module: account
#: view:account.invoice:0
msgid "Compute Taxes"
msgstr ""
msgstr "Calcola tasse"
#. module: account
#: field:wizard.multi.charts.accounts,code_digits:0
@@ -4596,7 +4596,7 @@ msgstr ""
#. module: account
#: field:account.tax,price_include:0
msgid "Tax Included in Price"
msgstr ""
msgstr "Tassa compresa nel prezzo"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_analytic_journal_tree2
+14 -13
View File
@@ -7,30 +7,30 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-04-24 15:00+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"PO-Revision-Date: 2010-06-02 08:19+0000\n"
"Last-Translator: jan@synkronized.be <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: 2010-04-17 04:08+0000\n"
"X-Launchpad-Export-Date: 2010-06-03 03:33+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account
#: field:account.tax.template,description:0
msgid "Internal Name"
msgstr ""
msgstr "Interne naam"
#. module: account
#: view:account.tax.code:0
msgid "Account Tax Code"
msgstr ""
msgstr "Belasting code"
#. module: account
#: model:ir.actions.act_window,name:account.action_invoice_tree9
#: model:ir.ui.menu,name:account.menu_action_invoice_tree9
msgid "Unpaid Supplier Invoices"
msgstr ""
msgstr "Onbetaalde inkoopfacturen"
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_entries
@@ -50,12 +50,12 @@ msgstr ""
#. module: account
#: model:account.account.type,name:account.account_type_asset
msgid "Asset"
msgstr ""
msgstr "Activa"
#. module: account
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr ""
msgstr "Ongeldige modelnaam in de actie-definitie."
#. module: account
#: help:account.journal,currency:0
@@ -65,7 +65,7 @@ msgstr ""
#. module: account
#: wizard_view:account_use_models,init_form:0
msgid "Select Message"
msgstr ""
msgstr "Kies bericht"
#. module: account
#: help:product.category,property_account_income_categ:0
@@ -82,19 +82,19 @@ msgstr ""
#. module: account
#: wizard_view:account.automatic.reconcile,reconcile:0
msgid "Reconciliation result"
msgstr ""
msgstr "Afletterresultaat"
#. module: account
#: model:ir.actions.act_window,name:account.act_account_acount_move_line_open_unreconciled
msgid "Unreconciled entries"
msgstr ""
msgstr "Niet afgeletterde boekingen"
#. module: account
#: field:account.invoice.tax,base_code_id:0
#: field:account.tax,base_code_id:0
#: field:account.tax.template,base_code_id:0
msgid "Base Code"
msgstr ""
msgstr "Basiscode"
#. module: account
#: view:account.account:0
@@ -2132,7 +2132,8 @@ msgid "Analytic Entry"
msgstr ""
#. module: account
#: view:res.company:0 field:res.company,overdue_msg:0
#: view:res.company:0
#: field:res.company,overdue_msg:0
msgid "Overdue Payments Message"
msgstr ""
+27 -26
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-05-06 09:55+0000\n"
"PO-Revision-Date: 2010-05-30 15:07+0000\n"
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <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: 2010-05-07 04:03+0000\n"
"X-Launchpad-Export-Date: 2010-05-31 03:47+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account
@@ -117,7 +117,7 @@ msgstr "Nadrzędne"
#. module: account
#: selection:account.move,type:0
msgid "Journal Voucher"
msgstr ""
msgstr "Dokument dziennika"
#. module: account
#: field:account.invoice,residual:0
@@ -136,7 +136,7 @@ msgstr ""
#: model:ir.actions.wizard,name:account.wizard_unreconcile_select
#: model:ir.ui.menu,name:account.menu_unreconcile_select
msgid "Unreconcile entries"
msgstr ""
msgstr "Skasuj uzgodnienie"
#. module: account
#: constraint:account.period:0
@@ -156,7 +156,7 @@ msgstr "Zapisy"
#. module: account
#: selection:account.move.line,centralisation:0
msgid "Debit Centralisation"
msgstr ""
msgstr "Centralizacja Winien"
#. module: account
#: model:ir.actions.wizard,name:account.wizard_invoice_state_confirm
@@ -647,7 +647,7 @@ msgstr "Warunki płatności dla partnera"
#. module: account
#: view:account.move.reconcile:0
msgid "Account Entry Reconcile"
msgstr ""
msgstr "Uzgodnienie zapisów"
#. module: account
#: wizard_button:account.move.bank.reconcile,init,open:0
@@ -867,7 +867,7 @@ msgstr "Konta analityczne"
#: model:ir.actions.wizard,name:account.wizard_print_journal
#: model:ir.ui.menu,name:account.menu_print_journal
msgid "Print Journal"
msgstr "Drukuj dziennik"
msgstr "Drukuj zapisy dzienników"
#. module: account
#: model:ir.model,name:account.model_account_bank_accounts_wizard
@@ -1339,7 +1339,7 @@ msgstr "Zamknij rok podatkowy"
#. module: account
#: field:account.journal,centralisation:0
msgid "Centralised counterpart"
msgstr ""
msgstr "Centralizacja przeciwnej strony"
#. module: account
#: view:wizard.company.setup:0
@@ -1546,7 +1546,7 @@ msgstr "Dodatnie"
#: model:ir.actions.wizard,name:account.wizard_general_journal
#: model:ir.ui.menu,name:account.menu_general_journal
msgid "Print General Journal"
msgstr ""
msgstr "Drukuj stany dzienników"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_chart_template_form
@@ -1786,7 +1786,7 @@ msgstr "Uzgodnienie zapisów z faktur i płatności"
#: model:ir.actions.wizard,name:account.wizard_central_journal
#: model:ir.ui.menu,name:account.menu_central_journal
msgid "Print Central Journal"
msgstr ""
msgstr "Drukuj konta dzienników"
#. module: account
#: wizard_field:account.aged.trial.balance,init,period_length:0
@@ -1877,7 +1877,7 @@ msgstr "Data początkowa"
#. module: account
#: model:account.journal,name:account.refund_expenses_journal
msgid "x Expenses Credit Notes Journal"
msgstr ""
msgstr "x Dziennik korekt wydatków"
#. module: account
#: field:account.analytic.journal,type:0
@@ -2010,7 +2010,7 @@ msgstr " Data początkowa"
#. module: account
#: wizard_view:account.analytic.account.journal.report,init:0
msgid "Analytic Journal Report"
msgstr ""
msgstr "Raport dzenników analitycznych"
#. module: account
#: model:ir.actions.act_window,name:account.action_invoice_tree3
@@ -2119,7 +2119,7 @@ msgstr "dni"
#. module: account
#: selection:account.aged.trial.balance,init,direction_selection:0
msgid "Past"
msgstr "Poprzednio"
msgstr "Przeszłość"
#. module: account
#: field:account.analytic.account,company_currency_id:0
@@ -2168,7 +2168,8 @@ msgid "Analytic Entry"
msgstr "Zapis analityczny"
#. module: account
#: view:res.company:0 field:res.company,overdue_msg:0
#: view:res.company:0
#: field:res.company,overdue_msg:0
msgid "Overdue Payments Message"
msgstr "Komunikat przeterminowanych płatności"
@@ -2846,7 +2847,7 @@ msgstr "Widok dziennika"
#. module: account
#: selection:account.move.line,centralisation:0
msgid "Credit Centralisation"
msgstr ""
msgstr "Centralizacja Ma"
#. module: account
#: rml:account.overdue:0
@@ -2886,7 +2887,7 @@ msgstr "Nowa Faktura Klienta"
#: wizard_button:account.move.line.reconcile,addendum,reconcile:0
#: wizard_button:account.move.line.reconcile,init_full,reconcile:0
msgid "Reconcile"
msgstr "Uzgodnij"
msgstr "Uzgodnienie"
#. module: account
#: rml:account.overdue:0
@@ -3004,7 +3005,7 @@ msgstr "Uzgodnienie"
#. module: account
#: field:account.move.line,centralisation:0
msgid "Centralisation"
msgstr ""
msgstr "Centralizacja"
#. module: account
#: field:account.invoice.tax,tax_code_id:0
@@ -3235,7 +3236,7 @@ msgstr "Uwagi"
msgid ""
"The account moves of the invoice have been reconciled with account moves of "
"the payment(s)."
msgstr "Zapisy konta dla faktury zostały uzgodnione ze zapisami płatności."
msgstr "Zapisy konta dla faktury zostały uzgodnione z zapisami płatności."
#. module: account
#: rml:account.invoice:0
@@ -3308,7 +3309,7 @@ msgstr "Uzgodnij zapisy"
#. module: account
#: wizard_view:account.wizard_paid_open,init:0
msgid "(Invoice should be unreconciled if you want to open it)"
msgstr ""
msgstr "(Faktura musi mieć skasowane uzgodnienia, jeśli chcesz ją otworzyć)"
#. module: account
#: view:account.invoice:0
@@ -3536,7 +3537,7 @@ msgstr "Zapłać i uzgodnij"
#: rml:account.central.journal:0
#: model:ir.actions.report.xml,name:account.account_central_journal
msgid "Central Journal"
msgstr "Dziennik główny"
msgstr "Konta dziennika"
#. module: account
#: rml:account.third_party_ledger:0
@@ -3922,7 +3923,7 @@ msgstr "Wprowadź ręcznie zestawienie"
#: model:ir.actions.act_window,name:account.action_account_journal_form
#: model:ir.ui.menu,name:account.menu_action_account_journal_form
msgid "Financial Journals"
msgstr "Dzienniki finansowe"
msgstr "Dzienniki księgowe"
#. module: account
#: selection:account.account.balance.report,checktype,state:0
@@ -5504,7 +5505,7 @@ msgstr "Zapis na koncie"
#: rml:account.general.journal:0
#: model:ir.actions.report.xml,name:account.account_general_journal
msgid "General Journal"
msgstr ""
msgstr "Stany dzienników"
#. module: account
#: field:account.account,balance:0
@@ -5653,7 +5654,7 @@ msgstr "Do"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_analytic_journal_open_form
msgid "Entries of Open Analytic Journals"
msgstr ""
msgstr "Zapisy otwartych dzienników analitycznych"
#. module: account
#: view:account.invoice.tax:0
@@ -5686,7 +5687,7 @@ msgstr "Rok podatkowy do zamknięcia"
#: wizard_field:account.analytic.account.quantity_cost_ledger.report,init,date1:0
#: wizard_field:account.automatic.reconcile,init,date1:0
msgid "Start of period"
msgstr "Pociątek okresu"
msgstr "Początek okresu"
#. module: account
#: model:ir.ui.menu,name:account.account_template_folder
@@ -5875,7 +5876,7 @@ msgstr "Rok podatkowy"
#. module: account
#: selection:account.aged.trial.balance,init,direction_selection:0
msgid "Future"
msgstr "Przyszłe"
msgstr "Przyszłość"
#. module: account
#: help:account.account.balance.report,checktype,fiscalyear:0
@@ -5909,7 +5910,7 @@ msgstr "Zapis"
#: model:process.transition,note:account.process_transition_reconcilepaid0
#: model:process.transition,note:account.process_transition_supplierreconcilepaid0
msgid "Paid invoice when reconciled."
msgstr ""
msgstr "Faktura zapłacona przy uzgadnianiu"
#. module: account
#: field:account.tax,python_compute_inv:0
+20 -16
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.6\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-05-06 05:39+0000\n"
"Last-Translator: digitalsatori <Unknown>\n"
"PO-Revision-Date: 2010-06-09 16:41+0000\n"
"Last-Translator: Wei \"oldrev\" Li <oldrev@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: 2010-05-07 04:03+0000\n"
"X-Launchpad-Export-Date: 2010-06-11 03:43+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account
@@ -72,7 +72,7 @@ msgstr "选择消息"
msgid ""
"This account will be used to value incoming stock for the current product "
"category"
msgstr "该科目将用于统计当前产品分类的入库金额"
msgstr "这科目将用于当前产品分类的销售收入科目"
#. module: account
#: help:account.invoice,period_id:0
@@ -222,7 +222,7 @@ msgstr "账龄试算平衡表"
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_recurrent_entries
msgid "Recurrent Entries"
msgstr "定期分录"
msgstr "周期性凭证"
#. module: account
#: field:account.analytic.line,amount:0
@@ -712,7 +712,7 @@ msgstr "客户欠款金额合计"
#. module: account
#: view:account.move.line:0
msgid "St."
msgstr ""
msgstr "结单编码"
#. module: account
#: model:ir.actions.act_window,name:account.action_tax_code_line_open
@@ -875,7 +875,7 @@ msgstr "必须的"
#: field:product.category,property_account_expense_categ:0
#: field:product.template,property_account_expense:0
msgid "Expense Account"
msgstr "费用科目"
msgstr "采购科目"
#. module: account
#: wizard_field:account.move.line.reconcile,addendum,journal_id:0
@@ -1575,7 +1575,7 @@ msgstr "科目编码"
#: view:account.tax:0
#: view:account.tax.template:0
msgid "Keep empty to use the expense account"
msgstr "留空为使用费用科目"
msgstr "留空为使用采购科目"
#. module: account
#: wizard_field:account.automatic.reconcile,init,account_ids:0
@@ -2138,7 +2138,8 @@ msgid "Analytic Entry"
msgstr "辅助核算凭证"
#. module: account
#: view:res.company:0 field:res.company,overdue_msg:0
#: view:res.company:0
#: field:res.company,overdue_msg:0
msgid "Overdue Payments Message"
msgstr "逾期付款信息"
@@ -3848,7 +3849,7 @@ msgstr "这会计期间可以重叠"
msgid ""
"This account will be used instead of the default one to value outgoing stock "
"for the current product"
msgstr "这科目将替换当前产品的默认出仓"
msgstr "这科目将用于当前产品分类的采购科目"
#. module: account
#: model:process.node,note:account.process_node_manually0
@@ -4171,7 +4172,7 @@ msgid ""
"Allows you to change the sign of the balance amount displayed in the "
"reports, so that you can see positive figures instead of negative ones in "
"expenses accounts."
msgstr "允许你修改报表显示的余额的符号,所以你能够看见正数的数字替代费用科目的负数"
msgstr "允许你修改报表显示的余额的符号,所以你能够看见正数的数字替代科目的负数"
#. module: account
#: help:account.config.wizard,code:0
@@ -5365,7 +5366,7 @@ msgstr "计算"
#. module: account
#: help:account.invoice.line,account_id:0
msgid "The income or expense account related to the selected product."
msgstr "选择产品的收入和费用科目"
msgstr "选择产品的收入和采购科目"
#. module: account
#: field:account.tax,type_tax_use:0
@@ -5625,7 +5626,7 @@ msgstr "说明"
msgid ""
"This account will be used instead of the default one to value incoming stock "
"for the current product"
msgstr "这科目将替换当前产品的默认进仓"
msgstr "这科目将用于当前产品的默认销售收入科目"
#. module: account
#: field:account.tax,child_ids:0
@@ -5657,7 +5658,7 @@ msgstr "科目设置"
msgid ""
"This account will be used instead of the default one as the payable account "
"for the current partner"
msgstr "这科目将替换当前业务伙伴的默认支付科目"
msgstr "这科目将用于当前业务伙伴的默认应付科目"
#. module: account
#: field:account.tax.code,code:0
@@ -5829,7 +5830,7 @@ msgstr "科目一览"
msgid ""
"This account will be used to value outgoing stock for the current product "
"category"
msgstr "这科目将替换当前产品分类的默认出仓"
msgstr "这科目将用于当前产品分类的采购科目"
#. module: account
#: help:account.tax,base_sign:0
@@ -5851,7 +5852,7 @@ msgstr "银行详情"
#. module: account
#: field:account.chart.template,property_account_expense:0
msgid "Expense Account on Product Template"
msgstr "产品费用科目模板"
msgstr "产品采购科目模板"
#. module: account
#: rml:account.analytic.account.analytic.check:0
@@ -5950,6 +5951,9 @@ msgstr "计算日期"
#~ msgid "For Value percent enter % ratio between 0-1."
#~ msgstr "值是一个百分比在0-1之间"
#~ msgid "account.config.wizard"
#~ msgstr "科目.设置.向导"
#~ msgid "For Tax Type percent enter % ratio between 0-1."
#~ msgstr "税类型是百分比在0-1之间"
+33 -36
View File
@@ -333,6 +333,7 @@ class account_invoice(osv.osv):
raise orm.except_orm(_('Configuration Error!'),
_('There is no Accounting Journal of type Sale/Purchase defined!'))
else:
raise
raise orm.except_orm(_('UnknownError'), str(e))
def confirm_paid(self, cr, uid, ids, context=None):
@@ -922,13 +923,13 @@ class account_invoice(osv.osv):
account_move_obj = self.pool.get('account.move')
invoices = self.read(cr, uid, ids, ['move_id', 'payment_ids'])
for i in invoices:
if i['move_id']:
if i['move_id']:
account_move_obj.button_cancel(cr, uid, [i['move_id'][0]])
# delete the move this invoice was pointing to
# Note that the corresponding move_lines and move_reconciles
# will be automatically deleted too
account_move_obj.unlink(cr, uid, [i['move_id'][0]])
if i['payment_ids']:
if i['payment_ids']:
account_move_line_obj = self.pool.get('account.move.line')
pay_ids = account_move_line_obj.browse(cr, uid , i['payment_ids'])
for move_line in pay_ids:
@@ -951,23 +952,8 @@ class account_invoice(osv.osv):
return taxes.values()
def _log_event(self, cr, uid, ids, factor=1.0, name='Open Invoice'):
invs = self.read(cr, uid, ids, ['type','partner_id','amount_untaxed'])
for inv in invs:
part=inv['partner_id'] and inv['partner_id'][0]
pc = pr = 0.0
cr.execute('select sum(quantity*price_unit) from account_invoice_line where invoice_id=%s', (inv['id'],))
total = inv['amount_untaxed']
if inv['type'] in ('in_invoice','in_refund'):
partnertype='supplier'
eventtype = 'purchase'
pc = total*factor
else:
partnertype = 'customer'
eventtype = 'sale'
pr = total*factor
if self.pool.get('res.partner.event.type').check(cr, uid, 'invoice_open'):
self.pool.get('res.partner.event').create(cr, uid, {'name':'Invoice: '+name, 'som':False, 'description':name+' '+str(inv['id']), 'document':name, 'partner_id':part, 'date':time.strftime('%Y-%m-%d %H:%M:%S'), 'canal_id':False, 'user_id':uid, 'partner_type':partnertype, 'probability':1.0, 'planned_revenue':pr, 'planned_cost':pc, 'type':eventtype})
return len(invs)
#TODO: implement messages system
return True
def name_get(self, cr, uid, ids, context=None):
if not len(ids):
@@ -1146,17 +1132,17 @@ account_invoice()
class account_invoice_line(osv.osv):
def _amount_line(self, cr, uid, ids, prop, unknow_none,unknow_dict):
res = {}
cur_obj=self.pool.get('res.currency')
tax_obj = self.pool.get('account.tax')
cur_obj = self.pool.get('res.currency')
for line in self.browse(cr, uid, ids):
price = line.price_unit * (1-(line.discount or 0.0)/100.0)
taxes = tax_obj.compute_all(cr, uid, line.invoice_line_tax_id, price, line.quantity)
res[line.id] = taxes['total']
if line.invoice_id:
res[line.id] = line.price_unit * line.quantity * (1-(line.discount or 0.0)/100.0)
cur = line.invoice_id.currency_id
res[line.id] = cur_obj.round(cr, uid, cur, res[line.id])
else:
res[line.id] = round(line.price_unit * line.quantity * (1-(line.discount or 0.0)/100.0),self.pool.get('decimal.precision').precision_get(cr, uid, 'Account'))
return res
def _price_unit_default(self, cr, uid, context=None):
if context is None:
context = {}
@@ -1170,7 +1156,7 @@ class account_invoice_line(osv.osv):
taxes = l[2].get('invoice_line_tax_id')
if len(taxes[0]) >= 3 and taxes[0][2]:
taxes = tax_obj.browse(cr, uid, taxes[0][2])
for tax in tax_obj.compute(cr, uid, taxes, p,l[2].get('quantity'), context.get('address_invoice_id', False), l[2].get('product_id', False), context.get('partner_id', False)):
for tax in tax_obj.compute_all(cr, uid, taxes, p,l[2].get('quantity'), context.get('address_invoice_id', False), l[2].get('product_id', False), context.get('partner_id', False))['taxes']:
t = t - tax['amount']
return t
return 0
@@ -1185,7 +1171,8 @@ class account_invoice_line(osv.osv):
'product_id': fields.many2one('product.product', 'Product', ondelete='set null'),
'account_id': fields.many2one('account.account', 'Account', required=True, domain=[('type','<>','view'), ('type', '<>', 'closed')], help="The income or expense account related to the selected product."),
'price_unit': fields.float('Unit Price', required=True, digits_compute= dp.get_precision('Account')),
'price_subtotal': fields.function(_amount_line, method=True, string='Subtotal',store=True, type="float", digits_compute= dp.get_precision('Account')),
'price_subtotal': fields.function(_amount_line, method=True, string='Subtotal', type="float",
digits_compute= dp.get_precision('Account'), store=True),
'quantity': fields.float('Quantity', required=True),
'discount': fields.float('Discount (%)', digits_compute= dp.get_precision('Account')),
'invoice_line_tax_id': fields.many2many('account.tax', 'account_invoice_line_tax', 'invoice_line_id', 'tax_id', 'Taxes', domain=[('parent_id','=',False)]),
@@ -1313,7 +1300,7 @@ class account_invoice_line(osv.osv):
result['name'] = res.partner_ref
domain = {}
result['uos_id'] = uom or res.uom_id.id or False
result['uos_id'] = res.uom_id.id or uom or False
if result['uos_id']:
res2 = res.uom_id.category_id.id
if res2 :
@@ -1336,8 +1323,22 @@ class account_invoice_line(osv.osv):
if company.currency_id.id != currency.id:
new_price = res_final['value']['price_unit'] * currency.rate
res_final['value']['price_unit'] = new_price
if uom:
uom = self.pool.get('product.uom').browse(cr, uid, uom, context=context)
if res.uom_id.category_id.id == uom.category_id.id:
new_price = res_final['value']['price_unit'] * uom.factor_inv
res_final['value']['price_unit'] = new_price
return res_final
def uos_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None):
res = self.product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, address_invoice_id, currency_id, context)
if 'uos_id' in res['value']:
del res['value']['uos_id']
if not uom:
res['value']['price_unit'] = 0.0
return res
def move_line_get(self, cr, uid, invoice_id, context=None):
res = []
tax_grouped = {}
@@ -1354,10 +1355,10 @@ class account_invoice_line(osv.osv):
continue
res.append(mres)
tax_code_found= False
for tax in tax_obj.compute(cr, uid, line.invoice_line_tax_id,
for tax in tax_obj.compute_all(cr, uid, line.invoice_line_tax_id,
(line.price_unit * (1.0 - (line['discount'] or 0.0) / 100.0)),
line.quantity, inv.address_invoice_id.id, line.product_id,
inv.partner_id):
inv.partner_id)['taxes']:
if inv.type in ('out_invoice', 'in_invoice'):
tax_code_id = tax['base_code_id']
@@ -1460,7 +1461,7 @@ class account_invoice_tax(osv.osv):
company_currency = inv.company_id.currency_id.id
for line in inv.invoice_line:
for tax in tax_obj.compute(cr, uid, line.invoice_line_tax_id, (line.price_unit* (1-(line.discount or 0.0)/100.0)), line.quantity, inv.address_invoice_id.id, line.product_id, inv.partner_id):
for tax in tax_obj.compute_all(cr, uid, line.invoice_line_tax_id, (line.price_unit* (1-(line.discount or 0.0)/100.0)), line.quantity, inv.address_invoice_id.id, line.product_id, inv.partner_id)['taxes']:
val={}
val['invoice_id'] = inv.id
val['name'] = tax['name']
@@ -1522,11 +1523,7 @@ account_invoice_tax()
class res_partner(osv.osv):
""" Inherits partner and adds invoice information in the partner form """
_inherit = 'res.partner'
_columns = {
'invoice_ids': fields.one2many('account.invoice.line', 'partner_id', 'Invoices', readonly=True),
}
'invoice_ids': fields.one2many('account.invoice.line', 'partner_id', 'Invoices', readonly=True),
}
res_partner()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+1 -1
View File
@@ -89,7 +89,7 @@ class res_partner(osv.osv):
_inherit = 'res.partner'
_description = 'Partner'
def _credit_debit_get(self, cr, uid, ids, field_names, arg, context):
query = self.pool.get('account.move.line')._query_get(cr, uid, context=context)
query = self.pool.get('account.move.line')._query_get(cr, 1, context=context)
cr.execute("""select
l.partner_id, a.type, sum(l.debit-l.credit)
from
+12 -18
View File
@@ -57,7 +57,7 @@
<menuitem
action="action_account_fiscal_position_form"
id="menu_action_account_fiscal_position_form"
parent="account.menu_finance_accounting" sequence="20"/>
parent="next_id_27" sequence="20"/>
<!--
Partners Extension
@@ -74,13 +74,13 @@
<page string="Accounting" position="inside">
<group col="2" colspan="2">
<separator string="Customer Accounting Properties" colspan="2"/>
<field name="property_account_receivable" />
<field name="property_account_receivable" groups="account.group_account_user" />
<field name="property_account_position" widget="selection"/>
<field name="property_payment_term" widget="selection"/>
</group>
<group col="2" colspan="2">
<separator string="Supplier Accounting Properties" colspan="2"/>
<field name="property_account_payable"/>
<field name="property_account_payable" groups="account.group_account_user"/>
</group>
<group col="2" colspan="2">
<separator string="Customer Credit" colspan="2"/>
@@ -118,7 +118,6 @@
<field name="acc_number"/>
</tree>
</field>
<field name="invoice_ids" colspan="4" nolabel="1" context="{'group_by':'product_id'}"/>
</page>
</notebook>
</field>
@@ -126,19 +125,14 @@
<!-- Partners info tab view-->
<record id="view_account_partner_info_form" model="ir.ui.view">
<field name="name">res.partner.account.info.inherit</field>
<field name="model">res.partner</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<notebook position="inside">
<page string="Project">
<field name="contract_ids" colspan="4" nolabel="1" />
</page>
</notebook>
</field>
</record>
<act_window
id="action_analytic_open"
name="Analytic Accounts"
res_model="account.analytic.account"
domain="[('partner_id','=',active_id)]"
src_model="res.partner"
view_type="form"
view_mode="tree,form,graph,calendar"/>
</data>
</openerp>
@@ -39,7 +39,7 @@
</record>
<record id="process_node_invoiceinvoice0" model="process.node">
<field name="menu_id" ref="account.menu_finance_invoice"/>
<field name="menu_id" ref="account.menu_finance_receivables"/>
<field name="model_id" ref="account.model_account_invoice"/>
<field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Create Invoice&quot;&quot;&quot;" name="name"/>
@@ -39,7 +39,7 @@
</record>
<record id="process_node_supplierinvoiceinvoice0" model="process.node">
<field name="menu_id" ref="account.menu_finance_invoice"/>
<field name="menu_id" ref="account.menu_finance_payables"/>
<field name="model_id" ref="account.model_account_invoice"/>
<field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Create Invoice&quot;&quot;&quot;" name="name"/>
+1 -1
View File
@@ -46,7 +46,7 @@ class account_journal(osv.osv):
_inherit="account.journal"
_columns = {
'analytic_journal_id':fields.many2one('account.analytic.journal','Analytic Journal'),
'analytic_journal_id':fields.many2one('account.analytic.journal','Analytic Journal',help="Journal for analytic entries"),
}
account_journal()
+51 -33
View File
@@ -25,8 +25,8 @@
<field name="arch" type="xml">
<search string="Analytic Account">
<group col="8" colspan="4">
<filter icon="gtk-execute" string="Current" domain="[('state','=','open')]" help="Current Accounts"/>
<filter icon="gtk-execute" string="Pending" domain="[('state','=','pending')]" help="Pending Accounts"/>
<filter icon="terp-check" string="Current" domain="[('state','=','open')]" help="Current Accounts"/>
<filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]" help="Pending Accounts"/>
<separator orientation="vertical"/>
<field name="name" select="1"/>
<field name="code" select="1"/>
@@ -101,7 +101,7 @@
<field name="search_view_id" ref="account.view_account_analytic_account_search"/>
</record>
<!--<menuitem id="menu_analytic_account" name="Analytic Accounts" parent="account.menu_analytic_accounting"/>-->
<menuitem action="action_account_analytic_account_form" id="account_analytic_def_account" parent="account.menu_analytic_accounting"/>
<menuitem action="action_account_analytic_account_form" id="account_analytic_def_account" parent="menu_analytic"/>
<record id="act_account_renew_view" model="ir.actions.act_window">
<field name="name">Accounts to Renew</field>
@@ -114,7 +114,7 @@
</record>
<record id="action_account_analytic_account_tree2" model="ir.actions.act_window">
<field name="name">Analytic Chart of Accounts</field>
<field name="name">Chart of Analytic Accounts</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">account.analytic.account</field>
<field name="domain">[('parent_id','=',False)]</field>
@@ -122,10 +122,10 @@
<field name="view_mode">form,graph</field>
<field name="view_id" ref="view_account_analytic_account_tree"/>
</record>
<menuitem
action="action_account_analytic_account_tree2"
id="account_analytic_def_chart"
parent="account_analytic_def_account"/>
<!-- <menuitem-->
<!-- action="action_account_analytic_account_tree2"-->
<!-- id="account_analytic_def_chart"-->
<!-- parent="account_analytic_def_account"/>-->
<!-- <menuitem action="action_account_analytic_account_tree2" id="account_analytic_chart" parent="account.menu_finance_charts"/>-->
<!-- <wizard id="wizard_analytic_account_chart" menu="False" model="account.analytic.account" name="account.analytic.account.chart" string="Analytic Chart of Accounts"/>
@@ -206,14 +206,14 @@
<field name="context">{"search_default_user_id":uid}</field>
<field name="view_id" ref="view_account_analytic_line_tree"/>
</record>
<wizard id="action_account_analytic_line" menu="False" model="account.analytic.line" name="account.analytic.line" string="Entries by Line"/>
<menuitem id="next_id_41" name="Analytic Entries" parent="account.menu_finance_entries"/>
<!-- <wizard id="action_account_analytic_line" menu="False" model="account.analytic.line" name="account.analytic.line" string="Entries by Line"/>-->
<!-- <menuitem id="next_id_41" name="Analytic Entries" parent="account.menu_finance_entries"/>-->
<!-- Entries by Line -->
<menuitem icon="STOCK_JUSTIFY_FILL"
action="action_project_account_analytic_line_form"
id="account_entries_analytic_entries"
parent="next_id_41"/>
<!-- <menuitem icon="STOCK_JUSTIFY_FILL"-->
<!-- action="action_project_account_analytic_line_form"-->
<!-- id="account_entries_analytic_entries"-->
<!-- parent="next_id_41"/>-->
<record id="action_account_tree1" model="ir.actions.act_window">
<field name="name">Analytic Entries</field>
@@ -293,31 +293,49 @@
</field>
</record>
<record id="action_account_analytic_journal_form" model="ir.actions.act_window">
<field name="name">Analytic Journal Definition</field>
<field name="name">Analytic Journals</field>
<field name="res_model">account.analytic.journal</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="action_account_analytic_journal_form" id="account_def_analytic_journal" parent="account.menu_analytic_accounting"/>
<menuitem action="action_account_analytic_journal_form" id="account_def_analytic_journal" parent="menu_analytic"/>
#
# Open journal entries
#
<record id="action_account_analytic_journal_open_form" model="ir.actions.act_window">
<field name="name">Entries of Open Analytic Journals</field>
<field name="name">Analytic Journal Items</field>
<field name="res_model">account.analytic.line</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('journal_id','=',active_id)]</field>
</record>
<record id="ir_open_account_journal_analytic" model="ir.values">
<field eval="'tree_but_open'" name="key2"/>
<field eval="'account.analytic.journal'" name="model"/>
<field name="name">Open Analytic Journal</field>
<field eval="'ir.actions.act_window,%d'%action_account_analytic_journal_open_form" name="value"/>
<field eval="True" name="object"/>
</record>
<menuitem action="action_account_analytic_journal_open_form" id="account_analytic_journal_entries" parent="menu_finance_entries"/>
<!-- <record id="action_account_analytic_journal_open_form" model="ir.actions.act_window">
<field name="name">Check Register</field>
<field name="res_model">account.analytic.line</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('journal_id','=',active_id)]</field>
</record> -->
<!-- <menuitem action="action_account_analytic_journal_open_form" id="account_analytic_journal_entries" parent="menu_finance_bank_and_cash"/>-->
<!-- <record id="action_account_analytic_journal_open_form" model="ir.actions.act_window">
<field name="name">Checks Register</field>
<field name="res_model">account.analytic.line</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('journal_id','=',active_id)]</field>
</record> -->
<!-- <menuitem action="action_account_analytic_journal_open_form" id="account_analytic_journal_entries" parent="menu_finance_bank_and_cash"/>-->
<!-- <record id="ir_open_account_journal_analytic" model="ir.values">-->
<!-- <field eval="'tree_but_open'" name="key2"/>-->
<!-- <field eval="'account.analytic.journal'" name="model"/>-->
<!-- <field name="name">Open Analytic Journal</field>-->
<!-- <field eval="'ir.actions.act_window,%d'%action_account_analytic_journal_open_form" name="value"/>-->
<!-- <field eval="True" name="object"/>-->
<!-- </record>-->
#
# Reporting
@@ -331,13 +349,13 @@
<menuitem action="action_account_analytic_journal_tree" id="account_analytic_journal_print" parent="account.next_id_40"/>
<record id="action_account_analytic_journal_tree2" model="ir.actions.act_window">
<field name="name">Analytic Entries by Journal</field>
<field name="res_model">account.analytic.journal</field>
<field name="view_type">tree</field>
<field name="view_id" ref="view_account_analytic_journal_tree"/>
</record>
<menuitem action="action_account_analytic_journal_tree2" id="account_analytic_journal_entries" parent="account.next_id_41"/>
<!-- <record id="action_account_analytic_journal_tree2" model="ir.actions.act_window">-->
<!-- <field name="name">Analytic Entries by Journal</field>-->
<!-- <field name="res_model">account.analytic.journal</field>-->
<!-- <field name="view_type">tree</field>-->
<!-- <field name="view_id" ref="view_account_analytic_journal_tree"/>-->
<!-- </record>-->
<!-- <menuitem action="action_account_analytic_journal_tree2" id="account_analytic_journal_entries" parent="account.next_id_41"/>-->
#
# Statistics
@@ -396,8 +414,8 @@
<field name="arch" type="xml">
<search string="Analytic Entries Stats">
<group col="8" colspan="4">
<filter icon="terp-sale" string="This Year" domain="[('name','=',time.strftime('%%Y'))]" help="Sale journal in this year"/>
<filter icon="terp-sale" string="This Month" domain="[('month','=',time.strftime('%%m'))]" help="Sale journal in this month"/>
<filter icon="terp-go-year" string="This Year" domain="[('name','=',time.strftime('%%Y'))]" help="Sale journal in this year"/>
<filter icon="terp-go-month" string="This Month" domain="[('month','=',time.strftime('%%m'))]" help="Sale journal in this month"/>
<separator orientation="vertical"/>
<field name="name" select="1"/>
<field name="month" select="1"/>
@@ -55,51 +55,3 @@ class account_analytic_cost_ledger_journal_report(osv.osv_memory):
account_analytic_cost_ledger_journal_report()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
#import time
#import wizard
#
#_form = '''<?xml version="1.0"?>
#<form string="Select period">
# <separator string="Cost Legder for period" colspan="4"/>
# <field name="date1"/>
# <field name="date2"/>
# <separator string="and Journals" colspan="4"/>
# <field name="journal" colspan="4"/>
#</form>'''
#
#_fields = {
# 'date1': {'string':'Start of period', 'type':'date', 'required':True, 'default': lambda *a: time.strftime('%Y-01-01')},
# 'date2': {'string':'End of period', 'type':'date', 'required':True, 'default': lambda *a: time.strftime('%Y-%m-%d')},
# 'journal': {'string':'Journals','type':'many2many', 'relation':'account.analytic.journal'},
#}
#
#
#class wizard_report(wizard.interface):
# states = {
# 'init': {
# 'actions': [],
# 'result': {
# 'type': 'form',
# 'arch': _form,
# 'fields': _fields,
# 'state': [
# ('end','Cancel'),
# ('report','Print')
# ]
# }
# },
# 'report': {
# 'actions': [],
# 'result': {
# 'type': 'print',
# 'report': 'account.analytic.account.quantity_cost_ledger',
# 'state': 'end'
# }
# },
# }
#
#wizard_report('account.analytic.account.quantity_cost_ledger.report')
#
## vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
@@ -32,26 +32,26 @@ class project_account_analytic_line(osv.osv_memory):
def action_open_window(self, cr, uid, ids, context={}):
mod_obj =self.pool.get('ir.model.data')
domain = []
for data in self.read(cr, uid, ids, context=context):
from_date = data['from_date']
to_date = data['to_date']
if from_date and to_date:
domain = [('date','>=',from_date), ('date','<=',to_date)]
elif from_date:
domain = [('date','>=',from_date)]
elif to_date:
domain = [('date','<=',to_date)]
result = mod_obj._get_id(cr, uid, 'account', 'view_account_analytic_line_filter')
id = mod_obj.read(cr, uid, result, ['res_id'], context=context)
return {
'name': _('Analytic Entries by line'),
'view_type': 'form',
"view_mode": 'tree,form',
'res_model': 'account.analytic.line',
'type': 'ir.actions.act_window',
'domain': domain,
'search_view_id': id['res_id'],
}
data = self.read(cr, uid, ids, [])[0]
from_date = data['from_date']
to_date = data['to_date']
if from_date and to_date:
domain = [('date','>=',from_date), ('date','<=',to_date)]
elif from_date:
domain = [('date','>=',from_date)]
elif to_date:
domain = [('date','<=',to_date)]
result = mod_obj._get_id(cr, uid, 'account', 'view_account_analytic_line_filter')
id = mod_obj.read(cr, uid, result, ['res_id'], context=context)
return {
'name': _('Analytic Entries by line'),
'view_type': 'form',
"view_mode": 'tree,form',
'res_model': 'account.analytic.line',
'type': 'ir.actions.act_window',
'domain': domain,
'search_view_id': id['res_id'],
}
project_account_analytic_line()
@@ -17,7 +17,7 @@
<separator string="" colspan="4" />
<group colspan="4" col="6">
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
<button icon="gtk-execute" string="Open Entries" name="action_open_window" type="object"/>
<button icon="terp-gtk-go-back-rtl" string="Open Entries" name="action_open_window" type="object"/>
</group>
</form>
</field>
+1 -2
View File
@@ -30,8 +30,7 @@ import invoice
import overdue
import aged_trial_balance
import tax_report
import general_ledger_landscape
import account_tax_code
#import account_tax_code
import account_balance_landscape
import compare_account_balance
import account_invoice_report
@@ -6,7 +6,7 @@
<field name="model">account.account.report</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Account Report">
<tree string="Accounts Analysis">
<field name="name" invisible="1" string="Account"/>
<field name="code" invisible="1"/>
<field name="type" invisible="1"/>
@@ -29,7 +29,7 @@
<field name="model">account.account.report</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<graph string="Accounts" type="bar">
<graph string="Accounts Analysis" type="bar">
<field name="name"/>
<field name="credit" operator="+"/>
<field name="debit" operator="+"/>
@@ -43,35 +43,36 @@
<field name="model">account.account.report</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Accounts">
<search string="Accounts Analysis">
<group>
<filter icon="terp-account"
<filter icon="terp-go-today"
string="At Date"
domain="[('currency_mode','=', 'current')]"/>
<filter icon="terp-account"
<filter icon="terp-stock_format-default"
string="Average Rate"
domain="[('currency_mode','=','average')]"/>
<separator orientation="vertical"/>
<field name="name" string="Account"/>
<field name="code"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
</group>
<newline/>
<group expand="1" string="Group By...">
<filter string="Account" name="Account" icon="terp-account" context="{'group_by':'name'}"/>
<filter string="Code" icon="terp-account" context="{'group_by':'code'}"/>
<filter string="Company" icon="terp-account" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<group expand="0" string="Group By...">
<filter string="Account" name="Account" icon="terp-folder-orange" context="{'group_by':'name'}"/>
<filter string="Code" icon="terp-stock_format-scientific" context="{'group_by':'code'}"/>
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<separator orientation="vertical"/>
<filter string="Currencies Rate" icon="terp-account" context="{'group_by':'currency_mode'}"/>
<filter string="Internal Type" icon="terp-account" context="{'group_by':'type'}"/>
<filter string="Account Type" icon="terp-account" context="{'group_by':'user_type'}"/>
<filter string="Parent Account" icon="terp-account" context="{'group_by':'parent_account_id'}"/>
<filter string="Currencies Rate" icon="terp-dolar" context="{'group_by':'currency_mode'}"/>
<filter string="Internal Type" icon="terp-go-home" context="{'group_by':'type'}"/>
<filter string="Account Type" icon="terp-stock_symbol-selection" context="{'group_by':'user_type'}"/>
<filter string="Parent Account" icon="terp-folder-orange" context="{'group_by':'parent_account_id'}"/>
</group>
<newline/>
<group expand="0" string="Extended options..." groups="base.group_extended">
<field name="parent_account_id" />
<separator orientation="vertical"/>
<field name="type" />
<field name="user_type" widget="selection"/>
<field name="parent_account_id" />
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
</group>
</search>
@@ -79,7 +80,7 @@
</record>
<record id="action_account_account_report" model="ir.actions.act_window">
<field name="name">Accounts</field>
<field name="name">Accounts Analysis</field>
<field name="res_model">account.account.report</field>
<field name="view_type">form</field>
<field name="view_mode">tree,graph</field>
@@ -87,7 +88,7 @@
<field name="search_view_id" ref="view_account_account_report_search"/>
</record>
<menuitem action="action_account_account_report" id="menu_action_account_account_report" parent="account.menu_finance_statastic_report_statement" sequence="6"/>
<menuitem action="action_account_account_report" id="menu_action_account_account_report" parent="account.menu_finance_statistic_report_statement" sequence="6"/>
</data>
</openerp>
@@ -6,14 +6,14 @@
<field name="model">analytic.entries.report</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Analytic Entries Statistics">
<tree string="Analytic Entries Analysis">
<field name="date" invisible="1"/>
<field name="year" invisible="1"/>
<field name="day" invisible="1"/>
<field name="month" invisible="1"/>
<field name="user_id" invisible="1"/>
<field name="name" invisible="1"/>
<field name="company_id" invisible="1" groups="base.multi_company"/>
<field name="company_id" invisible="1" groups="base.group_multi_company"/>
<field name="currency_id" invisible="1"/>
<field name="account_id" invisible="1"/>
<field name="general_account_id" invisible="1"/>
@@ -33,55 +33,54 @@
<field name="model">analytic.entries.report</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Analytic Entries">
<search string="Analytic Entries Analysis">
<group col="10" colspan="12">
<filter icon="terp-account" string="Last 365 DAys"
<filter icon="terp-go-year" string=" 365 Days "
domain="[('day','&lt;=', time.strftime('%%Y-%%m-%%d')),('day','&gt;',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"
help="Analytic Entries of the year"/>
<filter icon="terp-account" string="Last 30 Days"
help="Analytic Entries of last 365 days"/>
<filter icon="terp-go-month" string=" 30 Days "
name="month"
domain="[('day','&lt;=', time.strftime('%%Y-%%m-%%d')), ('day','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
help="Analytic Entries of this month"/>
<filter icon="gtk-media-rewind"
help="Analytic Entries of last 30 days"/>
<filter icon="terp-go-week"
string=" 7 Days "
separator="1"
domain="[('day','&lt;=', time.strftime('%%Y-%%m-%%d')), ('day','&gt;',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
help="Analytic Entries during last 7 days"/>
<separator orientation="vertical"/>
<field name="name"/>
<field name="product_id" />
<field name="user_id" widget="selection">
<filter icon="terp-partner" domain="[('user_id','=',uid)]" help="My Case"/>
<filter icon="terp-gtk-jump-to-ltr" domain="[('user_id','=',uid)]" help="My Entries"/>
</field>
<field name="currency_id"/>
</group>
<newline/>
<group expand="1" string="Group By...">
<filter string="User" name="User" icon="terp-account" context="{'group_by':'user_id'}"/>
<filter string="Currency" icon="terp-account" context="{'group_by':'currency_id'}"/>
<filter string="Company" icon="terp-account" context="{'group_by':'company_id'}" groups="base.multi_company"/>
<group expand="0" string="Group By...">
<filter string="User" name="User" icon="terp-personal" context="{'group_by':'user_id'}"/>
<filter string="Currency" icon="terp-dolar" context="{'group_by':'currency_id'}"/>
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<separator orientation="vertical"/>
<filter string="Account" icon="terp-account" context="{'group_by':'account_id'}"/>
<filter string="General Account" icon="terp-account" context="{'group_by':'general_account_id'}"/>
<filter string="Journal" icon="terp-account" context="{'group_by':'journal_id'}"/>
<filter string="Account" icon="terp-folder-orange" context="{'group_by':'account_id'}"/>
<filter string="General Account" icon="terp-folder-orange" context="{'group_by':'general_account_id'}"/>
<filter string="Journal" icon="terp-folder-orange" context="{'group_by':'journal_id'}"/>
<separator orientation="vertical"/>
<filter string="Product" icon="terp-account" context="{'group_by':'product_id'}"/>
<filter string="Product UOM" icon="terp-account" context="{'group_by':'product_uom_id'}"/>
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
<filter string="Product UOM" icon="terp-mrp" context="{'group_by':'product_uom_id'}"/>
<separator orientation="vertical"/>
<filter string="Day" icon="terp-account" context="{'group_by':'day'}"/>
<filter string="Month" icon="terp-account" context="{'group_by':'month'}"/>
<filter string="Year" icon="terp-account" context="{'group_by':'year'}"/>
<filter string="Day" icon="terp-go-today" context="{'group_by':'day'}"/>
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'year'}"/>
</group>
<newline/>
<group expand="0" string="Extended options..." groups="base.group_extended">
<field name="account_id" />
<field name="currency_id" widget="selection"/>
<field name="general_account_id" widget="selection"/>
<field name="product_uom_id" widget="selection"/>
<field name="journal_id" widget="selection"/>
<separator orientation="vertical"/>
<field name="product_id" />
<field name="product_uom_id" widget="selection"/>
<field name="company_id" widget="selection" groups="base.multi_company"/>
<field name="name"/>
<field name="account_id"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
</group>
</search>
</field>
</record>
@@ -90,7 +89,7 @@
<field name="model">analytic.entries.report</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<graph string="Analytic Entries" type="bar">
<graph string="Analytic Entries Analysis" type="bar">
<field name="user_id"/>
<field name="amount" operator="+"/>
<field name="unit_amount" operator="+"/>
@@ -99,7 +98,7 @@
</field>
</record>
<record id="action_analytic_entries_report" model="ir.actions.act_window">
<field name="name">Analytic Entries</field>
<field name="name">Analytic Entries Analysis</field>
<field name="res_model">analytic.entries.report</field>
<field name="view_type">form</field>
<field name="view_mode">tree,graph</field>
@@ -107,7 +106,7 @@
<field name="search_view_id" ref="view_analytic_entries_report_search"/>
</record>
<menuitem action="action_analytic_entries_report" id="menu_action_analytic_entries_report" parent="account.menu_finance_statastic_report_statement" sequence="4"/>
<menuitem action="action_analytic_entries_report" id="menu_action_analytic_entries_report" parent="account.menu_finance_statistic_report_statement" sequence="4"/>
</data>
</openerp>
@@ -6,7 +6,7 @@
<field name="model">analytic.report</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Analytic Accounts Statistics">
<tree string="Analytic Accounts Analysis">
<field name="parent_id" invisible="1" string="Analytic Account"/>
<field name="product_id" invisible="1"/>
<field name="name" invisible="1"/>
@@ -19,9 +19,9 @@
<field name="nbr" sum ="# of Lines"/>
<field name="company_id" invisible="1" groups="base.group_multi_company"/>
<field name="type" invisible="1"/>
<field name="debit"/>
<field name="credit"/>
<field name="balance"/>
<field name="debit" sum ="Debit"/>
<field name="credit" sum ="Credit"/>
<field name="balance" sum ="Balance"/>
<field name="state" invisible="1"/>
<field name="day" invisible="1"/>
<field name="month" invisible="1"/>
@@ -34,85 +34,68 @@
<field name="model">analytic.report</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Analytic Accounts">
<search string="Analytic Accounts Analysis">
<group>
<filter icon="terp-account"
string="This Year"
domain="[('year','=',time.strftime('%%Y'))]"/>
<filter icon="terp-account"
string="This Month"
name="This Month"
domain="[('month','=',time.strftime('%%m'))]"/>
<filter icon="gtk-media-rewind"
string=" 7 Days "
separator="1"
domain="[('day','&lt;=', time.strftime('%%Y-%%m-%%d')), ('day','&gt;',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
help="Entries during last 7 days"/>
<filter icon="terp-go-year" string=" 365 Days "
domain="[('day','&lt;=', time.strftime('%%Y-%%m-%%d')),('day','&gt;',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"
help="Analytic Accounts of last 365 days"/>
<filter icon="terp-go-month" string=" 30 Days "
name="This Month"
domain="[('day','&lt;=', time.strftime('%%Y-%%m-%%d')), ('day','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
help="Analytic Accounts of last 30 days"/>
<filter icon="terp-go-week"
string=" 7 Days "
separator="1"
domain="[('day','&lt;=', time.strftime('%%Y-%%m-%%d')), ('day','&gt;',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
help="Analytic Accounts during last 7 days"/>
<separator orientation="vertical"/>
<filter icon="terp-account"
<filter icon="terp-document-new"
string="Draft"
domain="[('state','=','draft')]"/>
<filter icon="terp-account"
<filter icon="terp-camera_test"
string="Open"
domain="[('state','=','open')]"/>
<filter icon="terp-account"
<filter icon="terp-gtk-media-pause"
string="Pending"
domain="[('state','=','pending')]"/>
<separator orientation="vertical"/>
<field name="name"/>
<field name="product_id" />
<field name="partner_id"/>
<field name="user_id" widget="selection">
<filter icon="terp-account"
<filter icon="terp-folder-orange"
string="My Accounts"
help="My Account"
domain="[('user_id','=',uid)]"/>
</field>
<field name="partner_id"/>
</group>
<newline/>
<group expand="1" string="Group By..." colspan="10" col="12">
<filter string="User" name="User" icon="terp-account" context="{'group_by':'user_id'}"/>
<filter string="Associated Partner" icon="terp-account" context="{'group_by':'partner_id'}"/>
<group expand="0" string="Group By..." colspan="10" col="12">
<filter string="User" name="User" icon="terp-personal" context="{'group_by':'user_id'}"/>
<filter string="Associated Partner" icon="terp-personal+" context="{'group_by':'partner_id'}"/>
<separator orientation="vertical"/>
<filter string="Company" icon="terp-account" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<filter string="Analytic Account" icon="terp-account" context="{'group_by':'parent_id'}"/>
<filter string="Analytic Journal" icon="terp-account" context="{'group_by':'journal_id'}"/>
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<filter string="Analytic Account" icon="terp-folder-green" context="{'group_by':'parent_id'}"/>
<filter string="Analytic Journal" icon="terp-folder-green" context="{'group_by':'journal_id'}"/>
<separator orientation="vertical"/>
<filter string="Product" icon="terp-account" context="{'group_by':'product_id'}"/>
<filter string="Account Type" icon="terp-account" context="{'group_by':'type'}"/>
<filter string="State" icon="terp-account" context="{'group_by':'state'}"/>
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
<filter string="Account Type" icon="terp-stock_symbol-selection" context="{'group_by':'type'}"/>
<filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
<separator orientation="vertical"/>
<filter string="Day" icon="terp-account" context="{'group_by':'day'}"/>
<filter string="Month" icon="terp-account" context="{'group_by':'month'}"/>
<filter string="Year" icon="terp-account" context="{'group_by':'year'}"/>
<filter string="Day" icon="terp-go-today" context="{'group_by':'day'}"/>
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'year'}"/>
</group>
<newline/>
<group expand="0" string="Extended options..." colspan="10" col="12" groups="base.group_extended">
<filter icon="terp-account"
string="Draft"
domain="[('state','=','draft')]"/>
<filter icon="terp-account"
string="Open"
domain="[('state','=','open')]"/>
<filter icon="terp-account"
string="Pending"
domain="[('state','=','pending')]"/>
<filter icon="terp-account"
string="Close"
domain="[('state','=','close')]"/>
<filter icon="terp-account"
string="Template"
domain="[('state','=','template')]"/>
<separator orientation="vertical"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<field name="parent_id"/>
<field name="journal_id" widget="selection"/>
<newline/>
<field name="product_id" />
<field name="type"/>
<separator orientation="vertical"/>
<field name="date_start"/>
<field name="date_end"/>
<separator orientation="vertical"/>
<field name="state"/>
<field name="parent_id"/>
<field name="journal_id" widget="selection"/>
<field name="type"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
</group>
</search>
</field>
@@ -122,7 +105,7 @@
<field name="model">analytic.report</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<graph string="Analytic Accounts" type="bar">
<graph string="Analytic Accounts Analysis" type="bar">
<field name="user_id"/>
<field name="credit" operator="+"/>
<field name="debit" operator="+"/>
@@ -132,14 +115,14 @@
</field>
</record>
<record id="action_analytic_report_all" model="ir.actions.act_window">
<field name="name">Analytic Accounts</field>
<field name="name">Analytic Accounts Analysis</field>
<field name="res_model">analytic.report</field>
<field name="view_type">form</field>
<field name="view_mode">tree,graph</field>
<field name="context">{'search_default_This Month':1,'search_default_User':1,'group_by_no_leaf':1,'group_by':[]}</field>
<field name="search_view_id" ref="view_analytic_report_search"/>
</record>
<menuitem action="action_analytic_report_all" id="menu_action_analytic_report_all" parent="account.menu_finance_statastic_report_statement" sequence="8"/>
<menuitem action="action_analytic_report_all" id="menu_action_analytic_report_all" parent="account.menu_finance_statistic_report_statement" sequence="8"/>
</data>
</openerp>
+22 -11
View File
@@ -22,9 +22,15 @@
import xml
import copy
from operator import itemgetter
import time
import datetime
from report import report_sxw
import xml.dom.minidom
import os, time
import osv
import re
import tools
import pooler
import sys
class account_balance(report_sxw.rml_parse):
_name = 'report.account.account.balance'
@@ -44,6 +50,10 @@ class account_balance(report_sxw.rml_parse):
})
self.context = context
def _add_header(self, node, header=1):
if header==0:
self.rml_header = ""
return True
def get_fiscalyear(self, form):
res=[]
if form.has_key('fiscalyear'):
@@ -56,16 +66,14 @@ class account_balance(report_sxw.rml_parse):
def get_periods(self, form):
result=''
if form.has_key('periods') and form['periods'][0][2]:
period_ids = form['periods'][0][2]
self.cr.execute("select name from account_period where id =ANY(%s)" ,(period_ids))
res = self.cr.fetchall()
len_res = len(res)
for r in res:
if (r == res[len_res-1]):
result+=r[0]+". "
if form.has_key('periods') and form['periods']:
period_ids = form['periods']
per_ids = self.pool.get('account.period').browse(self.cr,self.uid,form['periods'])
for r in per_ids:
if r == per_ids[len(per_ids)-1]:
result+=r.name+". "
else:
result+=r[0]+", "
result+=r.name+", "
else:
fy_obj = self.pool.get('account.fiscalyear').browse(self.cr,self.uid,form['fiscalyear'])
res = fy_obj.period_ids
@@ -172,5 +180,8 @@ class account_balance(report_sxw.rml_parse):
def _sum_debit(self):
return self.sum_debit
report_sxw.report_sxw('report.account.account.balance', 'account.account', 'addons/account/report/account_balance.rml', parser=account_balance, header=False)
report_sxw.report_sxw('report.account.account.balance', 'account.account', 'addons/account/report/account_balance.rml', parser=account_balance, header=0)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+59 -4
View File
@@ -66,6 +66,27 @@
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table3a">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="0,0" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,0" stop="0,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="1,0" stop="1,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,0" stop="1,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="2,0" stop="2,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="2,0" stop="2,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
<lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="3,0" stop="3,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="4,0" stop="4,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="4,0" stop="4,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
</blockTableStyle>
<blockTableStyle id="Table4">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
@@ -95,6 +116,8 @@
<paraStyle name="P9b" fontName="Helvetica" fontSize="9" leftIndent="0.0" alignment="LEFT"/>
<paraStyle name="P9b" fontName="Helvetica" fontSize="8" leftIndent="-5.0" alignment="LEFT"/>
<paraStyle name="P12" fontName="Helvetica-Bold" fontSize="8.0" leading="14" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="P12a" fontName="Helvetica-Bold" fontSize="8.0" leading="14" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="P12b" fontName="Helvetica-Bold" fontSize="8.0" leading="14" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="P14" rightIndent="17.0" leftIndent="-0.0" fontName="Helvetica-Bold" fontSize="8.0" leading="10" spaceBefore="0.0" spaceAfter="6.0"/>
@@ -141,14 +164,46 @@
<para style="P2">
<font color="white"> </font>
</para>
<blockTable colWidths="527.00" style="Table4" repeatRows="1">
<blockTable colWidths="78.0,108.0,108.0,108.0,138" style="Table3a">
<tr>
<td>
<para style="P9a">[[ get_fiscalyear(data['form']) or removeParentNode('para') ]]:</para>
<para style="P9b"><i> [[ get_periods(data['form']) or removeParentNode('para') ]]</i></para>
<para style="terp_tblheader_General_Centre">Fiscal Year</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">End Date</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Start Date</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Display Account</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Periods</para>
</td>
</tr>
</blockTable>
</blockTable>
<blockTable colWidths="78.0,108.0,108.0,108.0,138" style="Table3a">
<tr>
<td>
<para style="terp_default_Centre_8">[[ get_fiscalyear(data['form']) ]]</para>
</td>
<td>
<para style="terp_default_Centre_8">[[ data['form']['date_from'] ]]</para>
</td>
<td>
<para style="terp_default_Centre_8">[[ data['form']['date_to'] ]]</para>
</td>
<td>
<para style="terp_default_Centre_8">[[ (data['form']['display_account']=='bal_all' and 'All') or (data['form']['display_account']=='bal_mouvement' and 'With movements') or 'With balance is not equal to 0']]</para>
</td>
<td>
<para style="terp_default_Centre_8"> [[data['form']['periods'] and get_periods(data['form']) or '']]</para>
</td>
</tr>
</blockTable>
<para style="P2">
<font color="white"> </font>
@@ -6,7 +6,7 @@
<field name="model">account.entries.report</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Invoices Statistics">
<tree string="Entries Analysis">
<field name="date" invisible="1"/>
<field name="date_created" invisible="1"/>
<field name="date_maturity" invisible="1"/>
@@ -37,7 +37,7 @@
<field name="model">account.entries.report</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<graph string="Entries" type="bar">
<graph string="Entries Analysis" type="bar">
<field name="partner_id"/>
<field name="amount"/>
</graph>
@@ -48,80 +48,79 @@
<field name="model">account.entries.report</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Entries">
<search string="Entries Analysis">
<group colspan="10" col="12">
<filter icon="terp-account" string="This Year"
<filter icon="terp-go-year" string=" 365 Days "
domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')),('date','&gt;',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"
help="Entries of the year"/>
<filter icon="terp-account" string="This Month"
help="Entries of last 365 days"/>
<filter icon="terp-go-month" string=" 30 Days "
name="This Month"
domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('date','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
help="Entries of this month"/>
<filter icon="gtk-media-rewind"
help="Entries of last 30 days"/>
<filter icon="terp-go-week"
string=" 7 Days "
separator="1"
domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('date','&gt;',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
help="Entries during last 7 days"/>
<separator orientation="vertical"/>
<filter string="Draft"
icon="terp-account"
icon="terp-document-new"
domain="[('state','=','draft')]"
help = "Draft tasks"/>
help = "Draft entries"/>
<filter string="Posted"
icon="terp-camera_test"
domain="[('state','=','posted')]"
help = "Posted entries"/>
<separator orientation="vertical"/>
<field name="journal_id" widget="selection"/>
<field name="account_id"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<field name="partner_id" />
<field name="product_id" />
<field name="partner_id" />
<field name="account_id"/>
<field name="analytic_account_id"/>
</group>
<newline/>
<group expand="1" string="Group By..." colspan="10" col="12">
<filter string="Journal" name="Journal" icon="terp-account" context="{'group_by':'journal_id'}"/>
<filter string="Account" name="Account" icon="terp-account" context="{'group_by':'account_id'}"/>
<filter string="Analytic Account" name="Analytic Account" icon="terp-account" context="{'group_by':'analytic_account_id'}"/>
<filter string="Company" icon="terp-account" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<filter string="Partner" icon="terp-account" context="{'group_by':'partner_id'}"/>
<filter string="Product" icon="terp-account" context="{'group_by':'product_id'}"/>
<group expand="0" string="Group By...">
<filter string="Partner" icon="terp-personal" context="{'group_by':'partner_id'}"/>
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
<filter string="Journal" name="Journal" icon="terp-folder-orange" context="{'group_by':'journal_id'}"/>
<separator orientation="vertical"/>
<filter string="State" icon="terp-account" context="{'group_by':'state'}"/>
<filter string="State of Move Line" icon="terp-account" context="{'group_by':'state_2'}"/>
<filter string="Period" icon="terp-account" context="{'group_by':'period_id'}"/>
<filter string="Period of Move Line" icon="terp-account" context="{'group_by':'period_id2'}"/>
<filter string="Type" icon="terp-account" context="{'group_by':'type'}"/>
<filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
<filter string="Type" icon="terp-stock_symbol-selection" context="{'group_by':'type'}"/>
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<filter string="Account" name="Account" icon="terp-folder-orange" context="{'group_by':'account_id'}"/>
<separator orientation="vertical"/>
<filter string="Day" icon="terp-account" context="{'group_by':'day'}"/>
<filter string="Month" icon="terp-account" context="{'group_by':'month'}"/>
<filter string="Year" icon="terp-account" context="{'group_by':'year'}"/>
</group>
<group expand="0" string="Extended options..." colspan="10" col="12">
<filter string="Posted"
icon="terp-account"
domain="[('state','=','posted')]"
help = "Posted tasks"/>
<field name="state_2"/>
<separator orientation="vertical"/>
<field name="period_id" widget="selection"/>
<field name="period_id2" widget="selection"/>
<field name="type"/>
<field name="product_id" />
<field name="analytic_account_id"/>
<filter string="Analytic Account" name="Analytic Account" icon="terp-folder-green" context="{'group_by':'analytic_account_id'}"/>
<filter string="State of Move Line" icon="terp-stock_effects-object-colorize" context="{'group_by':'state_2'}"/>
<filter string="Period" icon="terp-go-month" context="{'group_by':'period_id'}"/>
<filter string="Period of Move Line" icon="terp-go-month" context="{'group_by':'period_id2'}"/>
<newline/>
<filter string="Day" icon="terp-go-today" context="{'group_by':'day'}"/>
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'year'}"/>
</group>
<newline/>
<group expand="0" string="Extended options..." groups="base.group_extended">
<field name="state_2"/>
<field name="period_id" widget="selection"/>
<field name="period_id2" widget="selection"/>
<field name="type"/>
<field name="journal_id" widget="selection"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<newline/>
<separator orientation="vertical"/>
<field name="date_created"/>
<field name="date"/>
<field name="date"/>
<field name="date_maturity"/>
</group>
</group>
</search>
</field>
</record>
<record id="action_account_entries_report_all" model="ir.actions.act_window">
<field name="name">Entries</field>
<field name="name">Entries Analysis</field>
<field name="res_model">account.entries.report</field>
<field name="view_type">form</field>
<field name="view_mode">tree,graph</field>
<field name="context">{'search_default_This Month':1,'search_default_Journal':1,'group_by_no_leaf':1,'group_by':[]}</field>
<field name="search_view_id" ref="view_account_entries_report_search"/>
</record>
<menuitem action="action_account_entries_report_all" id="menu_action_account_entries_report_all" parent="account.menu_finance_statastic_report_statement" sequence="2"/>
<menuitem action="action_account_entries_report_all" id="menu_action_account_entries_report_all" parent="account.menu_finance_statistic_report_statement" sequence="2"/>
</data>
</openerp>
+36 -13
View File
@@ -36,10 +36,12 @@ class account_invoice_report(osv.osv):
('10','October'), ('11','November'), ('12','December')], 'Month',readonly=True),
'product_id':fields.many2one('product.product', 'Product', readonly=True),
'product_qty':fields.float('Qty', readonly=True),
'uom_name': fields.char('Default UoM', size=128, readonly=True),
'payment_term': fields.many2one('account.payment.term', 'Payment Term',readonly=True),
'period_id': fields.many2one('account.period', 'Force Period', domain=[('state','<>','done')],readonly=True),
'fiscal_position': fields.many2one('account.fiscal.position', 'Fiscal Position',readonly=True),
'currency_id': fields.many2one('res.currency', 'Currency', readonly=True),
'categ_id': fields.many2one('product.category','Category of Product', readonly=True),
'journal_id': fields.many2one('account.journal', 'Journal',readonly=True),
'partner_id':fields.many2one('res.partner', 'Partner', readonly=True),
'company_id':fields.many2one('res.company', 'Company', readonly=True),
@@ -47,6 +49,7 @@ class account_invoice_report(osv.osv):
'price_total':fields.float('Total Price', readonly=True),
'price_average':fields.float('Average Price', readonly=True),
'nbr':fields.integer('# of Lines', readonly=True),
'reconciled':fields.integer('# reconciled lines', readonly=True),
'type': fields.selection([
('out_invoice','Customer Invoice'),
('in_invoice','Supplier Invoice'),
@@ -60,7 +63,7 @@ class account_invoice_report(osv.osv):
('open','Open'),
('paid','Done'),
('cancel','Cancelled')
], 'Order State', readonly=True),
], 'Invoice State', readonly=True),
'date_due': fields.date('Due Date', readonly=True),
'address_contact_id': fields.many2one('res.partner.address', 'Contact Address Name', readonly=True),
'address_invoice_id': fields.many2one('res.partner.address', 'Invoice Address Name', readonly=True),
@@ -81,46 +84,66 @@ class account_invoice_report(osv.osv):
to_char(s.date_invoice, 'MM') as month,
to_char(s.date_invoice, 'YYYY-MM-DD') as day,
l.product_id as product_id,
sum(l.quantity * u.factor) as product_qty,
sum(case when s.type in ('out_refund','in_invoice') then
l.quantity * u.factor * -1
else
l.quantity * u.factor
end) as product_qty,
s.partner_id as partner_id,
s.reconciled::integer,
s.payment_term as payment_term,
s.period_id as period_id,
u.name as uom_name,
s.currency_id as currency_id,
s.journal_id as journal_id,
s.fiscal_position as fiscal_position,
s.user_id as user_id,
s.company_id as company_id,
sum(l.quantity*l.price_unit) as price_total,
(sum(l.quantity*l.price_unit)/sum(l.quantity * u.factor))::decimal(16,2) as price_average,
sum(case when s.type in ('out_refund','in_invoice') then
l.quantity*l.price_unit * -1
else
l.quantity*l.price_unit
end) as price_total,
sum(case when s.type in ('out_refund','in_invoice') then
l.quantity*l.price_unit * -1
else
l.quantity*l.price_unit
end) / sum(l.quantity * u.factor)::decimal(16,2) as price_average,
count(*) as nbr,
s.type as type,
s.state,
pt.categ_id,
s.date_due as date_due,
s.address_contact_id as address_contact_id,
s.address_invoice_id as address_invoice_id,
s.account_id as account_id,
s.partner_bank as partner_bank,
s.residual as residual,
sum(case when s.type in ('out_refund','in_invoice') then
s.residual * -1
else
s.residual
end) as residual,
case when s.state != 'paid' then null else
extract(epoch from avg(am.date_created-l.create_date))/(24*60*60)::decimal(16,2)
extract(epoch from avg(am.date_created-l.create_date))/(24*60*60)::decimal(16,2)
end as delay_to_pay
from
account_invoice_line l
left join
account_invoice s on (s.id=l.invoice_id)
left join product_uom u on (u.id=l.uos_id),
from account_invoice_line l
left join account_invoice s on (s.id=l.invoice_id)
left join product_template pt on (pt.id=l.product_id)
left join product_uom u on (u.id=l.uos_id),
account_move_line am left join account_invoice i on (i.move_id=am.move_id)
where
am.account_id=i.account_id
where am.account_id=i.account_id
group by
s.type,
s.date_invoice,
s.partner_id,
l.product_id,
u.name,
l.uos_id,
s.reconciled,
s.user_id,
s.state,
s.residual,
pt.categ_id,
s.company_id,
s.payment_term,
s.period_id,
@@ -6,7 +6,7 @@
<field name="model">account.invoice.report</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Invoices Statistics">
<tree string="Invoices Analysis">
<field name="date" invisible="1"/>
<field name="user_id" invisible="1"/>
<field name="year" invisible="1"/>
@@ -16,21 +16,22 @@
<field name="company_id" invisible="1"/>
<field name="partner_id" invisible="1"/>
<field name="product_id" invisible="1"/>
<field name="product_qty" invisible="1"/>
<field name="uom_name" invisible="not context.get('set_visible',False)"/>
<field name="categ_id" invisible="1"/>
<field name="nbr" sum="# of Lines"/>
<field name="price_average" avg="Average Price"/>
<field name="price_total" sum="Total Price"/>
<field name="product_qty"/>
<field name="state" invisible="1"/>
<field name="payment_term" invisible="1"/>
<field name="period_id" invisible="1"/>
<field name="fiscal_position" invisible="1"/>
<field name="currency_id" invisible="1"/>
<field name="journal_id" invisible="1"/>
<field name="date_due" invisible="1"/>
<field name="address_contact_id" invisible="1"/>
<field name="address_invoice_id" invisible="1"/>
<field name="account_id" invisible="1"/>
<field name="partner_bank" invisible="1"/>
<field name="account_id" invisible="1"/>
<field name="reconciled" sum="# Reconciled"/>
<field name="price_average" avg="Average Price"/>
<field name="price_total" sum="Total Price"/>
<field name="residual" sum="Total Residual"/>
<field name="delay_to_pay" avg="Avg. Delay To Pay"/>
</tree>
@@ -42,7 +43,7 @@
<field name="model">account.invoice.report</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<graph string="Invoices Statistics" type="bar">
<graph string="Invoices Analysis" type="bar">
<field name="product_id"/>
<field name="price_total"/>
</graph>
@@ -54,104 +55,95 @@
<field name="model">account.invoice.report</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Invoices">
<search string="Invoices Analysis">
<group col="10" colspan="12">
<filter icon="gtk-media-rewind" string="Last 365 Days"
<filter icon="terp-go-year" string=" 365 Days "
domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')),('date','&gt;',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"
help="Invoices of last 365 days"/>
<filter icon="gtk-media-rewind" string="Last 30 Days"
<filter icon="terp-go-month" string=" 30 Days "
name="month"
domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('date','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
help="Invoices of last 30 days"/>
<filter icon="gtk-media-rewind"
<filter icon="terp-go-week"
string=" 7 Days "
separator="1"
domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('date','&gt;',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
help="Invoices during last 7 days"/>
<separator orientation="vertical"/>
<filter string="Draft"
icon="terp-account"
domain="[('state','=','draft')]"
help = "Draft tasks"/>
<filter string="Current"
icon="terp-check"
domain="[('state','in',('draft','open'))]"
help = "Draft and Open Invoices"/>
<filter string="Pro-forma"
icon="terp-account"
icon="terp-check"
domain="[('state','=','proforma'),('state','=','proforma2')]"
help = "Pro-forma tasks"/>
help = "Pro-forma Invoices"/>
<filter string="Current"
icon="terp-account"
domain="[('state', '=' ,'open')]"
help = "In progress tasks"/>
help = "open Invoices"/>
<filter string="Done"
icon="terp-account"
icon="terp-dialog-close"
domain="[('state','=','paid')]"
help = "Done tasks"/>
<separator orientation="vertical"/>
<field name="partner_id"/>
help = "Done Invoices"/>
<separator orientation="vertical"/>
<field name="partner_id"/>
<field name="user_id" widget="selection">
<filter icon="terp-account"
string="Invoices Non Users"
help="Invoices Non Users"
domain="[('user_id','=',False)]"/>
<filter icon="terp-dolar"
string="My Invoices"
help="My Invoices"
domain="[('user_id','=',uid)]"/>
</field>
</group>
<newline/>
<group expand="1" string="Group By...">
<filter string="Salesman" name='User' icon="terp-account" context="{'group_by':'user_id'}"/>
<filter string="Partner" icon="terp-account" context="{'group_by':'partner_id'}"/>
<filter string="Product" icon="terp-account" context="{'group_by':'product_id'}"/>
<group expand="0" string="Group By...">
<filter string="Salesman" name='User' icon="terp-personal" context="{'group_by':'user_id'}"/>
<filter string="Partner" icon="terp-personal" context="{'group_by':'partner_id'}"/>
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id','set_visible':True}"/>
<separator orientation="vertical"/>
<filter string="Company" icon="terp-account" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<filter string="State" icon="terp-account" context="{'group_by':'state'}"/>
<filter string="Type" icon="terp-account" context="{'group_by':'type'}"/>
<filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
<filter string="Type" icon="terp-stock_symbol-selection" context="{'group_by':'type'}"/>
<separator orientation="vertical"/>
<filter string="Journal" icon="terp-account" context="{'group_by':'journal_id'}"/>
<filter string="Account" icon="terp-account" context="{'group_by':'account_id'}"/>
<filter string="Bank Account" icon="terp-account" context="{'group_by':'partner_bank'}"/>
<filter string="Journal" icon="terp-folder-orange" context="{'group_by':'journal_id'}"/>
<filter string="Account" icon="terp-folder-orange" context="{'group_by':'account_id'}"/>
<separator orientation="vertical"/>
<filter string="Currency" icon="terp-account" context="{'group_by':'currency_id'}"/>
<filter string="Payment Term" icon="terp-account" context="{'group_by':'payment_term'}"/>
<filter string="Force Period" icon="terp-account" context="{'group_by':'period_id'}"/>
<filter string="Fiscal Position" icon="terp-account" context="{'group_by':'fiscal_position'}"/>
<filter string="Category of Product" icon="terp-stock_symbol-selection" context="{'group_by':'categ_id'}"/>
<filter string="Force Period" icon="terp-go-month" context="{'group_by':'period_id'}"/>
<separator orientation="vertical"/>
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<newline/>
<filter string="Day" icon="terp-account" context="{'group_by':'day'}"/>
<filter string="Month" icon="terp-account" context="{'group_by':'month'}"/>
<filter string="Year" icon="terp-account" context="{'group_by':'year'}"/>
<filter string="Day" icon="terp-go-today" context="{'group_by':'day'}"/>
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'year'}"/>
</group>
<newline/>
<group expand="0" string="Extended options..." groups="base.group_extended">
<field name="type"/>
<field name="currency_id" widget="selection"/>
<field name="partner_bank" widget="selection"/>
<field name="fiscal_position" widget="selection"/>
<separator orientation="vertical"/>
<field name="address_contact_id"/>
<field name="product_id"/>
<field name="account_id"/>
<newline/>
<field name="payment_term" widget="selection"/>
<field name="journal_id" widget="selection"/>
<field name="period_id" widget="selection"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<separator orientation="vertical"/>
<field name="address_invoice_id"/>
<field name="product_id"/>
<newline/>
<field name="date" string="Date Invoiced"/>
<field name="date_due"/>
<field name="type"/>
<field name="journal_id" widget="selection"/>
<separator orientation="vertical"/>
<field name="state"/>
<separator orientation="vertical"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<newline/>
<field name="date" string="Date Invoiced"/>
<field name="date_due"/>
</group>
</search>
</field>
</record>
<record id="action_account_invoice_report_all" model="ir.actions.act_window">
<field name="name">Invoices</field>
<field name="name">Invoices Analysis</field>
<field name="res_model">account.invoice.report</field>
<field name="view_type">form</field>
<field name="view_mode">tree,graph</field>
<field name="context">{'search_default_month':1,'search_default_User':1,'group_by_no_leaf':1,'group_by':[],'search_default_user_id':uid}</field>
<field name="context">{'search_default_month':1,'search_default_User':1,'group_by_no_leaf':1,'group_by':[]}</field>
<field name="search_view_id" ref="view_account_invoice_report_search"/>
</record>
<menuitem action="action_account_invoice_report_all" id="menu_action_account_invoice_report_all" parent="account.menu_finance_statastic_report_statement" sequence="0"/>
<menuitem action="action_account_invoice_report_all" id="menu_action_account_invoice_report_all" parent="account.menu_finance_statistic_report_statement" sequence="0"/>
</data>
</openerp>
@@ -153,8 +153,8 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Sales by Account">
<filter icon="terp-sale" string="This Year" domain="[('name','=',time.strftime('%%Y'))]" help="This year's Sales by type"/>
<filter icon="terp-sale" string="This Month" domain="[('month','=',time.strftime('%%m'))]" help="This months' Sales by type"/>
<filter icon="terp-go-year" string="This Year" domain="[('name','=',time.strftime('%%Y'))]" help="This year's Sales by type"/>
<filter icon="terp-go-month" string="This Month" domain="[('month','=',time.strftime('%%m'))]" help="This months' Sales by type"/>
<separator orientation="vertical"/>
<field name="name" select="1"/>
<field name="month" select="1"/>
@@ -221,8 +221,8 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Sales by Account">
<filter icon="terp-sale" string="This Year" domain="[('name','=',time.strftime('%%Y'))]" help="All Months Sales by type"/>
<filter icon="terp-sale" string="This Month" domain="[('month','=',time.strftime('%%m'))]" help="This Months Sales by type"/>
<filter icon="terp-go-year" string="This Year" domain="[('name','=',time.strftime('%%Y'))]" help="All Months Sales by type"/>
<filter icon="terp-go-month" string="This Month" domain="[('month','=',time.strftime('%%m'))]" help="This Months Sales by type"/>
<separator orientation="vertical"/>
<field name="name" select="1"/>
<field name="month" select="1"/>
+77 -100
View File
@@ -33,8 +33,6 @@ import pooler
class general_ledger(rml_parse.rml_parse):
_name = 'report.account.general.ledger'
def set_context(self, objects, data, ids, report_type = None):
##
self.borne_date = self.get_min_date(data['form'])
@@ -42,6 +40,7 @@ class general_ledger(rml_parse.rml_parse):
new_ids = []
if (data['model'] == 'account.account'):
new_ids = 'active_ids' in data['form']['context'] and data['form']['context']['active_ids'] or []
#new_ids = ids
else:
new_ids.append(data['form']['Account_list'])
@@ -70,39 +69,6 @@ class general_ledger(rml_parse.rml_parse):
'sum_currency_amount_account': self._sum_currency_amount_account
})
self.context = context
def _calc_contrepartie(self,cr,uid,ids, context={}):
result = {}
#for id in ids:
# result.setdefault(id, False)
for account_line in self.pool.get('account.move.line').browse(cr, uid, ids, context):
# For avoid long text in the field we will limit it to 5 lines
#
#
#
result[account_line.id] = ' '
num_id_move = str(account_line.move_id.id)
num_id_line = str(account_line.id)
account_id = str(account_line.account_id.id)
# search the basic account
# We have the account ID we will search all account move line from now until this time
# We are in the case of we are on the top of the account move Line
cr.execute('SELECT distinct(ac.code) as code_rest,ac.name as name_rest from account_account AS ac, account_move_line mv\
where ac.id = mv.account_id and mv.move_id = %s and mv.account_id <> %s' ,(num_id_move,account_id,))
res_mv = cr.dictfetchall()
# we need a result more than 2 line to make the test so we will made the the on 1 because we have exclude the current line
if (len(res_mv) >=1):
concat = ''
rup_id = 0
for move_rest in res_mv:
concat = concat + move_rest['code_rest'] + '|'
result[account_line.id] = concat
if rup_id >5:
# we need to stop the computing and to escape but before we will add "..."
result[account_line.id] = concat + '...'
break
rup_id+=1
return result
def get_min_date(self,form):
@@ -118,12 +84,17 @@ class general_ledger(rml_parse.rml_parse):
if form['state'] == 'byperiod':
## This function will return the most aged date
periods = form['periods']
#periods = form['periods'][0][2]
if not periods:
self.cr.execute("""
Select min(p.date_start) as start_date,max(p.date_stop) as stop_date from account_period as p where p.fiscalyear_id = %s""",(form['fiscalyear'],))
sql = """
Select min(p.date_start) as start_date,max(p.date_stop) as stop_date from account_period as p where p.fiscalyear_id = """ + str(form['fiscalyear']) + """
"""
else:
self.cr.execute("""
Select min(p.date_start) as start_date,max(p.date_stop) as stop_date from account_period as p where p.id =ANY(%s)""",(periods,))
periods_id = ','.join(map(str, periods))
sql = """
Select min(p.date_start) as start_date,max(p.date_stop) as stop_date from account_period as p where p.id in ( """ + periods_id + """)
"""
self.cr.execute(sql)
res = self.cr.dictfetchall()
borne_min = res[0]['start_date']
borne_max = res[0]['stop_date']
@@ -132,15 +103,17 @@ class general_ledger(rml_parse.rml_parse):
borne_max = form['date_to']
elif form['state'] == 'all':
periods = form['periods']
#periods = form['periods'][0][2]
if not periods:
if form['fiscalyear'] == False:
fiscalyears = self.pool.get('account.fiscalyear').search(self.cr, self.uid, [('state', '=', 'draft')])
else:
fiscalyears = [form['fiscalyear']]
self.cr.execute("select min(p.date_start) as start_date,max(p.date_stop) as stop_date from account_period as p where p.fiscalyear_id =ANY(%s)" ,(fiscalyears,))
sql = """
Select min(p.date_start) as start_date,max(p.date_stop) as stop_date from account_period as p where p.fiscalyear_id = """ + str(form['fiscalyear']) + """
"""
else:
self.cr.execute("""
Select min(p.date_start) as start_date,max(p.date_stop) as stop_date from account_period as p where p.id =ANY(%s)""",(periods,))
periods_id = ','.join(map(str, periods))
sql = """
Select min(p.date_start) as start_date,max(p.date_stop) as stop_date from account_period as p where p.id in ( """ + periods_id + """)
"""
self.cr.execute(sql)
res = self.cr.dictfetchall()
period_min = res[0]['start_date']
period_max = res[0]['stop_date']
@@ -167,9 +140,6 @@ class general_ledger(rml_parse.rml_parse):
}
return self.date_borne
def get_children_accounts(self, account, form):
self.child_ids = self.pool.get('account.account').search(self.cr, self.uid,
@@ -184,6 +154,8 @@ class general_ledger(rml_parse.rml_parse):
if form.has_key('fiscalyear'):
ctx['fiscalyear'] = form['fiscalyear']
ctx['periods'] = form['periods']
#ctx['periods'] = form['periods'][0][2]
else:
ctx['date_from'] = form['date_from']
ctx['date_to'] = form['date_to']
@@ -224,8 +196,8 @@ class general_ledger(rml_parse.rml_parse):
else:
## We will now compute solde initiaux
for move in res:
self.cr.execute("""SELECT sum(l.debit) AS sum_debit, sum(l.credit) AS sum_credit FROM account_move_line l \
WHERE l.account_id = %s AND l.date < %s AND l.date > %s""",(move.id,self.borne_date['max_date'],self.borne_date['min_date']))
SOLDEINIT = "SELECT sum(l.debit) AS sum_debit, sum(l.credit) AS sum_credit FROM account_move_line l WHERE l.account_id = " + str(move.id) + " AND l.date < '" + self.borne_date['max_date'] + "'" + " AND l.date > '" + self.borne_date['min_date'] + "'"
self.cr.execute(SOLDEINIT)
resultat = self.cr.dictfetchall()
if resultat[0] :
if resultat[0]['sum_debit'] == None:
@@ -248,56 +220,60 @@ class general_ledger(rml_parse.rml_parse):
return res
def lines(self, account, form):
inv_types = {
'out_invoice': 'CI: ',
'in_invoice': 'SI: ',
'out_refund': 'OR: ',
'in_refund': 'SR: ',
}
""" Return all the account_move_line of account with their account code counterparts """
if form['sortbydate'] == 'sort_date':
sorttag = 'l.date'
else:
sorttag = 'j.code'
# First compute all counterpart strings for every move_id where this account appear
sql = """
SELECT l.id, l.date, j.code,c.code AS currency_code,l.amount_currency,l.ref, l.name , COALESCE(l.debit,0) as debit, COALESCE(l.credit,0) as credit, l.period_id
FROM account_move_line as l
LEFT JOIN res_currency c on (l.currency_id=c.id)
JOIN account_journal j on (l.journal_id=j.id)
AND account_id = %%s
AND %s
WHERE l.date<=%%s
AND l.date>=%%s
ORDER by %s""" % (self.query, sorttag)
self.cr.execute(sql, (account.id, self.date_borne['max_date'], self.date_borne['min_date'],))
SELECT m1.move_id,
array_to_string(ARRAY(SELECT DISTINCT a.code FROM account_move_line m2 LEFT JOIN account_account a ON (m2.account_id=a.id) WHERE m2.move_id = m1.move_id AND m2.account_id<>%%s), ', ') AS counterpart
FROM (SELECT move_id FROM account_move_line l WHERE %s AND l.account_id = %%s AND l.date<=%%s AND l.date>=%%s GROUP BY move_id) m1
""" % self.query
self.cr.execute(sql, (account.id, account.id, self.date_borne['max_date'], self.date_borne['min_date']))
counterpart_res = self.cr.dictfetchall()
counterpart_accounts = {}
for i in counterpart_res:
counterpart_accounts[i['move_id']]=i['counterpart']
del counterpart_res
# Then select all account_move_line of this account
if form['sortbydate'] == 'sort_date':
sql_sort='l.date'
else:
sql_sort='j.code'
sql = """
SELECT l.id, l.date, j.code, l.amount_currency,l.ref, l.name, COALESCE(l.debit,0) AS debit, COALESCE(l.credit,0) AS credit, l.period_id, l.partner_id,
m.name AS move_name, m.id AS move_id,
c.code AS currency_code,
i.id AS invoice_id, i.type AS invoice_type, i.number AS invoice_number,
p.name AS partner_name
FROM account_move_line l
LEFT JOIN account_move m on (l.move_id=m.id)
LEFT JOIN res_currency c on (l.currency_id=c.id)
LEFT JOIN res_partner p on (l.partner_id=p.id)
LEFT JOIN account_invoice i on (m.id =i.move_id)
JOIN account_journal j on (l.journal_id=j.id)
WHERE %s AND l.account_id = %%s AND l.date<=%%s AND l.date>=%%s ORDER by %s
""" % (self.query, sql_sort)
self.cr.execute(sql, (account.id, self.date_borne['max_date'], self.date_borne['min_date']))
res = self.cr.dictfetchall()
sum = 0.0
account_sum = 0.0
account_move_line_obj = pooler.get_pool(self.cr.dbname).get('account.move.line')
inv_types = { 'out_invoice': 'CI', 'in_invoice': 'SI', 'out_refund': 'OR', 'in_refund': 'SR', }
for l in res:
line = self.pool.get('account.move.line').browse(self.cr, self.uid, l['id'])
l['move'] = line.move_id.name
self.cr.execute('Select id from account_invoice where move_id =%s',(line.move_id.id,))
tmpres = self.cr.dictfetchall()
if len(tmpres) > 0 :
inv = self.pool.get('account.invoice').browse(self.cr, self.uid, tmpres[0]['id'])
l['ref'] = inv_types[inv.type] + ': '+str(inv.number)
if line.partner_id :
l['partner'] = line.partner_id.name
else :
l['partner'] = ''
sum = l['debit'] - l ['credit']
# c = time.strptime(l['date'],"%Y-%m-%d")
# l['date'] = time.strftime("%d-%m-%Y",c)
l['progress'] = sum
l['line_corresp'] = self._calc_contrepartie(self.cr,self.uid,[l['id']])[l['id']]
l['move']=l['move_name']
if l['invoice_id']:
l['ref'] = '%s: %s'%(inv_types[l['invoice_type']],l['invoice_number'])
l['partner'] = l['partner_name'] or ''
account_sum = l['debit'] - l ['credit']
#c = time.strptime(l['date'],"%Y-%m-%d")
#l['date'] = time.strftime("%d-%m-%Y",c)
l['progress'] = account_sum
l['line_corresp'] = counterpart_accounts[l['move_id']]
# Modification du amount Currency
if (l['credit'] > 0):
if l['credit'] > 0:
if l['amount_currency'] != None:
l['amount_currency'] = abs(l['amount_currency']) * -1
#
if l['amount_currency'] != None:
self.tot_currency = self.tot_currency + l['amount_currency']
return res
@@ -306,7 +282,7 @@ class general_ledger(rml_parse.rml_parse):
self.cr.execute("SELECT sum(debit) "\
"FROM account_move_line l "\
"WHERE l.account_id = %s AND "+self.query,(account.id,))
"WHERE l.account_id = %s AND %s "%(account.id, self.query))
## Add solde init to the result
#
sum_debit = self.cr.fetchone()[0] or 0.0
@@ -320,7 +296,7 @@ class general_ledger(rml_parse.rml_parse):
self.cr.execute("SELECT sum(credit) "\
"FROM account_move_line l "\
"WHERE l.account_id = %s AND "+ self.query,(account.id,))
"WHERE l.account_id = %s AND %s "%(account.id,self.query))
## Add solde init to the result
#
sum_credit = self.cr.fetchone()[0] or 0.0
@@ -334,7 +310,7 @@ class general_ledger(rml_parse.rml_parse):
def _sum_solde_account(self, account, form):
self.cr.execute("SELECT (sum(debit) - sum(credit)) as tot_solde "\
"FROM account_move_line l "\
"WHERE l.account_id = %s AND "+ self.query,(account.id,))
"WHERE l.account_id = %s AND %s"%(account.id,self.query))
sum_solde = self.cr.fetchone()[0] or 0.0
if form.get('soldeinit', False):
sum_solde += account.init_debit - account.init_credit
@@ -346,7 +322,7 @@ class general_ledger(rml_parse.rml_parse):
return 0.0
self.cr.execute("SELECT sum(debit) "\
"FROM account_move_line l "\
"WHERE l.account_id =ANY(%s) AND "+ self.query,(self.child_ids,))
"WHERE l.account_id in ("+','.join(map(str, self.child_ids))+") AND "+self.query)
sum_debit = self.cr.fetchone()[0] or 0.0
return sum_debit
@@ -355,7 +331,7 @@ class general_ledger(rml_parse.rml_parse):
return 0.0
self.cr.execute("SELECT sum(credit) "\
"FROM account_move_line l "\
"WHERE l.account_id =ANY(%s) AND "+ self.query,(self.child_ids,))
"WHERE l.account_id in ("+','.join(map(str, self.child_ids))+") AND "+self.query)
## Add solde init to the result
#
sum_credit = self.cr.fetchone()[0] or 0.0
@@ -366,14 +342,14 @@ class general_ledger(rml_parse.rml_parse):
return 0.0
self.cr.execute("SELECT (sum(debit) - sum(credit)) as tot_solde "\
"FROM account_move_line l "\
"WHERE l.account_id =ANY(%s) AND "+ self.query,(self.child_ids,))
"WHERE l.account_id in ("+','.join(map(str, self.child_ids))+") AND "+self.query)
sum_solde = self.cr.fetchone()[0] or 0.0
return sum_solde
def _set_get_account_currency_code(self, account_id):
self.cr.execute("SELECT c.code as code "\
"FROM res_currency c,account_account as ac "\
"WHERE ac.id = %s AND ac.currency_id = c.id",(account_id,))
"WHERE ac.id = %s AND ac.currency_id = c.id"%(account_id))
result = self.cr.fetchone()
if result:
self.account_currency = result[0]
@@ -392,6 +368,7 @@ class general_ledger(rml_parse.rml_parse):
currency_total = self.tot_currency = 0.0
return currency_total
report_sxw.report_sxw('report.account.general.ledger', 'account.account', 'addons/account/report/general_ledger.rml', parser=general_ledger, header=False)
report_sxw.report_sxw('report.account.general.ledger_landscape', 'account.account', 'addons/account/report/general_ledger_landscape.rml', parser=general_ledger, header=False)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+2 -2
View File
@@ -105,7 +105,7 @@
</blockTable>
<section>
<para>[[ repeatIn(get_children_accounts(a,data['form']), 'o') ]]</para>
<blockTable colWidths="66.0,124.0,70.0,40.0,80.0,59.0,52.0,54.0" style="tbl_content">[[ data['form']['amount_currency'] == False or removeParentNode('blockTable') ]]
<blockTable rowHeights="0.65cm" colWidths="66.0,124.0,70.0,40.0,80.0,59.0,52.0,54.0" style="tbl_content">[[ data['form']['amount_currency'] == False or removeParentNode('blockTable') ]]
<tr>
<td>
<blockTable colWidths="280.0,100.0,52.5,52.5,52.5" style="Table5">
@@ -156,7 +156,7 @@
</blockTable>
<section>
<para>[[ repeatIn(get_children_accounts(a,data['form']), 'o') ]]</para>
<blockTable colWidths="72.0,93.0,66.0,40.0,100.0,50.0,50.0,50.0,40.0" style="tbl_content">[[ data['form']['amount_currency'] == True or removeParentNode('blockTable') ]]
<blockTable rowHeights="0.65cm" colWidths="72.0,93.0,66.0,40.0,100.0,50.0,50.0,50.0,40.0" style="tbl_content">[[ data['form']['amount_currency'] == True or removeParentNode('blockTable') ]]
<tr>
<td>
<blockTable colWidths="264.00,100.0,50.0,50.0,49.0,40.00" style="Table5">
@@ -1,396 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (c) 2005-2006 CamptoCamp
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
import time
from report import report_sxw
import xml
import rml_parse
import pooler
class general_ledger_landscape(rml_parse.rml_parse):
_name = 'report.account.general.ledger_landscape'
def set_context(self, objects, data, ids, report_type = None):
##
self.borne_date = self.get_min_date(data['form'])
##
new_ids = []
if (data['model'] == 'account.account'):
new_ids = 'active_ids' in data['form']['context'] and data['form']['context']['active_ids'] or []
else:
new_ids.append(data['form']['Account_list'])
objects = self.pool.get('account.account').browse(self.cr, self.uid, new_ids)
super(general_ledger_landscape, self).set_context(objects, data, new_ids,report_type)
def __init__(self, cr, uid, name, context):
super(general_ledger_landscape, self).__init__(cr, uid, name, context=context)
self.date_borne = {}
self.query = ""
self.child_ids = ""
self.tot_currency = 0.0
self.period_sql = ""
self.sold_accounts = {}
self.localcontext.update( {
'time': time,
'lines': self.lines,
'sum_debit_account': self._sum_debit_account,
'sum_credit_account': self._sum_credit_account,
'sum_solde_account': self._sum_solde_account,
'sum_debit': self._sum_debit,
'sum_credit': self._sum_credit,
'sum_solde': self._sum_solde,
'get_children_accounts': self.get_children_accounts,
'sum_currency_amount_account': self._sum_currency_amount_account
})
self.context = context
def _calc_contrepartie(self,cr,uid,ids, context={}):
result = {}
#for id in ids:
# result.setdefault(id, False)
for account_line in self.pool.get('account.move.line').browse(cr, uid, ids, context):
# For avoid long text in the field we will limit it to 5 lines
#
#
#
result[account_line.id] = ' '
num_id_move = account_line.move_id.id
num_id_line = account_line.id
account_id = account_line.account_id.id
# search the basic account
# We have the account ID we will search all account move line from now until this time
# We are in the case of we are on the top of the account move Line
cr.execute('SELECT distinct(ac.code) as code_rest,ac.name as name_rest from account_account AS ac, account_move_line mv\
where ac.id = mv.account_id and mv.move_id = %s and mv.account_id <> %s' , (num_id_move,account_id,))
res_mv = cr.dictfetchall()
# we need a result more than 2 line to make the test so we will made the the on 1 because we have exclude the current line
if (len(res_mv) >=1):
concat = ''
rup_id = 0
for move_rest in res_mv:
concat = concat + move_rest['code_rest'] + '|'
result[account_line.id] = concat
if rup_id >5:
# we need to stop the computing and to escape but before we will add "..."
result[account_line.id] = concat + '...'
break
rup_id+=1
return result
def get_min_date(self,form):
## Get max born from account_fiscal year
#
sql = """ select min(fy.date_start) as start_date,max(fy.date_stop) as stop_date from account_fiscalyear
As fy where fy.state <> 'close'
"""
self.cr.execute(sql)
res = self.cr.dictfetchall()
borne_min = res[0]['start_date']
borne_max = res[0]['stop_date']
if form['state'] == 'byperiod':
## This function will return the most aged date
periods = form['periods']
if not periods:
self.cr.execute("""
Select min(p.date_start) as start_date,max(p.date_stop) as stop_date from account_period as p where p.fiscalyear_id = %s""" ,(form['fiscalyear'],))
else:
self.cr.execute("""
Select min(p.date_start) as start_date,max(p.date_stop) as stop_date from account_period as p where p.id =ANY(%s)""",(periods,))
res = self.cr.dictfetchall()
borne_min = res[0]['start_date']
borne_max = res[0]['stop_date']
elif form['state'] == 'bydate':
borne_min = form['date_from']
borne_max = form['date_to']
elif form['state'] == 'all':
periods = form['periods']
if not periods:
if form['fiscalyear'] == False:
fiscalyears = self.pool.get('account.fiscalyear').search(self.cr, self.uid, [('state', '=', 'draft')])
else:
fiscalyears = [form['fiscalyear']]
self.cr.execute("select min(p.date_start) as start_date,max(p.date_stop) as stop_date from account_period as p where p.fiscalyear_id =ANY(%s)" ,(fiscalyears,))
else:
self.cr.execute("""
Select min(p.date_start) as start_date,max(p.date_stop) as stop_date from account_period as p where p.id =ANY(%s)""",(periods,))
res = self.cr.dictfetchall()
period_min = res[0]['start_date']
period_max = res[0]['stop_date']
date_min = form['date_from']
date_max = form['date_to']
if period_min<date_min:
borne_min = period_min
else :
borne_min = date_min
if date_max<period_max:
borne_max = period_max
else :
borne_max = date_max
elif form['state'] == 'none':
sql = """
SELECT min(date) as start_date,max(date) as stop_date FROM account_move_line """
self.cr.execute(sql)
res = self.cr.dictfetchall()
borne_min = res[0]['start_date']
borne_max = res[0]['stop_date']
self.date_borne = {
'min_date': borne_min,
'max_date': borne_max,
}
return self.date_borne
def get_children_accounts(self, account, form):
self.child_ids = self.pool.get('account.account').search(self.cr, self.uid,
[('parent_id', 'child_of', self.ids)])
#
res = []
ctx = self.context.copy()
## We will make the test for period or date
## We will now make the test
#
ctx['state'] = form['context'].get('state','all')
if form.has_key('fiscalyear'):
ctx['fiscalyear'] = form['fiscalyear']
ctx['periods'] = form['periods']
else:
ctx['date_from'] = form['date_from']
ctx['date_to'] = form['date_to']
##
#
self.query = self.pool.get('account.move.line')._query_get(self.cr, self.uid, context=ctx)
if account and account.child_consol_ids: # add ids of consolidated childs also of selected account
ctx['consolidate_childs'] = True
ctx['account_id'] = account.id
ids_acc = self.pool.get('account.account').search(self.cr, self.uid,[('parent_id', 'child_of', [account.id])], context=ctx)
for child_id in ids_acc:
child_account = self.pool.get('account.account').browse(self.cr, self.uid, child_id)
sold_account = self._sum_solde_account(child_account,form)
self.sold_accounts[child_account.id] = sold_account
if form['display_account'] == 'bal_mouvement':
if child_account.type != 'view' \
and len(self.pool.get('account.move.line').search(self.cr, self.uid,
[('account_id','=',child_account.id)],
context=ctx)) <> 0 :
res.append(child_account)
elif form['display_account'] == 'bal_solde':
if child_account.type != 'view' \
and len(self.pool.get('account.move.line').search(self.cr, self.uid,
[('account_id','=',child_account.id)],
context=ctx)) <> 0 :
if ( sold_account <> 0.0):
res.append(child_account)
else:
if child_account.type != 'view' \
and len(self.pool.get('account.move.line').search(self.cr, self.uid,
[('account_id','>=',child_account.id)],
context=ctx)) <> 0 :
res.append(child_account)
##
if not len(res):
return [account]
else:
## We will now compute solde initiaux
for move in res:
self.cr.execute("""SELECT sum(l.debit) AS sum_debit, sum(l.credit) AS sum_credit FROM account_move_line l \
WHERE l.account_id = %s AND l.date < %s AND l.date > %s""",(move.id,self.borne_date['max_date'],self.borne_date['min_date']))
resultat = self.cr.dictfetchall()
if resultat[0] :
if resultat[0]['sum_debit'] == None:
sum_debit = 0
else:
sum_debit = resultat[0]['sum_debit']
if resultat[0]['sum_credit'] == None:
sum_credit = 0
else:
sum_credit = resultat[0]['sum_credit']
move.init_credit = sum_credit
move.init_debit = sum_debit
else:
move.init_credit = 0
move.init_debit = 0
return res
def lines(self, account, form):
inv_types = {
'out_invoice': 'CI: ',
'in_invoice': 'SI: ',
'out_refund': 'OR: ',
'in_refund': 'SR: ',
}
if form['sortbydate'] == 'sort_date':
sorttag = 'l.date'
else:
sorttag = 'j.code'
sql = """
SELECT l.id, l.date, j.code,c.code AS currency_code,l.amount_currency,l.ref, l.name , COALESCE(l.debit,0) as debit, COALESCE(l.credit,0) as credit, l.period_id
FROM account_move_line as l
LEFT JOIN res_currency c on (l.currency_id=c.id)
JOIN account_journal j on (l.journal_id=j.id)
AND account_id = %%s
AND %s
WHERE l.date<=%%s
AND l.date>=%%s
ORDER by %s""" % (self.query, sorttag)
self.cr.execute(sql, (account.id, self.date_borne['max_date'], self.date_borne['min_date'],))
res = self.cr.dictfetchall()
sum = 0.0
account_move_line_obj = pooler.get_pool(self.cr.dbname).get('account.move.line')
for l in res:
line = self.pool.get('account.move.line').browse(self.cr, self.uid, l['id'])
l['move'] = line.move_id.name
self.cr.execute('Select id from account_invoice where move_id =%s',(line.move_id.id,))
tmpres = self.cr.dictfetchall()
if len(tmpres) > 0 :
inv = self.pool.get('account.invoice').browse(self.cr, self.uid, tmpres[0]['id'])
l['ref'] = inv_types[inv.type] + ': '+str(inv.number)
if line.partner_id :
l['partner'] = line.partner_id.name
else :
l['partner'] = ''
sum = l['debit'] - l ['credit']
# c = time.strptime(l['date'],"%Y-%m-%d")
# l['date'] = time.strftime("%d-%m-%Y",c)
l['progress'] = sum
l['line_corresp'] = self._calc_contrepartie(self.cr,self.uid,[l['id']])[l['id']]
# Modification du amount Currency
if (l['credit'] > 0):
if l['amount_currency'] != None:
l['amount_currency'] = abs(l['amount_currency']) * -1
#
if l['amount_currency'] != None:
self.tot_currency = self.tot_currency + l['amount_currency']
return res
def _sum_debit_account(self, account, form):
self.cr.execute("SELECT sum(debit) "\
"FROM account_move_line l "\
"WHERE l.account_id = %s AND "+self.query,(account.id,))
## Add solde init to the result
#
sum_debit = self.cr.fetchone()[0] or 0.0
if form['soldeinit']:
sum_debit += account.init_debit
#
##
return sum_debit
def _sum_credit_account(self, account, form):
self.cr.execute("SELECT sum(credit) "\
"FROM account_move_line l "\
"WHERE l.account_id = %s AND "+self.query,(account.id,))
## Add solde init to the result
#
sum_credit = self.cr.fetchone()[0] or 0.0
if form['soldeinit']:
sum_credit += account.init_credit
#
##
return sum_credit
def _sum_solde_account(self, account, form):
self.cr.execute("SELECT (sum(debit) - sum(credit)) as tot_solde "\
"FROM account_move_line l "\
"WHERE l.account_id = %s AND "+self.query,(account.id,))
sum_solde = self.cr.fetchone()[0] or 0.0
if form.get('soldeinit',False):
sum_solde += account.init_debit - account.init_credit
return sum_solde
def _sum_debit(self, form):
if not self.ids:
return 0.0
self.cr.execute("SELECT sum(debit) "\
"FROM account_move_line l "\
"WHERE l.account_id =ANY(%s) AND "+self.query,(self.child_ids,))
sum_debit = self.cr.fetchone()[0] or 0.0
return sum_debit
def _sum_credit(self, form):
if not self.ids:
return 0.0
self.cr.execute("SELECT sum(credit) "\
"FROM account_move_line l "\
"WHERE l.account_id =ANY(%s) AND "+self.query,(self.child_ids,))
## Add solde init to the result
#
sum_credit = self.cr.fetchone()[0] or 0.0
return sum_credit
def _sum_solde(self, form):
if not self.ids:
return 0.0
self.cr.execute("SELECT (sum(debit) - sum(credit)) as tot_solde "\
"FROM account_move_line l "\
"WHERE l.account_id =ANY(%s) AND "+self.query,(self.child_ids,))
sum_solde = self.cr.fetchone()[0] or 0.0
return sum_solde
def _set_get_account_currency_code(self, account_id):
self.cr.execute("SELECT c.code as code "\
"FROM res_currency c,account_account as ac "\
"WHERE ac.id = %s AND ac.currency_id = c.id",(account_id,))
result = self.cr.fetchone()
if result:
self.account_currency = result[0]
else:
self.account_currency = False
def _sum_currency_amount_account(self, account, form):
self._set_get_account_currency_code(account.id)
self.cr.execute("SELECT sum(aml.amount_currency) FROM account_move_line as aml,res_currency as rc WHERE aml.currency_id = rc.id AND aml.account_id= %s ", (account.id,))
total = self.cr.fetchone()
if self.account_currency:
return_field = str(total[0]) + self.account_currency
return return_field
else:
currency_total = self.tot_currency = 0.0
return currency_total
report_sxw.report_sxw('report.account.general.ledger_landscape', 'account.account', 'addons/account/report/general_ledger_landscape.rml', parser=general_ledger_landscape, header=False)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
@@ -104,7 +104,7 @@
<para>[[ repeatIn(get_children_accounts(a,data['form']), 'o') ]]</para>
<blockTable colWidths="66.0,35.0,150.0, 90.0,60.0,335.0,50.0,69.0,72.0,64.0,58.0" style="tbl_content">[[ data['form']['amount_currency'] == True or removeParentNode('blockTable') ]]
<blockTable rowHeights="0.65cm" colWidths="66.0,35.0,150.0, 90.0,60.0,335.0,50.0,69.0,72.0,64.0,58.0" style="tbl_content">[[ data['form']['amount_currency'] == True or removeParentNode('blockTable') ]]
<tr>
<td>
<blockTable colWidths="404.0,375.0,69.0,72.0,64.0,59.00" style="Table5">
@@ -165,7 +165,7 @@
<para>[[ repeatIn(get_children_accounts(a,data['form']), 'o') ]]</para>
<blockTable colWidths="66.0,35.0,166.0,90.0,60.0,378.0,50.0,69.0,72.0,64.0" style="tbl_content">[[ data['form']['amount_currency'] == False or removeParentNode('blockTable') ]]
<blockTable rowHeights="0.65cm" colWidths="66.0,35.0,166.0,90.0,60.0,378.0,50.0,69.0,72.0,64.0" style="tbl_content">[[ data['form']['amount_currency'] == False or removeParentNode('blockTable') ]]
<tr>
<td>
<blockTable colWidths="405.0,435.0,69.0,72.0,64.0" style="Table5">
+4 -7
View File
@@ -153,14 +153,11 @@ class rml_parse(report_sxw.rml_parse):
return Stringer
def _add_header(self, node, header=1):
if self.name == 'account.account.balance.landscape':
if header==2:
rml_head = self.rml_header2
else:
rml_head = self.rml_header
rml_head = rml_head.replace('<pageGraphics>','''<pageGraphics> <image x="10" y="26cm" height="770.0" width="1120.0" >[[company.logo]] </image> ''')
if header==2:
rml_head = self.rml_header2
else:
return super(rml_parse, self)._add_header(node, header)
rml_head = self.rml_header
rml_head = rml_head.replace('<pageGraphics>','''<pageGraphics> <image x="10" y="26cm" height="770.0" width="1120.0" >[[company.logo]] </image> ''')
return True
# def _add_header(self, node):
+2 -2
View File
@@ -167,9 +167,9 @@ class third_party_ledger(rml_parse.rml_parse):
#
#new_ids = [id for (id,) in self.cr.fetchall()]
if data['form']['result_selection'] == 'supplier':
self.ACCOUNT_TYPE = ['receivable']
elif data['form']['result_selection'] == 'customer':
self.ACCOUNT_TYPE = ['payable']
elif data['form']['result_selection'] == 'customer':
self.ACCOUNT_TYPE = ['receivable']
elif data['form']['result_selection'] == 'all':
self.ACCOUNT_TYPE = ['payable','receivable']
+17 -13
View File
@@ -24,7 +24,11 @@
<field eval="[(6,0,[ref('group_account_manager')])]" name="groups_id"/>
</record>
<record id="menu_finance_invoice" model="ir.ui.menu">
<record id="menu_finance_receivables" model="ir.ui.menu">
<field eval="[(6,0,[ref('group_account_invoice')])]" name="groups_id"/>
</record>
<record id="menu_finance_payables" model="ir.ui.menu">
<field eval="[(6,0,[ref('group_account_invoice')])]" name="groups_id"/>
</record>
@@ -44,77 +48,77 @@
</record>
<record id="account_move_line_comp_rule" model="ir.rule">
<field name="name">Entry lines</field>
<field name="name">Entry lines</field>
<field model="ir.model" name="model_id" ref="model_account_move_line"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record id="journal_period_comp_rule" model="ir.rule">
<field name="name">Journal Period</field>
<field name="name">Journal Period</field>
<field model="ir.model" name="model_id" ref="model_account_journal_period"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record id="journal_comp_rule" model="ir.rule">
<field name="name">Journal multi-company</field>
<field name="name">Journal multi-company</field>
<field model="ir.model" name="model_id" ref="model_account_journal"/>
<field eval="True" name="global"/>
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record id="analytic_journal_comp_rule" model="ir.rule">
<field name="name">Analytic journal multi-company</field>
<field name="name">Analytic journal multi-company</field>
<field model="ir.model" name="model_id" ref="model_account_analytic_journal"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record id="analytic_journal_comp_rule_false" model="ir.rule">
<field name="name">Analytic journal multi-company</field>
<field name="name">Analytic journal multi-company</field>
<field model="ir.model" name="model_id" ref="model_account_analytic_journal"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record id="period_comp_rule" model="ir.rule">
<field name="name">Period multi-company</field>
<field name="name">Period multi-company</field>
<field model="ir.model" name="model_id" ref="model_account_period"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record id="fiscal_year_comp_rule" model="ir.rule">
<field name="name">Fiscal year multi-company</field>
<field name="name">Fiscal year multi-company</field>
<field model="ir.model" name="model_id" ref="model_account_fiscalyear"/>
<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_comp_rule" model="ir.rule">
<field name="name">Account multi-company</field>
<field name="name">Account multi-company</field>
<field model="ir.model" name="model_id" ref="model_account_account"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record id="tax_comp_rule" model="ir.rule">
<field name="name">Tax multi-company</field>
<field name="name">Tax multi-company</field>
<field model="ir.model" name="model_id" ref="model_account_tax"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record id="tax_code_comp_rule" model="ir.rule">
<field name="name">Tax code multi-company</field>
<field name="name">Tax code multi-company</field>
<field model="ir.model" name="model_id" ref="model_account_tax_code"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record id="invoice_comp_rule" model="ir.rule">
<field name="name">Invoice multi-company</field>
<field name="name">Invoice multi-company</field>
<field model="ir.model" name="model_id" ref="model_account_invoice"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
+2 -2
View File
@@ -1,4 +1,5 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_product_product_account_user","product.product.account.user","product.model_product_product","group_account_user",1,0,0,0
"access_account_payment_term","account.payment.term","model_account_payment_term","account.group_account_user",1,0,0,0
"access_account_payment_term_line","account.payment.term.line","model_account_payment_term_line","account.group_account_user",1,0,0,0
"access_account_account_type","account.account.type","model_account_account_type","account.group_account_user",1,0,0,0
@@ -69,7 +70,6 @@
"access_account_add_tmpl_wizard_system_manager","account.addtmpl.wizard system manager","model_account_addtmpl_wizard","base.group_system",1,1,1,1
"access_account_invoice_user","account.invoice user","model_account_invoice","base.group_user",1,0,0,0
"access_account_invoice_user","account.invoice.line user","model_account_invoice_line","base.group_user",1,0,0,0
"access_account_invoice_user","account.invoice.tax user","model_account_invoice_tax","base.group_user",1,0,0,0
"access_account_payment_term_partner_manager","account.payment.term partner manager","model_account_payment_term","base.group_user",1,0,0,0
"access_account_payment_term_line_partner_manager","account.payment.term.line partner manager","model_account_payment_term_line","base.group_user",1,0,0,0
"access_account_account_product_manager","account.account product manager","model_account_account","product.group_product_manager",1,0,0,0
@@ -85,7 +85,7 @@
"access_account_fiscal_position_account_template","account.fiscal.position.account.template","model_account_fiscal_position_account_template","account.group_account_manager",1,1,1,1
"access_account_sequence_fiscal_year","account.sequence.fiscalyear","model_account_sequence_fiscalyear","account.group_account_user",1,1,1,1
"access_account_sequence_fiscal_year_user","account.sequence.fiscalyear user","model_account_sequence_fiscalyear","base.group_user",1,0,0,0
"access_account_installer","account.installer","model_account_installer","base.group_user",1,0,0,0
"access_account_installer","account.installer","model_account_installer","base.group_system",1,1,1,1
"access_report_account_receivable","report.account.receivable","model_report_account_receivable","account.group_account_manager",1,0,0,0
"access_temp_range","temp.range","model_temp_range","account.group_account_manager",1,0,0,0
"access_report_aged_receivable","report.aged.receivable","model_report_aged_receivable","account.group_account_manager",1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_product_product_account_user product.product.account.user product.model_product_product group_account_user 1 0 0 0
3 access_account_payment_term account.payment.term model_account_payment_term account.group_account_user 1 0 0 0
4 access_account_payment_term_line account.payment.term.line model_account_payment_term_line account.group_account_user 1 0 0 0
5 access_account_account_type account.account.type model_account_account_type account.group_account_user 1 0 0 0
70 access_account_add_tmpl_wizard_system_manager account.addtmpl.wizard system manager model_account_addtmpl_wizard base.group_system 1 1 1 1
71 access_account_invoice_user account.invoice user model_account_invoice base.group_user 1 0 0 0
72 access_account_invoice_user account.invoice.line user model_account_invoice_line base.group_user 1 0 0 0
access_account_invoice_user account.invoice.tax user model_account_invoice_tax base.group_user 1 0 0 0
73 access_account_payment_term_partner_manager account.payment.term partner manager model_account_payment_term base.group_user 1 0 0 0
74 access_account_payment_term_line_partner_manager account.payment.term.line partner manager model_account_payment_term_line base.group_user 1 0 0 0
75 access_account_account_product_manager account.account product manager model_account_account product.group_product_manager 1 0 0 0
85 access_account_fiscal_position_account_template account.fiscal.position.account.template model_account_fiscal_position_account_template account.group_account_manager 1 1 1 1
86 access_account_sequence_fiscal_year account.sequence.fiscalyear model_account_sequence_fiscalyear account.group_account_user 1 1 1 1
87 access_account_sequence_fiscal_year_user account.sequence.fiscalyear user model_account_sequence_fiscalyear base.group_user 1 0 0 0
88 access_account_installer account.installer model_account_installer base.group_user base.group_system 1 0 1 0 1 0 1
89 access_report_account_receivable report.account.receivable model_report_account_receivable account.group_account_manager 1 0 0 0
90 access_temp_range temp.range model_temp_range account.group_account_manager 1 0 0 0
91 access_report_aged_receivable report.aged.receivable model_report_aged_receivable account.group_account_manager 1 0 0 0
@@ -0,0 +1,84 @@
-
In order to test change currency wizard I create an invoice with currency "EUR" and change it to "USD" using the wizard
-
!record {model: account.invoice, id: account_invoice_currency}:
account_id: account.a_recv
address_contact_id: base.res_partner_address_3000
address_invoice_id: base.res_partner_address_3000
company_id: base.main_company
currency_id: base.EUR
invoice_line:
- account_id: account.a_sale
name: '[PC1] Basic PC'
price_unit: 450.0
quantity: 1.0
product_id: product.product_product_pc1
uos_id: product.product_uom_unit
journal_id: account.sales_journal
partner_id: base.res_partner_desertic_hispafuentes
reference_type: none
-
I check that Initially customer invoice is in the draft state
-
!assert {model: account.invoice, id: account_invoice_currency, string: Customer Invoice is in Draft state}:
- state == 'draft'
-
I change the state of invoice to proforma2 by clicking PRO-FORMA button
-
!workflow {model: account.invoice, action: invoice_proforma2, ref: account_invoice_currency}
-
I check that now customer invoice is in the "proforma2" state
-
!assert {model: account.invoice, id: account_invoice_currency}:
- state == 'proforma2'
-
Now I select USD as new currency
-
!record {model: account.change.currency, id: account_change_currency_0}:
currency_id: base.USD
-
I clicked on Change Currency button to change the currency
-
!python {model: account.change.currency}: |
try:
self.view_init(cr, uid, [ref("account_change_currency_0")], {"lang": 'en_US',
"active_model": "account.invoice", "tz": False, "record_id": 4, "active_ids":
[ref("account_invoice_currency")], "type": "out_invoice", "active_id": ref("account_invoice_currency"),
})
self.change_currency(cr, uid, [ref("account_change_currency_0")], {"lang": 'en_US',
"active_model": "account.invoice", "tz": False, "record_id": 4, "active_ids":
[ref("account_invoice_currency")], "type": "out_invoice", "active_id": ref("account_invoice_currency"),
})
except:
print "You can not change currency for Open Invoice !"
-
I can't change the currency of invoice when it is not in draft state so i change the state to cancel
-
!workflow {model: account.invoice, action: invoice_cancel, ref: account_invoice_currency}
-
I change the state to "Draft"
-
!python {model: account.invoice}: |
self.action_cancel_draft(cr, uid, [ref("account_invoice_currency")], {"lang": 'en_US',
"tz": False, "active_model": "ir.ui.menu", "active_ids": [ref("account.menu_action_invoice_tree1")],
"type": "out_invoice", "active_id": ref("account.menu_action_invoice_tree1"),
})
-
I change the currency.
-
!record {model: account.change.currency, id: account_change_currency_0}:
currency_id: base.USD
-
I clicked on Change Currency button to change the currency
-
!python {model: account.change.currency}: |
self.change_currency(cr, uid, [ref("account_change_currency_0")], {"lang": 'en_US',
"active_model": "account.invoice", "tz": False, "record_id": 4, "active_ids":
[ref("account_invoice_currency")], "type": "out_invoice", "active_id": ref("account_invoice_currency"),
})
-
I check that the currency is changed successfully
-
!assert {model: account.invoice, id: account_invoice_currency, string: Currency changed from EUR to USD}:
- currency_id.id == ref("base.USD")
@@ -0,0 +1,129 @@
-
In order to test account invoice I create a new customer invoice
-
!record {model: account.invoice, id: account_invoice_customer0}:
account_id: account.a_recv
address_contact_id: base.res_partner_address_zen
address_invoice_id: base.res_partner_address_zen
company_id: base.main_company
currency_id: base.EUR
date_invoice: '2010-05-26'
invoice_line:
- account_id: account.a_sale
name: '[PC3] Medium PC'
price_unit: 900.0
quantity: 10.0
product_id: product.product_product_pc3
uos_id: product.product_uom_unit
journal_id: account.sales_journal
partner_id: base.res_partner_3
reference_type: none
-
I check that Initially customer invoice is in the "Draft" state
-
!assert {model: account.invoice, id: account_invoice_customer0}:
- state == 'draft'
-
I change the state of invoice to "Proforma2" by clicking PRO-FORMA button
-
!workflow {model: account.invoice, action: invoice_proforma2, ref: account_invoice_customer0}
-
I check that the invoice state is now "Proforma2"
-
!assert {model: account.invoice, id: account_invoice_customer0}:
- state == 'proforma2'
-
I create invoice by clicking on Create button
-
!workflow {model: account.invoice, action: invoice_open, ref: account_invoice_customer0}
-
I check that the invoice state is "Open"
-
!assert {model: account.invoice, id: account_invoice_customer0}:
- state == 'open'
-
I create a record for partial payment of 1000 EUR.
-
!record {model: account.invoice.pay, id: account_invoice_pay_first0}:
amount: 1000.0
date: '2010-05-26'
journal_id: account.sales_journal
name: First payment for [PC3] Medium PC to Distrib PC
period_id: account.period_5
-
I make partial payment by clicking on Partial Payment button
-
!python {model: account.invoice.pay}: |
self.pay_and_reconcile(cr, uid, [ref("account_invoice_pay_first0")], {"lang":
'en_US', "active_model": "account.invoice", "tz": False, "record_id": 3, "active_ids":
[ref("account_invoice_customer0")], "type": "out_invoice", "active_id": ref("account_invoice_customer0"),
})
-
I check that the invoice state is still open
-
!assert {model: account.invoice, id: account_invoice_customer0}:
- state == 'open'
-
I make second partial payment of 6000 EUR.
-
!record {model: account.invoice.pay, id: account_invoice_pay_second0}:
amount: 6000.0
date: '2010-05-28'
journal_id: account.sales_journal
name: Second payment for [PC3] Medium PC to Distrib PC
period_id: account.period_5
-
I make partial payment by clicking on Partial Payment button
-
!python {model: account.invoice.pay}: |
self.pay_and_reconcile(cr, uid, [ref("account_invoice_pay_second0")], {"lang":
'en_US', "active_model": "account.invoice", "tz": False, "record_id": 3, "active_ids":
[ref("account_invoice_customer0")], "type": "out_invoice", "active_id": ref("account_invoice_customer0"),
})
-
I make final partial payment of 2000 EUR
-
!record {model: account.invoice.pay, id: account_invoice_pay_final0}:
amount: 2000.0
date: '2010-05-30'
journal_id: account.sales_journal
name: Final payment for [PC3] Medium PC to Distrib PC
period_id: account.period_5
-
I make partial payment by clicking on Partial Payment button
-
!python {model: account.invoice.pay}: |
self.pay_and_reconcile(cr, uid, [ref("account_invoice_pay_final0")], {"lang":
'en_US', "active_model": "account.invoice", "tz": False, "record_id": 3, "active_ids":
[ref("account_invoice_customer0")], "type": "out_invoice", "active_id": ref("account_invoice_customer0"),
})
-
I check that the invoice state is now Done
-
!assert {model: account.invoice, id: account_invoice_customer0}:
- state == 'paid'
-
I check that an payment entry gets created in the account.move.line
-
!python {model: account.invoice}: |
acc_id=self.browse(cr, uid, ref("account_invoice_customer0"))
assert(acc_id.move_id)
-
I refund the invoice Using Credit Note
-
!record {model: account.invoice.refund, id: account_invoice_refund_0}:
description: Refund To China Export
period: account.period_5
-
I clicked on refund button
-
!python {model: account.invoice.refund}: |
self.invoice_refund(cr, uid, [ref("account_invoice_refund_0")], {"lang": 'en_US', "tz": False, "active_model": "account.invoice", "active_ids": [ref("account.account_invoice_customer0")], "type": "out_invoice", "active_id": ref("account.account_invoice_customer0"), })
-
I checked that a new entry with state "Draft" created in account move line
@@ -0,0 +1,91 @@
-
In order to test Generate Fiscalyear Opening Entries wizard of OpenERP I first create a fiscalyear "Fiscal Year 2011" to which the entries will move
-
!record {model: account.fiscalyear, id: account_fiscalyear_fiscalyear0}:
code: FY2011
company_id: base.main_company
date_start: '2011-01-01'
date_stop: '2011-12-31'
name: Fiscal Year 2011
-
I create a period "Jan2011" for the new fiscalyear
-
!record {model: account.period, id: account_period_jan11}:
company_id: base.main_company
date_start: '2011-01-01'
date_stop: '2011-12-31'
fiscalyear_id: account_fiscalyear_fiscalyear0
name: Jan2011
special: 1
-
I made modification in journal so it can move entries
-
!record {model: account.journal, id: account.sales_journal}:
centralisation: 1
-
I called the Generate Fiscalyear Opening Entries wizard
-
!record {model: account.fiscalyear.close, id: account_fiscalyear_close_0}:
fy2_id: account_fiscalyear_fiscalyear0
fy_id: account.data_fiscalyear
journal_id: account.sales_journal
period_id: account_period_jan11
report_name: End of Fiscal Year Entry
sure: 1
-
I clicked on create Button
-
!python {model: account.fiscalyear.close}: |
self.data_save(cr, uid, [ref("account_fiscalyear_close_0")], {"lang": 'en_US',
"active_model": "ir.ui.menu", "active_ids": [ref("account.menu_wizard_fy_close")],
"tz": False, "active_id": ref("account.menu_wizard_fy_close"), })
-
I check the opening entries By using "Entries by Line wizard"
-
!record {model: account.move.journal, id: account_move_journal_0}:
journal_id: account.sales_journal
period_id: account_period_jan11
-
I clicked on Open Journal Button to check the entries
-
!python {model: account.move.journal}: |
self.action_open_window(cr, uid, [ref("account_move_journal_0")], {"lang": 'en_US',
"active_model": "ir.ui.menu", "active_ids": [ref("account.menu_action_move_journal_line_form")],
"tz": False, "active_id": ref("account.menu_action_move_journal_line_form"),
})
-
In order to test Cancel Opening Entries I cancelled the opening entries created for "Fiscal Year 2011"
-
!record {model: account.open.closed.fiscalyear, id: account_open_closed_fiscalyear_1}:
fyear_id: account.data_fiscalyear
-
I clicked on Open button
-
!python {model: account.open.closed.fiscalyear}: |
self.remove_entries(cr, uid, [ref("account_open_closed_fiscalyear_1")], {"lang":
'en_US', "active_model": "ir.ui.menu", "active_ids": [ref("account.menu_wizard_open_closed_fy")],
"tz": False, "active_id": ref("account.menu_wizard_open_closed_fy"), })
-
I check the opening entries By using "Entries by Line wizard"
-
!record {model: account.move.journal, id: account_move_journal_2}:
journal_id: account.sales_journal
period_id: account_period_jan11
-
I checked the Opening entries are cancelled successfully
-
!python {model: account.move.journal}: |
self.action_open_window(cr, uid, [ref("account_move_journal_2")], {"lang": 'en_US',
"active_model": "ir.ui.menu", "active_ids": [ref("account.menu_action_move_journal_line_form")],
"tz": False, "active_id": ref("account.menu_action_move_journal_line_form"),
})
@@ -0,0 +1,46 @@
-
In order to check the Close a Fiscal Year wizard in OpenERP I first create a Fiscalyear
-
!record {model: account.fiscalyear, id: account_fiscalyear_fiscalyear0}:
code: FY2011
company_id: base.main_company
date_start: '2011-01-01'
date_stop: '2011-12-31'
name: Fiscal Year 2011
-
I create monthly Periods for this fiscalyear
-
!python {model: account.fiscalyear}: |
self.create_period(cr, uid, [ref("account_fiscalyear_fiscalyear0")], {"lang":
'en_US', "active_model": "ir.ui.menu", "active_ids": [ref("account.menu_action_account_fiscalyear_form")],
"tz": False, "active_id": ref("account.menu_action_account_fiscalyear_form"),
})
-
I check that the fiscalyear state is "Draft"
-
!assert {model: account.fiscalyear, id: account_fiscalyear_fiscalyear0, string: Fiscal Year is in Draft state}:
- state == 'draft'
-
I run the Close a Fiscalyear wizard to close this fiscalyear
-
!record {model: account.fiscalyear.close.state, id: account_fiscalyear_close_state_0}:
fy_id: account_fiscalyear_fiscalyear0
sure: 1
-
I clicked on Close States Button to close fiscalyear
-
!python {model: account.fiscalyear.close.state}: |
self.data_save(cr, uid, [ref("account_fiscalyear_close_state_0")], {"lang": 'en_US',
"active_model": "ir.ui.menu", "active_ids": [ref("account.menu_wizard_fy_close_state")],
"tz": False, "active_id": ref("account.menu_wizard_fy_close_state"), })
-
I check that the fiscalyear state is now "Done"
-
!assert {model: account.fiscalyear, id: account_fiscalyear_fiscalyear0, string: Fiscal Year is in Done state}:
- state == 'done'
@@ -0,0 +1,68 @@
-
In order to test Confirm Draft Invoice wizard I create an invoice and confirm it with this wizard
-
!record {model: account.invoice, id: account_invoice_state}:
account_id: account.a_recv
address_contact_id: base.res_partner_address_3000
address_invoice_id: base.res_partner_address_3000
company_id: base.main_company
currency_id: base.EUR
invoice_line:
- account_id: account.a_sale
name: '[PC1] Basic PC'
price_unit: 450.0
quantity: 1.0
product_id: product.product_product_pc1
uos_id: product.product_uom_unit
journal_id: account.bank_journal
partner_id: base.res_partner_desertic_hispafuentes
reference_type: none
-
I check that Initially customer invoice state is "Draft"
-
!assert {model: account.invoice, id: account_invoice_state}:
- state == 'draft'
-
I called the "Confirm Draft Invoices" wizard
-
!record {model: account.invoice.confirm, id: account_invoice_confirm_0}:
{}
-
I clicked on Confirm Invoices Button
-
!python {model: account.invoice.confirm}: |
self.invoice_confirm(cr, uid, [ref("account_invoice_confirm_0")], {"lang": 'en_US',
"tz": False, "active_model": "account.invoice", "active_ids": [ref("account_invoice_state")],
"type": "out_invoice", "active_id": ref("account_invoice_state"), })
-
I check that customer invoice state is "Open"
-
!assert {model: account.invoice, id: account_invoice_state}:
- state == 'open'
-
I Modified the journal record so it can cancel invoice
-
!record {model: account.journal, id: account.bank_journal}:
update_posted: 1
-
In order to check the "Cancel Selected Invoices" wizard in openerp I cancelled this open invoice using this wizard
-
!record {model: account.invoice.cancel, id: account_invoice_cancel_0}:
{}
-
I clicked on Cancel Invoices Button
-
!python {model: account.invoice.cancel}: |
self.invoice_cancel(cr, uid, [ref("account_invoice_cancel_0")], {"lang": 'en_US',
"tz": False, "active_model": "account.invoice", "active_ids": [ref("account_invoice_state")],
"type": "out_invoice", "active_id": ref("account_invoice_state"), })
-
I check that customer invoice is in the cancel state
-
!assert {model: account.invoice, id: account_invoice_state}:
- state == 'cancel'
@@ -0,0 +1,35 @@
-
In order to test close period wizard I create a period then close it and checked it's state
-
!record {model: account.period, id: account_period_jan0}:
company_id: base.main_company
date_start: '2010-01-01'
date_stop: '2010-01-31'
fiscalyear_id: account.data_fiscalyear
name: Jan-2010
special: 1
-
I check that the period state is "Draft"
-
!assert {model: account.period, id: account_period_jan0, string: Period is in Draft state}:
- state == 'draft'
-
I use "Close a Period" wizard to close period Jan-2010
-
!record {model: account.period.close, id: account_period_close_0}:
sure: 1
-
I clicked on Close Period Button to close Period
-
!python {model: account.period.close}: |
self.data_save(cr, uid, [ref("account_period_close_0")], {"lang": 'en_US', "active_model":
"account.period", "active_ids": [ref("account_period_jan0")], "tz": False, "active_id":
ref("account_period_jan0"), })
-
I check that the period state is "Done"
-
!assert {model: account.period, id: account_period_jan0, string: Period is in Done state}:
- state == 'done'
@@ -0,0 +1,86 @@
-
In order to test account invoice I create a new supplier invoice
-
!record {model: account.invoice, id: account_invoice_supplier0}:
account_id: account.a_pay
address_contact_id: base.res_partner_address_3000
address_invoice_id: base.res_partner_address_3000
check_total: 3000.0
company_id: base.main_company
currency_id: base.EUR
invoice_line:
- account_id: account.a_expense
name: '[PC1] Basic PC'
price_unit: 300.0
product_id: product.product_product_pc1
quantity: 10.0
uos_id: product.product_uom_unit
journal_id: account.expenses_journal
partner_id: base.res_partner_desertic_hispafuentes
reference_type: none
type: in_invoice
-
I check that Initially supplier invoice state is "Draft"
-
!assert {model: account.invoice, id: account_invoice_supplier0}:
- state == 'draft'
-
I change the state of invoice to open by clicking Validate button
-
!workflow {model: account.invoice, action: invoice_open, ref: account_invoice_supplier0}
-
I check that the invoice state is now "Open"
-
!assert {model: account.invoice, id: account_invoice_supplier0}:
- state == 'open'
-
I make a partial payment of 2000 EUR
-
!record {model: account.invoice.pay, id: account_invoice_pay_firstpaymenttoaxelorforbasicpc0}:
amount: 2000.0
date: '2010-05-29'
journal_id: account.sales_journal
name: First Payment to Axelor for Basic PC
period_id: account.period_5
-
I make partial payment by clicking on Partial Payment button
-
!python {model: account.invoice.pay}: |
self.pay_and_reconcile(cr, uid, [ref("account_invoice_pay_firstpaymenttoaxelorforbasicpc0")],
{"lang": 'en_US', "active_model": "account.invoice", "tz": False, "record_id":
25, "active_ids": [ref("account_invoice_supplier0")], "type": "in_invoice", "active_id":
ref("account_invoice_supplier0"), })
-
I check that the invoice state is still "Open"
-
!assert {model: account.invoice, id: account_invoice_supplier0}:
- state == 'open'
-
I make final partial payment of 1000 EUR
-
!record {model: account.invoice.pay, id: account_invoice_pay_finalpaymenttoaxelorforbasicpc0}:
amount: 1000.0
date: '2010-06-17'
journal_id: account.sales_journal
name: Final Payment to Axelor for Basic PC
period_id: account.period_5
-
I make partial payment by clicking on Partial Payment button
-
!python {model: account.invoice.pay}: |
self.pay_and_reconcile(cr, uid, [ref("account_invoice_pay_finalpaymenttoaxelorforbasicpc0")],
{"lang": 'en_US', "active_model": "account.invoice", "tz": False, "record_id":
25, "active_ids": [ref("account_invoice_supplier0")], "type": "in_invoice", "active_id":
ref("account_invoice_supplier0"), })
-
I check that the invoice state is now "Done"
-
!assert {model: account.invoice, id: account_invoice_supplier0}:
- state == 'paid'
-
I check that an payment entry gets created in the account move line
-
!python {model: account.invoice}: |
acc_id=self.browse(cr, uid, ref("account_invoice_supplier0"))
assert(acc_id.move_id)
+44
View File
@@ -0,0 +1,44 @@
-
In order to test account use models wizard in OpenERP I create an account model record
-
!record {model: account.model, id: account_model_mymodelonyears0}:
journal_id: account.expenses_journal
lines_id:
- account_id: account.a_recv
credit: 0.0
debit: 0.0
name: test1
sequence: 0.0
date: today
quantity: 0.0
name: My Model on %(year)s
-
I create an account use model record
-
!record {model: account.use.model, id: account_use_model_0}:
{}
-
I create entries.
-
!python {model: account.use.model}: |
self.create_entries(cr, uid, [ref("account_use_model_0")], {"lang": 'en_US', "active_model":
"account.model", "active_ids": [ref("account_model_mymodelonyears0")], "tz":
False, "active_id": ref("account_model_mymodelonyears0"), })
-
I create an account use model record
-
!record {model: account.use.model, id: account_use_model_1}:
{}
-
I checked that Moves are created successfully
-
!python {model: account.use.model}: |
self.open_moves(cr, uid, [ref("account_use_model_1")], {"lang": 'en_US', "move_ids":
[], "tz": False, "active_model": "account.model", "active_ids": [ref("account_model_mymodelonyears0")],
"active_id": ref("account_model_mymodelonyears0"), })
@@ -0,0 +1,60 @@
-
In order to test Validate Ledger Postings wizard in OpenERP I created a account move
-
!record {model: account.move, id: account_move_0}:
date: '2010-06-07'
journal_id: account.bank_journal
line_id:
- account_id: account.cash
amount_currency: 0.0
credit: 2000.0
date: '2010-06-07'
debit: 0.0
journal_id: account.bank_journal
name: Basic Computer
partner_id: base.res_partner_desertic_hispafuentes
period_id: account.period_6
ref: '2010010'
tax_amount: 0.0
- journal_id: account.bank_journal
period_id: account.period_6
ref: '2010010'
tax_amount: 0.0
account_id: account.a_recv
amount_currency: 0.0
credit: 0.0
date: '2010-06-07'
debit: 2000.0
name: Basic Computer
partner_id: base.res_partner_desertic_hispafuentes
quantity: 0.0
name: /
period_id: account.period_6
ref: '2010010'
state: draft
-
I check that Initially account move state is "Draft"
-
!assert {model: account.move, id: account_move_0}:
- state == 'draft'
-
I validate this account move by using Validate Ledger Postings
-
!record {model: validate.account.move, id: validate_account_move_0}:
journal_id: account.bank_journal
period_id: account.period_6
-
I clicked on validate Button
-
!python {model: validate.account.move}: |
self.validate_move(cr, uid, [ref("validate_account_move_0")], {"lang": "en_US",
"active_model": "ir.ui.menu", "active_ids": [ref("account.menu_validate_account_moves")],
"tz": False, "active_id": ref("account.menu_validate_account_moves"), })
-
I check that the invoice state is now "Posted"
-
!assert {model: account.move, id: account_move_0}:
- state == 'posted'
+75
View File
@@ -0,0 +1,75 @@
-
In order to check the Chart of Accounts wizard I run the wizard with target move set as all
-
!record {model: account.chart, id: account_chart_0}:
target_move: all
-
I clicked on Open chart Button to open the chart
-
!python {model: account.chart}: |
self.account_chart_open_window(cr, uid, [ref("account_chart_0")], {"lang": 'en_US',
"active_model": "ir.ui.menu", "active_ids": [ref("account.menu_action_account_tree2")],
"tz": False, "active_id": ref("account.menu_action_account_tree2"), })
-
I create chart of account with target move set as posted
-
!record {model: account.chart, id: account_chart_0}:
target_move: posted
-
I clicked on Open chart Button to open the chart
-
!python {model: account.chart}: |
self.account_chart_open_window(cr, uid, [ref("account_chart_0")], {"lang": 'en_US',
"active_model": "ir.ui.menu", "active_ids": [ref("account.menu_action_account_tree2")],
"tz": False, "active_id": ref("account.menu_action_account_tree2"), })
-
In order to test Account Move Line Wizard I check the move line entries using this wizard
-
!record {model: account.move.line.select, id: account_move_line_select_0}:
{}
-
I clicked on Button to open the account move lines
-
!python {model: account.move.line.select}: |
self.open_window(cr, uid, [ref("account_move_line_select_0")], {"lang": 'en_US',
"state": "all", "tz": False, "active_model": "account.account", "active_ids":
[ref("account.a_recv")], "fiscalyear": 1, "active_id": ref("account.a_recv"),
})
-
In order to test the Analytic Charts of Account wizard I will generate chart
-
!record {model: account.analytic.chart, id: account_analytic_chart_0}:
from_date: '2010-01-01'
to_date: '2010-06-30'
-
I clicked on Open chart Button to open the charts
-
!python {model: account.analytic.chart}: |
self.analytic_account_chart_open_window(cr, uid, [ref("account_analytic_chart_0")],
{"lang": 'en_US', "active_model": "ir.ui.menu", "active_ids": [ref("account.menu_action_analytic_account_tree2")],
"tz": False, "active_id": ref("account.menu_action_analytic_account_tree2"),
})
-
In order to test Account Journal Select wizard I open journal entries using this wizard
-
!record {model: account.journal.select, id: account_journal_select_0}:
{}
-
I clicked on Open Journal Button to open the entries
-
!python {model: account.journal.select}: |
self.action_open_window(cr, uid, [ref("account_journal_select_0")], {"lang":
'en_US', "active_model": "account.journal.period", "active_ids": [ref("account.a_recv")],
"tz": False, "active_id": ref("account.a_recv"), })
-
I check that the entries open successfully
@@ -31,15 +31,16 @@ class account_automatic_reconcile(osv.osv_memory):
_columns = {
'account_ids': fields.many2many('account.account', 'reconcile_account_rel', 'reconcile_id', 'account_id', 'Account to reconcile', domain = [('reconcile','=',1)], \
help = 'If no account is specified, the reconciliation will be made using every accounts that can be reconcilied'),
'writeoff_acc_id': fields.many2one('account.account', 'Account', required=True),
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
'period_id': fields.many2one('account.period', 'Period', required=True),
'writeoff_acc_id': fields.many2one('account.account', 'Account'),
'journal_id': fields.many2one('account.journal', 'Journal'),
'period_id': fields.many2one('account.period', 'Period'),
'max_amount': fields.float('Maximum write-off amount'),
'power': fields.selection([(p, str(p)) for p in range(2, 10)], 'Power', required=True),
'power': fields.selection([(p, str(p)) for p in range(2, 10)], 'Power', required=True, help='Number of partial amounts that can be combined to find a balance point can be chosen as the power of the automatic reconciliation'),
'date1': fields.date('Start of period', required=True),
'date2': fields.date('End of period', required=True),
'reconciled': fields.integer('Reconciled transactions', readonly=True),
'unreconciled': fields.integer('Not reconciled transactions', readonly=True),
'allow_write_off': fields.boolean('Allow write off')
}
def _get_reconciled(self, cr, uid, context={}):
@@ -134,7 +135,6 @@ class account_automatic_reconcile(osv.osv_memory):
return (reconciled, len(credits)+len(debits))
def reconcile(self, cr, uid, ids, context=None):
service = netsvc.LocalService("object_proxy")
move_line_obj = self.pool.get('account.move.line')
obj_model = self.pool.get('ir.model.data')
if context is None:
@@ -146,16 +146,18 @@ class account_automatic_reconcile(osv.osv_memory):
if not form['account_ids']:
raise osv.except_osv(_('UserError'), _('You must select accounts to reconcile'))
for account_id in form['account_ids']:
if not context.get('allow_write_off', False):
query = "SELECT partner_id FROM account_move_line WHERE account_id=%s AND reconcile_id IS NULL \
AND state <> 'draft' GROUP BY partner_id \
HAVING ABS(SUM(debit-credit)) <> %s AND count(*)>0"%(account_id, 0.0)
# query="SELECT partner_id FROM account_move_line WHERE account_id=%s AND reconcile_id IS NULL \
# AND state <> 'draft' GROUP BY partner_id AND debit = credi"%(account_id)
else:
query = "SELECT partner_id FROM account_move_line WHERE account_id=%s AND reconcile_id IS NULL \
AND state <> 'draft' GROUP BY partner_id \
HAVING ABS(SUM(debit-credit)) <= %s AND count(*)>0"%(account_id, max_amount or 0.0)
# reconcile automatically all transactions from partners whose balance is 0
cr.execute(
"SELECT partner_id " \
"FROM account_move_line " \
"WHERE account_id=%s " \
"AND reconcile_id IS NULL " \
"AND state <> 'draft' " \
"GROUP BY partner_id " \
"HAVING ABS(SUM(debit-credit)) < %s AND count(*)>0",
(account_id, max_amount or 0.0))
cr.execute(query)
partner_ids = [id for (id,) in cr.fetchall()]
for partner_id in partner_ids:
cr.execute(
@@ -168,63 +170,67 @@ class account_automatic_reconcile(osv.osv_memory):
(account_id, partner_id))
line_ids = [id for (id,) in cr.fetchall()]
if len(line_ids):
move_line_obj.reconcile(cr, uid, line_ids, 'auto', form['writeoff_acc_id'], form['period_id'], form['journal_id'], context)
reconciled += len(line_ids)
if not context.get('allow_write_off', False):
move_line_obj.reconcile_partial(cr, uid, line_ids, 'manual', context={})
else:
move_line_obj.reconcile(cr, uid, line_ids, 'auto', form['writeoff_acc_id'], form['period_id'], form['journal_id'], context)
# get the list of partners who have more than one unreconciled transaction
cr.execute(
"SELECT partner_id " \
"FROM account_move_line " \
"WHERE account_id=%s " \
"AND reconcile_id IS NULL " \
"AND state <> 'draft' " \
"AND partner_id IS NOT NULL " \
"GROUP BY partner_id " \
"HAVING count(*)>1",
(account_id,))
partner_ids = [id for (id,) in cr.fetchall()]
#filter?
for partner_id in partner_ids:
# get the list of unreconciled 'debit transactions' for this partner
cr.execute(
"SELECT id, debit " \
"FROM account_move_line " \
"WHERE account_id=%s " \
"AND partner_id=%s " \
"AND reconcile_id IS NULL " \
"AND state <> 'draft' " \
"AND debit > 0",
(account_id, partner_id))
debits = cr.fetchall()
# get the list of partners who have more than one unreconciled transaction
cr.execute(
"SELECT partner_id " \
"FROM account_move_line " \
"WHERE account_id=%s " \
"AND reconcile_id IS NULL " \
"AND state <> 'draft' " \
"AND partner_id IS NOT NULL " \
"GROUP BY partner_id " \
"HAVING count(*)>1",
(account_id,))
partner_ids = [id for (id,) in cr.fetchall()]
#filter?
for partner_id in partner_ids:
# get the list of unreconciled 'debit transactions' for this partner
cr.execute(
"SELECT id, debit " \
"FROM account_move_line " \
"WHERE account_id=%s " \
"AND partner_id=%s " \
"AND reconcile_id IS NULL " \
"AND state <> 'draft' " \
"AND debit > 0",
(account_id, partner_id))
debits = cr.fetchall()
# get the list of unreconciled 'credit transactions' for this partner
cr.execute(
"SELECT id, credit " \
"FROM account_move_line " \
"WHERE account_id=%s " \
"AND partner_id=%s " \
"AND reconcile_id IS NULL " \
"AND state <> 'draft' " \
"AND credit > 0",
(account_id, partner_id))
credits = cr.fetchall()
# get the list of unreconciled 'credit transactions' for this partner
cr.execute(
"SELECT id, credit " \
"FROM account_move_line " \
"WHERE account_id=%s " \
"AND partner_id=%s " \
"AND reconcile_id IS NULL " \
"AND state <> 'draft' " \
"AND credit > 0",
(account_id, partner_id))
credits = cr.fetchall()
(rec, unrec) = self.do_reconcile(cr, uid, credits, debits, max_amount, power, form['writeoff_acc_id'], form['period_id'], form['journal_id'], context)
reconciled += rec
unreconciled += unrec
(rec, unrec) = self.do_reconcile(cr, uid, credits, debits, max_amount, power, form['writeoff_acc_id'], form['period_id'], form['journal_id'], context)
reconciled += rec
unreconciled += unrec
# add the number of transactions for partners who have only one
# unreconciled transactions to the unreconciled count
partner_filter = partner_ids and 'AND partner_id not in (%s)' % ','.join(map(str, filter(None, partner_ids))) or ''
cr.execute(
"SELECT count(*) " \
"FROM account_move_line " \
"WHERE account_id=%s " \
"AND reconcile_id IS NULL " \
"AND state <> 'draft' " + partner_filter,
(account_id,))
additional_unrec = cr.fetchone()[0]
context.update({'reconciled': reconciled, 'unreconciled': unreconciled + additional_unrec})
# add the number of transactions for partners who have only one
# unreconciled transactions to the unreconciled count
partner_filter = partner_ids and 'AND partner_id not in (%s)' % ','.join(map(str, filter(None, partner_ids))) or ''
cr.execute(
"SELECT count(*) " \
"FROM account_move_line " \
"WHERE account_id=%s " \
"AND reconcile_id IS NULL " \
"AND state <> 'draft' " + partner_filter,
(account_id,))
additional_unrec = cr.fetchone()[0]
unreconciled = unreconciled + additional_unrec
context.update({'reconciled': reconciled, 'unreconciled': unreconciled})
model_data_ids = obj_model.search(cr,uid,[('model','=','ir.ui.view'),('name','=','account_automatic_reconcile_view1')])
resource_id = obj_model.read(cr, uid, model_data_ids, fields=['res_id'])[0]['res_id']
return {
@@ -8,21 +8,29 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Reconciliation">
<group width="660" height="430">
<separator string="Options" colspan="4"/>
<group>
<field name="account_ids" colspan="4" domain="[('reconcile','=',1)]"/>
<field name="date1"/>
<field name="date2"/>
<field name="power"/>
<separator string="Write-Off Move" colspan="4"/>
<field name="max_amount"/>
<field name="writeoff_acc_id"/>
<field name="journal_id"/>
<field name="period_id"/>
<field name="allow_write_off"/>
</group>
<newline/>
<group attrs="{'readonly':[('allow_write_off', '!=', True)]}">
<separator string="Write-Off Move" colspan="4"/>
<field name="max_amount"/>
<field name="writeoff_acc_id" attrs="{ 'required':[('allow_write_off', '=', True)]}"/>
<field name="journal_id" attrs="{ 'required':[('allow_write_off', '=', True)]}"/>
<field name="period_id" attrs="{ 'required':[('allow_write_off', '=', True)]}"/>
</group>
<separator string ="" colspan="4"/>
<group colspan="2" col="4">
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
<button name="reconcile" string="Reconcile" type="object" icon="gtk-ok"/>
<button name="reconcile" string="Reconcile" type="object" icon="terp-stock_effects-object-colorize"/>
</group>
</group>
</form>
</field>
</record>
@@ -40,10 +48,10 @@
<menuitem
icon="STOCK_EXECUTE"
name="Automatic reconciliation"
name="Automatic Reconciliation"
action="action_account_automatic_reconcile"
id="menu_automatic_reconcile"
parent="next_id_20"/>
parent="periodical_processing_reconciliation"/>
<record id="account_automatic_reconcile_view1" model="ir.ui.view">
<field name="name">Automatic reconcile unreconcile</field>
@@ -56,7 +64,7 @@
<field name="unreconciled"/>
<group colspan="4" col="6">
<separator colspan="6"/>
<button special="cancel" string="Ok" icon="gtk-ok" default_focus="1"/>
<button special="cancel" string="Ok" icon="terp-dialog-close" default_focus="1"/>
</group>
</form>
</field>
@@ -64,4 +72,3 @@
</data>
</openerp>
@@ -15,7 +15,7 @@
<separator colspan="4"/>
<group col="2" colspan="4">
<button special="cancel" string="Cancel" icon='gtk-cancel'/>
<button name="check_data" string="Print" colspan="1" type="object" icon="gtk-ok"/>
<button name="check_data" string="Print" colspan="1" type="object" icon="gtk-print"/>
</group>
</form>
</field>
@@ -31,7 +31,7 @@
</record>
<menuitem
name="Print Central Journal"
name="Central Journals"
parent="account.menu_generic_report"
action="action_account_central_journal"
id="menu_account_central_journal"
@@ -13,7 +13,7 @@
<separator colspan="4"/>
<group colspan="2" col="4">
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
<button name="change_currency" string="Change Currency" type="object" icon="gtk-go-forward"/>
<button name="change_currency" string="Change Currency" type="object" icon="terp-stock_effects-object-colorize"/>
</group>
</form>
</field>
@@ -30,15 +30,6 @@
<field name="target">new</field>
</record>
<!-- <record model="ir.values" id="account_change_currency">
<field name="model_id" ref="account.model_account_invoice" />
<field name="object" eval="1" />
<field name="name">Change Currency</field>
<field name="key2">client_action_multi</field>
<field name="value" eval="'ir.actions.act_window,' + str(ref('action_account_change_currency'))"/>
<field name="key">action</field>
<field name="model">account.invoice</field>
</record>-->
</data>
</openerp>
</openerp>
+11 -11
View File
@@ -2,27 +2,27 @@
<openerp>
<data>
<record id="view_account_chart" model="ir.ui.view">
<record id="view_account_chart" model="ir.ui.view">
<field name="name">account.chart.form</field>
<field name="model">account.chart</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Account charts">
<group colspan="4" >
<field name="fiscalyear"/>
<label align="0.7" colspan="6" string="(If you do not select Fiscal year it will take all open fiscal years)"/>
<field name="target_move"/>
<group colspan="4" >
<field name="fiscalyear"/>
<label align="0.7" colspan="6" string="(If you do not select Fiscal year it will take all open fiscal years)"/>
<field name="target_move"/>
</group>
<separator string="" colspan="4" />
<separator string="" colspan="4" />
<group colspan="4" col="6">
<label string ="" colspan="2"/>
<button icon="gtk-cancel" special="cancel" string="Cancel" />
<button icon="gtk-open" string="Open Charts"
<button icon="terp-gtk-go-back-rtl" string="Open Charts"
name="account_chart_open_window" type="object" />
</group>
</form>
</field>
</record>
</record>
<record id="action_account_chart" model="ir.actions.act_window">
<field name="name">Chart of Accounts</field>
@@ -34,7 +34,7 @@
</record>
<menuitem icon="STOCK_INDENT" action="action_account_chart"
id="menu_action_account_tree2"
parent="account.menu_finance_charts" />
id="menu_action_account_tree2"
parent="account.menu_finance_charts" />
</data>
</openerp>
</openerp>
@@ -31,7 +31,7 @@
</record>
<record id="action_account_fiscalyear_close" model="ir.actions.act_window">
<field name="name">Generate Fiscal Year Opening Entries</field>
<field name="name">Generate Opening Entries</field>
<field name="res_model">account.fiscalyear.close</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
@@ -31,7 +31,7 @@
</record>
<menuitem
name="Print General Journal"
name="General Journals"
parent="account.menu_generic_report"
action="action_account_general_journal"
id="menu_account_general_journal"
@@ -18,10 +18,11 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import time
from osv import fields, osv
from tools.translate import _
import netsvc
import time
class account_invoice_refund(osv.osv_memory):
@@ -30,16 +31,15 @@ class account_invoice_refund(osv.osv_memory):
_name = "account.invoice.refund"
_description = "Invoice Refund"
_columns = {
'date': fields.date('Operation date', required=False, help='This date will be used as the invoice date for Refund Invoice and Period will be chosen accordingly!'),
'period': fields.many2one('account.period', 'Force period', required=False),
'description': fields.char('Description', size=150, required=True),
'date': fields.date('Operation date', help='This date will be used as the invoice date for Refund Invoice and Period will be chosen accordingly!'),
'period': fields.many2one('account.period', 'Force period'),
'description': fields.char('Description', size=128, required=True),
}
_defaults = {
'date': time.strftime('%Y-%m-%d'),
}
}
def compute_refund(self, cr, uid, ids, mode, context=None):
def compute_refund(self, cr, uid, ids, mode='refund', context=None):
"""
@param cr: the current row, from the database cursor,
@param uid: the current user’s ID for security checks,
@@ -128,7 +128,7 @@ class account_invoice_refund(osv.osv_memory):
writeoff_journal_id=inv.journal_id.id,
writeoff_acc_id=inv.account_id.id
)
if mode == 'modify' :
if mode == 'modify':
invoice = inv_obj.read(cr, uid, [inv.id],
['name', 'type', 'number', 'reference',
'comment', 'date_due', 'partner_id',
@@ -37,10 +37,6 @@
<field name="target">new</field>
</record>
<!-- <act_window id="action_account_invoice_refund"
key2 = "client_action_multi" name="Credit Note"
res_model="account.invoice.refund" src_model="account.invoice"
view_mode="form" target="new" view_type="form" /> -->
</data>
</openerp>
</openerp>
@@ -37,11 +37,11 @@ class account_invoice_confirm(osv.osv_memory):
context = {}
pool_obj = pooler.get_pool(cr.dbname)
data_inv = pool_obj.get('account.invoice').read(cr, uid, context['active_ids'], ['state'], context=context)
for record in data_inv:
if record['state'] not in ('draft','proforma','proforma2'):
raise osv.except_osv(_('Warning'), _("Selected Invoice(s) cannot be confirmed as they are not in 'Draft' or 'Pro-Forma' state!"))
wf_service.trg_validate(uid, 'account.invoice', id, 'invoice_open', cr)
wf_service.trg_validate(uid, 'account.invoice', record['id'], 'invoice_open', cr)
return {}
account_invoice_confirm()
@@ -61,7 +61,7 @@ class account_invoice_cancel(osv.osv_memory):
wf_service = netsvc.LocalService('workflow')
pool_obj = pooler.get_pool(cr.dbname)
data_inv = pool_obj.get('account.invoice').read(cr, uid, context['active_ids'], ['state'], context=context)
for record in data_inv:
if record['state'] in ('cancel','paid'):
raise osv.except_osv(_('Warning'), _("Selected Invoice(s) cannot be cancelled as they are already in 'Cancelled' or 'Done' state!"))
@@ -1,22 +1,22 @@
<openerp>
<data>
<record id="account_invoice_confirm_view" model="ir.ui.view">
<record id="account_invoice_confirm_view" model="ir.ui.view">
<field name="name">account.invoice.confirm.form</field>
<field name="model">account.invoice.confirm</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Confirm Draft Invoices">
<separator string="Confirm Draft Invoices" colspan="4"/>
<form string="Confirm Draft Invoices">
<separator string="Confirm Draft Invoices" colspan="4"/>
<group colspan="4" col="6">
<button icon="gtk-cancel" special="cancel" string="Close"/>
<button icon="gtk-execute" string="Confirm Invoices" name="invoice_confirm" type="object" default_focus="1"/>
<button icon="gtk-cancel" special="cancel" string="Close"/>
<button icon="terp-camera_test" string="Confirm Invoices" name="invoice_confirm" type="object" default_focus="1"/>
</group>
</form>
</field>
</record>
</record>
<record id="action_account_invoice_confirm" model="ir.actions.act_window">
<record id="action_account_invoice_confirm" model="ir.actions.act_window">
<field name="name">Confirm Draft Invoices</field>
<field name="res_model">account.invoice.confirm</field>
<field name="view_type">form</field>
@@ -25,7 +25,7 @@
<field name="target">new</field>
</record>
<record model="ir.values" id="action_account_invoice_confirm_values">
<record model="ir.values" id="action_account_invoice_confirm_values">
<field name="model_id" ref="account.model_account_invoice" />
<field name="object" eval="1" />
<field name="name">Confirm Draft Invoices</field>
@@ -33,24 +33,24 @@
<field name="value" eval="'ir.actions.act_window,' +str(ref('action_account_invoice_confirm'))" />
<field name="key">action</field>
<field name="model">account.invoice</field>
</record>
</record>
<record id="account_invoice_cancel_view" model="ir.ui.view">
<record id="account_invoice_cancel_view" model="ir.ui.view">
<field name="name">account.invoice.cancel.form</field>
<field name="model">account.invoice.cancel</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Cancel Selected Invoices">
<separator string="Cancel Selected Invoices" colspan="4"/>
<form string="Cancel Selected Invoices">
<separator string="Cancel Selected Invoices" colspan="4"/>
<group colspan="4" col="6">
<button icon="gtk-cancel" special="cancel" string="Close"/>
<button icon="gtk-execute" string="Cancel Invoices" name="invoice_cancel" type="object" default_focus="1"/>
<button icon="terp-dialog-close" special="cancel" string="Close"/>
<button icon="terp-gtk-stop" string="Cancel Invoices" name="invoice_cancel" type="object" default_focus="1"/>
</group>
</form>
</field>
</record>
</record>
<record id="action_account_invoice_cancel" model="ir.actions.act_window">
<record id="action_account_invoice_cancel" model="ir.actions.act_window">
<field name="name">Cancel Selected Invoices</field>
<field name="res_model">account.invoice.cancel</field>
<field name="view_type">form</field>
@@ -59,7 +59,7 @@
<field name="target">new</field>
</record>
<record model="ir.values" id="action_account_invoice_cancel_values">
<record model="ir.values" id="action_account_invoice_cancel_values">
<field name="model_id" ref="account.model_account_invoice" />
<field name="object" eval="1" />
<field name="name">Cancel Selected Invoices</field>
@@ -67,7 +67,7 @@
<field name="value" eval="'ir.actions.act_window,' +str(ref('action_account_invoice_cancel'))" />
<field name="key">action</field>
<field name="model">account.invoice</field>
</record>
</record>
</data>
</openerp>
</data>
</openerp>
@@ -8,11 +8,11 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Journal Select">
<label string="Are you sure you want to open Journal Entries!" colspan="4"/>
<separator string="" colspan="4" />
<label string="Are you sure you want to open Journal Entries!" colspan="4"/>
<separator string="" colspan="4" />
<group colspan="4" col="6">
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
<button icon="gtk-open" string="Open Entries" name="action_open_window" type="object"/>
<button icon="terp-gtk-stop" special="cancel" string="Cancel"/>
<button icon="terp-gtk-go-back-rtl" string="Open Entries" name="action_open_window" type="object"/>
</group>
</form>
</field>
@@ -13,8 +13,8 @@
<separator string="" colspan="4" />
<group colspan="4" col="6">
<label string ="" colspan="2"/>
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
<button icon="gtk-open" string="Open for bank reconciliation" name="action_open_window" type="object"/>
<button icon="terp-gtk-stop" special="cancel" string="Cancel"/>
<button icon="terp-gtk-go-back-rtl" string="Open for bank reconciliation" name="action_open_window" type="object"/>
</group>
</form>
</field>
@@ -16,8 +16,8 @@
<separator string="" colspan="4" />
<group colspan="4" col="6">
<label string ="" colspan="2"/>
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
<button icon="gtk-open" string="Open Journal" name="action_open_window" type="object"/>
<button icon="terp-gtk-stop" special="cancel" string="Cancel"/>
<button icon="terp-gtk-go-back-rtl" string="Open Journal" name="action_open_window" type="object"/>
</group>
</form>
</field>
@@ -32,10 +32,10 @@
<field name="target">new</field>
</record>
<menuitem icon="STOCK_JUSTIFY_FILL"
action="action_account_move_journal_line_form"
id="menu_action_move_journal_line_form"
parent="account.menu_finance_entries" sequence="5" />
<!-- <menuitem icon="STOCK_JUSTIFY_FILL"-->
<!-- action="action_account_move_journal_line_form"-->
<!-- id="menu_action_move_journal_line_form"-->
<!-- parent="account.menu_finance_entries" sequence="5" />-->
</data>
</openerp>
@@ -13,8 +13,8 @@
<separator string="" colspan="4" />
<group colspan="4" col="6">
<label string ="" colspan="2"/>
<button icon="gtk-cancel" special="cancel" string="Cancel" />
<button icon="gtk-open"
<button icon="terp-gtk-stop" special="cancel" string="Cancel" />
<button icon="terp-gtk-go-back-rtl"
string="Open for Reconciliation" name="action_open_window"
type="object" />
</group>
@@ -32,7 +32,7 @@
</record>
<menuitem action="action_account_reconcile_select"
id="menu_reconcile_select" parent="account.next_id_20" />
id="menu_reconcile_select" parent="periodical_processing_reconciliation" />
</data>
</openerp>
@@ -43,7 +43,7 @@ class account_move_line_select(osv.osv_memory):
else:
fiscalyear_ids = [context['fiscalyear']]
fiscalyear_ids = fiscalyear_obj.search(cr, uid, [('state', '=', 'draft')])
# fiscalyear_ids = fiscalyear_obj.search(cr, uid, [('state', '=', 'draft')])
fiscalyears = fiscalyear_obj.browse(cr, uid, fiscalyear_ids)
period_ids = []
@@ -11,8 +11,8 @@
<label string="Are you sure you want to open Account move line entries!" colspan="4"/>
<separator string="" colspan="4" />
<group colspan="4" col="6">
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
<button icon="gtk-open" string="Open Entries" name="open_window" type="object" default_focus="1"/>
<button icon="terp-gtk-stop" special="cancel" string="Cancel"/>
<button icon="terp-gtk-go-back-rtl" string="Open Entries" name="open_window" type="object" default_focus="1"/>
</group>
</form>
</field>
@@ -13,8 +13,8 @@
<separator string="" colspan="4" />
<group colspan="4" col="6">
<label string ="" colspan="2"/>
<button icon="gtk-cancel" special="cancel" string="Cancel" />
<button icon="gtk-open"
<button icon="terp-gtk-stop" special="cancel" string="Cancel" />
<button icon="terp-gtk-go-back-rtl"
string="Open For Unreconciliation" name="action_open_window"
type="object" />
</group>
@@ -32,7 +32,7 @@
</record>
<menuitem action="action_account_unreconcile_select"
id="menu_unreconcile_select" parent="account.next_id_20" />
id="menu_unreconcile_select" parent="periodical_processing_reconciliation" />
</data>
</openerp>
@@ -13,8 +13,8 @@
<separator string="" colspan="4" />
<group colspan="4" col="6">
<label string ="" colspan="2"/>
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
<button icon="gtk-open" string="Open" name="remove_entries" type="object"/>
<button icon="terp-gtk-stop" special="cancel" string="Cancel"/>
<button icon="terp-gtk-go-back-rtl" string="Open" name="remove_entries" type="object"/>
</group>
</form>
</field>
@@ -29,9 +29,9 @@
<field name="target">new</field>
</record>
<menuitem action="action_account_open_closed_fiscalyear"
id="menu_wizard_open_closed_fy" sequence="2"
parent="account.menu_account_end_year_treatments" />
<!-- <menuitem action="action_account_open_closed_fiscalyear"-->
<!-- id="menu_wizard_open_closed_fy" sequence="2"-->
<!-- parent="account.menu_account_end_year_treatments" />-->
</data>
</openerp>
@@ -31,7 +31,7 @@
<newline/>
<group colspan="4" col="6">
<label string ="" colspan="2"/>
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
<button special="cancel" string="Cancel" icon="terp-gtk-stop"/>
<button name="check_state" string="Print" type="object" icon="gtk-print"/>
</group>
</form>
+2 -2
View File
@@ -58,7 +58,7 @@ class account_invoice_pay(osv.osv_memory):
'amount': fields.float('Amount paid', required=True, digits_compute = dp.get_precision('Account')),
'name': fields.char('Entry Name', size=64, required=True),
'date': fields.date('Date payment', required=True),
'journal_id': fields.many2one('account.journal', 'Journal/Payment Mode', required=True),
'journal_id': fields.many2one('account.journal', 'Journal/Payment Mode', required=True, domain=[('type','=','cash')]),
'period_id': fields.many2one('account.period', 'Period', required=True),
}
@@ -188,4 +188,4 @@ class account_invoice_pay(osv.osv_memory):
account_invoice_pay()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
@@ -37,14 +37,6 @@
</record>
<!-- <act_window name="Pay Invoice"
res_model="account.invoice.pay"
src_model="account.invoice"
view_mode="form"
target="new"
key2="client_action_multi"
id="action_view_account_invoice_pay"/> -->
<record id="view_account_invoice_pay_writeoff" model="ir.ui.view">
<field name="name">account.invoice.pay.writeoff.form</field>
<field name="model">account.invoice.pay.writeoff</field>
@@ -70,4 +62,4 @@
</data>
</openerp>
</openerp>
@@ -16,7 +16,7 @@
<group colspan="4" col="6">
<label string ="" colspan="2"/>
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
<button icon="gtk-close" string="Close Period" name="data_save" type="object"/>
<button icon="terp-gtk-go-back-rtl" string="Close Period" name="data_save" type="object"/>
</group>
</form>
</field>
@@ -33,7 +33,7 @@
</record>
<menuitem
name="Print Journal"
name="Journals"
parent="account.menu_generic_report"
action="action_account_print_journal"
id="menu_account_print_journal"
+3 -3
View File
@@ -56,11 +56,11 @@ class account_move_line_reconcile(osv.osv_memory):
if 'trans_nbr' in fields:
res.update({'trans_nbr':data['trans_nbr']})
if 'credit' in fields:
res.update({'trans_nbr':data['credit']})
res.update({'credit':data['credit']})
if 'debit' in fields:
res.update({'trans_nbr':data['debit']})
res.update({'debit':data['debit']})
if 'writeoff' in fields:
res.update({'trans_nbr':data['writeoff']})
res.update({'writeoff':data['writeoff']})
return res
def partial_check(self, cr, uid, ids, context=None):
@@ -54,7 +54,7 @@
<group colspan="4" col="6">
<label string ="" colspan="2"/>
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
<button icon="gtk-ok" string="Reconcile" name="trans_rec_reconcile_full" type="object" default_focus="1"/>
<button icon="terp-stock_effects-object-colorize" string="Reconcile" name="trans_rec_reconcile_full" type="object" default_focus="1"/>
</group>
</form>
</field>
@@ -99,7 +99,7 @@
<group colspan="4" col="6">
<label string ="" colspan="2"/>
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
<button icon="gtk-ok" string="Reconcile" name="trans_rec_reconcile" type="object" default_focus="1"/>
<button icon="gtk-stock_effects-object-colorize" string="Reconcile" name="trans_rec_reconcile" type="object" default_focus="1"/>
</group>
</form>
</field>
@@ -15,7 +15,7 @@
<group colspan="4" col="6">
<label string ="" colspan="2"/>
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
<button icon="gtk-execute" string="Go" name="search_invoices" type="object"/>
<button icon="terp-gtk-go-back-rtl" string="Go" name="search_invoices" type="object"/>
</group>
</form>
</field>
@@ -32,7 +32,7 @@
<field name="target">new</field>
</record>
<menuitem action="action_account_subscription_generate" id="menu_generate_subscription" parent="account.menu_finance_periodical_processing" />
<menuitem action="action_account_subscription_generate" id="menu_generate_subscription" parent="menu_finance_periodical_processing" />
</data>
</openerp>
@@ -7,15 +7,17 @@
<field name="model">account.use.model</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Create Entries From Models">
<group colspan="4" >
<field name="model"/>
</group>
<group colspan="4" col="6">
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
<button icon="gtk-execute" string="Create Entries" name="create_entries" type="object"/>
</group>
</form>
<form string="Create Entries From Models">
<group height="240" width="510">
<separator string="This wizard will create entries from Models" colspan="4"/>
<field name="model"/>
<separator colspan="4"/>
<group colspan="4" col="2">
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
<button icon="gtk-execute" string="Create Entries" name="create_entries" type="object"/>
</group>
</group>
</form>
</field>
</record>
@@ -52,7 +54,7 @@
<label string = "Entry Lines Created." colspan="2"/>
<newline/>
<button icon="gtk-ok" special="cancel" string="Ok"/>
<button icon="gtk-execute" string="Open" name="open_moves" type="object" default_focus='1'/>
<button icon="terp-gtk-go-back-rtl" string="Open" name="open_moves" type="object" default_focus='1'/>
</group>
</form>
</field>
@@ -67,7 +69,7 @@
<group colspan="4" col="6">
<label string = "Are you sure you want to create entries?" colspan="2"/>
<newline/>
<button icon="gtk-ok" special="cancel" string="Cancel"/>
<button icon="terp-gtk-stop" special="cancel" string="Cancel"/>
<button icon="gtk-execute" string="Ok" name="create_entries" type="object" default_focus='1'/>
</group>
</form>
@@ -17,7 +17,7 @@
<label string="All draft account entries in this journal and period will be validated. It means you won't be able to modify their accouting fields." colspan="4"/>
<group colspan="4" col="6">
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
<button icon="gtk-open" string="Validate" name="validate_move" type="object"/>
<button icon="terp-camera_test" string="Validate" name="validate_move" type="object"/>
</group>
</form>
</field>
@@ -34,7 +34,7 @@
<menuitem
name="Validate Ledger Postings"
parent="account.menu_finance_periodical_processing"
parent="periodical_processing_journal_entries_validation"
action="action_validate_account_move"
id="menu_validate_account_moves"
/>
+1 -1
View File
@@ -31,7 +31,7 @@
</record>
<menuitem
name="Print Taxes Report"
name="Taxes Report"
parent="menu_tax_report"
action="action_account_vat_declaration"
id="menu_account_vat_declaration"
@@ -1,8 +1,8 @@
<openerp>
<data>
<menuitem icon="terp-project" id="base.menu_main_pm" name="Project Management" sequence="1"/>
<menuitem id="next_id_71" name="Financial Project Management" parent="base.menu_main_pm" groups="account.group_account_invoice" sequence="20"/>
<menuitem id="menu_invoicing" name="Billing" parent="next_id_71" sequence="20"/>
<!-- <menuitem id="next_id_71" name="Financial Project Management" parent="base.menu_main_pm" groups="account.group_account_invoice" sequence="20"/>-->
<menuitem id="menu_invoicing" name="Billing" parent="base.menu_main_pm" sequence="4"/>
<record id="action_hr_tree_invoiced_all" model="ir.actions.act_window">
<field name="name">All Uninvoiced Entries</field>
@@ -23,7 +23,7 @@
<field name="search_view_id" ref="account.view_account_analytic_account_search"/>
<field name="domain">[]</field>
</record>
<menuitem name="Analytic Accounts" action="action_account_analytic_all" id="menu_action_account_analytic_all" parent="next_id_71"/>
<!-- <menuitem name="Analytic Accounts" action="action_account_analytic_all" id="menu_action_account_analytic_all" parent="next_id_71"/>-->
<record id="action_account_analytic_managed_overpassed" model="ir.actions.act_window">
<field name="name">Overpassed Accounts</field>
+5 -5
View File
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-09-08 15:31+0000\n"
"Last-Translator: Makis Nicolaou <mark.nicolaou@gmail.com>\n"
"PO-Revision-Date: 2010-06-09 03:00+0000\n"
"Last-Translator: Panayiotis Konstantinidis <Unknown>\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: 2010-04-17 04:11+0000\n"
"X-Launchpad-Export-Date: 2010-06-11 03:43+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_analytic_analysis
@@ -80,7 +80,7 @@ msgstr "Θεωρητικά Έσοδα"
#. module: account_analytic_analysis
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr ""
msgstr "Λανθασμένο όνομα μοντέλου στην δήλωση ενέργειας"
#. module: account_analytic_analysis
#: help:account.analytic.account,theorical_margin:0
@@ -230,7 +230,7 @@ msgstr "Αναλυτικοί Λογαριασμοί"
#. module: account_analytic_analysis
#: model:ir.module.module,shortdesc:account_analytic_analysis.module_meta_information
msgid "report_account_analytic"
msgstr ""
msgstr "report_account_analytic"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_invoiced:0
+44 -41
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-11-28 23:14+0000\n"
"Last-Translator: Paulino <Unknown>\n"
"PO-Revision-Date: 2010-06-01 10:22+0000\n"
"Last-Translator: cmsa <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: 2010-04-17 04:11+0000\n"
"X-Launchpad-Export-Date: 2010-06-02 03:33+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_analytic_analysis
@@ -38,12 +38,12 @@ msgstr "Data da última factura"
#: help:account.analytic.account,remaining_ca:0
msgid "Computed using the formula: Max Invoice Price - Invoiced Amount."
msgstr ""
"Processado usando a formula: Preço máximo da factura - Montante facturado"
"Processado usando a fórmula: Preço Máximo da Factura - Montante Facturado"
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_hours:0
msgid "Computed using the formula: Maximum Quantity - Hours Tot."
msgstr "Processado usando a formula: Quantidade máxima - Horas totais."
msgstr "Processado usando a fórmula: Quantidade Máxima - Horas Totais."
#. module: account_analytic_analysis
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_all
@@ -54,32 +54,32 @@ msgstr "Todas as contas de contabilidade analítica"
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed_open
#: model:ir.ui.menu,name:account_analytic_analysis.menu_analytic_account_to_valid_open
msgid "My Current Accounts"
msgstr "Minhas contas correntes"
msgstr "As minhas contas correntes"
#. module: account_analytic_analysis
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "XML inválido para a arquitectura de vista"
msgstr "XML inválido para a arquitectura de vista!"
#. module: account_analytic_analysis
#: help:account.analytic.account,last_invoice_date:0
msgid "Date of the last invoice created for this analytic account."
msgstr "Data da última factura criada por esta conta analítica."
msgstr "Data da última factura criada para esta conta analítica."
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_theorical:0
msgid "Theorical Revenue"
msgstr "Rendimento teórico"
msgstr "Rendimento Teórico"
#. module: account_analytic_analysis
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr "Nome de modelo invalido na definição da acção"
msgstr "Nome de modelo inválido na definição da acção."
#. module: account_analytic_analysis
#: help:account.analytic.account,theorical_margin:0
msgid "Computed using the formula: Theorial Revenue - Total Costs"
msgstr "Processado usando a formula: Rendimento teórico - Custo total"
msgstr "Processado usando a fórmula: Rendimento Teórico - Custo Total"
#. module: account_analytic_analysis
#: constraint:ir.model:0
@@ -113,7 +113,7 @@ msgstr "Conta analíticas correntes"
#. module: account_analytic_analysis
#: help:account.analytic.account,last_worked_date:0
msgid "Date of the latest work done on this account."
msgstr "Data do ultimo trabalho feito nesta conta"
msgstr "Data do último trabalho feito nesta conta"
#. module: account_analytic_analysis
#: help:account.analytic.account,last_worked_invoiced_date:0
@@ -121,8 +121,8 @@ msgid ""
"If invoice from the costs, this is the date of the latest work or cost that "
"have been invoiced."
msgstr ""
"Se facturado dos custos, esta é a data do ultimo trabalho ou custo que foi "
"facturado."
"Se facturado sobre os custos, esta é a data do ultimo trabalho ou custo que "
"foi facturado."
#. module: account_analytic_analysis
#: model:ir.ui.menu,name:account_analytic_analysis.menu_invoicing
@@ -137,7 +137,7 @@ msgstr "Data do ultimo custo/trabalho"
#. module: account_analytic_analysis
#: field:account.analytic.account,total_cost:0
msgid "Total Costs"
msgstr "Custo total"
msgstr "Custos totais"
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_quantity:0
@@ -145,13 +145,13 @@ msgid ""
"Number of hours you spent on the analytic account (from timesheet). It "
"computes on all journal of type 'general'."
msgstr ""
"Número de horas que você passou no conta analítica (do horário). É "
"Número de horas que você passou no conta analítica (da folha de horas). É "
"processado em todo o jornal do tipo 'general'."
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_hours:0
msgid "Remaining Hours"
msgstr "Horas restantes"
msgstr "Horas Restantes"
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_theorical:0
@@ -161,8 +161,8 @@ msgid ""
"the pricelist."
msgstr ""
"Baseado nos custos você teve no projecto, o que seria o rendimento se todos "
"estes custos forem facturados a preço normal da venda fornecido pela lista "
"de preço."
"estes custos fossem facturados ao preço normal da venda fornecidos pela "
"tabela de preço."
#. module: account_analytic_analysis
#: field:account.analytic.account,user_ids:0
@@ -174,24 +174,24 @@ msgstr "Utilizador"
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed_pending
#: model:ir.ui.menu,name:account_analytic_analysis.menu_analytic_account_to_valid_pending
msgid "My Pending Accounts"
msgstr "Minhas contas pendentes"
msgstr "As minhas contas pendentes"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_my
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_my
msgid "My Uninvoiced Entries"
msgstr "Minhas entradas não facturadas"
msgstr "As minhas entradas não facturadas"
#. module: account_analytic_analysis
#: help:account.analytic.account,real_margin:0
msgid "Computed using the formula: Invoiced Amount - Total Costs."
msgstr "Processado usando a formula: Montante facturado - Custo total."
msgstr "Processado usando a fórmula: Montante Facturado - Custo Total."
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed
#: model:ir.ui.menu,name:account_analytic_analysis.menu_analytic_account_managed
msgid "My Accounts"
msgstr "Minhas contas"
msgstr "As minhas contas"
#. module: account_analytic_analysis
#: model:ir.module.module,description:account_analytic_analysis.module_meta_information
@@ -200,6 +200,9 @@ msgid ""
"important data for project manager of services companies.\n"
"Add menu to show relevant information for each manager."
msgstr ""
"Modificar a vista da conta analítica para mostrar\n"
"dados importantes para o gestor de projecto das empresas de serviços.\n"
"Adicione menu para mostrar as informações relevantes para cada gerente."
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_non_invoiced:0
@@ -219,43 +222,43 @@ msgstr "Contas da contabilidade analítica"
#. module: account_analytic_analysis
#: model:ir.module.module,shortdesc:account_analytic_analysis.module_meta_information
msgid "report_account_analytic"
msgstr ""
msgstr "report_account_analytic"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_invoiced:0
msgid "Invoiced Amount"
msgstr "Montante facturado"
msgstr "Montante Facturado"
#. module: account_analytic_analysis
#: model:ir.ui.menu,name:account_analytic_analysis.next_id_71
msgid "Financial Project Management"
msgstr "Gestão do projecto financeiro"
msgstr "Gestão do Projecto Financeiro"
#. module: account_analytic_analysis
#: field:account.analytic.account,last_worked_invoiced_date:0
msgid "Date of Last Invoiced Cost"
msgstr "Data do ultimo custo de facturado"
msgstr "Data do último custo facturado"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_to_invoice:0
msgid "Uninvoiced Amount"
msgstr "Montante facturado"
msgstr "Montante Facturado"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_all_pending
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_all_pending
msgid "Pending Analytic Accounts"
msgstr "Contas da contabilidade analítica pendentes"
msgstr "Contabilidade analítica contas pendentes"
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_invoiced:0
msgid "Invoiced Hours"
msgstr "Horas facturadas"
msgstr "Horas Facturadas"
#. module: account_analytic_analysis
#: field:account.analytic.account,real_margin:0
msgid "Real Margin"
msgstr "Margem real"
msgstr "Margem Real"
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_invoiced:0
@@ -265,12 +268,12 @@ msgstr "Montante da facturação total do cliente para esta conta"
#. module: account_analytic_analysis
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_month
msgid "Hours summary by month"
msgstr "Sumário de horas por mês"
msgstr "Resumo de horas por mês"
#. module: account_analytic_analysis
#: help:account.analytic.account,real_margin_rate:0
msgid "Computes using the formula: (Real Margin / Total Costs) * 100."
msgstr "Processado usando a formula: (Margem real / Custos total) * 100."
msgstr "Processado usando a fórmula: (Margem Real / Custos Total) * 100."
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_qtt_non_invoiced:0
@@ -279,17 +282,17 @@ msgid ""
"invoice based on analytic account."
msgstr ""
"Número de horas (do diário de tipo 'geral') que pode ser facturado se você "
"factura baseado na conta analítica."
"factura baseado em conta analítica."
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Analytic accounts"
msgstr "Conta da Contabilidade analítica"
msgstr "Contas da Contabilidade Analítica"
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_ca:0
msgid "Remaining Revenue"
msgstr "Lucro restante"
msgstr "Receita Restante"
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_to_invoice:0
@@ -297,18 +300,18 @@ msgid ""
"If invoice from analytic account, the remaining amount you can invoice to "
"the customer based on the total costs."
msgstr ""
"Se facturado da conta analítica, a quantidade restante que você pode "
"Se facturado por conta analítica, a quantidade restante que você pode "
"facturar ao cliente baseado nos custos totais."
#. module: account_analytic_analysis
#: help:account.analytic.account,revenue_per_hour:0
msgid "Computed using the formula: Invoiced Amount / Hours Tot."
msgstr "Processado usando a formula: Montante facturado / Horas totais."
msgstr "Processado usando a fórmula: Montante Facturado / Horas Totais."
#. module: account_analytic_analysis
#: field:account.analytic.account,revenue_per_hour:0
msgid "Revenue per Hours (real)"
msgstr "Lucro por hora (real)"
msgstr "Receitas por hora (real)"
#. module: account_analytic_analysis
#: field:account_analytic_analysis.summary.month,unit_amount:0
@@ -332,7 +335,7 @@ msgstr "Conta da Contabilidade Analítica"
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed_overpassed
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_managed_overpassed
msgid "Overpassed Accounts"
msgstr "Contas ultrapassadas"
msgstr "Contas Excedidas"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_all
@@ -347,4 +350,4 @@ msgid ""
"indirect costs, like time spent on timesheets."
msgstr ""
"Total de custos para esta conta. Inclui custos reais (das facturas) e custos "
"indirectos, como o tempo passado em folha de presença."
"indirectos, como o tempo passado em folha de horas."
@@ -42,10 +42,10 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem
action="action_analytic_default_form"
id="menu_analytic_defaul_form"
parent="account.menu_analytic_accounting"/>
<!-- <menuitem-->
<!-- action="action_analytic_default_form"-->
<!-- id="menu_analytic_defaul_form"-->
<!-- parent="account.menu_analytic_accounting"/>-->
<act_window
domain="[('account_id', '=', active_id)]" id="act_account_acount_move_line_open" name="Entries" res_model="account.move.line" src_model="account.account"/>
@@ -97,6 +97,8 @@ class account_analytic_plan_instance(osv.osv):
}
def search(self, cr, user, args, offset=0, limit=None, order=None, context=None, count=False):
if context is None:
context = {}
if context.get('journal_id', False):
journal = self.pool.get('account.journal').browse(cr, user, [context['journal_id']], context=context)[0]
analytic_journal = journal.analytic_journal_id and journal.analytic_journal_id.id or False
@@ -129,10 +129,10 @@
src_model="account.analytic.plan"
id="account_analytic_instance_model_open"/>
<menuitem
name="Analytic Distribution's models" parent="account.account_def_analytic_journal"
id="menu_account_analytic_plan_instance_action"
action="account_analytic_plan_instance_action"/>
<!-- <menuitem-->
<!-- name="Analytic Distribution's models" parent="account.account_def_analytic_journal"-->
<!-- id="menu_account_analytic_plan_instance_action"-->
<!-- action="account_analytic_plan_instance_action"/>-->
<record model="ir.ui.view" id="account_analytic_plan_instance_line_form">
<field name="name">account.analytic.plan.instance.line.form</field>
@@ -192,11 +192,16 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem
parent="account.account_analytic_def_account"
id="menu_account_analytic_plan_action"
action="account_analytic_plan_form_action"/>
<menuitem
parent="account.menu_analytic"
name="Multi Plans"
id="menu_account_analytic_multi_plan_action"
/>
<menuitem
parent="menu_account_analytic_multi_plan_action"
id="menu_account_analytic_plan_action"
action="account_analytic_plan_form_action"/>
<record model="ir.ui.view" id="account_analytic_plan_line_form">
<field name="name">account.analytic.plan.line.form</field>
+22 -22
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-11-09 13:43+0000\n"
"Last-Translator: <>\n"
"PO-Revision-Date: 2010-05-28 02:33+0000\n"
"Last-Translator: Abdul Munif Hanafi <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: 2010-04-17 04:11+0000\n"
"X-Launchpad-Export-Date: 2010-05-29 03:53+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_analytic_plans
@@ -41,7 +41,7 @@ msgstr ""
#. module: account_analytic_plans
#: wizard_field:wizard.crossovered.analytic,init,date2:0
msgid "End Date"
msgstr ""
msgstr "Tanggal Akhir"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance.line,rate:0
@@ -70,7 +70,7 @@ msgstr ""
#. module: account_analytic_plans
#: wizard_button:wizard.crossovered.analytic,init,print:0
msgid "Print"
msgstr ""
msgstr "Cetak"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
@@ -90,7 +90,7 @@ msgstr ""
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Account Name"
msgstr ""
msgstr "Nama Akun"
#. module: account_analytic_plans
#: view:account.analytic.plan.instance.line:0
@@ -100,7 +100,7 @@ msgstr ""
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,code:0
msgid "Distribution Code"
msgstr ""
msgstr "Kode Distribusi"
#. module: account_analytic_plans
#: constraint:ir.actions.act_window:0
@@ -115,17 +115,17 @@ msgstr ""
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Printing date"
msgstr ""
msgstr "Tanggal mencetak"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Percentage"
msgstr ""
msgstr "Persentase"
#. module: account_analytic_plans
#: wizard_field:wizard.crossovered.analytic,init,empty_line:0
msgid "Dont show empty lines"
msgstr ""
msgstr "Jangan tampilkan baris kosong"
#. module: account_analytic_plans
#: wizard_view:wizard.crossovered.analytic,init:0
@@ -141,12 +141,12 @@ msgstr ""
#: field:account.analytic.plan.instance,journal_id:0
#: wizard_field:wizard.crossovered.analytic,init,journal_ids:0
msgid "Analytic Journal"
msgstr ""
msgstr "Jurnal Analisis"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "100.00%"
msgstr ""
msgstr "100.00%"
#. module: account_analytic_plans
#: wizard_field:wizard.crossovered.analytic,init,ref:0
@@ -300,7 +300,7 @@ msgstr ""
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Quantity"
msgstr ""
msgstr "Kwantitas"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account_ids:0
@@ -310,17 +310,17 @@ msgstr ""
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Code"
msgstr ""
msgstr "Kode"
#. module: account_analytic_plans
#: wizard_button:create.model,info,end:0
msgid "OK"
msgstr ""
msgstr "Setuju"
#. module: account_analytic_plans
#: field:account.analytic.plan.line,root_analytic_id:0
msgid "Root Account"
msgstr ""
msgstr "Akun Induk"
#. module: account_analytic_plans
#: wizard_view:create.model,info:0
@@ -331,12 +331,12 @@ msgstr ""
#. module: account_analytic_plans
#: field:account.analytic.plan.line,sequence:0
msgid "Sequence"
msgstr ""
msgstr "Berurutan"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance.line,analytic_account_id:0
msgid "Analytic Account"
msgstr ""
msgstr "Akun Analisis"
#. module: account_analytic_plans
#: field:account.analytic.default,analytics_id:0
@@ -355,19 +355,19 @@ msgstr ""
#. module: account_analytic_plans
#: wizard_button:wizard.crossovered.analytic,init,end:0
msgid "Cancel"
msgstr ""
msgstr "Batal"
#. module: account_analytic_plans
#: wizard_field:wizard.crossovered.analytic,init,date1:0
msgid "Start Date"
msgstr ""
msgstr "Tanggal Mulai"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "at"
msgstr ""
msgstr "pada"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "From Date"
msgstr ""
msgstr "Dari Tanggal"
+4 -5
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-11-28 23:17+0000\n"
"Last-Translator: Paulino <Unknown>\n"
"PO-Revision-Date: 2010-06-01 10:24+0000\n"
"Last-Translator: cmsa <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: 2010-04-17 04:11+0000\n"
"X-Launchpad-Export-Date: 2010-06-02 03:33+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_analytic_plans
@@ -26,8 +26,7 @@ msgstr "Identificação da conta4"
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
"O nome do Objecto deve começar com x_ e não pode conter nenhum caractere "
"especial !"
"O nome do objecto deve começar com x_ e não pode conter um carácter especial!"
#. module: account_analytic_plans
#: model:ir.actions.report.xml,name:account_analytic_plans.account_analytic_account_crossovered_analytic
+7 -7
View File
@@ -1,5 +1,5 @@
##############################################################################
#
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
#
@@ -14,7 +14,7 @@
# 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/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{
@@ -22,11 +22,11 @@
"version" : "1.2",
"author" : "Tiny, Veritos",
"website" : "http://tinyerp.com - http://veritos.nl",
"description" : """This module will support the Anglo-Saxons accounting methodology by
changing the accounting logic with stock transactions. The difference between the Anglo-Saxon accounting countries
and the Rhine or also called Continental accounting countries is the moment of taking the Cost of Goods Sold versus Cost of Sales.
Anglo-Saxons accounting does take the cost when sales invoice is created, Continental accounting will take the cost at he moment the goods are shipped.
This module will add this functionality by using a interim account, to store the value of shipped goods and will contra book this interim account
"description" : """This module will support the Anglo-Saxons accounting methodology by
changing the accounting logic with stock transactions. The difference between the Anglo-Saxon accounting countries
and the Rhine or also called Continental accounting countries is the moment of taking the Cost of Goods Sold versus Cost of Sales.
Anglo-Saxons accounting does take the cost when sales invoice is created, Continental accounting will take the cost at the moment the goods are shipped.
This module will add this functionality by using a interim account, to store the value of shipped goods and will contra book this interim account
when the invoice is created to transfer this amount to the debtor or creditor account.
Secondly, price differences between actual purchase price and fixed product standard price are booked on a seperate account""",
"depends" : ["product", "account", "sale", "purchase", "stock"],
+66
View File
@@ -0,0 +1,66 @@
# Greek translation for openobject-addons
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-11-24 12:50+0000\n"
"PO-Revision-Date: 2010-06-09 03:12+0000\n"
"Last-Translator: Panayiotis Konstantinidis <Unknown>\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: 2010-06-11 03:43+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_anglo_saxon
#: view:product.category:0
msgid " Accounting Property"
msgstr ""
#. module: account_anglo_saxon
#: model:ir.module.module,description:account_anglo_saxon.module_meta_information
msgid ""
"This module will support the Anglo-Saxons accounting methodology by \n"
" changing the accounting logic with stock transactions. The difference "
"between the Anglo-Saxon accounting countries \n"
" and the Rhine or also called Continental accounting countries is the "
"moment of taking the Cost of Goods Sold versus Cost of Sales. \n"
" Anglo-Saxons accounting does take the cost when sales invoice is "
"created, Continental accounting will take the cost at he moment the goods "
"are shipped.\n"
" This module will add this functionality by using a interim account, to "
"store the value of shipped goods and will contra book this interim account \n"
" when the invoice is created to transfer this amount to the debtor or "
"creditor account."
msgstr ""
#. module: account_anglo_saxon
#: model:ir.module.module,shortdesc:account_anglo_saxon.module_meta_information
msgid "Stock Account"
msgstr ""
#. module: account_anglo_saxon
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr ""
#. module: account_anglo_saxon
#: field:product.category,property_account_creditor_price_difference_categ:0
#: field:product.template,property_account_creditor_price_difference:0
msgid "Price Difference Account"
msgstr "Λογαριασμός διαφοράς τιμής"
#. module: account_anglo_saxon
#: help:product.category,property_account_creditor_price_difference_categ:0
#: help:product.template,property_account_creditor_price_difference:0
msgid ""
"This account will be used to value price difference between purchase price "
"and cost price."
msgstr ""
"Αυτός ο λογαριασμός θα χρησιμοποιείται να μετράει τη διαφορά μεταξύ τιμής "
"αγοράς και τιμή κόστους."
+64
View File
@@ -0,0 +1,64 @@
# Indonesian translation for openobject-addons
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-11-24 12:50+0000\n"
"PO-Revision-Date: 2010-05-28 02:49+0000\n"
"Last-Translator: Abdul Munif Hanafi <Unknown>\n"
"Language-Team: Indonesian <id@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-05-29 03:53+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_anglo_saxon
#: view:product.category:0
msgid " Accounting Property"
msgstr ""
#. module: account_anglo_saxon
#: model:ir.module.module,description:account_anglo_saxon.module_meta_information
msgid ""
"This module will support the Anglo-Saxons accounting methodology by \n"
" changing the accounting logic with stock transactions. The difference "
"between the Anglo-Saxon accounting countries \n"
" and the Rhine or also called Continental accounting countries is the "
"moment of taking the Cost of Goods Sold versus Cost of Sales. \n"
" Anglo-Saxons accounting does take the cost when sales invoice is "
"created, Continental accounting will take the cost at he moment the goods "
"are shipped.\n"
" This module will add this functionality by using a interim account, to "
"store the value of shipped goods and will contra book this interim account \n"
" when the invoice is created to transfer this amount to the debtor or "
"creditor account."
msgstr ""
#. module: account_anglo_saxon
#: model:ir.module.module,shortdesc:account_anglo_saxon.module_meta_information
msgid "Stock Account"
msgstr ""
#. module: account_anglo_saxon
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "XML tidak sah untuk Menampilkan Arsitektur!"
#. module: account_anglo_saxon
#: field:product.category,property_account_creditor_price_difference_categ:0
#: field:product.template,property_account_creditor_price_difference:0
msgid "Price Difference Account"
msgstr ""
#. module: account_anglo_saxon
#: help:product.category,property_account_creditor_price_difference_categ:0
#: help:product.template,property_account_creditor_price_difference:0
msgid ""
"This account will be used to value price difference between purchase price "
"and cost price."
msgstr ""
+29 -10
View File
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-09-08 14:38+0000\n"
"Last-Translator: Makis Nicolaou <mark.nicolaou@gmail.com>\n"
"PO-Revision-Date: 2010-06-09 03:36+0000\n"
"Last-Translator: Panayiotis Konstantinidis <Unknown>\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: 2010-04-17 04:09+0000\n"
"X-Launchpad-Export-Date: 2010-06-11 03:43+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_balance
@@ -59,7 +59,7 @@ msgstr "Όνομα Λογαριασμού"
#: rml:account.account.balance.landscape:0
#: rml:account.balance.account.balance:0
msgid "Debit"
msgstr ""
msgstr "Χρέωση"
#. module: account_balance
#: wizard_button:account.balance.account.balance.report,init,checkyear:0
@@ -117,6 +117,25 @@ msgid ""
" 5. You have an option to print the desired report in Landscape format.\n"
" "
msgstr ""
"Το κομμάτι Ισολογισμών είναι ένα επιπρόσθετο λειτουργικό κομμάτι στο κομμάτι "
"της Οικονομικής Διαχείρισης\n"
"\n"
" Αυτό το κομμάτι σου δίνει διάφορες επιλογές για εκτύπωση ισολογισμών.\n"
"\n"
" 1. Μπορείς να συγκρίνεις τους ισολογισμούς διαφόρων ετών.\n"
"\n"
" 2. Μπορείς να ορίσεις την απόλυτη ή επί τοις εκατό σύγκριση μεταξύ δύο "
"ετών.\n"
"\n"
" 3. Μπορείς να ορίσεις το ισολογισμό αναφοράς για την επί τοις εκατό "
"σύγκριση συγκεκριμένων ετών.\n"
"\n"
" 4. Μπορείς να επιλέξεις περιόδους ως πραγματική ημερομηνία ή περιόδους "
"ως ημέρα δημιουργίας.\n"
"\n"
" 5. Έχεις δυνατότητα να εκτυπώσεις την επιθυμητή αναφορά σε μορφή "
"Landscape.\n"
" "
#. module: account_balance
#: wizard_view:account.balance.account.balance.report,backtoinit:0
@@ -143,13 +162,13 @@ msgstr "Με ισοζύγιο που δεν είναι ίσο με 0"
#: rml:account.account.balance.landscape:0
#: rml:account.balance.account.balance:0
msgid "Total :"
msgstr ""
msgstr "Σύνολο:"
#. module: account_balance
#: rml:account.account.balance.landscape:0
#: rml:account.balance.account.balance:0
msgid "Account Balance -"
msgstr ""
msgstr "Ισολογισμός"
#. module: account_balance
#: wizard_field:account.balance.account.balance.report,init,format_perc:0
@@ -196,7 +215,7 @@ msgstr "Εμφάνιση Λογαριασμών"
#: rml:account.account.balance.landscape:0
#: rml:account.balance.account.balance:0
msgid "Credit"
msgstr ""
msgstr "Πίστωση"
#. module: account_balance
#: wizard_view:account.balance.account.balance.report,backtoinit:0
@@ -206,13 +225,13 @@ msgstr "1. Έχετε επιλέξτε περισσότερα απο 3 έτη σ
#. module: account_balance
#: model:ir.module.module,shortdesc:account_balance.module_meta_information
msgid "Accounting and financial management-Compare Accounts"
msgstr ""
msgstr "Λογιστική και οικονομική διαχείριση - Σύγκριση λογαριασμών"
#. module: account_balance
#: rml:account.account.balance.landscape:0
#: rml:account.balance.account.balance:0
msgid "Year :"
msgstr ""
msgstr "Έτος :"
#. module: account_balance
#: wizard_view:account.balance.account.balance.report,backtoinit:0
@@ -223,7 +242,7 @@ msgstr "Μπορείτε να επιλέξετε το πολύ 3 έτη. Παρ
#: rml:account.account.balance.landscape:0
#: rml:account.balance.account.balance:0
msgid "Balance"
msgstr ""
msgstr "Υπόλοιπο"
#. module: account_balance
#: wizard_view:account.balance.account.balance.report,backtoinit:0
+4
View File
@@ -62,6 +62,10 @@ Three reports are available:
'wizard/account_budget_crossovered_report_view.xml',
],
'demo_xml': ['crossovered_budget_demo.xml'],
'test':[
# 'test/account_budget_spread.yml',
'test/account_budget.yml',
],
'installable': True,
'active': False,
'certificate': '0043819694157',
@@ -4,7 +4,7 @@
<!-- Reports on crossovered.budget -->
<report id="report_crossovered_budget"
string="Print Budgets"
string="Budgets"
model="crossovered.budget"
name="crossovered.budget.report"
rml="account_budget/report/crossovered_budget_report.rml"
@@ -48,7 +48,7 @@
model="account.budget.post"
name="account.budget"
rml="account_budget/report/budget_report.rml"
string="Print Budget"/>
string="Budget"/>
</data>
</openerp>

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