私は、以下のコードで受信メールを使ってリード生成をカスタマイズしました。私は電子メール内の本文の内容を取得し、鉛に存在するフィールドに一致させています。テンプレートは毎回同じですが、データが表示されないこともあります。 例。テンプレートは発信者名:abcd 電話番号:1234567891 メールアドレス:[email protected] 日付:16/12/16 メール本文のデータは毎回同じですが、メールが表示されない場合もあります。鉛に生成しないでください。上記のデータが表示され、それ以外の場合はフィールドに記入しておく必要があります。 のCa誰もが入荷先をカスタマイズして、本体電子メール内に存在する鉛のフィールドを自動入力
マイコードその条件を書く方法私を助ける:
をデフ(自己、CR、UID、MSG、custom_values =なし、コンテキスト=なし)message_new: _logger.info( "________________________ MESSAGE_NEW________________________") _logger .info(msg.get( '件名'、 ''))
#myString = msg.get('subject', '')
#myString.index('Phone:')
#mobileNumber = myString[myString.index('Phone:')+6:myString.index('Phone:')+16]
myString = html2plaintext(msg.get('body', ''))
_logger.info(myString)
myString.index('Caller Name:')
newstring=myString.split("*")
_logger.info("--------------------------------------------------------")
_logger.info(newstring)
indx=newstring.index('Caller Name:')
mobileNumber = newstring[indx+1]
indx=newstring.index('Caller\nPhone:')
mobile=newstring[indx+1]
indx=newstring.index('City:')
city=newstring[indx+1]
indx=newstring.index('Branch Info:')
branch=newstring[indx+1]
indx=newstring.index('Caller\nEmail:')
emailstr=newstring[indx+1]
emailarr=emailstr.split("[")
email=emailarr[0]
indx=newstring.index('Caller\nRequirement:')
requirement=newstring[indx+1]
indx=newstring.index('Caller\nRequirement:')
requirement=newstring[indx+1]
indx=newstring.index('Call Date &\nTime:')
date=newstring[indx+1]
if context is None:
context = {}
data = {}
if isinstance(custom_values, dict):
data = custom_values.copy()
model = context.get('thread_model') or self._name
model_pool = self.pool[model]
fields = model_pool.fields_get(cr, uid, context=context)
if 'name' in fields and not data.get('name'):
data['name'] = requirement
if 'contact_name' in fields and not data.get('contact_name'):
data['contact_name'] = mobileNumber
if 'city' in fields and not data.get('city'):
data['city'] = city
if 'mobile' in fields and not data.get('mobile'):
data['mobile'] = mobile
if 'street' in fields and not data.get('street'):
data['street'] = branch
if 'email_from' in fields and not data.get('email_from'):
data['email_from'] = email
if 'x_date' in fields and not data.get('x_date'):
data['x_date'] = date
res_id = model_pool.create(cr, uid, data, context=context)
return res_id