Cadzow 2000 Printing Issues
Error While Printing Invoices & Statements
When printing Accounts Receivable (or Accounts Payable) statements (or saving to a Snapshot file), the process may quit silently, or produce an error message: “Cadzow 2000 [version] - [Database name] can't find the field 'Forms' referred to in your expression”.
This may occur if a department uses a logo on its letterhead which cannot be rendered properly.
Logos which previously caused no problem may start to cause problems if the printer driver is updated or the operating system is changed or updated. Printer drivers in particular can create problems rendering different data streams, most commonly embedded fonts and scanned images in PDF files.
Possible resolutions include:
- Upgrade the printer driver.
- Use a different printer. You need not have a second printer physically installed, simply install another driver for a non-existent printer on LPT1. Use a simple driver such as Epson LQ-500 or HP Laserjet III. Set the default printer to this printer, close and re-open Cadzow 2000 and try again.
- Change the graphic embedded in the logo. Although Cadzow 2000 stores logos as an OLE object, the data stream of the original image is preserved. If it was a JPG, the embedded image will still be a JPG. Try saving the graphic in another format, copy the file to memory then paste it into the logo section. JPG, TIFF and PCX are most likely to be problematic, so try using BMP, which is closer to the native way pages are rendered.
- Check the registry that certain image streams have not been disabled from rendering. Keys to block BMP, GIF, PNG, ICO, TIFF and JPG are listed under HKLM\SOFTWARE\Microsoft\Gdiplus and WMF/EMF are listed under HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize.
Error 2202 When Printing or Previewing Reports
When attempting to print or preview a report, you receive the following error message: “2202 You must set a default printer before you design, print or preview” or “This computer does not have a default printer setup”. If you set the default printer to another printer, the problem does not occur. Printing from other Windows applications also fails.
This might occur because the printer driver is trying to change a setting in the registry but the logged-on user does not have appropriate permissions (ie. most likely, a non-administrator).
To resolve, try the following in order:
- Set another printer as the default, then set the original printer back to the default;
- Log in as an Administrator, open Registry Editor (or open it in elevated mode), navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\<Name of printer>. In the left-hand pane, right-click the key, choose Permissions, and give the user permission to alter the values. The simplest method is likely to be granting Full Control to the Users group. Click OK. Log back in as the user, try the printing operation again. If successful, the permission change may be undone.
However, if the problem is occurring in a Remote Desktop session, with a redirected printer, the key is created and then deleted when the session is closed. Thus the permission change will not last. In this case, it is necessary to set the Full Control permissions to the parent key, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers instead. Thus each new key created will inherit the appropriate permissions.
- Another cause of this problem might be a missing registry key. See KB933996 and KB307016.
No Default Printer
Cadzow 2000 may report there is no default printer attached, despite the fact Windows has a default printer.
This may occur in Remote Desktop (Terminal Services) sessions where the driver installed on the server and the driver on the client do not match, although the drivers may match enough for the Remote Desktop client to perform remote printer mapping. The solution is to ensure the drivers are identical on server and client. However, upgrading the drivers may not be sufficient. Delete the drivers on the client and install fresh.