bzr revid: fp@tinyerp.com-20080902134716-y0g9zr0p38vn772h
This commit is contained in:
Fabien Pinckaers 2008-09-02 15:47:16 +02:00
commit 0a4430c53a
15 changed files with 163 additions and 2014 deletions

View File

@ -102,8 +102,6 @@ class account_account_type(osv.osv):
'name': fields.char('Acc. Type Name', size=64, required=True, translate=True),
'code': fields.char('Code', size=32, required=True),
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of account types."),
'code_from': fields.char('Code From', size=10, help="Gives the range of account code available for this type of account. These fields are given for information and are not used in any constraint."),
'code_to': fields.char('Code To', size=10, help="Gives the range of account code available for this type of account. These fields are just given for information and are not used in any constraint."),
'partner_account': fields.boolean('Partner account'),
'close_method': fields.selection([('none','None'), ('balance','Balance'), ('detail','Detail'),('unreconciled','Unreconciled')], 'Deferral Method', required=True),
}
@ -242,7 +240,6 @@ class account_account(osv.osv):
'debit': fields.function(__compute, digits=(16,2), method=True, string='Debit', multi='balance'),
'reconcile': fields.boolean('Reconcile', help="Check this account if the user can make a reconciliation of the entries in this account."),
'shortcut': fields.char('Shortcut', size=12),
'close_method': fields.selection([('none','None'), ('balance','Balance'), ('detail','Detail'),('unreconciled','Unreconciled')], 'Deferral Method', required=True, help="Tell Tiny ERP how to process the entries of this account when you close a fiscal year. None removes all entries to start with an empty account for the new fiscal year. Balance creates only one entry to keep the balance for the new fiscal year. Detail keeps the detail of all entries of the preceeding years. Unreconciled keeps the detail of unreconciled entries only."),
'tax_ids': fields.many2many('account.tax', 'account_account_tax_default_rel',
'account_id','tax_id', 'Default Taxes'),
'note': fields.text('Note'),
@ -264,7 +261,6 @@ class account_account(osv.osv):
'sign': lambda *a: 1,
'type' : lambda *a :'view',
'reconcile': lambda *a: False,
'close_method': lambda *a: 'balance',
'company_id': _default_company,
'active': lambda *a: True,
}

View File

@ -125,7 +125,6 @@
<field name="sign"/>
<field name="currency_id" select="2"/>
<field name="close_method"/>
<field name="reconcile"/>
<newline/>
<newline/>
@ -420,8 +419,6 @@
<tree string="Account Type">
<field name="code"/>
<field name="name"/>
<field name="code_from"/>
<field name="code_to"/>
</tree>
</field>
</record>
@ -435,8 +432,6 @@
<field name="code" select="1"/>
<field name="sequence"/>
<field name="close_method"/>
<field name="code_from" select="1"/>
<field name="code_to" select="1"/>
<field name="partner_account"/>
</form>
</field>

View File

@ -10,7 +10,7 @@
<field name="code">x 0</field>
<field name="name">Chart For Automated Tests</field>
<field name="close_method">none</field>
<field eval="0" name="parent_id"/>
<field eval="False" name="parent_id"/>
<field name="type">view</field>
<field name="note">
This chart of account is used for automated testing purpose. It is installed

View File

@ -88,11 +88,14 @@ def _data_save(self, cr, uid, data, context):
obj='account_move_line', context={'fiscalyear': fy_id})
cr.execute('select id from account_account WHERE active')
ids = map(lambda x: x[0], cr.fetchall())
accnt_type_obj = pool.get('account.account.type')
for account in pool.get('account.account').browse(cr, uid, ids,
context={'fiscalyear': fy_id}):
if account.close_method=='none' or account.type == 'view':
accnt_type_ids = accnt_type_obj.search(cr, uid, [('code','=',account.type)])
accnt_type_data = accnt_type_obj.browse(cr, uid, accnt_type_ids[0])
if accnt_type_data.close_method=='none' or account.type == 'view':
continue
if account.close_method=='balance':
if accnt_type_data.close_method=='balance':
if abs(account.balance)>0.0001:
pool.get('account.move.line').create(cr, uid, {
'debit': account.balance>0 and account.balance,
@ -103,7 +106,7 @@ def _data_save(self, cr, uid, data, context):
'period_id': period.id,
'account_id': account.id
}, {'journal_id': new_journal.id, 'period_id':period.id})
if account.close_method=='unreconciled':
if accnt_type_data.close_method=='unreconciled':
offset = 0
limit = 100
while True:
@ -130,7 +133,7 @@ def _data_save(self, cr, uid, data, context):
'period_id': period.id,
})
offset += limit
if account.close_method=='detail':
if accnt_type_data.close_method=='detail':
offset = 0
limit = 100
while True:

View File

@ -418,7 +418,7 @@ class payment_line(osv.osv):
# 'partner_payable': fields.function(partner_payable, string="Partner payable", method=True, type='float'),
# 'value_date': fields.function(_value_date, string='Value Date',
# method=True, type='date'),
'date': fields.date('Payment Date'),
'date': fields.date('Payment Date',help="If no payment date is specified, the bank will treat this payment line direclty"),
'create_date': fields.datetime('Created' ,readonly=True),
'state': fields.selection([('normal','Free'), ('structured','Structured')], 'Communication Type', required=True)
}
@ -457,8 +457,7 @@ class payment_line(osv.osv):
elif date_prefered == 'due':
data['date'] = line.date_maturity
elif date_prefered == 'fixed':
if date_planned:
data['date'] = date_planned
data['date'] = date_planned
return {'value': data}

View File

@ -87,11 +87,19 @@ def create_payment(self, cr, uid, data, context):
payment = order_obj.browse(cr, uid, data['id'],
context=context)
t = payment.mode and payment.mode.type.code or 'manual'
t = payment.mode and payment.mode.type.code or None
line2bank= pool.get('account.move.line').line2bank(cr, uid,
line_ids, t, context)
## Finally populate the current payment with new lines:
for line in line_obj.browse(cr, uid, line_ids, context=context):
if payment.date_prefered == "now":
#no payment date => immediate payment
date_to_pay = False
elif payment.date_prefered == 'due':
date_to_pay = line.date_maturity
elif payment.date_prefered == 'fixed':
date_to_pay = payment.date_planned
pool.get('payment.line').create(cr,uid,{
'move_line_id': line.id,
'amount_currency': line.amount_to_pay,
@ -99,6 +107,7 @@ def create_payment(self, cr, uid, data, context):
'order_id': payment.id,
'partner_id': line.partner_id and line.partner_id.id or False,
'communication': line.ref or '/',
'date': date_to_pay,
}, context=context)
return {}

View File

@ -6642,7 +6642,7 @@
<field name="type">percent</field>
<field name="account_collected_id" ref="vat_refund21"/>
<field name="account_paid_id" ref="vat_payable21"/>
<field name="base_code_id" ref="vat_code_a81"/>
<field name="base_code_id" ref="vat_code_a82"/>
<field name="tax_code_id" ref="vat_code_a59"/>
<field name="ref_base_code_id" ref="vat_code_a85"/>
<field name="ref_tax_code_id" ref="vat_code_a63"/>

View File

@ -17,8 +17,6 @@
<field name="name">Account Chart UK</field>
<field name="close_method">none</field>
<field eval="0" name="parent_id"/>
<field name="type">view</field>
@ -36,8 +34,6 @@
<field name="name">Balance Sheet</field>
<field name="close_method">none</field>
<field ref="chart0" name="parent_id"/>
<field name="type">view</field>
@ -51,8 +47,6 @@
<field name="name">Fixed Assets</field>
<field name="close_method">none</field>
<field ref="bal" name="parent_id"/>
<field name="type">view</field>
@ -66,8 +60,6 @@
<field name="name">Fixed Asset Account</field>
<field name="close_method">balance</field>
<field ref="fas" name="parent_id"/>
<field name="type">asset</field>
@ -81,8 +73,6 @@
<field name="name">Net Current Assets</field>
<field name="close_method">none</field>
<field ref="bal" name="parent_id"/>
<field name="type">view</field>
@ -96,9 +86,7 @@
<field name="name">Current Assets</field>
<field name="close_method">none</field>
<field ref="nca" name="parent_id"/>
<field ref="nca" name="parent_id"/>
<field name="type">view</field>
@ -113,8 +101,6 @@
<field name="name">Purchased Stocks</field>
<field name="close_method">unreconciled</field>
<field ref="cas" name="parent_id"/>
<field name="type">asset</field>
@ -130,8 +116,6 @@
<field name="name">Debtors</field>
<field name="close_method">balance</field>
<field ref="cas" name="parent_id"/>
<field name="type">receivable</field>
@ -153,8 +137,6 @@
<field name="name">Output VAT</field>
<field name="close_method">balance</field>
<field ref="cas" name="parent_id"/>
<field name="type">tax</field>
@ -168,8 +150,6 @@
<field name="name">Bank Current Account</field>
<field name="close_method">balance</field>
<field ref="cas" name="parent_id"/>
<field name="type">cash</field>
@ -185,8 +165,6 @@
<field name="name">Cash</field>
<field name="close_method">balance</field>
<field ref="cas" name="parent_id"/>
<field name="type">cash</field>
@ -200,8 +178,6 @@
<field name="name">Current Liabilities</field>
<field name="close_method">none</field>
<field ref="nca" name="parent_id"/>
<field name="type">view</field>
@ -217,8 +193,6 @@
<field name="name">Creditors</field>
<field name="close_method">balance</field>
<field ref="cli" name="parent_id"/>
<field name="type">payable</field>
@ -240,8 +214,6 @@
<field name="name">Input VAT</field>
<field name="close_method">balance</field>
<field ref="cli" name="parent_id"/>
<field name="type">tax</field>
@ -259,8 +231,6 @@
<field name="name">Profit and Loss</field>
<field name="close_method">none</field>
<field ref="chart0" name="parent_id"/>
<field name="type">view</field>
@ -274,8 +244,6 @@
<field name="name">Revenue</field>
<field name="close_method">none</field>
<field ref="gpf" name="parent_id"/>
<field name="type">view</field>
@ -291,8 +259,6 @@
<field name="name">Product Sales</field>
<field name="close_method">unreconciled</field>
<field ref="rev" name="parent_id"/>
<field name="type">income</field>
@ -312,8 +278,6 @@
<field name="name">Cost of Sales</field>
<field name="close_method">none</field>
<field ref="gpf" name="parent_id"/>
<field name="type">view</field>
@ -329,8 +293,6 @@
<field name="name">Cost of Goods Sold</field>
<field name="close_method">unreconciled</field>
<field ref="cos" name="parent_id"/>
<field name="type">expense</field>
@ -344,8 +306,6 @@
<field name="name">Overheads</field>
<field name="close_method">none</field>
<field ref="gpf" name="parent_id"/>
<field name="type">view</field>
@ -361,8 +321,6 @@
<field name="name">Expenses</field>
<field name="close_method">unreconciled</field>
<field ref="ovr" name="parent_id"/>
<field name="type">expense</field>

File diff suppressed because it is too large Load Diff

View File

@ -3,40 +3,44 @@
<data noupdate="True">
<!--
#
# Plan comptable général pour la France, conforme au
# Plan comptable général pour la France, conforme au
# Règlement n° 99-03 du 29 avril 1999
# Version applicable au 1er janvier 2005.
# Règlement disponible sur http://erp-libre.info
# Mise en forme et paramétrage par http://sisalp.fr et http://nbconseil.net
# version du fichier : 01-01-2007
-->
<!-- Nouveaux types de comptes -->
<record id="account_type_dettes" model="account.account.type">
<field name="name">dettes long terme</field>
<field name="code">dettes</field>
<field name="close_method">balance</field>
</record>
<record id="account_type_immobilisations" model="account.account.type">
<field name="name">immobilisations</field>
<field name="code">immobilisations</field>
<field name="close_method">balance</field>
</record>
<record id="account_type_stocks" model="account.account.type">
<field name="name">stocks</field>
<field name="code">stocks</field>
<field name="close_method">balance</field>
</record>
<record id="account_type_cloture" model="account.account.type">
<field name="name">Cloture</field>
<field name="code">cloture</field>
<field name="close_method">none</field>
</record>
<!-- Journaux de saisie -->
<record id="operations_journal" model="account.journal">
<field name="name">Journal des opérations diverses</field>
@ -55,6 +59,6 @@
<field name="view_id" ref="account.account_journal_view"/>
<field name="sequence_id" ref="account.sequence_journal"/>
</record>
</data>
</terp>

View File

@ -51,7 +51,6 @@
<field name="name">membership account</field>
<field name="code">1254</field>
<field name="company_id" ref="base.main_company"/>
<field name="close_method">balance</field>
<field eval="1" name="sign"/>
<field eval="1" name="active"/>
<field name="type">asset</field>

View File

@ -0,0 +1 @@
import product_analytic_default

View File

@ -0,0 +1,19 @@
# -*- encoding: utf-8 -*-
{
"name" : "Product Analytic Default",
"version" : "1.0",
"author" : "Tiny",
"website" : "http://tinyerp.com",
"category" : "Generic Modules/product_analytic_default",
"description": """
- add property field on product object and used this field on sale order line and invoice lines..
""",
"depends" : ['base','account'],
"init_xml" : [],
"demo_xml" : [],
"update_xml" : ["product_analytic_default.xml"],
"active": False,
"installable": True
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,66 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Copyright (c) 2007 TINY SPRL. (http://tiny.be) All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
from osv import fields,osv
from osv import orm
class product_product(osv.osv):
_name = 'product.product'
_inherit = 'product.product'
_description = 'Product'
_columns = {
'property_account_analytic': fields.property(
'account.analytic.account',
type='many2one',
relation='account.analytic.account',
string="Analytic Account",
method=True,
view_load=True,
group_name="Accounting Properties",
help="This Analytic Account will be use in sale order line and invoice lines",
),
}
product_product()
class account_invoice_line(osv.osv):
_inherit = 'account.invoice.line'
_description = 'account invoice line'
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, price_unit=False, address_invoice_id=False, context={}):
res_prod = super(account_invoice_line,self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, price_unit, address_invoice_id, context)
if product:
res = self.pool.get('product.product').browse(cr, uid, product, context=context)
res_prod['value'].update({'account_analytic_id':res.property_account_analytic.id})
return res_prod
account_invoice_line()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<terp>
<data>
<record id="view_template_property_analytic_form" model="ir.ui.view">
<field name="name">product.template.property.analytic.form.inherit</field>
<field name="model">product.template</field>
<field name="type">form</field>
<field name="inherit_id" ref="product.product_template_form_view"/>
<field name="arch" type="xml">
<separator string="Sales" colspan="2" position="before">
<field name="property_account_analytic"/>
<newline/>
</separator>
</field>
</record>
<record id="view_normal_property_analytic_form" model="ir.ui.view">
<field name="name">product.normal.property.analytic.form.inherit</field>
<field name="model">product.product</field>
<field name="type">form</field>
<field name="inherit_id" ref="product.product_normal_form_view"/>
<field name="arch" type="xml">
<separator string="Sales" colspan="2" position="before">
<field name="property_account_analytic"/>
<newline/>
</separator>
</field>
</record>
</data>
</terp>