.title "System" .id 314120040831094817 .tags "manual" .body { dummy } /default_notify_dialog_help { .title "This is a notification message." .id default_notify_dialog_help .tags "dialog" .body { [p { This dialog is a simple notification. Read the message and then dismiss it. }] } } /default_confirm_dialog_help { .title "You are being asked to confirm an operation." .id default_confirm_dialog_help .tags {dialog confirm} .body { [p { This dialog is asking you to confirm an operation. Read the message provided for a description of the operation. }] [ul { [li { [p { Click [qw_button [qw_s_args .button_ok]] to perform the operation. }] [p { Note that you are asked for confirmation only for a significant operation, or an operation that is essentially irreversable. So pay attention and read the dialog message before proceeding. }] [p { If still in doubt, click [qw_button [qw_s_args .button_cancel]] to abort the operation and dismiss the dialog. }] }] [li { [p { Click [qw_button [qw_s_args .button_ok]] or press [qw_key Esc] to dismiss the dialog. }] [p { The dialog window will be dimissed without performing the operation. }] }] }] [/* { too many notes [p { Click [qw_button [qw_s_args .button_ok]] to perform the operation. This button may be labeled with text that more closely describes the operation to be performed but it should be self-evident. It will always be the left-most button in the confirmation dialog. }] [p { Click [qw_button [qw_s_args .button_cancel]] or press [qw_key Esc] to dismiss the confirmation window and return to normal operation. }] */ }] } } /default_list_dialog_help { .title "You are being asked to select an item from a list." .id default_list_dialog_help .tags "dialog" .body { [p { You are being asked to select an item from a list. Position on the item and when ready click [qw_button [qw_s_args .button_ok]]. You can also [qw_button "double-click"] on the desired item or press [qw_key Enter] or [qw_key SpaceBar] to select the highlighted item. }] [p { Click [qw_button [qw_s_args .button_cancel]] or press [qw_key Esc] to dismiss the selection window without selecting an item. }] } } /default_file_dialog_help { .title "You are being asked to select a directory or file." .id default_file_dialog_help .tags "dialog" .body { [p { You are being asked to select a folder or file. Position on the desired folder or file and when ready click [qw_button [qw_s_args .button_ok]]. You can also [qw_button "double-click"] on the desired item or press [qw_key Enter] or [qw_key SpaceBar] to select the highlighted item. }] } } /default_date_dialog_help { .title "You are being asked to select a date." .id default_date_dialog_help .tags "dialog" .body { [p { You are being asked to select a date. Position on the date and when ready, use any of the following methods to select it. }] [ul { [li { [p { Click the [qw_button [qw_s_args .button_ok]] button. }] }] [li { [p { [qw_button "double-click"] on the date. }] }] [li { [p { Press [qw_key Enter]. }] }] [li { [p { Press [qw_key SpaceBar]. }] }] }] [p { Click [qw_button [qw_s_args .button_cancel]] or press [qw_key Esc] to dismiss the calendar without selecting a date. }] [h2 "Calendar Movement Keys"] [table { [tr { [td { [qw_key "LeftArrow"] or [qw_key "Ctrl-S"] }] [td { Move back by one day. }] }] [tr { [td { [qw_key "RightArrow"] or [qw_key "Ctrl-D"] }] [td { Move ahead by one day. }] }] [tr { [td { [qw_key "UpArrow"] or [qw_key "Ctrl-E"] }] [td { Move back by one week. }] }] [tr { [td { [qw_key "DownArrow"] or [qw_key "Ctrl-X"] }] [td { Move ahead by one week. }] }] [tr { [td { [qw_key "PageUp"] or [qw_key "Ctrl-R"] }] [td { Move back by one month. }] }] [tr { [td { [qw_key "PageDown"] or [qw_key "Ctrl-C"] }] [td { Move ahead by one month. }] }] [tr { [td { [qw_key "Ctrl-PageUp"] }] [td { Move back by one year. }] }] [tr { [td { [qw_key "Ctrl-PageDown"] }] [td { Move ahead by one year. }] }] [tr { [td { [qw_key "Home"] }] [td { Move to the first day of the month. }] }] [tr { [td { [qw_key "End"] }] [td { Move to the last day of the month. }] }] [tr { [td { [qw_key "Ctrl-Home"] }] [td { Move to the first day of the year. }] }] [tr { [td { [qw_key "Ctrl-End"] }] [td { Move to the last day of the year. }] }] }] [h2 "Limitations"] [p { The calendar is currently limited to the date range Jan 01, 1904 to Dec 31, 2036. This limitation will be eliminated in subsequent versions of NV2. }] } } /314120050320151910 { .title "Multi-user NewViews 2.0 for Windows Installation" .id 314120050320151910 .tags "dialog" .body { [h2 "Welcome to Multi-user NewViews for Windows (NV2)."] [p { You are guided through each step of the installation by pressing the [qw_button Next] button. }] [p { There is only one NV2 program, but it can run as either a workstation or server so there is no separate server installation. }] [h2 "What will be required from you during installation?"] [ul { [li { [p { Read and accept the license agreement. }] }] [li { [p { Decide whether to install for an individual computer user or for all users. }] }] [li { [p { Select an installation folder. }] }] }] [p { Help is provided at each step by clicking the [qw_button "Help"] button or pressing the [qw_key "F1"] key. }] [h2 "Installing an Update"] [p { If you already have a serial number then you are already registered and we assume you are installing are installing a NewViews update that has been recently downloaded from Q.W.Page. After the install, you should be ready to go. You do not need to register again. }] [h2 "Installing for the first time."] [p { If this is your first time installing NV2 then you are required to register with Q.W.Page to obtain a serial number at some point after you install. }] [p { After installation there will be a Windows start menu item for NV2 registration. However, you can use NV2 to get started even without a serial number. NewViews can be used for evaluation purposes, to explore existing databases, and to create and set up new databases. However, customer support is not available until you have registered and have a serial number. }] [h2 "What does the installation install?"] [p { The installation will create one program file named similar to [bold nv2.exe], and one folder, similar to [qw_directory nv2.dat], in the installation folder. The actual number in the file and folder name will change as the version changes so that multiple versions can co-exist. The nv2.exe file is the NV2 program. A number of other files required by NV2, such as help files, are stored within the nv2.dat folder. Items are also added to the Windows start menu. That's it. }] [h2 "Some things the installation does NOT do."] [p { The installation installs the NV2 program. However it does not create or set up databases, i.e. sets of books. You create and set these up after the installation when you run a NV2 workstation. }] [ul { [li { [p { Install does NOT touch the Windows registry. }] [p { NV2 does not change your registry in any way. Nor does NV2 use the registry except to look up some system related settings such as sound file locations. }] }] [li { [p { Install does NOT require a computer restart. }] [p { The installation does not touch the registry or perform any similar tasks that require a computer restart. }] }] [li { [p { Install does NOT require shutting other programs. }] [p { Actually, you might have to shut NV2 itself if you already have it running. }] }] [li { [p { Install does NOT in any way interfere with DOS NewViews. }] [p { You can even install in the same folder used for DOS NewViews. NewViews for Windows does not in any way conflict with DOS NewViews. }] }] }] [p { You are guided through each step of the installation by pressing the [qw_button Next] button. }] } } /314120050422173210 { .title "Please choose a non-empty folder name." .id 314120050422173210 .tags "error" .body { [p { You specified an empty folder. You have to specify a non-empty installation folder before NewViews can be installed. }] } } /314120050422171126 { .title "Spaces are not allowed in the installation folder path." .id 314120050422171126 .tags "error" .body { [p { [/* { We allow spaces now, since 2.09 i think, so this page can be deleted. */ }] Spaces were found in the folder [qw_quoted [qw_directory [qw_s_args .directory]]] that you specified. Spaces are not allowed. Please choose another folder. }] [p { We have found in practice, that spaces in the installation folder path cause more trouble than they are worth, by far. So, for example, don't try to install in [qw_quoted [qw_directory "Program Files"]]. You can still use spaces in the folder names used for databases (sets of books), but we recommend against it for similar reasons. Although Windows allows spaces in file and folder names and under normal circumstances they do not cause problems, they do tend to be a nuisance under many other circumstances. For example, handling folders that contain spaces is cumbersome in the [qw_term "Command Prompt"]. }] } } /314120050422174134 { .title "XXX is not a folder." .id 314120050422174134 .tags "error" .body { [p { [qw_directory [qw_s_args .directory]] exists and it is not a folder. NewViews has to be installed in a folder. Please choose another folder. }] } } /314120050422174135 { .title "XXX is on a drive that cannot be written." .id 314120050422174135 .tags "error" .body { [p { It appears that folder [qw_directory [qw_s_args .directory]] is on a non-writable drive. NewViews must we installed on a drive that can be written. Please choose a folder on another drive. }] } } /314120050320152002 { .title "Multi-user NewViews 2.0 for Windows Installation" .id 314120050320152002 .tags "dialog" .body { [h2 "We recommend you install for all users (i.e. the administrator)."] [p { Always select the all users option unless it is grayed out. }] [h2 "If [qw_quoted {Install for all users}] is disabled."] [p { In this section, the term [qw_term administrator] refers to the Windows computer user with that name, and not to the special user by the same name in a NewViews database. }] [p { If the [qw_quoted "all users"] option is disabled (grayed out) then you have to follow the steps outlined in this section. What it means is that you are not the Windows [qw_term "administrator"], or have not logged on to the computer as [qw_term "administrator"]. But you should still install NewViews as the administrator by using the Window's [bold "Run As"] command. This will give you temporary rights as the Windows administrator during the install operation. }] [ol { [li { [p { Exit the installation program. }] [p { Press [qw_key Cancel] to exit. You will be asked to confirm the exit. }] }] [li { [p { Close this help window. }] [p { If you leave this help window active, then you will get an error message during the installation and you can close it at that time without any harm. We simply cannot install the help while you are using it. You can pop this help up again during the install if you need it, or you can print it right now for future reference. }] }] [li { [p { Position on the NewViews installation file in a Windows Explorer. }] [p { This installation program will be found in the folder where you downloaded it. It has a name like [qw_directory nv2.00.0.20040526-win32-ix86.exe]. The exact name may differ depending on the version downloaded. }] }] [li { [p { Press [qw_key SHIFT] and hold it while you [qw_button right-click] the installation file. }] [p { A Windows command menu will pop up. }] }] [li { [p { Click [bold "Run as"] or [bold "Run As Other User"]. }] [p { The menu item will be [bold "Run as"] on Windows 2000, or [bold "Run As Other User"] on other Windows versions. If the [bold "Run As"] command is disabled contact your organization's IT department. Otherwise a Windows dialog will pop up. }] }] [li { [p { Click [qw_field_name "The following user:"] radio button. }] [p { A Windows dialog pops up asking [qw_quoted [bold "Which user account do you want to use to run this program?"]]. Below it are radio buttons. Click on [qw_field_name "The following user:"]. }] }] [li { [p { Select [qw_field_value "Administrator"] from the drop-down list of users. If [qw_field_value administrator] doesn't appear in the drop-down list, type it in. }] }] [li { [p { Enter the administrator password. }] [p { You may have to get the administrator password from your IT department, or have your IT department perform the installation. }] }] [li { [p { Enter the [qw_field_name "Domain:"], if any. }] [p { If [qw_field_name "Domain:"] appears you also have to specify it. Consult your IT department for assistance. }] }] [li { [p { Click [qw_button OK]. }] [p { The installation program should run under the administrator user. Perform the installation as usual. This time the [qw_quoted "all users"] option should not be disabled. }] }] }] } } /314120050320152006 { .title "Multi-user NewViews 2.0 for Windows Installation" .id 314120050320152006 .tags "dialog" .body { [h2 "Choose the installation folder."] [p { Choosing the installation folder is the most important decision you will make during the installation process. We have offered a default folder for the installation but if you think NewViews should be installed elsewhere, read the guidelines below. }] [h2 "We recommend [qw_directory c:/nv]."] [p { If you have any doubt at all, just use the folder [qw_directory [::file join c:/ nv]]. You can use a different drive letter of course. This will make it easier for others, including Q.W.Page customer support, to find your NewViews installation and to assist with problems. }] [h2 "Note to NewViews 1.XX for DOS Users."] [p { You can install in the same folder where you installed DOS NewViews. NewViews does not interfere with or have any conflicts with DOS NewViews. In fact, if this installation program finds the DOS NewViews folder it will offer it as the default installation folder. }] [h2 "Some additional guidelines."] [ul { [li { [p { Use a short folder path. }] [p { Paths are often displayed in titles, error messages, and so on. In addition, by default, your accounting databases are kept under the installation folder. So using an installation folder with a long path will be an inconvenience in the long run. }] }] [li { [p { Do not use special characters. }] [p { Special characters are allowed in file and folder names and under normal circumstances they do not cause problems. However, they do tend to be a nuisance under many other circumstances. Special characters interfere with command line arguments and make the use of masks for folder searches difficult. So stay away from special characters. }] }] [li { [p { Spaces are not allowed. }] [p { We have found in practice, that spaces in the installation folder path cause more trouble than they are worth, by far. So, for example, don't try to install in [qw_quoted [qw_directory "Program Files"]]. You can still use spaces in the file paths used for databases (sets of books), but we recommend against it for similar reasons. Although Windows allows spaces in file and folder names and under normal circumstances they do not cause problems, they do tend to be a nuisance under many other circumstances. For example, handling folder paths that contain spaces is cumbersome in the [qw_term "Command Prompt"]. }] }] }] } } /314120050320152334 { .title "Multi-user NewViews 2.0 for Windows Installation" .id 314120050320152334 .tags "dialog" .body { [h2 "The installation of the NV2 program completed successfully."] [p { The installation created a Windows start menu item named [qw_term "NewViews 2.0"], under which you will find other items such as [qw_term "Workstation"] and [qw_term "Server"] that you can run now. }] [h2 "Register NV2 with Q.W.Page."] [p { To register NV2 run [qw_menu_command "NewViews 2.0" "Register"] from the Windows start menu. }] [p { You register NV2 with Q.W.Page to obtain a serial number. If you do not already have a serial number, then you have not registered. If you do have a serial number then you are registered and registering again is not necessary. }] [p { Even without a serial number you can use NV2 for evaluation purposes. You can even create and set up accounting databases. However, the product will eventually reach its evaluation limit and at that point databases will become read-only. Also, customer support is not available until you have a serial number. }] } } /314120050404072740 { .title "Do you want to install NewViews in XXX?" .id 314120050404072740 .tags {dialog confirm} .body { [h2 "Install NewViews in folder [qw_directory [qw_s_args .directory]]?"] [p { Click [qw_button [qw_s_args .button_ok]] to install NewViews in folder [qw_directory [qw_s_args .directory]]. Cancel to return to the installation dialog if you wish to change the installation options or cancel the installation. }] } } /314120050429122913 { .title "Do you want to replace NEWER version in XXX?" .id 314120050429122913 .tags {dialog confirm} .body { [p { You are about to install NewViews $::qw_version.$::qw_patch_level.$::qw_build. }] [p { The selected installation folder is [qw_directory [qw_s_args .directory]]. }] [p { The NewViews program currently in that installation folder is dated [qw_field_value [::qw::date::format [qw_s_args .current_program_date] {%b %d, %Y}]]. }] [p { The release date of the program you are about to install is [qw_field_value [::qw::date::format $::qw_build {%b %d, %Y}]]. }] [p { The installation detected that the NewViews program currently in the installation folder is [qw_term newer] than the version you are about to install. Installing may therefore replace a newer version of NewViews with an older version. }] [p { Since there may be any number of valid reasons why you might want to install an older version, the installation will be allowed. But we bring it to your attention so that you will be aware of what you are doing. }] } } /314120051216082654 { .title "Do you want to exit without installing?" .id 314120051216082654 .tags {dialog confirm} .body { [p { Confirm that you want to exit the NewViews installation program. }] [p { Click [qw_button [qw_s_args .button_ok]] to exit the installation program. Nothing will be installed. }] [p { Click [qw_button [qw_s_args .button_cancel]] to dismiss the confirmation window and resume the installation. }] } } /314120050217103703 { .title "Could not run NewViews." .id 314120050217103703 .tags {error} .body { [p { The NewViews program was unable to run because an error was encountered during the boot process. The NewViews program will exit when you dismiss the error message. See below for more. }] } } /314120050401144520 { .title "Could not install file XXX." .id 314120050401144520 .tags {error} .body { [p { The file [qw_directory [qw_s_args .file_path]] could not be installed. You are probably running NewViews right now or viewing NewViews help or the manual. Although you don't have to shut other programs before installing NewViews, you do have to shut down NewViews itself, and you have to close all help windows, including the manual. }] [p { Shut down the running NewViews program and help windows and try again. You do not have to shut down and re-start the installation program. Also, you do not have to close any help windows for the installation itself. }] } } /314120050401133659 { .title "Could not copy a file to the installation." .id 314120050401133659 .tags {error} .body { [p { The file that could not be copied should be displayed in the error message and from that file you should be able to determine the cause of the problem. Usually, the installation fails to copy a file because you are currently running NewViews, or you may be viewing NewViews help. Finally, you may have Excel open on a file that is interfering with the installation. }] [p { If the file type is [qw_quoted [qw_directory .exe]] then your are probably running the NewViews program. Shut down the running NewViews program and try again. You do not have to shut down and re-start the installation program. }] [p { If the file type is [qw_quoted [qw_directory .chm]] then you are probably using the help, likely on the NewViews manual. Shut down any NewViews windows and try again. You do not have to shut down and re-start the installation program. }] [p { If the file type is [qw_quoted [qw_directory .xls]] then you are probably using Excel on a file or folder and that is interfering with the installation. Shut down Excel and try again. You do not have to shut down and re-start the installation program. }] } } /314120050217091431 { .title "Detected uncontrolled changes in XXX." .id 314120050217091431 .tags {error} .body { [p { NewViews maintains controlled registration information. Any attempt to modify this information in an uncontrolled manner results in the inability to run the NewViews program. Contact Q.W.Page customer support for assistance. }] } } /314120050416131624 { .title "Detected uncontrolled changes in file XXX." .id 314120050416131624 .tags {error} .body { [p { NewViews detected uncontrolled changes in file [qw_directory [qw_s_args .file_path]]. In order to maintain database integrity NewViews does not allow uncontrolled changes in certain files. Uncontrolled changes are any changes made by a program other than NewViews or an authorized utility program supplied by Q.W.Page. }] [p { If the file is a NewViews database, then that database has been rendered unusable. You must restore the database from a backup copy. Contact Q.W.Page customer support for further information. }] } } /314120050217160957 { .title "Attempted an invalid login." .id 314120050217160957 .tags {error} .body { [p { The attempted login was invalid. You are not being given the reason because that would be a security breach. However, the most common reasons are: }] [ul { [li { [p { There is no such user in the specified database. }] }] [li { [p { An invalid user password was specified. }] }] }] } } /314120050220152701 { .title "NewViews is not registered." .id 314120050220152701 .tags {dialog notify} .body { [p { This NewViews installation is not registered. The serial number has not been set. Having a serial number and being registered are equivalent. The act of registering is in fact the act of obtaining a serial number. }] [p { You can click [qw_button "Enter NewViews"] to run as usual. However, you will be in [qw_term "evaluation mode"] as described below. }] [h2 "NewViews is in [qw_term {Evaluation Mode}]"] [p { NewViews will run before registering and it will have full functionality, allowing it to be used for evaluation purposes. Eventually, however, NewViews will reach the end of evaluation mode. When that happens, database access will become [qw_term "read-only"]. }] [h2 "Please register NewViews."] [p { To register, select [qw_menu_command "NewViews" "Register"] from the Windows start menu. You will be guided through the registration process. }] [p { To review the license agreement issue the [qw_menu_command "Help" "License"] command. }] [h2 "How evaluation mode works."] [p { When in evaluation mode you have access to the full functionality of NewViews with the following exceptions: }] [ul { [li { [p { The number of changes made to any particular database is limited. }] [p { Once a particular database has reached its evaluation limit, it can still be accessed from an unregistered workstation. However, such access will be read-only. }] }] [li { [p { All access through an unregistered server will be read-only. }] [p { You can run an unregistered NewViews as a server, and workstations can use that server to access databases. However, all such access will be read-only whether the workstations are registered or not. }] }] }] [h2 "Why evaluation mode works this way."] [p { Q.W.Page based the evaluation limit on database activity for a number of reasons that we consider to be benefits: }] [ul { [li { [p { When NewViews is downloaded and installed, it is automatically in evaluation mode until it is registered. There is no need for a separate evaluation copy of the program or a separate download. When you register, you do not need to download or install again. The only thing that happens is that the serial number is set. }] }] [li { [p { There is no need to touch the Windows registry or otherwise hide information somewhere on your computer. }] }] [li { [p { All information entered in evaluation mode is [qw_term "real"]. None of the work you do is wasted. }] }] [li { [p { There are no limits based on the time or date that can expire "on the shelf", or unexpectedly while testing the product. By basing the limit on the volume of activity we can better ensure that the volume of activity will be sufficient to properly evaluate the product. }] }] [li { [p { There is a single limit on activity, instead of an overwhelming number of arbitrary limits such as dollar amount limits, or maximum numbers of transactions, users, employees, reports, accounts etc., or specific functionality limits such as inability to print, or sort, or delete, and so on. These would be confusing, and would impair your ability to evaluate. Until you reach the single evaluation limit, you have unrestricted functionality. }] }] }] [h2 "So what is the evaluation limit actually set to?"] [p { We thought you might ask. The limit is set to $::qw::control(evaluation_limit). That means you can make up to $::qw::control(evaluation_limit) changes to objects in the same database before the limit is reached for that database. A change is considered to be the creation of a new object, modifying an existing object, or deleting an object. The objects can be of any type. We think that should give you ample opportunity to evaluate NewViews. Note that this limit is subject to change in future versions. }] [p { Remember, the evaluation is [qw_term "per database"]. Just because the limit was reached for one database does not affect your ability to continue evaluating using another database that has not reached its limit. You can also make a backup of a database, evaluate using the database until you reach its limit, and then restore the database from the backup copy. This effectively resets the evaluation limit for that database and lets you continue evaluating. }] [p { The other side of the same coin is that evaluation mode is not viable for sustained commercial use due to the ongoing nature of databases in general, and accounting databases in particular. An accounting database will need more than $::qw::control(evaluation_limit) additions and modifications to become truly useful in a commercial sense. }] [h2 "Note for NV1 (DOS NewViews) users."] [p { You can import an NV1 set of books into an NV2 database whether you have a serial number or not. The importer is not controlled by the evaluation limit. Nor does it affect the evaluation limit. This has been done for those of you who are NV1 users so that you can import your data and check it out under evaluation conditions. Q.W.Page would like to take this opportunity to thank you for your past and continuing loyalty. }] } } /314120050222131550 { .title "Access to database XXX is currently read-only." .id 314120050222131550 .tags {error} .body { [p { Your access the this database is currently read-only and changes to accounting information are prohibited. The reason your access to the database is read-only and the way to regain read/write functionality should be explained in the help below. }] } } /314120050222122224 { .title "The annual database registration expired on XXX." .id 314120050222122224 .tags {error} .body { [p { The annual database registration expired on [qw_field_value [::qw::date::format [qw_sargs .expiry_date] {%d %b %Y}]]. Further changes to this database are prohibited until the annual database registration is renewed. You can continue to access the database in read-only mode. }] [p { This situation can be rectified with a single phone call to Q.W.Page customer support at [qw_field_value "905-946-9460"]. }] } } /314120050217163526 { .title "This NewViews installation has been registered for a different computer." .id 314120050217163526 .tags {dialog notify} .body { [p { This NewViews installation is registered but not for this computer. This situation may arise when a registered NewViews installation is copied from one computer to another. }] [p { You can rectify this situation by calling Q.W.Page customer support. If you are simply moving your installation from one computer to another, Q.W.Page customer support will be able to help you out immediately. However, if you installed the same NewViews serial number on multiple computers for simultaneous use, there may be limitations. To review the license agreement issue the [qw_menu_command "Help" "License"] command. }] [p { In the meantime, you can click [qw_button "Enter NewViews"] to run the program as usual. However, NewViews will be read-only. }] } } /314120051216093539 { .title "Could not authorize the version of NewViews you tried to install." .id 314120051216093539 .tags {error} .body { [p { The installation serial number is [qw_field_value [qw_s_args .registration_serial]]. }] [p { The program registration date is [qw_field_value [::qw::date::format [qw_s_args .registration_date] "%b %d, %Y"]]. }] [p { The installation release date is [qw_field_value [::qw::date::format $::qw_build "%b %d, %Y"]]. }] [p { There appears to be some confusion about whether this installation is authorized to use the version of NewViews that was about to be installed. Please contact Q.W.Page customer support to ensure that your program registration has been properly recorded. It would help if you have the information displayed above available at the time you call. The most likely reason for the problem is that you registered NewViews but the registration information was not properly recorded by Q.W.Page. We apologize in advance if this is the case. }] [p { The reason we believe there is a problem is that the release date of the NewViews version you tried to install is after your program registration date, as indicated above. Since it is uncertain how this could occur, we are extremely reluctant to install a version of NewViews until the situation is resolved. Installing a new version of NewViews under these circumstances could force your installation into read-only mode, and we want to avoid this situation if possible. }] [/* { Customer Support. We believe that this customer's serial number was not properly added to the Q.W.Page registration database. The customer registered but the customer serial number does not appear to have been entered in the database. Perhaps the database crashed and the record was lost. If it is true that the serial is missing from the QW database then check the customer order out and re-register the customer under a new serial if everything checks out. */ }] } } /314120051216133748 { .title "Could not authorize the version of NewViews you attempted to run." .id 314120051216133748 .tags {error} .body { [p { The installation serial number is [qw_field_value [qw_s_args .registration_serial]]. }] [p { The program registration date is [qw_field_value [::qw::date::format [qw_s_args .registration_date] "%b %d, %Y"]]. }] [p { The installation release date is [qw_field_value [::qw::date::format $::qw_build "%b %d, %Y"]]. }] [p { There appears to be some confusion about whether this installation is authorized for the version of NewViews that was about to be run. Please contact Q.W.Page customer support to ensure that your program registration has been properly recorded. It would help if you have the information displayed above available at the time you call. The most likely reason for the problem is that you registered NewViews but the registration information was not properly recorded by Q.W.Page. We apologize in advance if this is the case. }] [p { The reason we believe there is a problem is that the release date of the NewViews version you attempted to run is after your program registration date, as indicated above. Since it is uncertain how this could occur, we are extremely reluctant to run a version of NewViews until the situation is resolved. Running a new version of NewViews under these circumstances could force your installation into read-only mode, and we want to avoid this situation if possible. }] [/* { Customer Support. We believe that this customer's serial number was not properly added to the Q.W.Page registration database. The customer registered but the customer serial number does not appear to have been entered in the database. Perhaps the database crashed and the record was lost. If it is true that the serial is missing from the QW database then check the customer order out and re-register the customer under a new serial if everything checks out. */ }] } } /314120051215181838 { .title "Attempted to install an unauthorized version of NewViews." .id 314120051215181838 .tags {error} .body { [p { You are not authorized to use the version of NewViews that you are attempting to install. Although your NewViews installation is registered, you have not subscribed to the maintenance plan. }] [p { You can use your current NewViews installation without limit, but you are not entitled to upgrade to newer versions. }] [p { We strongly recommend that you subscribe to the maintenance plan and keep your subscription active. This will entitle you to use the latest versions of NewViews as they become available. }] [p { An up-to-date user base greatly simplifies Q.W.Page's ability to support and enhance NewViews, and to detect and correct bugs that could potentially compromise integrity. Supporting a large number of different NewViews versions eventually becomes unmanageable from product development and customer support points of view, and also reduces the ability of users to communicate with each other effectively. Allowing this situation to occur would result in more confusion and expense for all. }] } } /314120051215162606 { .title "Attempted to install an unauthorized version of NewViews." .id 314120051215162606 .tags {error} .body { [p { You are not authorized to use the version of NewViews that you are attempting to install. Your NewViews installation is registered and you have subscribed to the maintenance plan, but the maintenance plan expired on [qw_field_value [::qw::date::format [qw_s_args .nv2_upgrades_expiry_date] "%b %d, %Y"]]. Therefore you are not authorized to use this version of NewViews. }] [p { You can use your current NewViews installation without limit, but you are not entitled to upgrade to newer versions. }] [p { We strongly recommend that you subscribe to the maintenance plan and keep your subscription active. This will entitle you to use the latest versions of NewViews as they become available. }] [p { An up-to-date user base greatly simplifies Q.W.Page's ability to support and enhance NewViews, and to detect and correct bugs that could potentially compromise integrity. Supporting a large number of different NewViews versions eventually becomes unmanageable from product development and customer support points of view, and also reduces the ability of users to communicate with each other effectively. Allowing this situation to occur would result in more confusion and expense for all. }] } } /314120050217175503 { .title "NewViews annual registration has expired." .id 314120050217175503 .tags {dialog notify} .body { [p { This NewViews installation is registered but the annual registration has expired. To renew the registration select [qw_menu_command "NewViews" "Register"] from the Windows start menu. You will be guided through the registration process. }] [p { In the meantime, you can click [qw_button "Enter NewViews"] to run the program as usual. However, NewViews will be limited in fundamental ways that make it unsuitable for sustained commercial use. }] } } /314120050217181419 { .title "NewViews annual registration will expire soon." .id 314120050217181419 .tags {dialog notify} .body { [p { This NewViews installation is registered but the annual registration will expire soon. To renew the registration select [qw_menu_command "NewViews" "Register"] from the Windows start menu. You will be guided through the registration process. }] [p { In the meantime, you can click [qw_button "Enter NewViews"] to run the program as usual. }] } } /314120050218073807 { .title "The workstation is not registered and the database has reached its evaluation limit." .id 314120050218073807 .tags {error} .body { [p { The workstation currently being used to access the database is not registered. The workstation has no serial number. You can modify a database without a serial number until the database reaches it evaluation limit. When the evaluation limit is reached, the database becomes read-only when accessed by an unregistered workstation. The workstation can continue to access and display all information in the database to which it normally has access, but it cannot modify information in the database. }] [p { To register the workstation run [qw_menu_command "NewViews 2.0" "Register"] from the Windows start menu on the computer running the workstation. When the workstation is registered, the ability to modify the database will be restored. }] } } /314120090310141037 { .title "The workstation has a read-only serial number." .id 314120090310141037 .tags {error} .body { [p { The workstation currently being used to access the database has a read-only serial number. You cannot modify the database using a read-only serial number. The workstation can access and display all database information to which it normally has access, but it cannot be used to modify the information. }] } } /314120090311140609 { .title "The workstation is not registered and cannot access the specified server." .id 314120090311140609 .tags {error} .body { [p { The workstation has no serial number. It tried to connect to a server that has a general (i.e. non-read-only) serial number, and that is not allowed. A workstation that has no serial number can only connect to a server that has no serial number or which has a read-only serial. In either case you will be in evaluation or read-only mode. }] [p { A workstation with no serial number can be used to access a local database for evaluation purposes. The workstation can also access a database through a server for evaluation purposes if the server has no serial number, or has a read-only serial number. However, to access a server that has a general serial number is not allowed when the workstation has no serial number. }] } } /314120050218072242 { .title "The server is not registered and the database has reached its evaluation limit." .id 314120050218072242 .tags {error} .body { [p { The server currently being used to access the database is not registered. The server has no serial number. You can modify a database without a serial number until the database reaches it evaluation limit. When the evaluation limit is reached, the database becomes read-only when accessed by an unregistered server. The server can continue to access and display all information in this database to which it normally has access, but it cannot modify information in this database. }] [p { This restriction as reported here applies only to the database identified in the error message. You can continue to modify other databases to which the server is offering access, if their individual evaluation limits have not been reached. }] [p { To register the server run [qw_menu_command "NewViews 2.0" "Register"] from the Windows start menu on the computer running the server. When the server is registered, the ability to modify the database will be restored. }] } } /314120090310141038 { .title "The server has a read-only serial number." .id 314120090310141038 .tags {error} .body { [p { The server currently being used to access the database has a read-only serial number. You cannot modify the database using a read-only serial number. The server can access and display all database information to which it normally has access, but it cannot be used to modify the information. }] } } /314120050218073936 { .title "The server is not registered for the server computer." .id 314120050218073936 .tags {error} .body { [p { The NewViews installation on the server currently being used to access the database is registered, meaning that it has a serial number, but it is not registered for the server computer. This situation may arise when a registered NewViews installation is copied from one computer to another. }] [p { You can rectify this situation by calling Q.W.Page customer support. If you are simply moving your installation from one computer to another, Q.W.Page customer support will be able to help you out immediately. However, if you installed the same NewViews serial number on multiple computers for simultaneous use, there may be limitations. To review the license agreement issue the [qw_menu_command "Help" "License"] command. }] } } /314120050218074320 { .title "The workstation is not registered for the workstation computer." .id 314120050218074320 .tags {error} .body { [p { The NewViews installation on the workstation currently being used to access the database is registered, meaning that it has a serial number, but it is not registered for the workstation computer. This situation may arise when a registered NewViews installation is copied from one computer to another. }] [p { You can rectify this situation by calling Q.W.Page customer support. If you are simply moving your installation from one computer to another, Q.W.Page customer support will be able to help you out immediately. However, if you installed the same NewViews serial number on multiple computers for simultaneous use, there may be limitations. To review the license agreement issue the [qw_menu_command "Help" "License"] command. }] } } /314120050218075018 { .title "The annual registration for the server has expired." .id 314120050218075018 .tags {error} .body { [p { The server installation is registered but the annual registration has expired. To renew the registration select [qw_menu_command "NewViews" "Register"] from the Windows start menu on the server. You will be guided through the registration process. }] } } /314120050218075106 { .title "The annual registration for the workstation has expired." .id 314120050218075106 .tags {error} .body { [p { The workstation installation is registered but the annual registration has expired. To renew the registration select [qw_menu_command "NewViews" "Register"] from the Windows start menu on the workstation. You will be guided through the registration process. }] } } /314120050218091219 { .title "Server XXX encountered duplicate workstation serial number XXX." .id 314120050218091219 .tags {error} .body { [p { Two workstations, each with the same serial number, attempted to access the same server. }] [p { A NewViews server does not place any limit on the number of simultaneous workstation connections that it can manage. However, the server does require each workstation to have a different serial number. }] [p { This may be a breach of the NewViews license agreement. This situation can be rectified by registering each workstation. }] [p { To register a workstation, select [qw_menu_command "NewViews" "Register"] from the Windows start menu on the workstation. }] [p { To review the license agreement issue the [qw_menu_command "Help" "License"] command. }] } } /314120080613130443 { .title "Server XXX has the same serial number XXX as the workstation." .id 314120080613130443 .tags {error} .body { [p { A NewViews server does not place any limit on the number of workstation connections that it can manage. However, a workstation cannot have the same serial number as the server it is connecting to. That would be a breach of the license agreement, which basically says that each running NewViews installation must have it own serial number. }] [p { There is one exception to this rule: the workstation can be running on the same machine as the server. In this case the server and workstation naturally share the same serial number. However, for efficiency reasons, running workstations and servers on the same computer is not recommended. }] } } /314120050218111151 { .title "Server XXX has the same serial number XXX as the workstation." .id 314120050218111151 .tags {error} .body { [p { This policy no longer in effect. See 314120080613130443. }] [p { A NewViews server does not place any limit on the number of simultaneous workstation connections that it can manage. However, the server cannot have the same serial number as workstations connecting to it. }] [p { You can use the same computer as a NewViews workstation or server, or both. However, without special action (see below), you cannot use that computer as a NewViews workstation to connect to the server running on that same computer. However, you can connect to servers on other computers. }] [h2 "How to connect a workstation to a server on the same computer."] [p { We assume here that you already have a registered NewViews installation. Let us assume it was installed in folder [qw_directory "c:/nv"]. Our goal here is to create another registered installation in a different folder, say [qw_directory "c:/nv_server"]. The new installation will have a different serial number. It will be run as a server and the workstation on the same computer will be able to connect to it. }] [ol { [li { [p { Install NewViews in a folder such as [qw_directory "c:/nv_server"]. }] [p { To do this install as usual. Only the folder you pick will be different from normal. To install NewViews you run the latest program downloaded from Q.W.Page. This will have a name that looks something like [qw_directory "nv2.00.0-win32-ix86-20050221.exe"]. }] }] [li { [p { Register the server installation. }] [p { To register the server, select [qw_menu_command "NewViews" "Register"] from the Windows start menu on the workstation. When you register, because you have just installed in the server folder, the start menu will run from the server installation and the server will be given the serial number obtained from Q.W.Page. }] }] [li { [p { Drag and drop the [qw_menu_command "NewViews" "Server"] from the Windows start menu to you desktop. }] [p { From now on you will run the server by double-clicking on this icon. }] }] [li { [p { Run the installation program again and re-install [qw_directory "c:/nv_server"]. }] [p { This is done only to reset the Windows start menu to use the workstation folder. You continue to use the Windows start menu to run the workstation. }] }] }] [p { From this point forward you run the workstation from the Windows start menu and the server from the icon that was placed on the desktop. You now have two NewViews installations on the same computer, but they have been registered with different serial numbers. }] [p { Whenever you update from a new download obtained from Q.W.Page you run the installation program twice. The first time, install in the server folder. The second time, install in the workstation folder. The workstation is installed second only so that the start menu will run the workstation, and not the server. Re-installing in an existing folder does affect the serial number associated with that installation. }] } } /314120090318160415 { .title "Server XXX already has XXX connections for serial number XXX." .id 314120090318160415 .tags {error} .body { [p { Multiple workstations using the same serial number and presumably running on the same computer have already connected [qw_s_args .connection_count] times to server [::info hostname] and this is the limit allowed. }] [p { You can connect any number of different computers to the same server and access any number of databases or the same database any number of times. However consider the following scenario. }] [p { You run NewViews twice on the same computer using a different workstation database each time. If you connect both such workstations to the same server, the server will detect that each connection is using the same serial number. NewViews will allow up to [qw_s_args .connection_count] such connections for testing purposes but will reject additional attempts to connect the same serial number from a different workstation database. Setting the limit for such connections to [qw_s_args .connection_count] is arbitrary, but some limit is necessary to avert cheating under circumstances where separate workstations (virtual or otherwise) are configured to use the same serial number (in breach of license agreement). }] } } /314120050331203815 { .title "NewViews Registration" .id 314120050331203815 .tags "dialog" .body { [h2 "You are about to register NewViews"] [p { Call Q.W.Page at [qw_field_value "905-946-9460"] to register and get a serial number. Q.W.Page personnel will lead you through the registration process. }] [h2 "What does being registered mean?"] [p { When you download and install NewViews for the first time it will run, but it does not have a serial number. Being registered is the equivalent of having a serial number. When you run NewViews without a serial number it will be limited in some fundamental way. You will be able to test or demonstrate NewViews in significant ways, but ultimately, it is not viable to use NewViews for sustained commercial purposes without a serial number. }] [p { So running NewViews without a serial number is the equivalent or running NewViews for the purpose of evaluation. That is why there is no need for any special evaluation copy of NewViews. The other side of the coin is that registering NewViews for the first time is the equivalent of purchasing NewViews. After registering, you have full NewViews functionality, access to Q.W.Page customer support plans, maintenance plans, and so on. }] [h2 "What will happen when I call Q.W.Page?"] [p { When you call Q.W.Page, indicate that you want to register so that your phone call can be directed efficiently. }] [p { If you have already ordered and paid for NewViews then you will be asked for the lock number displayed on the current dialog, (the one on which you just asked for help). Q.W.Page will give you two numbers, a key and a serial number. You enter these in the dialog. That is all there is to it. }] [p { If you have not already ordered and paid for NewViews then you will do so now. That is, you will go through the standard purchase process (i.e. get out your credit card). Then you will be given the key and serial number as described above. }] [p { Q.W.Page will keep a record of the serial number and it will be used for identification purposes in future interactions with Q.W.Page, such as for customer support and maintenance. }] [p { To review the license agreement issue the [qw_menu_command "Help" "License"] command. }] [h2 "Do not bother to write down the lock number."] [p { You cannot write down the lock number and call Q.W.Page later. You must call Q.W.Page while the lock number is displayed on the screen. The serial number and key retrieved from Q.W.Page must be entered in the same dialog that produced the lock number. If you shut down the registration program and run it again, the lock number will be different. }] [h2 "Do not bother to write down the key number."] [p { When you are given the key and serial numbers, they must be entered immediately in the dialog. You cannot write them down and then enter them later, say after dismissing the registration program and running it again. You might want to write down the serial number for future reference, but the lock number can be discarded. Although the serial number is readily available when running NewViews by issuing the [qw_menu_command "Help" "About"] command, it is still a good idea to have a hard-copy available. }] } } /314120050428143954 { .title "Your NewViews installation is already registered." .id 314120050428143954 .tags "dialog" .body { [p { The installation folder is [qw_directory [qw_s_args .installation_directory]]. }] [p { The serial number is [qw_field_value [qw_s_args .registration.serial]]. }] [h2 "Why re-register NewViews?"] [p { The NewViews installed in the folder shown above is already registered with the serial number shown. Under normal circumstances there is no reason to re-register and you should simply exit the registration program. So unless customer support has specifically directed you to run the registration program, you should simply exit the program. }] [p { The usual reason that customer support will ask you to re-register is to activate a new subscription to the maintenance plan. When you subscribe to the maintenance plan you are automatically authorized to download, install, and run all new versions of NewViews as they become available. If you did not previously subscribe to maintenance plan, but you have just subscribed to it, you will need to re-register to activate the plan. New versions can then be installed and run. }] [p { Call Q.W.Page at [qw_field_value "905-946-9460"] to re-register. Q.W.Page personnel will lead you through the process. }] [/* { [p { To review the license agreement issue the [qw_menu_command "Help" "License"] command while running NewViews. }] */ }] [h2 "Do not bother to write down the lock number."] [p { You cannot write down the lock number and call Q.W.Page later. You must call Q.W.Page while the lock number is displayed on the screen. The key and other information retrieved from Q.W.Page must be entered in the same dialog that produced the lock number. If you shut down the registration program and run it again, the lock number will be different. }] [h2 "Do not bother to write down the key number."] [p { When you are given the key and other information, they must be entered immediately in the dialog. You cannot write them down and then enter them later, say after dismissing the registration program and running it again. }] } } /314120050331210022 { .title "You did not enter the key, date or serial number." .id 314120050331210022 .tags {error} .body { [p { You need to all information supplied by Q.W.Page customer support in order to register. Call Q.W.Page at [qw_field_value "905-946-9460"] to obtain this information. After you enter all required information, click [qw_button "OK"] or press [qw_key "Enter"] to complete the resitration process. }] [p { Click [qw_button "Cancel"] or press [qw_key "Esc"] to exit without attempting to register. }] } } /314120050331210444 { .title "You did not enter the serial number." .id 314120050331210444 .tags {error} .body { [p { You need to enter the serial number, date and key in order to register. You must call Q.W.Page at [qw_field_value "905-946-9460"] to obtain them. After you enter them, click [qw_button "OK"] or press [qw_key "Enter"] to set the serial number and the registration process will then be complete. }] [p { Click [qw_button "Cancel"] or press [qw_key "Esc"] to exit without attempting to register. }] } } /314120050529180242 { .title "Encountered invalid date XXX." .id 314120050529180242 .tags {error} .body { [p { The date you entered is not a valid date. You must enter the date exactly as given to you by Q.W.Page in [qw_term yyyymmdd] format. }] } } /314120050401082001 { .title "Encountered an invalid serial number, date, or key." .id 314120050401082001 .tags {error} .body { [p { An error was detected in data entered. These values must be entered exactly as they were given to you by Q.W.Page. The values given to you are good only for this attempt to register. If you exit the registration program and run it again to enter the values received from Q.W.Page, they will not be accepted. The lock number you provided Q.W.Page and the corresponding information supplied by Q.W.Page customer support are valid only for the same session of the registration program. }] } } /314120050401082206 { .title "NewViews has been registered." .id 314120050401082206 .tags {error} .body { [p { Your NewViews installation has been registered using the information entered. }] [p { The serial number is displayed along with other useful information when you issue the [qw_menu_command "Help" "About"], so it is always readily available when running NewViews. }] } } /314120050404080616 { .title "NewViews does not run on $::tcl_platform(os) version \"$::tcl_platform(osVersion)\"." .id 314120050404080616 .tags {error} .body { [p { NewViews runs on Microsoft [qw_term "Windows NT"], [qw_term "Windows 2000"], [qw_term "Windows 2003"], [qw_term "Windows XP"], or later versions. }] [p { NewViews does not run on [qw_term "Windows 95"], [qw_term "Windows 98"], or earlier versions. }] [p { Although there is no technical reason NewViews cannot run on the older operating system versions, Q.W.Page made a policy decision not to do so. Some of the reasons for this decision are: }] [ul { [li { [p { Older operating system versions are typically running on older hardware with low processor speeds, insufficient memory, and relatively small disk sizes, by contemporary standards. Q.W.Page feels it is better to avoid these situations altogether, up front, rather than allow users to install and run NewViews, only encountered inadequate performance conditions later. }] }] [li { [p { Even Microsoft no longer officially supports the older versions. }] }] [li { [p { Maintaining NewViews on the older operating systems complicates customer support issues. }] }] [li { [p { Obscure operating system version incompatibilities that have nothing to do with NewViews, such as those relating to underlying networking software, introduce subtle problems. These lead users and customer support on "wild goose chases"; expensive for all involved and best avoided. }] }] }] } } /314120050404080618 { .title "This computer has insufficient physical memory (${Memory}M) to run NewViews." .id 314120050404080618 .tags {error} .body { [p { This version of NV2 requires a computer with at least 500 megabytes of physical memory. }] [p { Although the NV2 is capable of running on computers with less memory, performance can be significantly degraded under a number of circumstances. Q.W.Page decided it is better for all concerned to avoid these situations altogether by running NV2 on a [qw_term "contemporary"] computer system. }] } } /314120050220114148 { .title "Create Database" .id 314120050220114148 .tags {} .body { [h2 "Do you want to create a new database file [qw_directory [qw_s_args .database_path]]?"] [p { The database that you attempted to open was not found. }] [p { Click [qw_button "Cancel"] if you simply entered an incorrect file path and do not want to create a new database. }] [p { Click [qw_button "Create Database"] if you want to create a new database as file [qw_directory [qw_s_args .database_path]]. }] [p { Note that you are given this opportunity to create a new database only when the user in the current workstation login row is [qw_field_value ADMINISTRATOR]. One reason is that an administrator is automatically added to the new database and you will be automatically logged in as the administrator when the database is created. Note also, that you can only create a [qw_term local] database within your computer's directory space. You are not allowed to create a remote database through a server for security reasons. }] [h2 "What is a new NewViews database?"] [p { An NewViews database is often called a [qw_term "set of books"]. A database is used to manage the accounting information for an accounting entity such as a company. When a new database is created, the following happens: }] [ul { [li [p { A single user is added to the database with the name [qw_field_value "ADMINISTRATOR"]. The administrator password will be empty in the newly created database so you can open the database as the administrator without entering a password. One of your first actions in the new database should be to set the administrator password as described below. }]] [li [p { NewViews accounting classes are automatically added to the database. These classes define reports, journals, employees, and so on, and accounts including various account classes such as expenses, customers, vendors, payroll accounts, and so on. }]] [li [p { Various system classes are added to the database. These classes include users, sessions, the audit trail and so on. }]] }] [p { When the database has been created it is ready to use. You can start adding the actual accounts you will be using and you can then start adding transactions. }] [h2 "How to set the administrator password."] [p { Open the database, if not already open, as the administrator and then do the following: }] [ol { [li { [p { Click on [qw_field_value USER] in the tree explorer in the left pane. }] [p { A table of users will appear in the right pane with one row per user. A newly created database will have only one row which will be the administrator. }] }] [li { [p { Click on the [qw_field_name password] field of the row for the administrator. }] }] [li { [p { Press [qw_key F3] to pop up an edit assist window. }] }] [li { [p { Enter the password and then re-enter the same password for verification. }] }] [li { [p { Click [qw_button OK] or press [qw_key Enter]. }] }] }] [p { The administrator password will be set to the value entered and you will have to enter this password the next time you open the database as the administrator. }] } } /314120050303085841 { .title "Database XXX was not found." .id 314120050303085841 .tags {} .body { [p { You attempted to open database [qw_directory [qw_s_args ".database_path"]] but it could not be found. The file does not exist. }] [p { Note that if the user in the current workstation login row is [qw_field_value ADMINISTRATOR] and if a specified database is not found, you are given an opportunity to create one. That is the way to create a new NewViews database but only the [qw_field_value ADMINISTRATOR] can do it. }] } } /314120060524130301 { .title "Expected a file but XXX is a folder." .id 314120060524130301 .tags {} .body { [p { You attempted to open [qw_directory [qw_s_args ".database_path"]] but it is a folder, not a file. }] [p { Each NewViews database is a single file and you must specify the full path to the file to open it. }] [p { Note: Before version 2.09 a database comprised a number of files kept in the same folder and that folder was specified to identify the database. We continue to allow you to enter a folder in the workstation login row in case you need to identify a pre-2.09 database for the purpose of converting it to the current version. }] } } /314120060524131804 { .title "Expected the file to have type \".nv2\" but encountered XXX." .id 314120060524131804 .tags {} .body { [p { The specified file [qw_directory [qw_s_args ".database_path"]] has type [qw_quoted [qw_directory [qw_s_args .extension]]] but a NewViews database file must have file type [qw_quoted [qw_directory .nv2]]. }] [p { NewViews will not attempt to open or create a database unless it has the file type [qw_quoted [qw_directory .nv2]]. }] } } /314120050223091255 { .title "Encountered an error while running script XXX." .id 314120050223091255 .tags {} .body { [p { The script identified in the error message was running when this error occurred. This should be of little concern to you if you are a user as the relevant information concerning the error should be explained below. However, identifying the script may help if there is a problem with the script itself and in that case the creator of the script may want to know about it. See below for more. }] } } /314120050223092705 { .title "Could not create a descendant of odb_path_readable." .id 314120050223092705 .tags {} .body { [p { An attempt to create an object failed. The reason for the failure should be provided in the help on other error messages below. }] [p { However, the object identified in this error message can help to identify the [qw_term "class"] of the object you were attempting to create, and this may help you, or possibly customer support, further identify the cause of the error if the help below is insufficient. Some examples are provided in the table below: }] [table .border.cellspacing 1 .border.cellpadding 7 { [tr { [td { Object Identified }] [td { Conclusion }] }] [tr { [td { .../ACCOUNT/AP }] [td { An accounts payable account i.e. vendor, could not be created. }] }] [tr { [td { .../TRANSACTION/SALES }] [td { A sales invoice or a sales order that could not be created. }] }] [tr { [td { /OBJECT/SYSTEM/USER }] [td { A database user could not be created. }] }] }] } } /314120050223094019 { .title "Could not create an object using collection XXX." .id 314120050223094019 .tags {} .body { [p { An attempt to create an object failed. The reason for the failure should be provided in the help on other error messages below. }] [/* { [p { However, the object identified in this error message is a collection of objects that are similar to the one you were attempting to create. This may help you, or possibly customer support, further identify the cause of the error if the help below is insufficient. Some examples are provided in the table below: }] [table .border.cellspacing 1 .border.cellpadding 7 { [tr { [td { Collection }] [td { Conclusion }] }] [tr { [td { .../ACCOUNT/AP.odb_deriveds }] [td { An accounts payable account i.e. vendor, could not be created. }] }] [tr { [td { .../JOURNAL/GENERAL.transactions }] [td { A general journal transaction could not be created. }] }] [tr { [td { .../JOURNAL/SALES/INVOICE.transactions }] [td { A sales invoice could not be created. }] }] [tr { [td { .../JOURNAL/BANK/DEPOSIT.transactions }] [td { A bank deposit transaction could not be created. }] }] }] */ }] } } /314120050312171551 { .title "Encountered a bug in the program or script." .id 314120050312171551 .tags {bug error} .body { [p { Unfortunately bugs happen, and one just happened. NV2 makes extensive checks to detect bugs at the earliest possible moment. When you dismiss the error message that reported the bug, NV2 will exit. No database access is allowed from the moment the bug occurred, in order to maintain database integrity. When you run NV2 and re-open the database it will be automatically recovered from its most recent [qw_term "safepoint"]. Some recently entered information may be lost. If this is the case, you will have the re-enter the data. Note, however, that this situation is still more preferable than the loss of database integrity. }] [h3 "What can you do to help?"] [p { The most potentially useful thing that you can do is click the [qw_button "Copy to Clipboard"] button on the error message. Then paste the clipboard contents into a text file. Be sure to paste before clicking the [qw_button Ok] button because will exit NewViews and wipe out the clipboard contents as it does so. The information pasted into the text file contains additional information that may help Q.W.Page personnel identify the origin of the bug. Customer support will likely ask you to e-mail the contents to Q.W.Page. }] [h3 "Who may have caused the bug?"] [p { There are number of potential sources for the bug: }] [ul { [li [p { the operating system. }]] [li [p { the application (NewViews). }]] [li [p { the network. }]] [li [p { another application like Excel or Internet Explorer. }]] [li [p { a script from Q.W.Page. }]] [li [p { a script from a third party developer. }]] }] [h3 "Who really caused the bug?"] [p { Without further knowledge we have to assume that NV2 was the cause and that we have detected a bug in NV2. }] [p { Other information that might help: }] [ul { [li { [p { Try to remember what were you doing when the bug occurred: }] [p { Were you adding new transactions or accounts? }] [p { Were you shutting down? }] [p { Were you deleting a block of transactions? }] [p { Were you re-totaling accounts? }] [p { Were you changing a field? }] [p { Were you setting up default windows? }] }] [li { [p { Try to remember what document you were on when the bug occurred: }] [p { Were you on a blue table of accounts? }] [p { Were you on a green table of postings, i.e. an account ledger? }] [p { Were you on a journal's (pink) table or transactions? }] }] [li { [p { Try to remember what the multi-user environment was when the bug occurred: }] [p { Were you accessing a local database? }] [p { Were you accessing a remote database through a server? }] }] }] [p { We want to identify and correct any bugs that occur as soon as possible. Any of the information above or similar information that you can remember could help, significantly. }] } } /314120050225080646 { .title "A program version encountered an older workstation database version." .id 314120050225080646 .tags {dialog confirm} .body { [p { You are running a version of NV2 with version [qw_field_value $::qw_version]. It attempted to open the workstation in folder [qw_directory [qw_s_args .directory]] which has version [qw_field_value [qw_s_args .header.odb.version]]. The program is newer than the workstation database. }] [p { You should click [qw_button "Re-create [qw_s_args .header.odb.database_type]"]. Database [qw_directory [qw_s_args .directory]] will be destroyed and re-created with the newer version. Unfortunately, the information contained in the old workstation database will be discarded by this operation. So after re-creating the workstation database, it will have an empty table of login rows. You will have to add a row for each database you want the workstation to access. You should also set the workstation password the next time you open the workstation, as that will also be discarded when the workstation is re-created. }] } } /314120050324124359 { .title "A program version encountered an older server database version." .id 314120050324124359 .tags {dialog confirm} .body { [p { You are running a version of NV2 with version [qw_field_value $::qw_version]. It attempted to open the server in folder [qw_directory [qw_s_args .directory]] which has version [qw_field_value [qw_s_args .header.odb.version]]. The program is newer than the server database. }] [p { You should click [qw_button "Re-create [qw_s_args .header.odb.database_type]"]. Database [qw_directory [qw_s_args .directory]] will be destroyed and re-created with the newer version. Unfortunately, the list of databases offered by the old server will be discarded by this operation. After re-creating the server database, it will have an empty table of databases to which it offers access. You will have to add a row for each database you want the server to offer. }] } } /314120050225082018 { .title "NewViews program version XXX is newer than XXX version XXX." .id 314120050225082018 .tags {error} .body { [p { You are running a version of NV2 with version [qw_field_value $::qw_version]. It attempted to open a [qw_field_value [qw_s_args .header.odb.database_type]] in folder [qw_directory [qw_s_args .directory]], which has version [qw_field_value [qw_s_args .header.odb.version]]. The program is older than the database. A newer version of the program has operated on the database. This older version of the program, the one you are currently running, has no knowledge of what a newer version of the program may have done to the database. }] [p { This older version cannot be allowed to access the database. When you dismiss the error message, NewViews will exit. }] [h3 "How could this situation have happened?"] [p { You may have re-installed, or otherwise copied an older version of NewViews onto your computer. At some point, your computer must have had a newer version of NewViews which you used to open workstations, servers, and application databases. Then you presumably re-installed or copied an older version of NewViews onto the computer. You are running this older version and it has encountered a database that has already been updated to the newer version. }] [h3 "What should you do now?"] [p { You should re-install your newest version of NV2. Then run the NV2 workstation again. Consult the person in charge of your NewViews installation or call customer support if you are unsure of how this situation occurred, or what to do about it. }] [p { Note that this situation occurred when attempting to open a workstation or server. It arose due to an incompatible workstation or server database, not an application database such as an accounting database (set of books). Therefore we can conclude that it has nothing to do with remote access through a server or any incompatibility between a workstation and a server. }] } } /314120090105111801 { .title "NewViews server version XXX cannot be used on database XXX with version XXX." .id 314120090105111801 .tags {error} .body { [p { NewViews server [qw_field_value [qw_s_args .server_name]] and database [qw_directory [qw_s_args .database_path]] have different versions. The versions of the server and the database are shown below. }] [table { [tr { [td { }] [td { Version }] [td { Service Pack }] [td { Build }] }] [tr { [td { Server }] [td { [qw_field_value [qw_s_args .program_version]] }] [td { [qw_field_value [qw_s_args .program_patch_level]] }] [td { [qw_field_value [qw_s_args .program_build]] }] }] [tr { [td { [qw_directory [qw_s_args .database_path]] }] [td { [qw_field_value [qw_s_args .database_version]] }] [td { [qw_field_value [qw_s_args .database_patch_level]] }] [td { [qw_field_value [qw_s_args .database_build]] }] }] }] [p { The server has a newer version. Before the server can be used to access this database, the database must be upgraded (converted) to the same version as the server. This cannot be done remotely (through the server) for security reasons. To upgrade the database access it directly from a workstation that has desired version. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]}] }] } } /314120090105111802 { .title "NewViews workstation version XXX cannot be used on database XXX with version XXX." .id 314120090105111802 .tags {error} .body { [p { The NewViews workstation and database [qw_directory [qw_s_args .database_path]] have different versions. The versions of the workstation and the database are shown below. }] [table { [tr { [td { }] [td { Version }] [td { Service Pack }] [td { Build }] }] [tr { [td { Workstation }] [td { [qw_field_value [qw_s_args .program_version]] }] [td { [qw_field_value [qw_s_args .program_patch_level]] }] [td { [qw_field_value [qw_s_args .program_build]] }] }] [tr { [td { [qw_directory [qw_s_args .database_path]] }] [td { [qw_field_value [qw_s_args .database_version]] }] [td { [qw_field_value [qw_s_args .database_patch_level]] }] [td { [qw_field_value [qw_s_args .database_build]] }] }] }] [p { The workstation has a newer version. Before the workstation can be used to access this database, the database must be upgraded (converted) to the same version as the workstation. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]}] }] } } /314120090105111803 { .title "NewViews server version XXX cannot be used on database XXX with version XXX." .id 314120090105111803 .tags {error} .body { [p { The NewViews program and database [qw_directory [qw_s_args .database_path]] have different versions. The versions of the program and the database are shown below. }] [table { [tr { [td { }] [td { Version }] [td { Service Pack }] [td { Build }] }] [tr { [td { Program }] [td { [qw_field_value [qw_s_args .program_version]] }] [td { [qw_field_value [qw_s_args .program_patch_level]] }] [td { [qw_field_value [qw_s_args .program_build]] }] }] [tr { [td { [qw_directory [qw_s_args .database_path]] }] [td { [qw_field_value [qw_s_args .database_version]] }] [td { [qw_field_value [qw_s_args .database_patch_level]] }] [td { [qw_field_value [qw_s_args .database_build]] }] }] }] [ul { [li {[link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]}] }] } } /314120090105111804 { .title "NewViews server version XXX cannot be used on database XXX with version XXX." .id 314120090105111804 .tags {error} .body { [p { NewViews server [qw_field_value [qw_s_args .server_name]] and database [qw_directory [qw_s_args .database_path]] have different versions. The versions of the server and the database are shown below. }] [table { [tr { [td { }] [td { Version }] [td { Service Pack }] [td { Build }] }] [tr { [td { Server }] [td { [qw_field_value [qw_s_args .program_version]] }] [td { [qw_field_value [qw_s_args .program_patch_level]] }] [td { [qw_field_value [qw_s_args .program_build]] }] }] [tr { [td { [qw_directory [qw_s_args .database_path]] }] [td { [qw_field_value [qw_s_args .database_version]] }] [td { [qw_field_value [qw_s_args .database_patch_level]] }] [td { [qw_field_value [qw_s_args .database_build]] }] }] }] [p { The database has a newer version than the server. To access this database first requires that you upgrade the server to the same version as the database. To upgrade the server, download and install the latest version from Q.W.Page. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]}] }] } } /314120090105111805 { .title "NewViews server version XXX cannot be used on database XXX with version XXX." .id 314120090105111805 .tags {error} .body { [p { The NewViews workstation and database [qw_directory [qw_s_args .database_path]] have different versions. The versions of the workstation and the database are shown below. }] [table { [tr { [td { }] [td { Version }] [td { Service Pack }] [td { Build }] }] [tr { [td { Workstation }] [td { [qw_field_value [qw_s_args .program_version]] }] [td { [qw_field_value [qw_s_args .program_patch_level]] }] [td { [qw_field_value [qw_s_args .program_build]] }] }] [tr { [td { [qw_directory [qw_s_args .database_path]] }] [td { [qw_field_value [qw_s_args .database_version]] }] [td { [qw_field_value [qw_s_args .database_patch_level]] }] [td { [qw_field_value [qw_s_args .database_build]] }] }] }] [p { The database has a newer version than the workstation. To access this database first requires that you upgrade the workstation to the same version as the database. To upgrade the workstation, download and install the latest version from Q.W.Page. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]}] }] } } /314120090105111806 { .title "NewViews server version XXX cannot be used on database XXX with version XXX." .id 314120090105111806 .tags {error} .body { [p { The NewViews program and database [qw_directory [qw_s_args .database_path]] have different versions. The versions of the program and the database are shown below. }] [p { NewViews server [qw_field_value [qw_s_args .server_name]] attempted to open database [qw_directory [qw_s_args .database_path]] but the database has a newer version of NewViews. You cannot use the server to access the database until the server has been upgrade to the same version as the database. }] [table { [tr { [td { }] [td { Version }] [td { Service Pack }] [td { Build }] }] [tr { [td { Program }] [td { [qw_field_value [qw_s_args .program_version]] }] [td { [qw_field_value [qw_s_args .program_patch_level]] }] [td { [qw_field_value [qw_s_args .program_build]] }] }] [tr { [td { [qw_directory [qw_s_args .database_path]] }] [td { [qw_field_value [qw_s_args .database_version]] }] [td { [qw_field_value [qw_s_args .database_patch_level]] }] [td { [qw_field_value [qw_s_args .database_build]] }] }] }] [ul { [li {[link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]}] }] } } /314120050422095744 { .title "NewViews server version XXX cannot be used on database XXX with version XXX." .id 314120050422095744 .tags {error} .body { [p { NewViews server [qw_s_args .server_name] attempted to open [qw_directory [qw_s_args .database_path]] but the database has been modified by an older version of NewViews. You cannot use the server to access the database until the database has been upgraded to the same version as the server. }] [table { [tr { [td { }] [td { Version }] [td { Service Pack }] [td { Build }] }] [tr { [td { Server }] [td { [qw_field_value [qw_s_args .program_version]] }] [td { [qw_field_value [qw_s_args .program_patch_level]] }] [td { [qw_field_value [qw_s_args .program_build]] }] }] [tr { [td { [qw_directory [qw_s_args .directory]] }] [td { [qw_field_value [qw_s_args .database_version]] }] [td { [qw_field_value [qw_s_args .database_patch_level]] }] [td { [qw_field_value [qw_s_args .database_build]] }] }] }] [p { If the database has a later verios You must update the server to a version as new as the database version (and/or service pack number), before the workstation can be used to access the database. We recommend you always update to the latest version of NewViews available. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]}] }] } } /314120050226160045 { .title "NewViews workstation version XXX cannot be used on database XXX with version XXX." .id 314120050226160045 .tags {error} .body { [p { The NewViews workstation attempted to open database [qw_directory [qw_s_args .directory]] but the database in that folder has been modified by a later version of NewViews. You cannot use the workstation to access the database. }] [table { [tr { [td { Program/Database }] [td { Version }] [td { Service Pack }] [td { Build }] }] [tr { [td { Workstation }] [td { [qw_field_value [qw_s_args .program_version]] }] [td { [qw_field_value [qw_s_args .program_patch_level]] }] [td { [qw_field_value [qw_s_args .program_build]] }] }] [tr { [td { [qw_directory [qw_s_args .directory]] }] [td { [qw_field_value [qw_s_args .database_version]] }] [td { [qw_field_value [qw_s_args .database_patch_level]] }] [td { [qw_field_value [qw_s_args .database_build]] }] }] }] [p { You must update the workstation to a version as new as the database version (and/or service pack number), before the workstation can be used to access the database. We recommend you always update to the latest version of NewViews available. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]}] }] } } /314120050226160046 { .title "NewViews workstation version XXX cannot be used on database XXX with version XXX." .id 314120050226160046 .tags {error} .body { [p { The NewViews workstation attempted to open database [qw_directory [qw_s_args .database_path]] but the database in that folder has been modified by a later version of NewViews. You cannot use the workstation to access the database. }] [table { [tr { [td { Program/Database }] [td { Version }] [td { Service Pack }] [td { Build }] }] [tr { [td { Workstation }] [td { [qw_field_value $::qw_version] }] [td { [qw_field_value $::qw_patch_level] }] [td { [qw_field_value $::qw_build] }] }] [tr { [td { [qw_directory [qw_s_args .database_path]] }] [td { [qw_field_value [qw_s_args .database_header.odb.version]] }] [td { [qw_field_value [qw_s_args .database_header.odb.patch_level]] }] [td { [qw_field_value [qw_s_args .database_header.odb.build]] }] }] }] [p { You must update the workstation to a version as new as the database version before the workstation can be used to access the database. We recommend you always update to the latest version of NewViews available. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]}] }] } } /314120061002180127 { .title "NewViews program and database have different versions." .id 314120061002180127 .tags {error} .body { [p { You are running program version [qw_field_value [qw_s_args .program_version]] but database [qw_directory [qw_s_args .database_path]] has version [qw_field_value [qw_s_args .database_version]]. }] [p { If the database version is newer (higher) than the program version, then you must update the program before you can open the database. }] [p { Otherwise you can convert the database to the newer program version by opening it from a NewViews workstation. On confirmation, the database will be automatically converted to the program version. }] [p { Note that you must have direct access to convert a database. As a security precaution NewViews will not attempt to convert a database that is being accessed remotely through a server. }] [p { We recommend you always update your workstation and server installations to the latest version of NewViews. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]}] }] } } /314120050324115949 { .title "Workstation version XXX cannot connect to server with incompatible version XXX." .id 314120050324115949 .tags {error} .body { [p { The workstation and server are running different versions of NV2. The workstation is version [qw_field_value $::qw_version] but the server is version [qw_field_value [qw_s_args .version]]. }] [p { A workstation cannot connect to a server that has a different version. }] [h3 "What should you do now?"] [p { A likely reason for this problem is that a server has been updated with a newer version of NV2 and the workstation has not, or vice versa. Ensure that the latest version of NV2 is installed on both the server and the workstation. To check the version of a workstation or server, issue the [qw_menu_command "Help" "About"] command when running the workstation or server. If necessary, call Q.W.Page customer support to rectify the situation. }] } } /314120050225131408 { .title "Attempted to delete a class object." .id 314120050225131408 .tags {error} .body { [p { Certain objects in the database are [qw_term "class"] objects that contain built-in functionality and contribute the database design. You cannot delete these class objects without losing this functionality and therefore it is prohibited. }] } } /314120050225131429 { .title "Attempted to change the name of the root object." .id 314120050225131429 .tags {error} .body { [p { You cannot change the name of the root object. If we were to allow changes to the root object name it would result in chaos. One NV2 user would not be able to communicate effectively with another, or with customer support. Note, however, that you can change the description of any object, including the root object. The ability to change the description should address most presentation and display issues. }] } } /314120050225131439 { .title "Attempted to change the name of a class object." .id 314120050225131439 .tags {error} .body { [ ::set ::Html ""; ] [ ::append ::Html [p { Certain objects in the database are [qw_term "class"] objects that contain built-in functionality and contribute the database design. You cannot change the name of these class objects. These class names are used extensively to identify database objects and their functionality. If we were to allow changes to class names it would result in chaos. One NV2 user would not be able to communicate effectively with another, or with customer support. Note, however, that you can change the description of any object, class or not. The ability to change the description should address most presentation and display issues. }] ] } } /314120050307183118 { .title "You cannot set the base of any object to empty." .id 314120050307183118 .tags {error} .body { [p { You tried to clear an object's type. Every object, except the root object of the database, must be a sub-object of another object, i.e. it's type. You can resolve this problem in the following ways: }] [ol { [li { [p { Press [qw_key F3] and pick an object as the parent object. }] }] [li { [p { Press [qw_key Esc] to reset the type to its original value. }] }] [li { [p { Issue the [qw_menu_command Edit Quit] command to reset all fields in the row to their original values, including the type. }] }] }] } } /314120050225131447 { .title "XXX already has a sub-object with name XXX." .id 314120050225131447 .tags {error} .body { [p { The operation you just tried would result in two sub-objects having the same name. }] [p { Sub-objects of the same parent object must have unique names. For example, if two customer accounts are sub-accounts of AR, then they cannot have the same name. }] [p { Note that objects can have the same name if they are sub-objects of different parents. For example, you can have a customer and a vendor with the same name because the customer is a sub-acount of AR and the vendor is a sub-account of AP. }] [p { This rule is true for all NewViews objects. You cannot have two reports, users, journals, and so on, with the same name if they are sub-objects of the same parent. }] } } /314120060503100154 { .title "You cannot make an object a sub-object of itself or one of its own descendants." .id 314120060503100154 .tags {error} .body { [p { You tried to make [qw_field_value [qw_s_args .sub_path]] a sub-object of [qw_field_value [qw_s_args .super_path]]. }] [p { This is not allowed because [qw_field_value [qw_s_args .super_path]] is a descendant of [qw_field_value [qw_s_args .sub_path]]. That is, the object you tried to connect to is already a sub-object of the object you were connecting. This would form a loop in the hierarchy of sub-objects. }] [p { In short, [qw_quoted [bold "you can't be your own grandpa"]]. }] } } /314120050225131541 { .title "Expected file, folder or hidden." .id 314120050225131541 .tags {error} .body { [p { The [qw_field_name folder] field determines whether an object will be displayed in an NV2 tree explorer window. A tree explorer displays all nodes unless a /folder index is selected using the [qw_menu_command "File" "Sort"] command. A /folder index is the normal choice for a tree explorer. The [qw_field_name folder] field is restricted to the following values: }] [dl { [dt "file"] [dd [p { The object will not be displayed in a tree explorer when a /folder index is selected. }]] [dt "folder"] [dd [p { The object will be displayed in a tree explorer when any index is selected. }]] [dt "hidden"] [dd [p { The object will not be displayed in a tree explorer when a /folder index is selected. It is anticipated that this value will have additional functionality in the future. }]] }] } } /314120050225150933 { .title "Could not change field XXX from XXX to XXX." .id 314120050225150933 .tags {error} .body { [p { An attempt to change a field failed. A more specific reason for the failure should be described in the help on other errors below. The name of the field should be displayed in the error message. The original value of the field will not be changed. }] [p { If you are currently editing the field that resulted in the failure you can change the field to a correct value, or press [qw_button Esc] to reset the field to its original value, which presumably was already correct. You can also issue the [qw_menu_command "Edit" "Quit"] command to reset all fields on the current table row to their values before any changes were made to the row. }] } } /314120050226144358 { .title "Attempted to change XXX while the login is open on XXX." .id 314120050226144358 .tags {error} .body { [p { Each row in a workstation's table of logins represents a database that the workstation can open. Most fields on the login row cannot be changed if the database represented by that row is currently open. If changes were allowed then the values displayed by the login row would no longer accurately represent the database that is currently open. }] [p { To make changes to the login, first close the database by changing the state field to [qw_term closed]. Position on the [qw_field_name state] field and press [qw_key F3] to pick the closed state, or just enter [qw_term closed] directly into the field. }] } } /314120050226144412 { .title "Attempted to delete login while it is open on XXX." .id 314120050226144412 .tags {error} .body { [p { Each row in a workstation's table of logins represents a database that the workstation can open. You have attempted to delete a login row whose database is currently open. }] [p { To delete this row first close the database by changing the state field to [qw_term closed]. Position on the [qw_field_name state] field and press [qw_key F3] to pick the closed state, or just enter [qw_term closed] directly into the field. }] } } /314120050226151114 { .title "The database is already open." .id 314120050226151114 .tags {error} .body { [p { You attempted to open a database that is already open. There will already be a window open on the database which you can switch to. If the window is not readily visible, check the Windows task manager. }] } } /314120050226151128 { .title "The file has not been specified." .id 314120050226151128 .tags {error} .body { [p { The [qw_field_name file] in the login row has not been specified. You need to specify the database in the [qw_field_name file] field before you can open the database. }] } } /314120050226151132 { .title "The user has not been specified." .id 314120050226151132 .tags {error} .body { [p { The [qw_field_name user] field in the login row has not been specified. You need to specify a database user in the [qw_field_name user] field before you can open the database. }] } } /314120060226185348 { .title "This workstation already has the database with id XXX open (under user XXX)." .id 314120060226185348 .tags {error} .body { [p { You have attempted to open the same database twice under circumstances that are not allowed. You may think that the databases in question are different because they are in different files. However, each database created by NV2 is given a unique database id. You have attempted to simultaneously open two different files, but they both have database id [qw_field_value [qw_s_args .database_id]]. Furthermore, you have attempted to open both under the user [qw_field_value [qw_s_args .username]]. In fact, you can open two databases with the same database id if you open them under different users. }] [p { At this time, we cannot provide you with the file path of the other database that is already open. However, it will be one of the databases in the workstation table of logins with its state set to [qw_field_value open]. One way to determine the database id of a particular database is to open the database and issue the [qw_menu_command "Help" "About"] command. The table for the current NewViews application database will display its database id. }] [h3 "What caused this situation?"] [p { Almost certainly, one file is a copy of the other. Perhaps it is a backup copy. Or perhaps, instead of creating a new database, in an attempt to get started faster, you copied an existing database. }] [h3 "Why does a database have a database id?"] [p { There are many reasons, mostly technical, that an NV2 database is given a unique id. One of them is to detect the situation that has just occurred. Allowing two databases with the same id to be opened simultaneously under the same user from the same workstation would result in an attempt to simultaneously use the same window system on two databases. Not only would this cause confusion, to say the least, it would also ultimately lead to a loss of integrity in the window system (but not the application databases). }] [h3 "What can you do now?"] [p { This situation is not as serious as it sounds. For one thing, you can access each database, even with the same user, as long as you open them one at a time. This is probably sufficient if you just want to open a copy of a database to check something out. For example, you could open a backup copy, without having to restore the backup copy. }] [p { Note however, that we recommend against opening backup copies directly because that will affect the backup copy. For example, it will add a session, and it will change the file dates of the backup copy. If you want to open a backup copy we suggest that you copy the backup into an temporary folder, open the database in the temporary folder, and then delete the temporary folder. }] [p { If you really want or need simultaneous access to two active databases with the same database id, you can enter open each database under a different user. }] [p { If one database is not just a backup of the other, that is, you started the second database out as a copy of another existing database, then you may want to give the database a new unique database id. Contact Q.W.Page customer support for assistance in giving the database a new database id. Q.W.Page has internal tools that can change the database id of an existing database. }] } } /314120050227103225 { .title "The file is currently in use." .id 314120050227103225 .tags {error} .body { [p { File [qw_directory [qw_s_args .file]] is already open and in use. The following are the most likely reasons: }] [ul { [li { [p { Your workstation already has the file open. }] [p { You can only open a file once. Check your workstation table of login rows. Another row may already have file [qw_directory [qw_s_args .directory]] open. Note that you can open the same file more than once through a server if you use a different user each time. }] }] [li { [p { Another workstation already has the file open. }] [p { If the file is accessible to many computers through a local area network, one of the other computers may have the file open. }] }] [li { [p { A server may have the file open. }] [p { Your computer or another computer on a local area network may be running a NewViews server and that server may have the file open. }] }] [li { [p { Another program may have the file open. }] [p { It is conceivable that another program may currently have the file open. This program could be on your computer, or on any other computer that has access to the file, perhaps through a local area network. }] }] }] } } /314120050227110611 { .title "The workstation is already running." .id 314120050227110611 .tags {error} .body { [p { File [qw_directory [qw_s_args .file]] cannot be opened because it is already in use. The most likely reason is that you are already running the NV2 workstation. }] } } /314120050227110619 { .title "The server is already running." .id 314120050227110619 .tags {error} .body { [p { File [qw_directory [qw_s_args .file]] cannot be opened because it is already in use. The most likely reason is that you are already running the NV2 server. }] } } /314120050227114149 { .title "Attempted to open a server database instead of an application database." .id 314120050227114149 .tags {error} .body { [p { NewViews keeps the data associated with your server in a NewViews database file (type [qw_directory .nv2]). By default, this file is [qw_directory [::file join c:/ nv server.nv2]], assuming NewViews was installed in [qw_directory [::file join c:/ nv]]. However, the server file is special in that it is not an [qw_term application] database, meaning that it does not contain an accounting set of books. So it cannot be opened using the login row of workstation. The server itself opens and uses this file. }] } } /314120050227114322 { .title "Attempted to open a workstation database instead of an application database." .id 314120050227114322 .tags {error} .body { [p { NewViews keeps the data associated with your workstation in a NewViews database file (type [qw_directory .nv2]). By default, this file is [qw_directory [::file join c:/ nv workstation.nv2]], assuming NewViews was installed in [qw_directory [::file join c:/ nv]]. However, the workstation file is special in that it is not an [qw_term application] database, meaning that it does not contain an accounting set of books. So it cannot be opened using the login row of workstation. The workstation itself opens and uses this file. }] [p { Because NewViews keeps the data associated with your workstation in a NewViews file, the workstation is [qw_term persistent]. That means that changes made while running the workstation will be available the next time you run it. It is also the reason that when you open a particular application file you will have the same windows open, and they will be positioned where they were the last time you had that file open under the same user. }] } } /314120070911115911 { .title "Attempted to open a database of type \"ActualDatabaseType\" as a workstation." .id 314120070911115911 .tags {error} .body { [p { You attempted to open and use database file [qw_directory [qw_s_args .database_path]] as a NewViews workstation but this file is actually a database of type [qw_field_value [qw_s_args .database_type]]. }] } } /314120070911115912 { .title "Attempted to open a database of type \"ActualDatabaseType\" as a server." .id 314120070911115912 .tags {error} .body { [p { You attempted to open and use database file [qw_directory [qw_s_args .database_path]] as a server workstation but this file is actually a database of type [qw_field_value [qw_s_args .database_type]]. }] } } /314120050227124337 { .title "Could not log user XXX into file XXX." .id 314120050227124337 .tags {error} .body { [p { User [qw_field_value [qw_s_args .username]] could not be logged into file [qw_directory [qw_s_args .file]] at this time. See below for more. }] } } /314120050227124827 { .title "Expected open or closed but encountered XXX." .id 314120050227124827 .tags {error} .body { [p { The [qw_field_name state] field of a workstation login row not only displays whether a database is open or closed, it also controls whether the database is open or closed. You can open or close a database by changing the [qw_field_name state] field to [qw_field_value open] or [qw_field_value closed]. The [qw_field_name state] field is restricted to the following values: }] [ul { [li { [p { [qw_field_value "open"] }] [p { The database is currently open. Changing the value to closed will close the database. }] }] [li { [p { [qw_field_value "closed"] }] [p { The database is closed. Changing the value to open will attempt to open the database. }] }] }] } } /314120050227125851 { .title "Expected manual or automatic but encountered XXX." .id 314120050227125851 .tags {error} .body { [p { The [qw_field_name autoopen] field of a workstation login row controls whether the workstation automatically opens a database when the workstation is run. The [qw_field_name autoopen] field is restricted to the following values: }] [dl { [dt "manual"] [dd [p { When the workstation is run no attempt is made to automatically open the database. You open it [qw_term manually] by changing the [qw_field_name state] field to [qw_field_value open]. }]] [dt "automatic"] [dd [p { When the workstation is run it will attempt to automatically open the database. This can be convenient when you often run NV2 to open and work on the same database or databases. However, if for any reason the attempt to automatically open the database fails, the [qw_field_name autoopen] field will be reset to [qw_field_value manual]. }]] }] } } /314120050227131710 { .title "Expected singleuser, multiuser or default." .id 314120050227131710 .tags {error} .body { [p { The [qw_field_name access] field of a workstation login row controls whether a database is opened with multi-user or single-user access. is run. The [qw_field_name access] field is restricted to the following values: }] [dl { [dt "singleuser"] [dd [p { The database is opened with single-user access. }]] [dt "multiuser"] [dd [p { The database is opened with multi-user access. }]] [dt "default"] [dd [p { When a local database is opened, it is opened with single-user access. When a remote database is opened through a server, it is opened with multi-user access. }]] }] } } /314120050227132856 { .title "Press the F3 key to change the password with required entry verification." .id 314120050227132856 .tags {error} .body { [p { Passwords are special because they are never displayed. For this reason you cannot enter a password directly into a password field. Instead, press the [qw_key F3] key while positioned on the user [qw_field_name password] field. An edit assist dialog will pop up to collect the new value of the password and then require that the same value be re-entered for verification. }] } } /314120040906135629 { .title "Passwords" .id 314120040906135629 .tags "dialog" .body { [ ::set ::Html "" ] [ ::switch -- [qw_s_args .command] { "password_workstation_state_none" { ::append ::Html [h2 "You can enter this workstation without a password."] ::append ::Html [p { You are about to open an NV2 workstation. The workstation is not password protected so you simply click [qw_button "OK"] to enter the workstation. Otherwise you would have been prompted to enter the workstation password. }] ::append ::Html [p { Because this workstation is not protected by a password, anyone with access to your computer can open the workstation. The workstation can be used to open any accounting database to which it has access because it remembers passwords for these databases. This can be very convenient, especially when you manage a large number of accounting databases, because you do not have to enter a password each time you open an accounting database. But you should protect the workstation itself with a password and you have not yet done so. }] ::append ::Html [p { Click [qw_button {Set Password}] to set a password for this workstation. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228112651 {Workstation Passwords}]}] }] } "password_workstation_state_collect" { ::append ::Html [h2 "You must enter a password to open this workstation."] ::append ::Html [p { This workstation is protected by a password. You are being prompted for that password now. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228112651 {Workstation Passwords}]}] }] } "password_login_state_collect" { ::append ::Html [h2 "You must enter a password to open this database."] ::append ::Html [p { Database [qw_directory [qw_s_args .directory]] has a password set for user [qw_field_value [qw_s_args .username]] and you must enter the password now to open the database under this user. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228125631 {User Passwords}]}] }] } "password_workstation_state_set" { ::append ::Html [h2 "You are about to set a password for this workstation."] ::append ::Html [p { This workstation is not protected by a password and you are being prompted to enter a password now. You must enter the password and then re-enter exactly the same password for verification. NV2 never displays passwords, even when you are entering them, so it is important for you to verify what you have entered. After entering and re-entering the password, click [qw_button OK] to set the new password, If you instead click [qw_button Cancel] the password will remain unset. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228112651 {Workstation Passwords}]}] }] } "password_workstation_state_change" { ::append ::Html [h2 "You are about to change the current workstation password."] ::append ::Html [p { This workstation is protected by a password and you are being prompted to change the password now. You must enter the current password before you can change it. Then enter the new password and re-enter exactly the same new password for verification. NV2 never displays passwords, even when you are entering them, so it is important for you to verify what you have entered. After entering and re-entering the password, click [qw_button OK] to set the new password, If you instead click [qw_button Cancel] the original password will not be changed. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228112651 {Workstation Passwords}]}] }] } "password_user_state_change" { ::append ::Html [h2 "You are about to change a user password."] ::append ::Html [p { You are about to change a user password. You must enter the new password and then re-enter exactly the same password for verification. Note that you do not need to enter the current user password first. If you have access rights to this user then you have the rights to set the password to a new value. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228125631 {User Passwords}]}] }] } "password_workstation_state_locksmith" { ::append ::Html [h2 "You are about to by-pass the workstation password."] ::append ::Html [p { You have entered the special password [qw_field_value locksmith]. You use this password to gain entry into a workstation when you have forgotten the workstation password. }] ::append ::Html [p { You are being prompted to enter a key number. That key number can only be obtained from Q.W.Page customer support after a security check process. You will be asked by Q.W.Page for a lock number which is currently displayed in the dialog, near the top. Do not bother to write this number down. The lock number can only be used right now in a conversation with Q.W.Page customer support. If you attempt the use locksmith again for this workstation, the lock number and the corresponding key number will be different. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228112651 {Workstation Passwords}]}] }] } "password_workstation_error_invalid_password" { ::append ::Html [p { You entered an invalid password for this workstation. You cannot open the workstation unless you enter the correct workstation password. Try again or click [qw_button Cancel] to exit. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228112651 {Workstation Passwords}]}] }] } "password_user_error_invalid_verification" { ::append ::Html [p { Whenever you set or change a password you must enter the same password twice. Because passwords are never displayed, it is important that any typing errors are caught. For this reason you must enter the password twice and the two entries must match. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228125631 {User Passwords}]}] }] } "password_workstation_error_invalid_verification" { ::append ::Html [p { Whenever you set or change a password you must enter the same password twice. Because passwords are never displayed, it is important that any typing errors are caught. For this reason you must enter the password twice and the two entries must match. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228112651 {Workstation Passwords}]}] }] } "password_workstation_error_invalid_password_locksmith" { ::append ::Html [p { The password [qw_field_value locksmith] is reserved and cannot be used as a workstation password. This special password is used, in co-operation with Q.W.Page customer support, to gain access to a workstation when the workstation password has been forgotten. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228112651 {Workstation Passwords}]}] }] } "password_login_error_invalid_locksmith" { ::append ::Html [p { The password [qw_field_value locksmith] is reserved and cannot be used as a user password. This special password is used, in co-operation with Q.W.Page customer support, to gain access to a database when the administrator password has been forgotten. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228125631 {User Passwords}]}] }] } "password_user_error_invalid_locksmith" { ::append ::Html [p { The password [qw_field_value locksmith] is reserved and cannot be used as a user password. This special password is used, in co-operation with Q.W.Page customer support, to gain access to a database when the administrator password has been forgotten. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228125631 {User Passwords}]}] }] } "password_workstation_error_invalid_password_change_collect" { ::append ::Html [p { Before you can change an existing password you must enter that password. You entered an invalid current workstation password, or you did not enter the current workstation password at all, which amounts to the same thing. You can try again by entering the current workstation password. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228112651 {Workstation Passwords}]}] }] } "password_workstation_confirm_password_set" { ::append ::Html [h2 "You are about to set the workstation password."] ::append ::Html [p { Click [qw_button "Set Password"] to confirm that you want to change the workstation password to the password you just entered. The password will be accepted and the workstation will be opened. }] ::append ::Html [p { Click [qw_button Cancel] to retain the original workstation password, which in this case was empty. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228112651 {Workstation Passwords}]}] }] } "password_user_confirm_password_set" { ::append ::Html [h2 "You are about to set the user password."] ::append ::Html [p { Click [qw_button "Set Password"] to confirm that you want to change the user password to the password you just entered. }] ::append ::Html [p { Click [qw_button Cancel] to retain the original user password, which in this case was empty. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228125631 {User Passwords}]}] }] } "password_workstation_confirm_password_clear" { ::append ::Html [h2 "You are about the clear the workstation password."] ::append ::Html [p { Click [qw_button "Clear Password"] to confirm that you want to clear the workstation password. Because you entered the original password but did not enter a new password, the password will be cleared. This means that anyone who has access to your computer may be able to access databases that your workstation has opened in the past. This is a warning. Your workstation will be vulnerable until you set a workstation password. }] ::append ::Html [p { Click [qw_button Cancel] to retain the original workstation password. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228112651 {Workstation Passwords}]}] }] } "password_user_confirm_password_clear" { ::append ::Html [h2 "You are about the clear the user password."] ::append ::Html [p { Click [qw_button "Clear Password"] to confirm that you want to clear the existing user password. This means that anyone will be able to access the database under this user without entering a password. This is a warning. If you clear the user password your database will be vulnerable until you set a new password for this user. }] ::append ::Html [p { Click [qw_button Cancel] to retain the original user password. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228125631 {User Passwords}]}] }] } "password_workstation_confirm_password_change" { ::append ::Html [h2 "You are about the change the workstation password."] ::append ::Html [p { Click [qw_button "Change Password"] to confirm that you want to change the workstation password to the password you just entered. The password will be accepted and the workstation will be opened. }] ::append ::Html [p { Click [qw_button Cancel] to retain the original workstation password. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228112651 {Workstation Passwords}]}] }] } "password_user_confirm_password_change" { ::append ::Html [h2 "You are about the change the user password."] ::append ::Html [p { Click [qw_button "Change Password"] to confirm that you want to change the user password to the password you just entered. }] ::append ::Html [p { Click [qw_button Cancel] to retain the original user password. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228125631 {User Passwords}]}] }] } "password_workstation_confirm_locksmith" { ::append ::Html [h2 "The workstation password is about to be cleared by locksmith."] ::append ::Html [p { Click [qw_button "Clear Password"] to confirm that you want to clear the workstation password. The password will be cleared and the workstation will be opened. }] ::append ::Html [p { Click [qw_button Cancel] to retain the original workstation password. }] ::append ::Html [p { You have succeeded in entering the correct locksmith key obtained from Q.W.Page and you can now open the workstation. Be aware that the workstation password is cleared by this action. After gaining entry to the workstation you should immediately exit. Then run the workstation again and set a password. Until you do this, your workstation will be vulnerable because it will not be protected by a password. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228112651 {Workstation Passwords}]}] }] } "password_login_confirm_locksmith" { ::append ::Html [h2 "The administrator password is about to be cleared by locksmith."] ::append ::Html [p { Click [qw_button "Clear Password"] to confirm that you want to clear the administrator password. The password will be cleared and the database will be opened. }] ::append ::Html [p { Click [qw_button Cancel] to retain the original administrator password. }] ::append ::Html [p { You have succeeded in entering the correct locksmith key obtained from Q.W.Page and you can now open the database. Be aware that the administrator password is cleared by this action. After the database is opened you should immediately set a new administrator password, Until you do this your database will be vulnerable because the administrator will not be protected by a password. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228125631 {User Passwords}]}] }] } "password_login_error_invalid_locksmith_key" { ::append ::Html [h2 "Encountered invalid locksmith key."] ::append ::Html [p { The locksmith key did not match the lock number you obtained from Q.W.Page customer support. You might have entered the locksmith key incorrectly. On the other hand, you might be trying to break into a workstation or database, and if that is the case, we sincerely hope your efforts fail. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228125631 {User Passwords}]}] }] } "password_workstation_error_invalid_locksmith_key" { ::append ::Html [h2 "Encountered invalid locksmith key."] ::append ::Html [p { The locksmith key did not match the lock number you obtained from Q.W.Page customer support. You might have entered the locksmith key incorrectly. On the other hand, you might be trying to break into a workstation or database, and if that is the case, we sincerely hope your efforts fail. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228112651 {Workstation Passwords}]}] }] } "password_login_invalid_locksmith" { ::append ::Html [p { Only the administrator can enter password [qw_field_value locksmith]. The user in the current workstation login row is not the administrator. The password [qw_field_value locksmith] is special and is used only to gain access to a database when the administrator password has been forgotten. }] ::append ::Html [ul { [li {[link .chm $::qw_manual_file .id 314120050228125631 {User Passwords}]}] }] } } ] } } /314120071001165847 { .title "You cannot use locksmith password for a remote database." .id 314120071001165847 .tags {error} .body { [p { You cannot use [qw_term locksmith] to gain access to a remote database through a server. }] [p { The special password [qw_term locksmith] can be used to retrieve a lost password with the assistance of Q.W.Page customer support. However, as an additional security precaution, you can only gain access to a database if you have [qw_quoted physical] control of that database. That is, you must be able to access the database as a local database, not remotely through a server. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050228125631 {User Passwords}]}] }] } } /314120050426115953 { .title "Press F3 to change the password with required entry verification." .id 314120050426115953 .tags {error} .body { [p { You cannot set a password by typing directly into a password field. Press [qw_key "F3"] to pop up an edit assist window that will collect the password. The password must be entered twice for verification. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050228125631 {User Passwords}]}] }] } } /314120050301090118 { .title "The system sets the connection XXX field and it cannot be changed." .id 314120050301090118 .tags {error} .body { [p { The [qw_field_name [qw_s_args .field_path]] field of a server connection object is set by the system and cannot be changed by a user. }] } } /314120050302173206 { .title "Lost access to database XXX." .id 314120050302173206 .tags {error} .body { [p { You no longer have access to database [qw_directory [qw_s_args ".directory"]]. See below for more. }] } } /314120050302174115 { .title "Workstation XXX detected a broken connection to server XXX." .id 314120050302174115 .tags {error} .body { [p { The workstation with name [qw_field_value [qw_s_args ".workstation"]] lost a connection to the server with name [qw_field_value [qw_s_args ".server"]]. See below for more. }] } } /314120050302174652 { .title "Lost connection to server XXX." .id 314120050302174652 .tags {error} .body { [p { A workstation lost a connection to server [qw_field_value [qw_s_args ".server"]]. See below for more. }] } } /314120050416120741 { .title "Could not write to internet connection." .id 314120050416120741 .tags {error} .body { [p { The workstation detected a broken connection when attempting to send information to the server through the connection. }] } } /314120050416120742 { .title "XXX reports XXX." .id 314120050416120742 .tags {error} .body { [p { When a connection is lost NewViews attempts to retrieve the reason from the host system and this information is reported above. Although the underlying system has limited error reporting capabilities, this information could be of help in determining the cause of the lost connection. }] } } /314120050416122645 { .title "Could not write to internet connection." .id 314120050416122645 .tags {error} .body { [p { The server detected a broken connection when attempting to send information to the workstation through the connection. }] } } /314120050302175527 { .title "Expected transmission was not received." .id 314120050302175527 .tags {error} .body { [p { An expected transmission was not received from a server. You have lost access to any database that your workstation currently had open through that server. However, your workstation is still running, and any databases it had open locally, or through other servers, should still be open and operational. The usual causes for a lost server connection: }] [ul { [li { [p { The connection was explicitly deleted on the server. }] [p { Your connection could have been explicitly deleted on the NewViews server. An operator with access to the server can observe the current connections to that server and can actually terminate a connection by explicitly deleting it or triggering the deletion of the connection by shutting down the server. }] }] [li { [p { The server computer crashed. }] [p { The computer running the NewViews server program may have crashed. Or the computer could have simply been turned off, or may have had a power disruption. }] }] [li { [p { The NewViews server program crashed. }] [p { The computer running the NewViews server program may still be running but the NewViews server program may have crashed. Or the program could have simply been shut down. Or a person with access tot he server computer could have explicitly terminated the program by terminating a process from the Windows task manager. }] }] [li { [p { There is a problem with the network connection. }] [p { There may be a problem originating in the network. For example, if a network cable was disrupted in some way it could result in this error. }] }] }] [p { Your workstation is still running and you can attempt to re-open the database. If the server or the network is still down an appropriate error message will be displayed but if the problem has been rectified you will be able to re-open the database. You should contact the person responsible for managing the server. That person can check that the server computer is up and running, and that the NewViews server program is running. }] } } /314120050416124340 { .title "Expected transmission was not received." .id 314120050416124340 .tags {error} .body { [/* { We really don't need this error message. When the server loses a workstation it just silently deletes the connection and closes the database when appropriate. */ }] [p { An expected transmission was not received from a workstation. A workstation has lost access to a database. The usual causes for a lost server connection: }] } } /314120061020084349 { .title "User XXX is changing the same object." .id 314120061020084349 .id_old 314120050306144642 .tags {manual} .body { [p { A [qw_term "collision"] has been detected. }] [p { If you were editing a field when the collision occurred, press [qw_key Esc] or issue the [qw_menu_command Edit Quit] command to restore it's original value. }] [p { You tried to change an object that is currently being changed by another user. You cannot change the object until the other user has finished changing it. }] [p { When two users try to change the same object at the same time we call it a [qw_term "collision"]. Collisions can only occur under multi-user access. }] [p { You are user [qw_field_value [qw_s_args .username]]. }] [p { The other user is [qw_field_value [qw_s_args .other_username]]. }] [p { The object is identified as [qw_field_value [qw_s_args .my_path]]. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050506142743 {More on collisions}]}] }] } } /314120050306155924 { .title "This change conflicts with changes currently being made by user XXX." .id 314120050306155924 .tags {manual} .body { [p { A [qw_term "collision"] has been detected. }] [p { If you were editing a field when the collision occurred, press [qw_key Esc] or issue the [qw_menu_command Edit Quit] command to restore it's original value. }] [p { You tried to change an object that conflicts with changes currently being made to another object by another user. You cannot change the object until the other user has finished changing the conflicting object. }] [p { When two users try to change objects at the same time, and NewViews determines that such simultaneous changes are logically inconsistent, we call it a [qw_term "collision"]. Collisions can only occur under multi-user access. }] [p { When the other user is finished making changes to the conflicting object, and has committed the object by pressing [qw_key F5] or by moving away from it, you will be able to try your changes again. }] [p { You are user [qw_field_value [qw_s_args .username]]. }] [p { The other user is [qw_field_value [qw_s_args .other_username]]. }] [p { The object you tried to change is identified as [qw_field_value [qw_s_args .my_path]]. }] [p { The other user's object is identified as [qw_field_value [qw_s_args .other_path]]. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050506142743 {More on collisions}]}] }] } } /314120040831131202 { .title "Could not connect to server XXX on port XXX." .id 314120040831131202 .tags "error" .body { [p { The operating system reports the following message: [qw_quoted [typewriter [qw_s_args .message]]]. }] [p { The most frequent causes are listed below: }] [ul { [li { [p { The server is not running. }] [p { The specified server computer exists but either it is not running, or it is not offering expected services to the net. }] }] [li { [p { The NewViews server program is not running on the specified server. }] [p { The specified server computer exists and that computer is running, but the NewViews server program is not running on that computer. }] }] [li { [p { You specified a server that does not exist. }] [p { You made a mistake when you entered the [qw_field_name server] field. There is no such server. }] }] [li { [p { The NewViews server is running on a different port number. }] [p { The server exists and it is running a NewViews server program, but the NewViews server is offering services on a different port number different from the port number used by the workstation. A workstation specifies a port number when it attempts to connect to a server. The server offers connection access on one or more port numbers. A workstation and server use the same port number by default, but a port number other than the default port number can be configured and used by any workstation or server. If the port number used by the workstation does not match the any port number offered by the server, then this error message may be the result. }] }] }] } } /314120050311192924 { .title "Server XXX is running but reports that it has encountered a bug." .id 314120050311192924 .tags "error" .body { [p { Server [qw_field_value [qw_s_args .server]] exists and is running as an NV2 server. However, the server has encountered a [qw_term bug] and cannot accept connections at this time. Contact the person responsible for the server and inform them that a bug has occurred on the server. There should be an error message on the server computer displaying information about the bug right now. If the error is dismissed and the NV2 server program is re-started, you should then be able to connect to the server. }] } } /314120050412093657 { .title "Server XXX is running but reports that it is busy." .id 314120050412093657 .tags "error" .body { [p { Server [qw_field_value [qw_s_args .server]] exists and is running as an NV2 server. However, the server is currently too busy to respond. Try the operation again after a brief pause. If the situation persists, contact the server administrator. The server is most likely performing a long all-or-nothing operation and cannot be interrupted at this time. }] } } /314120050308101915 { .title "The system sets the audit record XXX field and it cannot be changed." .id 314120050308101915 .tags {error} .body { [p { The [qw_field_name [qw_s_args .field_path]] field of an audit record is set by the system and cannot be changed by a user. }] } } /314120050308120103 { .title "The system sets the session XXX field and it cannot be changed." .id 314120050308120103 .tags {error} .body { [p { The [qw_field_name [qw_s_args .field_path]] field of a session is set by the system and cannot be changed by a user. }] } } /314120050308121316 { .title "You cannot change the name of special user ADMINISTRATOR." .id 314120050308121316 .tags {error} .body { [p { For reasons given below, you cannot change the administrator's name or access rights. }] [p { The [qw_field_value ADMINISTRATOR] is a special user. The administrator is automatically added to a database when it is first created and the administrator has full access rights to the database. Regardless of changes to other users and their rights, it is necessary that at least one user have full access rights and the administrator is that user. }] [p { The administrator has one access rights object and that object is attached to the root object of the database. That gives the administrator access to the entire database. }] } } /314120050311171901 { .title "The annual registration date for database XXX will expire within 30 days." .id 314120050311171901 .tags {dialog confirm} .body { [p { Each NV2 database has a registration date which must be renewed on an annual basis. The registration date for database [qw_directory [qw_s_args .directory]] will expire within 30 days. The actual registration date can be viewed by issuing the [qw_menu_command "Help" "About"] command while you have the database open. }] [p { The database registration can be renewed now, but only the database administrator can do it. Please inform the database administrator for database [qw_directory [qw_s_args .directory]] that the registration is approaching its renewal date. }] [p { }] [ul { [li {[link .chm $::qw_manual_file .id 314120050311174418 {More on Database Registration}]}] }] } } /314120050311183318 { .title "The annual registration date for database XXX will expire within 30 days." .id 314120050311183318 .tags {dialog confirm} .body { [p { Each NV2 database has a registration date which must be renewed on an annual basis. The registration date for database [qw_directory [qw_s_args .directory]] will expire within 30 days. The actual registration date can be viewed by issuing the [qw_menu_command "Help" "About"] command while you have the database open. }] [p { Since you are the administrator you can renew the registration right now by clicking on [qw_button "Renew Database Registration"]. }] [p { Or click on [qw_button "Cancel"] to continue. You will be given another opportunity to renew the registration each time you, the administrator, open the database. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050311174418 {More on Database Registration}]}] }] } } /314120050311183230 { .title "The annual registration for the database has expired." .id 314120050311183230 .tags {dialog confirm} .body { [p { Each NV2 database has a registration date which must be renewed on an annual basis. The registration date for database has expired. The actual registration date can be viewed by issuing the [qw_menu_command "Help" "About"] command while you have the database open. }] [p { You can continue to open the database but all access will be [qw_term "read-only"]. }] [p { Please inform the database administrator for database [qw_directory [qw_s_args .directory]] that the database registration has expired. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050311174418 {More on Database Registration}]}] }] } } /314120050311183254 { .title "The annual registration for the database has expired." .id 314120050311183254 .tags {dialog confirm} .body { [p { Each NV2 database has a registration date which must be renewed on an annual basis. The registration date for database has expired. The actual registration date can be viewed by issuing the [qw_menu_command "Help" "About"] command while you have the database open. }] [p { Since you are the administrator you can renew the registration right now by clicking on [qw_button "Renew Database Registration"]. }] [p { }] [p { You can continue to open the database but all access will be [qw_term "read-only"]. }] [p { Or click [qw_button "Cancel"] the continue. However, all access will be [qw_term "read-only"] until the database registration is renewed. You will be given another opportunity to renew the registration each time you, the administrator, open the database. }] [p { }] [ul { [li {[link .chm $::qw_manual_file .id 314120050311174418 {More on Database Registration}]}] }] } } /314120050314165855 { .title "This workstation already has database XXX open (under user XXX)." .id 314120050314165855 .tags {error} .body { [p { This workstation already has database [qw_directory [qw_s_args .directory]] open. It happens to be open under user [qw_field_value [qw_s_args .username]]. }] [p { NV2 does not allow the same database to be open more than once from the same workstation. We anticipate that this restriction is of a temporary nature and that it may be lifted in a subsequent version of NV2. }] } } /314120050421101817 { .title "Database XXX has the same database id as database XXX." .id 314120050421101817 .tags {error} .body { [p { You attempted to open database [qw_directory [qw_s_args .database_path]] on server [qw_field_value [qw_s_args .server_name]]. However database [qw_directory [qw_s_args .database_path]] has the same [qw_term "database id"] as another database that the server also currently has open. The other database is [qw_directory [qw_s_args .existing_database_path]] on the server. The [qw_term "database id"] of both databases is [qw_field_value [::qw::add_hyphens [qw_s_args .database_id]]]. }] [p { The server cannot open the same database more than once at the same time. NewViews considers two databases to be the same database if they have the same database id. This is true even when the databases are different files. }] [p { Note that situation where two different database files have the same database ids usually arises because one database is a backup of the other, or because you copied an existing database to another file to start a new database instead of creating it from scratch. For more about database ids and how you can manage and change them, click on the link below. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050414160434 {More on database ids.}]}] }] } } /314120050413154508 { .title "Database XXX has the same database id as database XXX." .id 314120050413154508 .tags {error} .body { [p { You attempted to open database [qw_directory [qw_s_args .database_path]] but that database has the same [qw_term "database id"] as the database in [qw_directory [qw_s_args .existing_database_path]]. In addition, database [qw_directory [qw_s_args .existing_database_path]] is already open on this workstation. The [qw_term "database id"] of both databases is [qw_field_value [::qw::add_hyphens [qw_s_args .database_id]]]. }] [p { NewViews is multi-user and any number of different workstations can open the same database at the same time through a server. But each individual workstation can only open the same database once. And NewViews considers two databases to be the same database if they have the same database id. This is true even when the databases are in different files. }] [p { Note that situation where two databases in different files have the same database ids usually arises because one database is a backup of the other, or because you copied an existing database to another file to start a new database instead of creating it from scratch. For more about database ids and how you can manage and change them, click on the link below. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050414160434 {More on database ids.}]}] }] } } /314120050515110459 { .title "This script will change a database id." .id 314120050515110459 .tags {dialog notify} .body { [p { This script will change a database id to a new unique value. Enter the database file or click the file pick button to pick a database from a file explorer. Then click [qw_button OK] to change the database id. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050414160434 {More on database ids.}]}] }] } } /314120050503102154 { .title "Could not set new database id for database XXX." .id 314120050503102154 .tags {error} .body { [p { The database id for database [qw_directory [qw_s_args .database_path]] could not be changed. See below for more. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050414160434 {More on database ids.}]}] }] } } /314120050503101813 { .title "You cannot set a new database id because the database is currently open." .id 314120050503101813 .tags {error} .body { [p { Database [qw_directory [qw_s_args .database_path]] is currently open and you cannot set a new database id if the database is open. Close the database first by ensuring that all users have logged out, i.e. that they have closed the database from their workstations. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050414160434 {More on database ids.}]}] }] } } /314120050415100932 { .title "The database id for XXX is now XXX." .id 314120050415100932 .tags {dialog notify} .body { [p { The database id for [qw_directory [qw_s_args .database_path]] has been set to [qw_field_value [::qw::add_hyphens [qw_s_args .new_database_id]]]. The old database id was [qw_field_value [::qw::add_hyphens [qw_s_args .old_database_id]]]. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050414160434 {More on database ids.}]}] }] } } /314120050317162736 { .title "The screen size is less than the recommended minimum." .id 314120050317162736 .tags {dialog notify} .body { [p { The computer screen is currently set to size [qw_field_value [::winfo screenwidth .]x[::winfo screenheight .]]. The recommended minimum screen size is [qw_field_value "1280x1024"]. }] [p { This is only a recommendation. We display this dialog only during installation and only to bring the recommendation to you attention. NewViews will run on your computer regardless of its screen size or resolution so just press [qw_button OK] and proceed to install NewViews. }] [p { There may be screen settings available on your computer that have a higher resolution than the setting you are currently using. If so, you should set your screen to the highest resolution available. NewViews is a highly visual product. For example, fonts can be resized to your preferences using the mouse wheel with the [qw_key Ctrl] key held down. Using smaller fonts increases the amount of information that can be viewed on the screen, but characters will be more readable with higher screen resolutions. }] [/* { The main NV2 desktop may fill the maximum size of your display screen. The recommended minimum resolution is 1280x1024. This will allow 6 analysis columns to be visible without scrolling horizontally. With a resolution of 1600x1200 you will increase your desktop space by 46% and see 8 analysis columns and over 50 lines on an account or report table. Although NV2 will operate on a screen resolution of 1024x768 it is not recommended. With a reduced desktop by 66% it will only show reports with 3 columns on the default desktop. If your monitor is less than 17-inches, it's time to upgrade. CRT? LCD? What does this mean? CRT, monitors are the large monitors you're probable quite familiar with. They're based on the same principal as most TV sets, which makes them heavy and bulky. CRT monitor are great bargains these days. CRT monitors are always about one inch smaller than you'd think. A typical 19-inch CRT monitor actually has 18 inches of display space because the display tube is partially hidden by the monitor case. LCD monitors are flat, thin, light and are the size they say they are. A 17-inch LCD offers 17 full inches of display space. If you can afford an LCD monitor, get a 17-inch. If you're buying a CRT monitor, get a 19-inch. The current flat screen LCD monitors max out at 1280x1024 resolution for 17" and 19" models. To get 1600x1200 resolution on a flat screen LCD you need a 20" model. */ }] } } /314120050324174423 { .title "Database XXX is currently being recovered and cannot be opened at this time." .id 314120050324174423 .tags {dialog confirm} .body { [p { Another workstation is opening database [qw_directory [qw_s_args .directory]] on server [qw_field_value [qw_s_args .server]] and the database is being recovered by that workstation. It was not properly closed the last time it was opened so a recovery is necessary. You can keep trying to open the database until you succeed. By the time you read this error message the recovery operation may have completed. }] } } /314120050330175634 { .title "Select a NewViews database from a file explorer." .id 314120050330175634 .tags {dialog file} .body { [p { You are being asked to select a NewViews database file for a workstation login row. If you select one, the login [qw_field_name file] field will be set to the selected database. You can then open the database by changing the [qw_field_name state] field from [qw_field_value closed] to [qw_field_value open]. }] [p { A NewViews database file has the file type [qw_quoted [qw_directory .nv2]]. }] [p { Note: Before version [qw_field_value 2.09] each database was identified by a folder, not a file. For compatibility, you can still select a folder so that you can pick a pre-2.09 database in order to convert it. }] } } /314120060526115741 { .title "Select a NewViews database from a file explorer." .id 314120060526115741 .tags {dialog file} .body { [p { You are being asked to select a NewViews database file for the purpose of changing its [qw_term "database id"]. }] [p { A NewViews database file has the file type [qw_quoted [qw_directory .nv2]]. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050414160434 {More on database ids.}]}] }] } } /314120050325105942 { .title "Select a database from the server." .id 314120050325105942 .tags {dialog list} .body { [p { You are being asked to select a database for a workstation login row. The items displayed in the list are databases that server [qw_field_value [qw_s_args .server]] is offering on port [qw_field_value [qw_s_args .port]]. If you select one, the workstation login [qw_field_name file] field will be set to the selected database. You can then open the database by changing the [qw_field_name state] field from [qw_field_value closed] to [qw_field_value open]. }] } } /314120050330122344 { .title "There is no edit assist on the server field." .id 314120050330122344 .tags {error} .body { [p { There is no edit assist on the server field. You will have the get the name or ip address of the server from the server administrator. }] } } /314120050330122358 { .title "There is no edit assist on the user field." .id 314120050330122358 .tags {error} .body { [p { You have to enter a user name manually. Although NewViews could provide a list of users for a particular database, doing so would be a security breach. }] } } /314120050401165033 { .title "Server XXX terminated a connection to workstation XXX." .id 314120050401165033 .tags {error} .body { [p { You have lost a connection to server [qw_field_value [qw_s_args .server]]. The connection was terminated at the server. Someone with access to the server explicitly deleted the connection or triggered the deletion of the connection by shutting down the server, or the server restarted because a bug was detected. }] [p { The server may still be running, or may restart itself automatically, so you can try to connect again by re-opening the database that disappeared when the connection was lost. }] [p { Otherwise, you should contact the server administrator to check on the specific cause of the termination. }] } } /314120050401164657 { .title "Server XXX terminated a connection to database XXX." .id 314120050401164657 .tags {error} .body { [p { You have lost a connection to server [qw_field_value [qw_s_args .server]]. The connection was terminated at the server. Someone with access to the server explicitly deleted the connection or triggered the deletion of the connection by shutting down the server. }] [p { You should contact the server administrator to check on the specific cause of the termination. If the connection was deleted the server may still be running and you can attempt to connect again by re-opening the database. }] } } /314120050411091718 { .title "Could not retrieve table cell XXX." .id 314120050411091718 .tags {error} .body { [p { An error occurred while attempting to retrieve the value of a table cell. We display the cell row and column in the error message. This information will generally not be useful for the user, but may be of assistance if the error was caused by a bug. See below for more. }] } } /314120050413101429 { .title "Detected a conflict between audit trail dates and the system date of computer XXX." .id 314120050413101429 .tags {error} .body { [p { The computer system time is set before the time of the last audit record in the set of books you are working on or which you are trying to open. This may be an attempt to manipulate the clock for unknown purposes, or perhaps the system time has been adjusted to move from daylight savings time to standard time. Computers synchronize with an external source such as the Network Time Protocol, and this can cause the system time to change. Processes running in virtual machines may also [qw_quoted drift] from real time so they synchronize with the system clock of the host computer from time to time. Or the database has been moved from one computer to another and the system times of the two computers are sufficiently different to produce this error. }] [p { In any case, the system time must not precede the date of the last audit record. NewViews maintains a carefully controlled audit trail. Each audit record is time-stamped so that audit records, and therefore all audited activity in a database can be kept in strict chronological order. Any attempt to manipulate the system time by setting it to a previous date or time would not allow this strict chronological order to be maintained. }] [p { Note that from NewViews version 2.34.9 onward, the system time is allowed to precede the last audit record date by up to 30 minutes. If the system time is before the last audit record date, but the difference is less than 30 minutes, the last audit record date is used in the next audit record instead of the system time. In this way the audit record dates are still increasing and the minor discrepency in dates is deemed not material. System date adjustments are typically much less than 30 minutes and when the difference exceeds 30 minutes then it is the result of a more serious problem. }] [p { Shown below are the system time and the last audit record date. }] [ul { [li { [p { System Time }] [p { [qw_field_value [::qw::date::format [qw_s_args .system_date]]] }] }] [li { [p { Last Audit Record Date }] [p { [qw_field_value [::qw::date::format [qw_s_args .last_audit_date]]] }] }] }] } } /314120050901171322 { .title "Detected an uncontrolled change to the system clock." .id 314120050901171322 .tags {error} .body { [p { The computer system time has been changed while NewViews was accessing a database. This may be an attempt to manipulate the clock for unknown purposes, or it may simply be the case that the clock has been adjusted to move from standard time to daylight savings time. }] [p { Moving the system clock backward is not allowed. NewViews maintains a carefully controlled audit trail. Each audit record is time-stamped so that audit records, and therefore all audited database activity, can be kept in strict chronological order. Any attempt to manipulate the system clock by setting it to a previous date or time would not allow this strict chronological order to be maintained. }] [ul { [li { [p { System Date }] [p { [qw_field_value [::clock format [qw_s_args .system_seconds]]] }] }] [li { [p { Date of Last Audit Record }] [p { [qw_field_value [::clock format [qw_s_args .audit_seconds]]] }] }] }] } } /314120050413160927 { .title "Encountered more than 18 significant digits left of the decimal point." .id 314120050413160927 .tags {error} .body { [p { The value [qw_field_value [qw_s_args .value]] is out of the accepted range. NewViews can accept numbers within a large range but there are limits. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050513144843 {Numeric Entry}]}] }] } } /314120060804151325 { .title "The biggest real number that can be entered is XXX." .id 314120060804151325 .tags {error} .body { [p { The value [qw_field_value [qw_s_args .value]] is out of the accepted range. NewViews can accept numbers within a large range but there are limits. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050513144843 {Numeric Entry}]}] }] } } /314120050413184330 { .title "Expected a properly formed number or numeric expression." .id 314120050413184330 .tags {error} .body { [p { The value [qw_field_value [qw_s_args .value]] cannot be recognized as a number. It is not a valid number and it cannot be parsed as a properly formed expression. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050513144843 {Numeric Entry}]}] }] } } /314120060516095211 { .title "Convert database XXX from version XXX to XXX?" .id 314120060516095211 .tags {dialog confirm} .body { [/* { Converting a database file (209 or greater) to another database file (209 or greater). */ }] [p { NewViews version [qw_field_value [qw_s_args .database_version]] was last used on database [qw_directory [qw_s_args .database_path]] but you are currently running version [qw_field_value [qw_s_args .program_version]]. This change to the version requires processing of the database to upgrade it to version [qw_field_value [qw_s_args .program_version]]. If you click [qw_button [qw_s_args .button_ok]] the processing will be performed and the database will be opened. }] [p { As a precaution, before the conversion, a backup copy of [qw_directory [qw_s_args .database_path]] will be automatically created in file [qw_directory [qw_s_args .backup_database_path]]. }] [p { If you click [qw_button [qw_s_args .button_cancel]] no action will be taken and the database will not be opened. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]}] }] } } /314120050513134740 { .title "Convert database XXX from version XXX to XXX?" .id 314120050513134740 .tags {dialog confirm} .body { [/* { Converting a database directory (208 or less) to a database file (209 or greater). */ }] [p { You are about to convert database [qw_directory [qw_s_args .directory]] from version [qw_field_value [qw_s_args .database_version]] to [qw_field_value [qw_s_args .program_version]]. }] [p { [bold "The resulting database will be the single file: [qw_directory [qw_s_args .database_path]]"]. }] [p { NewViews versions [bold "[qw_field_value 2.08] and earlier"] kept each database in a number of files in the same folder. The database was identified by the folder. }] [p { NewViews versions [bold "[qw_field_value 2.09] and later"] keep each database in a single file. Any number of databases can now be kept in the same folder and each database is identified by the individual file. }] [p { As usual, as a precaution, before the conversion, a backup copy of database [qw_directory [qw_s_args .directory]] will be automatically created in folder [qw_directory [qw_s_args .backup_directory]]. }] [p { The converted database will be in the file [qw_directory [qw_s_args .database_path]], in the same folder as the original database. }] [p { You can now use any file name for a database as long as it has the file type [qw_quoted [qw_directory .nv2]]. So although the converted database will be given the name [qw_directory "database.nv2"] by default, you can rename it to something else such as [qw_directory "acme.nv2"]. }] [p { For more on why each database has been combined into a single file, and what this means to the management of databases, see the [link .chm $::qw_manual_file .id 314120060511090716 {What's New.}] section for version [qw_field_value 2.09]. }] [p { For more general information on this and other versions, see [link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]. }] } } /314120050513134741 { .title "Database XXX was successfully converted to version XXX." .id 314120050513134741 .tags {dialog notify} .body { [p { Database [qw_directory [qw_s_args .directory]] was successfully converted from version [qw_field_value [qw_s_args .database_version]] to version [qw_field_value [qw_s_args .program_version]]. }] [p { As a precaution, before the conversion, a backup copy of [qw_directory [qw_s_args .directory]] was created in folder [qw_directory [qw_s_args .backup_directory]]. }] [p { We recommend that you also backup the converted database. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]}] }] } } /314120071205133912 { .title "Database XXX was successfully converted to version XXX." .id 314120071205133912 .tags {dialog notify} .body { [p { Database [qw_directory [qw_s_args .file]] was successfully converted from version [qw_field_value [qw_s_args .database_version]] to version [qw_field_value [qw_s_args .program_version]]. }] [p { As a precaution, before the conversion, a backup copy of [qw_directory [qw_s_args .file]] was created in file [qw_directory [qw_s_args .backup_file]]. }] [p { We recommend that you also backup the converted database. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]}] }] } } /314120060517090530 { .title "Database XXX was successfully converted to version XXX." .id 314120060517090530 .tags {dialog notify} .body { [/* { This help is only on the confirm prompt after a pre-209 database is converted from multiple files to a single file. */ }] [p { Database [qw_directory [qw_s_args .directory]] was successfully converted from version [qw_field_value [qw_s_args .database_version]] to version [qw_field_value [qw_s_args .program_version]]. You can now click [qw_button [qw_s_args .button_cancel]] to open the database. }] [p { As a precaution, before the conversion, a backup copy of [qw_directory [qw_s_args .directory]] was created in folder [qw_directory [qw_s_args .backup_directory]]. }] [p { We recommend that you also backup the converted database, which is now the single file [qw_directory [qw_s_args .database_path]]. }] [/* { Converting a database directory (208 or less) to a database file (209 or greater). */ }] [p { When you converted database [qw_directory [qw_s_args .directory]] to version [qw_field_value [qw_s_args .program_version]], [bold "the resulting database is the single file [qw_directory [qw_s_args .database_path]]"]. The old database files, i.e. [qw_directory database.hdr], and [qw_directory database.0] to [qw_directory database.N], which were in folder [qw_directory [qw_s_args .directory]], have been replaced by the single file mentioned above, (after backing them up to folder [qw_directory [qw_s_args .backup_directory]]). }] [p { NewViews versions [bold "[qw_field_value 2.08] and earlier"] kept each database in a number of files in the same folder. The database was identified by the folder. }] [p { NewViews versions [bold "[qw_field_value 2.09] and later"] keep each database in a single file. So any number of databases can now be kept in the same folder, each as an individual file. }] [p { The conversion put the converted database in the same folder as the original database, but you can now move it if desired. }] [p { You can also now use any file name for a database as long as it has the file type [qw_quoted [qw_directory .nv2]]. So although the converted database has been given the name [qw_directory "database.nv2"] by default, you can rename it to something else such as [qw_directory "acme.nv2"]. }] [p { For more on why each database has been combined into a single file, and what this means to the management of databases, see the [link .chm $::qw_manual_file .id 314120060511090716 {What's New.}] section for version [qw_field_value 2.09]. }] [p { For more general information on this and other versions, see [link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]. }] } } /314120050517111158 { .title "Convert workstation/server XXX from version XXX to XXX?" .id 314120050517111158 .tags {dialog confirm} .body { [p { NewViews version [qw_field_value [qw_s_args .database_version]] was last used on workstation [qw_directory [qw_s_args .database_path]] but you are currently running version [qw_field_value [qw_s_args .program_version]]. This change to the version requires some processing of the workstation to upgrade it to version [qw_field_value [qw_s_args .program_version]]. If you click [qw_button [qw_s_args .button_ok]] the processing will be performed and the workstation will be opened. }] [p { As a precaution, before the conversion, a backup copy of [qw_directory [qw_s_args .directory]] will be automatically created in folder [qw_directory [qw_s_args .backup_directory]]. }] [p { If you click [qw_button [qw_s_args .button_cancel]] no action will be taken and the workstation will not be opened. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]}] }] } } /314120050517111200 { .title "Convert server XXX from version XXX to XXX?" .id 314120050517111200 .tags {dialog confirm} .body { [p { NewViews version [qw_field_value [qw_s_args .database_version]] was last used on server [qw_directory [qw_s_args .directory]] but you are currently running version [qw_field_value [qw_s_args .program_version]]. This change to the version requires some processing of the server to upgrade it to version [qw_field_value [qw_s_args .program_version]]. If you click [qw_button [qw_s_args .button_ok]] the processing will be performed and the server will be opened. }] [p { As a precaution, before the conversion, a backup copy of [qw_directory [qw_s_args .directory]] will be automatically created in folder [qw_directory [qw_s_args .backup_directory]]. }] [p { If you click [qw_button [qw_s_args .button_cancel]] no action will be taken and the server will not be opened. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]}] }] } } /314120060519161042 { .title "Convert workstation/server XXX from version XXX to XXX?" .id 314120060519161042 .tags {dialog confirm} .body { [/* { Converting a workstation/erver database directory (208 or less) to a database file (209 or greater). */ }] [p { You are about to convert [qw_s_args .database_type] [qw_directory [qw_s_args .directory]] from version [qw_field_value [qw_s_args .database_version]] to [qw_field_value [qw_s_args .program_version]]. }] [p { [bold "The resulting [qw_s_args .database_type] database will be the single file: [qw_directory [qw_s_args .database_path]]"]. }] [p { NewViews versions [bold "[qw_field_value 2.08] and earlier"] kept each [qw_s_args .database_type] database in a number of files in the same folder. }] [p { NewViews versions [bold "[qw_field_value 2.09] and later"] keep each database in a single file. }] [p { As usual, as a precaution, before the conversion, a backup copy of [qw_s_args .database_type] database [qw_directory [qw_s_args .directory]] will be automatically created in folder [qw_directory [qw_s_args .backup_directory]]. }] [p { The converted [qw_s_args .database_type] database will be in the file [qw_directory [qw_s_args .database_path]]. }] [p { For more on why each database has been combined into a single file, and what this means to the management of databases, see the [link .chm $::qw_manual_file .id 314120060511090716 {What's New.}] section for version [qw_field_value 2.09]. }] [p { For more general information on this and other versions, see [link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]. }] } } /314120090102121001 { .title "Database XXX cannot be converted directly to version XXX." .id 314120090102121001 .tags {dialog confirm} .body { [p { The database is too old to be converted to version $::qw_version. }] [p { Database [qw_directory [qw_s_args .database_path]] is version [qw_s_args .database_header.odb.version] and cannot be converted directly to version $::qw_version, i.e. the current version of NewViews. Databases up to and including version 2.08 must first be converted to version 2.09 (using NewViews version 2.09) and then re-converted to the current version. }] [p { Q.W.Page customer support can help you through this conversion process, or Q.W.Page will perform it for you if you send us your database(s). }] } } /314120071205094956 { .title "Convert workstation/server XXX from version XXX to XXX?" .id 314120071205094956 .tags {dialog confirm} .body { [p { NewViews version [qw_field_value [qw_s_args .database_version]] was last used on [qw_s_args .application_type] [qw_directory [qw_s_args .database_path]] but you are currently running version [qw_field_value [qw_s_args .program_version]]. This change to the version requires some processing of the [qw_s_args .application_type] to upgrade it to version [qw_field_value [qw_s_args .program_version]]. If you click [qw_button [qw_s_args .button_ok]] the processing will be performed and the [qw_s_args .application_type] will be opened. }] [p { As a precaution, before the conversion, a backup copy of [qw_directory [qw_s_args .database_path]] will be automatically created in file [qw_directory [qw_s_args .backup_database_path]]. }] [p { If you click [qw_button [qw_s_args .button_cancel]] no action will be taken and the [qw_s_args .application_type] will not be opened. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]}] }] } } /314120050517111159 { .title "Workstation XXX was successfully converted to version XXX." .id 314120050517111159 .tags {dialog confirm} .body { [p { Workstation [qw_directory [qw_s_args .directory]] was successfully converted from version [qw_field_value [qw_s_args .database_version]] to version [qw_field_value [qw_s_args .program_version]]. You can now click [qw_button [qw_s_args .button_cancel]] to open the workstation. }] [p { As a precaution, before the conversion, a backup copy of [qw_directory [qw_s_args .directory]] was created in folder [qw_directory [qw_s_args .backup_directory]]. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]}] }] } } /314120050517111201 { .title "Server XXX was successfully converted to version XXX." .id 314120050517111201 .tags {dialog confirm} .body { [p { Server [qw_directory [qw_s_args .directory]] was successfully converted from version [qw_field_value [qw_s_args .database_version]] to version [qw_field_value [qw_s_args .program_version]]. You can now click [qw_button [qw_s_args .button_cancel]] to open the server. }] [p { As a precaution, before the conversion, a backup copy of [qw_directory [qw_s_args .directory]] was created in folder [qw_directory [qw_s_args .backup_directory]]. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]}] }] } } /314120060518164631 { .title "WorkstationServer XXX was successfully converted to version XXX." .id 314120060518164631 .tags {dialog confirm} .body { [p { The [qw_s_args .database_type] [qw_directory [qw_s_args .directory]] was successfully converted from version [qw_field_value [qw_s_args .database_version]] to version [qw_field_value [qw_s_args .program_version]]. You can now click [qw_button [qw_s_args .button_cancel]] to open the workstation. }] [p { [bold "The resulting database is now in a single file: [qw_directory [qw_s_args .database_path]]"]. }] [p { NewViews versions [bold "[qw_field_value 2.08] and earlier"] kept each database in a number of files in the same folder. }] [p { NewViews versions [bold "[qw_field_value 2.09] and later"] keep each database in a single file. }] [p { As usual, as a precaution, before the conversion, a backup copy of [qw_directory [qw_s_args .directory]] was automatically created in folder [qw_directory [qw_s_args .backup_directory]]. }] [p { The converted database is in the file [qw_directory [qw_s_args .database_path]]. }] [p { For more on why each database has been combined into a single file, and what this means to the management of databases, see the [link .chm $::qw_manual_file .id 314120060511090716 {What's New.}] section for version [qw_field_value 2.09]. }] [p { For more general information on this and other versions, see [link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]. }] } } /314120050514090804 { .title "You cannot convert a database with multi-user access." .id 314120050514090804 .tags {error} .body { [p { You attempted to convert database [qw_directory [qw_s_args .database_path]] with multi-user access. For security and control reasons, this is not allowed. There is no technical reason. To convert the database, open it locally with single-user access. }] [p { Converting a database is an operation that should be controlled by the person responsible for managing the database. Suppose we allowed a workstation to convert a remote database on a server. If one of the workstations has a higher version of NewViews then that workstation could convert the database to the higher version. Other workstations would no longer be able to access the converted database until they also had updated to the new program version. We feel it is better for someone with direct local access to the database to convert it and to ensure that all workstations that normally access the database are also upgraded to the newer program version at the same time. }] [ul { [li {[link .chm $::qw_manual_file .id 314120050422104251 {More on the version history of NewViews.}]}] }] } } /314120030624090155 { .title "Field XXX the sum of amounts below." .id 314120030624090155 .tags {error} .body { [p { Field [qw_field_name [qw_s_args .field_path]] is a sum of amounts below. To change this amount you must edit change amounts in objects below. }] [p { An example may help. Amounts on a transaction header are most often the sum of amounts on its line items. For example, amounts on an invoice header are generally the sum of the corresponding amounts on the invoice line item details. The only way to change a sum shown on the header is to change the amounts on the line item details below, which of course changes the sum on the header. }] } } /314120030623145522 { .title "Field XXX has already been set to XXX in an object above." .id 314120030623145522 .tags {error} .body { [p { You cannot change field [qw_field_name [qw_s_args .field_path]] here because it has already been set in an object [qw_term above] the object you tried to change. Its value has been [qw_term "inherited"] from the object above and the value cannot be overridden. }] [p { To change the value, you have to go to the object above and change it there. }] [p { For example, consider an invoice date. You set the date once in the invoice header and then this date is inherited by each invoice line item below. If you try to change the date of a line item, you get this error. Note that you [bold can] change the invoice date by simply changing it in the invoice header. }] } } /314120060412063701 { .title "You cannot change the journal of a transaction line item." .id 314120060412063701 .tags {error} .body { [p { You tried to change the journal of a transaction line item. You can change the journal that a transaction belongs to, but to do so you must change it in the transaction header. The entire transaction, including its line items, all belong to the same journal and the transaction's journal can only be changed for the entire transaction; not for individual line items. }] [p { This error usually happens when you are working on a table of account postings, i.e. an account ledger, and you try to change the journal of a posting. The posting may have come from either a transaction header or a transaction line item and it is not always obvious on the account ledger which is the case. }] [p { If the posting came from a transaction header then you can in fact change it from the account ledger. For example, if you are on a customer or vendor account then postings from sales and purchase orders and invoices come from transaction headers. So you can actually move the invoice to a different journal, say from a sales order journal to a sales invoice journal, thus [qw_term "invoicing"] the order. }] [p { On the other hand, if you are on an inventory or expense account, then postings from the orders and invoices come from line items. In this case you cannot change the journal from the account ledger because that would be attempting to change the journal of an individual line item; not the transaction as a whole. }] } } /314120060412063702 { .title "You cannot change the date of a transaction line item." .id 314120060412063702 .tags {error} .body { [p { You tried to change the date of a transaction line item. You can change the transaction date, but to do so you must change it in the transaction header. The entire transaction, including its line items, all belong on the same date and the transaction's date can only be changed for the entire transaction; not for individual line items. }] [p { This error usually happens when you are working on a table of account postings, i.e. an account ledger, and you try to change the date of a posting. The posting may have come from either a transaction header or a transaction line item and it is not always obvious on the account ledger which is the case. }] [p { If the posting came from a transaction header then you can in fact change it from the account ledger. For example, if you are on a customer or vendor account then postings from sales and purchase orders and invoices come from transaction headers. So you can actually change the date of the invoice or order from the account ledger. }] [p { On the other hand, if you are on an inventory or expense account, then postings from the orders and invoices come from line items. In this case you cannot change the date from the account ledger because that would be attempting to change the date of an individual line item; not the transaction as a whole. }] } } /314120060412063703 { .title "You cannot change the reference of a transaction line item." .id 314120060412063703 .tags {error} .body { [p { You tried to change the reference of a transaction line item. You can change the transaction reference, but to do so you must change it in the transaction header. The entire transaction, including its line items, all have the same reference and the transaction's reference can only be changed for the entire transaction; not for individual line items. }] [p { This error usually happens when you are working on a table of account postings, i.e. an account ledger, and you try to change the reference of a posting. The posting may have come from either a transaction header or a transaction line item and it is not always obvious on the account ledger which is the case. }] [p { If the posting came from a transaction header then you can in fact change it from the account ledger. For example, if you are on a customer or vendor account then postings from sales and purchase orders and invoices come from transaction headers. So you can actually change the reference of the invoice or order from the account ledger. }] [p { On the other hand, if you are on an inventory or expense account, then postings from the orders and invoices come from line items. In this case you cannot change the reference from the account ledger because that would be attempting to change the reference of an individual line item; not the transaction as a whole. }] } } /314120060412063704 { .title "You cannot change this posting's account on a transaction line item." .id 314120060412063704 .tags {error} .body { [p { You tried to change one of the accounts that a transaction posts to. This is usually allowed, but in this case the account has been selected in the transaction header and it cannot be overridden on individual line items. You can change the account, but to do so you must change it in the transaction header. }] [p { This error usually happens when you are working on a table of account postings, i.e. an account ledger, and you try to change the account of a posting. The posting may have come from either a transaction header or a transaction line item and it is not always obvious on the account ledger which is the case. }] [p { If the posting came from a transaction header then you can in fact change it from the account ledger. For example, if you are on a customer or vendor account then postings from sales and purchase orders and invoices come from transaction headers. So you can actually move the invoice to a different customer or vendor by changing the customer or vendor account. The posting will disappear from the current ledger and re-appear on the new customer or vendor ledger. }] [p { The same is often true when the posting came from a line item. For example, if you are on an inventory account a posting may come from an invoice line item. If you change the account, the line item will post to the new account, thus reallocating the line item to a different inventory or expense account. Again, the posting will disappear from the current ledger and re-appear on the new inventory or expense. }] [p { However, the account ledger row may display more than one account, often displaying the customer or vendor for convenience. If you are on an inventory posting and you try to change the customer or vendor account you will get this error. That is because all line items on the invoice belong to the same customer. You can change the customer in the invoice header, but not on individual line items. }] } } /314120050831080030 { .title "Confirm that you want to abort checking." .id 314120050831080030 .tags {dialog confirm nvcheck} .body { [h2 "Confirm that you want to abort checking."] [p { Either you have asked to abort checking, or you are attempting to perform an operation that can be completed only by aborting the currently running check, such as shutting nvcheck or shutting the progress window. }] [p { Checking is currently paused. Click [qw_button [qw_s_args .button_ok]] to abort checking, or click [qw_button [qw_s_args .button_cancel]] to resume checking. }] [p { [bold "You can abort checking at any time without introducing problems."] }] [p { For your information, the check that will be aborted is described as [qw_quoted [qw_s_args .operation_description]] and it is being performed on file [qw_directory [qw_s_args .file]]. }] } } /314120050831090702 { .title "Select a file from a directory tree." .id 314120050831090702 .tags {dialog file nvcheck} .body { [p { You are being asked to select a file for nvcheck. NewViews files are files with the type [qw_quoted [qw_directory .nv2]]. File are being displayed in a file explorer and you are being asked to pick one. If you select one, the nvcheck [qw_field_name "File"] field will be set to the selected file. You can then use nvcheck to run checks on the selected file. }] } } /314120050831142528 { .title "nvcheck encountered an error while checking file XXX." .id 314120050831142528 .tags {error nvcheck} .body { [p { nvcheck encountered an error while checking file [qw_directory [qw_s_args .file]]. Q.W.Page considers any problem encountered by nvcheck to be a serious problem. Contact Q.W.Page customer support. Q.W.Page will take immediate action to correct the problem. [/* { Note however, that you should review the terms of your license and maintenance plan. */ }] }] } } /314120050909125815 { .title "Encountered bad block at seek position XXX." .id 314120050909125815 .tags {error nvcheck} .body { [p { Encountering a bad block implies corruption of the file at a very low level, and that corruption has usually occurred at the disk interface level. The exact origin of the problem will likely remain unknown but possible causes are: }] [ul { [li { [p { A bug in underlying operation system software. }] [p { The data written by NewViews to the disk may not have made it to the disk intact. This may be due to a bug in the operating system or in network transport when the disk is accessed in a local area net (not to be confused with NewViews remote access to a NewViews server). }] }] [li { [p { A file was not properly copied. }] [p { A system failure occurred in the middle of a file copy operation. }] }] [li { [p { Data written by NewViews to the disk may not have made it intact. }] [p { This cause should be rare due to checking at the operating system and hardware level, but it can occur. It may also occur when accessing a file on another computer of a local area network if the net transport layer fails (also rare). Note, this is not to be confused with NewViews remote access to a NewViews server which cannot introduce bad block errors. }] }] [li { [p { A third-party program clobbered the file. }] [p { Any program can write to the disk and therefore can inadvertently clobber a NewViews file. The checks performed by nvcheck detect this situation because all data in a NewViews file is protected using checksums. }] }] }] [p { The preferred solution when [qw_term "bad blocks"] are detected is to restore from the most recent backup copy, presumably one on which nvcheck succeeded. In special circumstances, Q.W.Page customer support may be able to take alternative action to rectify the problem. }] } } /314120050901080030 { .title "Confirm that you want to abort a reorganize operation." .id 314120050901080030 .tags {dialog confirm nvreorganize} .body { [h2 "Confirm that you want to abort a reorganize operation."] [p { [bold "You can abort a reorganize operation at any time and all work performed by the operation will be undone; see below."] }] [p { Either you have asked to abort a reorganize, or you are attempting to perform an operation that can be completed only by aborting the currently running reorganize operation, such as shutting nvreorganize or shutting its progress window. }] [p { The reorganize operation is currently paused. Click [qw_button [qw_s_args .button_ok]] to abort, or click [qw_button [qw_s_args .button_cancel]] to resume the operation. }] [p { For your information, the operation that will be aborted is described as [qw_quoted [qw_s_args .operation_description]] and it is being performed on file [qw_directory [qw_s_args .directory]]. }] [h2 "Aborting and File Integrity"] [p { A reorganize operation is an [qw_term "all-or-nothing"] operation. It must succeed, or else the file is restored to the exact state it had before the reorganize was initiated. So, when you abort a reorganize operation, the file is restored to its previous state, exactly as if the operation had not been performed in the first place. You may see an temporary progress window pop up when you abort a reorganize operation, but that progress bar is only reporting the progress of the restore operation. }] } } /314120050901090702 { .title "Select a file from a directory tree." .id 314120050901090702 .tags {dialog file nvreorganize} .body { [p { You are being asked to select a file for nvreorganize. NewViews files are files with the type [qw_quoted [qw_directory .nv2]]. File are being displayed in a file explorer and you are being asked to pick one. If you select one, the nvreorganize [qw_field_name "File"] field will be set to the selected file. You can then use nvreorganize to perform operations on the selected file. }] } } /314120050901142528 { .title "nvreorganize encountered an error while reorganizing file XXX." .id 314120050901142528 .tags {error nvreorganize} .body { [p { nvreorganize encountered an error while reorganizing file [qw_directory [qw_s_args .directory]]. Q.W.Page considers any problem encountered by nvreorganize to be a serious problem. Contact Q.W.Page customer support. Q.W.Page will take immediate action to correct the problem. [/* { Note however, that you should review the terms of your license and maintenance plan. */ }] }] } } /314120051124125852 { .title "NV1 Compatible Import" .id 314120051124125852 .tags {dialog} .body { [h2 "NV1 Compatible Import"] [p { This window prompts you to select a file for import into an NV2 database. The file to be imported must be compatible with the NV1 (NewViews for DOS) [qw_term IMPORT] procedure. }] [p { This import functionality was provided for backward compatibility with the NV1 [qw_term IMPORT] procedure, and the format of the import file must comply with the format expected by the IMPORT procedure. NV1 users may have performed operations involving the export and import of information. This information may have been exported from external sources such as other database or accounting products, or from other NV1 databases, for subsequent import into NV1 databases. The purpose of this import command is allow the importing of the same information into an NV2 database. This should help to ease the migration from NV1 to NV2 in many cases. }] [p { For more on importing see the following: }] [ul { [li { [link .chm $::qw_manual_file .id 857720050923123514 {More on importing files.}] }] [li { [link .chm $::qw_manual_file .id 857720051107113639 {Running an Import}] }] [li { [link .chm $::qw_manual_file .id 857720051107114520 {Progress and Log Windows}] }] [li { [link .chm $::qw_manual_file .id 314120051114150821 {Aborting an Import}] }] }] } } /314120051123181422 { .title "The import completed successfully." .id 314120051123181422 .tags {error dialog} .body { [p { The import completed successfully and encountered [qw_field_value [qw_s_args .exception_count]] errors. }] [p { The import file was [qw_directory [qw_s_args .import_file_name]]. }] [p { The database was [qw_directory [qw_s_args .database_path]]. }] [ul { [li { [p { Click [qw_button [qw_s_args .button_ok]] to delete the import file. }] [p { This will delete import file [qw_directory [qw_s_args .import_file_name]] and prevent if from being accidentally imported again. }] }] [li { [p { Click [qw_button [qw_s_args .button_cancel]] to leave the import file. }] [p { There are many reasons you may not want to delete the import file at this time. Be warned that it should not be re-imported. Although reports and accounts cannot be re-imported due to normal error checking that prohibits duplicates, it would be possible to re-import transactions, resulting in duplicate transactions in the database. }] }] }] } } /314120051123181402 { .title "The import encountered errors." .id 314120051123181402 .tags {error dialog} .body { [p { The import encountered [qw_field_value [qw_s_args .exception_count]] errors. }] [p { The import file was [qw_directory [qw_s_args .import_file_name]]. }] [p { The database was [qw_directory [qw_s_args .database_path]]. }] [p { All unprocessed records were written to [qw_directory [qw_s_args .unprocessed_file_name]]. }] [ul { [li { [p { Click [qw_button [qw_s_args .button_ok]] to delete the import file. }] [p { This will delete import file [qw_directory [qw_s_args .import_file_name]] and prevent if from being accidentally imported again. Any records that were not processed due to errors or an abort have been written to [qw_directory [qw_s_args .unprocessed_file_name]]. That file can be imported later after the errors have been resolved, or to resume an aborted import. }] }] [li { [p { Click [qw_button [qw_s_args .button_cancel]] to leave the import file. }] [p { There are many reasons you may not want to delete the import file at this time. Be warned that it should not be re-imported. Although reports and accounts cannot be re-imported due to normal error checking that prohibits duplicates, it would be possible to re-import transactions, resulting in duplicate transactions in the database. }] }] }] } } /314120051124152227 { .title "The import has been aborted." .id 314120051124152227 .tags {error dialog} .body { [p { The import has been aborted. }] [p { The import encountered [qw_field_value [qw_s_args .exception_count]] errors. }] [p { The import file was [qw_directory [qw_s_args .import_file_name]]. }] [p { The database was [qw_directory [qw_s_args .database_path]]. }] [p { All unprocessed records were written to [qw_directory [qw_s_args .unprocessed_file_name]]. }] [ul { [li { [p { Click [qw_button [qw_s_args .button_ok]] to delete the import file. }] [p { This will delete import file [qw_directory [qw_s_args .import_file_name]] and prevent if from being accidentally imported again. Any records that were not processed due to errors or an abort have been written to [qw_directory [qw_s_args .unprocessed_file_name]]. That file can be imported later after the errors have been resolved, or to resume an aborted import. }] }] [li { [p { Click [qw_button [qw_s_args .button_cancel]] to leave the import file. }] [p { There are many reasons you may not want to delete the import file at this time. Be warned that it should not be re-imported. Although reports and accounts cannot be re-imported due to normal error checking that prohibits duplicates, it would be possible to re-import transactions, resulting in duplicate transactions in the database. }] }] }] } } /314120051124111002 { .title "Confirm that you want to abort the import." .id 314120051124111002 .tags {error dialog} .body { [p { The import file is [qw_directory [qw_s_args .import_file_name]]. }] [p { The database is [qw_directory [qw_s_args .database_path]]. }] [p { All unprocessed records are being written to [qw_directory [qw_s_args .unprocessed_file_name]]. }] [p { You are currently importing the import file into the database as cited above. }] [ul { [li { [p { Click the [qw_button [qw_s_args .button_ok]] button to abort the import. }] [p { The import will be aborted. Any unprocessed records will be written to [qw_directory [qw_s_args .unprocessed_file_name]]. Any objects already added to the database by the import will remain in the database. }] }] [li { [p { Click the [qw_button [qw_s_args .button_cancel]] button to resume the import. }] [p { The import will resume where it left off. }] }] }] [h2 "What happens when you abort an import?"] [p { The import was in progress and has already processed a number of import records as indicated by the progress window. These objects have already been added to database [qw_directory [qw_s_args .database_path]] and they will remain in the database even if you abort the import now. }] [p { Any records that have not yet been processed will be written to file [qw_directory [qw_s_args .unprocessed_file_name]]. This file will contain any records that were not processed because of the abort, so you can import this file at a later time to continue where the aborted import left off. }] [p { We recommend that after you abort the import, you delete the original import file [qw_directory [qw_s_args .import_file_name]] to prevent it from being accidentally imported again. You are prompted to delete it automatically whenever an import completes or after aborting an import. }] } } /314120051202161233 { .title "The import file has been imported into this database before." .id 314120051202161233 .tags {error dialog} .body { [p { The file you are about to import has been imported into the database before. }] [p { The import file was [qw_directory [qw_s_args .import_file_name]]. }] [p { The database was [qw_directory [qw_s_args .database_path]]. }] [p { Be advised that importing the same file into the same database can result in duplications of imported objects. Attempting to re-import reports and accounts will report errors because no two reports or accounts can have the same name. However, transactions do not have names so if you re-import a file containing transactions you could end up with duplicates in the database. }] [ul { [li { [p { Click [qw_button [qw_s_args .button_ok]] to import anyway. }] [p { We assume you know what you are doing if you import anyway. There are unusual circumstances where you may want to do this. For example, it is possible that the system crashed the last time you imported this file into this database, so the work was undone by automatic recovery. It is also possible that you have two copies of the same database and you are importing into each separately. NewViews maintains an internal database id and this id is used to identify the database, not its file path. So if you have copied a database to a different file, the original and the copy will have the same database id, and this confirmation window will appear if you import the same file into both. }] }] [li { [p { Click [qw_button [qw_s_args .button_cancel]] to cancel the operation without importing. }] }] }] } } /314120051205094127 { .title "Could not recover database XXX." .id 314120051205094127 .tags {error} .body { [p { The last time database [qw_directory [qw_s_args .database_path]] was open, a crash occurred and the database was not properly shut. So NewViews automatically attempted to recover it. However, an error was encountered while attempting to recover the database. See below for more. }] } } /314120051205094830 { .title "Recovery information does not match database information." .id 314120051205094830 .tags {error} .body { [p { The recovery files found in the database directory [qw_directory [qw_s_args .database_path]] do not match the database. }] [p { Information retrieved from the recovery files is expected to match corresponding information retrieved from the database. Otherwise the recovery files do not match the database. }] [p { The problem is always the result of improper copying of a database from one directory to another, say using the Windows explorer, or the copy command in a Windows Command Prompt window. }] [p { When a database is open NewViews maintains a number of recovery files. These recovery files are needed to maintain database integrity in the case of a crash, whatever the reason for the crash. If a crash has occurred while a database was open, the database is automatically recovered the next time it is opened. This is what was happening when the error occurred. }] [p { NewViews takes care to ensure that the recovery files belong to the crashed database, and that they are the correct recovery files for this particular crashed state of the database. You cannot use the recovery files from a copy of the database kept somewhere else, say in a backup directory. NewViews maintains internal information such as a recovery id, specifically to detect this type of situation. }] [p { What has happened in this case is that the recovery files do not match the database. See below for more detail on what did not match. The cause is improper copying of a database using operating system tools such as the Windows Explorer to copy some, but not all of the files associated with a database. More specifically, at some point, the database files have been copied but not the recovery files, or vice versa, from one directory to another. }] [p { This might be a good time to contact Q.W.Page customer support rather than attempting to fix the situation yourself and potentially causing even more damage to your databases. For more on NewViews file organization and on recovery files see [link .chm $::qw_manual_file .id 314120051204174038 {Files Managed by NewViews}]. }] } } /314120051203173230 { .title "Recovery volume recovery id XXX did not match database recovery id XXX." .id 314120051203173230 .tags {error} .body { [p { In this case the recovery id kept in the recovery files did not match the recovery id kept in the database. The most common discrepancy encountered is that the recovery volume recovery id is one greater than the database recovery id. This is a sure sign that improper copying has occurred and is typically caused by a variation of the following scenario: }] [ol { [li { [p { You regularly back up the database by copying it to a backup directory. }] [p { Your backup routine typically copies all files that match [qw_directory database.*] so it will copy the following files to the backup directory: }] [ul { [li { [p { [qw_directory database.hdr] }] }] [li { [p { [qw_directory database.0] to [qw_directory database.N] }] }] }] }] [li { [p { One day the system crashes while you have the database open, and you again perform a backup. }] [p { You performing this backup before re-opening and thus recovering the database. Therefore, in addition to the database files, you will be backing up the recovery files as shown below. This is as it should be, keeping recovery files with their corresponding database. }] [ul { [li { [p { [qw_directory database.hdr] }] }] [li { [p { [qw_directory database.0] to [qw_directory database.N] }] }] [li { [p { [qw_directory database.recovery.hdr] }] }] [li { [p { [qw_directory database.recovery.0] to [qw_directory database.recovery.N] }] }] }] }] [li { [p { You proceed as usual, opening and working on the database any number of times. }] [p { }] }] [li { [p { You crash again. }] [p { }] }] [li { [p { This time you decide to restore from the backup copy. }] [p { You copy the database files from the backup directory but you copy only the database files and forget to copy the recovery files. }] }] [li { [p { You open the database and an error message similar to the one you have just encountered appears. }] [p { The reason is that the recovery files in the database directory match the newly crashed database (that you just clobbered with the restore), and not the database that you just copied from the backup directory. The recovery files in the backup directory match that database and you failed to copy them with the database. }] }] }] [h2 "What do you do now?"] [p { Proceed with caution. Do not copy any more files around until you can determine what has happened. For example, if you were to now back up to the same backup directory, using the method that copies all files including recovery files, you will clobber the backup directory with mismatched files and make it more difficult to recover the database. }] [p { We recommend that you call Q.W.Page customer support to resolve the issue before causing additional damage. Leave this help page on the screen, or print it out right now, so that you have the relevant information available when you call. }] [p { However, there are ways to gather information about the situation, as described below. }] [h2 "How can you determine that the database and recovery files match?"] #@@@@@@@@@@@@@@@@@@@@@@@@@@ [p { [qw_directory database.hdr] and [qw_directory database.recovery.hdr] are text files that you can open and examine using a text editor. They contain the recovery ids that should match. Note that you must not change either of these files so never save the contents of the text editor. Changing the files will render them unusable and make the situation even worse. }] [p { The recovery information is contained in an area of the header file that resembles the following: }] [pre { .recovery { .id 256 .blocks 0 } }] [p { In this case the recovery id is 256. }] [p { Using this technique you can determine whether the database and recovery files in a database directory match. }] [h2 "Further Recommendations"] [ul { [li { [p { Always copy all files that match [qw_directory database.*]. }] [p { Whenever you copy a database from one directory to another it is a good idea to ensure that you copy all files that match [qw_directory database.*]. This matches not only the database files, but also any recovery files in the directory. The recovery files will }] }] [li { [p { }] [p { }] }] }] [p { The cause is improperly copying some but not all of the files associated with a database from one directory to another. }] [p { When a database is open NewViews maintains a number of recovery files. These recovery files are needed to maintain database integrity in the case of a crash, whatever the reason for the crash. If a crash has occurred while a database was open, the database is automatically recovered the next time it is opened. This is what was happening when the error occurred. }] [p { NewViews takes care to ensure that the recovery files belong to the crashed database, and that they are the correct recovery files for this particular crashed state of the database. You cannot use the recovery files from a copy of the database kept somewhere else, say in a backup directory. NewViews maintains internal information such as a recovery id, specifically to detect this type of situation. }] [p { What has happened in this case is that the recovery files do not match the database. The most common cause is improper copying of a database using operating system tools such as the Windows Explorer to copy some, but not all of the files associated with a database. More specifically, at some point, the database files have been copied but not the recovery files, or vice versa, from one directory to another. }] [p { This might be a good time to contact Q.W.Page customer support rather than attempting to fix the situation yourself and potentially causing even more damage to your databases. For more on NewViews file organization and on recovery files [link .chm $::qw_manual_file .id 314120051204174038 {Files Managed by NewViews}]. }] } } /314120060125160931 { .title "Create workstation XXX?" .id 314120060125160931 .tags {dialog confirm} .body { [p { NewViews did not find workstation database [qw_directory [qw_s_args .file]]. You are being asked to confirm that you want to create a new [qw_s_args .type] database in that file. }] } } /314120060125160932 { .title "Create server XXX?" .id 314120060125160932 .tags {dialog confirm} .body { [p { NewViews did not find server database [qw_directory [qw_s_args .file]]. You are being asked to confirm that you want to create a new [qw_s_args .type] database in that file. }] } } /314120060627072049 { .title "Creating a backup." .id 314120060627072049 .tags {dialog confirm} .body { [p { This window is used to back up the current database to a specified backup folder. To back up the database do the following: }] [ol { [li { [p { Pick the backup folder in the [::qw_field_name "Backup Folder"] field. }] [p { You can type in the backup folder path but it's more convenient to pick one from either a tree explorer or a list of the recent backup folders. Click the [qw_button "Pick From Folders"] button or [qw_button "Pick From Recent ListFolders"], or issue equivalent menu commands. }] }] [li { [p { Backup the database. }] [p { Click the [qw_button "Backup"] button or issue the [qw_menu_command "File" "Backup"] menu command. }] }] [li { [p { You are prompted to confirm. }] [p { The file name of the destination backup is displayed in the prompt so you can double-check it before the backup operation is actually started. }] }] }] [p { When you backup a database to a folder, that folder will subsequently appear first in the most recent list the next time you back up the same database. }] [p { Each backup file is given a unique name and old backups are never overwitten by newer backups. }] [ul { [li {[link .chm $::qw_manual_file .id 314120060608154006 {More on backing up.}]}] }] } } /314120061012091545 { .title "You cannot pick from a folder browser on a remote server.." .id 314120061012091545 .tags {error} .body { [p { You are accessing [qw_directory [qw_s_args .file]] through a remote server. You cannot pick a backup folder from a folder browser because exploring the server file system would be a security issue. }] [p { Instead, try picking from the list of most recently used backup folders. The server may offer a number of backup folders in that list. }] [p { Note, if you have access to the server computer you can add folders to the most recent folder list. Just open the database locally on the server and back it up to one or more folders as selected from the folder browser. Every folder you back up to will then appear in the most recent folder list offered to remote workstations. }] [ul { [li {[link .chm $::qw_manual_file .id 314120060608154006 {More on backing up.}]}] }] } } /314120061013112824 { .title "Size of XXX exceeds free disk space." .id 314120061013112824 .tags {error} .body { [p { There is insufficent free disk space to back up [qw_directory [qw_s_args .file]]. }] [p { File size: [qw_field_value [::qw::number::format [qw_s_args .file_size] $::qw::number::formats(integer)]] }] [p { Free disk space: [qw_field_value [::qw::number::format [qw_s_args .disk_free_space] $::qw::number::formats(integer)]] }] [ ::set ::Html ""; ::switch -- [qw_s_args .server] { "" { ::append ::Html ""; } default { ::append ::Html [::subst { [p { Note that the backup was to be performed on server [qw_field_value [qw_s_args .server]] and it is a disk on that server that has insufficent space. }] }] } } ] [ul { [li {[link .chm $::qw_manual_file .id 314120060608154006 {More on backing up.}]}] }] } } /314120061115170928 { .title "Save XXX?." .id 314120061115170928 .tags {dialog notify} .body { [p { Issuing this command will ensure that all changes made to [qw_directory [qw_s_args .file]] are saved. }] [p { Note that because you issued the [qw_menu_command File Save] command on a workstation, only the workstation file will be saved in this case. No accounting database files will be saved. }] [p { To save an individual accounting database file, issue [qw_menu_command File Save] from a window on that file. }] [p { To save all files open on this workstation issue the [qw_menu_command File "Save All"] command from any window. }] [p { Although NewViews saves information to disk automatically as work is performed, for efficiency purposes the changes are saved during background processing, i.e. when NewViews is idle. NewViews may not be idle very often when many users are simultaneously making changes in a multi-user environment, and the information lost in the case of a system crash can increase accordingly. The [qw_menu_command File Save] and [qw_menu_command File "Save All"] commands force all changes to disk, ensuring that the changes will not be lost in the event of a system crash. }] } } /314120061115164817 { .title "Save XXX?." .id 314120061115164817 .tags {dialog confirm} .body { [p { Issuing this command will ensure that all changes made to [qw_directory [qw_s_args .file]] are saved. }] [p { Note that only the changes made to this file will be saved. No other will be saved. }] [p { To save all files open on this workstation issue the [qw_menu_command File "Save All"] command from any window. }] [p { Although NewViews saves information to disk automatically as work is performed, for efficiency purposes the changes are saved during background processing, i.e. when NewViews is idle. NewViews may not be idle very often when many users are simultaneously making changes in a multi-user environment, and the information lost in the case of a system crash can increase accordingly. The [qw_menu_command File Save] and [qw_menu_command File "Save All"] commands force all changes to disk, ensuring that the changes will not be lost in the event of a system crash. }] } } /314120061115181410 { .title "Save XXX?." .id 314120061115181410 .tags {dialog confirm} .body { [p { Issuing this command will ensure that all changes made to [qw_directory [qw_s_args .file]] are saved. }] [p { Note that because you issued the [qw_menu_command File Save] command on a server, only the server file will be saved in this case. No accounting database files will be saved. }] [p { You cannot save an individual accounting database file from the server. }] [p { Although you cannot save individual account database files from a server, you can save all files open on this server by issuing the [qw_menu_command File "Save All"] command. }] [p { Although NewViews saves information to disk automatically as work is performed, for efficiency purposes the changes are saved during background processing, i.e. when NewViews is idle. NewViews may not be idle very often when many users are simultaneously making changes in a multi-user environment, and the information lost in the case of a system crash can increase accordingly. The [qw_menu_command File Save] and [qw_menu_command File "Save All"] commands force all changes to disk, ensuring that the changes will not be lost in the event of a system crash. }] } } /314120061117101734 { .title "Save all files open on this workstation?" .id 314120061117101734 .tags {dialog confirm} .body { [p { Issuing this command will ensure that all changes made to all files open on this workstation are saved. }] [p { Although NewViews saves information to disk automatically as work is performed, for efficiency purposes the changes are saved during background processing, i.e. when NewViews is idle. NewViews may not be idle very often when many users are simultaneously making changes in a multi-user environment, and the information lost in the case of a system crash can increase accordingly. The [qw_menu_command File Save] and [qw_menu_command File "Save All"] commands force all changes to disk, ensuring that the changes will not be lost in the event of a system crash. }] } } /314120061117102655 { .title "Save all files open on this server?" .id 314120061117102655 .tags {dialog confirm} .body { [p { Issuing this command will ensure that all changes made to all files open on this server are saved. }] [p { Although NewViews saves information to disk automatically as work is performed, for efficiency purposes the changes are saved during background processing, i.e. when NewViews is idle. NewViews may not be idle very often when many users are simultaneously making changes in a multi-user environment, and the information lost in the case of a system crash can increase accordingly. The [qw_menu_command File Save] and [qw_menu_command File "Save All"] commands force all changes to disk, ensuring that the changes will not be lost in the event of a system crash. }] } } /314120061121100420 { .title "Detected uncontrolled changes in file XXX." .id 314120061121100420 .tags {error} .body { [p { Script [qw_directory [qw_s_args .file]] could not be run. }] [p { NewViews detected uncontrolled changes in file [qw_directory [qw_s_args .file]]. }] [p { NewViews scripts can be encrypted, often just to protect intellectual property, but also to prevent changes that would make supporting the script more difficult. If users can modify scripts, then script writers, or those responsible for supporting scripts, cannot be sure that any problems encountered were in the orignal scripts, and were not introduced by user-modifications. So in order to maintain the integrity of the script, NewViews does not allow uncontrolled changes to it. Uncontrolled changes are any changes made by a program other than NewViews or an authorized utility program supplied by Q.W.Page. }] [/* { [p { Scripts are encrypted for several reasons. }] [ul { [li { [p { Protects intellectual property. }] }] [li { [p { Prevents unauthorized changes to the script. }] }] [li { [p { Prevents scripts from being written until interface is published. }] }] }] */ }] } } /314120070702122512 { .title "User XXX has not been granted access to the root account." .id 314120070702122512 .tags {error} .body { [p { Searching for semiloops is a advanced topic and generally restricted to the [qw_term administrator] who has access to all objects. }] [p { In order to search for or to count the semiloops in a set a books it is necessary to have been granted access to all of the accounts in the set of books. User [qw_field_value [qw_s_args .username]] does not have access to the root account. The way to do this is to ensure that you have access to the root account, or any object above it such as the NewViews object or the root object of the database. Note that the database administrator always has such access. }] } } /314120070801115204 { .title "Could not find a pre-2.09 database in folder XXX." .id 314120070801115204 .tags {error} .body { [p { You specified a folder, not a file, i.e. [qw_directory [qw_s_args .folder]] is a folder. Prior to version 2.09, a NewViews database was identified as a folder, but from 2.09 on, a database is a single file. We assume that you are attempting to open a pre-209 database because you specified a folder, but such a database could not be found in folder [qw_directory [qw_s_args .folder]]. }] } } /314120080213111526 { .title "Original transaction date is out of edit range." .id 314120080213111526 .tags {confirm} .body { [p { The original transaction that you attempted to duplicate is not in the transaction edit date range for user [qw_field_value [qw_s_args .username]]. The date of the original transaction is [qw_field_value [qw_s_args .date]]. User [qw_field_value [qw_s_args .username]] transaction edit date range is [qw_field_value [qw_s_args .range.begin]] to [qw_field_value [qw_s_args .range.end]]. }] [p { Although the original transaction is out of range, we still allow it to be duplicated with an empty date. After creating a duplicate, you can set a valid date on the duplicate. }] [p { If you want to make more than one duplicate, make one with an empty date first, set a valid date on it, and then make the rest from that first duplicate. }] [ul { [li {[link .chm $::qw_manual_file .id 150220040805151208 .bookmark 314120080213142005 {More on user transaction edit begin/end date options.}]}] }] } } /314120090609145347 { .title "Encountered invalid login date XXX." .id 314120090609145347 .tags {error} .body { [p { The computer system time is set before the time of the last login in the set of books you are working on or which you are trying to open. This may be an attempt to manipulate the clock for unknown purposes, or perhaps the system time has been adjusted to move from daylight savings time to standard time. Computers synchronize with an external source such as the Network Time Protocol, and this can cause the system time to change. Processes running in virtual machines may also [qw_quoted drift] from real time so they synchronize with the system clock of the host computer from time to time. Or the database has been moved from one computer to another and the system times of the two computers are sufficiently different to produce this error. }] [p { In any case, the system time must not precede the date of the last session login. NewViews maintains a carefully controlled record of sessions. Each session is time-stamped with the login and logout dates, and therefore all session activity in a database can be kept in strict chronological order. Any attempt to manipulate the system time by setting it to a previous date or time would not allow this strict chronological order to be maintained. }] [p { Note that from NewViews version 2.34.9 onward, the system time is allowed to precede the last login date by up to 30 minutes. If the current system time is before the last login date, but the difference is less than 30 minutes, the last login date is used as the next login date, instead of the current system time. In this way the session login dates are still strictly increasing and the minor discrepency in dates is deemed not material. System date adjustments are typically much less than 30 minutes and when the difference exceeds 30 minutes then it is the result of a more serious problem. }] [p { Shown below are the system time and the last session login date. }] [ul { [li { [p { System Date }] [p { [qw_field_value [::qw::date::format [qw_s_args .system_date]]] }] }] [li { [p { Date on most recent session }] [p { [qw_field_value [::qw::date::format [qw_s_args .session_date]]] }] }] }] } } /314120151113152607 { .title "Cannot open XXX because it has bad blocks." .id 314120151113152607 .tags {error} .body { [p { Bad blocks were detected in database [qw_directory [qw_sargs .database_path]]. }] [h3 "What are bad blocks?"] [p { At a low level, a database consists of [qw_term blocks] of data. Bad blocks are blocks that have been inadvertently overwritten by an unknown source (i.e. not NewViews), such as the operating system or a third-party program. All NewViews database blocks are protected by checksums so NewViews can detect when data has been accidentally clobbered by other software. }] [h3 "How can I open the database?"] [p { The bad blocks must be fixed before you can open the database. The data has been corrupted so working on it could cause more corruption. }] [h3 "How can I fix the bad blocks?"] [p { Run [qw_menu_command NewViews "Database Utilities"] from the Windows start menu. At the bottom of the database utilities dialog, select this database, and then click the [qw_button "Database Reorganize"] button at the top of the dialog. The [qw_menu_command Database Reorganize] menu command will also work. Wait for the reorganize operation to complete (or fail). }] [p { The reorganize might not work. It all depends on how much damage was done to the database and which data in particular was damaged. If the reorganize worked, you will be notified when the operation completes, and in that case you can run NewViews and open the database. Little data, if any, will be lost if the reorganize succeeds. }] [h3 "What if the database reorganize doesn't succeed?"] [p { If the database reorganize doesn't succeed then you have two options: }] [ol { [li { [p { Restore from the most recent backup. }] [p { You are in control of backing up so we cannot tell you where to find your most recent backup. However, NewViews automatically creates a [qw_term logout] backup whenever you logout, and also an [qw_term overnight] backup, performed at at 3:00am if the database happens to be open at that time. These backups have the same file name as the database and are found in the same folder as the database, but they have different file extensions: [qw_directory .nv2_backup_logout] and [qw_directory .nv2_backup_overnight] respectively. Suppose your database file is [qw_directory c:/nv/acme/database.nv2]. Then the logout backup would be [qw_directory c:/nv/acme/database.nv2_backup_logout] and the overnight backup would be [qw_directory c:/nv/acme/database.nv2_backup_overnight]. }] [p { So rename database.nv2 to something like [qw_directory database.nv2_bad_blocks] for now, and save it in case you need send it to Q.W.Page for repair. Then copy database.nv2_backup_logout or database.nv2_backup_overnight (whichever has the most recent file date), to database.nv2. You can use a command prompt or the file explorer to achieve this. We won't tell you how to copy files here. }] [p { After restoring [qw_directory database.nv2] from the recent backup you have to open the database and re-enter all data that had been entered since that backup was made. This is tedious of course, but thankfully you should only have to re-enter data that was previously entered during the last NewViews session, i.e. since the database was last closed. The audit trail is useful for identifying the last data that was successfully recorded, and therefore where you need to start re-entering data. Position on the root audit trail object in the left pane of a NewViews explorer tree, and in the right pane position the audit table at the end. There you will find the exact date and time of the last data entered and enough information to identify the last data entered. }] }] [li { [p { Contact Q.W.Page customer support. }] [p { If the database could not be reorganized and you don't have a recent backup copy, Q.W.Page has been able to restore most databases. Most often a full restoration can be achieved, and sometimes the information lost has been minimal and non-essential, such as notes or block copy information. This process is expensive as Q.W.Page must assign experienced programmers to the task. Keep in mind that this problem is generally avoidable in the first place by maintaining a regular backup regimen and by keeping backup copies off-site. }] }] }] [/* { [p { See more on [link .chm $::qw_manual_file .id 314100000000000000 {folders and sub-folders}]. }] */ }] } } /314120181107140220 { .title "The database is busy performing a long-duration operation." .id 314120181107140220 .tags {error} .body { [p { The database you are tried to open is busy performing a long-duration all-or-nothing operation. We recommend waiting a while before trying to open the database again. Eventually it will open. }] [p { A few examples of long-duration operations: }] [ul { [li { [p { Converting a database to a new version, which also creates a backup. }] }] [li { [p { Deleting a large block of items, such as transactions. }] }] [li { [p { Backing up an application database. }] }] [li { [p { Database-wide integrity checks or repairs. }] }] }] [p { We do not provide you with a red progress bar to monitor the progress of the long-duration operation because that would prevent you from doing anything else until the operation completed. }] } }