Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
2 Odpowiedzi
3322 Widoki

Hello everybody!!

Please who knows why do i get this error: TypeError: get_inputs() takes at least 8 arguments (7 given).

Here is my python and my xml.

Python:

def on_change_bill_id(self, cr, uid, ids, partner_id, invoice_mode, context=None):

print ('------------------------Facturations on change--------------------') 

print ('partner =' )

print partner_id

print invoice_mode

res = {'value':{'bill_ids': self.get_inputs(cr, uid, ids, partner_id, invoice_mode, context=context),

'invoice_line': self.get_inputs2(cr, uid, ids, partner_id, invoice_mode, context=context),

}

}

print ('-------------------Onchange-----------------------')

return res


XML:

<field name="date_end" on_change="on_change_bill_id(partner_id, invoice_mode)"/> 

Thanks a lot in advance

Awatar
Odrzuć

post your get_inputs method also... looks like it expects one more argument, also state the class

Autor

Hey!!!! I was asking you. If there is a problem say yes if no say No

sry .. been out on meeting... from here both methods looks fine, number of args seems ok fro both methods, is it possible that you have methods with same name in some other class and you are calling it ? check that.. if that is not the case.. i have no clue what else could be wrong..

Autor Najlepsza odpowiedź

Here is the get_inputs:


def get_inputs2(self, cr, uid,ids, partner_id, invoice_mode, context=None):

res = {}

ret = []

if partner_id == False:

raise except_orm(

_('Error!'),

_("Please, select a partner for your invoice.")

)

if invoice_mode == False:

raise except_orm(

_('Error!'),

_("Please, select the invoice mode for your invoice.")

github_url = '##################################################'

res = "-"

buffer = StringIO()

c = pycurl.Curl()

c.setopt(pycurl.URL, github_url)

c.setopt(pycurl.HTTPHEADER, ['X-Postmark-Server-Token: API_TOKEN_HERE','Accept: application/json'])

c.setopt(c.WRITEFUNCTION, buffer.write)

c.perform()

c.close()

body = buffer.getvalue()

print (body)

resp = json.loads(body)

print (resp)

if resp['result'] != 'ok' :

print 'Error : (' + resp['error_code'] +')' + resp['error']

else :

for r in resp['bill'] :

inputs = {

'product_id' : 1,

'price_unit' : 50,

'quantity' : r['quaantity'],

'account_id' : 19,

'uos_id' : r['unit'], 

}

ret.append(inputs)

print ret

return ret

#########################################"


def get_inputs(self, cr, uid,ids, partner_id, invoice_mode, context=None):

res = {}

ret = []

github_url = '######################################'

res = "-"

buffer = StringIO()

c = pycurl.Curl()

c.setopt(pycurl.URL, github_url)

c.setopt(pycurl.HTTPHEADER, ['X-Postmark-Server-Token: API_TOKEN_HERE','Accept: application/json'])

c.setopt(c.WRITEFUNCTION, buffer.write)

c.perform()

c.close()

body = buffer.getvalue()

print (body)

resp = json.loads(body)

print (resp)

if resp['result'] != 'ok' :

print 'Error : (' + resp['error_code'] +')' + resp['error']

else :

for r in resp['bill'] :

inputs = {

'service_id' : r['service_id'],

'name' : r['name'],

'unit' : r['unit'],

}

ret.append(inputs)

print ret

return ret

Awatar
Odrzuć
Autor

I think there is no problem. No??!!!

Autor

I gave you both: get_inputs and get_inputs2

Powiązane posty Odpowiedzi Widoki Czynność
0
mar 25
1178
0
sty 25
3239
1
sie 23
14513
change password Rozwiązane
1
sie 23
13195
1
lip 23
10206