Can't find what you are looking for? Try these pages!

Blog

DataFlex Reports 2019 version 7 – How to improve your productivity

By Vincent Oorsprong

DataFlex Reports provides all the necessary tools to create a diverse range of pixel-perfect reports, lists, labels and charts. The latest, DataFlex Reports 2019 version 7, is now available - what does this latest release bring to you, the report developer?

The two main features delivered in version 7 are:

  • Edit in preview – better and faster report design
  • Locale per report – flexible formatting especially useful for web application servers

Smaller enhancements also delivered with this release include:

  • DistinctCount on most data-types
  • Option to center a field on a page
  • Ctrl+Shift+Cursor to move a field in larger increments

Edit in preview

With edit in preview, one can change objects/fields in the report design while looking at the report results. Prior to version 7, one had to go back to the design tab-page to move or resize them a little or to change the formatting, and then let the preview rebuild again to see how much more to move, size, etc.

When the report uses one or more pagelayers, the edit in preview is even more interesting as the preview combines the output of the dynamic report parts with the pagelayer in use. This makes line up, resize or other formatting much, much easier as the designer doesn’t show where the objects/fields are in relation to the pagelayer information.

The screenshot below shows the “Orders with Pagelayers.dr” example report (from the DataFlex 19.1 order entry example) in the previewer. The phone number object has been selected and formatting can be changed via the floating menu that has been popped-up:

 DataFlex Reports - Orders with Pagelayers.dr Example

Locale per report

The locale refers to the Windows regional settings and contains formatting options for numbers, dates, currencies, and text values such as ‘Maart’ or ‘März’ instead of ‘March’.

For some parts of a report, this could be changed by not using the Windows locale for currency and dates and creating a custom mask, but parts like month or day name could not be presented in a different language than the one coming from the current Windows locale.

Prior to version 7, the report used the locale defined by the user / account running the report - with v7, this can be changed per report and even dynamically. Prior to this big change one could see a different currency symbol or different month name than your neighbor. That is good and logical as it follows the Windows guidelines, but it is less good when, for instance, you have a Windows setup in English and want to see the German formatting.

All DataFlex Web Applications run under the same user account (usually System) and thus all use the same locale, while application users can login from anywhere in the world and may not understand why the report uses a different date formatting than expected by the current user (e.g. DD-MM-YYYY instead of MM/DD/YYYY). And what about “Woensdag” which is Dutch for “Wednesday”…

Now one can select a different locale per report under the report options, and it can be either a choice from the comboform with locales or the result of a function:

Report Options in DataFlex Reports

To use it via a function, it’s possible to create a report parameter for the locale number to be used. That parameter can be changed at report integration level:

Parameters in DataFlex Reports

 At report integration, the parameter can be set to one of the LANG_* constants defined in cDR.h.pkg:

Setting Language Parameter in DataFlex Reports

DistinctCount on most data types

In older versions of DataFlex Reports, one could use the Sum(drDistinctCount … on numeric columns, but not on other column types such as date, text, etc. Now this operation works on most column types. Excluded is the memo, text column type as it would require too much memory to make the compares.

Download

Download the latest and greatest version of DataFlex Reports today! Note that Version 7 requires a new registration code.