2016-06-20 6 views
0

私は、以下のコードで受信メールを使ってリード生成をカスタマイズしました。私は電子メール内の本文の内容を取得し、鉛に存在するフィールドに一致させています。テンプレートは毎回同じですが、データが表示されないこともあります。 例。テンプレートは発信者名: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 

答えて

1

これはあなたの状態である

場合は '発信者\ nEmail:' をnewstringで: (newstring.index場合「発信者\ nEmail : '): indx4 = newstring.index( '発信者\ nEmail:') emailstr =をnewstring [indx4 + 1] emailarr = emailstr.split( "[") メール= emailarr [0]他 : メール= '' else: email = ''

関連する問題