hr_expenses 양식의 특정 필드를 내 custom 모듈 purchase_orders로 복사하려고했습니다. 나 확장 hr_expenses.py 파일에서이 작업을 수행하기 위해 아래의 방법은 기록 된OpenERP - 다른 테이블의 새 레코드에 데이터 복사 - 비용/PO
:
def po_generator(self, cr, uid, ids, arg, context=None):
res = {}
for expense in self.browse(cr, uid, ids, context=context):
expense_line = self.pool.get('hr.expense.line')
purchase_orders = self.pool.get('purchase.orders')
for line in expense.line_ids:
expense_line_record = expense_line.search(cr, uid, [('id', '=', line.id)], context=context)
# pdb.set_trace()
purchase_orders.create(cr, uid,
{
'submitted_employee_name':expense.employee_id,
'dateofexpense':expense_line.date_value,
'project_id_expense':expense_line.project_id,
'Description':expense_line.name,
'netamount':expense_line.product_exc_VAT,
'raised_employee_name':expense.employee_id,
'project_id_account_type':expense_line.project_id_account_type,
},
context
)
return res
을 그러나, 나는이 코드 조각을 실행하는 트루 경우는, OpenERP는 나에게와의 'AttributeError를'제공 추적 :
File "/opt/openerp/custom_modules/legacy_expense_po/legacy_expense.py", line 121, in po_generator 'dateofexpense':expense_line.date_value, AttributeError: 'hr.expense.line' object has no attribute 'date_value'
여기에는 비용 양식의 line_ids 필드와 관련이 있다고 가정합니다. line_ids에서 각 행을 가져 와서 purchase_orders 테이블에 새 레코드로 입력하려고합니다.
감사합니다.
비용 라인이 개체 인 경우 fieldName을 사용하여 점을 찍어 개체에서 값을 가져올 수 없습니다. –