Simplicty and flexibility!

New Official Sample - NoOffice CRM - Mass Mailing/MailMerge/Labels/Phoning/Addressbook (Ver.

Started by DataEase
You will need to Sign In to be able to comment on the Blog!

New Official Sample - NoOffice CRM - Mass Mailing/MailMerge/Labels/Phoning/Addressbook (Ver.

Download NoOffice

This is the first of the official Samples that will be shipped with DE8 Classic. The fun thing with our new samples, is that we will keep updating the samples as well as the product. This sample will be further enhanced as we progress, but it should be more than enough to catch up with already.

Traditionally the samples has been rather poor, but this too have changed. We want our samples to be useful and inspire. The old "main" sample Club ParaDEASE is well over 20 years old so we thought it was high time to retire it and we promise that you will never see it again!

In this NoOffice CRM sample we showcase almost all the new functionality like ExecDQL(), the entire MemoClass, FileClass, SetClass etc.

We do a lot of "magic" that DataEase have never been able to do before, but don't worry it is not as hard as it looks. The DQL that send the group emails only look like this:

Developer: High/High
User: User/User or Email/Email

define "retval" text .
define "varEmail" text .
define "msgstatus" text .
retval:= SetState("ResponseBox",1)+SetState("ResponseMessage",1) + SetLabelText("ResponseMessage","Sending emails.....") .
retval:= Wait(0.1) .
for Documents with DocumentGroupID = data-entry field1 ;
varEmail := any Customers named "CusRel" with CustomerNr = Documents CustomerNr Email .
if varEmail not=blank then
retval := send(concat("blat -to ",varEmail ," -html -subject ", chr(34) ,heading,chr(34) ," -bodyf ",chr(34),concat(getcurrent("AppPath"),"\mail\", customerNr ,".html"),chr(34) )) .
msgStatus := concat("Sent: ", current date, " - ", current time) .
msgStatus := "No email address on recipient! Message not sent!" .
modify records
status := msgStatus .
retval := wait(0.1) .
retval := SetLabelText("ResponseMessage",concat("Message sent to: ", any CusRel CustomerName)) .
retval := SetLabelText("ResponseMessage","All emails sent!") .
retval := wait(3) .
retval:= SetState("ResponseBox",0)+SetState("ResponseMessage",0) .
And a lot of it is just to give feedback to the form so you see the progress etc.

This sample is based around an Address Book.

From this address book you can search and select addresses, edit them, phone them, email them (individually) or you can select them and write letters or email them as a group.

When you have found the right one simple tag him, search again, tag the next etc. When you have selected your group, simply hit Email/Letter/Labels and your group document will be generated.

You can edit the document to get the look and feel you like.

When you are happy with the letter/email, you simply hit generate and one letter is generated pr. addressee.

You will then be re-directed to the DocumentView:

You have now generated one letter/email pr. addressee, but you haven't sent anything yet.

You can now further check/edit each document (which will now have been merged with the address info etc). When you are happy, you can simply hit Send All or Print All, and each email will be sent individually to each addressee (given that they have an email address) or one printed letter will be generated pr. addressee.

From the address book you can also send "advanced emails with attachments" etc

Call directly from to a customer via Skype and generate a phone log etc.

This is just an introduction to this sample. We will discuss the techniques used in more detail over the comming/weeks months as we progress with our "Get accustomed to DataEase 8 Development" program.


Written by DataEase 26/07/13 at 11:10:00 Dataease [{8}]FIVE