Addsum web site and general info

Postings here will focus mainly on Advanced Accounting software updates, tips, and related topics. They will also include general comments relating to troubleshooting PC/Windows/network problems and may also include reference to our other software products and projects including any of our various utilities, or to the TAS Premier programming language. We considered setting up separate blogs for different topics so that users/others could subscribe to topics mostly aligned with their interests, but decided that it would be better to keep things simple since some topics cross over into others. We would nonetheless welcome your feedback/input in this regard. Our web site URL is Call us at 800-648-6258 or 801-277-9240. We also maintain so that older Business Tools users in particular have a greater chance to find us.


We highly recommend that accounting software users "follow" this blog via e-mail (enter your address and click on Submit below) or subscribe to a feed (see also below) as a way to keep current on the latest updates and accounting software news and information. You may also want to whitelist this e-mail address:

Follow by e-mail

Thursday, November 16, 2017

Minimize to taskbar and WinForm changes with TAS Premier r12

Background detail leading to today's TAS Premier 7i release 12

Since the first release of the graphical versions of the TAS language going back to at least 2001, minimized forms loaded by the runtime engine including the main form of the initial main menu program would appear in the lower left hand corner of the Windows desktop with just a portion of the form caption and the restore, maximize and close buttons.  The application itself remained in the taskbar, but clicking that button on/off it would reveal the minimize form in the lower left hand corner, but nothing more. Further, if additional forms were loaded from the main menu program or via a program that the main menu called (in the TAS environment typically via a "CHAIN" command), each minimized form would "stack" themselves horizontally from left to right. The main menu form or these other "child-like" forms could be restored by clicking on the desired form in the lower left hand corner of the screen.  This location remained constant regardless of where the user might have positioned their Windows taskbar.

Example of main window form's minimize button

The behavior described above is obviously not typical behavior; but, it is also not an idiosyncracy or intentional implementation of form minimization of or within the TAS programming environment but rather relates to the underlyling development language where this is a potential default behavior.  This is then complicated by the modular nature of the TAS language, where forms that are loaded are not necessarily child forms tied to a single application.  In the Delphi language which TAS was ported to from its assembly language beginnings by Business Tools, Inc., the taskbar button belongs to a special application window and not the main form of the application, and only it by default has a special Windows extended style that is applied to it.  Subsequently created forms do not have this style (nor is there a form property on the designed form to give it that style).   Absent applying this style and hiding the main application window and more, subsequently loaded forms do not minimize to the task bar (and are also not detectable by cycling through running programs, e.g. ALT-TAB).   Nothing in the modern TAS runtime engines is trying to minimize forms to the lower left hand portion of the screen.

With TAS Premier 7i rel. 8 that we released in April of 2013, in attempting to resolve some issues involving RUN programs (one of two different types of programs that the runtime engine can process), we were able to successfully make mounted screens (which actually are Windows forms) minimize to the task bar using extended Windows style API calls.   However in trying to do that with the GUI-type RWN programs which load graphical screens (DFM's), we ran into some issues and decided to leave the handling for those alone.

The problem:  Win 10 font display customization

In the past several months, however, a new issue has surfaced (and initially reported by two of our accounting software users) relating to customizing Windows 10 font display size whereby if the main menu form of the main menu program is minimized, the resized lower left hand corner form simply vanishes; and worse, it cannot be retrieved by clicking on the taskbar icon or in any other fashion.

Windows 10 at the standard non-customized 96 DPI (100%) setting: note that when minimized, the small resized form appearing at lower left

Changing the font size in Windows 10:

Windows 10: changing the font size to 125% (120 dpi)

Now running the main menu of Advanced Accounting in its tool bar mode: 

Windows 10 Adv tool bar mode after font change

Now minimize the menu above:

Windows 10 at 125% (i.e. 120 dpi) of standard font size:  minimize the initial program form and it disappears (lower left hand corner of screen is blank); and it can't be brought back by clicking on the taskbar icon, nor via ALT-TAB or the equivalent

Curiously, users have been able to change their font DPI settings in Windows for some time and when increasing them in those prior Windows versions, this minimization issue did not present itself:  the forms were still resized to the same expected, albeit unusual, location.

Windows 7 Pro custom DPI settings:  increasing font sizes did not create minimization issues. Nor did similar setting changes impact XP Pro.

The solution

Because this new problem meant that the application would become stuck in memory without the end user being able to regain access if they minimized a main menu form, we concluded that we had to come up with a workaround.  Revisting changes that we made in 2013 for RUN style forms, and after experimenting with numerous other options and making some other beneficial changes to the runtime, the answer was to apply extended Windows styles which not only solved the custom DPI settings issue in Windows 10, but also caused forms to minimize to the task bar. In doing this, however, the expected form order (i.e. the Z-order) was changed.  In short, forms were often appearing behind other forms and these could include lookups, modal forms, print dialog boxes, many types of system messages, and more.  The only solution to that was to ensure that new forms that are dynamically created in the runtime environment were "top most" in order to maintain Z-order.  

Forms appearing behind forms is a problem that users can experience with many different types of applications.  We've even seen it happen with Javascript "alert" message boxes appearing behind a browser window.  When this happens, a program may appear to be "stuck" or "frozen" when in fact cascading or tiling one's windows (right click on the blank portion of the taskbar) will reveal the hidden window and enable end user control of the application.

And while this solution worked, it meant we had to track down every different type of message (over six different types with different internal calls) to try to ensure that they came up over any given form that they might be called from.  And this was one of the reasons why we had not made this change in 2013.   But after a significant effort, that has been accomplished.

With release 12 installed into an Advanced Accounting installation:

Windows 10 with TAS Premier 7i rel. runtime with Advanced Accounting 8 main menu minimized

Windows 10 with TAS Premier 7i rel. 12 runtime with the main menu and three other programs/form minimized called from the main menu via a standard chain command

Windows 10 with TAS Premier 7i rel. 12 runtime with the main menu minimized plus a second runtime minimized called from the first via chain command with a "newruntime" option

It is interesting how different Window operating systems will minimize forms differently belonging to the same application.  As indicated with the Win 10 examples above they remain in the same "group" (the same thing will happen if you run say five instances of NOTEPAD and they will all be grouped together via single taskbar button).    

Windows 7 is somewhat similar, but different:

Windows 7 Pro with TAS Premier 7i rel 12 with the main form and three programs called by a standard chain and a fourth via a newruntime from Advanced Accounting

And in XP Pro, form minimization occurs yet differently.  Each option minimizes to the taskbar separately rather than grouped together:

XP Pro and TAS Premier rel. 12 runtime with Advanced Accounting, main program and three programs/forms minimized via standard chain commands with taskbar docked to right side of screen

The remaining obstacle

A new obstacle now that will remain is that despite the fact that programs should now minimize to the taskbar on any operating system that is in available and regardless of font settings, if a user launches another program or clicks on something that is running in their taskbar, they will have to minimize a running TAS RWN style program to allow the other application to come up on top.  We would have preferred to have these work like RUN forms do, but it isn't something that at least for now can work any other way.

Since TAS applications typically are typically critical accounting/financial solutions, keeping many of the programs as "top most" isn't completely illogical, but isn't something that we had intended to do: it was just the only solution to the problem.

Because of potential conflicts that could arise in calling other executables or simply in certain circumstances within the runtime environment, we also recognized that we had to provide some programmatic control to override the new "top most" behavior that a programmer could utilize when necessary.  And so a new function exists in release 12 by the same name as the Windows API function call that it makes:  SetWindowPos.   And the nice thing about it is that it can change the Z-order of the form and make it instead top, no top most, bottom or back to top most after the form has been created.  While some situations may still represent a challenge, with also now the SetWindowPos() availability, most challenges this behavior causes should be capable of being overcome.

To allow the main menu program to still allow other third party programs to load on top of it, we recommend placing a function call to SetWindowPos() in the "OnDisplayScreen" (aka "OnShow") label of the main menu form since it does not need to be "top most" (but it will be by default be created that way starting with release 12).  There are several open file type dialogs that were not practical for us to force to be top most, and so function calls to get_file(), get_run_prg(), and dual_list_exec() will need to be reviewed within any application that uses them to add SetWindowPos() calls before and after their use.  Any use of exec and the TShellEXE will also need to be reviewed and tested.  See the help documentation for more information.  For the most part, relatively few changes should be required.

TAS Premier 7i release 12 published today

So release 12 is being published today with the extended "WinForm" styles as mentioned above, and it will also be the basis for the next major release of Advanced Accounting.  In addition to the SetWindowPos() function, it also includes a manifest embedded version targeted for various Microsoft operating systems including Windows 10, support for a "reply to" option in the TAS email function, a new "Page Style" band in the report designer, improvements to maintain database and other utilities including changes to issues relating to the extended form style change.  

More information:

TAS Premier 7i updates for existing installations

TAS Premier 7i download for new installations

Thursday, October 26, 2017

This file is currently not available for use on this computer

An accounting software end user today experienced the message "This file is currently not available for use on this computer" when trying to click on existing icons on two client PC's trying to launch tp7runtime.exe via a previously established network share and both using UNC paths.  The software in the installed ("gateway") PC in this workgroup still worked as expected.

The user had not made any changes other than to install an Adobe Flash Player update on one of the two client PC's.   No doubt however these PC's received recent Microsoft (and last week was a bad week for those that led to numerous problems, more than usual) and anti-virus updates (which can suddenly change settings, block ports, etc.).

All three of the PC's were Windows 7 Professional.   The network had already been established as a "public network" and naturally everything had been working without any problem until this morning.  The user had already tried re-booting the PC's on the network to see if that would resolve the problem.  It did not.

Remotely viewing one of the client PC's that could not load the software as well as the gateway PC, we noticed that the icon that launches the software that in this situation had been previously set to "Run as administrator" now had that check box grayed out.   And in trying for troubleshooting purposes to setup a new icon, Windows returned the same "file is currently not available for use" message.   In navigating the available computers to set that icon, it showed the gateway PC's computer name twice which was very odd.   We did make sure that the UAC was not getting in the way.

A net view of the gateway PC that had also been mapped as a drive letter for some reason indicated something interesting in the comments:  [Offline share].   In trying to delete the drive map, Windows responded that files were in use but viewing the gateway PC where that drive was mapped, in fact there were no open files in the shared folder.  

While we could also navigate to and view all of the files in the shared folder (and could also see the files at CMD prompt via a DIR of the UNC path), when we tried to inspect a text (INI) file by opening it in Notepad, we received the same response:

We made some minor changes to some of the network settings on both PC's, and tried to stop and start various network services on the gateway PC; the issue remained.   While the sharing and file privileges all appeared to be correct on the gateway PC, we decided to stop sharing the folder and then re-share it after first disconnecting from the offline share (after also turning off the option to share files offline which seemed to have no effect).   That was completed and we re-added "Everyone" with read/write privileges.  In doing this, Norton Internet Security installed on the gateway PC came up with a prompt indicating that because it was a public network, certain Windows services were blocked. We decided to go ahead and allow Network Discovery, File and Printer Sharing and Remote Procedure Call and Remote Procedure Call (and so they were added to the NIS exception list) which seemed logical in that it had already been established as a public network.    

Re-testing, the client PC's were then able to once again launch the tp7runtime.exe application.

There have been other reports of this issue that have involved very different solutions.

Tuesday, October 17, 2017

Inserting special characters into data input fields

Recently an accounting software user asked us how to insert special characters or symbols such as the copyright and trademark related symbols into data entry fields such as inventory descriptions.

In Windows-based systems (including Advanced Accounting), there are several ways do to this.

(1) Direct data input method:

Special characters or symbols can be entered directly into string (aka alphanumeric) fields provided that you know what the symbol or character is (more on that below).  Examples:

™  (trademark superscript) Alt-0153

®  (trademark registration) Alt-0174

©  (copyright symbol)  Alt-0169

(Proper usage of these symbols is beyond the context of this post but generally: use trademarks as verbs rather than nouns whenever possible; do not use the trademark registration symbol unless the mark is actually officially registered with the USPTO; and the copyright symbol should always be followed the year and the copyright owner and not used by itself nor without the year.) 

Detailed steps to insert a special character or symbols into a data entry field:
  • Press your keyboard's Num Lock key and/or make sure the Num Lock key is on;
  • Press and hold one of the ALT keys (with your left hand;
  • With your right hand and using ONLY the numeric key pad portion of your keyboard (and not the keys across the top), enter the four digit code (must be preceded by a zero);
  • Let go of the ALT key.

Example of the ™ symbol entered into an Advanced Accounting 7i description field

You could also enter a special symbol into the message line or a sales order or purchase order or into any word-wrapped note (memo field) in the system.

But how do you determine what the code is for the desired symbol or character?

There are on-line lists and other references for these codes, but the simplest way perhaps is to lookup the code using the Character Map option provided in all Windows operating systems.

Windows 10 Character Map after clicking on  © symbol

So in the example above, clicking on the copyright symbol provides the ALT code for that symbol.

 (2) Copy/paste method:

For more or less any source you and also copy/paste in characters.

From the Windows Character Map, an example follows:

Windows 10 Character Map clicking on the ® symbol and clicking on Select

After clicking on the desired character or symbol then click on Select and then Copy and the character is available to be pasted (CTRL-V) into the desired data input field.

Regardless of the font chosen, the font will be 'converted' to the font that has been specified for that entry object on the underlying Windows data entry form. So the font will not necessarily be rendered in the same font as the source from which it was copied.  In Advanced Accounting, the default font is Arial and that is the font therefore that the special character or object would be rendered in after pasting it into the desired field.

Word processing programs typically have similar options from which special character or symbols can be copied and then pasted.  

Microsoft Office:


Additional information for TAS Premier 7i  programmers:

End users can utilize the direct entry method with a number of different objects including:

TTASENTER, TTASComboEnter, TASMemo, TMemo, TListBox and TTASDataGrid cells that are string-based.

Further, the direct data input (ALT) method will even work with label and button captions and data grid headers in the Screen editor (as well as with label captions and objects linked to data or that have TStrings properties in the Report designer) should you need to use a special character or symbol as a caption or header.

Saturday, September 30, 2017

Form emulation with the TAS Premier Report Designer

Included with the TAS Premier development system is an integrated report designer that is based on a subset of features provided by the Digital Metaphors ReportBuilder software product.

The designer is intended to be used with program code that loads and provides the data pipeline to the report.   While not intended to be a report writer, the report setup nonetheless to a significant degree also "drives" the report.

While the designer can be launched and used as an end user tool to edit RTM layouts if provided for programs running within TAS runtime environment (in order to make basic changes for example), changes must be made with care to avoid making edits that change group fields or named objects or that add subreports or use fields related to files that are not opened in the program that the RTM was originally intended for.   Related fields may also not necessarily be available if added to the report depending on whether the underlying program code is making those related finds.   Edits could easily be made that would then cause a given report not to function at all.

While the report designer is most often used to provide traditional reports, it can also be used to include images and to accomplish form emulation including "fill in the blank" type forms.  And some objects can be used to emulate forms directly rather than via scanned images.

A brief discussion of the approach can be found here, which is further discussed below: 

There are different considerations in the report design depending on whether the form you wish to emulate is a single page or whether there are multiple pages (like various federal payroll tax forms).  It is also important to know whether or not there will be multiple records that need to be found in detail section within a single page.

Single page forms:  the simplest approach is to put everything in a detail band that is sized to the height of the page, eliminating all other report sections.    In this design, each record (or values accumulated into memory via temporary variables) is associated with a single form page.

If a variable number of records are required to complete the form, a different approach is required that involves use of a Page Style report band.  A Page Style band is like a Title,  Summary, Header, Detail or Footer band but was something not available in prior releases of TAS Professional and TAS Premier. 

Starting with release 12 of TAS Premier 7i that will be made available later this year, a Page Style band will be supported in the report designer as shown below.
Page Style band in rel. 12 of TAS Premier 7i
Page Style bands can also be used to add watermarks to invoices and other documents.  The Page Style band generates behind all of the other bands of a report.

Multi-page: similar considerations apply except that with multi-page forms, the page height bands, whether Detail or Page Style, each page needs to be separated into subreports.  The main layout page might have nothing more than a detail band with two or more subreports each of which might print a full height page.  Driving the report, in the simplest approach, just one record (or a single set of memory variables), might trigger the printing of both pages.  

For more details, see the detailed example at the end.

The possibilities for form emulation are almost endless.

Miscellaneous tips and comments:

Images:   A compromise between image size and printer overhead might be taken into consideration, however, we have used fairly large scanned forms in the 4 to 8 meg range and have not seen much of a performance difference.  The sharper the scan, the better the printer output quality.   We have found that bitmap (BMP) image files work very well for most forms.   Note that when using an image to take up basically the entire height/width of a page, it is best to first apply these properties to the image object: 

Uncheck Center
Check MaintainAspectRatio
Check Stretch

Next place the TppImage object in the upper left hand corner of the Detail or Page Style band you will be using.  Then with your mouse, pull the image down to the bottom of the band and then to the right.   

To optimally size the image, you may use digital editing software tools before bringing it into an RTM. For form emulation, you will want to use a TppImage (see Image object below) rather than a TppDBImage (not shown below).
Manually creating your own forms using shape objects:   Using the Shape and Line tools, you can create boxes and lines to mimic many types of forms.  You can even create "graybar" regions that alternate in the body.  (See example below.)

Forcing regions to fall behind Shape and Line objects requires a few steps. It is important to first uncheck the On Print Control Flag.  (Normally regions need "on print" control so it depends on what you are trying to accomplish.)   For a blank area on the form that will not be populated with any field values, turn it off or else it will not appear on the report output.  Also:

Blank out the default Caption name
Under Brush then Color choose a light gray color or create your own grayscale or other color
Under Pen, in the Style drop down, choose the "blank" (empty) style which is the sixth item down.

Region properties
Gray region example
After placing the region on top of a Shape object:

Right click on the region and choose Send to Back
Next choose (with a mouse left click) the Shape object and then right click on the same object and choose Send to Front, and finally right click again and choose Send to Back

The region will now be "behind" the Shape object as shown below:
Manually created form using Shape, Line, Region and Label objects.  The six regions above are all behind the shape and line objects.

Report previews:   when viewing the report in a preview, included image quality isn't the same as when the document is printed to a printer (or to a PDF) due to the way that images are rendered to the screen.  Don't worry if the report form doesn't look as sharp in the preview as expected.

Multi-page example

Two subreports on the main report designer page/tab with a detail band only. Add additional subreports if your form is more than two pages long.

The detail band of the main report page should be set to a dynamic print height.

Since the main report page is considered to be tag 1 by default, the first subreport is tag 2.  The tags are important and are referred to in program code.

The second report is tag 3 and also, note that subreport 2 must shift relative to the first subreport (otherwise it would print on top of the first subreport).  So, the ShiftRelative Property for the second subreport is a critical property.

Clicking on the first subreport tab.  The subreport for a form only would have only a detail band (or instead only a Page Style band).

Assuming a full page form, set the print height to be static and the height to take up the entire page. The height indicated is assuming a 0.5" bottom margin and 0.25" top margin so the subreport height is set to 10.25".
Clicking on the second subreport tab.  It too would only have a detail band.

As with the first subreport, set the print height to be static and the overall height to take up the full size of the page.

The TAS program code (placed in the Program editor and compiled) to generate the example above might look something like this (note how little code is required to setup and output the report and generate a print preview):

Note this is a simplistic example with no selection screen - normally there would be a #winform compiler directive followed by the screen name at the top of the program.

#winreport MultiPageFormEmulation

//define fields and open files which is this example 
//would have to occur in the implied start label


setup_report_buff rb_num 1 reportname '
setup_report_buff rb_num 2 link_to 1
setup_report_buff rb_num 3 link_to 1

output_report_data rb_num 1

//now setup typically a SCAN data structure with desired logic
//to provide whatever data is desired to appear on the forms

//scan structure
   //rb_num 2 corresponds to the subreport1 tag
   output_report_data rb_num 2
   //rb_num 3 corresponds to the subreport2 tag
   output_report_data rb_num 3

//output the report
print_report use_printer



Monday, August 7, 2017

July 2017 state withholding tax changes

A few states have implemented mid-year state income tax withholding rate changes.  These include:


As of July 1, the withholding rate has increased from a flat 3.75% to 4.95%.   The supplemental wage rate has similarly increased.  The basic allowance has increased slightly from $2150 to $2175 (the additional allowance of $1,000 has not changed).  

Illinois users of Advanced Accounting's payroll module will need a program update from us in order to implement this change.  Contact us as 800-648-6258 or send an e-mail to

More information:


Tax table percentage rates as well as base tax amounts have decreased effective July 1 for both "single" and "married" employees.  The earnings ranges for employees with a "married" status also was expanded.

The standard deduction remains at $2,250 (as it has since at least the year 2000).

The supplemental wage rate (assuming the federal supplemental wage rate is also used) remains at 5%.

Kansas users only need to update their KSS and KSM tax codes in Advanced Accounting's PR-K (maintain tax tables) option to correspond to the annualized rates outlined here:

If you need assistance, please contact us at 800-648-6258 or e-mail us at   We have also updated Advanced Accounting's tax tables for Kansas.

More information:

Other notes:

New York City made some mid-year tax table changes but the New York state tax table changes for the state that went into effect January 1, 2017 have not changed. Standard deduction amount changes went into effect January 1, 2017 and those were incorporated previously into our January 2017 Advanced Accounting payroll update. The supplemental wage rate for the state of New York of 9.62% remains in effect as it has since at least 2014 when we added supplemental wage rate support for a number of states into the latest version of Advanced Accounting.  More information with respect to New York is at:

A number of states have made changes to either the handling of state withholding taxes (for example, in Nebraska, state withholding tax deposits as of July 1, 2017 have to be made electronically) or have made other non-withholding state tax changes.   We recommend making a quick check of your state's tax agency web sites to ensure compliance.

Monday, July 31, 2017

ABC concludes successful 28 year run

Our congratulations go out to our long-time customer American Battery Charging, Inc. of Smithfield, Rhode Island for concluding a successful run, ending with the sale of their business to a third party.  Their last day of operations in Rhode Island was in early July of this month.

American Battery was an Advanced Accounting 5.1 user from 1996 to 2017 and we enjoyed working with them in support of the accounting package and in making various custom modifications most of which were made in June of 1999 and which remained in continuous use until this month.  A heavy bills of material user, they made significant use of the ability of Advanced Accounting to nest BOM's up to nine levels deep.  In order to do this, the software makes a recursive subroutine call that is unique to the BOM module.

They had intended to upgrade to the latest version but initially in its implementation with their data we jointly discovered an issue with builds in the spring of 2013 that were more than three levels deep which was later resolved later that same year and which resulted also in other significant enhancements to the build process in the newer version.   In view of their future plans, they elected to continue to use the 5.1 version.

The data in their 5.1 system was ultimately made available for querying via SQL, allowing pertinent data to be carried over into the financial system used by the acquiring company.

Our best wishes to go out to the former employees and owners, some of which were ready for retirement, and some of which have stayed with the acquiring company.   

Friday, June 23, 2017

TAS and Advanced Accounting in the beginning

Many of our current customers began using the TAS development system originally developed by Business Tools, Inc. and the early versions of the accounting software called TAS Accounting Software (and TAS-Books, later Books, and Advanced Accounting) after seeing advertisements that ran in the 1985 to 1987 time period ( which continued into the early 1990's) in periodicals such as PC Magazine and InfoWorld.

The introduction of a low cost (under $100) fourth generation language with an integrated screen editor, program and report generator, data dictionary and runtime compiler was ground breaking.  It also pushed back against the "copy protection" schemes of that era. 

And including the source code with the purchase of the accounting software (a practice which Business Tools continued into the late 80's and also the early 90's with their second and third major releases) was also somewhat revolutionary. 

Advanced Accounting today remains a modifiable accounting software system.

We appreciate the loyalty, and celebrate the longevity of, the continuing TAS/Advanced Accounting end user customer base.

PC Magazine October 29, 1985
TAS Hard-Nosed Database plus optional TAS Accounting Software bundled with source code
TAS 1.0 (Level 1/2/3 releases)

InfoWorld September 22, 1986
TAS-Plus (aka TAS 2.0)

PC Magazine May 13, 1986
TAS-Plus, TAS-Books, Advanced Accounting
One of the earliest uses of the Advanced Accounting trademark

PC Magazine February 10, 1987
TAS-Books vs. Dac-Easy
TAS-Books was developed using TAS-Plus (TAS "2.0")

PC Magazine January 28, 1992
Advanced Accounting 3.0 (developed with TAS Professional 3.0)

PC Magazine April 14, 1992
Advanced Accounting 3.0 (developed with TAS Professional 3.0)