У меня есть вычисляемое поле в модели 'hr.payslip'.
cumulative_income_tax_base_previous = fields.Float(string="Kümülatif
Gelir Vergisi Matrahı"
compute='_get_previous_payslip_fields',store=True)
Я хочу отредактировать это поле в соответствии с другим полем (тип является логическим) в той же модели.
first_access = fields.Boolean(string="İlk bordro girişi mi ?",
default=False)
Если для этого поля установлено значение true, я хочу редактировать вычисляемое вручную поле.В представлении формы я установил атрибут readonly: True для моего вычислительного поля.
<xpath expr="//group[@name='accounting']" position="after">
<group name="other_calculation" string="Dİğer Hesaplamalar">
<field name="first_access"/>
<field name="cumulative_income_tax_base_previous"
attrs="{'readonly':[('first_access', '!=', True)],
'required': [('first_access', '=', True)]}"/>
</group>
</xpath>
Но я не учился в классе питона.Когда я редактирую его вручную, он присваивается нулю.Как я могу решить эту проблему
@api.one
@api.depends('employee_id', 'date_from', 'date_to', 'first_access')
def _get_previous_payslip_fields(self):
for record in self:
if record.employee_id and record.date_from and record.date_to
and not record.line_ids:
.... (some codes)
payslip_object = self.env['hr.payslip'].search(domain,
order='id desc', limit=1)
if payslip_object and not record.first_access:
record.gv_rate_init_previous=payslip_object['gv_rate_init']
record.cumulative_income_tax_base_previous =
payslip_object['cumulative_income_tax_base']
else:
... ? ( When the first access field is set True)