Release Notes

9.11

9.11-0

ActivScriptNode and ActivScriptV8 installers revamped

Formerly, the installers for ActivScriptNode and ActivScriptV8 could sometimes fail unexpectedly on some machines This could usually be attributed to antivirus software or restrictions on running Visual Basic scripts. To improve this issue, the installers for ActivScriptNode and ActivScriptV8 have been fundamentally overhauled to avoid Visual Basic script. Users should not observe any change in behavior.

Budget seeding error

Formerly, an error could stop budget seeding when a company did not have a "Nonfinancial" category in Great Plains. Great Plains has a built-in category called "Nonfinancial Accounts", code 048, which is used for any Great Plains unit accounts in ActivReporter. Unit accounts do not have a category in Great Plains.

This issue has been corrected.

Export XML Schema enhancements

ActivReporter uses an XML schema to describe the fields available in a report datastream. The information in a schema is used when working with report designs. An export action for XML schema was already available in the Report Design window for each report ( > Tools > Export XML Schema File). Now it is also available from the report dialogs themselves (also at > Tools > Export XML Schema File).

In addition, an XML Schema tab has been added to the Developer Tool dialog on reports to show schema information without needing to export to a file. You can access the Developer Tool from a report by selecting > Answers > Developer Tool in the report menu.

This feature is particularly useful with view reports since the choice of columns affects the fields available in the datastream.

Import Clipboard action added to Developer Tool

A new "Import Clipboard" action has been added to the Import drop-down menu on the Developer Tool's Import (XML) tab. This feature makes it easier to test the functionality of an import without dealing with an XML file.

Performance of financial designs after introduction of COM add-in improved

In ActivReporter 9.7-0, financial designs were changed to show which Excel add-in type (XLA or COM) was used to create a particular version of a workbook. This change occurred during the internal testing phase of the new ActivReporter COM add-in before it was released in ActivReporter 9.10-0 to replace the XLA add-in.

Formerly, financial designs would launch a temporary background instance of Excel to determine the add-in type. The time it took for the Excel process to start and initialize represented a noticeable delay compared to the time to save a financial design in earlier versions of ActivReporter.

In order to relieve this performance issue, the Excel add-in type is now determined earlier during the initial launch of the visible Excel application. Because the Save action no longer has to wait on Excel to be launched and initialized, performance is improved and should return to performance levels experienced in earlier versions of ActivReporter.

Note

Loading an Excel workbook from a file (via > Tools > Load Workbook from File) still launches a background Excel application to determine the add-in type.

Since ActivReporter automatically converts workbooks which previously used the XLA add-in to use the new COM add-in, users probably do not need to know which add-in was being used in historical workbook versions; however, because the information in the Add-in column on the Versions tab of financial designs could be extremely helpful in some rare circumstances, it is being retained.

Persistence of values in Lookup filter

In the past, when using the New View Options feature, values entered in the Lookup filter above a folder's HD view were not as persistent as would be expected. For instance, the values could be lost when moving columns in the HD view or when leaving a folder and subsequently returning to the same folder.

The behavior has been corrected so that the Lookup filter is only reset when closing and reopening ActivReporter.

Security requirements for OAuth methods

Formerly, users needed Data access to the Custom Data resource and New access to the Custom Data - OA Client Accesses and Custom Data - OA Resource Accesses resources to perform certain OAuth methods. Now the required accesses are fewer.

The following accesses are required:

OAS methods:

  • Activity.OAuth.ClientAccessInit(ClientID, out AccessCode)
    • Create or update an OAuth Client Access record and return an access code.
    • Requires a connection and Data access to the Custom Data - OA Clients resource.
  • Activity.OAuth.ResourceAccessInit(Resource, out StateToken)
    • Create or update an OAuth Resource Access record and return a temporary state token.
    • Requires a connection and Data access to the Custom Data - OA Resources resource.

ActivWebAPI routes:

  • /api/oauth/authorize?client_id
    • Create or update an OAuth Client Access record and return an access code.
    • Requires login and Data access to the Custom Data - OA Clients resource.
  • /api/oauth/resource?resource
    • Create or update an OAuth Resource Access record and return a temporary state token.
    • Requires login and Data access to the Custom Data - OA Resources resource.

Note

You can grant Data access through a permission or by assigning a security view. Security views can control which users have access to specific OA clients and OA resources.

VSCode debugger issue resolved

Previously, there was a problem with ActivVSCodeDebugger (the debugger used when VSCode is selected as the script editor for a bot). Under certain conditions, if a running bot was stopped using the Stop button, an error could result from trying to rerun the bot from the beginning.

The problem has been corrected.

9.10

9.10-1

Change Logs View Report for legacy folder renamed

Previously, two view reports named "Change Logs View Report" existed, making it difficult to run them correctly, particularly through automation calls. Now the view report associated with the Change Logs (Legacy) folder has been renamed to "Change Logs (Legacy) View Report".

Note

View reports are only visible when Developer Tools are enabled and the > View > Developer Tool Options > Show View Reports action is selected.

Excel XLAM add-in renamed

The Activity.XLAM add-in was formerly titled "ActivReporter Excel Add-in" and its description indicated that its purpose was for creating financial designs. With the introduction of the new COM add-in, the XLAM add-in's role is diminished. As a result, its name and description on the Add-ins tab of Excel Options have been changed to reflect this. The XLAM add-in is now titled "ActivReporter Excel backward compatibility Add-in" and its description has been updated to describe its role in backward compatibility for import macros and other automation tasks rather than for use with financials.

New version of ActivScriptNode (1.0.0.19)

The version of ActivScriptNode has been updated to 1.0.0.19. Previously, a bot that used ActivScriptNode could seem to be hung if the script code accessed a property or method of a null COM object. What was really happening was that the background node.exe process crashed, leaving the ActivScriptNode scripting engine in a confused state.

Now when a property or method of a null COM object is accessed, an error results and the scripting engine is not confused.

New version of ActivScriptNode (1.0.0.20)

The version of ActivScriptNode has been updated to 1.0.0.20. Previously, a bot that used ActivScriptNode could misbehave when using fetch. Sometimes the bot would fail silently and halt all script execution. The line "await fetch(...)" would simply halt execution without returning errors or messages.

The problem has been corrected and fetch from ActivScriptNode no longer misbehaves.

New version of Visual C++ redistributable runtimes (14.44)

The ActivReporter distribution now uses version 14.44 of the Visual C++ redistributable runtimes.

Original version of Financial Tree Reporting bot no longer "built-in"

The first version of the Financial Tree Reporting bot and its supporting module, BotDevelopmentTools_js9, were originally built-in. Although these have not been built in or even installed since ActivReporter 8.25-2, AccountingWare failed to mark those which had already been installed as not built in meaning that they could not be deleted.

This oversight has been corrected. Now the older Financial Tree Reporting bot (probably named "RN2:Financial Tree Reporting" when it was renamed to make room for the newer version of the bot) and its supporting module are no longer flagged as built in and can be deleted if no longer wanted.

9.10-0

Excel COM add-in replaces XLAM add-in

In the past, an XLAM-type Excel add-in was provided with ActivReporter. The add-in provided the financial design functions used with in-cell formulas as well as classes and modules used by VBA code attached to Excel workbooks to perform actions such as data imports.

With this release of ActivReporter, the XLAM add-in has been replaced by a COM add-in named "ActivityHDExcel.dll". The COM add-in is automatically registered for all users on the machine where ActivReporter is installed. The new add-in provides all the functionality formerly provided by the XLAM add-in.

While the XLAM add-in was a per user feature, the new COM Excel add-in is a per machine feature with the added bonus that it causes fewer issues at installation time.

The XLAM add-in still exists for the purpose of backward compatibility. This means existing XLS workbooks with attached VBA files that have not yet been converted to use the COM add-in are still usable. XLS workbooks with embedded VBA code which uses the XLAM add-in can be converted to use the COM add-in if desired. While optional, conversion of these workbooks is recommended for advanced and technical users.

To convert these files to use the COM add-in:

  1. Open the XLS workbook that contains embedded VBA code.
  2. Use the Visual Basic tool in Excel's Developer tab to remove references to ActivityXLA. (The Developer tab is not visible by default. To learn how to show the Developer tab, search for "show Developer tab" in the Excel online help.)
  3. If needed, add a reference to the ActivReporter Excel addin 1.0 Type Library.
  4. Recompile. Errors are to be expected.
  5. Make other changes as suggested in the inset below.
  6. Recompile until your results are error-free.

Replace lines like:

Dim ActivityImport As ActivityXLA.ActivityImport

Set ActivityImport = ActivityXLA.NewActivityImport(1)

With lines like:

Dim ActivityImport As ActivityHDExcelAddinLib.ActivityImport

Set ActivityImport = Application.COMAddIns("ActivityHD.Excel").Object.NewActivityImport(1)

It may also be necessary to replace constants such as "ItNew" with "ActivityHDExcelAddinLib.itNew".

Select All available on dual checklist controls

The Select All (Ctrl+A) feature is now available for dual checklist controls. This type of control is found in Data Link Group Data dialogs which can be accessed by clicking Data from a Data Links tab in certain entity records. In addition, dual checklist controls are found on the Accesses tabs of Permission and Resource windows.

The Select All feature is useful in changing a setting on multiple selections at one time.

9.9

9.9-1

New and updated npm node packages

A new preinstalled npm node package has been introduced and all existing npm node packages are at their latest version. The new package is exceljs 4.4.0. The complete set of npm node packages and their current version numbers are as follows:

  • ahd_date_time_package 1.0.0
  • ahd_log_package 1.0.0
  • ahd_logger 1.0.0
  • archiver 7.0.1
  • aws-sdk 2.1692.0
  • child_process 1.0.2
  • date-and-time 3.6.0
  • docxtemplater 3.61.2
  • exceljs 4.4.0
  • fs 0.0.1-security
  • mssql 11.0.1
  • os 0.1.2
  • path 0.12.7
  • pizzip 3.1.8
  • xml-js 1.6.11

New version of ActivScriptNode (1.0.0.16)

The version of ActivScriptNode has been updated to 1.0.0.16. This version fixes a problem wherein ActivScriptNode could get stuck in an infinite loop after the background node.exe process crashed.

For example, the following partial script exhibited the issue when the option value was null:

MacroProcess.AddMessage('testing: ${OptionsDialog.Options["Testing"].Value}');

This new version of ActivScriptNode corrects this issue.

New version of ActivScriptNode (1.0.0.17)

The version of ActivScriptNode has been updated to 1.0.0.17. This version fixes a few theoretical situations (beyond what was fixed in version 1.0.0.16) wherein ActivScriptNode could get stuck in an infinite loop after the background node.exe process crashed.

While there are no known instances where these theoretical issues could occur, this change addresses places in the code similar to that which was identified and mitigated in 1.0.0.16.

This new version of ActivScriptNode corrects these potential issues.

New version of ActivScriptNode (1.0.0.18)

The version of ActivScriptNode has been updated to 1.0.0.18. Previously, sporadic and erroneous errors could occur at the end of a bot run when using ActivScriptNode if there were multiple bot runs in the same ActivReporter Explorer session. The errors often reported were similar to "Name must be unique". The problem was a direct result of old data from prior bot runs not being removed and cleaned up properly resulting in errors when new data was introduced in a subsequent bot run.

This new version of ActivScriptNode addresses this issue.

Problems with ahd_log_package node package

A couple of issues have been identified in the preinstalled ahd_log_package node package. First, Log_header was not correctly adding the separator "=========================". Second, in a very specific situation with custom field creation in the bot usage Custom Data folder, there was a problem saving the log.

These issues have been corrected.

9.9-0

Add-in column in financial design Versions table available for all users

An Add-in column was introduced to the Versions table of financial designs in ActivReporter 9.7-0 but was only shown to users with Developer Tools enabled. The column shows the Excel add-in used to create the particular version of a financial design workbook:

  • XLA. The original Excel add-in that contains links to formulas in Activity.xla.
  • COM. The soon-to-be introduced ActivityHDExcel COM add-in in which Activity.xlam links have been removed.

Now the Add-in column is always shown.

Change log numbering

In the past, gaps could appear in numbering as change logs were created. Now the mechanism used to calculate the next number for change logs has been fixed so that change logs are properly numbered without any gaps.

Default width of date/time columns in HD views improved

In the past, the width of date/time columns in HD views was sometimes too small. The default width of these columns has been improved.

Size column available in Change Logs HD view

A new Size column is available in the Change Logs HD view. The new column shows the size of the change log XML in KB. The new column is not shown by default.

9.8

9.8-1

Behavior of drillback to Great Plains when region in Windows is set to "English (Canada)"

Formerly, the Drillback action to Great Plains did not work correctly when the Windows "Region" setting was "English (Canada)". Now the URL for the posted journal entry drillback is correctly formatted in this situation so that the drillback works properly.

Journal entry update performance

A change to ActivReporter 9.6-0 produced performance issues when updating journal entries. Performance has been improved.

New version of ActivScriptNode

The version of ActivScriptNode has been updated to 1.0.0.15. This version fixes situations where ActivScriptNode got stuck in an infinite loop. An infinite loop could occur when certain APIs were called, returning an unexpected error.

For example, the following simple script would produce the problem:

var objExcel = MacroProcess.CreateObject("Excel.Application");

var objActivityCOM_Addin = objExcel.COMAddIns('InvalidAddinName');

The new version of ActivScriptNode addresses this issue.

Updating of reference list fields

In the past, reference list fields in dialogs did not update correctly unless the user tabbed off the field, causing changes not to take effect or not to be saved correctly in a saved answer. This behavior has been corrected.

9.8-0

Budget seeding issue

Formerly, a budget seeding problem could arise when the account used in Great Plains had blanks in the last two segments of an account code. There was a related problem with the journal entry Update action where it would not create new budget accounts with blank segments. Since the budget account did not get created in ActivReporter, the Update action skipped the budget detail lines that did not have corresponding accounts.

This problem has been corrected.

Click behavior in Navigation pane improved

The following changes have been made to improve the behavior of clicks on a folder in the Navigation pane:

  • A single click on the User Locations folder no longer auto-expands the folder.
  • A single click on a folder with subfolders (e.g., a Setup folder) auto-expands to show its subfolders.
  • Repeated clicks on a folder with subfolders expand/collapse the folder.

GL Detail Source data extension added for three reports

The GL Detail Source data extension is now available on the following reports:

  • General Ledger Detail Report
  • GL Summary
  • Journal Entries Listing

Visual Studio Code extension issue

A few issues with the Visual Studio Code (VSCode) script editor and debugger for bots, especially ActivScriptNode bots, have been addressed. The problems were in the Visual Studio Code extension and caused variables not to display properly in the object explorer. These issues have been corrected.

XML error message improvements

Further improvements have been made to XML error messages to make problems easier to diagnose and solve.

9.7

9.7-2

New and updated npm node packages

A new preinstalled npm node package has been introduced and several existing npm node packages have been updated. The new package is xml-js 1.6.11. The complete set of npm node packages and their current version numbers are as follows:

  • ahd_date_time_package 1.0.0
  • ahd_log_package 1.0.0
  • ahd_logger 1.0.0
  • archiver 7.0.1
  • aws-sdk 2.1692.0
  • child_process 1.0.2
  • date-and-time 3.6.0
  • docxtemplater 3.61.0
  • fs 0.0.1-security
  • mssql 11.0.1
  • os 0.1.2
  • path 0.12.7
  • pizzip 3.1.8
  • xml-js 1.6.11
9.7-1

Formatting of General Ledger Detail Report improved

After the latest changes to the General Ledger Detail Report in ActivReporter version 9.6-0, some users noted that the subsidiary detail lines on the report were difficult to distinguish from the GL detail lines. Now the subsidiary detail lines are indented further from the left as a visual cue that these lines are different from the GL detail lines.

Visual Studio Code script editor and debugger improved

A variety of issues with the Visual Studio Code script editor and debugger for bots, especially ActivScriptNode bots, have been addressed. Among the problems corrected is one with ActivScriptNode where not all variables appeared in the object inspector. In particular, this behavior occurred for variables not explicitly declared such as those for the parameters of a "forEach".

9.7-0

Bot name length increased

The length of the Name field on bots has been increased from 30 characters to 50 characters. The space allotted for the Name field in the Bot window has been expanded accordingly.

Change Log (XML) feature introduced to the Developer Tool

A Change Log (XML) tab is now available as part of the Developer Tool for all edit windows. To access this tab you must have the Developer Tool enabled (see version 8.12) and you must mark the new Enable Change Logs (XML) checkbox in System Options (Activity System > [right-click] > Options).

This option is currently a user setting; in the future, it will be an Admin setting at the system and company levels. As the tab's name suggests, the Change Log (XML) tab accumulates changes made to an edit record. Changes are presented in chronological order. This release represents an initial stage of providing change logs for all records in ActivReporter.

One issue that this change addresses is the handling of invalid characters that have been accidentally (or perhaps, intentionally) entered into fields on a record and saved. Now when this situation occurs, information is available in the XML change log. In addition, a banner now appears in the edit window indicating an error. The user must resolve this type of error before the record can be saved. Also beneficial, the error messages which are returned for this situation have been improved.

Default columns added to Journal Entries HD view

Four columns have been added to the columns that show by default in the Journal Entries HD view:

  • Total Debits
  • Total Credits
  • Earliest Post Date
  • Latest Post Date

Developer tabs keep focus when new records are created

In the past, if a user created a new record while focus was in the Developer tab, the focus in the new record moved to the main tab. This behavior facilitates entering or viewing all fields for the new record. However, because it's likely that the user in this case wants to continue working on automation, the focus now does not automatically move to the main tab but stays in the Developer tab.

Duplicate accelerator keys in Rollup Items window

Formerly, two items in the Rollup Item window had the same accelerator key: Alt+O was assigned both to the Code field and to the Sort Order field. The accelerator key for the Code field is now Alt+C.

Error messages for XML documents improved

The error messages which can occur when attempting to produce or use XML documents have been improved. Now error messages attempt to help the user understand the cause of the error such as invalid characters or incorrect XML formatting.

General Ledger Detail Report issue restoring saved answers

Previously, when a user restored a saved answer for the General Ledger Detail Report, the Include Group Totals setting on the Grouping tab was not restored properly. The option was always restored as marked (true) if there were assigned sort options. Now the setting is properly restored to the value specified in the saved answer.

Segment Items Listing reports runnable without report dialog

Segment Items Listing reports can now be shown without the report dialog.

Trial Balance Report issue restoring saved answers

Previously, when a user restored a saved answer for the Trial Balance Report, the Show Group Totals Only setting on the Grouping tab was not restored properly. The option was always restored as cleared (false) if there were assigned sort options. Now the setting is properly restored to the value specified in the saved answer.

9.6

9.6-2

Company configuration error

An issue was introduced in ActivReporter 9.5-0 which produced an error during company configuration while attempting to load the available source databases for any databases not accessible because they were offline. The issue has been corrected.

Database conversion error

Recently, a database error could occur when attempting to convert a database to ActivReporter database version 905.02 when both General Ledger and ActivReporter are installed . The problem has been corrected.

9.6-1

Amazon Web Services Software Development Kit package added

The Amazon Web Services Software Development Kit (aws-sdk) has been added as a preinstalled NodeJS package. This package can be used in bots that use the ActivScriptNode scripting engine.

For more information on aws-sdk, see "AWS SDK for JavaScript".

9.6-0

Access violation opening bot script editor

Previously, an access violation would occur when a user attempted to launch the script editor from a record list bot. This issue has been resolved.

ActivSync continues even when errors attempting to create an account that already exists in ActivReporter are encountered

Under certain conditions, ActivSync attempts to create an account in ActivReporter when updating a journal entry. Often, ActivSync attempts to create a new account when the journal entry is being edited. If the update queue is lengthy, ActivSync may detect a new account in the Great Plains company while the message to create a new account is still in the queue. As a result, in the past, the ActivSync process could get stuck trying to create an account that was already in the ActivReporter company. This issue has been resolved and ActivSync now continues to work even when it encounters an error trying to create an account that already exists in ActivReporter.

Built-in rollups no longer rules-based

Until now, ActivReporter used account rules to define built-in rollups. Now the assignment of rollups on accounts is set directly on the account. The direct assignment method performs better when a company contains a large number of accounts.

Error attempting to open VBSEdit when it was not installed

Previously, an access violation could occur when a user attempted to launch the VBSEdit bot script editor when it was not installed.

The problem has been corrected. The software now reports a helpful error message in this circumstance and recovers from the error more elegantly.

"ErrorsOrWarnings" function not converted properly during Publish Financials

The Publish Financials process uses the ActivReporter Excel add-in's "Save As with Values" method to replace financial functions with their calculated values so that a published financial workbook can be viewed by others who cannot connect to ActivReporter and who may not even have the Excel add-in installed.

Previously, the "ErrorsOrWarnings" function of the ActivReporter add-in did not convert to its calculated value. In fact, sometimes the cell value showed as "#NAME?" which was confusing.

Now the "ErrorsOrWarnings" function is replaced with its calculated value during the Publish Financials process when the "Save As with Values" method is used. If there are any calculation errors or warnings, the following message is presented:

Review needed: Calculation Log contains errors or warnings

For now, users must still connect to ActivReporter to view messages in the Calculation Log.

Financial Views Listing formatting

Previously, several of the lines separating rows on the Financial Views Listing report design were poorly aligned. The alignment has been improved.

Improved handling when a report design changes

When a report design is modified that is currently in use by a report, the following message is shown:

The Report Design has been changed.

In the past, although the message was shown, it was not always clear which report the message referred to. Now the affected report dialog is brought forward when the message is shown. This additionally improves the process when a user is making modifications to a report design and is immediately testing the design.

Improvements to layout of General Ledger Detail Report

A new report design called "GL Detail Landscape (built-in)" is available for the General Ledger Detail Report. The new design is laid out in landscape orientation for improved readability and includes expanded display of subsidiary detail. This new report design is now the default design.

The previous General Ledger Detail Report design is still available under the name "GL Detail Portrait (built-in)".

New automation methods that return a result object

ClosingUpdate2, GetSyncStatus2, and JournalEntryUpdate2 automation methods have been introduced for the IActivRptPackage interface. The new methods provide all return values in a "result" object that can be accessed by the following JavaScript macro scripting engines: JScript, JScript9, JScript (Chakra), V8Script.

In the past, VBScript was the only scripting engine which could access the values returned in OUTPUT parameters by the IActivRptPackage.ClosingUpdate, IActivRptPackage.GetSyncStatus, and IActivRptPackage.JournalEntryUpdate methods since JavaScript engines cannot access values returned in OUTPUT parameters.

The existing ClosingUpdate, GetSyncStatus, and JournalEntryUpdate methods are now deprecated, but are retained for backward compatibility. New macros should use the new ClosingUpdate2, GetSyncStatus2, and JournalEntryUpdate2 methods which work for both VBScript and the listed JavaScript scripting engines. When you explore the IActivRptPackage interface, this is what you'll see:

ClosingUpdate method

ClosingUpdate2 method

GetSyncStatus method

GetSyncStatus2 method

JournalEntryUpdate method

JournalEntryUpdate2 method

The next three interfaces in the object browser are IActivRptPackage_ClosingUpdateResult, IActivRptPackage_GetSyncStatusResult, and IActivRptPackage_JournalEntryUpdateResult. Their properties look like this:

IActivRptPackage_ClosingUpdateResult properties

IActivRptPackage_GetSyncStatusResult properties

IActivRptPackage_JournalEntryUpdateResult properties

Reporting errors improved

If a report design is out-of-date, an error message now occurs when attempting to generate the report that indicates the report design which needs to be updated. In addition, if a blank preview window is opened due to an error, the preview window is now closed automatically when the error message is dismissed.

Sync Redundancy option removed

In ActivReporter version 8.6, the Sync Redundancy option was added to ActivSync. In version 8.49, Sync Redundancy was selected by default. Now Sync Redundancy is no longer optional and the Enable Sync Redundancy checkbox has been removed.

Two preinstalled npm packages removed

Two packages from the preinstalled npm package library for use with ActivScriptNode, ahd_customfields_package and ahd_datasources_package, have been removed. These packages were added in ActivReporter 9.3-1 but both proved to be of limited or no use and could cause problems.

Visual Studio Code available for editing/debugging bots

If installed, Visual Studio Code can now be used as a bot editor and debugger as an alternative to VBSEdit. To use Visual Studio Code to edit/debug a bot, click the down arrow on the Script Editor button and select Choose the Script Editor > VSCode. You can use the drop down to switch between VBSEdit and Visual Studio Code. The last editor chosen is remembered so that it opens the next time you edit/debug a bot unless you change your selection.

Note

Visual Studio Code is not part of ActivReporter, so it must be installed separately. You can download it here.

9.5

9.5-1

Error creating new calendar

An issue was introduced in ActivReporter 9.3-3 that caused the following error when a user attempted to create a new calendar:

Cannot insert the value NULL into column 'PostControl'.

The error only occurred when General Ledger was not installed.

The issue has been corrected.

Errors accessing reports through automation

An issue was introduced in ActivReporter 9.3-3 that caused errors when a user attempted to access reports through automation; in particular, the problem manifested itself when using the Financial Tree Reporting bot.

The issue has been corrected.

9.5-0

Seeding error caused by dash in database name

Previously, an error could occur during seeding if a Great Plains database name included a dash (-) character. The associated SQL script has been updated to handle the dash character so that seeding now occurs correctly in that instance.

9.4

9.4-0

ActivWebAPI timeout parameters

ActWebAPI now provides an option to set both the accessTimeout and refreshTimeout parameters when logging in. The value set for maxAccessTimeout is the maximum value for accessTimeout in the ActivWebAPI configuration file. The maximum value of maxAccessTimeout is 1440 minutes. Moreover, the value of accessTimeout must always be less than the specified value of refreshTimeout.

For more information, refer to the swagger documentation for your ActivWebAPI site.

Answers text improved for General Ledger Detail Report

Previously, the Show Answers text which indicates the Include Subsidiary Detail option setting listed each of the possible values individually, unnecessarily complicating the presentation. Now the option caption appears once along with the appropriate value:

  • True
  • False
  • <list of individually selected sources>

Answers text improved for Publish Financial Report

The Show Answers feature for Publish Financial Report now has well-formatted answer captions and values.

Database constraint errors improved even more

In ActivReporter version 8.47-0, error messages were improved for database UNIQUE KEY errors. The actual database constraint error was moved to a detail section which is hidden by default.

Now the user-friendly messages have been improved so that duplicate key values are now shown.

Improved record locking

The following record types have defined metadata within the ActivReporter System or company. Locks are held on these types of records to prevent changes which could potentially introduce conflicts (e.g., when modifying attribute usage settings while actively editing an invoice).

  • Custom data folders
  • GL attributes
  • GL segments
  • GL rollups

Until this release, locks were held even when a user had merely navigated to a folder with an HD view that was affected by these records (e.g., the Invoices HD view). This is no longer the case. Instead of holding locks when a user visits such an HD view, the HD view is automatically refreshed if metadata changes are made which affect it. Still, these types of changes should be made judiciously to avoid interfering with the work of others; for example, performing actions that could cause a user to lose selected rows in an HD view. Note that locks are still held when users open records or run reports and processes.

This change was made to make it easier for users to make necessary changes, such as modifying attribute usage settings, without having to ask other users to disconnect from ActivReporter. Users can now simply be asked to close any open records, reports, or processes.

Note

Financial views are an exception to this change. Locks are still held on financial view records when a user visits a financial view folder.

Memory corruption related to Excel add-in

In the past, memory corruption issues could be introduced when creating a new financial design Excel workbook. This issue has only been observed internally; however, it is possible for the problem to occur at customer sites with or without evincing any actual problems.

The potential issue has been resolved by changing the mechanism ActivReporter uses to access the Excel application object when creating a new Excel workbook file.

New column filter available on Attachments columns

HD views for entities which allow attachments now include an "Attachment Name" column filter on the Attachments column.

New segment and rollup columns for financial views

Two new columns are now available to be shown in a financial view HD view for all segments and rollups in the financial view:

  • <Name> by Short Description - Displays the short description of the segment or rollup.
  • <Name> Sort Order - Displays the sort order.

New View Options feature automatically adds new default columns

The New View Options feature allows multiple "Personal" or "Shared" view option settings per folder. Now any new default columns are automatically added to views when using New View Options. This was already the default behavior when NOT using New View Options.

This new feature takes effect for view options the first time they are saved with this new feature. This behavior is due to the technical need to explicitly save the default columns which are intentionally hidden.

In addition, this change removes the New columns automatically visible checkbox which could be problematic when large numbers of optional columns were added to various folders.

Report sort options expanded for certain reports

New segment and rollup sort options have been added to the following reports. These options sort by sort order and display either "Code-Description by Sort Order" or "Description-Code by Sort Order".

  • General Ledger Detail Report
  • GL Summary
  • Trial Balance Report

In addition, the display formats have been improved:

  • Code-Description formats display as <Code> - <Description>
  • Description-Code formats display as <Description> (<Code>)

Sort options expanded for certain HD views

Segment and rollup columns are available in several General Ledger HD views such as Chart of Accounts and Journal Detail. These HD views now include an additional column per segment/rollup to allow sorting by sort order.

The following column is now available to be shown for all segments and rollups:

  • <Name> Sort Order - Displays the sort order.

Sort Order column available in segment item and rollup item HD views for non-numeric codes

The Sort Order column in segment item and rollup item HD views now shows by default when the data type is not "Numeric".

In addition, the Sort Order column is now available in the Segment Item and Rollup Item windows when the Show List feature is used and the data type is not "Numeric".

Sorting tab added to Financial View Reports

Financial View Report wizards now include a Sorting tab which allows users to select sorting options, page break level, and subtotal level.

Financial views set up with the "Report on Accounts" option selected in the Segments field, provide sorting options for all segment-level and account-level rollups. Otherwise, sorting options are provided for segments, rollups, and attributes which are assigned to the financial view.

This new feature is particularly useful for sorting the report by a segment or rollup's sort order.

9.3

9.3-4

VBSEdit update

The recommended version of VBSEdit has been updated to v25.1.30.7. The installers for both the 32-bit and 64-bit versions are available in the distribution folder Extras\VBSEdit.

This version of VBSEdit fixes problems with the execution order of bot modules, with blank bots, and with variables.

VBSEdit is an optional and separately installed editor and debugger which can be used for bot creation and maintenance in ActivReporter.

Note

AccountingWare strongly recommends uninstalling any existing version of VBSEdit, both 32-bit and 64-bit, before installing the new version.

9.3-3

Better performance when loading source databases

In the past, the process of loading Great Plains source databases for ActivReporter during company configuration could be time-consuming. Improvements have been made to make loading time dramatically better.

Company Configuration improved to handle simultaneous installation of ActivReporter and General Ledger

Company Configuration no longer reports warnings when installing both ActivReporter and General Ledger. In addition, control of reseeding has been improved to avoid reseeding when General Ledger is installed.

Easier editing of the built-in calendar

In the past, it was difficult to edit the built-in calendar even after calling the EnableSyncAccess automation method. This problem has been corrected.

Improved ActivReporter to ActivityHD transition

ActivReporter can now be installed alongside a full installation of ActivityHD General Ledger. Such installation requires a license for both packages and permits a smoother transition from Dynamics GP to ActivityHD. As long as ActivReporter is installed, some items such as the chart of accounts segment structure are still locked down to prevent changes which would hamper the ability to continue updating journal entries from Dynamics GP. With ActivityHD General Ledger installed, however, many things are possible which are not possible in ActivReporter alone, such as creating manual journal entries and installing and posting from other ActivityHD packages like Accounts Payable, Accounts Receivable, etc.

The previous support tool scripts used to make the transition between Dynamics GP and ActivReporter (ARPTPackageConvertToGL - Part 1.sql and ARPTPackageConvertToGL - Part 2.sql) have been replaced with a single script, RemoveActivReporter.sql.

Update process on journal entries improved

The Update process on journal entries no longer depends on the Sync Redundancy configuration setting; it is available regardless of the setting. Furthermore, the Update process can be run even if ActivSync is not enabled.

Also, in the past, Update created missing accounts as needed. Now it also creates missing segment items as needed.

9.3-1

New npm package for ActivScriptNode

Three new packages, ahd_date_time_package, ahd_customfields_package, and ahd_datasources_package, are now included in the set of preinstalled npm packages for ActivScriptNode.

New version of ActivScriptNode

The version of ActivScriptNode has been updated to 1.0.0.14. This new version represents performance improvements, most notably for large or long-running bots or for bots which access a large number of COM interface methods or properties. The improvements are related to garbage collection of temporary data.

Performance improvements when changing rollup assignment rules on active rollups

When assignment rules are changed on active rollups, the changes are immediately applied to rollup items stored in the Accounts table (or Journal Detail table for rollups of attributes). Applying rollup assignment rules can be an intricate process and can affect many rows. Rollups of attributes are even more involved since rollup item values are stored on journal detail.

In this release, changes have been made which can potentially result in significant performance improvements when updating rollup assignment rules in certain situations.

With the change, one customer with more than 580,000 journal detail rows saw an improvement from 5 to 6 minutes waiting for a change to assignment rules for a rollup with attributes to about 16 seconds to perform the same operation. Your results may not be quite so dramatic.

VBSEdit update

The recommended version of VBSEdit has been updated to v24.11.25.5. The installers for both the 32-bit and 64-bit versions are available in the distribution folder Extras\VBSEdit.

VBSEdit is an optional and separately installed editor and debugger which can be used for bot creation and maintenance in ActivReporter.

Note

AccountingWare strongly recommends uninstalling any existing version of VBSEdit, both 32-bit and 64-bit, before installing the new version.

9.3-0

Bot editor now shows bot name in title bar

In the past, when you launched the script editor from the Bot window, the name in the title bar of the Activity Bot Editor was always "Bot Script". Now the document title is the name of the bot.

Health Check checks for undelivered messages

ActivSync's Health Check now checks the transmission queue for undelivered messages. This can reveal when there is a permission issue with the ActivSync database.

To run Health Check:

  1. Start ActivityHD Manager.
  2. Select the Databases tab.
  3. Right-click and select Connect from the shortcut menu. The Connect to SQL Server dialog opens.
  4. Select the SQL server that contains the ActivReporter databases, provide authentication details if needed, then click Connect. The Databases list box loads the names of the available databases.
  5. In the list box, right-click "ActivSync" and select Health Check from the shortcut menu.

    If any errors are discovered, they are written to a file and the file path and name are shown in a dialog box.

Improved SQL Server error messages

When a database action violates a database constraint on an attachment table, SQL Server returns an error that includes the internal name of the constraint; however, this information does little to convey what the user did to cause the error. These error messages are difficult to interpret without knowledge of the internal names in SQL Server.

Now the error messages are improved by removing the internal constraint name. The messages can be made even more understandable by adding custom database constraint messages in each data module.

Improved XPath directives for import processes

An XPath directive is used in an import process to locate the portions of an XML document which should be considered for the import operation. The default value for the XPath directive is /XML/data. Until this release, import processes did not handle XPath directives which allow for more specific limits. Now additional XPath directives are supported.

XPath: /XML/data[2]

Description: Consider only the second XML element in the /XML/data path.

XPath: /XML/data[@Code="A"]

Consider only the XML elements in the /XML/data path which have a Code attribute with the value "A".

These changes pose a few backward compatibility issues since the new feature follows XML standards. These issues are:

  • Prior to this change, XPath was assumed to begin at the root but did not require a beginning forward slash (/). Now if an XPath does not include the initial slash, the root is ignored.
  • Prior to this change, the XPath was compared without regard to case sensitivity. Now, as stated in the note above, comparisons are case-sensitive.

New npm packages for ActivScriptNode

Archiver 7.0.1, Mssql 11.0.1, ahd_log_package, and ahd_logger are now included in the set of preinstalled npm packages for ActivScriptNode.

Uninstall script and Readme.txt file added for VBSEdit

A script for uninstalling VBSEdit (uninstall_vbsedit.vbs) has been added to the \Distribution\Extras\VBSEdit folder along with a Readme.txt file which explains how to install VBSEdit.

VBSEdit update

The recommended version of VBSEdit has been updated to v24.11.13.5. The installers for both the 32-bit and 64-bit versions are available in the distribution folder Extras\VBSEdit.

VBSEdit is an optional and separately installed editor and debugger which can be used for bot creation and maintenance in ActivReporter.

Version 24.11.13.5 fixes a few problems with debugging of ActivScriptNode bots.

In addition, the new version includes an option to use Visual Studio Code for editing bots instead of VBSEdit from ActivReporter (for advanced and technical users only). To install and use Visual Studio Code:

  1. Install the activescript-debug-1.0.15.vsix extension. To do so:
    1. Run Visual Studio Code.
    2. From the View menu, select Command Palette.
    3. In the search box, type "VSIX" and press ENTER. The Install from VSIX dialog opens.
    4. In the dialog, navigate to your Distribution\Extras\VBSEdit folder.
    5. Double-click the activescript-debug-1.0.15.vsix file. It should finish installing almost instantaneously.

    Tip

    You can alternatively install activescript-debug-1.0.15.vsix from a command line:

    code --install-extension activescript-debug-1.0.15.vsix

  2. Install the latest version of VBSEdit (24.11.13.5), both 64-bit and 32-bit (see note below).
  3. Double-click the toggle_vscode.vbs file (also in the Distribution\Extras\VBSEdit folder) to toggle the editor between VBSEdit and Visual Studio Code. This works by making a registry change in HKEY_CURRENT_USER.

Note

AccountingWare strongly recommends uninstalling any existing version of VBSEdit, both 32-bit and 64-bit, before installing the new version.

9.2

9.2-2

General Ledger Detail Report improvements

Previously, the built-in General Ledger Detail Report designs had some formatting and suppression logic issues. Now group headers for groups with no activity are correctly suppressed or shown based on the option chosen.

9.2-1

New version of ActivScriptNode

The version of ActivScriptNode has been updated to 1.0.0.9. This version improves behavior related to record loop bots. While the behavior of record loop bots is not entirely correct, it is improved and can work correctly for record loops which do not declare variables during initialization.

Prior to this version of ActivScriptNode, record loops were not executed properly. Instead, they appended each step of a record loop to the previous step(s) and executed the entire sequence again. At best, this resulted in linearly degrading performance; at worst, in incorrect behavior. Now each step is only executed once.

The primary issue remaining is that each step of a record loop is executed in its own context which it should not be. All steps of a single invocation of a record loop should run in a single context. Since separate contexts are used, it is impossible to declare a variable in the initialization step and have it still exist during the loop steps or in the finalization step.

AccountingWare continues to work on alleviating the separate context issue; however, this version of ActivScriptNode is being released now because it represents an improvement over the previous version for record loop bots where variables are not declared during initialization.

Newer version of ActivScriptNode

The version of ActivScriptNode has been updated to 1.0.0.11. Before version 1.0.0.11, there was no straightforward means to declare variables in the initialization section of a record loop bot and have them available in the loop and finalization sections using ActivScriptNode. Now there is a mechanism for doing just that.

Starting with version 1.0.0.11, there is now a global object, aptly named "global", that can be used to store any data or objects that are needed in later sections of a record loop bot. The following example shows an ActivScriptNode record loop bot that now works:

Example

//***CODE TO RUN ONCE PRIOR TO LOOP--DO NOT DELETE THIS LINE--ADDED AUTOMATICALLY BY ACTIVITY***

global.i = "Initialization";

global.l = "Loop";

global.f = "Finalization";

MacroProcess.AddMessage(global.i);

//***MAIN LOOP CODE--DO NOT DELETE THIS LINE--ADDED AUTOMATICALLY BY ACTIVITY***

MacroProcess.AddMessage(global.l);

//***CODE TO RUN ONCE AFTER LOOP--DO NOT DELETE THIS LINE--ADDED AUTOMATICALLY BY ACTIVITY***

MacroProcess.AddMessage(global.f);

Any "requires" objects and other more complex objects can also be stored in the global object and thus be available for later sections. For instance:

global.fs = require('fs');

The necessity of using the global object differs in ActivScriptNode from other Javascript-based scripting engines; therefore, converting a record loop bot to ActivScriptNode is likely to require some minor tuning related to use of the global object to pass information from the initialization section to other sections of a bot.

9.2-0

Answers text changes

Previously, the phrase "Extended Conditions..." showed in the Conditions field and in the Answers text on reports and in the Show Answers dialog when you used the More... selection conditions feature. Now the phrase in the Conditions field and in Answers text has been reduced to "(...)".

In addition, the full multi-line conditions are now shown in the Show Answers dialog and on the last page of reports when the Include Report Options checkbox is marked.

Financial Chart gadget improvements

The Financial Chart gadget type formerly had a "Conditions" column in the items set. The label could be confusing since what actually is entered in that column are items expressions. For clarity, the column is now labeled "Items Expression" and the hover hints for the fields are now more indicative of what is actually entered in them.

The "Items Expression" field of the Financial Chart gadget type is identical to the items parameters of financial design functions such as Activity and Balance: it is a combination of a segment/rollup/attribute name followed by an operator and a value. These can be combined with ANDs or ORs and grouped with parentheses as needed. The items expression further limits the postings included in the item of the chart.

It is common to have, at a minimum, an items expression like "ledger=a" or "ledger=b" since it is rare to want total postings from both the actual and budget ledgers.

Examples of Items Expressions

ledger=b

division=20 and ledger=a

(division=30 or division=40) and ledger=a

Forever calendar end date changed

When General Ledger is initially installed, a "Forever" calendar is created. This calendar has a single period with a beginning date of 1/1/1900. Before this release, the ending date for the calendar was 12/31/9999; however, this date caused the following error for any procedure which attempted to increment the date:

Adding a value to 'datetime' column caused an overflow.

The ending date has been changed to 12/31/2999.

Note

This change only affects new installations of General Ledger; existing databases are not converted. However, since the calendar is merely preinstalled and not built in, it can be modified or even deleted by the user at any time.

Tab width for memo fields standardized

The tab width in memo fields has been standardized to match four spaces of the standard font.

9.1

9.1-2

Dashboard access violations

Previously, access violations could occasionally occur when visiting the dashboard.

This problem has been corrected.

Missing join clauses in Developer Tool

A change in ActivReporter 8.42-0 caused some missing join clauses in the Select Statement (SQL) tab of the Developer Tool for some folders.

Join clauses no longer go missing.

9.1-1

New automation property and methods

The following property and methods have been added to the System and Company automation objects:

  • PackageNames. A property which contains a list of package names.
  • FolderNames. A method which returns a list of folder names as strings. Its arguments are the package name as a string and a Boolean value which determines whether or not to include dataFolders.
  • TotalColumnNames. A method which returns a list of column names that can be totaled. Its arguments are a package name as a string and a folder name as a string.
9.1-0

New composite columns in Assignment Rules HD views

The Assignment Rules folders for rollup items now provide composite columns and selection fields for each segment/rollup/attribute dimension considered by a rollup. The new columns and selection fields handle all four condition values (Item, Mask, Begin, End) as a single composite value. This simplifies viewing, sorting, and filtering, provides a better understanding of the rollup assignment rules, and makes it easier to find missing and overlapping (i.e., ambiguous) rules.

Suppose you have a rollup which summarizes segment "Main" and attribute "Project". As before, the Assignment Rules folder provides columns and selection fields for all eight columns shown in the rollup item's Assignment Rules table:

Main Item Project Item
Main Mask Project Mask
Main Begin Project Begin
Main End Project End

The Assignment Rules folders now show two new columns and provide two new selection fields:

  • Columns: Main (All), Project (All)
  • Selection fields: Main Match..., Project Match...

The column named "Main (All)" in the View Options or Options dialog is labeled "Main" in the HD view. This column shows non-blank entries in the four condition value fields (Item, Mask, Begin, End).

Example

Consider the following three rollup item assignment rules:

Main
Main Item Main Mask Main Begin Main End
1001 <blank> <blank> <blank>
<blank> 2??? <blank> <blank>
<blank> <blank> 3100 3250

The corresponding values in the "Main" column of the Assignment Rules HD view for these rules would contain these values:

Main
1001
2???
3100 - 3250

The following columns are shown in the Assignment Rules HD view by default:

  • Code
  • Description
  • Sort Order
  • Line Number
  • Rule
  • First Segment/Rollup/Attribute Item
  • First Segment/Rollup/Attribute Mask
  • First Segment/Rollup/Attribute Begin
  • First Segment/Rollup/Attribute End
  • Second Segment/Rollup/Attribute Item
  • Second Segment/Rollup/Attribute Mask
  • Second Segment/Rollup/Attribute Begin
  • Second Segment/Rollup/Attribute End
  • ...
  • Last Segment/Rollup/Attribute Item
  • Last Segment/Rollup/Attribute Mask
  • Last Segment/Rollup/Attribute Begin
  • Last Segment/Rollup/Attribute End

The visible columns correspond to the columns in the Rollup Item window's Assignment Rules table so that the presentation is familiar to the user.

The new composite columns are not shown by default but can be added to the HD view using the View Options dialog or the Options dialog. To return to the default column layout, click the Defaults button on the Columns tab of the dialog.

The new composite selection fields let you find rows with Item/Mask/Begin/End condition values that match the item(s) you specify in your selection.

To access the Column Filters dialog on a composite column, right-click the heading of the column and select Column Filters.

Example

Continuing the previous example, the following selection conditions find all the assignment rules which apply to Main item codes between "2500" and "3500":

These selection conditions return the following two rows in the "Main" column:

Main
2???
3100 - 3250

New Create Indexes option yields performance gains

A Create Indexes checkbox has been added to the Segment and Rollup windows. The checkbox is marked by default and, when upgrading to ActivReporter 9.1 or later, the checkbox is marked on existing segments and rollups.

When the Create Indexes checkbox is marked, indexes are automatically created on database columns for segments and rollups either at the account level or the journal detail level. This has the potential of dramatically improving performance for queries which limit by those values. Now when you sort the Journal Detail HD view or run a financial report, the database can use these indexes to quickly perform the needed work and provide the requested data.

While these indexes are provided by default, performance can be further improved by using account indexes instead because account indexes can be placed on combinations of segments and account-level rollups. On the other hand, account indexes cannot be used for attributes or detail-level rollups at this time.

New filter on Assignment Rules folders

A new built-in filter called "? Match All" has been introduced on Assignment Rules detail folders. The filter allows you to find rows which match specified item masks for all dimensions (segment/rollup/attribute) which are participating in the rollup. Based on the rollup's Rule Options setting ("Allow Masks and Ranges" or "Specify Items Only"), all condition values are evaluated (Item, Mask, Begin, End).

Example

Suppose you have a rollup called "P&L by Department and Project" which summarizes the following dimensions:

  • Department (segment)
  • ISDet (income statement rollup)
  • Project (attribute)

When you apply the built-in filter "? Match All" for the rollup, the Filter "? Match All" Parameters dialog shows the following mask fields:

To find all assignment rule detail lines for projects "2024-??" in department 12, enter the values as show below. The filter applies the same logic as if you were using the "dimension name Match" selection fields for all three dimensions. To not limit rows by a certain dimension, leave the entry field blank for that dimension.

Note

When your data is converted the first time after upgrading to ActivReporter 9.1 or higher, the "? Match All" filters for all existing rules-based rollups are created.

New standard columns available for Assignment Rules HD views

New "Short Description" and "Sort Order" columns are now available to be shown in the Assignment Rules HD view.

In particular, you can use the "Sort Order" column to sort item assignment rules by the rollup item's designated sort order.

PDF file generation from Financial Tree Reporting bot

Previously, reports generated as PDF files from the Financial Tree Reporting bot were prevented from being copied to the file system. If generated successfully, the PDF files were instead attached to email.

The issue has been corrected. The current version of the Financial Tree Reporting bot is 1.3.9. Version 1.3.9 can be used with ActivReporter 8.34-0 or later. Version 1.3.9 will not work on versions of ActivReporter before 8.34-0.

Self-Serve single sign-on now supports multiple SAML providers on single server

In the past, the SAML (single sign-on) response validation was performed with an expected certificate. The Activity System server expected the responses to be signed with a single certificate. Due to this restriction, it was impossible to support multiple SAML providers from a single Activity System server.

Now, instead of expecting the responses to be signed with a single certificate, the actual signature certificate is used within the response making it possible to support multiple, even disparate, SAML providers in a single Activity System server.

To configure SAML in an Activity System, ActivityHD Manager still expects a certificate thumbprint to be provided. The thumbprint is no longer used and the requirement for it will be removed in a separate change.

Single sign-on no longer requires thumbprint

The change noted in the previous release note eliminated the need for a certificate thumbprint in order to configure SAML on an Activity System server. The only thing needed at that point was a true/false value indicating whether SAML is enabled or not.

Now ActivReporter Manager has been changed to make the SAML single sign-on setting a simple enabled/not enabled value. The value can be configured from the System Self-Serve Configuration page of the ActivReporter System Configuration wizard.

In addition, an Activity System package option has been added (select Activity System > [right-click] > Options).

The package option allows you to enable or disable SAML without having to shut down the Activity System server and without using the ActivReporter System Configuration wizard. Instead, a user with appropriate access can set the option from ActivityHD Explorer while the server is running.

Update action improvements

The Update Journal Entries process can be used to correct the synchronization between a Great Plains company and an ActivReporter company. Previously, there were three issues where the Update action performed unnecessary and redundant work to sync journal entries which did not need to be synced.

These issues have been corrected.

"Update Filters" XML bot now useful generally

Until this release, the XML for the Update Filters bot in the .../Extras folder contained data specific to the CoNetrix production database (custom fields found only in that database, CoNetrix-specific permissions, etc.). As a result, the bot could not successfully be imported into other databases for which those values were not valid.

The CoNetrix-specific information has been removed and the bot can now be imported into other databases.

View Options feature to automatically show dynamic columns

A new New dynamic object name(s) columns visible automatically checkbox has been introduced on the Columns tab of the View Options dialog for most folders. When marked, new dynamic columns are automatically made visible.

For most data folders, the new dynamic columns are new custom fields. For financial view items, the new dynamic columns are new columns in the financial view definition. A few folders have no dynamic columns in which case the checkbox is not visible.

This feature is very similar to the checkbox which appears on the Options dialog when the New View Options feature is not enabled.

9.0

9.0-1

Duplicate rows in financial views

A problem with financial views was inadvertently introduced in ActivReporter 8.44-0. The problem made it possible for duplicate rows to appear in financial views when someone modified the segment item of an existing account code.

In order to correct possible issues in active financial views, conversions deactivate all views; however, the views still appear to be active. Now the next time the affected financial view items folder is opened, the underlying tables and views are automatically created with the appropriate rows.

Icons not visible when editing a financial chart

Previously, when a user edited a financial chart in the classic dashboard, the icons were not visible. The buttons were there, but since no icons were seen the situation was confusing. The problem only affected the classic dashboard.

The problem has been corrected. Now the icons are properly displayed when editing a financial chart in the classic dashboard.

9.0-0

Group headers in GL Detail Spreadsheet

Previously, there was an issue with the group headers in the built-in GL Detail Spreadsheet design. The label for the first group header incorrectly printed at the top of the report. Now the group labels print throughout the body of the report as in the regular design.

The location of some headings and totals in the Excel export file for output type .xlsx were also fixed.

Installation improvement

ActivReporter installation includes, as prerequisites, two bot scripting engines based on the V8 flavor of Javascript. The 32-bit versions of these prerequisites include a small executable that is used to detect whether the installation is occurring on a 64-bit or 32-bit version of Windows. The executable was not signed. Some antivirus software warns against unsigned executables or blocks them from running. The result is an error during installation. Users are notified of the failure and prompted whether to continue with installation. The recommendation is to continue with installation. The message looks something like this:

The installation of ActivScriptNode (32-bit) appears to have failed. Do you want to continue the installation?

Now the two executables (IsWow64.exe) are properly signed. Most antivirus software should now allow the installation to complete without a detected failure in most situations.

New Defaults button in View Options dialog

A new Defaults button has been added to the Columns tab of the View Options dialog. When pressed, the Defaults button sets the set of visible columns to the default values.

The View Options dialog is only available when the > View > New View Options feature is enabled.

This feature is similar to the Defaults button available on the Options dialog when the New View Options feature is not enabled.

New graphics

The graphics for several splash screens have been refreshed in anticipation of ActivReporter 9.0.

You should notice updated graphics in the following locations:

  • The ActivReporter Explorer connection dialog

  • The ActivReporter Explorer Help > About window

  • The ActivityHD Manager splash screen

  • The ActivReporter setup program (installation)

New license required for 9.0 upgrade

ActivReporter 9.0-0 represents a major version number change. Because ActivReporter licenses are major version number specific, upgrading from any version 8 release to version 9.0 or greater requires a new license.

Please consult AccountingWare Support if you have any questions regarding your current license status.

Palette gadget type issue

In the past, the "Palette" gadget type had a problem wherein when the gadget was saved the last color in the gadget was lost and not properly saved. This occurred whether the color was new or existing. Now all the colors in a palette are saved properly.

Reference field length increased

To foster better transaction mapping in General Ledger, the length of the Reference field on journal detail has been increased from 12 to 20 characters.

Relocation of some Great Plains journal detail data

The Originating Document Number from Great Plains for posted and unposted Great Plains journal detail is now stored in the Reference field in the Journal Detail window of ActivReporter. Also, the Memo field in the Journal Detail window now stores the following:

  • Originating Master ID
  • Originating Master Name
  • Origination Post Date
  • Source Document

8.52

8.52-1

ActivScriptNode update

The version of ActivScriptNode has been updated to 1.0.0.7. This version improves error messages which occur when accessing properties.

Previously, ActivScriptNode would simply report a "Could not find property" error for any error which occurred when accessing a property. Now the actual error which occurred is returned instead of the generic error.

ActivScriptV8 update

The version of ActivScriptV8 has been updated to 1.1.0.45. This version improves error messages which occur when accessing properties.

Previously, ActivScriptV8 would simply report a "Could not find property" error for any error which occurred when accessing a property. Now the actual error which occurred is returned instead of the generic error.

8.52-0

ActivScriptV8 updates

The version of ActivScriptV8 has been updated to 1.1.0.44. This version fixes problems with dates which fall before 1/1/1970.

January 1, 1970 is the beginning of the epoch in the V8 Javascript language upon which ActivScriptV8 is based. Dates and times before 1/1/1970 are represented as negative values in V8 Javascript, but ActivScriptV8 did not correctly handle the situation. As a result, errors and unexpected values resulted.

ActivScriptV8 now handles dates and times before 1/1/1970 properly.

Disconnection immediately releases licensed user

In the past, when an authorized system user was disconnected using the Disconnect command, each connection continued to consume a user license from the licensed user count until the disconnection had completed. This sometimes caused problems, such as when the client could not be contacted, and sometimes it took a while for disconnection to finish.

Now the Disconnect command causes each affected connection to surrender its consumption of a licensed user immediately instead of waiting for disconnection to finish.

Disconnection in progress now indicated in Authorized Users HD view

The Authorized Users HD view now shows "Disconnecting" in the Connected column while disconnection is in progress for connections which have been manually disconnected using the Disconnect command. Disconnections are typically completed very quickly although under some circumstances it can take a while. When it does take a while, the corresponding row in the HD view will indicate "Disconnecting" until the process completes.

Disconnection in progress now indicated in Connection History HD view

The Connection History HD view now shows "Disconnecting" in the Current column while disconnection is in progress for connections which have been manually disconnected using the Disconnect command. Disconnections are typically completed very quickly although under some circumstances it can take a while. When it does take a while, the corresponding row in the HD view will indicate "Disconnecting" until the process completes.

Disconnections no longer prevent simultaneous new connections

The Disconnect command on authorized users is now more forgiving of other processes occurring simultaneously on the server. Previously, the server did not allow other users to connect while a disconnection was in progress. Since disconnections are typically performed very quickly, this did not present a big problem. In fact, users probably did not notice a difference. Nonetheless, since the situation could be improved to allow the server to accept new connections as well as other operations while a disconnection was in progress on another set of connections, that improvement was made.

Errors using Data to Excel feature when decimal numbers exceed Excel precision limits

Prior to this release, users could encounter errors such as the following when attempting to use the Data to Excel feature within the Developer Tool for some reports:

Bad variable type.

The issue has been corrected for most cases which cause this error. Moreover, for the rare cases which still produce an error, namely when the report data contains decimal numbers which exceed the precision limits permitted by Excel, the error messages are now more informative.

In addition, improvements have been made so that errors in this situation do not leave orphaned Excel processes.

New Data.Refresh automation method

A new automation method called Data.Refresh has been introduced to use for reloading the Data object. This method is useful if the record loaded by the Data object has or may have changed.

Procedure to update unposted Great Plains journal entries modified

The database procedure which updates the unposted journal entries from the associated Great Plains database has been updated to match the behavior for the procedure that seeds unposted journal entries. After a Great Plains database is seeded, the procedures which look for differences should not find any unposted journal entries to update. When the Great Plains database is large, over a million GL detail lines, the previous update procedure could cause poor SQL Server performance.

8.51

8.51-2

Group header display issue

Previously, there was a problem in the group header displays of the General Ledger Detail Report and the Trial Balance Report when grouping by attributes or by detail-level rollups. The attribute and rollup values displayed as "<none>" in a group with a beginning balance but no journal detail postings within the reporting period.

The issue has been remediated.

8.51-1

ActivScriptNode updates

The following changes have occurred for the new ActivScriptNode scripting engine:

  • NodeJS is no longer required as a prerequisite. Most users will have no need for it. NodeJS is included as a separate optional installation in the ..\Extras folder of the distribution and is no longer installed automatically.
  • The provided version of NodeJS has been updated to 20.15.
  • The preinstalled docxtemplater NodeJS package has been updated to the latest version.

ActivScriptNode updates

The version of ActivScriptNode has been updated to 1.0.0.6. This version fixes problems with dates which fall before 1/1/1970.

January 1, 1970 is the beginning of the epoch in the V8 Javascript language upon which ActivScriptNode is based. Dates and times before 1/1/1970 are represented as negative values in V8 Javascript, but ActivScriptNode did not correctly handle the situation. As a result, errors and unexpected values resulted.

ActivScriptNode now handles dates and times before 1/1/1970 properly.

ActivScriptV8 updates

The version of ActivScriptV8 has been updated to 1.1.0.43. This version fixes a few problems; the main problem was the inability to recursively invoke the engine by running one bot from within another. This and other problems are now corrected.

ActivScriptV8 updates

The version of ActivScriptV8 has been updated to 1.1.0.44. This version fixes problems with dates which fall before 1/1/1970.

January 1, 1970 is the beginning of the epoch in the V8 Javascript language upon which ActivScriptV8 is based. Dates and times before 1/1/1970 are represented as negative values in V8 Javascript, but ActivScriptV8 did not correctly handle the situation. As a result, errors and unexpected values resulted.

ActivScriptV8 now handles dates and times before 1/1/1970 properly.

Error seeding budgets when using encumbrance budgeting

Prior to this release, an error could occur when seeding Great Plains budgets into ActivReporter if the company was configured for encumbrance budgeting. The problem has been corrected.

8.51-0

Access violation when closing ActivityHD

Previously, an access violation could occur when closing ActivityHD Explorer after running a bot. The access violation did not always occur and was related to the scripting engine used. The problem is now fixed.

Access violation while navigating bot records

Previously, users could receive an access violation when using the Prev and Next buttons to browse through bot records while in Edit mode and while the Activity Bot Editor was open. This issue has been corrected.

ActivScriptNode scripting engine introduced

A new scripting engine for bots called "ActivScriptNode" is introduced in this release of ActivReporter. ActivScriptNode is a NodeJS-based Javascript scripting engine that supports CommonJS modules and packages installed with the node package manager (NPM). Because NodeJS is built on top of V8, it supports the complete V8 Javascript syntax except for modules that are of necessity different.

"ActivScriptNode" is now an option in the Script Engine drop-down list in the Bot window.

To support ActivScriptNode scripts, a number of prerequisites are installed as part of the ActivReporter client installation including NodeJS (with the node package manager [NPM]) and ActivScriptNode itself.

Modules

ActivScriptNode modules are CommonJS modules; i.e., they are written in V8 Javascript but must assign values to the exports object in order to make those symbols useful from code which uses the module.

Modules are referred to by name in the code which uses the module. Properties of the name are those returned by the exports object.

Example

A module named "AM" with the following code:

const getName = () => {return 'Jim';};

exports.getName = getName;

...can be referred to from code which uses the module by using:

AM.getName()

The default exports object of a module is an empty object. Properties can be added to the object by the module. The default exports object can be replaced, if needed, by using modules.exports. The default object can be replaced by a function, object, etc.

For more, see https://nodejs.org/api/modules.html#modules-commonjs-modules.

Packages

ActivScriptNode supports NodeJS packages. Once installed in the appropriate place, these packages can be required in ActivScriptNode code using the require keyword.

ActivReporter installation preinstalls many useful packages. Users can, but are not expected to install their own packages into the node_modules library; however, any that are installed there are removed and replaced when ActivReporter is upgraded.

The local node_modules path for ActivScriptNode packages is:

%APPDATA%\AccountingWare\node_modules

To install a package into the local node_modules, enter the following lines at the command prompt:

cd /d %APPDATA%\AccountingWare

npm install -save <packages>

After a package is installed in the manner above, it is available for all users on the current machine and can be used with a require statement in the script of an ActivScriptNode bot.

Example

To install the pizzip and docxtemplater packages:

cd /d %APPDATA%\AccountingWare

npm install -save pizzip docxtemplater

Once installed, the packages can be used from ActivScriptNode code using the require keyword:

const PizZip = require("pizzip");

Use npm help for more detailed information about the npm command and its uses.

For debugging support from the script editor, you must install the latest version of VBSEdit from the ActivReporter distribution. The minimum version of VBSEdit that supports debugging of ActivScriptNode bots is 24.6.13.5.

ActivScriptV8 update

The version of ActivScriptV8 has been updated to 1.1.0.41. This version fixes a few problems with dates.

ActivScriptV8 update

The version of ActivScriptV8 has been updated to 1.1.0.42. This version fixes a few problems, most notably an access violation which resulted from uninitialized memory. The access violation could occur if the ActivScriptV8 object was destroyed immediately after construction and before actual use.

Assignment Rules detail folders introduced

Until now, the only way to view the values shown in a rollup item's Assignment Rules table was in the Rollup Item window itself. However, this window shows only the rules for a specific rollup item, making it difficult to analyze the assignment rules for all rollup items when you need to make changes or need to understand how a rollup value was generated.

The Assignment Rules table is similar to the following:

Depending on the number of segments, rollups, and/or attributes identified by the rollup, the table can grow quite wide.

With this release, new Assignment Rules folders are available to help you visualize the assignment rules across all rollup items for a rollup.

A few things you can use the new HD view to do:

  • Get a big picture view of your assignment rules so that you can detect patterns and discern possible ways to organize items better.
  • Sort by a particular segment/rollup/attribute value across rollup items.
  • Use the mass change feature to clear out values on selected assignment rules across rollup items.
  • Double-click a row in the HD view to open the related rollup item window.
  • Search for assignment rules which include a specific item value that's causing a problem.
  • Answer the following questions:
    • Are there any "Exclude" rules?
    • Are there any masks?
    • Are there any ranges?
    • Which segments have more specific limits?
  • Determine the changes required to set the rollup's Rule Options value to "Specify Items Only". If there are no "Exclude" rules and only a few masks and ranges, you could possibly change to use specific values so that you can use the "Specify Items Only" setting on the rollup to improve performance.

By default, an Assignment Rules folder inherits the same permissions as the related rollup items folder; however, the permissions can be changed individually on each Assignment Rules folder as needed.

Configuration messages refer to Details button when details are unavailable

In the past, the system and company configurations could show messages which referred to the Details... button even though the Details window was not available for the message. The issue has been corrected.

FilterParams.Locate method introduced

A new automation method called "FilterParams.Locate" has been introduced. Use the new method to find or add a parameter by name to a filter record.

Syntax

Function Locate(ByVal Name, ByVal CanCreate As Boolean) As Boolean

In addition, the XML for filter parameters has been improved to support editing the parameters that are created automatically based on the filter conditions. In the past, imported parameters were lost. Now an import locates the parameter by name and applies any changes to type, prompt, and hint.

Improvements to importing filters with parameters

Until now, importing filters with parameters did not work optimally. If the import had settings for type, prompt, or hint on parameters, those settings were not imported correctly. This release introduces new features which fix these problems.

New version of VBSEdit

The recommended version of VBSEdit has been updated to v24.6.13.5. The installer is available in the distribution folder Extras\VBSEdit.

VBSEdit is an optional and separately installed editor and debugger which can be used for bot creation and maintenance in ActivReporter.

Important!

The VBSEdit installer must be run as an administrator passing the cmd line switch /allusers.

Originating transaction information added to journal detail Memo field

The following information from Great Plains is now included in the journal detail Memo field:

  • Originating Master ID
  • Originating Master Name
  • Originating Document Number
  • Origination Post Date

Preinstall script checks for SQL version

The preinstall script (GP_Database_Check.sql) now checks for the minimum server version to avoid errors during installation. The current minimum SQL requirement for ActivReporter is SQL Server 2016 SP3 (13.0.6435).

Preinstalled packages for NodeJS added

Several preinstalled NodeJS packages that can be used in bots which use the ActivScriptNode scripting engine are now included in ActivReporter. The preinstalled packages include:

Package Find more information here:
xmldom https://npmjs.com/package/xmldom
date-and-time https://npmjs.com/package/date-and-time
docxtemplater https://npmjs.com/package/docxtemplater
pako https://npmjs.com/package/pako
pizzip https://npmjs.com/package/pizzip

8.50

8.50-0

Combine unsourced attribute items

A Combine process has been introduced for attribute items that are not sourced.

  1. In the Navigation pane, highlight the General Ledger > Setup > Attributes > [Attribute Name] folder of an attribute with unsourced attribute items.
  2. Start the Combine [Attribute Name] Attribute Items wizard by one of the following methods:
    • To use selection conditions to select the attribute item(s) to combine:
      1. Right-click the attribute folder and select Select and Combine from the shortcut window.
      2. On the Selection tab, define any filters and/or conditions to apply to the data.

    • To hand-select the attribute items to combine:
      1. In the HD view, select the attribute items to combine. You can use Ctrl and/or Shift selection to select multiple attribute items.
      2. Click .
  3. On the Combine tab, select the combine action to apply.

    Your options are:

    • Combine the selected [Attribute Name] Attribute Items into. If you select this option, use the accompanying field to select the target attribute item. The selected attribute item(s) will be combined into this attribute item. All references to the selected attribute item(s) will be changed to reference the target attribute item and the attribute item(s) that are selected to be combined will be deleted.
    • Blank out and delete the selected [Attribute Name] Attribute Items. If you select this option, you are essentially combining the selected item(s) into a blank item. All references to the selected item(s) will be blanked out and the attribute item(s) that are selected to be "combined" will be deleted.
  4. Click Next >>. ActivReporter summarizes the action that will occur when you click OK.

  5. To combine attribute items, click OK. ActivReporter reports the results.

  6. Click Finish.

Exchange Folder custom field misbehavior

Formerly, the Exchange Folder custom field did not display an error or any message at all if it encountered an error when trying to display the folder view from Exchange.

The Exchange Folder custom field creates a full path by getting the name of the Public folder from Outlook and appending that value in the custom field. If the result is a valid public folder, it is displayed. If the result is not displayed, the hint now contains a message and the folder path that was used. It is possible that part of the path is missing or misspelled. If incorrect, check Outlook for the correct path.

ItemType parameter of ItemsList and ValidateItems method now evaluated without respect to case

Prior to this release, the ItemsList and ValidateItems methods of the financial calculator were case sensitive when evaluating the ItemType parameter that was passed although items themselves were evaluated without respect to case. Now both ItemType and items are treated case insensitively.

Layout of custom fields improved

The layout for custom fields has been improved in the following ways:

  • The vertical space between rows has been decreased to reduce the need to scroll.
  • Controls within groups are now indented.
  • The checkboxes for True/False fields are now aligned to visually complement all other field types.

Performance improvement for detail-level rollups with attributes

Some organizations have noted significant performance issues when transitioning an existing "Project" account segment to a "Project" attribute. The following areas are affected:

  • Activation of detail-level rollups which provide rules for one or more attributes.
  • Updating GL entries when several detail-level rollups with attributes are active.
  • Merging subsidiary transactions like AP invoices (since such merge processes create and update GL entries).

Performance issues are more likely to occur for sites with millions of GL detail rows.

The default construction of database queries used to activate rollups and merge GL entries has been improved. ActivReporter Support has also been provided with an additional option to use to override the default behavior and possibly achieve even better performance.

SQL Server minimum version enforced

ActivReporter has always had a minimum SQL Server version requirement; however, until now using a lower version of SQL Server only caused a problem when SQL Server syntax errors were encountered. These issues were difficult to diagnose. Now ActivityHD Manager returns an error and refuses to connect to a SQL Server instance that does not meet the minimum version requirement.

The current minimum version required is SQL Server 2016 SP3 (13.0.6435).

Errors are also raised by the database installation and conversion files when these are executed via the EXECDTS.exe command-line utility.

XML for attachments improved

Formerly, when specifying the file name of an attachment as the value of the Item parameter on attachments, the file name had to be specified in the same case as the actual file name. Now the value can be specified without regard to case; i.e., is case-insensitive.

Example

In the following XML snippet, the file name "Test.txt" is handled without regard to case. For example, "Test.txt", "TEST.txt", "test.TXT", etc., are all acceptable values for the file named "Test.txt".

<Content Value="List">

<Attachments Value="Complete" Item="Test.txt"/>

</Content>

In addition, you can now limit attachments by index by simply specifying a number.

Example

The following XML finds the second attachment if it exists:

<Content Value="List">

<Attachments Value="Complete" Item="2"/>

</Content>

8.49

8.49-4

Maintenance task only runs when enabled by registry key

Beginning in ActivReporter 8.49-1, the background ActivReporter Maintenance task running on SQL Server presented performance problems for some sites. Now the ActivReporter Maintenance procedure is disabled by default but can be enabled on a site-by-site basis by adding a registry key.

8.49-1

Error removing GL usage from an attribute

An issue was introduced in ActivReporter 8.41-0 which caused an error similar to the following if a user tried to remove GL usage from an attribute when that attribute existed with GL usage prior to upgrading to version 8.41-0 or later:

The object 'JournalDetail_FK_GLAttribute13Item' is dependent on column 'GLAttribute13Item'.

ALTER TABLE DROP COLUMN GLAttribute13Item failed because one or more objects access this column.

AccountingWare Support can run a script to fix the problem in databases prior to upgrading to version 8.49-1 or later.

8.49-0

Currency scale test added

A test for the currency scale has been added to the SQL test script, GP_Database_Check.sql. Since ActivReporter does not support currencies with a scale greater than 4, the test reports an error if a currency used by a Great Plains company has a scale of 5 or greater. The test only looks at currencies being used by the Great Plains company.

Date expressions can now reference quarters

Date expressions can now reference quarters. In particular, you can reference the beginning or end of the current quarter, reference the beginning or end quarter of the current year, and add or subtract quarters from any date.

Following are examples of the basic syntax possible with quarters. The list is not comprehensive.

To reference the beginning or end of the current quarter:

BEGINNING OF QUARTER

END OF QUARTER

To reference the beginning or end of any quarter of the current year:

BEGINNING OF Q1

END OF Q1

BEGINNING OF Q2

END OF Q2

BEGINNING OF Q3

END OF Q3

BEGINNING OF Q4

END OF Q4

To add or subtract quarters from any date:

TODAY - 1 QUARTER

BEGINNING OF YEAR + 2 QUARTERS

Combining new syntax with existing syntax:

BEGINNING OF Q1 + 1 WEEK

END OF Q3 - 21 DAYS

Debit and credit amounts on same journal detail line

With this release, ActivReporter will support both debit and credit amounts on a single journal detail line. In preparation for this change, the SQL test script, GP_Database_Check.sql, now returns a warning instead of an error when a debit amount and credit amount appear on the same line.

Handling of journal detail from Great Plains when debit and credit are on a single line

Great Plains does not have a database restriction which disallows two non-zero amounts on a single journal detail line; however, ActivReporter does have a database rule which prevents a debit and credit on the same detail line. Now a journal detail line coming from Great Plains with a debit and credit on the same line are split into two detail lines when they come into ActivReporter: one detail line with the debit and one with the credit.

Manual periods make financial charts in dashboard more flexible

Previously, a financial chart gadget in the dashboard always used the periods of the year to the current period as the x coordinates (horizontal axis values) of the chart. Although this facilitated interesting and useful charts, users do not always need or want to include all periods of the year through the current period in the result. There are numerous cases where other period sets would be more useful.

For that reason, users can now specify "Manual" periods instead of only "Year to Current". When you choose manual periods, a new table becomes available where you can add, reorder, or remove periods. You specify the periods using financial design period expressions.

The new manual feature opens up financial charts for many new use cases. For example, by simply using one manual period of "Current", a chart with a single x coordinate for the moving current period can be created. In a similar way, expressions like "Current - 1" (the previous period) or "Current - 1 year" (the same period one year ago) can be created. In fact, any valid period expression is supported.

When you use manual periods, each period specified becomes a new x coordinate on the chart. You can specify any number of periods and you can control their display order.

Not to worry, the old behavior is retained. You can specify "Year to Current" and periods are automatically defined for the current year from the beginning of the year through the current period.

Organization of Dialog XML sections improved

The SelectionAnswers and DialogAnswers sections of Dialog XML are now shown in a more logical order. This is especially noticeable when exporting saved answers or when using the Developer Tool from a dialog or report.

Seeding no longer removes all budget accounts

Earlier versions of the ActivReporter seeding process removed all B ledger accounts; these accounts are used as budget accounts. Now only the budget accounts which are no longer in use in the source Great Plains databases are removed.

Show Answers feature implemented and improved in most report and process wizards

The Show Answers feature for most report and process wizards ( > Answers > Show) in General Ledger now has well-formatted answer captions and values.

For technical reasons, the General Ledger Detail Report and GL Summary were not improved at this time.

Sync redundancy now enabled by default

The Sync Redundancy feature is now enabled by default for new installations of ActivReporter.

Trial Balance Comparison Report's Show Answers results improved

The contents of the Show Answers window for the Trial Balance Comparison Report have been improved to more closely match the fields in the report wizard thus making the window contents easier to decipher. To open the Show Answers window, select > Answers > Show from the menu in the report wizard.

Unintended removal of selection conditions when editing a saved answer resolved

A problem was introduced in ActivReporter 8.42-0. The change in 8.42-0 fixed an issue with saving an edited view option when the last selection condition was removed. A side-effect of the change, however, was that when editing a saved answer with selection conditions while the selection conditions were not visible caused the selection conditions to be removed. This situation was not intended and existing selection conditions should be preserved during editing. Now they are.

8.48

8.48-1

Index added to improve financial design workbook performance

Previously, a performance problem could occur when calculating financial design workbooks if detail-level rollups were involved. A detail-level rollup is any rollup that involves an attribute, whether a rules-based rollup, a direct-assignment rollup, or a rollup attribute.

To improve performance, an index was added to JournalDetailRollupData, one of the tables introduced to support detail-level rollups.

Lock conflicts when viewing financial views

A change introduced in ActivReporter 8.44-0 caused lock conflicts which appeared to be random to occur when multiple users were viewing the same financial view. The problem was caused by timing issues, so it did not occur consistently. Now the potential for these lock conflicts to occur has been eliminated.

Restoring Page Break Level and Subtotal Level settings on reports

Many reports in ActivReporter have sorting options which include options for Page Break Level and Subtotal Level. An issue was introduced in ActivReporter 8.46-0 which caused those settings not to be restored correctly from a saved answer. Restoring the answer failed when a saved answer was chosen while the wizard currently had no sorting items selected.

The issue has been resolved.

8.48-0

Better automation support for Segment Items Listing

The Segment Items Listing reports for primary and ledger segments have improved automation support. Now the Report automation object can be created without creating the report dialog.

Company and system configuration log improvements

The configuration wizards have been improved to make the logs easier to use. The changes include:

  • Improved auto-scroll. In the past, the logs would scroll automatically so that the most recent message was always shown. This made it difficult to scroll up to read previous messages. Now the messages stop scrolling automatically if the user scrolls up.
  • Improved messages. Before this release, all log messages were together, often making the log large when it contained messages from multi-step operations such as package installations or database conversions. Now the main log will contain summarized messages and a "Detail..." log is available containing the detail messages from multi-step operations.
  • Improved usability. These new features make it easier to work with the information provided in logs:
    • Select multiple rows
    • Select All (Ctrl+A)
    • Copy to Clipboard (Ctrl+C)

Case sensitivity of function name attribute which is used with XML parameters

Until this release, the function name attribute which is part of the XML parameters for the Drilldown method of the IFinancialCalculator interface and for the RunAction method of the ICompany interface was case sensitive. Now the function name can be passed without regard to case.

For example, in the past, the YearToDate function could be passed as "Year To Date" or "YearToDate". If the function name that was passed differed from either of these in case, it would not work. Now every combination of case usage is supported including "yeartodate", "YEAR TO DATE", "Year TO date", etc.

While passing a parameter like <Function Name="creditbalance"... would not work in the past, it will now.

The following ten functions can now be specified without regard to case:

  • Activity
  • Balance
  • BeginBalance or Begin Balance
  • CreditActivity or Credit Activity
  • CreditBalance or Credit Balance
  • CreditYearToDate or Credit Year To Date
  • DebitActivity or Debit Activity
  • DebitBalance or Debit Balance
  • DebitYearToDate or Debit Year To Date
  • YearToDate or Year To Date

Financial chart gadget introduced for the dashboard

A new gadget type called "Financial Chart" is now available in the dashboard. A Financial Chart gadget can be used to generate a chart or graph of financial data. The gadget type is available in all dashboards where General Ledger is installed.

To create a financial chart:

  1. Click + to open the Add new gadget dialog, then select the New Gadget tab and then select "Financial Chart". A new financial chart gadget opens with a default name of "New Financial Chart".
  2. Rename the chart.
  3. From the Type drop-down list, select the type of chart to create. Your options are:
    • Bar Chart
    • Line Chart
  4. Specify the Width and Height for the chart in pixels. Reasonable values range from a few hundred to a couple of thousand. A good rule of thumb is that the width should be about double the height.
  5. The text box below the Type, Width, and Height fields shows the current settings in the familiar Financial Options dialog. If you need to change the options, click the Options button to open the dialog, make your changes, and close the dialog. The text box is updated with any changed values. For more on the Financial Options dialog, see the "Financial designs" topic.

    Tip

    Consider selecting or entering an expression for calculating the year and period dynamically based on today's date. This allows the chart to continue to move through time as the date changes. Of course, if it's appropriate for your financial chart, you can designate a specific year and period.

  6. From the Function drop-down list, select the financial function to use for the chart. Valid options are:
    • Activity
    • Balance
    • Begin Balance
    • Credit Activity
    • Credit Balance
    • Credit Year To Date
    • Debit Activity
    • Debit Balance
    • Debit Year To Date
    • Year To Date
  7. In the area below the Function drop-down list, click the button initially labeled "Segment" and select whether to use a "Segment", "Rollup", or "Attribute" to specify the items for the chart.
  8. Click the button immediately beneath the button you just used to select the specific segment, rollup, or attribute to use.
  9. To select individual items for the chart, click + in the blue section. You are prompted for segment item(s), rollup item(s), or attribute item(s) based on your previous selections. Select the item or item(s). Your selections are loaded in the table.
  10. In the table, change the labels, add conditions on each item, designate the sign to apply to the amounts represented by an item (i.e., convert negative amounts to positive and vice versa), change the order of the items, and, if needed, delete items.
  11. When you finish setting up the new gadget, save it. The financial chart is rendered in the dashboard.

Some additional things to note:

  • Each bar, line, or section of a chart supports drilldown. Hovering over a chart element displays the current value for the amount the element represents. Clicking on the element opens the Drilldown Explorer showing detail for the amount.
  • You can include multiple charts in a single article by using the Include macro. For example, suppose you have "My Chart 1" and "My Chart 2" that you want to include in a single article. The text for the new article could be:

    <<include [[Financial Chart:My Chart 1]]>><<include [[Financial Chart:My Chart 2]]>>

Options dialog hangs when using Drilldown Explorer from Excel

In the past, a problem could occur when a user used the Drilldown Explorer to investigate a value in Excel if the user did not have the "New View Options" feature turned on ( > View > New View Options). When the user right-clicked in the Journal Detail view of the Drilldown Explorer and then selected Options to change the columns displayed in the view, the View Options dialog could appear to hang.

The problem no longer occurs regardless of whether the "New View Options" feature is in use or not.

OptionsDescription property added to IFinancialCalculator interface

A new read-only property called "OptionsDescription" has been added to the IFinancialCalculator interface. OptionsDescription returns a string which describes the current options on the calculator.

System configuration streamlined

ActivReporter requires system configuration after each upgrade of the software. Now a new feature allows you perform system configuration while skipping the steps which are unnecessary for the upgrade. To skip these steps, leave the Skip optional steps and use previously configured settings checkbox marked. Clear the checkbox if you need to make changes to any previously configured settings.

Workbook Options dialog renamed

The options dialog for financial designs formerly named "Workbook Options" is now "Financial Options". This dialog is also used in other places which perform financial calculations such as in dashboard gadgets.

In conjunction with this change, tweaks were made to improve the Show Answers dialog for Financial Options and the Show Answers dialog is now available to all users.

8.47

8.47-1

BotDevTools and BotDevTools8 updated

A new version of the built-in BotDevTools and BotDevTools8 modules has been introduced. The version number is 4.2.

8.47-0

ActivSync decimal format handling

ActivSync keeps an ActivReporter company up-to-date with its corresponding Great Plains company. ActivSync reads formatted updates from the Great Plains company and makes the same updates in the ActivReporter company. Previously, problems arose when ActivSync was run on a machine which used different regional settings for decimal formatting compared to the internal format used in the update process. Now the functions used to parse the XML update messages use the "us-EN" formatting so that formatting conflicts do not arise.

Bot for updating filters

For some time AccountingWare has distributed an Excel workbook that contains a macro which attempts to update filters with fixable problems in their conditions and which identifies filters with unfixable errors. In this release of ActivReporter, a bot is introduced that performs the same action as the Excel workbook but without relying on Excel for its code or output. In other respects, the bot performs essentially like the Excel workbook. The bot is named "UpdateFilters.xml" and is located in the Extras folder.

Database constraint violation errors improved

In the past, error messages related to database constraint violations were cryptic and unhelpful to most users. The messages presented to the user for database constraint violations are now improved to be more meaningful and the original error messages continue to be available as "details" in case the technical information provided is needed to diagnose an error.

When a detail message is available, a down arrow appears in the lower left corner of the message box. Click the arrow to expose the technical error message.

Errors when activating/deactivating rollups and segments

Changes in ActivReporter 8.45-0 caused errors similar to the following after activating or deactivating a rollup or segment:

Invalid column name 'Rollup12Item'. Invalid column name 'Rollup13Item'.

The issue has been resolved.

Filter Usage folder introduced

A new Filter Usage folder has been introduced to provide tracking of filter use with little impact on system resources. The Filter Usage HD view shows usage detail for all filters and users. Administrators can use the information provided to manage and delete those filters which have been created but are seldom or no longer used.

To minimize the impact of tracking filter use, only the following information is recorded:

  • First Usage Date
  • Last Usage Date
  • Usage Count

Usage is updated a maximum of one time per day when the user first applies the filter for the day.

The information tracked is used to provide data for the following columns in the Filters HD view:

If the Advanced Security package is installed, permission accesses to the new "Filter Usage" resource is automatically inherited from the "Filter" resource when your data is converted.

When a filter or user is deleted, the related filter usage detail is also deleted. Because the number of filter usage items does not grow significantly and is bound by the number of filters and users who use those filters, deleting filter usage for existing filters and users is not a concern.

Filter usage (both "Personal" and "Shared") is tracked in all areas which use filters:

  • ActivReporter Explorer
  • Dashboards
  • Saved answers
  • Bots and import macros
  • ActivWebServer (Self-Serve)
  • ActivWebAPI

In addition to the changes already mentioned, a Usage tab has been added to the Filter window to show usage statistics for the selected filter.

Filters and Filter Usage HD views made more consistent

A few changes have been made to the Filters and Filter Usage HD views to make them more consistent:

Filters HD view:

  • A Type column has been added with three values: "Built-In", "Shared", "Personal". The column is shown by default.
  • The Hidden column is now shown by default.
  • The Shared and Built-In columns are still available but are no longer shown by default.

Filter Usage HD view:

  • The Filter Type column is now shown by default.
  • A Hidden column has been added and is shown by default.
  • Shared and Built-In columns have been added but are not shown by default.

Financial Tree Reporting bot has improved handling when custom label is missing

Before the current version of the Financial Tree Reporting bot (1.3.7), when a custom spreadsheet label was not specified but an iteration was specified, the generated report spreadsheets had numbered labels instead of the name of the report. With this version, the spreadsheet name is set to the name of the report whenever a custom label is not provided in the configuration workbook.

Financial Tree Reporting bot no longer skips report when only a report name is specified

Earlier versions of the Financial Tree Reporting bot did not recognize a report in the "Reports" tab of the configuration workbook if only the report name was set on a row. The bot considered the "Conditions", "Iteration", and "Tab (Label and Color)" columns to determine if a row specified a new report. In version 1.3.7 of the bot, the "Report Name" column is now considered as well. Now a report is created even if the only value in a row is a report name.

"Indexes" resource renamed

The resource for the Account Indexes folder was formerly named "Indexes". It has been renamed "Account Indexes" to be more precise.

Some automation calls to ActivReporter Automation Services (AAS) or ActivWebAPI are affected by this change.

Examples

AAS:

Company.Data("General Ledger", "Account Indexes")

ActivWebAPI:

/api/record?package=General%20Ledger&folder=Account%20Indexes

Installation improvement

When ActivReporter is installed, the installation cannot complete properly if some of the files it is attempting to replace are in use. In the past when this occurred, a warning message was presented with the option to cancel (i.e., abort the installation) or to continue. Continuing required a reboot but often the reboot was not performed.

Now a more informative dialog is presented in this situation. The dialog lists the applications which are causing the "file in use" condition and provides options: stop the offending applications before proceeding, proceed anyway requiring a reboot, or cancel the setup entirely.

8.46

8.46-1

New version of VBSEdit

The recommended version of VBSEdit has been updated to v24.1.19.5. The installer is available in the distribution folder Extras\VBSEdit.

VBSEdit is an optional and separately installed editor and debugger which can be used for bot creation and maintenance in ActivReporter.

Important!

The VBSEdit installer must be run as an administrator passing the cmd line switch /allusers.

8.46-0

ActivScriptV8 replaces V8Script

V8Script is no longer installed as a prerequisite for ActivReporter. ActivScriptV8 is now installed instead. If a version of V8Script is currently installed, it is removed and replaced with ActivScriptV8. In effect, this change represents a complete rename of the V8Script installations to ActivScriptV8.

Back button handling improved in Company Configuration Wizard

In the past, the Back button in the Company Configuration Wizard was enabled while the wizard was running the seeding process. If a user clicked Back while seeding, the seeding process continued to run in the background and the results were unpredictable.

Now the Back button is disabled during the seeding process and during system or company database updates as well. The Cancel button is enabled during the seeding process but displays a message if the running process cannot be canceled.

Company Configuration Wizard checks for users logged into Great Plains database

A step has been added to the Company Configuration Wizard to check for users logged into the Great Plains source database before seeding or reseeding. If there are users logged into the source database, the users' user IDs are listed in a dialog and the user configuring the company can either continue the seeding process or notify the users logged into the source database to log out of the company. Note that this check only looks at the source database. Users can be logged into other Great Plains companies if those companies are not the source of the seeding process.

Excel add-in "update links" problem resolved

Previously, users could experience problems when using the "Save As" methods while running Excel. In particular, users could be prompted to update links if the following conditions existed:

  • The user's Documents directory was set to a non-local drive.
  • The financial design workbook contained references on one worksheet to cells on another worksheet.

Now when these circumstances arise, users will not be prompted to update links.

License information shown in System Configuration Wizard

License information is now shown in the System Configuration Wizard. If the system has an installed license, the name on the license is shown along with the number of licensed companies and licensed users. The license expiration date is shown as well. If no license is installed, the phrase "No license installed" is shown.

a

Performance of custom fields improved

In this release of ActivReporter, changes have been made to improve the performance of operations which sort and/or filter by custom fields. In a nutshell, custom field value columns are now created automatically so that database operations can use these new value columns instead of having to "shred" the custom field XML column to obtain field values.

Two new controls have been added to the Custom Field window to help accomplish this:

  • Number. A system-generated number used to build unique column names for the custom field value columns (CustomField1, CustomField2, etc.)
  • Indexed. Mark this checkbox to create indexes on selected custom fields to further improve performance in some cases.

These new fields plus an additional field are also available in the automation interface:

  • ValueColumn. A method which returns the resulting value column name (e.g., CustomField1).

The following areas have been modified to use custom field value columns to enhance performance:

  • Folder columns
  • Folder selection fields
  • Filters
  • Dialogs and saved answers
  • Reports

Notes

No changes are required in order for existing saved answers to use custom field value columns.

Existing filters will use the old XML column until an Edit/Save of the filter is done.

Change log folder columns and selection fields continue to use the XML columns. This is necessary to allow data type changes where historical data cannot be converted to the new data type.

The following areas will continue to work if using custom fields but require modification in order to use the new custom field value columns:

  • Filters with manual SQL conditions
  • Dashboard gadgets with manual SQL conditions
  • Data sources which limit by custom fields
  • Report extension views which limit or sort by custom fields
  • Bots and import macros which limit or sort by custom fields

Note

The "Reference list" custom field data type cannot use a value column because reference lists contain multiple values. Therefore, use of the reference list data type will continue to incur the cost of having to shred the XML data value in order to obtain its values.

Preinstalled financial designs improved

In the past, the preinstalled "Balance Sheet" and "Income Statement" financial designs had a couple of issues:

  • The print area was missing the "ErrorsOrWarnings" header.
  • The designs contained settings which were specific to the Activity System and company which they were developed on.

These issues were noticeable the first time a user attempted to use one of the designs.

The issues have been corrected.

Preinstalled saved answer for General Ledger Detail Report

A preinstalled saved answer named "GL Detail Spreadsheet" has been introduced for the General Ledger Detail Report. This saved answer runs the report with the built-in "GL Detail Spreadsheet" design using the default calendar and includes the following options:

  • Exclude Zero Beginning Balance
  • Include Closing Entries from the Current Year
  • Include Detail Debits and Credits

This saved answer is preinstalled whenever General Ledger is installed into a new company database.

Report dialog answers available on Trial Balance Report

A new Include Report Answers List has been introduced to the Trial Balance Report wizard. Using this option adds a separate last page to the report which shows the report dialog answers used to produce the report.

In addition, if you do not want to print the report dialog answers but still want to view them, you can now select > Answers > Show Answers List from the menu.

8.45

8.45-0

Descriptions on rollup items and segment items lengthened

The length of descriptions for rollup items and segment items has increased from 40 characters to 60.

Error activating certain rollups

A problem was introduced in ActivReporter 8.42 which caused an error like the following when attempting to activate a rollup if the rollup had a directly-assigned rollup which was inactive:

Invalid column name 'Rollup5Item'

The problem has been corrected.

Errors using iteration conditions in Publish Financials

Previously, errors could occur if you attempted to use iteration conditions on the Accounts and Attributes tabs of the Publish Financials wizard. These issues have been addressed.

New tile macro for dashboard

A new tile macro has been introduced for use on the dashboard. The tile macro is similar to the count macro except in its presentation. While the existing count macro shows a line of text with the number of matching rows from a package and folder along with an optional total, the tile macro is presented as a rectangular button (tile) with the count and an optional total.

Syntax

The basic syntax of the tile macro is <<tile>> with parameters inside the angle brackets. The parameters can be named or unnamed. If unnamed, the meaning of the parameters in order is: package, folder, interest parameters, total. The action is always "Open"; the label is the package and folder; the hint is something like "Open the <package><folder>". This behavior is similar to the behavior when using unnamed parameters in the count macro.

Example

The following tile macro with unnamed parameters shows the count of Accounts Receivable invoices which match the specified filter and also shows the balance as a total.

<<tile "Accounts Receivable" "Invoices" "<p><Filter Name='? Aging Category' Type='Built-In'><Parameter Name='AgingCategory' Value='Outstanding Credit'/></Filter></p>" "Balance(Current)">>

Using named parameters is far more flexible than using unnamed parameters. The syntax for named parameters is described below:

<<tile

package: "Package"

folder: "FolderName"

parameters: "<p><Filter Name='FilterName'/></p>"

total: "FolderSpecificTotalAmount"

label: "HotLinkLabel" - The label at the top of the tile. You can use %0 for the package name and %1 for the folder name.

action: "ActionOption" - Can be "Report" or an action name. The default is "Open".

action_parameters: "ActionParameters" The parameters for the specified action if it is not "Report".

report: "ReportName" - If the action is "Report", the name of the report to run.

report_parameters: "ReportParameters" - If the action is "Report", the parameters for the report.

hint: "HintText" - The hint text to display when hovering over the tile. You can use %0 for the action, %1 for the package, and %2 for the folder.

highlight: "HighlightInteger" - An optional integer value which if the count equals or exceeds causes the count to be highlighted.

>>

Example

This example is similar to the unnamed parameters example above, but uses named parameters.

<<count

package: "Accounts Receivable"

folder: "Invoices"

parameters: "<p><Filter Name='? Aging Category' Type='Built-In'><Parameter Name='AgingCategory' Value='Outstanding Credit'/></Filter></p>"

total: "Balance (Current)"

label: "Outstanding Credit AR Invoices"

action: "Open"

hint: "Click to open list of Outstanding Credits"

>>

To support styling of the results of the new macro, a new Style:Tile gadget is included. This gadget permits a variety of customizations including color, size, etc. This gadget uses the named colors from the Palette:Colors gadget by default.

New version of VBSEdit

The recommended version of VBSEdit has been updated to v23.12.16.5. The installer is available in the distribution folder Extras\VBSEdit.

VBSEdit is an optional and separately installed editor and debugger which can be used for bot creation and maintenance in ActivReporter.

Important!

The VBSEdit installer must be run as an administrator passing the cmd line switch /allusers.

Report.ResourceRelease automation method introduced

A new Report.ResourceRelease automation method has been introduced. You can call this method on report objects to release resources which are held by the object, especially locks. This is particularly critical when using report objects from a garbage-collected language like JScript.

V8Script update

The version of V8Script has been updated to 1.1.0.36. The main improvement in this version of V8Script is that syntax which refers to indexed properties of an interface can specify indices using either parentheses or square brackets. In prior versions, only parenthesis syntax was supported.

V8Script renamed

The V8Script bot engine has been renamed to "ActivScriptV8", primarily to distinguish it from the too similar VBScript.

8.44

8.44-2

Activity.xlam certificate updated

The previous signature certificate for Activity.xlam expired in September 2023. A new Activity.xlam signed with an unexpired certificate has replaced it.

8.44-1

Duplicate key error when merging journal entries

In the past, using the Merge action in the Journal Entry window could result in a Cannot insert duplicate key error on the Merge Entries step of the process. Despite the error displaying, the journal entry merged successfully if it was valid.

The issue has been resolved.

Truncated error messages when activating ambiguous rollups

An issue introduced in ActivReporter 8.42-0 caused the error message shown to be truncated when attempting to activate an ambiguous rollup.

Intended message:

Rollup rules cause Account(s) to be assigned to more than one rollup item.

Truncated message:

Rollup rules cause A.

The error message is no longer truncated.

8.44-0

BotDevToolsV8 module added

A new built-in bot module called "BotDevToolsV8" has been introduced. This bot is identical to the "BotDevTools" built-in module except that the scripting engine for the new bot module is V8Script instead of JScript (Chakra).

Error when using Segment Items Expression selection field on accounts

A problem was introduced in ActivReporter 8.42-0 in which using the Segment Items Expression selection field on accounts could result in errors similar to the following:

Incorrect syntax near '>'"

The problem has been corrected.

Financial views support attributes and detail-level rollups

In the past, financial views did not fully support attributes or the new detail-level rollups which have attribute rules. Support for these features has been improved. Remember that financial views which use attributes or detail-level rollups as part of their item definitions are considered detail-level financial views. In other words, the items which appear in the financial view are controlled by combinations of items that appear within existing journal detail. On the other hand, account-level financial views are controlled by the existence of accounts. When you create or modify accounts, items can be added or removed from an account-level financial view. In a similar way, when journal detail postings are created or modified, items can be added or removed from a detail-level financial view. In all other aspects, account-level and detail-level financial views have the same features and behavior.

Handling of XML line endings improved

Changes have been introduced to improve how ActivReporter handles line endings in XML text blocks. XML text blocks are used when exporting and importing multi-line text fields and when saving and restoring saved answers which contain multi-line text fields.

In the past, line endings would be exported as an escaped carriage return and a non-escaped line feed character. However, this resulted in XML which was more complex due to the inclusion of escaped carriage returns; editing this XML with most text editors caused the line feed characters to be converted into a carriage return and a line feed which is the Windows standard behavior. When XML edited in this manner was subsequently imported into ActivReporter, this caused multiple line endings to be read.

Now ActivReporter no longer escapes carriage return characters when exporting XML unless those characters appear in a quoted section of XML. In addition, line endings are now automatically converted to the Windows standard carriage return and line feed while reading XML. While this is non-standard for XML, this behavior fixes problems when using these text values in ActivReporter since the Windows standard is expected.

New version of VBSEdit

The recommended version of VBSEdit has been updated to v23.12.15.5. The installer is available in the distribution folder Extras\VBSEdit.

VBSEdit is an optional and separately installed editor and debugger which can be used for bot creation and maintenance in ActivReporter.

Important!

The VBSEdit installer must be run as an administrator passing the cmd line switch /allusers.

User Group column added to Connection History

A new User Group column is now available to be shown in the Connection History HD view. The new column allows you to view, sort, filter, and explore connection history by an authorized user's user group.

On Activity System servers with numerous companies and users, it can be useful to assign authorized users to user groups in the Activity System folder to help track licensing issues and company access.

V8Script update

The version of V8Script has been updated to 1.1.0.35. This version includes changes made in version 1.1.0.34 (not released) which included significant performance improvements when calling methods on the IDispatch interface.

8.43

8.43-3

Access violation when accessing an HD view with a modified "Default" view option applied

A change in ActivReporter 8.43-2 resulted in an access violation when a user tried to visit an HD view with a modified version of the "Defaults" view option, denoted by "Defaults*", applied. This problem is now fixed.

8.43-2

Ambiguity check on rollups reporting false positives

A problem was introduced in ActivReporter 8.42-0 which caused the Ambiguous Check function to sometimes report rollup item rules as ambiguous when they were not. This could occur when rollup item rules specified more than one condition on a given segment or rollup.

For example, consider a simple rollup which provides rules for how to summarize the Main account segment into lines which appear on an income statement. The following rollup item rules would cause the Ambiguous Check function to erroneously report an ambiguity:

COGS - Cost of goods sold
Line 1 - Rule: Include Main Begin: 5010 End: 5015
FREIGHT - Freight expenses
Line 1 - Rule: Item: 5470

In this case, the Ambiguous Check window would report the following:

The following rollup detail lines produce multiple rollup codes for the same account.

The "Duplicates" column shows how many accounts are assigned both rollup codes.

The "Sample" column shows the first account that matches rules for both items.

This ambiguity must be resolved before the rollup can be activated.

Item 1 - Line #: COGS-1

Item 2 - Line #: FREIGHT-1

Duplicates: 3

Sample: 5470-00-00000-A

The problem has been alleviated.

Security access errors trying to apply saved answer

An issue introduced in ActivReporter 8.42-0 caused security errors when a user tried to use a saved answer using features not permitted to the user. For example, a user without "Edit" access to the "Bots" resource who tried to use a saved answer in a Change process which contained a change bot would receive an error. Users must have "Edit" access before they can create change bots, but the user should still be able to use a saved answer that is shared and contains a change bot.

The issue has been fixed.

8.43-1

Conversion error eliminated

Previously, the following error could occur during system conversion when ActivSync triggers were being installed into the Great Plains company database:

The Object is not an object

Now the error is prevented by testing the Great Plains database name before running the installation.

8.43-0

Access violation errors when disconnecting from server

Previously, access violation errors could occur when disconnecting from an ActivReporter server while a report process was running. This issue has been corrected.

Behavior of double-click to connect improved

Formerly, when a user double-clicked the Activity System or company folder in the navigation pane of ActivityHD Explorer, a connection was created and the folder immediately collapsed. Now double-clicking results in a connection and the Activity System folder or the company folder is expanded.

BotDevTools module improvements

A new version of the BotDevTools bot module has been introduced. The new version has improvements to existing methods and some new methods for use in other bots.

Export and Import methods added for RecordList automation object

RecordList is an automation object which represents a list of records in ActivReporter. With this release, new Export and Import methods have been introduced for RecordList. These methods make it easier to use automation to export and/or import multiple records at once. These methods are very similar to the analogous methods already available on the Data automation object.

  • RecordList
  • Function Export([ByVal Content As String]) As String - Exports each record in the list to a single XML result based on the specified content.
  • Function Import(ByVal Data As String, [ByVal XPath As String]) As String - Imports the specified data and automatically loads the resulting records into the list.
V8Script example

//--Create Record Lists for the Source and Destination

var vRecListSource = Company.NewRecordList("Administration", "Custom Data - Test1s");

var vRecListDestin = Company.NewRecordList("Administration", "Custom Data - Test2s");

//--Load the Source records

vRecListSource.Load(

"<p>" +

"<Selection>" +

"<Item Table='Custom Data' Field='Created Date' Version='3' Operator='5'>" +

"<Value1 Expression='today - 1'/></Item>" +

"</Selection>" +

"</p>");

//--Export the Source records

var vDataSource = vRecListSource.Export("<Content Value='Complete'/>");

MacroProcess.AddMessage(vDataSource);

//--Import the Source records to the Destination

var vDataImport = vRecListDestin.Import(vDataSource, "/XML/data");

MacroProcess.AddMessage(vDataImport);

//--Export the Destination records for review

var vDataDestin = vRecListDestin.Export("<Content Value='List'/>");

MacroProcess.AddMessage(vDataDestin);

Report automation object's methods improved

The Report automation object methods have been improved to allow saved answers to be passed more easily. Saved answers can now be passed as part of the parameters to the following methods:

  • Report
  • Sub Print([ByVal Parameters As String])
  • Sub Email([ByVal Parameters As String])
  • Sub Export([ByVal Parameters As String])
  • Function ExportToTempFile([ByVal Parameters As String]) As String
JScript example

var report = Activity.ViewReport("Administration", "Authorized Users Listing");

 

//--Set answers separately

report.Answers("<Answers Name='Test'/>");

report.Export("<Export Prompt='False' FormatType='PortableDocFormat' DestinationType='DiskFile' DiskFileName='C:\Temp\Test.pdf'/>");

 

//--Set answers during the call to Export

report.Export(

"<p>" +

" <Answers Name='Test'/>" +

" <Export Prompt='False' FormatType='PortableDocFormat' DestinationType='DiskFile' DiskFileName='C:\Temp\Test.pdf'/>" +

"</p>");

8.42

8.42-0

Access error messages improved

Security access errors can occur when users attempt to perform actions for which they are not assigned access through a permission. The messages were similar to this:

This action requires 'Edit' access.

These error messages could be confusing since it was not always clear which resource the user needed access to. Now the error messages have been improved to include the resource name. For example:

This action requires 'Edit' access on Calendars.

"Copy without formatting" feature added to Developer Tool

The Copy button on XML tabs in the Developer Tool now has a drop-down option, "Copy without formatting". "Copy without formatting" copies XML from the Developer Tool without "newline" and "tab" characters. This feature is useful when using the copied XML in automation where these formatting characters are not allowed.

Enable attachments using the configuration wizard

In the past, attachments were enabled from ActivityHD Manager by connecting to SQL Server, selecting a database on the Databases tab, right-clicking, and selecting Enable Attachments from the shortcut menu. While you can still use that method, ActivityHD Manager now allows you to enable attachments on both system and company databases during configuration. A new System/Company Attachments Configuration page of the configuration wizards contains an Enable attachments checkbox which, when marked, enables attachments during the configuration performance step.

Once attachments are enabled, they cannot be disabled. This is consistent with how packages are handled in that once a package is installed it cannot be removed.

If attachments are already enabled on a database, the Enable attachments checkbox is marked and its label is bold. The bold label indicates that the checkbox cannot be cleared.

Errors skipped when deactivating a rollup

An issue was introduced in ActivReporter 8.38-0 which skipped validation errors when a user attempted to deactivate a rollup. Instead of showing messages, the Deactivate dialog closed without telling the user what happened.

The issue has been resolved.

Selection conditions now available to automation

Users can specify selection conditions throughout the application when performing actions such as running reports. Selection conditions can also be saved as filters making filtering easier when reviewing records in the HD view and when running reports or processes.

Filters are also useful for limiting records for automation purposes. Now it is possible to use selection conditions for filtering in automation as well. In particular, selection fields can be used in the following areas:

  • Dashboard Count macros
  • Data.Navigator
  • RecordList.Load
  • Reference dialog fields

Selection conditions are specified using XML syntax. Use the following steps to formulate the conditions you want:

  1. Run a listing report on the folder which contains the records you want to select from.
  2. Use the Selection tab of the report wizard to build the conditions you need.
  3. Run the Developer Tool (Ctrl+F12).
  4. On the Answers (XML) tab, look for the "<Selection>" element.

Examples

Data.Navigator (VBScript)

Set vData = Activity.Data("Administration", "Authorized Users")

vData.Navigator.Parameters = _

"<p>" + _

"<Selection>" + _

"<Item Table='Authorized User' Field='Access Control' Version='2' Type='0'>" + _

"<ListItem Value='P' Checked='true'/> + _

"</Item>" + _

"</Selection>" + _

"</p>"

vData.Navigator.First

while not.vData.Navigator.Eof

MacroProcess.Results.Add vData

vData.Navigator.Next

wend

RecordList.Load (VBScript)

Set vRecordList = Activity.NewRecordList("Administration", "Authorized Users")

vRecordList.Load _

"<p>" + _

"<Selection>" + _

"<Item Table='Authorized User' Field='Access Control' Version='2' Type='0'>" + _

"<ListItem Value='P' Checked='true'/> + _

"</Item>" + _

"</Selection>" + _

"</p>"

Set vReport = Activity.Administration.Reports("Authorized Users Listing")

vReport.RecordList.AddList vRecordList

vReport.Preview

Syntax

Dialog Reference fields

<Options>

<Field @Name Type="Reference" @ReferenceType @SQLConditions @DefaultValue @Required(True, False)>

<Filters>

<Filter @Name @Type(Personal/Shared/Built-In)>

<Parameter @Name @Value/@Code/@ID/@Expression/>(n)

</Filter>(n)

</Filters>

<Selection/>

</Field>

<Field @Name Type="Reference List" @ReferenceType @SQLConditions @Required(True, False)>

<Filters>

<Filter @Name @Type(Personal/Shared/Built-In)>

<Parameter @Name @Value/@Code/@ID/@Expression/>(n)

</Filter>(n)

</Filters>

<Selection/>

<DefaultValue @Value/>(n)

</Field>

<Field @Name Type="Reference List" @DefaultValue @Required(True, False)>

<ReferenceType @Value @SQLConditions>

<Filters>

<Filter @Name @Type(Personal/Shared/Built-In)>

<Parameter @Name @Value/@Code/@ID/@Expression/>(n)

</Filter>(n)

</Filters>

<Selection/>

<DefaultValue @Value/>(n)

</ReferenceType>(n)

</Field>

</Options>

Dialog fields (full syntax)

<Options>

<Header @Caption/>

<Instruction><!--inner text of this element will be shown to the user-- ></Instruction>

<Field @Name Type="Calendar Period" @Required(True, False)>

<Default>

<!--Syntax for the Default element should match what is seen when exporting Answers with a Calendar Period-- >

</Default>

<AsOf>

<!--Syntax for the AsOf element can have all of the properties of a "Date" field-- >

<!--When @Name is not specified, defaults to the name of the "Calendar Period" field + "- As of"-- >

</AsOf>

</Field>

<Field @Name Type="Date" @DefaultValue @DefaultExpression @Required(True, False) @AltBasis>

<AltBases>

<AltBasis @Name/>

</AltBases>

</Field>

<Field @Name Type="Dropdown" @DefaultValue @Required(True, False)>

<Item @Value/>(n)

</Field>

<Field @Name Type="Filename" @DefaultValue @Required(True, False)/>

<Field @Name Type="File Folder" @DefaultValue @Required(True, False)/>

<Field @Name Type="Memo" @Required(True, False)>

<DefaultValue><!--inner text of this element is the default value of the field-- >

</DefaultValue>

</Field>

<Field @Name Type="Number" @Precision @Scale @AllowNegative(True, False) @DefaultValue @Required(True, False)/>

<Field @Name Type="Reference" @ReferenceType @SQLConditions @DefaultValue @Required(True, False)>

<Filters>

<Filter @Name @Type(Personal/Shared/Built-In)>

<Parameter @Name @Value/@Code/@ID/@Expression/>(n)

</Filter>(n)

</Filters>

<Selection/>

</Field>

<Field @Name Type="Reference List" @ReferenceType @SQLConditions @Required(True, False)>

<Filters>

<Filter @Name @Type(Personal/Shared/Built-In)>

<Parameter @Name @Value/@Code/@ID/@Expression/>(n)

</Filter>(n)

</Filters>

<Selection/>

<DefaultValue @Value/>(n)

</Field>

<Field @Name Type="Reference List" @DefaultValue @Required(True, False)>

<ReferenceType @Value @SQLConditions>

<Filters>

<Filter @Name @Type(Personal/Shared/Built-In)>

<Parameter @Name @Value/@Code/@ID/@Expression/>(n)

</Filter>(n)

</Filters>

<Selection/>

<DefaultValue @Value/>(n)

</ReferenceType>(n)

</Field>

<Field @Name Type="Text" @Size @Case(Upper, Lower, Normal) @DefaultValue @Required(True, False)>

<Dropdown>

<Item @Value/>(n)

</Dropdown>

</Field>

<Field @Name Type="True/False" @DefaultValue(True, False) @Required(True, False)/>

</Options>

View Options saving issue

In the past, when editing view options, if you attempted to remove the last selection condition, the changed view option did not save. While the changes appeared to be saved since no error was returned, the selection conditions were not actually deleted.

Now when editing view options and deleting the last selection condition, the view option saves correctly.

8.41

8.41-1

Ambiguous rollup issue

In version 8.41-0, an issue which allowed a rollup to become ambiguous when an account was created or updated was fixed. However, it was still possible for existing accounts created or updated since version 8.35-0 to already have one of the ambiguous rollup values.

Now all active rules-based rollups are checked for ambiguity based on existing accounts; rollups which are ambiguous are deactivated. All rules-based rollups, financial views, and account indexes which depend on the ambiguous rollup are also deactivated.

Once you convert to version 8.41-1 or 8.42-0, you can reactivate rollups, financial views, and account indexes which may have been deactivated by the conversion. If you attempt to activate an ambiguous rollup, an error is returned. Use the Rollup Items Ambiguous Check feature to find the ambiguity issue.

Problem saving calendar while financial view is open

Previously, if a calendar was changed while a financial view was open, an error was returned and the changes to the calendar were not saved.

Now the financial view has been corrected and changes to a calendar can be saved while a financial view is open.

8.41-0

ActivReporter

ActivReporter now requires users to be on a minimum version of 8.30-2 or greater in order to convert to release 8.41-0. In other words, you must have successfully installed and converted to version 8.30-2 or greater before attempting to convert to version 8.41-0 or greater.

The benefit of this requirement is that conversions will load and run much faster since they do not include unnecessary conversion steps for older versions. Only the conversion steps for 8.31-0 and greater are included now.

Ambiguous rollup issue

An issue was introduced in ActivReporter 8.35-0 which allowed a rollup to become ambiguous when an account was created or updated. This can occur when a problem with the rollup item rules causes more than one rollup item to be indicated for a single account. Now when accounts are created or updated in this situation, the issue is detected and the change is prevented.

To detect the problem, either deactivate the rollup and try to reactivate it or use the Rollup Items Ambiguous Check tool.

Developer Tool shows SQL parameter values

Previously, the Developer Tool for HD views and reports did not handle SELECT statements with parameters very well. Parameters appear in the SELECT statements when you apply a filter with parameters.

Now SELECT statements in the Developer Tool which reference parameters include a comment that lists the values of the parameters. The values are applied when using the Data to Excel or Data to XML features.

Errors resulting from logging in with long username

In the past, users could experience issues when logging into ActivReporter with a username longer than 40 characters. The following error could occur when attempting to open some types of records such as journal entries:

Application uses a value of the wrong type for the current operation.

The errors no longer occur.

Short description on rollup items defaults to description value

When creating a new rollup item, the Short Description field now defaults to the value in the Description field when you leave the Description field or save the rollup item without entering a Short Description. If the Description value is too long for the Short Description field, the value is truncated at the character limit for the field. This is consistent with the behavior of segment item descriptions.

The behavior of the descriptions is the same when importing or creating a new copy of an attribute item that has a blank short description.

Use one click to connect to a running company

Formerly, you needed to double-click on a company in ActivReporter Explorer to connect. Now a single click automatically connects to the company if it is running.

Warning if running Trial Balance Comparison Report for calendar other than "Fiscal"

The Trial Balance Comparison Report is intended to compare account totals using the "Fiscal" calendar defined in Great Plains. While ActivReporter offers additional calendars which display correct totals in ActivReporter, the totals for Great Plains are incorrect when using these other calendars. Now a warning banner displays in the Trial Balance Comparison Report wizard if a calendar other than "Fiscal" is selected.

8.40

8.40-0

Developer Tool Options menu items added

New menu items are now available for managing Developer Tools and its features. The new items are:

  • Always Show Developer Tool Tab. To access this menu item, open an entity edit window and select > Tools > Developer Tool Options > Always Show Developer Tool Tab.

    Use this option to show the Developer tab in every entity edit window.

    To stop showing the Developer tab in entity edit windows, select > Tools > Developer Tool Options > Always Show Developer Tool Tab again from any entity edit window. Close and reopen the window or select > Tools > Reset Form to remove the tab from the current window.

  • Disable Developer Tools. To access this menu item, open the Developer Tool window, click the ellipsis button at the lower left corner of the window, and select Disable Developer Tools.

    The option can also be accessed from any entity edit window by selecting > Tools > Developer Tool Options > Disable Developer Tools.

    Use this option to disable Developer Tools throughout ActivReporter. Not to worry, you can easily turn tools back on by pressing Ctrl+F12.

  • Show View Reports. To access this menu item, highlight a Reports folder and select > View > Developer Tool Options > Show View Reports.

    Alternatively, open the Developer Tool window, click the ellipsis button at the lower left corner of the window, and select Show View Reports.

    Use this option to show view reports (used primarily with automation) in each package's Reports folder.

    To stop showing view reports in the Reports folders, highlight the Reports folder and select > View > Developer Tool Options > Show View Reports again.

Financial Tree Reporting bot corrections

Previously, the "Consolidation Code" and "Consolidation Description" fields in the Financial Tree Reporting bot configuration workbook were not being set correctly. Also, when the "As of" date was set with bot options, it was not being parsed correctly. Both issues have been corrected.

Fiscal calendar Work Days field set during seed and sync

In the past, the Work Days field in the calendar Periods table for the "Fiscal" calendar was being set to 0 which was not useful. Now this field is set to the number of weekdays in the period, excluding Saturday and Sunday. The value is set during seed and sync and is also set during conversion in the unlikely event that the value has been manually set. The Work Days value is merely a default value and can be changed in the Calendar window to exclude, for instance, days such as holidays if desired.

"Last Activity Date" column added for segment items and rollup items

A "Last Activity Date" column and selection field are now available on segment items and rollup items. The column shows the most recent journal detail posting date to accounts which contain the segment item value or rollup item value. This helps quickly identify segment items and rollup items which have been unused for a long time. You can sort by this column or use a column selection field to identify items no longer in use.

Note

All journal entries, both merged and unmerged, are included when determining the date in the "Last Activity Date" column.

"Last Activity Date" column on Accounts folder now considers unmerged journal entries

Until this release, the "Last Activity Date" column (and its selection field) on the Accounts folder excluded unmerged journal entries when determining the most recent postings to an account. Unmerged journal entries are now included in that determination.

Misleading messages with BCEditor fields

Certain ActivReporter windows use a special control called BCEditor to provide for the entry of multi-line scripts and expressions:

  • Administration:
    • Advanced tab of security views
    • Data Source tab of data sources
    • Gadget tab of dashboard gadgets
    • Advanced tab of entity filters
    • Script tab of bots

In the past, users could get a Dataset not in edit or insert mode error under the following three conditions:

  • The window was in Read mode.
  • The user put focus on the BCEditor field by tabbing or using a shortcut key (but not by clicking in the field).
  • The user left the field without making a change and set focus on a different field.

Unfortunately, under these conditions the BCEditor behaved as if you had changed to a different value simply by entering the field via tabbing or use of a shortcut key.

If the user was in Edit mode, made no changes, and entered the BCEditor field via tab or shorcut key, and then tried to close the window without saving changes, the following message was presented:

<Entity Item> has changed.

Do you want to save changes?

The problem has been addressed so that the user no longer encounters these annoying and misleading messages.

Navigation pane corruption corrected

In the past, the folder display in the ActivityHD Explorer navigation pane could become temporarily corrupted resulting in the pane not being painted correctly. Closing and reopening ActivReporter or disconnecting and reconnecting resolved the situation.

The corruption occurred when another user created a new record which resulted in a new subfolder being added to the navigation pane. Typically, this would occur when records such as segments, attributes, rollups, and custom data were added. The issue resulted because the new subfolder was being created and sorted to its correct position in the navigation pane. When corruption occurred, and it did not always occur, it usually affected every folder beneath the newly created folder.

The navigation pane now correctly handles the addition of new subfolders and the corruption no longer occurs.

ViewReport automation methods now allow report names

Until this release, the ViewReport OAS and ActivWebAPI methods required package and folder parameters. Now the second parameter can take either the name of a folder or the name of a report. All data folders continue to have a single main view report, but some will have secondary reports as well.

8.39

8.39-0

Administration folder layout changes

The structure of the system-level and company-level Administration menus has changed to facilitate efficient use. In particular, the Authorized Users folder is no longer submerged below the Security folder, and both folders now reside at the top level. Other folders which were originally strewn alphabetically at the top level are now collected in the Setup folder. The arrangement of the top-level folders is now consistent with other package folders.

Easier access to the Developer Tool

Until this release, if you wanted the Developer Tool available for use, you had to enable it in the registry. Now you can simply press Ctrl+F12 from various locations in ActivReporter to access this feature. If the Developer Tool was not previously enabled in the registry, the user is prompted to confirm they want to use the Developer Tool and if they want it enabled everywhere in the application.

This change provides easier access to the Developer Tool and makes it easier for AccountingWare support personnel to temporarily invoke the Developer Tool for investigation without enabling it for the user.

Lookup option for View Reports

A Lookup field has been added on the Selection tabs for the View Reports automation feature. The Lookup field was previously only available in HD views.

New version of BotDevTools module available

A new version of the built-in library for the Financial Tree Reporting bot, BotDevTools, has been introduced. The new version includes improvements to existing methods and some new methods for use in other bots.

Resizing columns with decimal values

In the past, when resizing a column in a table which presented decimal numbers or allowed entry of decimal numbers, the contents of that column in the row that had focus would not resize properly. The issue was temporary and resolved itself once the window was closed and reopened. The column control was incorrectly set to autosize instead of allowing the user to manually resize the column. The issue has been corrected.

Sync Health improvements

The Sync Health feature has been enhanced to provide visibility to the sync status between Great Plains and ActivReporter and to provide a dialog which indicates which Great Plains database is being used for syncing.

Four new columns which show the status of ActivSync for each company are now available in the ActivitySystem > Companies folder:

  • ActivSync - Enabled. Displays "ActivSync" for each company with ActivReporter installed and that has been updated to ActivSync.exe.
  • ActivSync - Unprocessed Messages. Displays the number of updates waiting to be processed for each company.
  • ActivSync - Status. Displays "GOOD" if the last update was applied with no issues. Displays "ERROR" if the last sync was unsuccessful.
  • ActivSync - Message. Displays the most recent message from the sync processor or from the background maintenance routine.

The ActivReporter Options dialog is available by right-clicking the ActivReporter folder and selecting Options. The dialog shows how ActivReporter is currently configured through ActivityHD Manager. All settings are read-only.

Finally, the ActivReporter folder now has a visual indicator of sync health.

The following indicators are possible:

  • ActivReporter is in sync with Great Plains.
  • There are update messages waiting to be processed.
  • An error has occurred in the sync process. Check the Options dialog for the error message.

8.38

8.38-1

V8Script update

The version of V8Script has been updated to 1.1.0.32. This version fixes problems with access violations related to "for" loops.

V8Script update

The version of V8Script has been updated to 1.1.0.33.

8.38-0

ActivReporter no longer works with SQL Server 2012

The minimum supported version of SQL Server for ActivReporter has been 2016 for some time; however, ActivReporter continued to work with SQL Server 2012 nonetheless. With this release, ActivityHD Manager, ExecDTS, and ActivMonitor no longer run on SQL Server 2012. As a result, SQL Server 2016 or greater is now required.

New Copy on bots caused access violation

An access violation and its resulting instability could occur when performing a New Copy operation on a bot while the Script Editor window was open. Now ActivReporter closes the Script Editor window when a New Copy operation is performed.

New "Memo" custom field

A new custom field data type called "Memo" has been introduced. A memo custom field supports up to 8000 characters. Moreover, the existing "Text" custom field now supports up to 8000 characters as well. The difference in the "Memo" and "Text" fields is that "Memo" fields support multi-line editing.

8.37

8.37-3

Data source test performance improved

Performance when testing data sources with large complex queries has been improved. The Data Source test is run either manually or automatically when you save a data source.

Removing ErrorsOrWarnings function from financial design

Previously, when a user removed the ErrorsOrWarnings function from a cell in a financial design, Excel would hang. Now the function can be removed and Excel does not hang.

8.37-0

Conditions for beginning balance creation in ActivReporter improved

It is possible for Great Plains to have zero-amount historical journal entries. In prior versions of ActivReporter, these journal entries prevented the creation of the beginning balances entry. The issue has been resolved by updating the conditions under which beginning balances in Great Plains are copied to ActivReporter.

Financial Tree Reporting bot improvements

The Financial Tree Reporting bot configuration workbook has a "Format" column on the "Reports" tab which can have one of three values:

  • <blank>. The default value. Generates the report in Excel workbook format.
  • pdf. Generates a pdf version of the report and an Excel workbook.
  • pdf only. Generates a pdf version only.

Formerly, the "pdf only" option did not behave as expected. Now it does.

In addition, a problem wherein General Ledger Segments, Rollups, and Attributes folders could be left locked after the bot finished running has been corrected.

Intuitive values for Yes/No HD view columns

Yes/No columns in several HD views have been changed to provide clearer information than just "Yes" or "No". For example, HD views with an "Active?" column now show "Active" or blank.

Column heading HD view(s) affected "Yes" value "No" value
Active? Account Indexes

Financial Views

Rollups

Segments

Active blank
Balance? Segments Balance blank
Calendar? Segments Calendar blank
Closing? Allocation Entries Closing blank
Default? Calendars Default blank
Duplicates? Recurring Entries Duplicates blank
Hold? Allocation Entries

Recurring Entries

Hold blank
Reverse? Allocation Entries

Recurring Entries

Reverse blank
Subreports? Financial Views Subreports blank

NewCode() automation method supports purely numeric codes

The NewCode() automation method on the Activity and Company objects now supports purely numeric codes. To request this behavior, pass a blank string ("") as the BaseCode (the third parameter). Doing so causes the method to look for existing codes which are numeric and to return the next available integer number formatted with leading zeros. The sequence of numeric codes follows this pattern: 00001, 00002, 00003,...

Runtime errors with bot modules which reference certain objects

Previously, bot modules received a runtime error if their initialization code contained references to objects such as MacroProcess. Initialization code is code that is not inside a method or class. The problem arose due to an order of operations issue where objects were not available when the bot modules were loaded. The problem did not occur when debugging bots, but instead when attempting to run bots.

The issue has been resolved.

Sync redundancy routines handle custom account code separators

In the past, there was a problem with sync redundancy for Great Plains companies that were set up to use a character other than the default hyphen (-) to separate the segments in the account code. Now sync redundancy routines correctly handle custom segment separators.

8.36

8.36-1

V8Script update

The version of V8Script has been updated to 1.1.0.31. In prior versions, when debugging, V8Script would sometimes hang when there was at least one breakpoint. The problem no longer occurs.

8.36-0

Activity.NewTempFile2 method can now use FileName parameter

Previously, the Activity.NewTempFile2 automation method did not honor the FileName parameter. Now it does.

JScript example

var objTempFile = Activity.NewTempFile(".txt")

MacroProcess.AddMessage(objTempFile.FilePath)

var objTempFile2 = Activity.NewTempFile2("myFileName", ".txt")

MacroProcess.AddMessage(objTempFile2.FilePath)

Results:

%Temp%\AccountingWare Activity\27676\tmp54DD.txt

%Temp%\AccountingWare Activity\27676\myFileName tmp1.txt

Automation connections recovery

The behavior of automation connections which exist at the time of a server restart has been improved. Automation connections can now be reestablished without unintended errors.

Dialog behavior improvements

In the past, errors could occur when attempting to close some dialogs with selection conditions or change items that have invalid values. Now these dialogs close with no validation messages or related errors.

Financial Reporting Tree bot consolidation options enhanced

Three optional columns have been introduced to the Financial Tree Reporting bot configuration workbook. These columns provide additional control of the bot's results; namely, the ability to include or exclude the consolidation report.

The following columns are now available:

  • Consolidated. The following values are valid:
    • <blank> or exclude. No consolidated report is generated. This is equivalent to "Exclude Consolidated" in the Publish Financials dialog.
    • yes. Generates a consolidated report and uses the values specified in the "Consolidated Code" and "Consolidated Description" columns. This is equivalent to "Include Consolidated" in the Publish Financials dialog.
    • only. Generates only the consolidated report and uses the values specified in the "Consolidated Code" and "Consolidated Description" columns. This is equivalent to "Consolidated Only" in the Publish Financials dialog.
  • Consolidated Code. The consolidation code included in the file name and in the Excel worksheet name. The default value is "Consolidated".
  • Consolidated Description. The iteration description for the consolidated report. The default description is "Consolidated".

Import XML result improvements

The XML results which are returned from automation calls to Data.Import or ActivWebAPI data post and delete routes have been improved. The XML is now more informative regarding the commands performed, especially if any "Actions" were executed.

In addition, the Developer Tab feature in edit windows has been improved to provide access to this feature. The former Export/Import tab is now split into two tabs: Export (XML) and Import (XML). The Import (XML) tab shows the latest resulting XML from the use of the Import feature within the edit window.

Example

<XML ID="{5C0FA2D5-3871-43ED-BC1F-B4DE2E3001B8}" Type="AP Invoices" Content="List">

<data Code="New_Batch - 559" ID="{034B882F-4F08-41F9-8027-27FCD818B640}" Command="Read">

<Actions Content="List">

<Approve Success="true" Action="Approve" AsMaster="false"/>

<Merge Success="true">

<Messages>

<item>Warning: Quick Pay (AP - 97) - GL Entry Line 1 - Calendar (Month) is closed to postings for the date (6/16/2020)</item>

<item>Warning: Entry is unbalanced - Accounts: 0-????-??-?????-A-??, Unit: $, Date: 8/1/2020, Amount: 1,000.00</item>

</Messages>

</Merge>

</Actions>

</data>

</XML>

Journal entry batch from Update action now consistent with batch created from seeding

Dynamics Great Plains can create journal entries which are in the same accounting year and have the same journal entry number but differ in their Recurring TRX Sequence number. Posted and historic journal entries are created in ActivReporter with the Batch field set to the fiscal year in Great Plains. If the Recurring TRX Sequence number is greater than zero, that number is appended to the fiscal year.

The formatting of the Recurring TRX Sequence number is limited to two digits to the left of the decimal point. Now the journal entries posted using sync redundancy use the same format for the Recurring TRX Sequence number.

A conflict only arose if sync redundancy was enabled and the Great Plains company used batches which generate multiple entries with the same journal entry number.

Seeding process completes even if error occurs shrinking database

The last step in the seeding process shrinks the ActivReporter database to reduce the size of the database which typically expands. The shrinking step is not necessary for seeding to be successful. Now errors shrinking the database are not reported so that seeding can complete successfully.

V8Script update

The version of V8Script has been updated to 1.1.0.30. In prior versions, when debugging, V8Script would break on every exception. With version 1.1.0.30 V8Script no longer breaks on exceptions.

XML output improvement

Prior to this release, XML output could contain special characters which are not handled by all types of XML parsers. Now these special characters are properly escaped using standard XML syntax.

8.35

8.35-1

V8Script update

The version of V8Script has been updated to 1.1.0.29. Version 1.1.0.29 fixes issues with record loop bots.

8.35-0

Behavior of iteration limit types with spaces in name improved

In the past, adding an iteration limit type with spaces in its name to iteration limits in the Workbook Options dialog of financial designs caused an error in the resulting drilldown items expression. Now iteration limit type names with spaces in them are enclosed in quotation marks to prevent this error from occurring.

Direct rollup values now updating properly

Previously, direct rollup values were not always being updated correctly.

Suppose you had the following four rollups:

  • AcctCategory - A rules-based rollup on the "Main" segment.
  • AcctType - A direct-assignment rollup on the AcctCategory rollup.
  • IncomeStatement - A direct-assignment rollup on the AcctCategory rollup.
  • BalanceSheet - A direct-assignment rollup on the AcctCategory rollup.

In the past, when you created a new account, the AcctCategory rollup was assigned the appropriate value based on its rules. However, the AcctType, IncomeStatement, and BalanceSheet rollups had a blank value instead of the rollup item which was assigned directly on the corresponding AcctCategory rollup item. Moreover, any other rollup which depended on one of these three rollups also did not update correctly.

Now all rollups on new accounts are set to the appropriate value even on direct-assignment rollups which are assigned on another rollup.

Expanded consolidation options in Publish Financial Statements

Until now the Include Consolidated option was simply a checkbox available when using iteration in the Publish Financial Statements process. Now the consolidation option has been expanded to allow a single complex iteration. To use the new feature, select an iteration type and click in the Options field to reveal the new Consolidated Options dialog.

Select a consolidation option and provide a code and description.

Option. Specify the consolidation option. Valid options are:

  • Include Consolidated
  • Exclude Consolidated
  • Consolidated Only

Code. Specify the consolidation code to include in the file name and in the Excel worksheet name. The default value is "Consolidated". This field is disabled if you select "Exclude Consolidated" in the Option field.

Description. Specify the iteration description to use in the report. The default iteration description is "Consolidated". This field is disabled if you select "Exclude Consolidated" in the Option field.

Publish Financial Statements honors combine iterations option

In the past, the Combine iterations into multisheet workbook option was not honored when outputting financials to a printer. Now when you opt to combine iterations and print, a single print job is generated.

Publish Financial Statements limits iterations by existing journal detail

The publishing process now calculates the iteration items set differently. Iteration items are now limited based on existing journal detail postings. So if you choose "Department" as the iteration type, only departments with postings will be included as an iteration or included for the consolidated statement. Iterations based on attributes already behaved this way, now iterations based on segments and rollups do as well.

V8Script restored to Script Engine dropdown

The "V8Script" option has been restored to the Script Engine drop-down list. It had been hidden for awhile while improvements were being made to V8Script. While we cannot ensure that V8Script has no problems or bugs, it is now stable enough for general release.

V8Script update

The version of V8Script has been updated to 1.1.0.26. Version 1.1.0.26 provides the correct error messages for exceptions from COM objects.

8.34

8.34-1

Financial Tree Reporting bot allows iteration by attribute

You can now use iteration expressions to allow iteration by attribute through the Financial Tree Reporting bot.

The Conditions field on the Reports tab of the configuration workbook now accepts an iteration expression which limits the number of iterations.

Example

Suppose a company has an attribute called "Budget". You can create a new report for each budget by setting the Iteration field to Attributes=Budget. To limit the report to only budgets which contain "2008", you would then set the Conditions field to (Budget LIKE '*2008*').

V8Script update

The version of V8Script has been updated to 1.1.0.11. The previous version (1.1.0.10) did not release COM objects which had been added through IActiveScript.AddObject. The problem has been corrected and V8Script now properly cleans up object interfaces which are added through IActiveScript.AddObject. The cleanup now appropriately occurs on IActiveScript.Close.

The "V8Script" option continues to be hidden from the Script Engine drop-down list.

V8Script update

The version of V8Script has been updated to 1.1.0.14. The previous version (1.1.0.11) did not not properly handle a large number of variants to Javascript conversions. Variants are often returned from COM interface properties and methods. Version 1.1.0.14 fixes most of those problems and handles most variant types including null, decimal, and date.

The "V8Script" option continues to be hidden from the Script Engine drop-down list.

V8Script update

The version of V8Script has been updated to 1.1.0.15. Version 1.1.0.15 fixes some problems with variables not displaying in the debugger.

The "V8Script" option continues to be hidden from the Script Engine drop-down list.

V8Script update

The version of V8Script has been updated to 1.1.0.18. Version 1.1.0.18 fixes a problem in which attempting to call "out" parameters would always return an error.

The "V8Script" option continues to be hidden from the Script Engine drop-down list.

V8Script update

The version of V8Script has been updated to 1.1.0.19. Prior to version 1.1.0.19, the release of all COM objects occurred when the script terminated. Now release of COM objects is tied to garbage collection and occurs as the memory which contains the COM object reference is reclaimed by the garbage collector.

The "V8Script" option continues to be hidden from the Script Engine drop-down list.

V8Script update

The version of V8Script has been updated to 1.1.0.21. Version 1.1.0.21 fixes problems with the Javascript data type of binary variants.

The "V8Script" option continues to be hidden from the Script Engine drop-down list.

V8Script update

The version of V8Script has been updated to 1.1.0.25. Version 1.1.0.25 fixes problems related to the toString method on COM objects. In prior versions, there was no toString method on COM objects in V8Script. With this version, the toString method on COM objects is supported.

Additionally, version 1.1.0.25 represents a significant performance improvement when dealing with COM objects. All functions and properties are now added statically when the objects are created resulting in better performance because methods do not have to be looked up each time a call is made. In some instances the speed is up to twice as fast, especially for loops that invoke the same property or function multiple times during the life of an object.

The "V8Script" option continues to be hidden from the Script Engine drop-down list.

8.34-0

Budgets fail to sync in companies seeded with limited history

A problem existed in which a date range budget created in Great Plains would not sync to ActivReporter. The problem occurred if the ActivReporter company was seeded with limited history and if ActivSync SyncRedundancy was used.

The issue has been addressed by changing how Great Plains budgets are limited when the history is limited.

V8Script temporarily removed from Script Engine dropdown

The V8Script engine is not currently suitable for general release. While improvements continue to be made (see below), the "V8Script" option has been temporarily removed from the Script Engine drop-down list.

V8Script update

The version of V8Script has been updated to 1.1.0.10. The previous version (1.1.0.8) did not properly release COM objects created during the run. This latest version corrects that issue.

Visual C++ redistributable runtimes upgrade

The version of Visual C++ redistributable runtimes which is included in the ActivReporter distributions has been upgraded from version 14.32 to 14.34.

8.33

8.33-3

ActivSync database check issue

A check is performed before the ActivSync database is updated to ensure the database was created by ActivReporter. In the past, the check would fail if the ActivSync database was created before version 8.33. This issue has been corrected.

8.33-2

ActivSync now updated as needed during System Configuration process

In the past, a change to the ActivSync database after an update required you to run the Company Configuration wizard for one of your ActivSync-enabled companies. Now the automatic database conversion process of the System Configuration wizard includes updating the ActivSync database so that the separate company configuration is not necessary. The step is only activated if a least one company is configured to use ActivSync.

ActivSync Status dashboard gadget correctly shows last successful update time

A change in ActivReporter 8.33-1 to a method which tracked the last successful sync operation introduced a problem in which the time of the last successful ActivSync status did not show in the ActivSync Status dashboard gadget. The problem has been corrected.

Empty ActivSync database stops installation

Activity Manager checks the ActivSync database to determine if it looks like the database created for ActivReporter and stops the installation if it does not. Previously, the installation would stop with an error if the ActivSync database was empty. This situation has been corrected.

8.33-1

Financial Tree Reporting bot labels more understandable

Several field labels have been changed to make the Financial Tree Reporting bot options easier to understand:

  • "Calendar Period" is now "Current Period".
  • "As of Date" is now "As of".
  • "Currency" is now "Currency Unit".
  • "Include Unmerged" is now "Include Unmerged Entries not on Hold".
  • "Config File" is now "Configuration Workbook".

In addition, explanatory text has been added beneath the Configuration Workbook field indicating that if the field is left blank the configuration workbook attached to the bot record will be used to produce the report.

8.33-0

Access violations when Advanced Security is not installed

In ActivReporter version 8.26-0, a problem was introduced which caused users to receive access violation errors when attempting to open the Bot, Dashboard Gadget, and Data Source edit windows if Advanced Security was not installed.

The problem has been addressed.

Automatic maintenance check-up feature

An automatic maintenance check-up feature has been introduced to ActivReporter. This feature changes how synchronization errors are reported.

ActivSync now records errors in the ActivSync database so that the errors are available to be reported to the user. (The reporting feature is still being developed.)

The ActivReporter server now has a maintenance procedure which automatically runs to check for ActivSync errors and unprocessed update messages. The maintenance procedure also tests any Great Plains journal entries which need to be updated. Finally, the procedure checks for ActivReporter balances which do not match the Great Plains database.

Financial Tree Reporting bot 1.2.1

The Financial Tree Reporting bot has been upgraded to version 1.2.1. In this new version, the configuration workbook is checked for appropriate values before the reports are generated. In prior versions, error messages were generated which could be long and made diagnosing the problem difficult.

New version of VBSEdit

The recommended version of VBSEdit has been updated to v23.1.25.5. The installer is available in the distribution folder Extras\VBSEdit.

VBSEdit is an optional and separately installed editor and debugger which can be used for bot creation and maintenance in ActivReporter.

Important!

The VBSEdit installer must be run as an administrator passing the cmd line switch /allusers.

8.32

8.32-0

Data and Import elements available to RunAction calls which display an edit window

Data/Import elements can now be passed as part of the XML parameters on RunAction calls that are used to display an edit window. A "Data" element causes a single data operation to be performed. An "Import" element can have multiple data operations just like running Import from the File menu of an edit window.

Example

The following script brings up an edit window in "New" mode and executes a data operation which sets the description of the new record:

var vPackageName = "Service";

var vFolderName = "Tasks";

var vParams = "<p><data><Description Value='This description came from the template'/></p>";

Company.RunAction(vPackageName, vFolderName, "New", vParams);

Improvements to Export/Import (XML) feature

Several enhancements have been introduced to the Export/Import (XML) feature. These improvements are available through Export/Import and through the ActivWebAPI data routes.

  • New "Read" XML command. This command provides greater control over an XML data operation. For example, with the "Read" command you can add attachments for performing actions without editing and saving the data record.

    Example

    <XML Type="AP Invoices">

    <data Code="New_Batch - 558" Command="Read">

    <Attachments>

    <item FileName="Test.txt" >VGhpcyBpcyBhIHRlc3QgYXR0YWNobWVudC4=</item>

    </Attachments>

    </data>

    </XML>

  • New attachment item limit on Content (XML). This feature allows ActivWebAPI Data Get to be limited to a single attachment. Use the Content button on the Export/Import Developer tab of any edit window to investigate this feature.

    Example

    <Content Value="List">

    <Attachments Value="Complete" Item="Test.txt"/>

    </Content>

  • New Action XML on Content. Export/Import and ActivWebAPI data routes now support actions. Additional work will be required to make this feature available on particular data folders.

    Example

    <XML Type="AP Invoices">

    <data Code="New_Batch - 558" Command="Read">

    <Actions>

    <Approve Action="Approve" Execute="true"/>

    <Merge Execute="true"/>

    </Actions>

    </data>

    </XML>

  • Content controls introduced to the Export/Import Developer tab of edit windows. Use the Content button to specify the options which control the resulting XML. Use the Developer Tool to investigate the XML format for these settings. This capability is useful when implementing ActivWebAPI Data Get calls.

New Attachments.GetItemText automation method

A new Attachments.GetItemText automation method has been introduced to make it easy to use the contents of a text file attachment within ActivReporter automation code. For example, you could use the new method to store XML as an attachment on a bot for use within the bot.

Example

var vPackageName = "Service";

var vFolderName = "Tasks";

var vParams = MacroProcess.Attachments.GetItemText("Params.xml");

Company.RunAction(vPackageName, vFolderName, "New", vParams);

New Connection History folder

Formerly, you could view connection history for a single authorized user from the Authorized User window, but could not easily investigate connection history across multiple users. Now Connection History folders have been added at the Activity System (Activity System > Administration > Security > Authorized Users > Connection History) level and at the company levels ([Company] > Administration > Security > Authorized Users > Connection History) to support that sort of investigation.

A "Current Connections" built-in filter is included in the Connection History HD view to limit the view to current connections only.

Related changes:

  • The Connections tab in the Authorized User window has been replaced by the Connection History tab which shows connection history for the selected authorized user.
  • Connection history is automatically purged when a user connects, retaining only the last 60 days of connections.
  • When your data is converted for this change, permission accesses to authorized users are copied for connection history. This way, users who currently have authorized user access will automatically gain access to the new Connection History folder.

Opening a data record to a specific tab through automation

When you open a data record using RunAction ("Edit" or "Read") you can include "SelectTab" elements within the RunAction XML parameters to control which tab is initially presented to the user. In addition, "Select Tab" elements can be nested to handle nested tabs such as Other > Timestamps.

Script to open Employee Locations to the Timestamps tab (jscript)

var vPackageName = "Payroll";

var vFolderName = "Locations";

var vData = RecordLoop.Data;

Company.RunAction(vPackageName, vFolderName, "Read",

"<Item ID='" + vData.Fields(1).Value + "'>" +

"<SelectTab Name='Other'>" +

"<SelectTab Name='Timestamps'/>" +

"</SelectTab>" +

"</Item>");

Removal of companies from menu improved

Previously, when you cleared the checkbox next to a company in the Select Companies dialog (Activity System > [right-click] > Companies), the company only disappeared from the menu immediately if the company was already disconnected. Now ActivReporter Explorer first attempts to disconnect from the company before making the company disappear from the menu.

If a user has windows open with unsaved changes, ActivReporter notifies the user and provides the opportunity to save changes before disconnecting.

Click Yes to save the changes and disconnect. Click No to discard changes and disconnect. Click Cancel to continue without disconnecting.

Select multiple companies to show or hide at once

Until now you could only mark or clear the checkbox for one company at a time in the Select Companies dialog. Now you can select multiple companies with Click, Shift+Click, and select multiple companies individually with Ctrl+Click; therefore, when a selected company is marked or cleared, the change is applied to all selected companies. This change allows for much faster showing and hiding of multiple companies.

Show or hide all companies at once

The Select Companies dialog now allows you to select all companies at one time. To do so, right-click in the dialog and select Select All, or put focus in the dialog and press Ctrl+A.

V8 scripting engine added for bots

Google Chrome, Microsoft Edge, and other Chromium-based web browser engines use a different flavor of JavaScript known as "V8". Now V8Script is available as a scripting language for bots. "V8Script" has been added to the Script Engine drop-down list in the Bot window.

In addition, a version of V8 which can be used for bot scripts is included with the distribution and is automatically installed with all client installations of ActivReporter.

8.31

8.31-0

Boolean values standardized for XML

Boolean values which are written to XML now follow the "true" and "false" standard rather than "True" and "False". This simplifies automation scenarios which expect this XML specification. The change only affects XML which is exported or written out by the application. XML which is imported or read continue to work regardless of case with regard to Boolean values.

Any automation code which performs a case-sensitive comparison of these values should be updated accordingly.

Path to ActivSync.exe checked by Company Configuration wizard

The Company Configuration wizard creates a configuration file for the SQL Service Broker External Activator (SSBEA) service. The configuration file created must contain the path to the ActivSync program. During installation, the path to ActivSync.exe is saved in the ActivSyncPath system environment variable.

In the past, if the variable was not set, a default path to ActivSync.exe was used and users could continue. If the file was not located at the default path, the SSBEA service would not start. The problem was difficult to diagnose because the only error was written to a log file in the "Service Broker" folder.

Now the wizard ensures that the file is located in the path specified; otherwise, an error is reported and the configuration file is not updated.

8.30

8.30-3

Duplicate email notification issue

Previously, duplicate email notifications could be sent after a single change.

Now email notifications are not duplicated.

8.30-2

Error fixing filters and security views with condition restore errors

An issue was introduced in ActivReporter version 8.23 which returned an error when a user attempted to fix filters and security views with conditions that had restore errors. The problem has been alleviated.

ViewReport automation methods errors

Previously, an error would occur if you attempted to use the Activity.ViewReport or Company.ViewReport automation method to access detail folders.

The error no longer occurs.

8.30-1

SQL Server 2022 support

ActivReporter now runs using SQL Server 2022. While you could run ActivReporter using SQL Server 2022 in the past, ActivReporter Manager and the ExecDTS utility could have problems unless earlier versions of SQL Client Tools were also installed.

These issues have been addressed.

8.30-0

ActivMonitor notification email

The ActivMonitor service monitors Activity System and ActivReporter companies and sends notification emails if a connection cannot be established. Now the email feature allows you to specify an email address to use with the service and to send notification emails less frequently.

To set the email address to use with ActivMonitor, use parameters from the cmd line with the ActivMonitor.exe file and set the desired email address. If an email address is not configured, notification emails from ActivMonitor are sent to the contact email address which is configured for Activity System.

New IReport DataXML method

The IReport automation object now has a method called DataXML which returns the same data as the existing DataRecordset method except that it is in XML format. The new method is used by the api/report/data ActivWebAPI routes to provide consistent XML representation of report data.

New View Reports automation feature

Automation users often need access to the same information that is visible in an HD view. View Reports is a new automation feature which satisfies this need. A view report is available for all folders in ActivReporter. These reports can be used for easy access to data that can be seen when visiting an HD view. This feature makes it unnecessary to create a data source for many automation tasks that would have required the more complex data resource feature in the past.

The View Reports feature is available through the following ActivWebAPI routes:

  • api/viewreport/data
  • api/viewreport/export
Sample bot code

Dim report

Set report = Company.ViewReport("Accounts Payable", "Vendors")

report.ShowForm

Currently, view reports are only available through automation methods.

Simplified specification of saved answers for IReport

Previously, it was always necessary to use XML when setting saved answers for an IReport. Now, as long as the saved answer does not start with a "<" character, you can simply specify the saved answer name.

The following lines of automation code produce the same result:

report.Answers("<Answers Name='My Saved Answer'/>");

report.Answers("My Saved Answer");

This change also affects ActivWebAPI routes for reports.

Saved answers that start with "<" which are passed to report.Answers are assumed to be fully-formed XML.

8.29

8.29-0

ActivMonitor errors

Previously, the ActivMonitor service could get errors which required restarting.

The RPC server is already listening.

The issue has been addressed.

New TempFile automation object

A new TempFile automation object has been introduced to make certain automation tasks easier. The TempFile object provides a FilePath that automatically gets deleted.

Use Activity.NewTempFile to create a new TempFile object.

TempFile properties/methods:

  • Property FilePath As String. Returns the path of the temporary file.
  • Sub Delete. Immediately deletes the file at the path.
  • Sub Release. Avoids immediate deletion of the file. Use this method to hand off the file to another application.

New version of VBSEdit

The recommended version of VBSEdit has been updated to v22.10.14.5. The installer is available in the distribution folder Extras\VBSEdit.

VBSEdit is an optional and separately installed editor and debugger which can be used for bot creation and maintenance in ActivReporter.

Important!

The VBSEdit installer must be run as an administrator passing the cmd line switch /allusers.

Option to turn seeding or syncing of unposted GP journal entries off or on

A new option has been added to the Company Configuration wizard to help reduce the overhead in the ActivSync process for companies with a high number of unposted entries per day in Great Plains that do not want to include the unposted amounts in financial reports. By default, unposted Great Plains entries are included in the seeding process and in the ActivSync process. Now a Sync Unposted option is available on the "ActivSync Configuration" page of the configuration wizard so that you can manage the handling of unposted Great Plains entries. The option can be turned on or off individually for each ActivReporter company that uses ActivSync.

Report.ExportToTempFile method file extensions

Previously, the file created by the Report.ExportToTempFile automation method could have a file extension that did not coincide with the requested report output. The method now produces a file with the appropriate file extension.

8.28

8.28-0

Budget closing issues addressed

In ActivReporter version 8.20-0, budget closing entries were introduced to set the accounts in a budget to zero at the end of the last day of a budget. Two problems arose with this change:

  • Budgets which were based on a date range were not getting the correct last day of the budget. As a result, the budget attribute was not set correctly on budget detail. This issue has been corrected.
  • A special case occurs when a budget ID is the same as a fiscal year and the Great Plains data includes a journal entry numbered "1" in the transaction data. The budget closing process creates a journal entry in ActivReporter with a batch number made up of the budget ID and a sequence number of 1. For instance, if the Great Plains data includes a transaction for the fiscal year 2020 and journal entry #1, ActivReporter creates a journal entry of "2020 - 1". If a budget ID in the same company is named "2020", the calculated budget closing entry will also be "2020 - 1". Henceforth the the budget closing entry will not be created if ActivReporter detects that it would conflict with an existing GL transaction. The SQL test script, GP_Database_Check.sql, reports this condition as a warning.

RPC errors more informative

In the past, when an RPC error occurred, the status value was reported and the text of the status value was shown. Going forward these errors will also include extended error information when available to help in diagnosing the source of the failure.

It is also possible to propagate extended error information from the server by enabling a group policy. The group policy is located in "Administrative Templates\System\Remote Procedure Call" in the policy named "Propagate extended error information". When enabled, the RPC errors also include information about the error from the server and how it was propagated to the client. In order for this policy change to take effect, the Activity servers must be restarted.

Propagation of extended error information is not recommended as a standard practice since it can reveal information such as machine names, security settings, etc., which some organizations may consider to be sensitive information. Therefore, we recommend only enabling extended error information temporarily when needed for diagnostic purposes.

Exercise caution when enabling the "Propagate extended error information" policy since it can affect any and all RPC servers on the system.

8.27

8.27-0

Database maintenance query timeout extended

The system server periodically performs maintenance on its own database and on all company databases. For very large databases, the maintenance procedure could time out before it completed. The default timeout value for the maintenance operation is probably ten minutes, the SQL Server engine's "Remote Query Timeout" value. If the error occurred, it was reported in the Event Log and the database was rolled back to its previous state--without the changes made by the maintenance procedure.

Now the query timeout for this statement is set to 60 minutes to ensure it has plenty of time to complete.

"Required" option on direct-assignment rollups disabled

Rollups can be created which are assigned directly on an account, on a segment, or on another existing rollup. Marking the Required checkbox on a direct assignment rollup, however, could interfere with ActivSync and the reseeding process. For that reason, the Required checkbox is now disabled.

8.26

8.26-0

Bots indicate if inaccessible from "run from" folder

Banner messages now display to alert bot users that a bot will not be visible from the "run from" folder if either of the following conditions is true:

  • Access Control is set to "None".

  • Access Control is set to "Permitted" but no permissions are assigned.

Companies icon updated

The icon that represented the Companies folder in the navigation pane and in the menu was formerly a hamburger-type icon. The icon has been updated to an icon with buildings:

Custom field names with apostrophes

In the past, custom fields with an apostrophe in the Name field did not function properly. Now apostrophes can be used in custom field names without a problem.

Data sources indicate if unavailable

Banner messages now display to alert data source users that a data source will not be available if either of the following conditions is true:

  • Access Control is set to "None".

  • Access Control is set to "Permitted" but no permissions are assigned.

Database maintenance enhancement

The database maintenance procedure introduced in ActivReporter 7.43 now updates statistics on all tables when an "unlimited" update is performed. The Activity System service performs an "unlimited" update on the system database and all company databases on a nightly basis (after midnight). Up-to-date statistics on tables, columns, and indexes allow SQL Server to create better-performing query plans.

Database maintenance incorporated in configuration process

During system and company configuration, ActivityHD Manager now performs the database maintenance procedure in "unlimited" mode if any of the following events occur:

  • Database conversions are performed on the system or company databases.
  • Packages are installed into the system or company databases.
  • The ActivReporter database is seeded or reseeded.

The database maintenance procedure (dbo.ActivityDatabaseMaintenance) rebuilds or reorganizes indexes based on fragmentation thresholds. In "unlimited" mode, the procedure also updates statistics on all database objects. Indexes can become fragmented and statistics can become out-of-date during major database operations such as conversions, package installations, and seeding. In order for SQL Server to compile and execute good query plans when retrieving data from the database, it needs unfragmented indexes and accurate statistics.

This mechanism provides an automatic way to refresh indexes and statistics in an ActivReporter database to optimize query performance after major changes to the database.

Gadgets indicate if unavailable

Banner messages now display to alert gadget users that a gadget will not be available if either of the following conditions is true:

  • Access Control is set to "None".

  • Access Control is set to "Permitted" but no permissions are assigned.

Notification email uses Activity Server email settings

Previously, it was necessary to configure SQL Server Database Mail in order to enable notification email. Now notification email messages are sent using the Activity Server email settings which are more easily configured through ActivityHD Manager and through the Activity System > Companies folder.

Service principal name established for Activity servers

Most ActivReporter users will see no differences in behavior from the change described below.

A service principal name is a unique identifier of a service instance used for Kerberos authenticated connections to ActivityHD servers. The service principal name is a critical part of the handshake necessary to establish authenticated connections under Kerberos.

With this release, the service principal name for all ActivityHD servers is "Activity/machine".

When the Activity System server is started, it attempts to add new service principal names for Activity/machine. For this to work properly, the Activity System server service must be running under the localsystem account (recommended) or under an account with domain administrator privileges. If the Activity System server cannot add new service principal names, it uses the default name for the user under which the server is running.

To see the service principal names while the Activity System server is running, use SETSPN -L nodename.

8.25

8.25-7

VBSEdit error with system bots

An issue was introduced in ActivReporter 8.25-0 which produced an error when a user attempted to use the VBSEdit script editor from a system-level bot. The issue has been corrected.

8.25-4

Field links in new embedded browser

A problem was introduced in version 8.25-0 when the new embedded Edge-based web browser was introduced where external file links of the form [[filename|file:///<filename>]] did not work correctly. The links were being blocked by the internal web browser for security reasons. Now links from the dashboard to external files and directories work correctly again.

New dashboard method

A new OpenFileLink method has been introduced on the external object in the dashboard. OpenFileLink takes one string argument. The argument passed to external.OpenFileLink should be a normalized file URL that starts with the "file:" transport. OpenFileLink attempts to open the file path of the URL; an error is raised if the file cannot be opened.

8.25-2

Financial Tree Reporting bot correction

Version 1.1.0 of the Financial Tree Reporting bot would stop on an error if a report name included a space character. The problem has been corrected in version 1.1.1.

8.25-1

Maintaining budget attributes

Previously, the procedure to update GP budgets in ActivReporter did not maintain the ActivReporter budget attribute. The budget attribute item in ActivReporter is the budget ID in Great Plains. Now the procedure creates a budget attribute item when needed and deletes the budget attribute item when the budget ID is removed in Great Plains.

8.25-0

Bot editor-VBSEdit integration

The integration between the bot editor and VBSEdit has been improved. One area of improvement is in the mechanism which keeps the VBSEdit application up to date as the bot record is changed and saved. Users should experience far less flickering when the application is updated. In addition, breakpoints placed in VBSEdit should be lost much less frequently.

The Script Editor button in the Bot window now provides a drop-down menu of options which are useful for editing and debugging bots.

The Show the Script Editor option performs the original function of the Script Editor button. You can use the new Close the Script Editor command to close VBSEdit.

In the area of debugging, a new Bot Debug Output tool is now available. You can access it using the Show Debug Output option in the Script Editor drop-down menu.

This window shows the messages and results which are added during debugging.

If you want to start debugging from scratch without having to close and reopen the bot, use the Reset Debug Objects command in the Script Editor drop-down menu or the Reset button on the Bot Debug Output tool.

Company authorized user considered obsolete if linked system authorized user is obsolete

A user cannot connect at the system level if their system-level authorized user record is flagged as obsolete. Likewise, a user cannot connect to a company if their company-level authorized user record for the company is flagged as obsolete. Previously, the company authorized user(s) linked to an obsolete system authorized user were not automatically considered as obsolete. Now they are.

Automation note

A new automation field called "SystemUser_Obsolete" is now available on company authorized user records. This new field along with the existing "Obsolete" field can be used in automation scenarios to determine if a company authorized user record is considered obsolete.

Embedded browser replacement

Before this release of ActivReporter, the embedded browser used to display the dashboard and certain web-based custom field types was Internet Explorer-based. Microsoft has recently retired Internet Explorer and it no longer handles the demands of many modern websites. As a result, an Edge-based browser which uses the Chromium engine has been introduced in ActivReporter.

This update primarily impacts three areas of the software:

  • Dashboards. The update should have no noticeable effects on most uses of the dashboard. However, some custom gadgets that use JavaScript with Internet Explorer-specific idioms may need to be modified to behave properly under Chromium.
  • Custom fields. The new embedded browser is used in display folders for custom fields with a data type of "File", "Internet Address", and "Network Folder".
  • Bots. Since the Edge browser runs in a separate process, bots running in the Activity process space now support the Chakra JScript scripting engine. A "JScript (Chakra)" option has been added to the Script Engine drop-down list.

    Note

    Only one Chakra JScript scripting engine can be loaded in a single process. The following error is returned if you run bots which use different Chakra JScript scripting engines in the same Activity process (even after the earlier bot finishes running):

    Unable to load two different Chakra JScript scripting engines.

New Copy improvements for authorized user records

Recent changes to authorized users made it more difficult to use the New Copy action on users at both the system and company levels. This occurred because using New Copy at the system level would automatically create the company authorized user records without applying the New Copy action to them. The result was company authorized user records without the permissions and security views of the user record that was copied.

Now when you use New Copy on a system authorized user record and attempt to save the new record, the following prompt occurs:

Do you want to apply this New Copy operation to the Company Users (n) linked to this System User?

If you click Yes, the New Copy action is applied to each of the company user records that are created based on the companies listed on the Companies tab of the system authorized user record.

Furthermore, any companies flagged as obsolete in the Companies table at the time New Copy is executed on a system authorized user record will not be included in the copy operation.

8.24

8.24-1

Posting journal entries to a closed year

Previously, Great Plains journal entry postings into a closed year were not updating correctly in ActivReporter. This problem has been corrected.

8.24-0

Closing process improved to use same exchange rate for all detail

Previously, prior year updates to a year's Balance Brought Forward (BBF) in the Great Plains database would be represented by a GP-BBF entry in ActivReporter using the transaction dates in the Great Plains BBF. The BBF entry in Great Plains is set to Period 0 which is the closing date of the fiscal year. Now the ActivReporter detail dates are set to the closing date of the fiscal year so that any multicurrency conversions are correctly handled.

Designated export file name now used when combining iterations in a single workbook

When combining iterations into a single workbook file, the Account Financial Report and the Publish Financial Statements process formerly used the financial design name instead of the designated export file name as the final Excel workbook file name. The designated export file name is now used for the workbook file name.

Hide/Show companies in ActivityHD Explorer

You can now choose the companies which appear in the navigation pane of ActivityHD Explorer. The companies a user can choose from depend on the access granted on their system authorized user record. By default, all the companies a user has access to are marked. Clear the checkboxes for the companies you do not want to see in the navigation pane. To show the companies again, simply mark the checkboxes again.

Include consolidated statement when generating financials

The Account Financial Report and the Publish Financial Statements process now include an Include consolidated statement option. The option is available when you select one or more items (segments, rollups, and/or attributes) to iterate over in the Iteration field.

Example

Suppose you have a "Store" account segment with eight items (stores "00" through "07"). You want to generate financial statements for stores 00, 01, 02, and 03 and also generate a consolidated financial statement for those four stores.

  1. Open the financial design you want to generate and run the Publish Financial Statements process. We'll use "Income Stmt" for this example.
  2. On the Options tab, respond as indicated to the highlighted selections.

  3. On the Accounts tab, limit the selection to stores 00, 01, 02, and 03.

  4. Complete the process.

The process generates a single Excel workbook (Income Stmt.xls) in the file location you designated. The workbook contains five worksheets: one for the consolidated statement and a statement for each of the four stores.

You can use the @IterationDescription() function in your financial design to produce the worksheet title. When you iterate, the function returns "Consolidated" for the consolidated worksheet title and returns the iteration item description for the titles of the individual worksheets. For example:

  • Income Stmt Consolidated - "Consolidated"
  • Income Stmt 00 - "Corporate Office"
  • Income Stmt 01 - "Lubbock"
  • Income Stmt 02 - "Dallas"
  • Income Stmt 03 - "Houston"

Notes

  • The Include consolidated statement checkbox is marked by default.
  • A future update will enable the Print function to combine iterations in a single print job.
  • When you export a consolidated iteration, "Consolidated" is appended to the output filename: <Financial design name> Consolidated.xlsx.

Special note about iterating over multiple iteration items

To include a consolidated statement when iterating over multiple iteration items (segments, rollups, and/or attributes), DO NOT exclude combinations of those items when creating selection conditions on the Accounts and Attributes tabs of the wizard. The list of iterations to be performed is not simply based on the iteration items matching the selection conditions but the selection conditions are also applied to determine the combinations of iteration items from the specified iteration items. The consolidated statement limits its financial functions to ALL combinations of iteration items from those specified.

Example

Suppose you have two segments, "Store" and "Department", and a rollup, "Performance". Performance is a rollup of Store + Department.

Store Department Performance
01 Apparel High
01 Furniture Low
01 Garden Low
01 Jewelry Medium
02 Apparel Medium
02 Furniture Medium
02 Garden High
02 Jewelry Low
03 Apparel High
03 Furniture Low
03 Garden Medium
03 Jewelry High

To generate a financial statement with consolidated financial statement for each of your low-performing departments:

  • On the Performance rollup, specify this condition: Performance = "Low"
  • Select the following segments for iteration: Store, Department

The result will be a financial statement for the following combination of stores and departments since their Performance rollup value is "Low":

Store Department
01 Furniture
01 Garden
02 Jewelry
03 Furniture

However, the consolidated statement will be limited to all combinations of the selected items from Store and Department: Store IN (01,02,03) AND Department IN (Furniture, Garden, Jewelry).

Store Department
01 Furniture
01 Garden
01 Jewelry
02 Furniture
02 Garden
02 Jewelry
03 Furniture
03 Garden
03 Jewelry

Unfortunately, the user is currently not warned about this possibility.

Multisheet workbooks open to first worksheet

Formerly, if you opened an Excel workbook which resulted when you published financial statements using the Combine iterations into multisheet workbook option, the last worksheet would have focus. Now if you open the workbook, the first worksheet has focus.

Sorting of dynamic folders

Previously, the sorting of dynamic folders (those with subfolders that have user-defined names) in the navigation pane was not maintained. Now sorting is maintained for the following folders:

  • Companies
  • Custom Data Folders
  • GL Attributes
  • GL Financial Views
  • GL Rollups
  • GL Segments

Unique names for worksheets when combining iteration workbooks

When combining iterations into a single workbook file, the Account Financial Report and the Publish Financial Statements process attempt to generate unique names for the worksheets being combined. The new worksheet name is formed by appending the following three strings into a single string:

  • Financial design name
  • Iteration code(s)
  • Original worksheet name (if the workbook has multiple worksheets)

There were cases, however, when a worksheet kept its original name and did not get updated with the new combined name. This could occur in the following circumstances:

  • The generated name exceeded the 31-character limit on Excel worksheet names
  • The generated name was the same as the generated worksheet name from another workbook

To handle these cases, the combine workbooks process now generates worksheet names which are unique across all worksheets coming from all workbooks being combined and ensures they are within the 31-character limit. To enforce this, a " (xx)" suffix is appended to the end of the generated worksheet name, truncating when necessary to adhere to the 31-character restriction.

8.23

8.23-0

ActivSync processes stop when the SSBEA service is stopped

A best practice when configuring an ActivReporter database is to ensure that ActivSync.exe is not running. The SSBEA service starts ActivSync when it receives a message from the SQL Server. Now ActivityHD Manager stops ActivSync processes once the SSBEA service is stopped.

Code editor improvements

The embedded edit control has been changed to provide improved editing for scripts, SQL, and XML code. Improvements include syntax highlighting. Areas affected include:

  • Bots
  • Data sources
  • Dashboard gadgets
  • Developer tools
  • Filters
  • Report designs
  • Security views

Fewer "ghost" Excel processes

At times an Excel process could continue running in the background after the user closed the Excel window. Although no Excel window was visible, an Excel process continued to run and could only be stopped using Task Manager's "End Task" command. A change in ActivReporter version 8.23-0 addresses a significant issue that seems to be related to these "ghost" processes; however, it is unknown if the change addresses all possible causes.

"IN" and "NOT IN" comparison operators available for items expressions

"IN" and "NOT IN" comparison operators are now available for use with items expressions for financial functions. Use the comparison operators to provide a list of item values.

Example: "IN"

Suppose you want to determine the total year-to-date activity of a selected list of income statement rollup items.

Instead of the following ActivReporter Excel function:

@YearToDate("Current", "(IncStmt=EMP_INS or IncStmt=FICA or IncStmt=FINANCE or IncStmt=FREIGHT)", "Ledger=A")

You can now use:

@YearToDate("Current", "IncStmt IN (EMP_INS,FICA,FINANCE,FREIGHT)", "Ledger=A")

Example: "NOT IN"

Suppose you want to determine the total year-to-date activity of all income statement rollup items except for a selected list of items.

Instead of the following ActivReporter Excel function:

@YearToDate("Current", "(IncStmt<>EMP_INS or IncStmt<>FICA or IncStmt<>FINANCE)", "Ledger=A")

You can now use:

@YearToDate("Current", "IncStmt NOT IN (EMP_INS,FICA,FINANCE)", "Ledger=A")

Notes

  • The list items must consist of specific item codes. Continue to use the "LIKE" operator for multiple wildcard codes.

    (IncStmt LIKE "F*") or (IncStmt LIKE "XYZ*")

  • The comma character (,) is now a keyword character. As such, names and items that contain commas (segments, rollups, attributes) need to be enclosed in quotes.

    For example, the following items expression worked in the past but now returns an error:

    (IncStmt = A,B,C) AND (Ledger=A)

    Results in:

    Parser error: Unterminated subexpression, closing parenthesis expected

    To avoid the error, enclose item codes which contain commas in quotes:

    (IncStmt = "A,B,C") AND (Ledger=A)

New version of VBSEdit

The recommended version of VBSEdit has been updated to v9.9137. The installer is available in the distribution folder Extras\VBSEdit.

VBSEdit is an optional and separately installed editor and debugger which can be used for bot creation and maintenance in ActivReporter.

Pick multiple iteration items per iteration type in Workbook Options

Until now, users could pick only one iteration item per type in the Workbook Options dialog. For instance, you could only pick one department to iterate over. Now you can pick one or more items. This change allows users to create a consolidated financial for a set of items; e.g., for departments 01, 02, and 03.

ReportDesign automation object error

A problem was introduced in ActivReporter version 8.21-0 which could cause a call to ReportDesign.Locate to fail with a "Report not found" error. The problem has been corrected.

Ribbon image error corrected

In the past, users with the "Show add-in user interface errors" option marked in Excel Options (Options > Advanced > General section), could see the following error when clicking on the ActivReporter ribbon:

An error occurred while loading image with relationship ID Blank_32.

The error occurred because an invalid image had been specified for the Print View menu item. The problem has been eliminated by specifying a valid image.

This problem has existed since the ribbon was introduced and has had no adverse effects.

Security views and selection conditions

Security views enforce row-level security. Security views are applied automatically when a user visits an HD view or runs a report. Moreover, security views are applied when defining other security views and filters.

For example, suppose you create a security view or filter on journal entries with a selection condition that limits to "journal detail for a specific account". ActivReporter automatically applies the user's security view on journal detail. In essence, the actual results of the condition are limited to "journal entries for the journal detail records that are available to the user which are for a specific account". While this feature can be useful, it can also be confusing since before this release it was difficult to control this behavior.

A Secure checkbox has been added on selection conditions where this situation can arise.

While the checkbox is marked by default, it can be useful to clear the checkbox especially when the conditions defined are intended to exclude records. For example, if you have a security view defined to exclude journal entries for journal detail of a specific account, applying the user's security view on journal detail could hamper the logic of the security view on journal entries.

Note

The ability to control the Secure setting is limited to users with Edit access to the Selection SQL resource.

Select Statement (SQL) tab added to Developer Tool

The Developer Tool was introduced to ActivReporter in version 8.12-0. A new Select Statement (SQL) tab has been added to the tool to help developers investigate automation issues and to make it easier to start creating data sources. The original View Settings information is now assigned to a View Settings (XML) tab. Note also that a Copy command is available to each tab to copy the contents of the tab to the clipboard.

SQL Server 2012 Native Client updated

A newer version of SQL Server 2012 Native Client is now distributed with ActivReporter. The new version is 11.4.7001.0 which corresponds to file version 2011.110.7001.0. Among other changes, this newer version of the Native Client supports the TLS 1.2 network security protocol.

Sync redundancy performance improvements

ActivReporter G2 introduced a new feature to ActivSync called "Sync Redundancy". Sync Redundancy updates unposted journal entries, posted journal entries, or budget details by comparing all the values in the GP company with the values in the ActivReporter company and ensuring that each entry in ActivReporter matches the values in Great Plains as of the time of syncing. Now updates are bundled together to minimize the number of database operations, thus improving overall sync performance.

Update action on journal entries handles budget closing entries better

Formerly, the Update action on journal entries always updated the closing budget entry. Now Update only updates the budget closing entry when it is needed and skips the update if it is not.

8.22

8.22-0

ActivSync Status dashboard gadget now active

Previously, the ActivSync Status dashboard gadget would display the current status of ActivSync but did not update. Now the status is continually monitored and is refreshed every five seconds.

Allow direct assignment rollups on new GL accounts

Direct assignment rollups were introduced in ActivReporter version 8.14-0. Direct assignment rollups allow a rollup item to be specified directly on the GL account. While it was possible to set the direct-assignment rollup on an existing account, you could not set a direct-assignment rollup when creating a new GL account. Although you could enter a rollup value in the Account window, the value was not saved to the database. In addition, if the direct-assignment rollup was required, the following error was returned when you tried to create the new account even though a rollup value had been entered:

Cannot insert the value NULL into column 'RollupXXItem', table 'CompanyDatabase.dbo.Account'; column does not allow nulls. INSERT fails.

The issue has been corrected. You can now create new GL accounts with direct-assignment rollup values and these values are saved to the database.

Development tab for automation

Users with Developer Tools enabled now have options to show a new Developer tab in editing windows for entities which have an automation interface. This new feature improves bot creation and automation tasks by making needed field and value information easily accessible.

To show the tab, go to an editing window, select > Tools, and then select either Developer Tab or Always Show Developer Tab. These options are not available on entities which do not have an automation interface.

The new tab shows the available automation fields with their names and values for the current records.

If you move to a different tab and make changes to the data and then return to the Developer tab, the updated values are reflected in the Developer tab.

When you activate the tab by selecting Developer Tab or pressing Ctrl+F12, the Developer tab persists only as long as the editing window is open.

When you activate the tab by selecting Always Show Developer Tab, the tab persists across sessions for every editing window of entities with an automation interface. To stop showing the tab, reselect the Always Show Developer Tab action to remove the checkmark next to the action in the menu.

Developer tab enhancement

An Export/Import subtab for XML has been add to the Developer tab on edit windows in addition to the existing Automation subtab. For more on how to access the Developer tab, see the preceding release note.

Financial Tree Reporting bot no longer requires an email address

Formerly, the Financial Tree Reporting bot would generate reports to a temporary file location but would not copy the reports to the the folder location specified in the configuration workbook unless an email address was configured for the recipients. The bot has been updated to no longer require an email address.

8.21

8.21-1

Ability to easily update unit conversion tables

A new Multicurrency Update feature has been introduced to pull changes into ActivReporter when the multicurrency setup in Great Plains changes. If the exchange table in Great Plains includes changes to a currency that is in use or if the currencies in use change, ActivReporter can be updated by right-clicking the ActivReporter > Setup > Unit Conversion Tables folder and selecting Multicurrency Update from the shortcut menu.

8.21-0

Wait time for External Activator service increased

ActivityHD Manager starts the External Activator service after an ActivReporter company is configured. In the past, ActivityHD Manager waited 5 seconds to receive a "Running" status. Sometimes the Activator service would start correctly, but reported an error after waiting 5 seconds. The wait time has been increased to 15 seconds.

8.20

8.20-0

Access violation running bots with options

Previously, an access violation could occur if running a bot with options and then running another bot or another copy of the same bot while the first bot was prompting for options. Now when this scenario occurs no access violation happens and both bots behave as expected.

A similar access violation could occur when running a bot from the bot edit window. If the user closed the bot editor while the bot was running, an access violation could result. This problem has been corrected by preventing the editor from being closed while a bot that was launched from it is still running.

Automation enhancements and corrections

Several automation improvements have been introduced in version 8.20:

  • Formerly, when an INavigator object was created through automation, the default behavior was "dynamic". Changes, such as deletes, inserts, or edits, were seen, causing a record to no longer match the current filter. Users considered this confusing and unexpected behavior, so the default behavior has been changed.

    Now navigators created through automation default to "not dynamic" (i.e., static). Any changes to a record will not be reflected in the set of records selected by the navigator. A new boolean "Dynamic" property has been added which allows scripts to restore the previous dynamic behavior. The property defaults to "False" (not dynamic) but can be set to "True" to restore dynamic behavior.

    Scripts such as the following would formerly not work because of dynamic behavior, but now does work:

    Dim d

    Set d = Activity.Administration.CustomData("Test")

    d.Navigator.First

    Do While Not d.Navigator.Eof

    d.Edit

    d.Delete

    d.Navigator.Next

    Loop

    The reason the code above did not work previously is that the deletion removed the row from the record set causing the next call to fail because the current record could not be found. Now by default the deleted row is not removed from the record set and the next call succeeds.

  • In the past, the PreviousAndEdit method of INavigator did not work; it did not move to the previous record. The Previous method, however, did work. The problem has been corrected so that the PreviousAndEdit method now properly moves to the previous record in the record set.

  • A new Count property has been added to the INavigator automation interface. Count returns the number of rows in a record set.

  • You can now return the ActivReporter version number through automation. Four options are provided, including one that shows the full version number. The options and an example of what they return when the full version number is 8.20-0 is shown in the following table:

    Activity.Version 8.20-0
    Activity.VersionMajor 8
    Activity.VersionMinor 20
    Activity.VersionBuild 0
  • The following automation methods are now part of the OAS library:

    • Activity.UserCreateLoginRequest
    • Activity.UserCreateLoginConfirm
    • Activity.UserChangePassword
    • Activity.UserResetPasswordRequest
    • Activity.UserResetPasswordValidate
    • Activity.UserResetPasswordConfirm
    • Activity.UserUpdateEmailRequest
    • Activity.UserUpdateEmailConfirm

    These methods will be available through ActivWebAPI in a future release.

  • Until now text fields for bot Options and for the OptionsDialog automation object with a size greater than 30 characters would not continue to grow larger. Now the maximum size of an on-screen control can be significantly larger than before.

Budget amounts set to $0.00 at fiscal year end

Great Plains budgets are now represented in ActivReporter by two journal entries. The first journal entry records all account amounts by period. The second journal entry sets all accounts in a budget to $0.00 on the last day of the budget's fiscal year. All detail lines for a budget have the same attribute item. The name of the batch of journal entries is set to the name of the Great Plains budget and the attribute item on each detail line is set to the same value.

Debugging bots with options improved

Until now there was no straightforward way to debug a bot which used bot options without hardcoding some values. Now the first attempt to call MacroProcess.OptionValues while debugging will prompt the bot developer for option values.

New global Filters folders in Administration menus

A Filters folder has been added to the Administration folders for both the Activity System database and all company databases.

When data is converted after an upgrade, existing permissions with all access to all resources under "Activity Company" and "Activity System" are automatically granted all accesses to the new "Filters" resource.

The new Filters folder is useful for performing maintenance on several filters at once. For example, suppose you want to delete all personal filters for users who no longer work at your company. You could:

  1. Create a column filter on the Shared column to show "Not Shared" filters, then...
  2. Create a column filter on the User column to show obsolete users (requires using the More... button), then...
  3. Review the results, select all (Ctrl+A), and delete.

Word report design updates

Several updates and fixes have occurred for the Word report design feature announced in version 8.19:

  • To support advanced report writing, scripts can now be included as part of Word report designs. A script can modify a Word document as it is processed. Scripts have access to the following automation objects:

    • Activity
    • Company
    • ReportDocument (the Word document object that is being processed)
    • DataRecordSet (the report data that is being processed, positioned at the first record for the document)
  • Previously, attempting to view the Report Fields list for some report designs could produce errors. This problem has been resolved.

  • A progress bar is now visible when processing a Word report. Besides apprising the user of progress, this feature allows the user to choose Cancel if they do not want to wait for the process to complete.

  • Prior to this release, processing a Word report design which resulted in a document with a table of more than 20 lines could cause performance issues. The problem has been resolved.

  • Previously, users could experience problems attempting to open a Word document (e.g., a .docx file) while running a Word report in ActivReporter. This issue has been mitigated.

8.19

8.19-2

ActivSync now detects year-end closing entry in Great Plains

A problem was introduced in ActivReporter version 8.6-0 which prevented the closing process from running. Now ActivSync detects when year-end closing has occurred in Great Plains and makes the appropriate entry in ActivReporter.

8.19-1

Import Segment Items.xls macro updated to use word values instead of type codes

In ActivReporter 8.12 the automation interface for GL segments was changed to use words instead of single-letter codes for the Type and Datatype field values. This helps bot writers know which value to use since the values match the labels in the Segment window. However, the change was not backward-compatible, so macros and bots which use the fields must be updated.

The following table lists the old field code values and equivalent new word values:

Field Old Value New Value
Type P Primary
L Ledger
A Auxiliary
Datatype A Alphanumeric
N Numeric

The Import Segment Items.xls macro, which is available in your distribution at ...\Extras\General Ledger\Import Segment Items.xls, has been updated to use the new word values.

Segment locks problem when running a financial design

Previously, if you ran a financial design that iterates over a GL segment, the segment remained locked even after the report had finished. Now all locked segments are released after the report completes.

8.19-0

New version of VBSEdit

The recommended version of VBSEdit has been updated to v9.7635. The installer is available in the distribution folder Extras\VBSEdit.

Prior to this version of VBSEdit, debug options were not limited to VBSEdit only. Options to debug with CScript and WScript were available even when the editor was being used from within the Bot window. This caused problems because neither CScript or WScript debugging works with ActivReporter integration. Now VBSEdit is the only debugging option presented.

VBSEdit is an optional and separately installed editor and debugger which can be used for bot creation and maintenance in ActivReporter.

8.18

8.18-0

Export/Import and attachments

Until now, attachments were not available when using Export/Import or through WebAPI/Data (coming soon). Now when exporting you can choose the content to include. Content for primary data records can be "Complete" or "List Only". Attachments can also be included as "Complete" or "List Only". When importing, if the XML file contains attachments with "Complete" content, those attachments will be imported as well.

Bot Export/Import Example (VBScript)

vXML = Record.Data.Export("<Content><Attachments Content='Complete'/></Content>")

Record.Data.Import vXML

MacroProcess.Results.Add Record.Data

WebAPI Example with new "attachments" parameter

"GET" https://localhost:44314/api/data/service/tasks?item=

%7BC60355BC-34D3-48AA-957C-FBF541DA4162%7D&attachments=list

Export Content XML syntax

Tip

Use the Developer Tool feature available in the Export process dialog to assist in formulating the syntax.

<Content @Content(Complete, List)>

<Attachments @Value(Complete, List)/>

</Content>

Import XML syntax

<xml>

<data>

<Attachments @Content(Complete, List) @Command(Delete All)>

<item @Filename @Command(Add, Delete)>

<!--File content base 64 encoded -- >

</item>

</Attachments>

</data>

</xml>

XML Export/Import syntax

The use of @Content and @Command in the XML syntax has been expanded for improved functionality and completeness.

@Content appears in exported XML to indicate which data is included in the XML. When Content="List", the data is not included in the import.

@Command controls the behavior of an import operation. See the example below.

Export/Import XML syntax for @Content and @Command

<xml @Content(Complete, List)>

<data @Command(Import, New, Edit, Delete)>

<ReferenceList @Command(Clear)>

<item @Value @ValueInternal @Command(Add, Remove)/>

</ReferenceList>

<Detail @Command(Delete All)>

<data @Line @Command(Append, Insert, Edit, Delete, Delete All)/>

</Detail>

<Attachments @Content(Complete, List) @Command(DeleteAll)>

<item @FileName @Command(Add, Delete)/>

</Attachments>

</data>

</xml>

8.17

8.17-6

XML parser error when XML path includes [*] or [nnn]

A problem was introduced in version 8.12-0 which affected processing when an XML path contained [*] or [nnn]. The issue manifested itself in ActivReporter's parent product ActivityHD when trying to create the XML file for the Canada T4 upload. The Create Totals File in Payroll failed with the following error:

XML Path Node Error (T4Slip[*] at 8)

The problem no longer occurs.

8.17-5

Closing process updated to handle prior year postings better

ActivReporter records information specific to Great Plains on the GP tab of the Journal Entry window. This information is typically the same for all detail lines in a journal entry. However, we have encountered some GP companies where the information is not the same. This situation could cause an error in seeding the company if there are differences in prior year postings. The closing process now handles prior year postings differently in order to avoid the issue.

8.17-0

Column filters on segments and rollups in Journal Detail HD view

Until now column filters were not available for the segment and rollup columns of the Journal Detail folder. Now these columns can be filtered.

"Financial Tree Reporting" bot enhancement

The built-in "Financial Tree Reporting" bot has been updated to use the Calendar Period bot option. If attachments are enabled in a company, the configuration workbook, "Financial Tree Reporting Configuration.xlsx", can be attached to the bot.

8.16

8.16-0

AddMessages method added to MacroProcess automation object

The MacroProcess automation object currently has a method called AddMessage which takes a string parameter. This version of ActivReporter introduces a new method called "AddMessages" which accepts a variant parameter which can be either a single string or an array of strings. AddMessages is easier to use with other automation methods that return an array of strings.

Example

Set data = Company.AccountsPayable.APInvoice

Dim messages

data.Locate "050110 - 1"

If Not data.Merge(messages) Then

MacroProcess.AddMessage "Merge Failed" '-Add a single message

End If

MacroProcess.AddMessages messages '-Add all messages returned by the call to Merge

Calendar Period field type added to bot Options

A new bot Options field of Type="Calendar Period" with available "AsOf" element has been introduced. A "Calendar Period" field displays as a group box similar to the group box seen when running the Trial Balance Report. A "Calendar Period" field is especially useful when writing bots which produce financials.

Note

The value of a "Calendar Period" field is the internal value (GUID). This value can be used as a ValueInternal when running other reports and processes.

Sample bot code

"<CurrentPeriod ValueInternal='" + MacroProcess.OptionValues("Calendar Period") + "'/>" + _

"<AsOf Value-'" + CStr(MacroProcess.OptionValues("Calendar Period - As of")) + "'/>" + _

Syntax

<Options>

<Field @Name Type="Calendar Period" @Required(True, False)>

<Default>

<!--Syntax for the Default element should match what is seen when exporting Answers with a Calendar Period-- >

</Default>

<AsOf>

<!--Syntax for the AsOf element can have all the properties of a "Date" field-- >

<!--When @Name is not specified, defaults to the name of the "Calendar Period" field + - As of"-- >

</AsOf>

</Field>

</Options>

Excel crash using ActivityImport

Formerly, Excel could crash when using the ActivityImport class. The problem no longer occurs.

New financial design functions

Two new functions are available for financial designs to help ensure that all reporting items are present:

  • ValidateAccounts(CheckMissing,CheckDuplicates,Ledger,Accounts)
  • ValidateItems(CheckMissing,CheckDuplicates,ItemType,Values)

Insert one of these functions into a financial design to perform an automatic validation that all accounts/items are present in the design. The most common application of these functions is inserting ValidateItems in a design to ensure that it has been updated to include any rollup items added recently.

Another new function is available to provide a notice when errors or warnings occur while publishing a financial:

  • ErrorsOrWarnings(Message)

Insert the function into a financial design to show a message if any errors or warnings occur during calculation. The default message is: "Review needed: Calculation Log contains errors or warnings"; however, you can use the "Message" argument of the function to customize the message as desired.

All three new functions are available in the Functions section of the ActivReporter ribbon and can be accessed by clicking the new Validate button.

In addition, the Layout tool has been updated to incorporate the new functions and to improve column arrangement. The pre-installed "Balance Sheet" and "Income Statement" designs have likewise been updated to include the new functions.

New version of VBSEdit

The recommended version of VBSEdit has been updated to v9.6931. The installer is available in the distribution folder Extras\VBSEdit.

Prior to this version of VBSEdit, syntax highlighting could disappear (i.e., all text appeared in the same color) and object auto-completion did not work. This version fixes these issues.

VBSEdit is an optional and separately installed editor and debugger which can be used for bot creation and maintenance in ActivReporter.

OptionsDialog automation object

An OptionsDialog automation object has been introduced to present a dialog to a user with the same types of options which are already available for bot Options. Bot Options (XML) must be defined as part of a bot record and are always shown to the user as the first step when running a bot. The new OptionsDialog object is similar but more flexible. The options XML can be defined programmatically and the dialog can be displayed at any point during bot execution or during any other type of automation.

Syntax

Activity

Function OptionsDialog As OptionsDialog '- Returns an OptionsDialog within the Activity System

Company

Function OptionsDialog As OptionsDialog '- Returns an OptionsDialog within the Activity Company

OptionsDialog

Function Show(Caption As String, Options As String) As Boolean '- Shows the dialog with a specific caption and set of options (defined as XML); returns "True" if not canceled by the user

Property OptionValues(Index) '- Access the user-specified option values by index or field name

Sample bot code

Dim vOptionsDialog

 

Set vOptionsDialog = Activity.OptionsDialog

MacroProcess.AddMessage ""

MacroProcess.AddMessage "Options Dialog (System):"

If vOptionsDialog.Show("Options Test (System)", _

"<Options>" + _

"<Field Name='Reference' Type='Reference' ReferenceType='Authorized Users (Activity System)'/>" + _

"</Options>" _

) Then

MacroProcess.AddMessage "Option 1: " + CStr(vOptionsDialog.OptionValues( 1))

Else

MacroProcess.AddMessage "Canceled"

End If

 

Set vOptionsDialog = Company.OptionsDialog

MacroProcess.AddMessage = ""

MacroProcess.AddMessage = "OptionsDialog (Company):"

If vOptionsDialog.Show("Options Test (Company):, _

"<Options>" + _

"<Field Name='Reference' Type='Reference' ReferenceType='Authorized Users (Activity Company)'/>" + _

"</Options>" _

) Then

MacroProcess.AddMessage "Option 1:" + CStr(vOptionsDialog.OptionValues( 1))

Else

MacroProcess.AddMessage "Canceled"

End If

OptionsDialog, bot Options can now include headers and instructions

Header and Instruction elements can now be added to improve the layout and usability of forms produced through bot Options or by the OptionsDialog automation class.

Syntax

<Options>

<Header @Caption/>

<Instruction><!--inner text of this element is displayed to the user-- ></Instruction>

</Options>

8.15

8.15-2

Accounts, segment items, and rollup items default to read mode

Version 8.15 is the first version of ActivReporter to allow editing of accounts, segment items, and rollup items. That change was made in order to support direct assignment rollups. In an effort to minimize lock conflicts with the ActivSync process, account, segment item, and rollup item records now open by default in read mode.

ActivSync handling of locked accounts improved

Account records can now be edited in ActivReporter. When an account is in edit mode, its record is locked and updates are prevented while the account record remains locked. Now ActivSync update processing will pause for a single company if it encounters a locked account.

"Financial Tree Reporting" bot introduced

The new "Financial Tree Reporting" bot reads a configuration spreadsheet and creates a list of reports based on one of the tabs in the configuration workbook. Once the reports are created, another tab in the workbook is used to distribute the reports by file path or by email. There are future plans to include the ability to distribute reports to Sharepoint/Teams.

SMTP port control error

In the past, an error would occur when attempting to open a company record if the system SMTP port was not configured. This error no longer occurs.

8.15-1

Direct assignment rollups now active in HD views

Changes to direct rollup assignments were not active (i.e., immediately updated) in HD views. Now they are.

8.15-0

AcctType rollup is now built in

A built-in rollup called AcctType has been introduced to ActivReporter. AcctType is not automatically activated. Future enhancements will utilize AcctType when it is activated.

The AcctType rollup can be deactivated and its assignment settings can be modified. However, AcctType's rollup items are built in and cannot be modified.

Additional columns available in Bots HD views

Before the current release, there were several columns which were not available to be shown in the Bots HD views. Now the following columns are available along with column filtering capability:

  • Options
  • Assigned Permissions (as a comma-separated list)
  • Run From (as a comma-separated list)
  • Script (as text, including "Script", "ScriptInit", and "ScriptFinal")
  • Script Using (as a comma-separated list)

Direct assignments on rollups can be edited on accounts, segment items, and rollup items

When you create a direct assignment rollup you select where the assignment will occur: on accounts, segment items, or rollup items. However, previously you could not edit most of those records. Now you can edit accounts, segment items, and rollup items to set direct assignments on rollups as needed.

Financial Type field introduced on rollups

In preparation for the new Rollup Health feature (see below), a Financial Type field has been introduced on rollups. A financial type can be either "Balance Sheet", "Income Statement", or blank. The financial type will be used in conjunction with the new AcctType rollup.

Balance Sheet rollups are considered healthy if all asset, liability, equity, revenue, and expense accounts have an assigned value for the rollup. Income Statement rollups are considered healthy if all revenue and expense accounts have an assigned value for the rollup.

New version of VBSEdit

The recommended version of VBSEdit has been updated to v9.6237. The installer is available in the distribution folder Extras\VBSEdit.

VBSEdit is an optional and separately installed editor and debugger which can be used for bot creation and maintenance in ActivReporter.

Problem after restoring company database on SQL Server

Sometimes restoring a company database on SQL Server could cause problems when trying to set the database owner during company configuration. Now the process of updating the company confirms the database login and resets the database owner if needed.

Rollup Health feature introduced

A new Rollup Health feature has been introduced to provide feedback about rollup issues in the Account window, during the Publish Financials process, and when using Financial Drilldown.

To enable the Rollup Health feature for a rollup, ensure the AcctType built-in rollup is activated and set the financial type on the rollup to "Balance Sheet" or "Income Statement".

Balance Sheet rollups are considered healthy if all asset, liability, equity, revenue, and expense accounts have an assigned value for the rollup. Income Statement rollups are considered healthy if all revenue and expense accounts have an assigned value for the rollup.

8.14

8.14-0

Improvement to debugging bots which use modules

In the past, bot using modules which use the VBScript engine were marked as "global" code when debugging in the VBSEdit script editor. Now instead of being marked as global, these act as "include" modules. Bot using modules which use the JScript or JScript9 engines are not affected.

8.13

8.13-4

Cumulative bug fixes for ActivReporter G1

The following bug fixes have been applied to ActivReporter G1:

Closing process improved to use same exchange rate for all detail

Previously, prior year updates to a year's Balance Brought Forward (BBF) in the Great Plains database would be represented by a GP-BBF entry in ActivReporter using the transaction dates in the Great Plains BBF. The BBF entry in Great Plains is set to Period 0 which is the closing date of the fiscal year. Now the ActivReporter detail dates are set to the closing date of the fiscal year so that any multicurrency conversions are correctly handled.

Closing process updated to handle prior year postings better

ActivReporter records information specific to Great Plains on the GP tab of the Journal Entry window. This information is typically the same for all detail lines in a journal entry. However, we have encountered some GP companies where the information is not the same. This situation could cause an error in seeding the company if there are differences in prior year postings. The closing process now handles prior year postings differently in order to avoid the issue.

Posting journal entries to a closed year

Previously, Great Plains journal entry postings into a closed year were not updating correctly in ActivReporter. This problem has been corrected.

Problem after restoring company database on SQL Server

Sometimes restoring a company database on SQL Server could cause problems when trying to set the database owner during company configuration. Now the process of updating the company confirms the database login and resets the database owner if needed.

SMTP port control error

In the past, an error would occur when attempting to open a company record if the system SMTP port was not configured. This error no longer occurs.

8.13-3

ActivSync now detects year-end closing entry in Great Plains

A problem was introduced in ActivReporter version 8.6-0 which prevented the closing process from running. Now ActivSync detects when year-end closing has occurred in Great Plains and makes the appropriate entry in ActivReporter.

8.13-1

ActivSync multicurrency trigger update

Previously, ActivSync triggers that are added to the Great Plains Multicurrency Exchange Rates table could cause a permission error if the GP user did not have permission to connect to all companies which are configured for multicurrency. The triggers have been updated to prevent this error.

ActivSync problem maintaining multiple unit conversion tables

A problem could occur when a Great Plains company was configured to use different unit conversion tables for different translation types. Changes to the Exchange Rates table in Great Plains were not being synced to ActivReporter. The problem has been addressed.

ActivSync updated due to automation change

A change in the automation interface necessitated an update to ActivSync.exe in order to allow it to correctly create new GL primary segment items. This change is complete.

Disappearing fields in Drilldown Explorer

Due to some unusual interactions between some recent Windows updates and the Drilldown Explorer, some of the fields on the Drilldown Explorer could sometimes disappear when they had focus. The problem has been corrected.

Incompatible SQL scripts updated

A change to the internal structure of the ActivReporter database caused two utility SQL scripts not to function properly. The SQL scripts, found in the "Extras" folder of the ActivReporter distribution, have been updated.

8.13-0

Direct assignment rollup development in progress

Work has begun to introduce directly assigned rollups to ActivReporter. Rollups can soon be defined either by direct assignment or by assignment rules. Assignment rules are created on rollup items to determine which accounts an item is assigned to. The new direct assignment feature will allow rollup item references to be edited directly. When you create a direct assignment rollup, you will choose where the assignment appears, either on the chart of accounts or on any segment or rollup.

Look for directly assigned rollups to be available in release 8.14.

Dropdown list feature for bot Options fields added

A new drop-down list feature is available for bot Options fields of Type="Text". "Dropdown" allows you to add a list of values for users to choose from when specifying bot options while still allowing them to enter their own input in the text box.

Syntax

<Options>

<Field @Name Type="Text" @Size @Case(Upper, Lower, Normal) @DefaultValue @Required(True, False)>

<Dropdown>

<Item @Value/>(n)

</Dropdown>

</Field>

</Options>

Export and import XML supports Value and ValueInternal properties

In the past, it could be difficult to use custom field values with the XML export and import processes when using custom fields of "Reference" or "Reference List" type. To improve upon this situation, the XML now supports Value and ValueInternal properties. The Value property accepts the user-facing identifiers while ValueInternal accepts internal identifiers (GUIDs).

Import enhancements

The process of importing using XML has been improved and enhanced. The behavior of the import can now be affected by specifying one of the following commands:

  • <data Command="Import">. Creates a new record. The "Import" command avoids some data operations, such as applying certain default values, which can cause problems when attempting to import data which is fully described by exported values. This is the default behavior when no @Command value is specified.
  • <data Command="New">. Creates a new record with the typical behavior. This behavior is similar to manually entering a record in the edit window in "New" mode.
  • <data Command="Edit" Code="..." ID="...">. Edits an existing record.
  • <data Command="Delete" Code="..." ID="...">. Deletes an existing record.

A different set of commands applies to detail records.

  • <Detail><data Command="Append">. Adds a new detail line after all existing detail lines. This is the default behavior when no @Command value is specified.
  • <Detail><data Command="Insert" Line="n">. Inserts a new detail line at the specified position.
  • <Detail><data Command="Edit" Line="n">. Edits the detail line at the specified position.
  • <Detail><data Command="Delete" Line="n">. Deletes the detail line at the specified position.
  • <Detail><data Command="Delete All" Line="n">. If a line number is not specified, deletes all detail lines. If a line number is specified, deletes all lines starting with the specified line.

Improved performance for rollups with assignment rules

A new feature has been introduced for rollups which use assignment rules. You can now choose whether to allow masks and ranges or to specify items explicitly. While using masks and ranges is more flexible and requires less maintenance, specifying items requires you to list all valid combinations of items but yields significantly improved performance.

New Versions property for IGLFinancialDesign automation interface

IGLFinancialDesign, the financial designs automation interface, now exposes the Financial Design Versions detail using the new Versions property. The Versions property returns the IGLFinancialDesignVersions interface and through its Fields property exposes all the fields of the Financial Design Versions.

8.12

8.12-0

Checkbox caption width improved for "True/False" bot options

In the past, the width of the caption on a checkbox for a "True/False" bot option could be too small to completely show the name of the option. This issue has been resolved.

Data truncation errors when updating journal entries

Previously, the Update action on journal entries reported several data truncation errors. These errors have been addressed.

New version of VBSEdit

The recommended version of VBSEdit has been updated to v9.5421. The installer is available in the distribution folder Extras\VBSEdit.

VBSEdit is an optional and separately installed editor and debugger which can be used for bot creation and maintenance in ActivReporter.

New View Settings feature for bot development

Until now it could be difficult for users to compose the XML syntax used to apply settings to HD views and to select records for a variety of automation scenarios. To help simplify this, a new View Settings feature has been introduced. The View Settings feature requires Developer Tools to be enabled. Developer Tools are enabled on a per user basis by including the following registry value:

Registry key: \HKEY_CURRENT_USER\SOFTWARE\AccountingWare\Activity

When Developer Tools are enabled, the "View Settings" option is available in the menu at > View > View Settings, in the right-click shortcut menu on the HD view, or by pressing Ctrl+F12.

When you access View Settings, a View Settings dialog opens showing the XML used to create the current settings on the HD view.

View Settings can also be used to apply column filters and column sorting.

The View Settings feature is helpful when formulating parameters for the following automation methods:

  • Activity.Find
  • Activity.FindCode
  • Company.Find
  • Company.FindCode
  • Activity.RunAction "Explore"
  • Activity.RunAction "Open"
  • Activity.RunAction "Edit" [and other actions which are initiated with a Find]
  • Company.RunAction "Explore"
  • Company.RunAction "Open"
  • Company.RunAction "Edit" [and other actions which are initiated with a Find]
  • Dashboard Count
  • Data.Navigator.Parameters
  • RecordList.Load
  • "View Results" steps within various processes

Rollups now support import and export

Until now rollups could not be imported or exported. Now both actions are available on rollups.

Stored procedure for updating year-end closing entries improved

Several issues with the stored procedure used to update closing entries have been addressed, including:

  • The name of the view for Great Plains current and historical journal entries has been corrected.
  • The Original Master Name can now be different on detail lines.

8.11

8.11-0

Access violation when deleting detail records

Previously, an access violation could occur when attempting to delete a detail record from an HD view if a lock conflict occurred. The access violation message prevented the user from seeing the lock conflict message. This issue has been resolved.

Account description lengthened

The maximum length of the Description field for an account has increased from 40 characters to 60 characters.

Column descriptions now match names in Dynamics GP

The Journal Entries and Journal Detail folders in ActivReporter include fields which are copied from the Great Plains database. Previously, the column names for these fields in ActivReporter did not match with the names in Great Plains. Now they do.

Column filtering on HD views

ActivityHD Explorer HD views now have column-level filtering. The interface, which is reminiscent of Excel, provides an intuitive way of filtering an HD view without needing to create a traditional persistent filter. Simply right-click a column heading and select Column Filters from the shortcut menu. The Column Filters dialog with the appropriate selection conditions prompts displays.

Mark the checkbox next to the filter name, specify selection conditions, and then click OK. Notice that when column filters are applied, the Filters field in the HD view header is outlined in orange and contains the phrase "Column Filters".

If you like, you can specify filters on multiple columns to refine your results even more. To specify additional filters, simply right-click the heading of the additional column you want to filter by, select Column Filters, mark the filter checkbox, specify your conditions, and click OK.

Like the selection fields you find in report dialogs, process dialogs, and filter dialogs, you enter conditions based on the type of field the column contains:

  • Dates - Enter beginning and/or ending date ranges.
  • Amounts - Enter beginning and/or ending amount values.
  • Strings - Enter masks or beginning and/or ending values.
  • Select List - Mark one or more of the checkboxes to include the selected items.
  • Folder Items - Press F3 (Find) to open the Find dialog for the folder.

For a record to be shown in the HD view, it must match the conditions from all filter sources:

  • All selected filters shown in the Filters field in the HD view header, if applied.
  • The condition in the Lookup field in the HD view header, if specified.
  • All applied column filters.
  • If the View Options feature is enabled, all selection conditions in View Options.

To remove an individual column filter, clear its checkbox in the Column Filters dialog and click OK.

To clear all column filters, right-click anywhere in the column headings and select Clear Column Filters from the shortcut menu.

To unapply all column filters but preserve the ability to reapply them, click the x at the end of the Filters field in the HD view header. To reapply the column filters, click the green funnel at the end of the Filters field. The Column Filters dialog opens with your previous selection conditions loaded. Click OK to reapply them.

Filtered columns are denoted by a green funnel icon to the left of the column name.

If the column filters are unapplied, the funnel icon appears to be disabled.

And, finally, just like traditional filters, the current column-level filters are saved when you leave a folder and are automatically restored when you return to it. This occurs even when ActivityHD Explorer has been closed and reopened.

Combine financial statement output into a single workbook using a bot

Sometimes users need to be able to combine financial statement output files into a single workbook from a bot. The ActivReporter Excel add-in provides a CombineWorkbooks subroutine for combining output files from the Combine button in the ActivityHD ribbon and from the Account Financial Report, but until now the subroutine could not be called from a bot written in VBScript. A variation of the CombineWorkbooks subroutine called CombineWorkbooksExt has been created to accommodate the need to combine files from a bot.

Sample bot code

excel.Run "Activity.xlam!CombineWorkbooksExt", workbook, file_name_array

Error when refreshing filters

Formerly, attempting to use the Refresh Filters action when using checklist-type Excel filters could produce the following error:

application-defined or object-defined error

The problem has been mitigated.

Financial view lock conflict

In the past, a lock conflict with yourself could occur if you were in the Financial View window in edit mode and selected a tab which displays items for the financial view. This issue has been corrected.

JScript9 script engine added for bot development

A third script engine choice, "JScript9", is now available in the Script Engine drop-down list in the Bot window.

New bots script editor supports JavaScript

Until now, the script editor which is available in the Bot window only supported VBScript scripts. This version of ActivReporter introduces a new editor which also supports JavaScript.

To access the new editor/debugger, click the Script Editor button in the Bot window. This action invokes an external editor called "VBSEdit". VBSEdit is a third-party editor which allows editing and debugging of scripts from within ActivReporter.

While the older version of VBSEdit was bundled with and installed as part of the ActivityHD Explorer installation, the new version of VBSEdit must be installed separately. The minimum required version of VBSEdit is v9.5371.

A license for VBSEdit is not required to use it within ActivReporter. ActivReporter includes a license which allows VBSEdit to run without restriction when called from ActivityHD Explorer. If you want to use VBSEdit outside of ActivReporter in any mode other than evaluation mode, even if ActivReporter is installed, a separate license is required.

Most ActivReporter users will not need VBSEdit as it is an advanced feature only relevant for a few. However, if you want to include VBSEdit features in the Bot window, contact support@accountingware.com for installation instructions.

New "File Folder" field type for bots

A new field type of "File Folder" has been added for bot dialogs which allows you to add a prompt for a file folder to the Options tab.

Syntax

<Options>

<Field @Name Type="File Folder" @DefaultValue @Required(True, False)/>

</Options>

Save As with Values leaving formulas behind

In the past, problems could arise when using the Save As with Values action on very large Excel workbooks. Occasionally, formulas would be left behind instead of being replaced with values. The issue has been addressed. Additionally, in case the issue arises in the future, the log now records information about the problem. Furthermore, a message box is presented during the process if any warnings or errors exist in the log.

Timestamps in HD view expanded to include seconds

In the past, timestamp columns in HD views (such as Created, Modified, Merged, etc.) used short time format which typically shows only hours and minutes. Now these columns use long time format which typically shows hours, minutes, and seconds. Having precise timestamp data is useful when investigating performance and other time-sensitive issues.

8.10

8.10-1

Error attempting to create system authorized user

In the past, the following error could occur when attempting to create a new system authorized user if the user's view of the Authorized User folder was limited by a security view:

The multi-part identifier 'AuthorizedUser.SystemUserGroup' could not be bound

The error no longer occurs.

8.10-0

ActivSync handles deleted accounts better

Because Great Plains can delete an account before records connected to the account are deleted, problems can arise with the message ActivSync uses to keep ActivReporter up to date. Now ActivSync can log a message and continue processing in this situation.

Alternate bases for date fields in bot options

You can now add alternate bases to date fields through bot options.

For instance, suppose you have the following dates as options for your bot: Begin Date, End Date, Log Date. Log Date has a date expression of "today + 1".

Normally, "today + 1" indicates one day after the current system date. However, you can now base the date expression off either Begin Date or End Date. When you press F2 on the log date, the Date Expression popup opens.

Leave the date expression as is, but change the Basis for Today options as needed. Valid options are:

  • Today's Date. The basis for "today" is the current system date. This is the normal basis of a date. So, "today + 1" is tomorrow.
  • Begin Date. "today + 1" is the day after the begin date.
  • End Date. "today + 1" is the day after the end date.
Setup

<Options>

<Field Name="Begin Date" Type="Date" />

<Field Name="End Date" Type="Date" />

<Field Name="Date" Type="Date" DefaultExpression="today + 1">

<AltBases>

<AltBasis Name="Begin Date"/>

<AltBasis Name="End Date"/>

</AltBases>

</Field>

</Options>

Financial design layout error eliminated

Two built-in financial design layouts, Income Statement Actual vs Budget YTD and Income Statement Current vs Previous Year, could produce the following error when users attempted to use them:

application-defined or object-defined error

Now the error no longer occurs and generation of the layout succeeds.

8.9

8.9-1

Drillback experience improved when not logged into GP company

Previously, if you attempted to use the Drillback action when not logged into the associated Dynamics GP company, no message or warning was forthcoming. Now the following message from Dynamics GP displays in this circumstance:

A connection [sic] Microsoft Dynamics GP could not be established. Be sure that you are logged on to the appropriate company and try again.

8.9-0

Custom account code segment separators supported

In Great Plains the account code segment separator is set in the "Separate with" field of the Account Format Setup window. Although the default separator is a dash character, other separators are available. ActivReporter uses dash separators only. Previously, a seeding error could occur in ActivReporter if the segment separator in Great Plains was not a dash. Now ActivReporter also works with Great Plains databases which are configured to use separators other than a dash character.

Note

If the separator is changed in a Great Plains company, the company must be reseeded.

Database maintenance

A database maintenance feature was introduced in version 7.43 in which ActivReporter system and company services would automatically perform database maintenance on their respective databases. Unfortunately, while the feature worked on databases which were created before version 7.43-0 and were then converted to that version or beyond, maintenance was not being performed properly on any databases created since 7.43-0.

The problem has been corrected. Now database maintenance is performed automatically on the system database and on each company database regardless of when the database was created.

During database maintenance, indexes are reorganized or rebuilt as needed depending on the degree of fragmentation. These actions are recorded in the Windows Event Log.

As noted in the 7.43 release notes:

Limited maintenance is performed once per hour by default and full maintenance occurs once per day between midnight and 5:00 am. The interval can be configured using this registry value:

HKEY_LOCAL_MACHINE\SOFTWARE\AccountingWare\Activity System\MaintenanceInterval (DWORD)

Default: 3600000 (ms)

Set to 0 to disable this feature

Seeding process handles database names with special characters

In the past, the seeding process would fail if the source Great Plains database included a dash or special character in the database name. Now the seeding process can handle Great Plains database names with special characters including the dash character.

8.8

8.8-3

Errors running JScript record loop bot or using JScript module

Prior to this version of ActivReporter, running a JScript bot as a record loop or using it as a module could produce access violation errors. This issue has been alleviated.

8.8-2

JScript engine now handles JScript 5.8 features

Until now, bots using the JScript engine were restricted to JScript 5.7 in keeping with the behavior of WScript and CScript. Now bots using the JScript engine can use all JScript 5.8 features including the JSON object.

8.8-1

New CreateObject method on the MacroProcess object

A CreateObject method has been added to the MacroProcess object:

Function CreateObject(ByVal ObjectName As String) As Object

This method can be used in place of the CreateObject method which is built into the VBScript engine. It is also available when using other scripting engines such as JScript.

JScript Example

var vDictionary = MacroProcess.CreateObject("Scripting.Dictionary");

8.8-0

"As of" date respected when an expression from the Periods menu is used

Previously, when a period expression was inserted into a cell of a financial design workbook from the Periods menu on the ActivityHD tab of the Excel ribbon, the formula inserted did not make use of the As of date set in the Workbook Options dialog if an "as of" date was set. Now when a formula is inserted in this manner, the formula will use and display the "as of" date if it is specified.

Notes

  • The change does not affect formulas previously inserted in a financial design.
  • After a formula is inserted in the manner described above, it can only be changed by (1) manually editing the formula or (2) reapplying an option from the Periods menu to overwrite the current formula.

Closing calculation improved

Previously, problems could arise when the Originating Master ID and the Originating Master Name differed in posted journal entries. Now the seeding process and the stored procedure that calculates closing entries will properly handle journal entry detail when the Originating Master ID and Originating Master Name are not the same.

Company configuration ensures the GP database reader account is a SQL login account

A problem can arise if a GP company database is restored on a SQL server and the restored database has a user account with the same name as the reader account the company configuration wizard wants to create. Previous versions of the company configuration wizard would see the existing account and continue. However, the reader account needs to have specific properties. Now company configuration ensures that the reader account is correct.

JScript option for bots

Until now change bots were always run using the VBScript engine. A new Script Engine dropdown has been added on the Bot tab so you can choose or enter the script engine to use. The drop-down list contains "VBScript" and "JScript" options. Besides the listed options, you can also enter the PROGID or CLSID of any ActiveScript language engine that is currently registered on the computer where the bot will be run.

Important

When you create a bot, ensure that you use a script engine from a trusted source and one which will be installed on every computer which needs to run the bot.

JScript9 is the engine used by Internet Explorer; however, you cannot run both JScript9 and JScript (Chakra) within the same process. The dashboard uses Internet Explorer, so visiting the dashboard will conflict with a JScript (Chakra) bot.

The entries in the Script Using field must be limited to module and class bots which use the same script engine as the engine specified in the Script Engine field.

New Drillback action

Previously, the ability to drill back from ActivReporter to Great Plains to see data for accounts, journal entries, and journal detail was available using bots. With this version of ActivReporter, a new Drillback action is introduced to replace these bots. The Drillback action is available from folders, views, context menus, and windows.

Some shortcuts for account drillback options were changed:

Option Old Shortcut New Shortcut
Account Card Ctrl+X Ctrl+M
Account Detail Inquiry Ctrl+D Ctrl+I
Journal Entry Inquiry Ctrl+J Ctrl+J (unchanged)

Also, the behavior of Journal Entry Inquiry when selected on journal detail for entries with a system-journal source of "GP-Budget" has improved. In the past, the bot opened to the account on the first line of the associated journal entry just as it does for other journal entries. Now the action opens to the account on the selected line for the source.

Show/Hide function in 12-month layout corrected

Formerly, the Show/Hide function in column C of the "Income Statement 12 Months with YTD" layout only checked the first two period columns for zero to determine whether to show or hide a particular row. Now all 12 columns are checked.

System configuration enhanced

The system configuration wizard now automatically configures the ActivSync Activator service as part of its standard actions during the first configuration after an upgrade.

8.7

8.7-1

SMTP email supports TLS 1.2 and TLS 1.1 encryption protocols

Until now ActivReporter servers did not support the TLS 1.2 or 1.1 encryption protocols for sending SMTP email messages when SSL is enabled on the SMTP server. Some SMTP servers require TLS 1.2 and do not allow connection with other encryption protocols. Now both TLS 1.2 and 1.1 are supported during negotiation for an encryption protocol with SSL-enabled SMTP servers.

8.7-0

ActivMonitor service now controlled by custom settings

Previously, ActivMonitor monitored all companies with a startup type of "Automatic". Now if a custom field named "Monitored" exists in the Companies folder, monitoring is controlled by the setting on that field. If the setting is "True" on a company, the company will be monitored; if "False", not monitored. If the custom field is not present, the original behavior based on the startup type is observed.

Drillback on unposted journal entries

The Journal Entry Inquiry function now drills back to the source journal entry in Great Plains from the Journal Entries and Journal Detail HD views.

Journal entry drillback works with budget entries

Previously, you could not drill back from a journal entry in ActivReporter to Great Plains if the system-journal source was "GP-Budget". Now drilling back on a budget entry opens the Budget Transaction Summary Inquiry window in Great Plains.

Segment and rollup descriptions available in Journal Detail HD view

Segment and rollup "code" columns were previously available to be shown in the Journal Detail HD view. Now you can also show segment and rollup description columns. Description columns are typically more informative than the arcane code columns.

8.6

8.6-0

Journal Entry Update procedure enhanced

The Journal Entry Update procedure can now be used for all Great Plains sources:

  • GP-Posted
  • GP-Unposted
  • GP-Budget
  • GP-Closing
  • GP-BBF

In addition, a new "Sync Redundancy" option has been introduced to change the ActivSync process so that it does not conflict with the Journal Entry Update process. Currently, this option must be enabled with the assistance of ActivReporter support personnel. Also, each journal entry is updated individually and does not block processing if an error occurs.

8.5

8.5-3

Accesses on Accounts resource

Previously, certain accesses such as "New", "Edit", and "Delete", were added on the Accounts resource. However, these accesses should not have been added because these actions conflict with the ActivSync process. The offending accesses have been removed.

8.5-2

ActivSync error

Previously, ActivSync could fail with an access violation when a new unit account was created. The access violation no longer occurs.

8.5-0

Backup/restore and export/import of user settings

User settings for ActivReporter are saved and restored automatically on each user's workstation. In this version of ActivReporter, new Backup/Restore and Export/Import actions have been introduced to make it easier to transfer these settings when a user switches to a new computer. These actions are available from the Activity System folder (Activity System > [right-click] > User Options).

  • Backup creates a single backup per user and stores it in the Activity System database.
  • Restore provides access to the backup file on behalf of the user.
  • Export allows the user to create an XML file of user settings.
  • Import allows the user to select and import an XML file of user settings.

    Export and Import can be used by a single user or can be used to transfer settings among users.

Related automation methods

Activity.UserOptionsBackupInfo(ByRef HostName, ByRef BackupDat)

Activity.UserOptionsBackup

Activity.UserOptionsRestore

Activity.UserOptionsExport(ByVal Parameters As String)

Activity.UserOptionsImport(ByVal Parameters As String)

Export XML syntax

<Export @DiskFilePrompt(True/False) @DiskFileName/>

Import XML syntax

<Import @DiskFilePrompt(True/False) @DiskFileName>

<Registry>

<!-- Use Export for example of available options -->

</Registry>

</Import>

Indexing on "Budget" attribute

A Create Indexes option has been introduced in the Type section of the Attribute window. When the checkbox is marked, indexes are automatically created on all database columns which contain values for the attribute. Because ActivReporter users are not allowed to edit the built-in "Budget" attribute, the Create Indexes option is marked so that an index is automatically created on the journal detail's "Budget" attribute column.

a

Troubleshooting guide for ActivSync

Information for troubleshooting ActivSync issues has been added to the online help. To learn specific actions you can take, find the topic at ActivReporter > Seeding and syncing and select the "Troubleshooting" tab.

Windows Server 2019 supported

Windows Server 2019 is a supported operating system for the ActivReporter database server and the ActivReporter server. The "System Requirements" topic in the ActivityHD online help has been updated to indicate this.

Workbook Options issues error when "as of" date is incompatible

Workbook Options now returns an error message if the "as of" date is outside the range of dates for the specified period.

8.4

8.4-0

New 12-month income statement layout

A new 12-month income statement layout with year-to-date capability has been added in the Layouts menu of the ActivityHD ribbon.

In conjunction with this addition, a new period function called "For the N Month(s) Ending" has been introduced to the Periods menu. The new function returns the number of months ending (Month Day, Year) for the period specified by the user in Workbook Options.

New system user groups feature

This version of ActivReporter introduces the new user group feature. User groups can be used to partition user records. You can set up user groups at Activity System > Administration > Security > Authorized Users > User Groups.

With the introduction of user groups, authorized user names no longer are required to be unique system-wide but must be unique for a given user group. A User Group field has been added to the authorized user system record to allow assignment of a user to a user group.

The user group record includes a User License Limit field which can be used to manage the number of user licenses that can be used by members assigned to the group. For instance, if the limit is set to 10 licenses, no more than ten users in the group can connect to Activity System at the same time.

Companies can also be assigned to a user group.

If your site has a limited number of licenses available, consider restricting non-essential users to a group with a limited number of user licenses so that sufficient licenses are always available to your key ActivReporter users.

New user-defined fields in Dynamics Great Plains supported in ActivReporter

In Dynamics Great Plains 18.3, two new user-defined fields were added to the Journal Entry window. These new fields are now seeded into ActivReporter and changes to them will be updated automatically. The new fields are visible on the GP tab of the ActivReporter Journal Entry window. These fields are also available to be shown in the Journal Entry HD view.

8.3

8.3-5

Financial views error

Previously, users could encounter errors attempting to open a financial view if the restored "as of" date was outside the restored calendar period. In particular, this could happen when using a calendar period expression with a specific "as of" date. Now the "as of" date is set to blank when restoring in these circumstances.

8.3-0

Expanded email options

Until now users were required to configure a Windows email account in order to send email through ActivReporter. Now users can send email using either their default Windows email account (MAPI) or using the email configuration for the ActivReporter servers.

To accommodate this change, Email dialogs now include a From dropdown with the following options:

  • Windows user default account. Sends email using the user's Windows default email account. For most users, this is the account configured in Outlook or another email client application.
  • Server personal. Sends email using the email configuration for the system or company server and the email address on the current user's authorized user record. The authorized user record must have a confirmed email address.
  • Server generic. Sends email using the email configuration and "from" address for the system or company server. This option requires "Send generic" access to the Server Email resource.

The From field in Email dialogs defaults to the last personal option the user selected; i.e., "Windows user default account" or "Server personal".

Automation

The "From" option is also available to the SendEmail automation method using the following syntax:

<Email

@From(MAPI|Windows user default account|Server personal|Server generic)> - MAPI and "Windows user default account are synonyms

...

</Email>

New Rollup from MR Rows bot error suppressed

Until this version of ActivReporter, the following error occurred when the Management Reporter row definition specified a category range:

Cannot convert account category upper range value (<UpperValue>) on row <RowCode> (<RowDescription>)

The error occurred because ActivReporter rollup rules only allow ranges on the item codes, not on descriptions. Nonetheless, if both the upper and lower values of the Management Reporter category range reference the same category item, there really is not a problem. Now when this is the case, the import bot does not report an error and a rollup item rule is created for the specified category. This is possible since the range refers to exactly one category.

Performance of HD views improved

The performance when visiting or opening an HD view has been improved. In some, albeit rare, cases the improvement is significant.

HD views have a set of available columns from which users can select the columns they want to see. The columns which are made visible in an HD view can be resized and reordered within the HD view. The arrangement of an HD view is user-specific and a user's arrangement is restored the next time the user visits or opens the same HD view. The information for the customized HD views is stored in the user-specific section of the registry.

In the past, the algorithm used to read the customization information from the registry was inefficient and, occasionally, time-consuming. In fact, at times the application could appear to be hung when it was not. This was most likely for HD views with a large number of available columns when the set of available columns had changed since the last visit to the HD view and when a registry redirect application such as Appsense was in use.

Now the format and structure of the saved customization information in the registry has changed and the algorithm has been improved to degrade linearly based on the number of available columns rather than exponentially as in the past.

Be aware that users may experience slow performance once more even after the change is applied. This is because the old format of the registry must be read one more time before it is written to the new format. If the perfect storm of conditions exist at that time (i.e., large number of available columns, a change in the set of available columns since the last visit to the HD view, and the use of a registry redirect application), the application may appear to hang once more for each HD view. If a user experiences "hang" in these circumstances, the ActivityHD Explorer session should not be terminated. While terminating the application causes no harm, it prevents the registry information from being rewritten. Letting the application run even though it appears hung and subsequently closing the application normally after it completes allows the registry information to be rewritten in the new format. The result is much better performance.

HD views and associated detail views which have a dynamic set of available columns will exhibit the most obvious difference; however, while these HD views reap the most noticeable benefit, all HD views are positively affected by the change.

System connection dialog display issue

In the past, if you were running in a remote session or running as a remote application, the ActivReporter system connection dialog could sometimes appear to be partially blank. This issue has been resolved.

8.2

8.2-0

New optional "As of" date filter on financial views

You can now specify an optional "as of" date on a financial view. If you specify an "as of" date, all postings after the "as of" date are ignored.

A common scenario where the "as of" date is useful is in a view with columns for the 12 periods of a year. At midyear, for instance, future postings could already exist but you may want to exclude them from the view. Without an "as of" date, it's possible for July future postings to be visible in June. However, if an "as of" date of June 30 is specified, all postings after June 30 are excluded.

Rounding values for the Trial Balance Comparison

The Trial Balance Comparison calculates the beginning balance, total debits, and total credits for each account in a selected financial period. The sums in the report are compared to the values in the associated Great Plains company. The Great Plains database allows amounts to be stored with more significant digits than the scale of the account. This difference affects the accuracy of the comparison. For example, accounts can show up on the report as having different balances even though the difference in values appears to be zero. Now the calculated amounts are rounded to the proper scale before the comparison occurs so that false differences are not reported.

8.1

8.1-0

ActivSync returns errors on values with an apostrophe

Errors could occur when ActivSync encountered values which contained an apostrophe such as a rollup name with an apostrophe in it. This problem has been addressed.

Sort Orders column on rollup items HD views

The Sort Order column has been available on the Rollup Items HD views for some time although it was hidden by default. Now the column is visible by default.

8.0

8.0-0

nQativ becomes AccountingWare!

nQativ is being redubbed "AccountingWare". In this release, all visible references as well as underlying references to "nQativ" have been changed to "AccountingWare". Some of the changed underlying references include:

  • Installation path names
  • Registry path names
  • Web references (online help, support, email, OData)

When you upgrade to version 8, registry values are automatically migrated from the old nQativ registry keys to the new AccountingWare keys. One benefit of this migration is that user preferences for the ActivityHD view pane are preserved.

For financial design users, the path for the ActivityHD Excel add-in has changed to C:\ProgramData\AccountingWare\Activity Explorer\Activity.xlam. Since the add-in has moved it must be registered again. Registration occurs automatically for the installation user. For other users it occurs automatically the first time they edit a financial design from within ActivityHD. If the add-in is not registered and you need to edit a financial design Excel workbook outside of ActivityHD or to run an import macro, press and then select AccountingWare ActivityHD > ActivityHD Excel Add-in from the Windows menu.

If an existing financial design or import macro includes links to the ActivityHD Excel add-in, it will have to be updated to reference the new path. This occurs automatically once the add-in is registered. Simply follow the prompts in Excel to "Update Links" in the affected workbook.

8.0 upgrade

ActivReporter now requires that you successfully convert to version 7.30 or higher before converting to any release of version 8. This requirement should not be cumbersome since most sites are currently on version 7.30 or higher. Nonetheless, if you find that you are running a version older than 7.30, you should install and convert to 7.30 or higher before attempting to install and convert to version 8. By heeding this requirement, you ensure that conversions load and run faster since unnecessary conversion steps for older versions of the software are removed and only steps for 7.31 and higher are included.

Access violation upon disconnecting

Previously, it was possible to get an access violation by right-clicking the Activity System folder or a company folder and selecting Disconnect. The access violation no longer occurs.

Ambiguous rollups on new accounts

Errors can occur when creating new accounts if rollups are ambiguous for a new account. In the past, this situation could cause ActivSync to be blocked. Now, instead of remaining blocked, ActivSync automatically deactivates ambiguous rollups as well as any financial view which relies on the ambiguous rollup. To relieve the blockage, resolve the ambiguity, then reactivate the formerly ambiguous rollup.

As Of date on Drilldown Explorer made optional

Since the As Of date field was added to the Drilldown Explorer, it was a required field and only accepted a date between the selected period's begin and end dates. Now these restrictions are relaxed; the As Of date is now optional and, if specified, must contain a date which falls on or before the end of the period; the date is not required to be on or after the beginning of the period.

If the period is changed and causes the previously specified as of date to go beyond the end of the period, the date is blanked out. There is no function for which it is useful for the as of date to fall beyond the end of the period. Since such a date would have no effect and could cause confusion, it is removed in this situation.

Still, this easing of restrictions can result in illogical situations; therefore, it is left to the user to formulate meaningful selection criteria. As an example of illogical but not illegal criteria, suppose you use a balance function on accounts with closing entries but specify an as of date before the beginning of the year. These criteria could cause closing entries to be excluded from your results.

If you specify an as of date before the beginning date of the period while using an Activity function, no postings are shown as should be the case. Similarly, using a YTD function with an as of date before the beginning of the year also shows no postings.

Error message for ambiguous rollup improved

In the past, the error message caused when creating or editing an account for an ambiguous rollup did not include the name of the guilty rollup. Now it does.

Moreover, a new field is now available through automation to indicate the name of the ambiguous rollup.

Example:

vAccountData.Fields("AmbiguousRollup").Value

GLAccountIndex data interface added

The GLAccountIndex data interface has been introduced to provide access to account index records via automation. Activate and Deactivate methods are also available.

New Disconnect command

A new Disconnect command has been added on authorized users which allows a user with appropriate privileges to forcibly close all connections of a particular authorized user and thus disconnect them. In the Authorized Users HD view you can access the new command from the menu ( > Edit > Disconnect), from the shortcut menu (select an authorized user and right-click), and from the toolbar.

"Disconnect" access on authorized users is required to use the new command. The Disconnect command should be considered an administrator command and should be used sparingly and with caution. Because it forcibly disconnects the user, any unsaved changes in the user's session(s) are lost. Disconnect closes all the authorized user's connections meaning that if the user has multiple connections, all the connections are lost.

When would I use the Disconnect command? Suppose a user goes home for the weekend and leaves ActivityHD Explorer running. It's possible the user left some resources locked which is preventing other users from making changes. In the past, the draconian solution was to restart the server, disconnecting all users. It was also possible, albeit very technical and difficult, to kill the user's ActivityHD Explorer process. With the new Disconnect command, you can easily disconnect a single authorized user from ActivityHD Explorer without disconnecting other users.

New minimum version of Microsoft Office required

Because Microsoft ended support for Office 2007 years ago and support for Office 2010 ends in mid-October 2020, AccountingWare is now requiring Office 2013 or later for use with ActivReporter.

"New Rollup from MR Rows" bot improved

Management Reporter's row definition row codes can be up to 16 characters long; however, the maximum length of the analogous rollup item code in ActivReporter is 12 characters. In the past, row definitions from Management Reporter could not be imported to ActivReporter if any of the codes exceeded 12 characters. Although Management Reporter row codes tend to be 12 characters or fewer, some sites have encountered the 12-character barrier.

Now the "New Rollup from MR Rows" bot truncates any row codes which are longer than 12 characters so that the ActivReporter rollup item codes can be created. If, after truncation, a new code is not unique, the bot truncates a few more characters and appends a disambiguation suffix to make the code unique. The disambiguation suffix has the format "(xx)" where xx represents a counter which begins at "1" and iterates until a unique code is achieved.

The table below illustrates the rollup item codes which would be generated from various Management Reporter row codes:

MR row code Rollup item code Memo on rollup item
00250 00250 Row Code: 00250
0250 0250 Row Code: 0250
DEPRECIATION_AAA DEPRECIATION Row Code: DEPRECIATION_AAA
DEPRECIATION_BBB DEPRECIAT(1) Row Code: DEPRECIATION_BBB
DEPRECIATION_CCC DEPRECIAT(2) Row Code: DEPRECIATION_CCC
DEPRECIATION_DDD DEPRECIAT(3) Row Code: DEPRECIATION_DDD

Code truncation and disambiguation exhibits the following behaviors:

  • Truncation always occurs on the right.
  • The disambiguation suffix is always appended to the right when needed.
  • The original Management Reporter row code is saved in the corresponding ActivReporter rollup item memo.
  • Both Management Reporter and ActivReporter allow codes which have the same numeric value but a different number of leading zeros.

Note

When multiple Management Reporter rows have the same numeric value but a different number of leading zeros, the import bot now always creates an alphanumeric rollup, copying the code exactly as it appears in Management Reporter and truncating as needed. In the past, the bot created a numeric rollup if all the row codes were numeric and then prepended leading zeros to shorter codes. This could result in multiple row definition rows being merged into a single ActivReporter rollup item, thus the change.

NewCode() automation method

A new automation method called "NewCode()" has been introduced on the IActivity and ICompany interfaces. NewCode() attempts to generate a unique code value for a particular data folder and original code value. This need can arise, for example, when importing longer codes from a data source into shorter code fields in ActivReporter where truncating the original code value could result in duplicate code values.

The NewCode() automation method uses the following logic:

  1. If needed, NewCode() truncates the original code value to the maximum length allowed in ActivReporter.
  2. If the value from step 1 is unique, NewCode() returns that value.
  3. If the value is not unique, NewCode() appends a disambiguation suffix "(xx)".
    • If appending the disambiguation suffix makes the new code too long, NewCode() truncates the original code value to make room for the suffix.
    • The suffix iterates a counter beginning at "1" until a unique code is achieved.

Example

Suppose you are importing AP vendor codes from an external system which allows 30-character vendor codes. ActivReporter only allows 20-character vendor codes, so codes which exceed 20 characters will need to be truncated, possibly leading to duplicate codes. The import bot can use the NewCode() automation method to create unique codes as illustrated:

External vendor code ActivReporter AP vendor code Comments
Acme Brick Acme Brick Code is imported as is; no truncation required.
Acme Brick and Plaster Acme Brick and Plast The truncated value is unique.
Acme Brick, Stone, and Cement Acme Brick, Stone, a The truncated value is unique
Acme Brick, Stone, and Plaster Acme Brick, Ston(1) The truncated value is not unique. The truncated value with suffix "(1)" is unique.
Acme Brick, Stone, and Siding Acme Brick, Ston(2) The truncated value is not unique. The truncated value with suffix "(1)" is not unique. The truncated value with suffix "(2)" is unique.

NewCode() returns a string value containing the unique code value. NewCode() requires the following three string parameters:

NewCode(PackageName, FolderName, BaseCode): UniqueCode;

Sample code for calling NewCode() using the ICompany interface:

Dim old_code

Dim new_code

old_code = "ACCUM_DEPR"

new_code = MacroProcess.Company.NewCode("General Ledger", "Rollup Items - Bal", old_code

MacroProcess.AddMessage "Old: " & old_code

MacroProcess.AddMessage "New: " & new_code

NewCode() does not work for all code types. Code types must have the following properties:

  • Must be a single segment code.
  • Must allow alphanumeric characters.
  • Must be at least four characters long.

The NewCode() function can abort with any of the following exceptions:

  • "Cannot generate unique new value for multi-segment code (Account)"
  • "Cannot generate unique new value for numeric code (Department)"
  • "Cannot generate unique 'Vendor' code for (ACME) after trying 10000 suffixes"
  • "Cannot generate unique 'Store' code for (XYZ)"
  • "The code length (3) doesn't allow enough space"

Tip

Consider entering the original code in the Memo field in case the imported code results in a truncated or "fabricated" unique code.

Optional As Of date field added to Workbook Options

An optional As Of date has been added to the Workbook Options dialog box. If an as of date is specified, all postings dated after the date are ignored.

A common scenario where an as of date is useful is on a financial design with columns for each of the twelve periods of a year. At mid-year future postings may already exist but need to be excluded from the financial statement. For instance, if an as of date is not specified, postings for July may be included on a June statement; however, with an as of date of 6/30, all postings after June 30 are excluded.

An as of date, when specified, must fall between the period beginning date and the period ending date of the current period.

In connection with the addition of the As Of date in Workbook Options, an AsOf financial design function has been added which returns the specified as of date. The function returns a date data type and a date value of 0 if an as of date is not specified.

In order to use the AsOf function in an optional way, consider dealing with the possibility of the as of date not being specified. The following function displays "As of <date>" when a date is specified and nothing when it is not:

=IF(AsOf()=0,"","As of "&TEXT(AsOf(),"mm/dd/yyyy"))

7.44

ActivSync will ignore unit to same unit exchange table updates

ActivSync updates the unit conversion tables in ActivReporter when the associated multicurrency exchange table in Great Plains is updated. A unit conversion table is identified by its "from" unit and "to" unit. The "from" unit is the source to which the rate is applied to return the "to" unit. The "from" unit and "to" unit cannot be the same unit; however, in Dynamics GP it is possible to configure a multicurrency exchange table with the same "from" and "to" units. In the past, the ActivSync queue would report an error and stop processing updates for a company if an exchange table was found with the same "from" and "to" units. Now ActivSync does not attempt to update the ActivReporter unit conversion table for multicurrency exchange tables that have the same "from" and "to" units.

Explicitly including account code as a sort option

Intrinsically, the General Ledger Detail Report sorts by account code. With attributes, however, it makes sense to be able to explicitly include account code in the sort options along with at least one attribute following it in the sort order. This way the report can show a breakdown by attribute item within accounts. Now you can explicitly include account code in the sort order and include other sort options before and after it.

Improved rollup activation performance

Depending on rollup rules and the number of accounts affected, activating a rollup could take a long time to complete. In fact, in some cases, the activation process would time out after an hour without completing. Now activation has been optimized to reduce the time required to perform rollup activation. In one case, the activation time was decreased from 7.5 minutes to 2.5 minutes.

Rollup item rules cannot be empty

In the past, it was possible to add a rollup item rule with no values other than the rule type ("Include" or "Exclude") specified; i.e., no items, masks, begins, or ends. This type of rule would match all rows and, especially in the case of an "Include" rule, could cause the rollup to be ambiguous. To reduce the likelihood of such unintended errors, rollup item rules no longer allow blank rules. If a blank rule is detected, the following error is produced:

Rollup rules cannot be empty. Delete it instead.

SQL Server authentication mode validation

Although ActivReporter has always required SQL Server authentication mode to support SQL Server login, no validation was performed to ensure it was enabled. Now a validation check is performed during system and company configuration in order to avoid confusion when this requirement is not met.

SQL Server Native Client update

Microsoft SQL Server 2012 Native Client is a prerequisite for ActivReporter. A newer version of the Native Client is now included with the distribution.

System connection anomaly

Recently, the system connection prompt could sometimes appear to be partially formed. This especially could occur after accepting the license agreement when running ActivReporter the first time after an installation or upgrade. This anomaly has been corrected.

7.43

Automation aggravation

Previously, interactive popup messages about licensing and backup alerts could occur when calling Activity.Connect from automation code. These popup messages will no longer be seen under these circumstances.

GL Summary enhancements

Two notable improvements have been introduced to the GL Summary:

  • Unit. In the past, if a user wanted to see totals by unit on the GL Summary, they had to select the "Unit" field as a sorting option and select "Unit" as the subtotal level. Now the report automatically sorts, groups, and page breaks by unit. The unit code and description appear in page headings and a grand total by unit is shown on the last page of each unit's report section.

    In the past, "2" was always used as the scale for formatting subtotals even when reporting subtotals for a statistical unit with a different scale (0, 1, 3, 4). Now the unit's actual scale is used to format detail amounts, subtotals, and unit grand totals.

    Note

    With this change, you can no longer show totals across different units. In fact, totals across units are generally nonsensical unless unit conversion rates are applied.

  • Account Code. By default, "Account Code" is now selected as a sort option and as the subtotal level for the report. This saves steps when you want to use the GL Summary to show account-level totals.

Health Check enhancements

Health Check has been updated with new SQL objects in the ActivSync database and new triggers in the synced Great Plains databases.

To run Health Check:

  1. Start ActivityHD Manager.
  2. Select the Databases tab.
  3. Right-click and select Connect from the shortcut menu. The Connect to SQL Server dialog opens.
  4. Select the SQL server that contains the ActivReporter databases, provide authentication details if needed, then click Connect. The Databases list box loads the names of the available databases.
  5. In the list box, right-click "ActivSync" and select Health Check from the shortcut menu.

    If any errors are discovered, they are written to a file and the file path and name are shown in a dialog box.

Improved database maintenance

The Activity System service now performs database maintenance on the system database and on the company database of any running companies. During maintenance, indexes are reorganized and rebuilt as needed based on degree of fragmentation. Maintenance actions are logged to the Windows event log.

Limited maintenance is performed once per hour by default and full maintenance occurs once per day between midnight and 5:00 am. The interval can be configured using this registry value:

HKEY_LOCAL_MACHINE\SOFTWARE\AccountingWare\Activity System\MaintenanceInterval (DWORD)

Default: 3600000 (ms)

Set to 0 to disable this feature

Maintenance can be performed manually by running the ActivityDatabaseMaintenance stored procedure on each database.

The \Distribution\Extras\RebuildIndexes.sql file will no longer be distributed.

New fields on journal entry GP tab

Three new fields have been added to the GP tab of the Journal Entry window. A new GP Users section has been added to the tab to contain these fields: Last User, Last Date Edited, User Who Posted. These fields are seeded and synced from Dynamics GP. The fields are also available to be added as columns in the Journal Entries HD view.

This feature does not require you to reseed the ActivReporter data.

Scrolling with the mouse wheel in tables

In the past, using the mouse scroll wheel did not affect tables in ActivReporter. Now you can use the scroll wheel while hovering over a table to change the row, or you can press Shift while scrolling to change the selected column. View the video below to see a demonstration.

Upgrade error

Prior to this version of ActivReporter, users could encounter a 1001 error during ActivSync installation when upgrading ActivReporter on the server. Once the error occurred, the installation would fail. Running the installation a second time would succeed.

The error did not always occur. In fact, it only occurred during an upgrade when the .NET versions of the two releases differed--even in minor ways. The differences were usually due to Windows updates.

Now the mechanism used to register ActivSync has been changed so that it does not depend on the .NET version.

7.42

Calculated closing entries with limited transaction history

Previously, year-end closing entries in ActivReporter could be miscalculated if the transaction history imported from Dynamics GP was limited. The calculation has been corrected. Patches for this change are available for versions 7.35, 7.37, and 7.39.

System connection prompt can accept IP address or DNS alias

You can now enter an IP address or DNS alias as the server address at the system connection prompt. In the past, when you attempted to do so, the address was immediately replaced by the name of the system server after the connection was established. This was a problem if you needed to use an IP address to avoid name resolution issues or a DNS alias to facilitate future server changes or upgrades.

7.41

ActivReporter features included in ActivityHD installations

Until now, ActivityHD installations did not include ActivReporter features by default. Although the features were available, a custom installation was required to select those features. Now the standard behavior of both client and server installations of ActivityHD includes the ActivReporter features. If for some reason the ActivReporter features are not wanted, they can be unselected in a custom installation.

GL Summary date options

Prior to this version of ActivReporter, the only way to specify a range of dates for the report was to filter by Post Date on the Selection tab. Now users can filter by date range or by calendar period using the Report Date options added to the Options tab.

To filter by a range of dates, select the Range option and specify a Begin Date and End Date.

  • If you leave both dates blank, the report will include data for all dates.
  • If you enter a begin date and leave the end date blank, the report will include data for dates since the begin date.
  • If you leave the begin date blank and enter an end date, the report will include data for dates up to the end date.
  • If you enter both a begin date and an end date, the report will include data for dates in the date range.

To filter by calendar period, select the Period option and then either select a calendar and select or enter a period expression or select a calendar, year, and period.

In addition, the report now shows the date range or calendar period begin and end dates at the top of the report.

GL Summary page breaks

Formerly, the page break option for the GL Summary did not work. No matter which sorting option a user chose to break on, the report did not break on a change of section. Now page breaks work as expected.

Iteration issue when publishing financial statements in case-sensitive SQL Server environment

Formerly, a conflict could occur when performing iteration in the Publish Financial Statements process if using case-sensitive SQL Server. The issue has been resolved.

View Options feature

Version 7.41 of ActivReporter introduces an alternate method for managing HD views called View Options. The optional feature is turned off by default but can be turned on by selecting > View > New View Options from ActivityHD Explorer.

In View Options mode, you can save option configurations to control the columns and rows shown in the HD view.

Click to open the View Options dialog for the current HD view.

Use the Columns tab to select and order the columns to include in the HD view.

Use the Selection tab to filter the rows to show in the HD view.

Once you finish configuring the HD view, you can click OK to apply the changes immediately. If you want to save the configuration for reuse, click and provide a name for the configuration before you click OK to close the dialog.

Other notable aspects of the View Options feature:

  • Existing column settings for each user are automatically saved with the name "Personal".
  • In addition to naming and saving options, a user can flag a configuration as Shared with other users.
  • Selected filters and column sorting are saved and restored when a user selects different view options.
  • Modifications to personal options are saved automatically.
  • Unless specified otherwise, dashboard and automation methods apply the "Personal" view options.
  • "Personal" view options must exist and cannot include selection conditions.

7.39

ActivMonitor service

An ActivMonitor service has been introduced which watches for server downtime and sends notifications thereof.

Backup alerts

A change in version 7.13 caused the Skip other backup alerts this session? option for backup alerts to be ineffective. The problem has been resolved.

Calculation of posting into prior years when SQL Server is case sensitive

Previously, when ActivReporter was installed in a case-sensitive SQL Server environment, posting into prior years was not calculated correctly. SQL Server is case sensitive if its server collation property is set to "Latin1_General_BIN".

The seeding process now calculates correctly in a case-sensitive SQL Server environment.

ClearCache method added to IFinancialCalculator automation interface

In order to enhance performance, the Financial Calculator caches certain information that is not expected to change during the calculation. This information includes segments, rollups, attributes, calendar periods, et al.

This version of ActivReporter introduces a new ClearCache method on the IFinancialCalculator automation interface which throws away all cached data. The method has no arguments. The method is useful in situations, for example, where a new segment has been created since the calculator was created. Clearing the cache causes further use of the same financial calculator to relearn what was cached.

Note

Clearing the cache unnecessarily can degrade performance.

Closing a year in Dynamics GP no longer requires reseeding

Prior to version 7.39, closing a year in Dynamics GP required a reseed of the ActivReporter company. Now ActivReporter can detect when a fiscal year is closed and automatically updates the calculated closing entries in the associated company.

Using this feature requires an update to the triggers on the Dynamics GP database tables. To accomplish this, use Activity Manager to run the Company Configuration Wizard for each of your ActivReporter companies. When you run the wizard, ensure that the Reseed checkbox is NOT marked and that the Enable ActivSync for this company checkbox is marked. The wizard updates the triggers in the associated Dynamics GP database.

Error when closing ActivityHD Explorer

Recently, when closing ActivityHD Explorer, an access violation could occur. Other than being unexpected, the error had no ill effects. The error has been eliminated.

GL Summary Report revision

To accompany the relabeling of the "Balance" column in the Journal Detail HD view to "Net Activity" (see "Label change in Journal Detail HD view" below), the "Balance" column in the GL Summary Report has also been changed to "Net Activity".

Inconsistent amounts on Trial Balance Report

In the past, limiting the Trial Balance Report based on an attribute which was not added to the Assigned Sort Options list box on the Grouping tab could result in accounts missing from the report output. Now filtering on an attribute works as expected and the report output includes all accounts which meet the attribute conditions specified on the Attributes tab.

Installation reassures users of progress

In the past, when installing ActivReporter, users sometimes experienced a delay after clicking an installation option before the installation wizard displayed. To make matters worse, there was no indication that the wizard was actually loading. At times, while trying to prevent the user from clicking a link again, the setup program would freeze.

Now when a user clicks an installation option, an animated "toast" notification displays with the text "Waiting for installation wizard". In addition, the notification shows animated dots to indicate the wizard is working and not frozen. Furthermore, the setup process no longer freezes; in fact, setup remains responsive and displays a "waiting" cursor instead of a pointer. At this point in the process, the user can click the Exit option to abandon the process but cannot click anywhere else until the wizard completes or is closed.

Label change in Journal Detail HD view

The column in the Journal Detail HD view which was formerly labeled "Balance" has been renamed to "Net Activity" to better represent the contents of the column. The values in this column represent the difference between the debit amount and credit amount for the detail line. The description for this column in the Options dialog and in selection dialogs is "Net Activity (Debit - Credit)".

Note

Backward compatibility has been maintained. Existing dashboard gadgets which reference the previous description, "Balance (Debit - Credit)", continue to work.

"NetActivity" automation field added

In conjunction with the relabeling of the "Balance" column in the Journal Detail HD view to "Net Activity" (see "Label change in Journal Detail HD view" above), "NetActivity" was added to the IJournalEntryDetails automation interface as a read-only field.

"New Rollup from MR Rows" built-in bot now handles old-style account mask row detail properly

The "New Rollup from MR Rows" built-in bot creates and populates a rollup based on rules from a Management Reporter row definition. Prior to this version of ActivReporter, a problem could occur with the bot when the Management Reporter database detail contained an account mask specification (i.e., ControlRowCriteria.CriteriaType=1) and no dimension-specific values for the given row definition.

Apparently, the CriteriaType=1 row type was generated in a migration of FRx to Management Reporter and is no longer needed or maintained by Management Reporter.

If you edit a Management Reporter row that has both dimension-specific values and a hidden account mask, you will see the dimension-specific financial link values but not the account mask. If you delete all dimension-specific values, these values are removed from the Management Reporter database but the account mask value, CriteriaType=1, remains.

In the past, the bot would process a Management Row definition account mask line into rollup item rules if the line did not have any dimension-specific detail. This resulted in rollup rules that might be ambiguous or erroneous and which did not produce the same results as the row definition in Management Reporter.

Now the bot excludes the old-style account mask row default.

If need be, the previous behavior can be restored by copying the built-in bot to a new bot and changing the following line in the macro code:

  • Change: Const IncludeLegacyFRxAccountMask = False
  • To: Const IncludeLegacyFRxAccountMask = True

Period expressions now available for selecting reporting periods

An Expression field has been added to the period selector for financial designs in the Workbook Options dialog box.

...and to the Calendar Period popup which can be accessed in the Drilldown Explorer and in the Financial View Items HD view by clicking the right arrow on the Period field.

...and to the Period section on the Options tab of certain report wizards including the Account Financial Report, Trial Balance Report, Trial Balance Comparison Report, and Financial Statements.

Now when you pick the calendar period to report on, you can select or enter a period expression, making it easy to pick a period relative to the current date.

The Expression dropdown includes three common period expressions:

  • Current
  • Current - 1 period
  • Current - 1 year

However, you can alternatively enter any valid period expression in the Expression field. The help button next to the field provides direct access to the "Period expressions" help topic where you can get assistance on proper period expression syntax.

"Refresh" feature added to ActivityHD ribbon

Some native Excel functions are insufficient to recalculate financial designs according to user expectations. For this reason, a new "Refresh" feature has been introduced to the ActivReporter ribbon.

The new feature provides three actions users can perform to better update their current view of a financial design while editing it in Excel:

  • Refresh All. Refreshes data and filters in one step. This is the default behavior of the main Refresh button.
  • Refresh Data. Clears the cache of the financial calculator and runs Excel's "CalculateFullRebuild" method (the same method as Calculate > Force Full Calculation). Adding cache-clearing causes any further use of the same financial calculator to relearn what was cached before performing Excel's most complete recalculation. The result is that the most current information displays in the financial design.
  • Refresh Filters. Refreshes filters only. No recalculation or cache-clearing is performed. This action is useful when the current calculation is adequate or if recalculating the financial design would be time-consuming. A filter refresh is typically needed to resolve show/hide issues.

Seeded closing now handles limited history

Version 7.35 of ActivReporter introduced a new method for calculating year-end closing postings from Dynamics Great Plains; however, the new method did not take into account the case when ActivReporter is seeded with limited transaction history from GP. The closing journal entries are now correct when the imported transaction history is limited.

Seeding error on prior year postings with duplicate journal entry number

Previously, a seeding error could occur if any prior year postings had the same journal entry number but different recurring numbers. To address this issue, the recurring sequence number has been added to the ActivReporter Batch field if the recurring number is greater than zero, thus ensuring that the batch and journal entry number combination is unique in ActivReporter.

Trial Balance Report converted to analysis-style report

The Trial Balance Report now has Page Break Level and Subtotal Level controls on the Grouping tab. These controls effectively transform the report into an analysis-style report. You can use the Subtotal Level field to specify up to four levels of grouping. These user-specified groupings appear between the top-level "Unit" group and the innermost "Account" group.

In a related change, the Include Group Totals checkbox is no longer necessary and has been removed from the Grouping tab. If an existing report profile references the checkbox, the Subtotal Level field is automatically set to the maximum level available in the list of assigned sort items.

Notice also that a new "Account Code" sort option has been added. This option provides the ability to break down account balance information by attribute so that you can see an account-level subtotal for all attributes.

Finally, in addition to the substantive changes cited above, several cosmetic layout changes have been made to improve the report presentation.

Trial Balance Report running totals issue

In the past, the totals on the report could be incorrect if an account was shown in multiple groups. The account total was excluded if the preceding total shown included the same account. The issue has been corrected.

Unintended popup messages

In version 7.27 an issue was introduced which caused unintended popup messages while publishing financial statements and while running the Account Financial Report. This annoyance has been eliminated.

Updated sort items for certain reports

Reports which previously included "Code" or "Description" sort items for attributes, segments, or rollups now include the following sort items for each attribute, segment, or rollup:

  • Code
  • Code-Description
  • Description-Code

Report profiles which include a reference to the "Description" sort item now use the "Description-Code" sort item instead.

7.37

Check button added to Rollup window

A Check button has been added to the toolbar to provide easy access to the ambiguity check from within the Rollup window. The button is disabled if the selected rollup is currently activated. This addition coincides with the improvements to the ambiguity check discussed below.

One source of server crashes eliminated

A possible source of server crashes has been identified and corrected. The circumstances which could formerly precipitate a crash are:

  • One user has an ActivReporter pane open to the Authorized Users folder, and
  • Another user disconnects with no cached database connection. (This rarely occurs with interactive users.)

Prior year postings now synced

Prior to version 7.37, a posting from Dynamics GP into a prior closed year required a reseed of the ActivReporter company. Now postings into a prior closed year are synced.

Using this feature requires an update to the triggers on the Dynamics GP database tables. To accomplish this, use Activity Manager to run the Company Configuration Wizard for each of your ActivReporter companies. When you run the wizard, ensure that the Reseed checkbox is NOT marked and that the Enable ActivSync for this company checkbox is marked. The wizard updates the triggers in the associated Dynamics GP database.

Rollup ambiguity check improved

The ambiguity checks on rollups now provide improved performance and make it easier to identify rollup rule conflicts.

In the past, the performance of the ambiguity check for most rollups was satisfactory. The checks would complete in a reasonable amount of time and a list of problems was presented if any conflicting rollup item rules were detected. However, the number, nature, complexity, and/or overlap of rollup item rules could seriously impair the performance of the ambiguity checks for some rollups. While the process analyzed the rules, the user could not determine the progress of the process or know how much time before the process completed. In fact, the process was set to time out after 60 minutes, so the user could be stuck waiting for the process to complete or to time out, or might resort to Task Manager to end the process.

Now, in addition to performing better, the ambiguity check process displays a flood bar so that the user can observe progress as the process analyzes each rollup item one rule at a time. A Cancel button is also provided so that you can abort the process at any time.

The overall performance of the ambiguity check is improved as well. For instance, one test case was observed to reduce analysis time from 30 minutes to 15 seconds. Naturally, the duration of the ambiguity check will vary depending on the nature of your rollups, rollup item rules, and account indexes.

The Rollup Items Ambiguous Check dialog is also improved. Formerly, the results dialog showed all accounts with duplicate rollup items assigned to them sorted by account code. The two conflicting rollup item codes were displayed for every account. While this led you to the rollup items, you had to scan the rules to determine which one caused the ambiguity. Moreover, it was possible for hundreds or thousands of accounts to result from several rollup item rule collisions. The account code sort only made it more difficult to figure out the culprit.

Now the results dialog shows the pair of item codes which cause the conflict along with the detail line numbers where the conflict occurs. A Duplicates column indicates the number of accounts assigned to both item codes, and a Sample Account column shows the first account (in account code order) which is assigned to both rollup items. This condensed look at the conflicts makes it far easier to zero in on the troublesome rules.

Even better, you now can drill down on items in the Item 1 - Line # and Item 2 - Line # columns to go directly to the corresponding rollup item and detail line in the Rollup Item window. These options are also available in a context menu which you can access by right-clicking a row in the table.

VBSedit update

For a while, users who attempted to edit or debug a bot on a virtual machine running in an Azure environment would receive an error message indicating the VBSedit license needed to be activated. VBSedit has been updated to the latest version so that it now runs without errors in an Azure environment.

7.35

HD view filter settings in process dialogs

ActivReporter 7.27 introduced the restoring of filter settings on all HD views regardless of context. Unfortunately, this behavior was not desirable in all contexts, particularly in process dialogs. The previous behavior of filters in process dialogs has been restored.

New method for calculating year-end closing entries

Unlike Dynamics GP, ActivReporter does not contain account balances between fiscal years. In GP, all accounts start with a zero balance unless the account has a balance brought forward record from the previous year. In ActivReporter the value of an account is calculated from the amounts in transaction history. To accommodate this difference, when ActivReporter is seeded the balance brought forward records are changed into journal entries so that the account balances in ActivReporter match those in GP.

Version 7.35 introduces an improvement in this process by separating the year-end closing entry from prior year postings. As a result, the calculated closing entries can be drilled back to in ActivReporter.

This change does not require you to reseed the ActivReporter company.

New User Profile dialog

Now when a user connects to ActivReporter, a User Profile dialog is available from the Activity System node. If a user is connected with a username and password, the user has an option to change their password. Users can also confirm their email or update their email address from the User Profile dialog. A confirmed email address is required to use the Forgot your password? feature.

Password maintenance

The login dialog and the splash screen for ActivReporter are now combined. Along with this change comes new features which assist users with password issues.

Now a user who forgets their password can click the Forgot your password? link to accomplish the Reset Password process. Using this capability requires the system server to be configured with email settings.

In addition, if a user's password has expired, or if a user's authorized user record is flagged to require a password change on next login, the user is guided through the Change Password process.

7.33

Access violations opening Drilldown Explorer from Excel

An issue was introduced in ActivReporter version 7.30 which could result in access violation errors when opening some windows, particularly when opening the Drilldown Explorer from Excel. The issue has been resolved.

Account Financial Report

In version 7.31, a simpler method of combining the worksheets created from iterations into a single workbook was introduced. Unfortunately, for some file types problems occurred when you tried to combine iterations. Sometimes the combine process would not work and an unhelpful error message was returned; other times the process simply did not work due to technical limitations. Now a more user-friendly message is returned when these conditions arise advising you to select a different file type or to clear the Combine iterations into multisheet workbook checkbox before proceeding.

The affected file types are: .txt, .csv, .prn, .dif, .slk, .xlam, .xla.

Now if the Combine iterations into multisheet workbook checkbox is marked and one of these file types is chosen, a message similar to the following is returned:

Cannot combine iterations into a single file with the selected file format of .txt!

Please choose a different file format or uncheck the combine iterations checkbox and try again.

ActivReporter Automation Server (AAS)

A new ActivityLoginOption_Interactive option allows you to create an automation solution which provides an improved user experience when establishing the Activity System connection. The new option is particularly useful for users who log in using the username and password method.

Example:

Dim vActivity as Activity

Set vActivity = New ActivityOAS.Activity

vActivity.Prompt = True '-True always shows the prompt; False shows the prompt only when necessary

vActivity.Connect ActivityLoginOption_Interactive '-Interact with the user to establish the connection

Allowing fully qualified SQL Server names in configuration

Sometimes it is necessary to use a fully qualified SQL Server name or an IP address when connecting to SQL Server. Previously, system and company configuration would replace a fully qualified SQL Server name with the node name. This caused problems when users tried to run the ActivReporter servers or to connect to clients. The issue has been corrected.

Duplicate journal detail lines

An issue was introduced in version 7.29 which caused journal detail lines to appear to be duplicated when a user edited a journal entry if the date on the detail line was outside the range of posting dates for the account on the line. The issue has been resolved. Fortunately, the error was only likely to occur when the account posting dates were changed erroneously.

Errors attempting to reconnect to a workbook

Since version 7.24, a problem could arise if you attempted to reconnect to a workbook using username and password after disconnecting or after closing the workbook. While the initial connection worked, the following error was issued when you attempted to reconnect:

The Activity System server could not be contacted.

Access is denied.

The problem has been addressed.

ItemExpression result syntax

The result of an ItemExpression function now uses parentheses if multiple parameters are passed thus producing multiple conditions. For example:

ItemExpression("Project", "100", "Dept", "01") = "(Project=100 AND Dept=01)"

Login changes

All login settings are now in the system authorized user records. System user records control user login and security settings at the system level. Company authorized user records must now have a link to a system user to allow login and to control security settings at the company level.

As a result, the following changes have occurred to the company authorized user records:

  • The Web Username and Web Password fields and related options have been removed.
  • The Email Address field has been removed to avoid confusion over the email address used for actions such as Password Reset.

Missing saved answers in Publish Financial Statements

A problem was introduced in version 7.31 which caused users to lose their saved answers in the Publish Financial Statements process. Now all saved answers which were created for the former Generate and Print Financials process are available in the Publish Financial Statements process.

New icon for Publish Financial Statements

The toolbar icon for Publish Financial Statements was formerly a printer icon. The following publish icon has now replaced it:

New Options action on report preview

When you open a report to the Preview window, there is now a new Options command in the File menu. The Options command opens the report wizard dialog so that you can easily investigate or change the report settings.

The new feature is particularly useful when you are running a bot which opens the report preview but does not normally need to show the report dialog options.

Publish Financial Statements

In version 7.31, a simpler method of combining the worksheets created from iterations into a single workbook was introduced. Unfortunately, for some file types problems occurred when you tried to combine iterations. Sometimes the combine process would not work and an unhelpful error message was returned; other times the process simply did not work due to technical limitations. Now a more user-friendly message is returned when these conditions arise advising you to select a different file type or to clear the Combine iterations into multisheet workbook checkbox before proceeding.

The affected file types are: .txt, .csv, .prn, .dif, .slk, .xlam, .xla.

Now if the Combine iterations into multisheet workbook checkbox is marked and one of these file types is chosen, a message similar to the following is returned:

Cannot combine iterations into a single file with the selected file format of .txt!

Please choose a different file format or uncheck the combine iterations checkbox and try again.

Specifying login options using the ActivityImport class

In the past, you could not specify login options using the ActivityImport class, thus making the username and password login option unavailable. You can now use the ActivityImport class to specify login options; hence, username and password login is now available.

Example:

Dim ActivityImport As ActivityXLA.ActivityImport

Set ActivityImport = ActivityXLA.NewActivityImport(1)

ActivityImport.Connect "<ServerName>", "<CompanyName>", ActivityLoginOption_UsernamePassword, "<Username>", "<Password>"

7.32

No changes since 7.31.

7.31

Account Financial Report

The process of combining the worksheets created by iterating has been simplified. Formerly, users had to open Excel and click Combine in the ActivReporter ribbon to combine the resulting worksheets into a single workbook.

Now there is a Combine iterations into multisheet workbook checkbox on the Options tab of the report setup wizard which allows you to automatically combine iterations. Furthermore, the Iterations tab has been removed and consolidated into a Select Iterations popup accessible from the new Iteration field also on the Options tab. The popup behaves much like the former Iterations tab. The Combine iterations into multisheet workbook checkbox is enabled if you select one or more iterations from the Select Iterations popup.

When the Combine iterations into multisheet workbook checkbox is marked, the iteration files are generated as before but then combined into a single file of the type you select. No need to open Excel!

ActivSync triggers now update during data conversion

In the past, if the ActivSync trigger definitions changed, you had to configure ActivReporter companies as part of an upgrade in order to update the ActivSync triggers in the GP database. This has not been a significant problem because the ActivSync triggers do not often change. Nonetheless, now ActivSync triggers are updated on all GP databases if ActivSync is enabled when you run the system configuration. As a result, you only need to run company configuration when a reseed is required.

Asynchronous HTTP requests

Previously, it was possible for the company HTTP server to return an internal server error (HTTP 500) if multiple asynchronous requests were sent to the company server at the same time. The server can now handle asynchronous requests from the same user.

Drilldown Explorer

An "as of" date has been added to Drilldown Explorer.

In the past, the drill down always included all relevant postings in the chosen period. Now you can limit the postings to those dated on or before a specified date.

The "as of" date defaults to the period end date of the specified period but can be changed to any date between the period begin and period end dates. If you blank out the "as of" date, the date reverts to the period end date.

Drilldown Explorer and "period through" expressions

Prior to this version of ActivReporter, drilldown on cells in a financial design which used "period through" period expressions could include too many results and the total might not match. This issue has been corrected.

The "period through" period expression allows the effective period end date to be changed from the actual period end date. This behavior was not being properly handled by the drilldown. Instead, the drilldown was always including the entire period. Now drilldown from "period through" period expressions correctly honors the through date as the new "as of" date field in the Drilldown Explorer.

Excel icon overlaps Financial Designs menu item

In version 7.30 of ActivReporter, an Excel icon was added to the Financial Designs menu item to make it easier to identify the Excel-based financials. Unfortunately, if the navigation pane was sized small enough, the icon appeared to overlap the label. A small amount of space has been added between the text and the icon so that the icon does not appear to overlap the label.

New Health Check feature

A new "Health Check" feature has been introduced to ActivityHD Manager to ensure that the SQL objects which ActivReporter requires are created and enabled. If a problem is identified, the results of the Health Check can be written to a file.

To run Health Check:

  1. Start ActivityHD Manager.
  2. Select the Databases tab.
  3. Right-click and select Connect from the shortcut menu. The Connect to SQL Server dialog opens.
  4. Select the SQL server that contains the ActivReporter databases, provide authentication details if needed, then click Connect. The Databases list box loads the names of the available databases.
  5. In the list box, right-click "ActivSync" and select Health Check from the shortcut menu.

    If any errors are discovered, they are written to a file and the file path and name are shown in a dialog box.

Publish Financial Statements

The process of combining the worksheets created by iterating has been simplified. Formerly, users had to open Excel and click Combine in the ActivReporter ribbon to combine the resulting worksheets into a single workbook.

Now there is a Combine iterations into multisheet workbook checkbox on the Options tab of the Publish Financial Statements wizard which allows you to automatically combine iterations. Furthermore, the Iterations tab has been removed and consolidated into a Select Iterations popup accessible from the new Iteration field also on the Options tab. The popup behaves much like the former Iterations tab. The Combine iterations into multisheet workbook checkbox is enabled if you select one or more iterations from the Select Iterations popup AND select "File" in the Output To field.

When the Combine iterations into multisheet workbook checkbox is marked, the iteration files are generated as before but then combined into a single file of the type you select. No need to open Excel!

Server startup errors

A problem was introduced in version 7.30 which caused the system service to return errors when attempting startup if the service did not shut down normally during the prior session. The following error message was returned:

Invalid object name ##Interest

The issue has been resolved.

7.30

Error in multi-company financial calculations

Version 7.27 of ActivReporter introduced an issue which caused multi-company financial calculations to fail with a "no period found" error. The issue has been mitigated.

Excel icon added to Financial Designs menu item

An Excel icon has been added to the right of the Financial Designs menu item in the navigation pane to help users easily locate their Excel-based financials.

Overriding SMTP settings at company level

An Email tab has been added to the Company window. Use this tab if you need to override the SMTP settings for the company which are otherwise inherited from the system SMTP settings. The system SMTP settings are configured through ActivityHD Manager.

Settings can be overridden in a piecemeal fashion; so if only one or two settings need to be changed, they can be changed while the other settings remain inherited.

In the Company window, settings which have been overridden are bolded while inherited settings appear in a normal font.

7.29

Anonymous connections

If and only if the ActivReporter server allows anonymous connections are clients that cannot authenticate allowed to connect with a username and password. In the past, an authenticated connection was attempted first; if that produced an "access is denied" failure, only then was an unauthenticated connection attempted. The purpose of this behavior was to increase the circumstances under which an authenticated connection is used.

With this version of ActivReporter, security package-specific errors have been added to the conditions under which an unauthenticated connection will be attempted. These errors can occur when both the client and the server cannot agree on a negotiated security protocol. So now if either an "access is denied" failure or a security package-specific error occurs when an authenticated connection is attempted, an unauthenticated connection also will be attempted if using username and password.

Company SQL Server inherited from system if not specified

Formerly, the company SQL Server had to be specified in company configuration in order for the company to run. However, the most common scenario is that company databases reside on the same SQL Server as the system database. In these cases, the SQL Server no longer needs to be specified on the company record. If the SQL Server is not specified on a company record, the company now inherits the setting from the system record.

During conversion, the SQL Server setting is removed from all companies which use the same SQL Server for both the company database and the system database so that the SQL Server setting will be inherited from the system setting.

In the Company window, inherited values are displayed in normal font while overridden values are shown in bold font.

TCP/IP Keepalive Time setting added

A new TCP/IP Keepalive Time setting has been added to the System Configuration wizard. This setting controls how long the client connection will be maintained when there is no response. Records which are open when a connection is lost can remain locked for the number of minutes you specify here. nQativ recommends you set the time to 5 minutes.

7.28

Script for updating closing entries added to Extras folder

A script named "ReconcileClosingEntries.sql" has been added to the Extras subfolder of the ActivReporter Distribution folder. This script can be used to update closing entries.

7.27

Financial design errors when simultaneously activating a rollup

Previously, users could experience problems while editing a financial design if they attempted to activate a rollup in the meantime. The financial design would produce errors when it tried to use the rollup. To resolve the problem users had to disconnect and reconnect. Disconnection and reconnection are no longer necessary. Financials now can be calculated with a newly activated rollup without having to reconnect. This solution also applies to newly activated segments and attributes.

Formerly custom fields formalized

ActivReporter accommodates several GP Dynamics-specific pieces of journal entry data. Prior to this version, this data was stored in custom fields on journal entries. Now they are stored in first class fields and appear on a separate GP tab. This change was made primarily to improve performance.

Installation

ActivReporter's main setup screen has links for selecting which type of installation to perform.

In the past, it was possible to click fast enough that multiple installers were launched almost simultaneously. Now only one installer can be selected at a time. A second installer cannot be selected until the first installer completes.

Lessening the need to reseed after upgrades

In the past it was necessary to reseed ActivReporter after every software upgrade. Now it will not always be necessary. Instead, when possible, ActivReporter will achieve the necessary changes as part of database conversions rather than always requiring a reseed.

New Preview to PDF action on all reports

All reports now have a new preview option: Preview to PDF. This option allows users to preview reports using their PDF viewer. The keyboard shortcut for this feature is Shift+Ctrl+W. The familiar preview option which opens in the Crystal Reports viewer is still available.

Online help tabs now visible in Internet Explorer and Edge

Since the tabbed format for help topics was introduced, users who viewed the online help using Internet Explorer or Edge noticed that the unselected tabs appeared gray and their labels were barely visible. Now unselected tabs are blue with white text.

Before:

After:

SQL Server 2008 support ends

Because Microsoft's extended support for SQL Server 2008 R2 (SP3) ended on July 9, 2019, meaning Microsoft will no longer release security updates for any version of SQL Server 2008, nQativ has discontinued support of SQL Server 2008 as well. To read more about the demise of SQL Server 2008 and about Microsoft's product lifecycle policy, go to https://www.microsoft.com/en-us/sql-server/sql-server-2008 and https://support.microsoft.com/en-us/hub/4095338/microsoft-lifecycle-policy.

ActivReporter now requires one of the following database servers:

  • Microsoft SQL Server 2017, Standard or Enterprise (64-bit) [recommended]
  • Microsoft SQL Server 2016, Standard or Enterprise (64-bit)
  • Microsoft SQL Server 2014, Standard or Enterprise (64-bit)
  • Microsoft SQL Server 2012 Service Pack 4, Standard or Enterprise (64-bit)

SQL Server 2019 support begins

ActivReporter now supports Microsoft SQL Server 2019, Standard or Enterprise (64-bit).

Before now, SQL Server 2019 required prior versions of SQL Client Tools to be installed in order to play nicely with ActivityHD Manager; that obstacle has been overcome.

Unit conversion rate expiration error

In the past when translating financial amounts using either current or historical translation methods, an error could occur when the expiration date of the unit conversion rate was the same as the calculation date. The message was similar to the following:

Unit conversion rate has expired for Current translation method from Dollars to Yen on 12/31/2018. In effect on 12/1/2018, it expired on 12/31/2018.

This situation should not have returned an error. A unit conversion rate is now good through its expiration date. Put another way, while a rate was formerly accepted if its expiration date was less than the calculation date, it is now accepted if the expiration date is less than or equal to the calculation date.

7.26

Anonymous connections to ActivReporter

Until now ActivReporter disallowed anonymous connections from users with no login to the server. This is desirable behavior in most environments, particularly in a domain environment. However, in some situations where the client user does not have a server login, it may be useful to allow the user to connect. There is now an option to allow anonymous connections; however, the default behavior is to disallow anonymous connections.

To allow anonymous connections, set the value of the registry entry \HKEY_LOCAL_MACHINE\SOFTWARE\nQativ\Activity System\AllowAnonymousConnections to "1".

If you do not need to allow anonymous logins, nQativ suggests that you do not. If you are unsure whether you need to allow anonymous logins, you should not allow them.

If you enable the anonymous login option, changes to the firewall settings on your server may also be required.

Your system server will log the state of the anonymous login option in the startup message in the event log. The text of the event entry will contain either the phrase "disallowing anonymous connections" or "allowing anonymous connections".

Automatic queue bump improved

Automatic bumping of the queue by the server was introduced in version 7.25. At that time, bumping was set to occur every minute. Now the queue is checked every minute to determine if bumping is needed, and the server only bumps when the queue is stuck. An event is logged when bumping actually occurs.

"Average" method of currency translation now supported in financial designs

ActivReporter's financial calculator now supports the "Average" translation method for translating financial statements from one currency unit to another.

The "Average" translation method calculates using a per period average rate. The average is calculated using the following formula:

SUM(rates)/number of rates

The calendar used to determine the periods is the calendar associated with each account provided one of the account segments requires a calendar; otherwise, the default calendar is used.

Cloud logging default

Previously, cloud logging to report ActivSync errors was turned off by default. Now, if the Enable ActivSync for this company checkbox is marked in the Company Configuration wizard, the Log ActivSync errors to the cloud for product improvement checkbox is marked by default.

Databases which cannot be connected to are skipped during configuration

When a user configures an ActivReporter database, they are presented with the opportunity to specify the Dynamics GP database to use as the source database for seeding.

The available databases are presented as a list. The list is built by looping through all databases on the SQL Server and including those which appear to be Dynamics GP databases. To determine if a database is a Dynamics GP database, ActivityHD Manager must connect to it. Prior to this version, if any error occurred while connecting to a database, the error was reported and the process of building the database list was halted. The result was typically a confusing and irrelevant error and an incomplete list of databases. In fact, the database the user was looking for might not appear in the list. One reason this state could occur is if one of the databases was offline.

Now if an error occurs trying to connect to a database, that database is simply skipped and no error is presented. The database list continues to build to completion and inaccessible databases are simply omitted from the list.

"Days Weighted Average" method of currency translation now supported in financial designs

ActivReporter's financial calculator now supports the "Days Weighted Average" translation method for translating financial statements from one currency unit to another.

The "Days Weighted Average" translation method calculates using a per period weighted average rate. The weighted average is calculated using the following formula:

SUM(Rate*Days)/SUM(Days)

The calendar used to determine the periods is the calendar associated with each account provided one of the account segments requires a calendar; otherwise, the default calendar is used.

"Days Weighted Average" translation method added to seeding and syncing

Now when the currency translation type in Great Plains is "Average" and the company's average calculation method in Great Plains is "Rate Days Average", the translation method for the account in ActivReporter is set to "Days Weighted Average".

A reseed is required to update all accounts from Great Plains for this change.

Deleting custom fields

Formerly, a user could delete a custom field from a folder even if other users were editing records in that folder. While the custom fields could not be edited, they could be deleted. Now a user cannot delete a custom field if other users are editing records in the folder.

Keyboard shortcuts for ActivityHD ribbon revised

The features on the ActivityHD ribbon in Excel are accessible using shortcut keys; however, in the past, many key assignments were determined by Excel because in some cases we had assigned the same key to multiple menu items and in other cases we had used keys reserved by Excel to maintain backward compatibility with previous versions of Excel. Now ActivityHD menu items use keystrokes which Excel does not replace. Since the available keystroke options are quite limited because Excel has reserved so many of them, the keystroke used to access the ActivityHD menu itself is still provided by Excel. Other Excel add-ins share the same limitation.

Trial Balance Comparison Report no longer requires log-in credentials to the GP database

Prior to this version of ActivReporter, running the Trial Balance Comparison Report required log-in credentials to connect to the GP source database. This is no longer a requirement because the company login is configured with read-only access to the source database.

A change in behavior accompanies this change. Now if the user has a security view on accounts, the report will not contain any accounts which exist in GP but are not available in ActivReporter. If the user does not have a security view on accounts, the report will contain missing accounts and any selection conditions or view selection limits are not applied.

Unit conversion table operation issue

Prior to this version of ActivReporter, when multicurrency information from a GP Dynamics database was seeded and synced with ActivReporter, the operation from the unit conversion table was incorrect resulting in multiplication when division was called for and vice versa. The problem has been corrected.

Unit conversion table Rates tab

Unit conversion tables were added to ActivReporter in version 7.25; however, the Rates tab on unit conversion tables was not filtered properly. Now the Rates tab is filtered to show only the rates for the current unit conversion table.

Unit conversions rates without an expiration date

Formerly, unit conversion rates without an expiration date were not being properly handled by ActivReporter. As a result, when seeding occurred from a database using multicurrency, a constraint violation error was likely to be returned when updating unit conversion rates. The problem has been addressed.

7.25

Account Financial Report returns error when being previewed

Before version 7.25, the following error could occur when previewing the Account Financial Report:

Unable to set the Interactive property of the Application class.

The error only occurred when the financial design being reported on had been saved with multiple worksheets selected; however, it occurred whether a design was selected or whether a design file saved on disk was selected.

Now ActivReporter determines the number of worksheets selected when a user clicks Preview and, if multiple sheets are selected, the "active" worksheet is explicitly selected thereby unselecting all other previously selected worksheets.

ActivReporter no longer assumes system database name

In the past, ActivReporter assumed that the name of the GP system database was "DYNAMICS". However, naming the database is an option at installation time, so that may not be the case. Now ActivReporter makes no such assumption, but looks up the database name instead.

Automatic bumping of ActivSync queue

ActivReporter relies on synced data. Changes made to the source Dynamics database are synced to the corresponding ActivReporter database. Sometimes the syncing mechanism needs to be restarted due to circumstances beyond ActivReporter's control. ActivReporter provides a mechanism called "bumping" to handle such situations. Now ActivReporter can bump its own queue periodically and automatically. This occurs anytime an ActivReporter company is running. This change improves the reliability of ActivReporter data syncing.

The default periodicity for bumping is 60 seconds; however, you can set the length of the period between bumps in a registry entry. The registry key is HKEY_LOCAL_MACHINE\SOFTWARE\nQativ\Activity System. If the registry entry contains a DWORD value named "ActivSyncAutomaticBumpInterval", its value will be used. The value is expressed in milliseconds. For instance, an interval of 60 seconds is expressed as 60000. A value of 0 disables automatic bumping.

Automatically launching ActivReporter after successful installation

Before version 7.25 of ActivReporter, when the ActivReporter client was installed, a checkbox option was provided to allow you to immediately launch the application. However, if you exercised that option, the application would run under an elevated user, or even a different user if the original user did not have admin rights. Because ActivityHD Explorer must be installed from an elevated user or admin user if the original user is unable to elevate, problems ensued. This issue also affected Automatic Update.

The checkbox has been removed from the installation dialog, and now the application will launch automatically at the conclusion of a successful Automatic Update or manual installation without the problems caused by the checkbox option. The application now runs in the security context of the user who originally requested the software update. If the original user was non-elevated, the application runs non-elevated.

Calendar/Year/Period defaults improved

The Calendar/Year/Period controls in the following dialogs default to the calendar period which contains the current date:

  • Account Financial Report
  • Trial Balance Report
  • Workbook Options of financial designs
  • Print Financials
  • Financial View HD view

In the past, when the calendar did not contain the current date, the default selection was blank. When you selected a year, you had to scroll through all previous years to get to the year you wanted. This sort of behavior also occurred in the Period control.

Now, if you select a calendar which does not contain the current date, the default is the last period before the current date. For instance, in 2020 if you forget to update your default calendar before running the Trial Balance Report, the default period will be the last period of 2019.

Be aware that if you select a calendar with dates all in the future, the default period will be blank. For that situation, the software assumes you want to select one of the first years in the list.

Excel crashes when editing financial design with multiple worksheets selected

In the past when editing a financial design in ActivReporter which was saved with more than one worksheet selected, Excel could crash. In this circumstance, the Excel title bar included the phrase "[Group]" to indicate that multiple worksheets were selected. The crash came when closing the Workbook Options window, whether by clicking OK, Cancel, or . The following error message also displayed:

Unable to set the Interactive property of the Application class.

Compounding the issue, if the message box was obscured by other windows, ActivReporter could appear to be hung.

To prevent the error, ActivReporter now determines the number of worksheets selected when a financial design is being edited. If multiple worksheets are selected, the "active" worksheet is explicitly selected, thus unselecting other worksheets.

This issue did not occur when editing a financial design outside of ActivReporter.

New unit conversion tables

Unit conversion tables have been added to ActivReporter as part of the currency translation feature. Find unit conversion tables in the Navigation pane at ActivReporter > Setup > Unit Conversion Tables. The pre-existing unit conversion rates are now details of unit conversion tables.

After upgrading to version 7.25 or higher, your table usage settings should be adjusted to put the desired tables into use.

Note

As of this writing, the "Average" and "Days Weighted Average" translation methods have not been implemented.

Performance of ActivSync improved

ActivSync now performs better when updating posted journal entries.

Performance of Financial Views improved

The addition of an index on CalendarPeriod to include PeriodNumber and one on CalendarYear to include AbsoluteYear will provide significant performance improvement for financial views which use period expressions based on specific period numbers. Period expressions such as "Period 1, Period 12 - 1 Year, and Period 1 - 6" now perform much faster.

Performance of Financial Views improved (again)

The performance of financial views, particularly those based on segments or rollups and not accounts, has been improved. In most non-trivial cases, the improvement is noticeable.

Performance of rollup activation improved

The process of activating rollups has been optimized, providing significant improvement in performance. In one case, the process which was previously timing out after 60 minutes (SQL's current maximum timeout period), was reduced to 8 minutes after optimization.

Note

This change may also improve the performance of other activities which apply rollup item detail rules, such as applying changes to rollup rules or changes to account segments. On the other hand, the change may degrade performance of these activities depending on how SQL attempts to process the query.

Seeding of unit conversion tables and rates

An error could occur while seeding unit conversion tables and rates. Now the seeding process no longer attempts to include rates from one unit to itself, so the error is avoided.

Updating accounts when a rollup item detail rule changes

In version 7.18, ActivReporter introduced the ability to use "Exclude" rules on rollup item detail. This means, for instance, that you can roll up a range of account numbers except for a selected few that you want to exclude. Since the introduction of the "Exclude" feature, the potential has existed for a problem when only the Rule field was changed (from "Include" to "Exclude" or vice versa) on the detail of an active rollup. In this case, the change was not being applied to existing accounts. So, if you changed a rollup item detail line's rule from "Exclude" to "Include", the related accounts were still excluded from the rollup item even though they should be included.

Now when changes to the Rule field are applied, even when no other fields in the rollup item detail are changed, accounts are properly included or excluded immediately. However, existing problems with account rollup assignments are not corrected. To correct existing problems, deactivate and reactivate the rollup to correct account rollup assignments.

7.24

ActivSync connection change

Typically, ActivSync is configured to run on the same machine as the ActivReporter System server. Until now, ActivSync always connected to the local system using the local machine name. Now, when possible, ActivSync will connect using local RPC instead. This change has a slight positive effect on performance and avoids some errors which could occur due to network issues.

Automatic recalculation of financial functions

In the past, when you changed options on a financial design, the financial functions were not automatically recalculated even though the design was set to "Automatic" calculation mode. Now when a design is set to calculate automatically and the options are changed, the financial functions are automatically recalculated.

Corrected closing entries

ActivReporter creates closing entries which mirror the end of fiscal year entries in the Great Plains software. In Great Plains, it is possible to post journal entries into the most recently closed fiscal year. Great Plains adds detail lines to these new entries to change any previously calculated balance brought forward values or retained earnings. Now ActivReporter will calculate the correct closing entry when the Great Plains database has correcting entries for a closed fiscal year.

Force Full Calculation action added

A new Force Full Calculation option has been added to the Calculate button drop-down menu in the ActivityHD ribbon. Its keystroke shortcut is Ctrl+Alt+Shift+F9.

The Force Full Calculation action forces a full calculation of the data and rebuilds the dependencies for all open workbooks. Its effect is the same as re-entering all formulas.

Use the new action when the other calculation methods are ineffective. For instance, if a calculated cell in a financial design displays '#VALUE!' and the Calculate Now and Calculate Sheet methods fail to fix the problem, try Force Full Calculation. If the formula in the calculated cell is valid and the problem occurs because some cells are dependent on the values of other calculated cells, this option should remedy the situation.

In summary, the following three actions are now available for performing calculations in a financial design:

  • Calculate Now. Calculates the entire active workbook.
  • Calculate Sheet. Calculates the active worksheet.
  • Force Full Calculation. Performs a full calculation of the data and rebuilds the dependencies for all open workbooks.

Improved export and import of authorized users

Recent modifications to remove login information from company records have made it more difficult to use the export and import features to create user records in companies. The process has been simplified. Now when you export users out of the system and into a company, the System User value is set appropriately.

ItemExpression function expanded

Formerly, the ItemExpression function accepted two parameters, an item and a value. Now the ItemExpression has been expanded to accept an unlimited number of item/value pairs.

Syntax:

ItemExpression(A1,A2,B1,B2,C1,C2,...) equates to "A1=A2 AND B1=B2 AND C1=C2 AND ..."

Log in with username and password

In the past, authorized user records needed a link to a Windows user in order to log into ActivReporter. While users can still log in through a Windows domain, a user can also have a username and password which does not require a Windows domain. The username and password can be set up on the system authorized user record. This change makes it easier to set up ActivReporter for distributed access without requiring a Windows domain.

Users with a username and password are prompted to log in each time they connect.

Obsolete indicator on financial views

Financial views now have an indicator on HD view rows which contain any items that define the row which are flagged as obsolete. An Include Obsolete checkbox on financial views has not yet been added since there is an Include Zero Amounts feature.

Translation Method default value

Prior to version 7.24, ActivReporter always set the default value of the Translation Method field on an account to "Current". Now the Translation Method field defaults to the corresponding value from the Multicurrency tab of the account card in Dynamics GP. The upshot of this change is that the Translation Method field is now synced and seeded from Dynamics GP.

7.23

Automatic update

Beginning with version 7.23 of ActivReporter, a new automatic update mechanism has been instituted for clients running ActivityHD Explorer. The older mechanism used a Windows share, was difficult to set up, required configuration, and was mistake-prone due to manual copying of the installation media.

The features and advantages of the new update mechanism include:

  • No Windows share. The ActivReporter server knows how to download the updaters when requested.
  • No setup. Period. The ActivityHD Explorer updaters are included with the server installation.
  • No configuration. The ActivReporter server automatically determines the appropriate updater for each client.
  • No manual copying of installation media. Only a normal server installation is required.
  • A better user experience for ActivityHD Explorer users. A progress box which you can cancel out of displays during download.

To use the new update mechanism, the client machine must be running ActivityHD Explorer version 7.23 or later; i.e., a single update to version 7.23 or later is needed for older clients.

Info

With this change, the ability and the need to configure the update path in ActivityHD Manager has been removed. If, for an unforeseen reason, configuration of the update path is needed, it can be manually set by editing the Computer\HKEY_LOCAL_MACHINE\SOFTWARE\nQativ\Activity System\UpdatePath registry key. Under normal conditions, editing the registry key is unnecessary.

Combine action

A new Combine action has been added and is available on the ActivReporter ribbon. Combine is useful, for instance, when you need to produce multiple financials with different iteration limits and then want to combine the resulting files into a single workbook.

When you run the Combine action, ActivReporter first prompts you for the workbook(s) to combine with the current workbook.

After you select the workbook(s) to combine, you are prompted to confirm your action.

After you approve the action, the sheets are combined. ActivReporter notifies you of the result.

Note

The source files are not changed in any way when you perform a Combine action.

Drag and drop error (Citrix only)

Prior to this release, Citrix users who attempted to drag and drop an attachment from a network drive into ActivReporter could receive an invalid date format error. This happened when the file on the network drive had a zero or non-existent file date/time. The date which is encoded on a file when the date is zero is out of the range of dates the database can handle. Now when a zero or non-existent date/time is detected, the date/time is properly encoded, and no error occurs.

Drilldown Explorer accessible from task bar

The Drilldown Explorer window displays as a modal window with respect to Excel. Prior to this version of ActivReporter, the Drilldown Explorer window did not appear in the Windows task bar when displayed from Excel, and it was possible to minimize it. This caused problems because users could not figure out how to dismiss the window. Now the window cannot be minimized and always appears in the task bar.

Ensuring ActivSync connects to System server before connecting to a company

In the past, ActivSync could report a failure to connect to a company when it had actually failed to connect to the System server. Now ActivSync ensures it has a System connection before attempting a company connection.

Financial View tab

A new tab has been added to the Financial View window to show the view items which result from the financial view definition. The tab name echoes the name of the financial view. If you are in edit mode when you select the tab, the window automatically switches to read mode.

Immediate enabling of drilldown

In the past, if a user had a cell selected which contained a drilldown function and subsequently connected to ActivReporter, the user needed to select a different cell in order to enable drilldown. Now, when appropriate, drilldown is enabled immediately when you connect to ActivReporter.

Improved consistency of drilldown

In the past, it was possible to change the options on a financial and cause drilldown to misbehave. Now the options are saved as part of the calculation log so that drilldown will always use the options that were in effect when the financial was produced.

Journal detail with unit accounts would not sync with ActivReporter

A problem with the after-insert trigger on the Great Plains current year table, GL20000, resulted in sync messages not being created for journal entry lines which contain unit accounts. This concern has been resolved.

Login settings revisions

Prior to version 7.23, login information was stored in both ActivReporter system user records and company user records. Now login information is stored only in system user records. Company user records have a new System User field which links a company user record to a system user record.

The result of this change is that a user logs into the system and can connect to a company only if the user has a company user record which is linked to a system user record.

The following login information is maintained on system user records:

  • Windows Username
  • VMS Username
  • Username
  • Password

Only copy segments used on accounts

Great Plains allows segments to be saved which are longer than the maximum size of the segment code, but the segment cannot be used in an account if the length exceeds the maximum length. Now, to avoid errors while seeding data from Great Plains to ActivReporter, segments are only copied to ActivReporter if the segment is used in an account.

Performance

The software has been modified to improve performance when limiting by account code. Performance improvement will be particularly noticeable when working with financial designs which contain an expression such as "GL.Account=2001-00-A".

Potential security threat averted

The ActivReporter System Server service executable (ActivitySystemServer.exe) is registered as a service. In the past, the ImagePath property did not include quotation marks. Microsoft Windows has a little-known and little-used exploit opportunity of paths which contain a space. With admin privileges, it is possible to intercept the executable image when it runs with a well-formed file name at another location. To guard against this exploit, the ActivReporter System Server service is now registered with quotation marks around the ImagePath. It is no longer possible to intercept the running executable from any other file.

Reducing the size of the ActivReporter database files

When an ActivReporter database is seeded with data from Great Plains, the database log file and data file have a considerable amount of unused space on disk. Now ActivReporter uses SQL Server commands to reduce the size of the ActivReporter database files on disk.

Reducing time to seed

In order to improve the performance when importing historical journal entries and, thus, speed the seeding process, only the fields used by ActivReporter are now copied. The seeding process removes large temporary tables once they are no longer needed, reducing the amount of space SQL Server requires to store data that is only used for seeding.

Reseeding after software upgrade

Prior to this release of ActivReporter, the company server did not require you to reseed after a software upgrade; however, not reseeding caused ActivSync not to work.

Now when an upgrade occurs, the user is notified with the following message if you attempt to restart the company server without reseeding first:

Company <CompanyName> must be reseeded before you can start the company server.

After the reseed, you can restart the company server and ActivSync will resume working.

View assigned rollup items in Account window

A new Rollups section has been added to the Account tab to show the rollup items assigned to active rollups.

7.22

ActivReporter Automation Server (AAS)

Recently, an unusual sequence of automation calls could produce the following error:

RPC Server is already listening.

The error most often occurred when a user created two ActivReporter objects during a single automation session--even when the first object was destroyed. The issue has been resolved.

Excluding zero amount rows in financial views

An Include Zero Amounts checkbox has been added to the HD view for financial view items. The checkbox is marked by default. When marked, rows where all calculated amounts are zero are included in the HD view. To hide rows where all calculated amounts are zero, clear the Include Zero Amounts checkbox.

If all columns which use the following General Ledger functions are zero for a given row, the row is excluded from the HD view when the Include Zero Amounts checkbox is cleared:

  • Balance
  • Activity
  • Credit Balance
  • Credit Activity
  • Debit Balance
  • Debit Activity
  • Year To Date
  • Credit Year To Date
  • Debit Year To Date
  • Begin Balance

Limiting historical data

Typically, all the data in a Great Plains company is copied to the ActivReporter database. However, there are several reasons you may want to limit the amount of historical data that is imported to ActivReporter. Importing less data:

  • Reduces the time to seed the database.
  • Takes up less storage space.
  • Means financial functions have less historical data to process.

Now you can limit historical data by selecting the oldest accounting year to include in the ActivReporter data. When an ActivReporter company is created or reseeded, the new History field in the ActivReporter Configuration step of the Company Configuration Wizard can be set to the oldest accounting year to import. The default selection is "All" meaning that all historical data from Great Plains will be imported.

Installation

In the past, the ActivReporter installer did not recommend which version of the software to install. It is important that the bitness of the version of ActivReporter which is installed be compatible with the bitness of the user's current version of Microsoft Excel. Now the installer recommends the version to install based on the bitness of the installed version of Microsoft Excel. For example, if the user currently has 32-bit Excel installed, the installer will recommend they install 32-bit ActivReporter. Similarly, if 64-bit Excel is installed, the installer recommends 64-bit ActivReporter.

Translation methods

Financials now support two translation methods: "Current" and "Historical". "Current", or simple, translation translates all amounts using the rate in effect at the end of the period. The newer "Historical" translation method uses the rate in effect on the transaction date. Two additional methods, "Average" and "Days Weighted Average", are not yet supported.

In order to use the supported translation methods, a few things need to be set up first.

  • Units General Ledger > Setup > Units. Currency-type units must be set up for the "from" and "to" currencies for the translation.
  • Unit conversion rates General Ledger > Setup > Units > Conversion Rates. Conversion rates must be defined for the translation.
  • Translation method General Ledger > Setup > Segments > [Segment Items] and General Ledger > Chart of Accounts. A translation method must be set on the appropriate accounts. The translation method on an account defaults from the method specified on the primary segment item for new accounts.
  • Currency unit General Ledger > Financial Designs > [right-click] > Select and Print Financials. Either specify the currency unit in the Options dialog when generating a financial statement, or pass the unit explicitly via one or more financial functions.

7.21

ActivSync Status gadget updating

When an ActivReporter company is configured, a script runs to keep the ActivSync database up-to-date. In the past, the service broker queues and the ActivSyncLog table in an existing ActivSync database were deleted and recreated. The script ran even when the company was not being reseeded. Because the ActivSyncLog where status information is stored was being deleted, the ActivSync Status gadget on the dashboard did not show the most recent update to any company. This has been changed so that the gadget now functions properly.

Best Practice

Only configure or reseed an ActivReporter company when the corresponding Great Plains company is not being updated. Prior to this change, it was possible for an ActivSync update message to be missed when the service broker queues were deleted and recreated. Now the update messages remain in the queue until they are successfully processed.

Bot type renamed

The bot type formerly known as "Singleton" is now named "Record".

Change Logs folder removed

Previously, a Change Logs folder was visible in the Administration menu; however, there are no change logs available in ActivReporter. The folder is no longer visible.

Disabling attachment preview

Sometimes marking the Disable preview for this file type checkbox did not stick. Now the setting is saved correctly.

Dragging and dropping Outlook messages to attachments

Formerly, if you attempted to drag and drop more than one Outlook message at a time onto an Attachments tab, an error would result. Now you can successfully drag and drop multiple messages to become attachments.

Error message improvement

Previously, the following error was returned if you were using 64-bit Excel with 32-bit ActivReporter. The error occurred under these circumstances when you pressed the Connect button in the ActivReporter ribbon.

ActiveX component can't create object.

Now the following more informative message is returned:

ActiveX component can't create object.

This problem can potentially be caused by using 64-bit Excel with 32-bit ActivReporter.

Length of SQL Server field on companies increased

The size of the SQL Server field in the Company window (ActivityHD System > Companies) has increased from 32 to 128 characters.

Microsoft SQL Server Native Client

ActivReporter requires Microsoft SQL Server Native Client. Prior to this version, the SQL Server Native Client for 64-bit versions of Windows was a prequisite and was automatically installed during installation of ActivReporter. Now SQL Server Native Client for 32-bit versions of Windows is also installed as a prerequisite.

New "Record List" bot type

A new bot type called "Record List" has been added. Use a record list bot when you want the bot to perform an action based on a list of user-selected records but do not need the structure of a record loop bot. Record loop bots are appropriate when the bot needs to act on records one at a time and the user needs to see the progress being made. Record lists are better at acting on an entire list of records at once. In addition, the No Dialog option is available on record list bots for actions where the user will not benefit from displaying a dialog.

Like other bot types, record list bots can be made available from buttons and menu items. To run a record list bot, the user must first select one or more records for it to process.

The following context objects are available when you run a record list bot:

  • Activity - the system connection.
  • Company - the company connection.
  • MacroProcess - the bot execution context object.
  • RecordList - the records selected by the user.

Previewing attachments

Attachment preview would sometimes not display an attachment correctly, especially after previewing a .msg file. This problem has been eliminated.

7.20

Segment sort order

Immediately after seeding, the items of segments had no detectable sort order, causing some unexpected behavior especially in the layout feature found in the financial designs toolbar. Now the sort order of all segments is correct and is set appropriately during the seeding process.

7.19

GL Summary Report

The GL Summary Report added in the prior version of ActivityHD now shows both the code and description for the selected sort items for the following sort options:

  • Unit
  • Account Code
  • Segments
  • Rollups
  • Attributes

Preinstalled financial views

Preinstalled financial views are now flagged as "active" when they are installed. This makes these financial views immediately available for viewing.

Rollup bots

In the past, the built-in bots, New Rollup from MR Rows and New Rollup from MR Sets, which create rollups based on selected Management Reporter row definitions and dimension sets, could not handle "Subtract" lines. Instead, the bots would simply log a warning message that indicated that "Subtract" lines had been skipped. As a result, you needed to construct appropriate rollup item rules to handle the exclusions.

Since rollup items can now have "Exclude" lines (introduced in version 7.18), these two bots have been updated to create "Exclude" rollup item detail for "Subtract" lines.

SQL Server collation sequence

A collation sequence is established when SQL Server is installed. The collation sequence determines how comparisons work and whether names and codes are considered the same or different when they differ only by case. Once SQL Server is installed, it is almost impossible to change the collation sequence after the fact.

Before this release, ActivReporter could only be installed and run on a SQL Server with case-insensitive collation (SQL_Latin1_General_CP1_CI_AS is recommended). With that collation, names and codes are considered the same if they only differ by case. Now ActivReporter also can be installed and run on SQL Server with case-sensitive collation. In other words, names and codes which differ only by case are not considered to be equal. The change only applies to new installations.

Case sensitivity may be required in certain circumstances in which the existing SQL Server was installed with a case-sensitive collation sequence (e.g., LATIN1_GENERAL_BIN). It can also be necessary because if you use a case-sensitive collation, you can enter values which would be considered duplicates in a case-insensitive environment. With these changes, ActivReporter can work in either circumstance.

While a variety of collation sequences would work, because Microsoft Dynamics GP recommends only the SQL_Latin1_General_CP1_CI_AS and LATIN1_GENERAL_BIN collation sequences, nQativ is recommending you use one of the two.

7.18

ActivReporter Help

The online help system is now easier to access from the user interface. A button has been added to all view and edit windows to provide one-click access to the associated context-sensitive help topic.

Attachment preview

In the past, when an error occurred while attempting to preview an attachment, or when no appropriate previewer for the attachment's file type was found, ActivReporter presented a file download dialog box. At that point, the user had the option of opening the file, saving the file, or canceling the operation. Now, instead of presenting this dialog, the following message displays in the preview area:

Preview not available. Double-click the item in the attachment list to open.

If a more specific error is available to report, it displays beneath the aforementioned message.

Attachment preview

A new Disable preview for this file type checkbox has been added to the attachment preview pane. The checkbox is only visible when the preview of an attachment fails. If you mark the checkbox, preview is disabled for the current attachment and all other attachments of the same file type.

Calendar performance

A significant performance improvement has been achieved when saving calendars. You are unlikely to notice the improvement when saving small calendars; however, on large calendars with numerous periods and years, the improvement is evident. It's easy to create large calendars using the Automatic Periods Wizard with a broad date range. Now the time it takes to save a large calendar is proportional to the number of new periods and years added during the edit operation.

Database naming convention consistency

Prior to this version of ActivReporter, the Company Configuration process showed the same inline tip for the Database Name field whether the product was ActivReporter or ActivityHD. Now ActivReporter users see a different message:

Suggestion: Start the name with the Dynamics GP database followed by "-Activ" so that it is easy to recognize the associated databases in a list of databases. For example: "TWO-Activ".

Date Expression help

The Date Expression dialog which is available by clicking F2 on most date fields now includes a help button that links directly to the "Data expression syntax" topic in the online help.

Exclusion rules for rollup items

Up until this release, the rules on rollup items described which items to include only. You can now also define rules which exclude items.

When an exclude rule is defined for a rollup item, it overrides any other include line which conflicts with it. In short, exclude rules win.

Example

Consider these rules:

  1. Include 1???
  2. Exclude ???9

Because exclude wins, all items which match "???9" are excluded, including "1??9" although it matches the include statement.

The order the rules appear in the list is immaterial. So, for instance, the following pairs of rules are logically equivalent:

  1. Include 1???
  2. Exclude ???4

  1. Exclude ???4
  2. Include 1???

GL Summary Report

General Ledger > Journal Entries > Journal Detail > [right-click] > Select and Report > GL Summary

A new GL Summary Report has been added to the Journal Detail folder.

Use the settings on the Options tab to specify a report title and to indicate which detail (if any) to include on the report.

Note

You must either include detail on the report or specify a subtotal level on the Sorting tab.

You can use the Sorting tab to specify subtotal levels for the journal detail you select.

In fact, you can sort and subtotal by any of the following:

  • Unit. Select "Unit" as the first sort option if you are not limiting journal detail by ledger or account unit. This avoids summarizing postings with different units.
  • Account Code. This option represents the fully qualified and formatted account code.
  • Any active account-identifying segments
  • Any active account rollup segments
  • Any active GL attributes with GL usage

Once you select the sorting criteria, you can specify a subtotal level from among the selected sort options. You can view up to five levels of subtotals for the selected journal detail.

Example

Suppose you have the following rollups:

BSSection: Assets, Liabilities, Equity, Revenue, Expense

BSItem: Cash, Fixed Assets, AR, AP, Tax Liability, Owner Equity, Net Earnings, Sales, Depreciation, Cost of Goods Sold, etc.

The following sort options will generate summarized totals for a simple balance sheet:

  • Unit
  • BSSection
  • BSItem
  • Account Code

To show totals for the balance section and the line items, use the "BSItem" subtotal level.

To also see account-level totals, use the "Account Code" subtotal level.

To also see posting detail, mark the Include Detail checkbox on the Options tab.

Running the GL Summary Report to sort and subtotal by attributes lets you generate the reports you need for operational attributes without having to change the financial designs when new attribute values are added.

You can also use the GL Summary Report in the Drilldown Explorer to summarize a financial amount's journal detail into multiple levels of subtotals. Select the journal detail rows used to calculate the financial amount in the Journal Detail HD view, then run the report on those rows and specify the desired reporting levels.

Report profiles with meaningful report titles can be a significant time-saver in producing and identifying the reports you need.

Finally, the group tree in the Crystal Reports previewer can serve as a table of contents for navigating multiple levels of detail.

Translation methods

A new Translation Method field has been added on segment items for the main segment. The field currently has no effect; however, it exists in preparation for multi-currency capability which is now under development.

7.17

ActivityHD ribbon

Sometimes the buttons in the ActivityHD ribbon could behave erratically if the user began editing a cell before selecting the ActivityHD ribbon. For example, the Connection button and a few others might disappear completely. The ribbon should be exhibiting better behavior now.

ActivSync error

In version 7.16, a problem was introduced which caused an access violation during the ActivSync process when a change to a segment was processed. The problem resulted in a blocked sync queue. The problem has been resolved.

Excel add-ins

The change, in version 7.16, to properly categorize financial design functions even when other Excel add-ins conflicted with the ActivityHD add-in, had a minor undesirable side effect. Sometimes, especially while previewing an Excel attachment from ActivityHD Explorer, a "ghost" Excel window appeared. A "ghost" Excel window is an empty Excel window with no workbook loaded in it. The issue has been corrected and the "ghost" window no longer appears.

Financial Designs Listing

Financial designs were introduced into ActivReporter in version 7.13. Since that time, trying to run the Financial Designs Listing would result in the following error: Report Design not found or invalid. It seems that the report and its default design were not properly registered in ActivReporter. The issue has been corrected.

Rollup item error

When the rules for a rollup item make the rollup ambiguous so that for any account more than one rollup matches the account, an error is returned. In the past, the error message was not very informative: Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <=, >, >= or when the subquery is used as an expression. Now when these circumstances arise, the following more informative message is issued: Change causes Rollup(s) to become ambiguous.

Seeding

In the past, an error could occur during seeding on some databases which did not have a reporting currency defined. This occurred because the source database was in an unexpected state. Now no error occurs and ActivReporter does not attempt to seed the reporting currency when one is not defined for a company.

7.16.1

ActivSync notifications

In earlier versions of ActivReporter, the process which notifies the ActivSync program that the ActivReporter database needs to be updated could stall. Now the process which starts the ActivSync program is reset after a 30-second delay.

Drillback actions and named SQL instances

Prior to this version of ActivReporter, the Great Plains drillback from an account or journal entry was incorrect if the SQL Server was a named instance. To resolve this issue, the SQL hostname and instance are now set in the drillback URL.

7.16

Automatically generated descriptions in GL calendars

Until this version of ActivReporter, some of the period descriptions created when periods were automatically generated were generic and not particularly useful; e.g., "Period 10" or "Week 12". Now the period descriptions generated for certain calendar periods make it easier to select the needed period because they provide the ending date as part of the description.

Semimonthly results in descriptions like "Period ending 12/26/2018".

Weekly results in descriptions like "Week ending 3/15/2019".

Biweekly results in descriptions like "Period ending 6/1/2018".

Four Weeks results in descriptions like "Period ending 12/1/2018".

Other period descriptions were not changed.

Branding

When you run the ActivityHD client under an installed version of ActivReporter, the splash screen and main window now show images for ActivReporter rather than ActivityHD.

Copying existing GL calendars

Previously, attempting to perform a New Copy on an existing calendar resulted in an error. This issue has been resolved.

Editing existing GL calendars

In the past, if you made a non-trivial change to an existing calendar, such as splitting a year or period, or deleting an existing year or period, the action could result in a variety of errors. The issues which caused this behavior have been corrected so that now performing edits in the middle of a calendar is less error-prone.

Financial design functions

When other Excel add-ins which add functions are in use in addition to the ActivReporter add-ins, the financial design functions could appear in the wrong categories. This mixup was caused by conflicts with the function categories of other add-ins. This issue has been addressed. ActivReporter financial functions now appear in their appropriate categories even when other add-ins have conflicting function categories.

Financial design samples

The samples available in version 7.15 had broken links which referenced Activity.xla instead of Activity.xlam. These links are now fixed. In version 7.15, users will see this message: Links to the ActivityHD Add-in have been updated.

Financial designs drilldown

Before this version of ActivReporter, drilldown was enabled even if you weren't using live data. This could be confusing, and editing a design could be difficult because the buttons next to the cells interfered with copying and pasting. To improve your experience, drilldown is now disabled unless you're using live data. The button next to drillable cells is not visible and the button in the toolbar is disabled when the Use Live Data option is not selected.

Seeding

Since version 7.5, the seeding step for budgets and reporting ledgers was calculating the wrong scale for unit accounts. ActivReporter preinstalls three units of measure for Great Plains unit accounts but the budget seeding step was not finding a match for the unit of measure for accounts with a DECPLACS value of "3". This seeding issue has been corrected.

Seeding and syncing

The "Originating Master Name" field from Great Plains is now available for seeding and syncing of ActivReporter journal entries via the custom field "Orig Master Name" on ActivReporter journal entries. The custom field is set during seeding from Great Plains and during ActivSync.

7.15

Activity.xlam

Prior to this version of ActivReporter, you needed to register Activity.xla and ActivityRibbon.xlam as add-ins in Excel. It could be difficult to ensure that the add-ins registered in the correct order. Now the add-ins have been combined into a single xlam: Activity.xlam.

You can use the ActivityHD Excel Add-in tool to unregister the old add-ins and to register the new add-in. The Add-in tool runs automatically during product installation, but it needs to be run for each user.

You will also need to update links in existing financial designs to reference Activity.xlam instead of Activity.xla. This happens automatically when a design is opened in Excel, but each design will need to be edited and saved once to apply the change. You can use the Excel Data > Edit Links menu option to resolve any link problems.

Financial designs instability

Affects: Financial Designs, Print Financials, Account Financial Report

In the past, users could experience instability when ActivReporter attempted to interact with Excel during editing or printing of financial designs. This instability could manifest itself in several ways:

  • Error messages such as:
    • Call rejected by callee
    • Not enough memory
    • Method 'Container' of object '_Workbook' failed
    • Application busy
    • This workbook is currently referenced by another workbook and cannot be closed
    • The message filter indicated that the application is busy
    • System call failed
    • rpc_server failed
    • ole error
  • A blank Excel window
  • A "ghost" Excel process running without any window visible on the monitor ("ghost" process detected in Task Manager)
  • Excel and ActivReporter hanging
  • An access violation in Print Financials during iteration.

These issues often arose when multiple Excel workbooks were running in the same Excel process. By default, Excel uses the same process for multiple workbooks in order to minimize resource requirements, enable cross-workbook references, and accommodate copying of large amounts of data from one workbook to another. Unfortunately, this can cause issues when ActivReporter attempts to communicate with Excel while a user is interactively editing a workbook in the same process.

To mitigate these problems, a new Excel process is now always created when ActivReporter launches Excel. In addition, ActivReporter manipulates the Ignore other applications that use Dynamic Data Exchange (DDE) property in Excel options to temporarily turn it on whenever attempts are made to open or create another Excel workbook. (The property is available in the Excel Options dialog on the Advanced tab in the "General" section.) ActivReporter restores the original value of the property before releasing Excel.

Release Notes

The Release Notes link in the menu now opens the release notes for ActivReporter instead of the notes for ActivityHD.

Save As with Values

Before now it could be confusing to use the Save As with Values action while editing a financial design since the action would default to the same file name as the file being edited. If you tried to save without changing the name, Excel would do nothing. Now the name of the file you are editing will default to the file name with " (Edit)" appended, and the Save As name will default to the design name without " (Edit)" appended.

Trial Balance Comparison Report

The Trial Balance Comparison Report now limits the comparison to journal entries in Great Plains which are in the Base ledger.

7.14

Calculate button actions

Previously, the Calculate button on the ribbon performed the Calculate Sheet (Shift+F9) action; however, most users expected the button to perform the Calculate Now (F9) action. Now the button does perform the Calculate Now (F9) function. To access any available calculation option, open the button menu on the Calculate button.

Drilldown Explorer

In the past, it was possible for the journal detail shown in Drilldown Explorer not to match the calculation from the financial calculator. While the calculator has always applied security views to both journal detail and accounts, the security views on accounts were not applied in Drilldown Explorer. This problem has been rectified.

Hiding or showing non-print areas

Until this version of ActivReporter, the Hide Non-Print Areas and Show Non-Print Areas commands on the ActivReporter ribbon were disabled unless the workbook was connected. Now these commands are available regardless of connection status.

Security views

Security views have been changed to improve their usability, particularly when assigning multiple security views for the same resource.

Previously, security views required unique names and needed to include the name of the resource so that they were easy to identify. Now the name of the package and resource are part of the security view name and security view names only need to be unique to the particular resource. This makes it easier to assign a user multiple security views for the same resource.

Furthermore, in the past it was difficult to create a security view to exclude a user's access to certain types of records. In fact, when multiple security views were assigned, a user could inadvertently be given access to records you intended to exclude them from. Now there is a new condition type called "Exclude". This feature allows you to expressly exclude a user's access to certain records regardless of the other security views assigned to the user.

To accomplish these changes, a new Package field and the Resource field now precede the Name field, and a dropdown has been added above the Conditions box with options to "Include" or "Exclude" records which match your selection conditions.

7.13

Currency

A "Currency" flag has been added to units in ActivReporter. Now units which are seeded from GP are flagged as currency in ActivReporter.

Excel add-ins

In the past, printing large financials could take a long time and might eventually time out. This problem has been resolved.

Excel add-ins

Using Save As with Values on a financial used to fail on workbooks with hidden worksheets. Moreover, if any worksheets contained links to other worksheets in the same workbook, the links would be broken. These issues have been mitigated.

Financial design functions

Four new financial design functions have been added to return information about units.

  • Unit([Unit],[Company]). If a unit is passed to the function, the function returns the code of the unit passed. If no unit is passed, the code for the currency unit from the Workbook Options dialog is returned.
  • UnitDescription([Unit],[Company]). If a unit is passed to the function, the function returns the description of the unit passed. If no unit is passed, the description for the currency unit from the Workbook Options dialog is returned.
  • UnitMemo([Unit],[Company]). If a unit is passed to the function, the function returns the memo from the unit passed. If no unit is passed, the memo from the currency unit from the Workbook Options dialog is returned.
  • UnitCustomField(Field,[Unit],[Company]). If a unit is passed to the function, the function returns the value of the specified custom field of the unit passed. If no unit is passed, the value of the specified custom field for the currency unit from the Workbook Options dialog is returned.

Financial design layout generator

The layout generator now generates a heading line that shows the currency unit selected in the Workbook Options dialog box. If you do not specify a currency unit in the dialog box, or if the selected currency unit does not have a description, the heading line is suppressed.

Financial Designs folder

A Financial Designs folder has been added to the navigation tree for ActivReporter. Now you can store financial design Excel worksheets in the ActivReporter database. This provides the following benefits:

  • Financial design worksheets are backed up with the rest of the ActivReporter database.
  • Financial design worksheets are easily shared with other ActivReporter users.
  • Financial design worksheets can be secured with standard ActivReporter security.
  • Historical versions of financial design worksheets can be viewed and restored.

If you have local copies of financial design worksheets that you want to move into the ActivReporter database, do the following:

  1. Navigate to the new Financial Designs folder in ActivReporter.
  2. Click New to create a new financial design.
  3. In the Name field, enter a descriptive name for the financial design.
  4. From the menu, select > Tools > Load Workbook from File. The Open dialog box opens.
  5. Navigate to and select the financial design workbook you want to load to ActivReporter, then click Open.
  6. In the New Financial Design window, save your changes.

Help button for ActivityHD ribbon

A Help button has been added to the ActivityHD ribbon to provide access to the online help for ActivReporter.

If you are working in the context of an ActivReporter company, the ActivReporter help opens when you click the button. If you are working in the context of a non-ActivReporter company or if you are not connected to a company, the online help for ActivityHD, nQativ's flagship product, opens.

Trial Balance Comparison Report

Previously, the Trial Balance Comparison Report would page break with every change in GL unit. This could be misleading because it could appear there was no more information on the report after the first unit. The confusion was compounded because the main US dollars unit was recently renamed from "$" to "Z-US$", causing the dollar-based GL accounts to sort toward the end of the report after the EA-0 and EA-2 units. The GL unit now has been moved from the heading of the report into the body of the report, and multiple units can be shown on the same page. In addition, detail lines which once appeared regardless of whether there was actual detail are now only shown when there is detail. This improves the readability of the report when no differences are found.

Triggers

The trigger on the GP Budget Master table has been changed to use a case sensitive comparison to update in case a budget description changes. Before this change, the case insensitive comparison did not create an update message for ActivSync if only the case of the description changed.

Unit conversion rates

A new unit conversion rate entity has been introduced to ActivReporter to support multi-currency functionality. Unit conversion rates are used in financial designs for simple translation between currencies as of a particular date. The Unit Conversion Rate window is located in the menu at General Ledger > Setup > Units > Conversion Rates.

The following validations are performed on unit conversion rates:

  • The conversion rate must be a positive number.
  • The "from" and "to" units cannot be the same.
  • The expiration date (xx/xx/xxxx) cannot precede the effective date (xx/xx/xxxx).
  • Duplicate conversion rates cannot exist for the same date.

In the HD view, conversion rates are sorted in ascending order by From/To unit, then in descending order by date; i.e., for each From/To unit, the most current rate appears first. Also, there is a built-in "As of ?" filter which allows you to view the effective conversion rate for each From/To unit as of a specific date.

In conjunction with the new entity, tabs have been added to the Unit window to show conversion rates from the unit and also conversion rates to the unit.

Tip

Consider using automation to import daily conversion rates to satisfy your reporting requirements.

Note

If the Advanced Security package is installed at your site, the database conversion automatically copies permissions on the Units folder to the new Conversion Rates folder. You should review these permissions to ensure they are appropriate.

7.12

Attribute names

Attribute names are no longer required to be unique with respect to segment and rollup names. However, segment names and rollup names must still be unique. If an attribute name is not unique, then when referenced in functions and expressions where there could be ambiguity, the names must be fully qualified: "GL.Attribute.<name>" and "GL.Segment.<name>" or "GL.Rollup.<name>".

Nonetheless, nQativ recommends that you avoid using attribute names which are not unique with respect to segments and rollups.

Calculation log

You can now double-click a message in the Calculation Log to open it in a separate, more readable, window.

Cell calculation errors

In the past, if an error occurred in a financial function call from a cell formula in a financial design, the cell would display #NULL!. However, other situations, such as not being connected to the data source, produce the same result. Furthermore, this is not consistent with the result Excel displays for cell calculation errors. Now, consistent with Excel, calculation errors in a cell of a financial design display #VALUE!.

Drilldown syntax

The following XML syntax can be used with the Drilldown action:

FinancialCalculator.Drilldown:

<Function @Name @Period @Items1 @Items2 @Items3 @Company @Unit/>

 

Company.RunAction("Drilldown")

<Function @Value/>

<CalendarPeriod>

<Calendar @Value/>

<Year @Value/>

<Period @Value/>

<PeriodContains @Value/@Expression/>

</CalendarPeriod>

<IncludeUnmerged @Value(True/False)/>

<ItemsExpression @Value/>

<Calculate @Value(True/False)/>

False duplicates in ActivSync

Previously, the ActivSync process could ignore posted journal entries if the account and amount was identical to the previous journal entry. Now a sequence number field (SEQNUMBR) has been added to the XML update message when new lines are inserted in the GP Posted Transaction table. The value of SEQNUMBR is unique per GP journal entry.

Financial function arguments

An optional Unit argument has been added to certain financial functions. When a value is provided, any unit specified in the calculation options is overridden.

When used, the new Unit argument causes the function to return results in terms of the specified unit. It attempts to convert any units found in the results which do not match the specified unit. If the conversion fails, an error is returned.

The following functions are affected by the change:

  • Activity
  • Balance
  • YearToDate
  • CreditActivity
  • CreditBalance
  • CreditYearToDate
  • DebitActivity
  • DebitBalance
  • DebitYearToDate
  • BeginBalance
  • PRExpense
  • PRLiability
  • PRExpenseYTD
  • PRLiabilityYTD
  • PRGroupExpense
  • PRGroupLiability
  • PRGroupExpenseYTD
  • PRGroupLiabilityYTD
  • POAmount
  • POAmountYTD
  • ARSales
  • ARSalesYTD
  • ARExtraActivity
  • ARExtraDebitActivity
  • ARExtraCreditActivity
  • ARExtraYearToDate
  • ARExtraDebitYearToDate
  • ARExtraCreditYearToDate

Long names in financial functions

Several financial functions accept a fully qualified name as an argument. The qualified name may be a segment, rollup, or attribute. Often these qualified names were being truncated due to length, resulting in errors because the argument passed did not match any of the legal values. This issue has been resolved.

Missing navigation icon

Previously, the icon on the ActivReporter branch of the navigation tree was missing. The icon has been restored.

Multi-company support

The FinancialCalculator is an automation object used with Excel to support financial designs. In the past, multi-company designs had to create multiple calculator objects. This is no longer necessary, and as a bonus, other automation objects such as bots and gadgets can take advantage of multi-company capability more easily now.