Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
2 ตอบกลับ
2632 มุมมอง

Is there a way I can override the value of an existing function? I wanted to override the value of the variable, transactions.


def _query_avatax_taxes(self, commit):

if not self:

return {}

if not self.company_id.sudo().avalara_api_id or not self.company_id.sudo().avalara_api_key:

raise RedirectWarning(

_('Please add your AvaTax credentials'),

self.env.ref('base_setup.action_general_configuration').id,

_("Go to the configuration panel"),

)

client = self._get_client(self.company_id)

transactions = {record: record._get_avatax_taxes(commit) for record in self}

return {

record: client.create_transaction(transaction, include='Lines')

for record, transaction in transactions.items()

}


อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

Hi, 

You can change the variable value and super the function to achieve this.

def _query_avatax_taxes(self, commit):
    transactions = # Your updated transactions
    return super()._query_avatax_taxes()


Hope it helps

อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

Hi,

If you see the code, the value to transactions is returned form the function _get_avatax_taxes , so you can just inherit this function and make the changes in it.

And this hook may be made for the same purpose.

Thanks

อวตาร
ละทิ้ง
Related Posts ตอบกลับ มุมมอง กิจกรรม
1
เม.ย. 24
1659
1
พ.ค. 23
3531
0
พ.ค. 16
3411
override a method inheritance แก้ไขแล้ว
2
ธ.ค. 15
3482
0
มิ.ย. 25
870