Do not let any software impress you!

Only let it convince your intellect.
Slider img 1
Do not look for a business paradise!

It is a waste of time.
Slider img 2
Only yourself can push you uphill.

There is no easy road to prizes.
Slider img 3
Productivity is the name of the game.

And you have to conquer it.
Slider img 4
As long as you understand it,

you will start to build your know-how.
Slider img 5
We can help with that.

We have the tools and the method.
Slider img 6

From Subject Bussines Contact Date Time
Image
Image
Image
Image
Image
Image
Image
Image
Image
0:1-0

Title : Junk Mail

Toolbars

call undelete()
call BrowseFilter()
call PrintGrid()
call CreateSheet()

Buttons

Fields


 (.SENDER_FLAG)
 (.READ_FLAG)
 (.ATT_FLAG)
 (.MAIL_FROM)
 (.SUBJECT)
 (.TITLE)
 (.DISP_NAME)
 (.MDATE)
 (.MTIME)
 (.SENDER_FLAG)
 (.READ_FLAG)
 (.ATT_FLAG)
 (.MAIL_FROM)
 (.SUBJECT)
 (.TITLE)
 (.DISP_NAME)
 (.MDATE)
 (.MTIME)


AutoScript

lib

{=============================== Form_Start =================================}

proc Form_Start()

     f = TopForm()
     call SetCaption("Junk Mail")
     call CollapseNavBar()

     call SetClass("grid","TStringGrid1")

     if (DBModel = "MSACCESS") then
        filter = strcat("(AU_MAIL.MDATE = CDATE('",crDate,"'))")
     elseif (DBModel = "MSSQLSERVER") then
        filter = strcat("(AU_MAIL.MDATE = ",crDate,")")
     endif

     call BrowseFilter(filter)
end

{=============================== Panels_Start =================================}

proc Panels_Start()

     mode = __params[4]

     if (mode = "USER_MODE") then

         start_sql "DATA" "KOSMOS"
         SELECT AU_ORGAN.KUSER, AU_MAIL.AU_USER, AU_MAIL.MDATE, AU_MAIL.READ_FLAG, AU_MAIL.IN_FLAG,
         AU_MAIL.OUT_FLAG, AU_MAIL.SUBJECT, AU_MAIL.MAIL_FROM, AU_BUSINESS.TITLE,
         AU_MAIL.AU_DOC, AU_MAIL.AU_MAIL_POP3_MBOX, AU_MAIL.MTIME, AU_MAIL.ATT_FLAG,
         AU_MAIL.SENDER_FLAG, AU_CONTACT.DISP_NAME, AU_USER.UNAME, AU_MAIL.MSGID, AU_MAIL.AU_MAIL
         FROM ((((AU_MAIL LEFT JOIN AU_ORGAN ON AU_MAIL.AU_POS = AU_ORGAN.AU_POS)
         LEFT JOIN AU_USER ON AU_MAIL.AU_USER = AU_USER.AU_USER) LEFT JOIN AU_MAIL_ADDR
         ON AU_MAIL.AU_MAIL = AU_MAIL_ADDR.AU_MAIL) LEFT JOIN (AU_CONTACT_MAILADDR
         LEFT JOIN AU_CONTACT ON AU_CONTACT_MAILADDR.AU_CONTACT = AU_CONTACT.AU_CONTACT)
         ON AU_MAIL_ADDR.AU_MAILADDRESS = AU_CONTACT_MAILADDR.AU_MAILADDRESS)
         LEFT JOIN AU_BUSINESS ON AU_CONTACT_MAILADDR.AU_BUSINESS = AU_BUSINESS.AU_BUSINESS
         WHERE (((AU_ORGAN.KUSER=:U) AND (AU_MAIL.AU_USER Is Null)
         AND (AU_MAIL.MFOLDER Like 'Junk')) OR ((AU_ORGAN.KUSER Is Null)
         AND (AU_MAIL.AU_USER=:U) AND (AU_MAIL.MFOLDER Like 'Junk')))
         AND (AU_MAIL_ADDR.MTYPE = 'FROM')
         ORDER BY AU_MAIL.AU_MAIL
         end_sql
         q = QueryByName("DATA")
         userid = GetUserId()
         call TSetParam(q,"U",userid)
     endif
     if (mode = "ALL_MODE") then

         start_sql "DATA" "KOSMOS"
         SELECT AU_ORGAN.KUSER, AU_MAIL.AU_USER, AU_MAIL.MDATE, AU_MAIL.READ_FLAG, AU_MAIL.IN_FLAG,
         AU_MAIL.OUT_FLAG, AU_MAIL.SUBJECT, AU_MAIL.MAIL_FROM, AU_BUSINESS.TITLE,
         AU_MAIL.AU_DOC, AU_MAIL.AU_MAIL_POP3_MBOX, AU_MAIL.MTIME, AU_MAIL.ATT_FLAG,
         AU_MAIL.SENDER_FLAG, AU_CONTACT.DISP_NAME, AU_USER.UNAME, AU_MAIL.MSGID, AU_MAIL.AU_MAIL
         FROM ((((AU_MAIL LEFT JOIN AU_ORGAN ON AU_MAIL.AU_POS = AU_ORGAN.AU_POS)
         LEFT JOIN AU_USER ON AU_MAIL.AU_USER = AU_USER.AU_USER) LEFT JOIN AU_MAIL_ADDR
         ON AU_MAIL.AU_MAIL = AU_MAIL_ADDR.AU_MAIL) LEFT JOIN (AU_CONTACT_MAILADDR
         LEFT JOIN AU_CONTACT ON AU_CONTACT_MAILADDR.AU_CONTACT = AU_CONTACT.AU_CONTACT)
         ON AU_MAIL_ADDR.AU_MAILADDRESS = AU_CONTACT_MAILADDR.AU_MAILADDRESS)
         LEFT JOIN AU_BUSINESS ON AU_CONTACT_MAILADDR.AU_BUSINESS = AU_BUSINESS.AU_BUSINESS
         WHERE (AU_MAIL.MFOLDER Like 'Junk')
         AND (AU_MAIL_ADDR.MTYPE = 'FROM')
         ORDER BY AU_MAIL.AU_MAIL
         end_sql
         q = QueryByName("DATA")
     endif

     call TPrepare(q)

end

{=============================== Lst_Click =================================}

proc Lst_DblClick()

     f      = TopForm()
     mail_id = TGetFld(q,"AU_MAIL")
     doc_id = TGetFld(q,"AU_DOC")
     readed = TGetFld(q,"READED")
     pp      = PByName(f,"DATA")

     call OpenMailForm(mail_id, doc_id, readed, pp)

end

{===================================== Form_DrawCell ===========================}

proc Form_DrawCell ( grid, fname, fval, q )

     readed = TGetFld(q,"READ_FLAG")
     readed = val(readed)
     if (readed = 0) then
        grid.Canvas.Font.Style = "[fsBold]"
        grid.Canvas.Font.Color = "clBlack"
     endif
end

{================================ refresh_mail ===============================}

proc refresh_mail()

     f = TopForm()

     msgid = TGetFld(q,"MSGID")
     mail_id = TGetFld(q,"AU_MAIL")
     doc_id = TGetFld(q,"AU_DOC")
     pop3_id = TGetFld(q,"AU_MAIL_POP3")
     mbox_id = TGetFld(q,"AU_MAIL_POP3_MBOX")

     call ReloadOneMail(msgid,mail_id,doc_id,pop3_id,mbox_id)
     call RefreshActiveRow(f,mail_id,True)
end

{================================ getallmail ==================================}

proc getallmail()

     call ExecuteServerAsynch ( "get_mail", "", "LAST2DAYS", "", "" )
end

{============================ compose_mail ====================================}

proc compose_mail()

     call OpenNewMailForm("","",0)

end

{============================ answer_mail ====================================}

proc answer_mail()

     doc_id = TGetFld(q,"AU_DOC")
     answer_addr = TGetFld(q,"MAIL_FROM")
     call OpenNewMailForm(answer_addr,"",doc_id)

end

{============================ forward_mail ====================================}

proc forward_mail()

     doc_id = TGetFld(q,"AU_DOC")
     call OpenNewMailForm("",True,doc_id)

end

{================================= undelete ===========================}

proc undelete()

     mail_id = TGetFld(q,"AU_MAIL")
     call UpdateTable("AU_MAIL", mail_id, "MFOLDER", "Inbox", "")
     call Refresh(f)

end