Visual CUT: Changes in Version 6.8

Web Dashboard & FTP/SFTP Features:

When exporting to HTML 40, a new options [...] button launches an Auto-Refreshing Web Dashboard Expert window allowing you to set various options such as
a) adding an auto-refresh behavior,
b) Setting hyperlinks to launch to new tabs,
c) Specifying tab titles and icons,
d) Removing GUIDs from referenced.png image files, and
e) SFTP Uploading HTML and Other files to the web server.
For detail, see Web Dashboard Expert in the user manual.
A web dashboard using that approach is available at:

FTP_Upload connection failure messages now include more detail.

FTP_Upload and SFTP_Upload can now handle file names containing commas.

FTP_Upload and SFTP_Upload now create missing target folder levels if the target directory doesn’t exist on the server.

Added FTP_Download command line argument.

Relaxed timeout limits for SFTP_Upload in order to handle slow or very busy servers.

Email Features:

Added an option (Email 2 tab in Options dialog) to check email addresses and trigger a detailed failure message when malformed addresses are detected.

Fixed a problem caused by thousands of eml files found in the Outgoing or Undeliverable folders and a scheduled process that completes very quickly. This might cause a "hanging" Visual CUT process.

Email alerts about processing failures now include the User_ID value if specified via a command line argument. This helps when the rpt is used for multiple databases.

Fixed blank and [VC_Blank] value handling for email-related command line arguments.

Added a user manual section on "smtpQ Service Failure Action Properties."

HTML Editor for email messages now supports UNC paths for inserted image files.

Added a Save_Attachments_To_Unique_File_Names option to Email Capture directives (ini sections). When capturing incoming emails and downloading attachments to a specified folder, this avoids overwriting prior attachments with the same name. Instead, 4 characters are added to the new attachments to avoid name conflicts. For detail, see "Email Get Directive Sections."

PDF Features:

Added a PDF_Insert_Pages_Tags command line argument allowing Crystal formulas acting as invisible tags to specify image files for insertion as pages following the location of the tag. This is useful in cases where related scans or other images need to be inserted in the middle of PDF exports. For detail, see: Importing Image Files as New Pages (Tag Approach).

PDF_Form argument can now use Crystal formula values to fill not only AcroForm fields but also Adobe LiveCycle forms fields.

PDF_Save_As can now save also to EMF+, HTML5, and G4 TIFF formats.

The ini entries used to control the layout of the Table of Contents generated using PDF_TOC can now refer to report field/formulas. This allows, for example, a different image to be used for the header depending on data in the report.

When embedding files inside PDF files using PDF_Link_Tags2, you can now ignore (skip) missing files by using a lower case "embed" argument in the tag formula.

Added an optional Owner_Password argument for PDF_Merge.  This is useful in cases where one or more of the source files is password protected. All the encryption settings (owner and user passwords, and protection settings) of the last protected file in the list of source files would be applied to the resulting merged document.  This allows Visual CUT to add new information to existing but protected pdf files.

Updated PDF_Linearize logic.

Added PDF_Print_Mode command line argument to set printing quality/speed.

Excel Features:

Special Excel Tab processing (Tab!, TabInOldFile!, TabInOldFile_Replace!, and TabInNewFile!) can now be used for any of the export files when specifying multiple export files (separated by semi-colon).

Fixed XLS_Pivot_Table compatibility issue with Excel 2013.

XLS_Pivot_Table now accepts an optional Range Name argument.

XLS_Pivot_Table now supports an Options argument. This optional argument currently supports Report_Layout=Compact, Report_Layout=Outline, or Report_Layout=Tabular. Tabular uses field names instead of generic ‘Row Labels’ and ‘Column Labels.

XLS_Pivot_Table can now target an existing worksheet and cell for the PivotTable insertion.

XLS_Run_Macro now avoids saving the source workbook after the process runs if the Target Workbook argument is left blank.

XLS_Range_Insert can now insert Crystal formula values into hidden Excel tabs.

Added XLS_Replace command line argument. The user manual explains how this can be used to export formula expressions and activate them in the exported workbook .

Other Features:

The [...] button to the right of the scheduling string now starts a dialog with options to control zero records action (skip or not skip processing), and to override saved parameter values in the initial command line . If the report has Date or DateTime parameters, the dialog defaults to including them. You can then edit the static values in Notepad, and replace them with Date Constants such as Yesterday, Start_Month_Minus_1, etc. (see Date Constants section in the user manual). See image of the new dialog at:

The Process tab in the Options dialog now has a button called 'Encrypt & Save Password'. It allows you to encrypt, store in the ini file, and refer to passwords by their name (for example, in command line arguments). A single update of an encrypted password cascades to all cases where it is referenced by name. For detail, see "Referring to Saved Encrypted Passwords."

Added the ability to change folder location for ACT! (*.pad) data source files . See "Changing Folder Location for Access/Excel/Pervasive/ACT! Files."

Added ixm7 to the fields/formulas area for dragging into processing options.

The Main_Files_Folder option (ini setting as well as the command line argument) now supports dynamic substitution for any combination of the following environment variables: %UserName%, %UserProfile%, and %Appdata%

TXT_Merge can now handle cases where the files are merged into the first file (first file is the target file). Also, there is no longer a need to specify the path to the target file if the path is the same as the first source file.

Added a warning when settings for current user are managed under a VirtualStore folder (due to lack of permissions on the shared AppData or ProgramData folder).

The dialog offering automatic conversion from mapped drive to UNC path now applies also to the email attachments option and to cases where Visual CUT is launched by double-clicking an rpt file in File Explorer.

Added Enable_Auto_Conversion_to_UNC ini option to allow automatic conversion of rpt file, export file, and email attachment file paths from mapped to UNC convention. When this option is set to True (default is False), mapped drive paths are automatically converted to UNC paths after a message box is displayed to the user.

Added a Display_Warning_Mapped_Drive ini option to disable the dialog offering a conversion to UNC path when loading a report from a mapped drive.

Word_Replace_Tags is now compatible with Word 2013.

Added Now_GMT_Plus_S and Now_GMT_Minus_S to the date constant functionality. This allows setting parameters to values relative to the current universal (GMT) datetime.

Command Line Arguments:

Added SQL_Extract_Files command line argument. Databases can store files (images, spreadsheets, pdf, audio, etc.) as binary column types. Certain workflow scenario require extracting these files to the file system for further processing (merging, emailing). Visual CUT can now automate such processes.

Added Use_Saved_Data_Recent command line argument. For example, "Use_Saved_Data_Recent:60" tells Visual CUT to use saved data if it is not older than 60 minutes. Otherwise, fresh data is retrieved.
A typical use scenario is to export a report over itself (refreshing the saved data inside the report) as well as exporting and/or emailing a requested format (Visual CUT can export to multiple semi-colon separated files). Future requests for the same output avoid repeated data retrievals if the saved data is fresh enough.
Note: if the source rpt/rpz file is included in the semi-colon separated list of export files, and the process uses saved data (due to this command line argument), then the export of the source rpt/rpt file over itself is skipped if it's not the first file in the list.

You can now use "ParmN:[?] " command line arguments to indicate that VC should prompt the user for certain parameter values. This is useful when VC is called from a command line and the user needs to interactively override saved parameter values. For detail, see "Request User Input for Certain Parameters."

Added TXT_Replace_Base64 command line argument. This allows automating the process of inserting Base64-Encoded Files Inside Text exports. For example, you can export invoice data to an XML file containing a reference to an image or pdf file. VC then replaces the reference to the file with the content of that file encoded as Base64 (allowing conversion from Binary to Text representation). The XML file with the embedded image file can then be transmitted to a business partner using SFTP_Upload. For detail, see: Inserting Base64-Encoded Files Inside Text/XML.


Visual CUT 11 now logs a failure and closes when a scheduled report loses connectivity to the database in midstream (after a successful connection and while retrieving records). Also, when the report encounters a Division by zero and other unhandled exceptions. This avoids hanging instances when such an event occurs. To disable this option, set Detect_Lost_Connectivity=False in DataLink_Viewer.ini

Fixed a Connect_To_SQLOLEDB command line argument scenario that might cause a process to hang.

Fixed a problem causing the Export Burst checkbox to lose its status after using the right-click report grid menu option of ‘Copy .rpt and Settings’.

Fixed a login issue for subreports when requesting a database server change.

After_Burst_Batch, After_Export_Batch, and After_Success_Batch now generate temporary work files (when the called batch file contains references to fields/formulas) in the temp folder instead of in the Visual CUT main files folder. This avoids failures due to lack of permissions.