DTA : Debug \nInvoice: some readonly added
bzr revid: bch-233fd760b864d17d118948dc086f07b0af202df1
This commit is contained in:
parent
9f2668a618
commit
f28259f52c
|
@ -332,7 +332,7 @@ class account_bank_account(osv.osv):
|
||||||
_columns = {
|
_columns = {
|
||||||
'name': fields.char('Bank Account', size=64, required=True),
|
'name': fields.char('Bank Account', size=64, required=True),
|
||||||
'code': fields.char('Code', size=6),
|
'code': fields.char('Code', size=6),
|
||||||
'iban': fields.char('IBAN', size=24),
|
'iban': fields.char('IBAN', size=21),
|
||||||
'swift': fields.char('Swift Code', size=24),
|
'swift': fields.char('Swift Code', size=24),
|
||||||
'currency_id': fields.many2one('res.currency', 'Currency', required=True),
|
'currency_id': fields.many2one('res.currency', 'Currency', required=True),
|
||||||
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
|
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
|
||||||
|
|
|
@ -83,7 +83,7 @@ class account_invoice(osv.osv):
|
||||||
_description = 'Invoice'
|
_description = 'Invoice'
|
||||||
_order = "number"
|
_order = "number"
|
||||||
_columns = {
|
_columns = {
|
||||||
'name': fields.char('Invoice Description', size=64, required=True, select=True),
|
'name': fields.char('Invoice Description', size=64, required=True, select=True,readonly=True, states={'draft':[('readonly',False)]}),
|
||||||
'origin': fields.char('Origin', size=64),
|
'origin': fields.char('Origin', size=64),
|
||||||
'type': fields.selection([
|
'type': fields.selection([
|
||||||
('out_invoice','Customer Invoice'),
|
('out_invoice','Customer Invoice'),
|
||||||
|
@ -116,7 +116,7 @@ class account_invoice(osv.osv):
|
||||||
'partner_contact': fields.char('Partner Contact', size=64),
|
'partner_contact': fields.char('Partner Contact', size=64),
|
||||||
'partner_ref': fields.char('Partner Reference', size=64),
|
'partner_ref': fields.char('Partner Reference', size=64),
|
||||||
|
|
||||||
'payment_term': fields.many2one('account.payment.term', 'Payment Term'),
|
'payment_term': fields.many2one('account.payment.term', 'Payment Term',readonly=True, states={'draft':[('readonly',False)]} ),
|
||||||
|
|
||||||
'period_id': fields.many2one('account.period', 'Force Period', help="Keep empty to use the period of the validation date."),
|
'period_id': fields.many2one('account.period', 'Force Period', help="Keep empty to use the period of the validation date."),
|
||||||
|
|
||||||
|
@ -128,8 +128,9 @@ class account_invoice(osv.osv):
|
||||||
'amount_untaxed': fields.function(_amount_untaxed, method=True, digits=(16,2),string='Untaxed Amount'),
|
'amount_untaxed': fields.function(_amount_untaxed, method=True, digits=(16,2),string='Untaxed Amount'),
|
||||||
'amount_tax': fields.function(_amount_tax, method=True, string='Tax'),
|
'amount_tax': fields.function(_amount_tax, method=True, string='Tax'),
|
||||||
'amount_total': fields.function(_amount_total, method=True, string='Total'),
|
'amount_total': fields.function(_amount_total, method=True, string='Total'),
|
||||||
'currency_id': fields.many2one('res.currency', 'Currency', required=True),
|
'currency_id': fields.many2one('res.currency', 'Currency', required=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||||
'journal_id': fields.many2one('account.journal', 'Journal', required=True, relate=True),
|
'journal_id': fields.many2one('account.journal', 'Journal', required=True, relate=True,readonly=True,
|
||||||
|
states={'draft':[('readonly',False)]}),
|
||||||
}
|
}
|
||||||
_defaults = {
|
_defaults = {
|
||||||
'type': lambda *a: 'out_invoice',
|
'type': lambda *a: 'out_invoice',
|
||||||
|
|
|
@ -28,7 +28,6 @@
|
||||||
<field name="bvr_number"/>
|
<field name="bvr_number"/>
|
||||||
</field>
|
</field>
|
||||||
</field>
|
</field>
|
||||||
|
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
||||||
|
@ -41,9 +40,22 @@
|
||||||
<field name="journal_id" position="after">
|
<field name="journal_id" position="after">
|
||||||
<newline/>
|
<newline/>
|
||||||
<field name="dta_state" select="1"/>
|
<field name="dta_state" select="1"/>
|
||||||
|
<field name="bvr_ref_num" select="1"/>
|
||||||
</field>
|
</field>
|
||||||
</field>
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record model="ir.ui.view" id="invoice_form2">
|
||||||
|
<field name="name">account.invoice.form</field>
|
||||||
|
<field name="model">account.invoice</field>
|
||||||
|
<field name="type">form</field>
|
||||||
|
<field name="inherit_id" ref="account.invoice_form"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<field name="origin" position="after">
|
||||||
|
<newline/>
|
||||||
|
<field name="partner_comment" colspan= "4"/>
|
||||||
|
</field>
|
||||||
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
||||||
|
@ -116,7 +128,7 @@
|
||||||
<field name="view_mode">tree,form</field>
|
<field name="view_mode">tree,form</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<menuitem name="Financial Management/Invoices/Generated DTA" id="menu_dta" action="action_account_dta"/>
|
<menuitem name="Financial Management/Reporting/Generated DTA" id="menu_dta" action="action_account_dta" sequence="10"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -227,7 +227,6 @@ class record:
|
||||||
class record_gt826(record):
|
class record_gt826(record):
|
||||||
# -> bvr
|
# -> bvr
|
||||||
def init_local_context(self):
|
def init_local_context(self):
|
||||||
print "gt826"
|
|
||||||
self.fields=[
|
self.fields=[
|
||||||
('seg_num1',2),
|
('seg_num1',2),
|
||||||
#header
|
#header
|
||||||
|
@ -244,7 +243,7 @@ class record_gt826(record):
|
||||||
('comp_city',10),('comp_country',20),('padding',46),
|
('comp_city',10),('comp_country',20),('padding',46),
|
||||||
#seg3
|
#seg3
|
||||||
('seg_num3',2),('partner_bvr',12),#numero d'adherent bvr
|
('seg_num3',2),('partner_bvr',12),#numero d'adherent bvr
|
||||||
('padding',80),('invoice_reference',27),#communication structuree
|
('padding',80),('invoice_bvr_num',27),#communication structuree
|
||||||
('padding',2),#cle de controle
|
('padding',2),#cle de controle
|
||||||
('padding',5)
|
('padding',5)
|
||||||
]
|
]
|
||||||
|
@ -254,13 +253,13 @@ class record_gt826(record):
|
||||||
'partner_bank_clearing':'','partner_cpt_benef':'',
|
'partner_bank_clearing':'','partner_cpt_benef':'',
|
||||||
'genre_trans':'826',
|
'genre_trans':'826',
|
||||||
'conv_cours':'', 'option_id_bank':'D',
|
'conv_cours':'', 'option_id_bank':'D',
|
||||||
|
'partner_bvr' : '/C/'+ self.global_values['partner_bvr'],
|
||||||
'ref2':'','ref3':'',
|
'ref2':'','ref3':'',
|
||||||
'format':'0'})
|
'format':'0'})
|
||||||
|
|
||||||
class record_gt827(record):
|
class record_gt827(record):
|
||||||
# -> interne suisse
|
# -> interne suisse
|
||||||
def init_local_context(self):
|
def init_local_context(self):
|
||||||
print "gt826"
|
|
||||||
self.fields=[
|
self.fields=[
|
||||||
('seg_num1',2),
|
('seg_num1',2),
|
||||||
#header
|
#header
|
||||||
|
@ -280,7 +279,7 @@ class record_gt827(record):
|
||||||
('comp_name',24),('comp_street',24),('comp_zip',12),
|
('comp_name',24),('comp_street',24),('comp_zip',12),
|
||||||
('comp_city',12),('comp_country',24),
|
('comp_city',12),('comp_country',24),
|
||||||
#seg4
|
#seg4
|
||||||
('seg_num4',2),('invoice_reference',28),('padding',98),
|
('seg_num4',2),('partner_comment',28),('padding',98),
|
||||||
#seg5
|
#seg5
|
||||||
#('padding',128)
|
#('padding',128)
|
||||||
]
|
]
|
||||||
|
@ -299,7 +298,6 @@ class record_gt827(record):
|
||||||
class record_gt836(record):
|
class record_gt836(record):
|
||||||
# -> iban
|
# -> iban
|
||||||
def init_local_context(self):
|
def init_local_context(self):
|
||||||
print "gt836"
|
|
||||||
self.fields=[
|
self.fields=[
|
||||||
('seg_num1',2),
|
('seg_num1',2),
|
||||||
#header
|
#header
|
||||||
|
@ -321,14 +319,14 @@ class record_gt836(record):
|
||||||
('seg_num4',2),('partner_name',35),('partner_street',35),('partner_zip',10),('partner_city',15),
|
('seg_num4',2),('partner_name',35),('partner_street',35),('partner_zip',10),('partner_city',15),
|
||||||
('partner_country',10),('padding',21),
|
('partner_country',10),('padding',21),
|
||||||
#seg5
|
#seg5
|
||||||
('seg_num5',2),('option_motif',1),('ref1',35),('ref2',35),('ref3',35),('format',1),('padding',19)
|
('seg_num5',2),('option_motif',1),('invoice_reference',105),('format',1),('padding',19)
|
||||||
]
|
]
|
||||||
|
|
||||||
self.pre.update( {
|
self.pre.update( {
|
||||||
'partner_bank_clearing':'','partner_cpt_benef':'',
|
'partner_bank_clearing':'','partner_cpt_benef':'',
|
||||||
'type_paiement':'1','genre_trans':'836',
|
'type_paiement':'1','genre_trans':'836',
|
||||||
'conv_cours':'',
|
'conv_cours':'',
|
||||||
'ref1': self.global_values['invoice_reference'],
|
'invoice_reference': self.global_values['invoice_reference'] or self.global_values['partner_comment'],
|
||||||
'ref2':'','ref3':'',
|
'ref2':'','ref3':'',
|
||||||
'format':'0'
|
'format':'0'
|
||||||
})
|
})
|
||||||
|
@ -338,7 +336,6 @@ class record_gt836(record):
|
||||||
class record_gt890(record):
|
class record_gt890(record):
|
||||||
# -> total
|
# -> total
|
||||||
def init_local_context(self):
|
def init_local_context(self):
|
||||||
print "gt890"
|
|
||||||
self.fields=[
|
self.fields=[
|
||||||
('seg_num1',2),
|
('seg_num1',2),
|
||||||
#header
|
#header
|
||||||
|
@ -359,7 +356,8 @@ def c_ljust(s, size):
|
||||||
"""
|
"""
|
||||||
s= s or ''
|
s= s or ''
|
||||||
if len(s) > size:
|
if len(s) > size:
|
||||||
raise Exception("Too long data ! %s exceed %d character." % (s, size))
|
s= s[:len(a)]
|
||||||
|
print "Too long data ! %s exceed %d character." % (s, size)
|
||||||
return s.decode('utf-8').encode('latin1','replace').ljust(size)
|
return s.decode('utf-8').encode('latin1','replace').ljust(size)
|
||||||
|
|
||||||
|
|
||||||
|
@ -465,6 +463,8 @@ def _create_dta(self,cr,uid,data,context):
|
||||||
|
|
||||||
v['partner_bank_iban']= i.partner_bank_id.iban or False
|
v['partner_bank_iban']= i.partner_bank_id.iban or False
|
||||||
v['partner_bank_number']= i.partner_bank_id.number or False
|
v['partner_bank_number']= i.partner_bank_id.number or False
|
||||||
|
v['partner_bank_number']= v['partner_bank_number'].replace('.','').replace('-','')
|
||||||
|
|
||||||
v['partner_bvr']= i.partner_bank_id.bvr_number or ''
|
v['partner_bvr']= i.partner_bank_id.bvr_number or ''
|
||||||
|
|
||||||
if v['partner_bvr']:
|
if v['partner_bvr']:
|
||||||
|
@ -480,6 +480,8 @@ def _create_dta(self,cr,uid,data,context):
|
||||||
v['partner_bank_country']= i.partner_bank_id.country_id and i.partner_bank_id.country_id.name or ''
|
v['partner_bank_country']= i.partner_bank_id.country_id and i.partner_bank_id.country_id.name or ''
|
||||||
v['partner_bank_code']= i.partner_bank_id.bank_code or False
|
v['partner_bank_code']= i.partner_bank_id.bank_code or False
|
||||||
v['invoice_reference']= i.reference
|
v['invoice_reference']= i.reference
|
||||||
|
v['invoice_bvr_num']= i.bvr_ref_num
|
||||||
|
v['partner_comment']= i.partner_comment
|
||||||
|
|
||||||
v['partner_name'] = i.partner_id and i.partner_id.name or ''
|
v['partner_name'] = i.partner_id and i.partner_id.name or ''
|
||||||
if i.partner_id and i.partner_id.address and i.partner_id.address[0]:
|
if i.partner_id and i.partner_id.address and i.partner_id.address[0]:
|
||||||
|
@ -508,7 +510,6 @@ def _create_dta(self,cr,uid,data,context):
|
||||||
# si payment structure -> bvr (826)
|
# si payment structure -> bvr (826)
|
||||||
# si non -> (827)
|
# si non -> (827)
|
||||||
|
|
||||||
|
|
||||||
elec_pay = i.partner_bank_id.type_id.elec_pay
|
elec_pay = i.partner_bank_id.type_id.elec_pay
|
||||||
if not elec_pay :
|
if not elec_pay :
|
||||||
log= log +'\nBank type does not support DTA. (invoice '+ invoice_number +')'
|
log= log +'\nBank type does not support DTA. (invoice '+ invoice_number +')'
|
||||||
|
@ -540,14 +541,14 @@ def _create_dta(self,cr,uid,data,context):
|
||||||
|
|
||||||
|
|
||||||
elif elec_pay == 'bvrbank' or elec_pay == 'bvrpost':
|
elif elec_pay == 'bvrbank' or elec_pay == 'bvrpost':
|
||||||
if not v['invoice_reference']:
|
if not v['invoice_bvr_num']:
|
||||||
log= log +'\nYou must provide an invoice reference. (invoice '+ invoice_number +')'
|
log= log +'\nYou must provide an Bvr reference number. (invoice '+ invoice_number +')'
|
||||||
|
continue
|
||||||
if not v['partner_bvr']:
|
if not v['partner_bvr']:
|
||||||
log= log +'\nYou must provide a BVR reference number in the partner bank. (invoice '+ invoice_number +')'
|
log= log +'\nYou must provide a BVR reference number in the partner bank. (invoice '+ invoice_number +')'
|
||||||
continue
|
continue
|
||||||
record_type = record_gt826
|
record_type = record_gt826
|
||||||
v['partner_bvr'] = '/C/'+v['partner_bvr']
|
|
||||||
|
|
||||||
|
|
||||||
elif elec_pay == 'bvbank':
|
elif elec_pay == 'bvbank':
|
||||||
|
|
|
@ -34,17 +34,28 @@ from osv import fields, osv
|
||||||
import ir
|
import ir
|
||||||
|
|
||||||
class account_invoice(osv.osv):
|
class account_invoice(osv.osv):
|
||||||
|
|
||||||
_inherit = "account.invoice"
|
_inherit = "account.invoice"
|
||||||
_columns = {
|
_columns = {
|
||||||
'dta_state': fields.selection([('none','None'),
|
'dta_state': fields.selection([('none','None'),
|
||||||
('2bp','To be paid'),
|
('2bp','To be paid'),
|
||||||
('paid','Paid')],
|
('paid','Paid')],
|
||||||
'DTA state',readonly=True,select=True, states={'draft':[('readonly',False)]}),
|
'DTA state',readonly=True,select=True, states={'draft':[('readonly',False)]}),
|
||||||
|
'bvr_ref_num': fields.char('Bvr Reference Number', size=64,readonly=True, states={'draft':[('readonly',False)]}),
|
||||||
|
'partner_comment':fields.char('Partner Comment', size=112, readonly=True, states={'draft':[('readonly',False)]}),
|
||||||
}
|
}
|
||||||
|
|
||||||
_defaults = {
|
_defaults = {
|
||||||
'dta_state': lambda *a: 'none',
|
'dta_state': lambda *a: 'none',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def _check_bvr(self, cr, uid, ids):
|
||||||
|
return True
|
||||||
|
|
||||||
|
_constraints = [
|
||||||
|
(_check_bvr, 'Error ! Invalid Bvr Number.', ['bvr_ref_num'])
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
account_invoice()
|
account_invoice()
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ from osv import fields, osv
|
||||||
class res_partner_bank(osv.osv):
|
class res_partner_bank(osv.osv):
|
||||||
_inherit = "res.partner.bank"
|
_inherit = "res.partner.bank"
|
||||||
_columns = {
|
_columns = {
|
||||||
'bvr_number': fields.char('BVR Reference Number', size=9),
|
'bvr_number': fields.char('BVR Reference Number', size=11),
|
||||||
'bank_code': fields.char('Bank Code', size=64, help='Swift or BIC number'),
|
'bank_code': fields.char('Bank Code', size=64, help='Swift or BIC number'),
|
||||||
'bank_clearing': fields.char('Bank Clearing Number', size=64),
|
'bank_clearing': fields.char('Bank Clearing Number', size=64),
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
<field name="view_mode">form,tree</field>
|
<field name="view_mode">form,tree</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<menuitem name="Financial Management/Imported V11" id="menu_account_v11" action="action_account_v11"/>
|
<menuitem name="Financial Management/Reporting/Imported V11" id="menu_account_v11" action="action_account_v11" sequence="11"/>
|
||||||
|
|
||||||
<menuitem name="Financial Management/Periodical Processing/Import V11" action="wizard_account_v11_import"
|
<menuitem name="Financial Management/Periodical Processing/Import V11" action="wizard_account_v11_import"
|
||||||
type="wizard" id="menu_account_v11_wizard" sequence="15"/>
|
type="wizard" id="menu_account_v11_wizard" sequence="15"/>
|
||||||
|
|
Loading…
Reference in New Issue