Change History for 9.1.7

Apr 2024

Performance and reliability enhancements, and new features:

  • Emailed PDF forms can have a specified attachment name (see Form Options in the forms designer. An attachment name can be specified as e.g. <<Name>> Invoice <<OurRef>> for <<NameCode>> to get Acme Widgets Invoice 45033 for SPRING.pdf
  • Configuration options for the Dashboard Income & Expense pie charts. You can now break down by additional category options. We have additional new data visualisation facilities in the works…
  • Better truncation of over-length fields when generating PDFs on Windows with libHaru
  • Save as PDF file using Microsoft Print to PDF now suggests a file name
  • Support future MWNow SHA-256 TLS CA root
  • Database performance improvements
  • Diagnostic ledger integrity performance improvement (up to 60x faster in some cases)
  • Diagnostic Stop button now more responsive during ledger integrity phase
  • Entering a date as DDMM is now smarter about autocompleting the year when you are working in a prior year (assume the year of the latest open period rather than the real time current calendar year)
  • Fixed issue with keyboard shortcut assignment in 9.1.6 that reassigned and broke the keyboard shortcut for the Name code checkbox in payment/receipt entry
  • Fixed ctrl-alt-key shortcuts for buttons in modal windows on Windows
  • The frontmost transaction list window (when there is more than one) is now always the window from which the current selection for reports is taken
  • Updated calendar dates
  • Batch Debtor Receipts fixed for head office receipts (broken in 9.1.6)
  • Account Enquiry include unposted now works for account ranges when running on a server
  • Statement form message is no longer truncated when the statement is rendered on the server
  • Load Old Bank Statement now disables the “Start Over” button
  • 64-bit crash reporter now uses static runtime lib (Windows)
  • Improved session recovery resilience
  • Software updates can now use build number as well as version
  • Fixed some truncated text on Navigator on Windows
  • Improved sanity checking when updating product codes
  • Name and product code fields can be activated to copy them even when they are read-only
  • Find Related Components for Product now goes to the All view (since components might not be inventoried)
  • Bank funds transfers and other special transactions can no longer be made recurring (doing so would result in currency error or other problems)
  • Save a Clone now clears GST reprint cycles in the clone
  • Fix faulty start date for online GST filing
  • Age by Due date report performance improvement
  • Prevent merging accounts with different security levels
  • Fixed failure sorting by order number in payment on invoice entry
  • Fixed a bug in the database engine that could—in very rare circumstances—corrupt database indexes when purging (this bug had survived for 34 years)
  • Fixed a bug in purging when there are very many unpurged/unclosed periods
  • Find Related landing in the Detail Lines list is now much faster. It delays sorting the list until the found records are selected
  • Reversed Tax codes now allow an alt code for foreign jurisdictions
  • Entering a new transaction from the bank reconciliation now sets the preferred bank account for both receipt and payment to the bank being reconciled, so that it remains the same if you change the transaction type
  • Require on-hold payables/receivables to be taken off hold before cancellation
  • JobSheet.CostCentre is mutable via Replace
  • 9.1.7r1 Job Allocation Report privilege protection
  • 9.1.7r1 Fixed invoice payment entry wrong column resizing with window size
  • 9.1.7r1 Removed spurious extra Tax by Currency report

Server

  • Fixed missing folder icon in Console
  • Time limit on verbose logging
  • Removed spurious log message when backing up
  • 9.1.7r1 Fixed connection failures from cascading errors under high REST load on Mac servers (9.1.7 regression)

Scripting

  • Command to open a new standalone script document window (Shift-opt-⌘-N / Ctrl-Shift-Alt-N)
  • Ask function now supports a “title” control type to set the window title
  • ConcatAllWith function — this is the same as ConcatWith except it does not omit blank items in the input. Use this for tabulating fields into a string
  • CreateListWindow: implemented property initialisation
  • Record editing windows instantiated from a custom list window now get a property named __parent_list which is the window handle of the list window
  • TaggedText fields now support using _ ; : characters in the stored data. Previously these were reserved delimiters. The following sequences in tagged text data will not survive a round trip since these are the byte-stuffed versions of the tagged text delimiters: ._ :_ ;_
  • InstallMenuCommand can now add up to 30 commands to the menu (previous limit was 20). Attempting to add more will now log an error and return 0 from the InstallMenuCommand function
  • DoReport can now access a built-in report named “~textreport.crep” to output plain text in columns
  • Support for html pages as Navigator panels. See Web views in the MoneyWorks Navigator
  • Fixed some problems with web view observers and javascript injection
  • Copying a script as styled HTML now entity-encodes angle brackets and ampersands
  • PreviewXMLtoPDF(xmlpath) function converts a preview xml file (“xml” format from DoReport or DoForm) to a PDF, returning the path to the pdf file create in the temp directory
  • REST doform now returns an HTTP 422 if your search expression finds no records to render. You should always check the HTTP status code and the returned MIME type, because if you ask for a pdf but supply bad parameters, you will get text/plain with an error message
  • In custom windows instantiated by a script, GetListHandle will no longer return the current (default) list in custom forms if the listName identifier is not found (it is assumed that you must have a typo in the identifier). MoneyWorks standard windows still behave the same
  • UpdateOrderLines an invoice sequence number parameter of -2 will now force complete the order
  • Find function will ignore the Run On Server parameter if latency is low
  • The Date function now has defined behaviour for for out-of-range month values (the supplied year value will be adjusted by one for each 12 months out of range the month is)
  • Accessing a window handle from its Close handler is no longer crashy
  • There is a publicly exposed function to get calendar entries from the MoneyWorks calendar: Cal:GetEntries(date, calendar_name)
  • There are new global variables for UserIsReadOnly and BuildNumber
  • The server will now be slightly more relaxed about accepting connections from CLI clients that are slightly out of date
  • Javascript alert() is now supported by the web view on Mac
  • Added support for custom/user fields 5-8 to the FieldLabel function
Posted in Change History | Comments Off on Change History for 9.1.7

Change History for 9.1.6

Dec 2023

Client

  • 9.1.6r5: Cashbook and Express SMTP fix
  • 9.1.6r4: Fix inability to link new bank accounts in Yodlee on Windows
  • 9.1.6r4: Prevent tabs from being pasted into fields on Mac
  • 9.1.6r4: Prevent potential document preferences corruption due to updating software before restoring from session file
  • 9.1.6r2: Adjust preferred location handling so that preferred location does not get clobbered
  • 9.1.6r2: Fixed libxml2 XML parser crashing on Windows when running emulated on arm64
  • 9.1.6r2: Save a Compacted Copy no longer requires a relaunch when running on 64 bit Windows
  • 9.1.6r2: Fixed a typo n an error message
  • 9.1.6r1: Fixed crash in autocomplete if a line item is deleted when an autocomplete window is open
  • 9.1.6r1: Fix timeout error sending SMTP mail via Office365 on Windows
  • 9.1.6r1: Fix crash clicking SMTP Test button on Windows when PDF via MS Print to PDF option is enabled
  • Additional transaction list windows may now be opened in MoneyWorks Gold using Shift-⌘-T (Mac) or Ctrl-Alt-T (Windows). Likewise for the Detail Line Items list window (Shift-option-⌘-T / Ctrl-Shift-Alt-T)
  • The automatic assignment of keyboard shortcut for controls will no longer assign shift-⌘-N/ctrl-alt-N and shift-⌘-C/ctrl-alt-C to Next and Cancel (when they already have Enter and Esc as shortcuts). As a result, some keyboard shortcuts for checkboxes and buttons may have changed: On Mac, hold down the Cmd key for a few seconds to see the keyboard shortcuts in a window. To see keyboard shortcuts on Windows 10 and later, turn on Underline Access Keys in the system settings.
  • The invoice payment entry list now also displays the other party’s reference number (TheirRef) for the invoice
  • Administrator may temporarily override period locking to post adjustments into locked periods
  • Native support for dragging an image attachment from Windows Outlook into a MoneyWorks transaction
  • The date for the build journal can now be specified in the Build Product command
  • Windows MAPI mail now supports unicode recipient addresses and addresses containing punctuation
  • Fix macOS Sonoma startup crash when numeric format has a non-breaking space for thousands separator
  • Bank transactions imported from Yodlee now import oldest first instead of oldest last for better invoice payment matching
  • Profit Actuals for Rolling 12 Months report: Added EBITDA option
  • Order processing alert for unused deposit for a non-credit customer no longer keeps the database locked while the alert is up
  • Stock value correction journal for invoice-after-goods with changed prices now includes OriginatingOrderSeq
  • End of the Month (EOM) option for the Debtor/Creditor Terms now supported for more than one month in the future: use 131st, 231st, 331st for end of second, third, fourth month after invoice date
  • Switching to an order’s Backordered tab now always scrolls to the top
  • Entering a receipt for a debtor with no outstanding invoices now defaults to Payment on Invoice again (on the assumption that you want to enter an overpayment/prepayment)
  • Better Analysis report editor scaling in Magoo mode
  • Details list view was missing the new Customise list view toolbar icon
  • Fixed problem with IRD Connect on Cashbook and Express
  • New preference option on Windows 10/11 to use Microsoft Print to PDF driver to generate PDFs instead of libHaru. This has the advantage of having full Unicode support instead of just the ANSI codepage, so it supports non-latin scripts. (You do, however, lose the ability to embed http links in the PDF)
  • All clients (including Mac) will do their own PDF generation when connected to a Windows server and running reports or statements on the server
  • Statements generated on the server should now get a more useful attachment name for the PDF generated
  • Fixed incorrect text alignment and line breaking on Windows with some unicode character ranges (particularly Asian languages)
  • Enter Serial dialog box makes more sense
  • Profit Budget for Next Year: Show as COGS and EBITDA
  • Updated Notepad2 build; 64-bit on 64-bit installs
  • The Name type checkboxes for inactive debtor/creditor may now be turned off without requiring single-user mode (balance must be zero with no outstanding invoices); Cancelling a payment for a deactivated account will reactivate it
  • Prevent duplicate validation items
  • Clear line item location when product code is changed to an inventoried product
  • OpenSSL updated to 3.1.x
  • libcurl and zlib on Windows updated to latest releases (Mac uses OS-provided versions of these libraries)
  • Warning when MoneyWorks Now primary login gateway could not be reached
  • Password fields no longer try to evaluate an expression if the password happens to start with =
  • Prevent changing MoneyWorks Now password to blank
  • Fixed incorrect message regarding crediting of unused deposit on order
  • CSV bank statement importer now tolerates currency symbols in the data
  • Network connectivity tester under support info
  • Expired subscription will no longer force read-only mode when logging into a server

Server

  • IMPORTANT note for Mac Datacentre administrators: The option to specify a custom location for the Documents directory anywhere was removed some time ago. 9.1.6 will now reset the configured location to /Library/MoneyWorks/Documents. If your data files are located elsewhere, you must move them to this location. Then apply permissions by opening the Datacentre Console app
  • REST requests will now cause auto-opening of a new period—the same as a regular login in a new month—if the REST client has write access to the database. This should resolve the issue of high REST activity preventing a new period from being auto-opened on the first of a month
  • Mac Datacentre will now set the owner of backup files to the owner of the folder they are moved to. This will prevent e.g. iCloud from ignoring them
  • Reports and forms generated on the server now use the default currency symbol and date order from the client
  • Fixed midnight restart port bind failure when under REST load
  • Additional REST worker process logging
  • moneyworks_datacentre.log rotation is now rate-limited
  • Added missing IP blocklist file on Windows
  • Rationalised configuration files: There is now only one .conf file for the main server configuration. Please note that this change means that you cannot downgrade the server version
  • Fixed Console start/stop not working on High Sierra

Scripting

  • ParseCSV function to convert a CSV line to tab-delimited (which you can use with Slice
  • The CLI now supports cur_sym and cur_end parameters to commands to override the locale currency symbol and position when formatting numbers as currency quantities
  • There are new transaction flags to indicate fTrans_WasImported and fTrans_WasRecurring
  • SetPersistent no longer throws a runtime error if the record being updated is locked by another user. Instead it will first retry after a 200ms delay, and if it still fails it returns 0 to indicate failure (1 for success). Scripts should check the result of SetPersistent, but also see the next change…
  • SetPersistent as a special case, when setting User.Data, the return value of SetPersistent is the previous value of User.Data. This allows SetPersistent to be used as an atomic Test-and-Set
  • Executing a .mwscript file with the -Z option now forces non-localised numeric formatting
  • Export("xmlschema") now indicates field mutability
  • Memo table is mutable by ReplaceField
  • Mac CLI now logs to moneyworks_cli.log instead of MoneyWorks_Gold.log
  • Saving a .mwscript from standalone script editor now truncates the file if it is shorter
  • Import now works the same importing clientside/serverside when the full path to an import map is not provided (previously serverside only worked with a full path)
  • Fixed file error when a script sends multiple smtp emails with attachments with the same name
  • Allowed("Write Access") will now return false if the user is logged in read-only for any reason

🌻

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

MoneyWorks Support and Support-ID

To expedite telephone and email support, we have introduced the concept of a MoneyWorks Support-ID number. This is available to all users of MoneyWorks 9, and has the following advantages:

  • When quoted for support, the support team can instantly see your recent support history
  • It is more secure, as you no longer need to provide your credit card details to our support team when you call
  • It saves you and us time

Setting up your Support-ID

A Support-ID number is generated when you register your company file by choosing File>Manage Servers and enabling support. For added security a random PIN is also generated, and both numbers need to be supplied when seeking support.

To get your Support-ID and set your support options, open your MoneyWorks file and:

  1. Choose File>Manage Services
    The Manage Services window will open. This is where you register your MoneyWorks documents and can also subscribe to optional MoneyWorks services, such as e-Invoicing or connecting to an on-line store.
  2. If you haven’t already registered your file, click the Register link and follow the instructions to register your file
  3. If you haven’t already lodged a credit/debit card, click the Lodge Card link and lodge your credit card
    MoneyWorks support is not bundled in with your purchase/subscription price, but is charged only when required.
  4. Click the Enable Support link
    The Support Options window will open.
  5. Support options

  6. Turn on the Use lodged credit card for support option
    Any lodged support events will be automatically charged to the lodged card.
  7. Set any other options (see below) and click the Update button
    You will be returned to the previous screen, which will now display your Support-ID and PIN number.

Note: In MoneyWorks 9.1.4 and later you must be an Administrator to be able to activate support and other MoneyWorks Services.

Retrieving your Support-ID

Before you call (or email) for support you should retrieve your Support-ID and PIN number. Our support team will ask for the Support-ID, PIN number and your name. Depending on the support options selected, you might also be asked for a purchase order number. If you are emailing you should include this information in the body of the email.

  • In MoneyWorks 9.1.4, choose Help>Get Support. Your Support-ID and PIN will be displayed, along with current support charges, a contact phone number and email address. A list of previous support events is also shown in the window.
  • Getting support

  • In earlier versions of MoneyWorks 9, the Support-ID and PIN can be accessed by choosing File>Manage Services.

Without a Support-ID, you will need to provide a credit card for each support incident. With a Support-ID the lodged card will be automatically charged overnight (NZ time) for all support events in a day.

Before calling, you should also start your TeamViewer
TeamViewer enables you to share your screen with our support team so they can view what the problem is. You can start it by choosing Help>User TeamViewer QuickSupport (if you haven’t used it before, MoneyWorks will offer to install it).


Support Options

PIN Number:

For added security, your account will be issued with a random 4 digit PIN number, which must be supplied for all support incidents. You can change this at any time (for example, if a staff member leaves). You will need to quote the PIN number when you ask for support.

Purchase Order Number:

You can also opt to require a Purchase Order (PO) number with each support incident. This will appear on your receipt when the support is charged. There are several ways in which you can manage this:

  1. You can specify a purchase order number when you set up your support options. The caller must supply this PO Number to get support.
  2. You can opt to require any PO Number, although we have no way to verify the supplied number is valid.
  3. If you opt to require a PO number, the user will need to have it when they call/email (it will not be displayed in the MoneyWorks Support window).

Authorised users can change the PO settings at any time by clicking MoneyWorks Support in the MoneyWorks Services window.

Mulitple Entities:

If you have more than one entity operating under this licence, you can opt for all these entities to be covered under this Support-ID, or they can be covered under their individual Support-IDs.

Posted in Resources | Comments Off on MoneyWorks Support and Support-ID

Change History for 9.1.5

September 2023

Client

  • 9.1.5r1: fix field size and tab display glitch on product entry screen in Gold
  • 9.1.5r2: fix field size glitch caused by the above fix
  • Set sidebar colour in Document Preferences to help visually differentiate different companies
  • Auto-balance general journals. Just click the debit or credit footer total to automatically add a balancing line to the journal
  • Optionally record debtor overpayments as a debit/credit note pair for cases where GST/VAT needs to be recorded for overpayments
  • Adding a debtor or creditor code to an existing unposted receipt or payment now offers the option of converting it to a payment on invoice
  • Libraries of list views: You can now store multiple customised list views and recall them from the list toolbar
  • Product BOM now also shows replacement cost of parts, because inflation
  • Copy/Paste list view is now in the Customise List View window
  • Due date calculation: for day of month following terms: If the day of month is greater that the number of days in the month following, then the calculated due date will now be no more than the number of days in the month. Therefore you can now use 31st of month following as effectively end of following month. Prior to this, 31st of month following would be 1st of subsequent month if the following month only had 30 days
  • Date picker no longer pops up in a newly instantiated window just because a date field happens to have initial focus
  • Check new user initials are not duplicate of existing user
  • Save a Copy now requires Save and Backup privileges
  • Security hardening of the reference number service
  • Support for future Apple changes to Apple Silicon runtime model and API changes
  • Notepad2 log reader is now signed (Windows)
  • Restored missing Asset Register submenu on Windows
  • Calculated columns now have the currency field always available to a format expression
  • Auto-build from a Sales Order now uses the invoice date, not the order date for the build
  • Asset register: fixed a case of wrong Depreciation calculation on DV method
  • Trial Balance report control issue
  • The default stock journal filter (for new documents) now includes stocktake journals. You can update an existing filter by adding or OurRef=`JT@` to the search
  • Price List report now uses the new names for Product.BuyTaxCodeOverride/SellTaxCodeOverride introduced in 9.1.4r2
  • VAT Guide SA: Was using invalid taxrate.taxpaid field
  • Reorder Products now pre-excludes processed orders, improving performance when there are many processed orders

Server

  • Finalise GST with cash sales on invoice basis is now much faster over a network
  • Loading and saving bank reconciliations is faster
  • Non-default Archive location now works properly on Mac servers
  • Backup hourly throttle now works properly
  • Rebooting a Mac server should no longer give spurious alerts about disk space and backup locations
  • More informative error message when a database fails to open
  • Fixed REST import error message formatting
  • Serverside image recompression is now asynchronous
  • Increased default socket timeout
  • HTTP requests to HTTPS endpoint now only have one log entry instead of two
  • HTTP(S) servers now impose a 15 second Keep-Alive timeout rather than waiting forever for clients that never close the connection
  • Network error recovery is now on by default
  • Reconnection allowance for clients that get a network error now only made for actual logins, not internet noise
  • Reconnection allowance for clients that get a network error no longer made during server shutdown
  • Windows logs now get a new creation time when they are created (work around MS filesystem tunnelling)
  • Ability to limit log rotation rate (manual setting in conf file)
  • Multiple stale connections are now cleaned up faster

Scripting

  • ChangePrimaryKeyCode function. Currently implements the ability to change tax codes
  • REST/CLI doform search parameter was failing for multi-field searches since 9.1.1
  • ReadCurrentRecordForWindow now clears tag pseudofields when stepping through a selection
  • Electing to edit a script when a runtime error occurs will now only disable the script if you hold down the Control key
  • Find All in script editor navigation to found text now works on 64-bit Windows
Posted in Change History | Comments Off on Change History for 9.1.5

Mac Mini as a server—preventing it from going to sleep

The Apple Mac Mini with Apple Silicon makes a great, fast, efficient server for MoneyWorks Datacentre.

However, there is one important thing to know about Mac desktop computers like the Mac Mini:

By default, the Mac will go to sleep after a time and all network connections to the server will hang

This is not good behaviour for a server.

Furthermore, Apple—in their great wisdom—have buried the setting that controls sleep in a hard-to-find place. It is in the Display settings.

In macOS Ventura, the setting is called “Prevent automatic sleeping on power adapter when the display is off”. You must turn this setting on if you are using a Mac as a server.

Posted in Uncategorized | Comments Off on Mac Mini as a server—preventing it from going to sleep

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