Change History for 9.1.4

June 2023 ❄️

Supplementary update 9.1.4r2 28 June

Client

  • Tax code overrides by product, for buying and selling
  • Privileges Summary report (in Audit) shows the privileges for users/roles
  • Tax code override for Name no longer permits * tax code
  • Alpha-numeric reference numbers with 2 or fewer numeric digits will not auto-increment (on the grounds the digits are probably a batch date)
  • Window menu now differentiates preview windows with a different icon. Also on Windows, the window menu has icons for windows.
  • Removed obsolete file types from the File Open dialog types list
  • Bank accounts now support Account.SecurityLevel
  • Bank reconciliation no longer demands that you print the reconciliation. If you need an old reconciliation, you can retrieve it with Load Old
  • Drilling down like a maniac will no longer get you a modal depth overflow crash
  • Fixed opening of external links in Mac web views when using WKWebView
  • Edit Saved Subjects in the mail dialog — fixed a number of problems
  • Unreconciled but “saved on bank rec” transactions now display as unreconciled in the Get Info window
  • Housekeeping panel network location no longer has a file path reveal click action
  • Tax by Currency report: Fixed end date when run by period
  • Apply privilege control (See Bank Balances) to Statement of Cashflows reports
  • Renamed the Process Orders privileges for sales and purchasing to be unique. This may affect reports or scripts that required those privileges
  • The Find command in the Filter menu no longer circumvents the selected filter
  • Fixed new record creation when you have Create but not Modify privilege
  • Importing Names with update; removed ability to accidentally change currency or control accounts
  • Separated print settings for different lists
  • Key repeat now refresh screen on Windows with compositing
  • Find Related accounts now offers a choice of target views
  • Support Ticket command in Help menu
  • Additional failure checks in Mac Address Book importing (evidently could crash if there was no Me contact)
  • Changing a pending jobsheet entry’s resource to an inventoried product now generates a requisition
  • Selecting a serialised product in Jobsheet entry now sets the location field from the serial chooser
  • Jobsheet entry now allows zero-cost negative quantity
  • Jobsheet entry now allows reversals of serial number requisitions
  • Backup will no longer attempt to compress (already-compressed) image files in the Pictures folder. This may result in backup files being slightly larger when the image files are poorly compressed to begin with, but backups involving many image files should be 2-4x faster
  • Backup progress bar no longer flakes out for backups over 4GB
  • Backup initial size calculation is faster
  • Fixed clipped output when PDF text on Windows needs to break a line within a word due to lack of white space
  • Stock Location validation list can no longer be mucked up by deleting or renaming location codes
  • Stock Locations may no longer be created with a leading or trailing space
  • Fix crash in Advanced Replace for files that have no replaceable fields
  • 9.1.4r2 fixes an issue that allowed invalid tax codes to be deliberately or accidentally imported into the new product tax code override fields, and the resulting serious problems that could cause
  • 9.1.4r2 Fixed formatting of text copied from About and Diagnostic windows
  • 9.1.4r2 Transaction emailed column in custom list view now shows icon as expected on Windows

Server

  • Much improved network error recovery
  • Datacentre std web-apps now support MoneyWorks Now credentials on MoneyWorks Now servers
  • Logging of non-authenticated web traffic no longer shows the user as root
  • Folder logins no longer logged when folder login is not enabled
  • Reverted to pre-9.1.3 network compression settings
  • Removed verbose logging option
  • serverside import truncated error message when database is busy
  • Send to Support now only sends 7 days of logs
  • Removed settings for obsolete SSL protocols
  • Longer wait for http threads to finish
  • Retry restart if port bind fails

Scripting

  • .mwscript files can be opened, edited, and run from a standalone Script Editor window without importing the script into a .moneyworks document
  • Opening .mwxml files now gives the option of importing the scripts into a document as before, or opening the scripts in a standalone script editor. Changes made can be saved back into the .mwxml file
  • Opening or importing a .mwxml file will confirm whether you want to activate each “enabled” script in the file or load them deactivated
  • ModalJobsheetEntryWindow function
  • Script Editor “Run Once” toolbar command: Calls the Load and Unload handlers and leaves the script inactive
  • Script Editor Save Selected Script As .mwscript option
  • MWScript functions that require a document to be open will now throw a runtime error if called with no document open
  • DoForm function better supports a full path to the form document
  • Improved behaviour of InstallMenuCommand function when menu commands are repeatedly installed and uninstalled by unloading the script
  • Custom list windows will no longer allow deletion of Detail records
  • GetPlugins now searches to 3 levels of the folder hierarchy
  • Auto-cleanup of unreleased object handles is now done after the Unload handler is called. You should, however be releasing curl and file handles etc as soon as you are finished with them (especially curl handles since they can hold http sockets open until released)
  • DoForm + Mail no longer leaves a default subject in the mailing dialog box
  • REST import failure when document is in single-user mode now gives a 503 Try Later HTTP response instead of 500
  • Job.Markup is mutable via ReplaceField
  • The TextToNum function now takes an optional parameter to indicate that the text is hexadecimal and should be parsed as a 16- or 32-bit big-endian or little-endian word
  • Runtime errors will now disable the script if you choose Edit in the error alert
  • A misbehaving script that continually posts alerts (via the Alert function or by causing a built-in alert to be posted) can now be disabled by holding down the Control key when dismissing the alert (assuming you are logged in with scripting privileges)
  • Added a handy std report “~serverside_analyse.crep” that can be used by a script to run Analyse on the server with up to 20 columns of output
  • GetListName function now works in 64-bit version on Windows
  • GetListContents now has a mode that returns highlighted records as a selection rather than as tab-delimited text
  • Script Editor: Clicking an entry on the Find All result list no longer disables the script
  • DoReport function and REST command now applies date type to date custom control parameters
  • Ask function now allows static text controls to be up to 63 characters
  • Custom Scintilla text object (SBA2) no longer shows line number margin
  • Relational search now supports targeting ledger.concat and ledger.code
  • Resuming application from background should now restore focus to the application’s frontmost window so that Dawdle handlers resume
  • DoReport now supports from and to period numbers passed as members of an array (previously only worked when passed in the original "to=nn" format)
  • Wildcard @ may be used in Allowed
  • 9.1.4r2 Script windows will now always open on a visible screen
  • 9.1.4r2 Script windows positions now persist properly again

🌻

Posted in Change History | Comments Off on Change History for 9.1.4

MoneyWorks Timer App

The MoneyWorks Timer app (as well as a Reports app) is included with every installation of MoneyWorks Datacentre and MoneyWorks Now. It allows the recording of time and materials used on jobs from any browser, and hence can be used both on mobile devices (by plumbers, electricians etc) and on desktop machines (by graphic designers, accountants etc).

In essence the Timer app displays a list of active jobs from MoneyWorks and allows a timer to be started. This will run until it is stopped, or until another job’s timer is activated. The time can then be submitted back to MoneyWorks, where it will appear in the Job Sheet list. Similarly items can be requisitioned for a job, and these are recorded in the Job Sheet list. Billing for the job is done in the normal manner through the Bill Job facility in MoneyWorks.

Requirements for the Timer are:
– MoneyWorks Datacentre with REST service turned on;
Remote access configured if access is required from outside the local network;
– Device with modern browser (iPhone, android etc).

MoneyWorks Now users must subscribe to the REST service to be able to use the Timer app.

A limitation is that the Timer app does not support serial/batch or location tracking for inventoried items.

Connecting to the Timer app

To access the Timer, start the browser on your device and enter the IP address of your Datacentre, followed by a colon, then the REST service port number (by default this is 6710). This will be something like:

http://123.456.689.12:6710

or, if the Datacentre has a certificate installed for REST access

https://123.456.689.12:6710

You can also use a domain name if you have one, for example

mydomain.com:6710

MoneyWorks Now users should use the domain name shown in the title bar of the Navigator window (after the @ symbol). This will be something like au01.moneyworks.net.nz, again followed by a colon and the port number:

https://au01.moneyworks.net.nz:6710

At this point you should be presented with the home screen for your Datacentre apps. Normally this has two buttons on it, one for Reports and one for Timer (if you have developed custom apps, there might be more). Tap the Timer button to open the Timer app.

Connecting to your MoneyWorks File

The home screen of the Timer app has two main buttons, “Jobs” and “Settings”.

The timer home page

The Jobs button is disabled until you have connected to your MoneyWorks file. Most screens also have an info “i” button on the top right, which provides help and information.

Tap the Settings button to connect to your MoneyWorks file. The Datacentre/MoneyWorks Now settings page will be displayed.

If you are using MoneyWorks Datacentre:

  1. Enter the Datacentre username and password if there is one (these can be left blank if your Datacentre is not set up with a username or password). Note that this is not the same as your user name and password for your MoneyWorks file.
  2. Tap Save Settings to save your Datacentre credentials.
  3. Tap the Document Settings button to see a list of MoneyWorks files that are available.
  4. Tap the file to use, then enter your username and password for the file
  5. Tap Save Settings. The screen will redisplay the list of documents.
  6. Tap the Back button at the top left to return to the Datacentre settings

If you are using MoneyWorks Now:

  1. Enter your MoneyWorks Now user and password.
  2. Tap Save Settings to save your credentials.
  3. Tap the Document Settings button to see a list of MoneyWorks files that are available.
  4. Tap the file to use, and the Datacentre settings page will be redisplayed.

A Note on Security

Because your MoneyWorks credentials are saved on the device (so you don’t need to go through the rigmarole of entering them every time you use the app), anyone who has access to the device can potentially submit data to your MoneyWorks file. If you should lose your device, it is essential that you change your MoneyWorks password to prevent unauthorised access.

Item Source

The Datacentre/MoneyWorks Now page contains a field called Item Source. This is used as a filter for items which can be selected for requisition by this user (for example, a plumber might only be able to requisition items that are typically held in a van). Only items in the MoneyWorks file which have a value in Category4 that matches this Item Source code will be available to choose when the an item is requisitioned through the app.

Enter the code for the item source or leave empty for all items and tap Save – the number of items that will be available is displayed.

Click the Back button to return to the home screen, where the Jobs list will now be enabled.

Jobs List

To view the active jobs that have been assigned to you or your group, tap the “Jobs” button.

The jobs list

The jobs are listed in order of job code, and come in four shades:
– light grey: jobs which have no outstanding time on them
– dark grey: jobs which have time recorded against them, but the time has not been submitted to MoneyWorks
– blue: the job whose timer is active (only one job will have an active timer)
– green: a job that you have marked as being complete.

Tap a job to see the timer and logged details.

Timer screen

The timer screen shows the job timer at the top, and, depending on context, several buttons. Below this is a log of actions performed on this device against the job.

The timer

The buttons are:

Start: Tap this to start a timer for the job (if another job is being timed, it’s timer will be automatically stopped);
Stop: Tap this to stop the timer (this means that no time is being recorded, as only one job can be timed);
Finish: Tap this to submit the accumulated time to MoneyWorks;
Use Item: Tap this to requisition an item for this job;
Job Info: Tap this to view information about the job, and (by then tapping Edit Details, to alter the job description);
Job Complete: Set this to mark the job complete. The colour of the job will change to green in MoneyWorks, signifying that the job is completed and can presumably be billed out

Submitting time

To submit the accumulated time to MoneyWorks, tap the Finish button (this is only available when the timer is not running on that job). The Submit Job Sheet window is displayed with the following fields:

Resource: The is the time resource to use to charge the job. Each user needs at least one time resource set up in MoneyWorks (for example there might be separate charges for standard rates, overtime rate, night rates). The time resources for a particular user should have the user’s login name in category4. The sell unit of these time resources are important. The Timer will count the number of seconds you have worked on a job, and convert this to the appropriate units. The recognised units that will be converted are “sec”, “min”, “6mn” and “hr”. Any other unit will be assumed to be hours (i.e. the number of seconds recorded will be divided by 3600 to give the quantity).

Activity: An optional activity code for the entry. These are generated from a MoneyWorks Validation List called “Activity”.

Description: An optional text description for the entry.

Tap the Save button to upload the time information to the Job Sheet list in MoneyWorks and redisplay the jobs list.

Requisitioning Items

Tapping the Use Item button will display a list of items that can be requisitioned for the job (and are determined by the Item Source filter). The top part of the list shows the available time resources, allowing the recording of a chunk of time without using the timer itself. The remainder of the list (below the search box) are items that can be requisitioned (entering text into the search box will filter these items based on the text entered.).

Tapping an item in the list takes you to the requisition screen for that item.

Enter the quantity (or tap the + and – buttons to increment/decrement the value) and a comment, and tap Submit.

Configuring your MoneyWorks file

Some configuration of your MoneyWorks data is also required for the Timer app to function.

  • You should create a separate user for each person using the app under File>Users and Security, plus time resources in the Item list for each user. The category field in the user record can be used to specify the group (if any) that the user belongs to, and that user will be able to see jobs assigned directly to him/her or to the group. A user whose category is super will be able to see all jobs.
  • To associate a particular time resource with a user, enter the user’s login name in category4 of the item record. Each user should have at least one time resource (but may have more if they have different charge out rates).
  • Jobs are assigned to individual users by putting their login name or group into category4 of the job record. Apart from the “super” user(s), the jobs list on the app will display only jobs assigned to the user and/or the user’s group (if any).
  • Items that can be requisitioned are filtered by the value in the Item Source field of the app. This will limit the items that are displayed in the app by displaying only those items that have the same value in category4 of the item record (it is not uncommon for a MoneyWorks file to have over 100,000 items). For example, items that are normally held in a van might me marked with “VAN” in category4, so setting the Item Source to “VAN” would just make those items available. Non tangible items (like MILEAGE) can be included.
  • Activities can be set up as a special Custom Validation List called Activities. Activities are the type of work done for the job (e.g. Meeting, Design, Maintenance), and are available in a drop down whenever time recorded by the timer is submitted. If used, these will populate the Activity field in the Job Sheet.
Posted in Uncategorized | Comments Off on MoneyWorks Timer App

Change History for 9.1.3

9 Mar 2023

MacOS Sierra users — important notice: v9.1.3 drops supports for macOS Sierra (10.12). This is because Apple has dropped build support from the current macOS SDK. If you are still running macOS Sierra, you must update your Mac before updating MoneyWorks. MoneyWorks 9.1.3 will not install on macOS Sierra. System Requirements page

Client

  • Support for new NZ IRD login requirements
  • Processing and printing a selection of sales orders now prints all of the resulting invoices, rather than just the first one
  • When connected to a server, detect when power is removed from a Windows laptop after the lid is closed and gracefully disconnect before WiFi access is lost (thus preventing a disconnection error and diagnostic dump when the laptop wakes up). If ethernet is pulled as well as power, quietly quit without trying to gracefully disconnect.
  • Stability improvement to autocomplete when there are problems with the autocomplete data
  • Duplicate Help menu items in App menu on Mac now enabled for Cashbook/Express
  • Fixed a hard failure (trans_mismatch) importing bad XML data with the post option enabled
  • Document and Custom Plugins paths are now shown in posix format in the Mac Navigator
  • Click to reveal document or plugins folder in Navigator now works if the path contains a ~ (such as iCloud folder path)
  • Fix VBA access to DoReport, ImportText and ImportFile, which a recent Office update on Windows appears to have broken
  • Reference number increment now works with and preserves a fixed non-numeric suffix on the reference number
  • Diagnostic UTF-8 reconvert no longer complains about longer tax codes
  • Fixed entity-encoding of quotes and apostrophes when exporting to XML
  • Job codes > 7 chars now increment properly
  • Fixed errors due to lack of a temp directory on a misconfigured RDP server
  • Updating a Job via import no longer requires that the client code be supplied in the import

Server

  • Updated the Timer web app to use IndexedDB instead of WebSQL
  • Improve server stability in the face of unexpected OS/network errors receiving SSL traffic
  • Restarting the service while transmitting data to REST clients will now wait for the data transmission to complete (up to 20 seconds) before actually restarting
  • Server disk space warning is no longer dependent on midnight restart being enabled (but still happens once a day at midnight)
  • Verbose logging being left on now generates a server alert email overnight. Don’t leave verbose logging on. Never turn it on unless Cognito support asks you to
  • The server will no longer fall back to a free TCP port if the main configured service ports are not available at startup (specifically the login, update, and REST ports — usually 6699, 6700 and 6710 respectively), since these ports are often the destination of port forwarding. Additionally, the server will retry the ports at startup if they are unexpectedly busy due to the OS not releasing them in a timely manner after a service restart (this seems to be an issue with macOS servers)
  • Include REST request time and folder username in standard log entry for metering REST load per folder
  • HTTP server now respects the Connection: close header to proactively close the connection rather than needing the client to close it
  • Main log file now cleans CRs out of the config file dump on Mac for easier parsing
  • Fixed a potential failure to deliver custom plugins from the server (when the adler32 checksum of the folder happens to be zero — a 1 in 4294967296 chance)
  • Fixed XML Payment-on-Invoice importing when server locale number format decimal point character is not “.”

Scripting

  • Find All in Script Editor
  • The default location for files created by scripts is now a folder named Automation Files in the MoneyWorks Appdata/Application Support folder, instead of Desktop/MoneyWorks Automation. If the latter already exists, then it will continue to be used. It will still be the case that the first folder listed in the Safe Paths preference will be used for such files, but it will now only be used if it is valid (i.e. exists). The list of safe paths will be searched to find the first valid/extant folder. If there are no valid safe paths in the preferences, then Automation Files in the app support folder will be used, thus removing the issue of script output file creation failing due to misconfigured preferences
  • The Help → Support Info submenu now has a command to show the Automation Files folder. This will show whichever folder will be used by scripts for creating files specified by name only (no path or metapath)
  • Improve behaviour of Navigator function revl instruction
  • Script runtime exceptions now log script name as well as line number
  • InsertListObject/SetListContents now scrolls the list back to the top if the new content is shorter than the current scroll position
  • Fixed a crash in the order processing dialog when scripting invisible controls that should not be scripted
  • Fixed redraw when changing Z-order of popup-menus in UI editor
  • Support case-insensitive regex with prefix (?i)
Posted in Change History | Comments Off on Change History for 9.1.3

Change History for 9.1.2

Bug fixes

For more extensive changes for Dec 2022 in 9.1.1 see Change History for 9.1.1

General

  • Fixed a potential crash when closing the Preview window on Mac (9.1.1 bug)
  • Fix drill down from transaction line item to Job not initialising job entry window properly (and potentially crashing on Windows)

Server

  • Fixed Mac Datacentre false alarm alerts for Backup and Archive paths outside the server’s home directory on some versions of macOS
  • Repair blank document root path condition on Mac server

Scripting and Automation

  • Updated Type Library format for COM/OLE support for 64-bit Office on Windows (with 64-bit MoneyWorks Gold). Previously only 32-bit Office was supported.
  • Fixed potential crash responding to VBS request with a bad type (Windows)
  • Fixed potential crash in scripted edit list on Ventura when the script triggers a progress dialog while building the list

🌻

Posted in Change History | Comments Off on Change History for 9.1.2

Change History for 9.1.1

General

  • Purchase Orders: Receive Prepayment Invoice for Goods – no longer spuriously requires serial numbers for serialised items
  • Added Dispose icon to Assets toolbar
  • Singapore GST changes: Support for reversed GST, and new default rate table for new documents. Note that for existing documents, you will need to update your rates in your tax table.
  • Fixed selection leak from report editor syntax checking and some user-specified searches
  • Processing a foreign currency PO to a pre-payment invoice now allows the exchange rate to be set on the prepayment invoice
  • Startup check that system date format is parseable (macOS cannot parse its own date format if you use ISO calendar with 2-digit year (2 digit year is not permitted in ISO date format standard))
  • The per-user Reply-To override option for SMTP now works again (it disappeared in the changeover from the external sendemail tool that v8 used)
  • Added batch expiry date column to Detailed Stock List report
  • Fixed problem with Bank Feed importing when multiple Load Bank Statement windows are open
  • Fixed cosmetic issues with Preview drill-down highlighting on Windows
  • Fixed display of current page number in Preview on Mac
  • Report editor cells: Renamed “Product Image” cell type to “Image”. You now load transaction and asset images using the Image cell type. Added tips to the Cell Display setting.
  • Fixed issue with product build where BOM contains batch-tracked items with small fractional quantities
  • Note: Documents opened with 9.1.1 will no longer be accessible using earlier versions of MoneyWorks 9 (but why would you want to?)
  • SMTP emailing: missing recipient address is now reported as such instead of “Failed sending data to the peer”

Server

  • Critical server alerts: The server will now email the server administrator (as configured in the Console), if a critical error such as a backup failure occurs, or if the server is running low on disk space. Disk space warnings are sent at midnight(ish) when the service restarts
  • The Logging and Backup controls have been moved to their own tabs in the Console
  • Reinstated auto-install/auto-update of MoneyWorks Gold on Mac servers, because it is actually required for correct operation of the CLI
  • New option to reduce frequency of Pictures backups to once a week (since they can greatly increase the size of backup files)
  • Improved backup logging
  • Show file and Show log now work when the document root is just a drive letter (Windows)
  • Account changes now record the Who field in the log table
  • Statements for a selection including branches no longer omit the branches when rendered on the server
  • Fixed a couple of (rare) server crashes after database shutdown (including disconnected client reconnect attempt during shutdown)
  • Fixed issues with Console warning icons
  • Fixed problems with REST worker throttling after failures
  • Improved REST parameter sanitising

Scripting

  • Fixed incorrect result for IntersectSelection on a sorted selection with a single-term non-indexed-field search expression
  • Scripting Privilege no longer required to receive commands from appleevent/COM
  • UpdateOrderLines (orderSeq, prod_qty_array [, linktoInvSeq]) – can now get the linked invoice behaviour with no linked invoice by passing -1 for the invoice sequence number
  • Fixed landscape PDF form rendering via CLI/REST
  • Fixed issue with DoForm() with blank format
  • Specific handler names for the transaction list now use XX as the type specifier when the type is ambiguous (it used to be ?? which was not valid in a handler name so you could not use it)
  • GetTaxRate function can optionally return the reversed rate
  • The Mail() function now behaves better with Outlook on Windows if the message parameter contains newlines
  • Clicks() function now resets when a window opens or closes
  • GetWindowByID() function now favours the topmost match if there are multiple instances of the window that match the ID
  • The search expression passed to the DoForm() function may now reference the caller’s in-scope variables
  • The DoForm() function now allows preview output of INVC forms to be pre-addressed for emailing by passing a contactRole parameter (either a numeric bitmask indicating which contact role(s) to add to the mailto) (this previously only supported STMT forms). Additionally, you can use a textual role name instead of a numeric bitmask for the contactRole parameter.
  • Script editor sidebar action menu available via right click in the sidebar
  • Script editor: Delete script can be used with multi-row selection
  • Two extra scriptable buttons (B_BUTTON2 and B_BUTTON3) on the Build window
Posted in Change History | Comments Off on Change History for 9.1.1

Datacentre Email Alerts

Because MoneyWorks Datacentre runs as an unattended server, critical error conditions need to be brought to the attention of the server’s administrator. This is done by emailing the administrator. You do not need to configure outgoing email; the email will be sent from a service at moneyworks.net.nz.

Why am I getting the alerts? or How do I get alerts?

You will receive the alerts if your email address is the registered administrative email specified in the MoneyWorks Datacentre Console app on your server (Datacentre v9.1.1 and later). Your server will also need to be able to make outgoing HTTPS connections to our server at cognito.co.nz.

You can enable or disable alerts using the Send critical server alerts checkbox.

You should fix the cause of the alerts rather than turning off alerts.

A critical error (such as a failure to save a backup) will result in an immediate alert.

Disk space warnings are sent nightly.

What should I do about a backup error alert?

The server may alert you when a backup fails for any reason, but it will also alert you to potential future failure if the backup volume is running low on space. You can specify the minimum free space threshold for alerts in the Advanced tab of the MoneyWorks Datacentre Console.

What should I do about a data volume or boot volume free space alert?

Make sure your server has sufficient free space at all times. As users add data (and possibly upload images) to your server, free space will be consumed. As new periods are opened, monthly archive copies of the latest backup will be copied to the Archives folder. Running out of space on the data volume or boot volume can result in data loss. Do not let it happen.

The default threshold for an alert is 3000MB. If your storage volumes have less than that, you will get alerts every night. You can change the alert threshold to a lower number to stop the alerts until the new threshold is reached.

Note — False alarms on newer macOS versions — backup locations outside of the MoneyWorks home directory were giving false alarms (claiming that a valid backup storage location is not found) on some macOS versions. Please update to v9.1.2 for fix.

Quick troubleshooting tips

The server’s configured backup/archive location (X:\path) was not found

Make sure the path name is correct and exists. Make sure the drive has not been unmounted. On Windows, do not use a drive letter than is mapped from a network drive—use the proper UNC network path. Drive letter mappings of network shares are only visible to you; they don’t exist for a service.

Posted in Uncategorized | Comments Off on Datacentre Email Alerts

Microsoft Outlook and Drag-and-Drop

Most email programs support dragging attachments directly as files from an email message into other applications. In particular into the image attachment icon in a MoneyWorks transaction to archive an invoice PDF or JPEG.

The exception is Microsoft Outlook, which won’t directly deliver a file when you drag an attachment’s icon. However there is a workaround:

On Windows: This Outlook extension fixes Outlook’s drag functionality to allow attachments to be dragged to any application, including MoneyWorks.

On Mac: To copy an attached image file to a MoneyWorks transaction, double-click the attachment — this will open it in Preview. Now click on the small icon in the Preview window title bar and drag that into MoneyWorks and drop it on the Image attachment icon of the transaction entry window.

Posted in FAQ, Tip du Jour | Comments Off on Microsoft Outlook and Drag-and-Drop

Printing on Windows; There must be a printer driver available even if you are not actually printing

When MoneyWorks generates reports or forms, it queries the system’s printing system for localised page sizes. For this to work, there must be a printer driver available to provide that information. Usually, on Windows 10, even when there is no attached actual printer, there will be at least Microsoft XPS and Microsoft Print to PDF devices available, but if someone has removed all printer devices from your Windows system, then Printing, Previewing, and all other formatted output from MoneyWorks may fail.

In this situation, the solution is to re-add a printer device.

The following link explains how to re-add the Microsoft Print to PDF driver if it is missing.

How to Add or Reinstall the Microsoft PDF Printer 2021 Edition

The short instructions, for an up-to-date Windows 10 installation, are:

1. Open Cmd.exe with Administrator privileges.

2. Enter (all on one line)

dism /Online /Disable-Feature /FeatureName:"Printing-PrintToPDFServices-Features" /NoRestart

then

dism /Online /Enable-Feature /FeatureName:"Printing-PrintToPDFServices-Features" /NoRestart

Posted in Uncategorized | Comments Off on Printing on Windows; There must be a printer driver available even if you are not actually printing

Simple Document Management

If you are an engineer, accountant, manufacturer or similar you might have a folder of files that pertain to a particular product, client, job or similar. These files won’t be anything to do with MoneyWorks, but might be word documents, spreadsheets, CAD files, photos etc.

Assuming these are all stored within a single Master Folder (or, more likely, within subfolders within a single Master Folder), you can, with the free MoneyWorks Document Management script, have instant access to those folders from within MoneyWorks Gold (or Datacentre), or MoneyWorks Now (MoneyWorks version 9.1 or later required).

The Document Management script inserts a button on the client, product and job screen which, when clicked, opens the relevant sub folder, giving you instant access to the other files. The master folder might be on a file share and accessible by numerous users.

The Folder button will open the linked folder of documents

If you haven’t been sufficiently organised to have a master folder (but it has been on the “to do” list for a while), you can create one outside of MoneyWorks, and then have MoneyWorks automatically create subfolders when required for a specific customer/product/job.

How it works.

When installed, a Folder button appears at the top right of the Customer, Product and Job entry windows. The first time this is clicked on a particular computer, you will be asked to select the Master Folder (using the standard Mac or Windows file select window). This is stored per computer, as the path might be different from different computers (for example if you have both Macs and Windows machines sharing the same folder).

Once the master folder path has been specified, you can link a customer/supplier, product or job to a folder within the master folder.

To link, open the entry window for the name, item or job, and click the Folder button at the right hand side of the entry window (the button does not show when you are creating a new record).

  • If there is already a link, the folder will open in Windows Explorer or, if using macOS, the Finder.
  • If there is no link, you will be prompted to either link to an existing folder (which must be in the Master Folder), or to create a new folder.
  • Clicking the Folser button

    • If you select to Link to an existing folder, the standard File Open window will be displayed. Navigate to the folder and select a file within it (you will not be able to link to the folder unless you select an item, so you cannot link to an empty folder).
    • If you select New Folder, you will be prompted for the folder name (the default is the name/product/job code) which will be created at the top level of the Master Folder. If a folder of that name already exists, it will link to that.

The file paths for each linked record (relative to the Master Folder) are stored in MoneyWorks. If you change the name of a linked folder, or move it to a different location, the link will be invalid. When you click the Folder button and there is an invalid link, nothing will happen (you need to repair the link using the Reset option).

Viewing and Resetting a link

You can view a link by turning on the Show/Reset checkbox. The existing folder link (if any) and the Master Folder link are displayed in a yellow coach tip.

When the Show/Reset checkbox is on, the Folder button is replaced by a Reset button. To reset a link, or to change the Master Folder link, click the Reset button and follow the prompts.

Note that changing the Master Folder to an entirely different directory will break all the links (which are stored as relative paths to the Master Folder).

Installing the script

The Document Management script is available as a free download from the MoneyWorks Add-on store. Having “purchased” the script, you will receive an email with the download link. When downloaded, simply double-click the “Document Management.mwxml” file to install it in the currently open MoneyWorks file (other users will get the script the next time they connect).

If you subsequently decide the script is not for you, you can disable it or delete it in Show>Scripts.

Tweaking the script

For simplicity, there are no preferences for the script settings. By tweaking the script slightly you can remove the button from any of the name, item or job entry screens, or set it to automatically create subfolders when you create a new linked folder (for example, for a linked manufactured product record, you might want subfolders for “Drawings”, “Notes” and “Costings”).

To tweak the script, open it in Show>Scripts. Comments in the first few lines tell you how to tweak it.

Posted in Resources, Scripts | Comments Off on Simple Document Management

Change History for 9.1

20 Sept 2022

additional fixes for 9.1r2 supplementary update at end

  • Date Picker
  • By popular request, date fields now feature a pop-up calendar date picker. This allows dates to be typed normally (and the calendar will reflect what you type), or you can click a date to enter it into the field. Note: You can enable or disable the date picker in the MoneyWorks Preferences → General tab.

             
    Mac
     
    Windows
  • On Windows, there is now an option in the Window menu to “Always open windows on main screen”, which is on by default. If you want modal and floating window positions on different monitors to be remembered, you will need to turn this option off
  • Tax numbers for different locales can now be specified in the setup part of the respective Guide form
  • VAT Guide UK: Fixed to correctly include EU/Northern Ireland Purchases
  • Tax by Currency report now checks for missing tax numbers
  • Build Product now supports BOMs that use serial- or batch-tracked parts and/or create serial- or batch-tracked built products. The BOM is expanded to allow all serial numbers to be specified prior to creating the build journal
  • Serial-tracked parts can’t be added to a BOM for an auto-built product. Turn off auto-build to add serial-tracked parts
  • Tax by Currency report now handles overpayment refunds
  • Customer payment method is now available for non-Debtors
  • MacOS Ventura compatibility for speech output
  • Account list was incorrectly showing the tax code column when initially displayed for documents where GST/VAT processing was turned off
  • Entering a date as only m/d when the system date format is middle-endian-with-alpha-month-names now works as (presumably) expected
  • Fixed a problem with drag & drop recognising .qbo files on Mac
  • Fixed a rounding issue with 50/50 split rules in bank statement import
  • Changing the Name code on a cash transaction imported from a bank statement will preserve the gross value of the transaction if the tax code changes as a result
  • Fixed multi-user concurrency issue with modifying the same filter rule simultaneously
  • Fixed high CPU usage in background when a coachtip or tooltip is scheduled to appear
  • Fixed memory leak when traversing APFS folders
  • Removed some spurious diagnostic log messages
  • Asset Report: Highlighted Only option now works correctly
  • Asset Register Report: Show correct bookvalue for asset purchased on last day of period
  • Asset Register Report: Fix acquisition quantity
  • Bank Balance report: Reinstated grand total
  • Added diagnostic mode to the SMTP preferences. Hold down the shift key when clicking Test to get a full log of the SMTP test session
  • Fixed address book import and email autocomplete on macOS versions later than High Sierra
  • Fixed SMTP emailing to multiple addresses for a role
  • Fixed incorrect cursor for certain drag operations
  • Fixed pinch zoom direction in Preview (Windows)
  • Enabled pinch zoom in Forms Designer
  • The Exclude Zero Qty Lines option in Product History no longer erroneously applies to Pending view
  • Fixed update issues in Analysis editor
  • Timesheet Location field is now reliably validated
  • Detailed Stock Report: Add Highlighted Only option
  • In future, Software Update on Mac will quit other instances of MoneyWorks for you. This is to prevent mysterious file system errors that can be experienced by a process whose executable has been replaced with a new version
  • Trial Balance Report: Option to show closing balances only
  • Stock History Report: Currency conversion issue with negative creditor invoices
  • Add Path button in the Scripting Preferences to select a folder to add
  • Fixed incorrect Accounts List toolbar when GST processing is turned off in document
  • Fix to Cash Projection report
  • Updated calendar holidays
  • Asset Register: Allow revaluation of Non Disposable Assets

🌻

Server

  • Addressed restart/recovery race condition on server
  • Ventura compatibility: Updating Datacentre on macOS Ventura and later launches the GUI installer app to complete the update install
  • Mac Datacentre Console no longer auto-installs/updates MoneyWorks Gold on the server. If Gold is installed on the server, just connect to the server to update it
  • Datacentre Console now gathers Mac crash logs when necessary
  • Fixed Datacentre installation failure on virgin Monterey OS (not upgraded from previous OS version)
  • Fixed potential server deadlock after certain SSL connection failures
  • Other stability fixes
  • Remove excessive logging for syntax errors in users’ custom column expressions
  • Updated paths for jpegoptim and ghostscript for serverside image recompression

🌻

Scripting and Automation

  • Adopt WKWebView for embedded web views on Mac; this provides script-based webviews with access to latest WebKit and Nitro Javascript. See New web views in MoneyWorks 9.1 and later for more information
  • Adopt WebView2 for embedded web views on Windows (where installed); this provides script-based webviews with access to the Chromium/Edge browser engine instead of the IE11 browser offered by IWebBrowser2. See New web views in MoneyWorks 9.1 and later
  • Using the new web views, you can now call out to MWScript from Javascript in a web view’s content. You can also inject javascript into a Web view’s content from MWScript. See Communicating with Javascript in a Web View
  • Fixed assignment to window bounds properties
  • Fixed crash with extremely long array keys
  • Fixed potential crash when SetFieldValue is used in bulk and results in a progress dialog
  • Improved REST error reporting
  • Added Regex_SearchStr returns the first matched substring or empty string if no match
  • Added Regex_GetMatches returns an array of tokens matched by parenthesised subexpressions in the regular expression
  • Improved regex error reporting
  • Reduced threshold of regex_complexity error on Windows
  • HexDecode no longer enforces output being valid utf-8. This is to facilitate re-encoding binary data such as the output of HMAC as Base64
  • GetWindowProperty now returns NULL if the property is not found, rather than throwing a runtime error
  • LoadPicture now displays “PDF” on Window when a PDF was loaded from the server (Windows cannot display PDFs)
  • Timestamp() added TSF_Unix, TSF_Unix_ms, and TSF_Unix_us formats for Unix epoch decimal timestamps
  • Timestamp() format parameter may now be a strftime format string
  • DateToText() format parameter may now be a strftime format string
  • Added ModalTransactionWindow function to invoke a standard transaction entry window modally
  • Added CreateFolder to create a folder
  • Added AddSafePath function to invoke the preferences for user to add a safe path
  • Implementing the same handler name twice (where the first implementation has a non-empty handler body) is now flagged as an error when you do an explicit compile in the Script Editor. In order to not break existing scripts that might have this issue, this error does not prevent existing scripts from compiling at load time. The script will need to be fixed (by removing the earlier extraneous handler definition) when it is modified in the Script Editor
  • Fixed potential crash when SetFieldValue is used in bulk and results in a progress dialog
  • Built_In:__SendSMTPMail now has the option to add multiple attachments by passing an array of paths instead of a single path string

9.1r2 — 4 Oct 2022

General

  • Fixed randomly auto-cancelled Print command on Windows
  • Increased network timeout for Open New Period to better accommodate very very very very large charts of accounts

Scripting

  • Fixed and intermittent crash when closing custom script windows

9.1r1 — 30 Sept 2022

General

  • Fixed a Daylight Saving glitch in the Mac date picker affecting timezones more than 12 hours ahead of UTC
  • Fixed crash when attempting to output a report or form on Windows when there are no printer devices available
  • Navigator panel will now reload if you drill down to overdue debtor or creditor invoices
  • Fixed a resource leak in the Edit Filters command

Scripting

  • Fixed crash when putting up a print spool dialog from a PostedTransactions handler on Windows (although doing this kind of thing from a PostedTransactions handler is absolutely not recommended)
  • Fixed the “open links in external browser” option for WebViews on Windows
  • DoForm() function with non-existent form no longer produces an empty PDF file. The output path will now begin with “[ERROR]”. You should test for this rather than assuming that the path identifies a valid PDF output file
  • The Mail() function will fail with an alert if the attachment path begins with the text “[ERROR]”
Posted in Change History | Comments Off on Change History for 9.1