使用代码自动生成电子签约合同 - xiaohao0576/odoo-doc GitHub Wiki
# 获取附件的ID
attachment_id = env.context.get("attachment_id", 0)
attachment = env['ir.attachment'].browse(attachment_id)
if not attachment:
raise UserError('Can not find attachment')
# 创建sign.template
sign_template = env['sign.template'].create({'name':'sing-test-001'})
# 创建sign.document
sign_document = env['sign.document'].create({'attachment_id': attachment_id, 'template_id': sign_template.id})
# 创建 sing.item.role, 如果要做分享链接,只能有一个签署方
role_A = env['sign.item.role'].create({'name':'Party-A'})
# 创建sign.items
sign_item_01 = env['sign.item'].create({
'document_id': sign_document.id,
'responsible_id': role_A.id,
'type_id': 1, # Signature
'page': 4,
'posX': 0.81,
'posY': 0.77,
'width': 0.16,
'height': 0.04,
'alignment': 'left'
})
sign_request = sign_template.open_shared_sign_request()
sign_request_share = env['sign.request.share'].browse(sign_request['res_id'])
action = {
'share_link': sign_request_share.share_link
}