' Il seguente snippet può essere utilizzato per leggere le proprietà di un e-mail salvata in formato .MSG o .EML tramite il componente MsgReader presente a partire dalla release 2015.17.2p ' L'esempio si riferisce alla generazione di un ticket a partire da una e-mail, determinando il codice del cliente utilizzando il dominio del mittente della e-mail stessa. dim path as string=<inserire qui il percorso del file .MSG o .EML> dim q as qwtable form.findcontrol("TICKET").Value="TT"+form.findcontrol("TIPO_CONT").Value+"-"+form.findcontrol("NUMERO").Value dim msg As new MsgReader.Outlook.Storage.Message(path) q = new qwtable q.database=form.form_state.dmd_ref.DB q.sql="select TOP 1 c.CODICE,c.RAGSOC,o.DESCPER,o.EMAIL,o.TELINT,o.DESCRUO from ORGCF o join CLIFOR c on o.CODICE=c.CODICE where o.EMAIL=:EMAIL and (c.CLIENTE=:VERO) and left(c.CODICE,1)<>'*' and left(c.CODICE,1)<>'R' order by c.CODICE desc" q.requestlive=false q.params("VERO")=true q.requestlive=false ' Cerca nell"organigramma l"indirizzo del sender q.params("EMAIL")=msg.sender.email q.active=true if q.rowset.first() form.findcontrol("Cliente").Value=q.rowset.fields("CODICE").value form.findcontrol("SEGN").Value=q.rowset.fields("DESCPER").value+" ("+q.rowset.fields("DESCRUO").value+")" form.findcontrol("SEGN_MAIL").value=q.rowset.fields("EMAIL").value form.findcontrol("SEGN_TEL").value=q.rowset.fields("TELINT").value else form.findcontrol("SEGN").Value=msg.sender.displayname form.findcontrol("SEGN_MAIL").value=msg.sender.email End If q.active=false if empty(form.findcontrol("Cliente").Value) and dbdollar("@",msg.sender.email) ' Prova con il dominio q.sql="select CODICE,RAGSOC from CLIFOR c where EMAIL like '%'+:EMAIL and (CLIENTE=:VERO) and left(c.CODICE,1)<>'*'" q.params("VERO")=true q.params("EMAIL")=substr2(msg.sender.email,at("@",msg.sender.email)+1) q.active=true if q.rowset.first() form.findcontrol("Cliente").Value=q.rowset.fields("CODICE").value End If q.active=false End If if not empty(form.findcontrol("Cliente").Value) form.SetAssigned(form.findcontrol("Cliente"),true) Cliente_Change(form,form.findcontrol("Cliente")) else form.findcontrol("SEGN_MAIL").value=msg.sender.email End If dim cc as string="" dim r as integer for r=0 to msg.recipients.count-1 if msg.recipients.item(r).type=2 cc+=iif(cc<>"",";","")+msg.recipients.item(r).email End If next form.findcontrol("CC").value=cc dim d as date=ctype(msg.ReceivedOn,date) form.findcontrol("DSEGN").Value=new date(d.year,d.month,d.day) form.findcontrol("HSEGN").Value=Transform(d.hour,"@L 99")+transform(d.minute,"@L 99") form.findcontrol("Notebook1").controls(0).findcontrol("SEGN_TESTO").value=msg.BodyText if not dbdollar("Richiesta di assistenza",msg.subject) form.findcontrol("TITOLO").Value=msg.subject+" (#"+form.findcontrol("TICKET").value+") - "+form.findcontrol("Cliente").value else form.findcontrol("TITOLO").Value=msg.subject+" (#"+form.findcontrol("TICKET").value+")" End If form.Save()