Installation and first use.
 

I have a problem with Matriks Doc and Office XP.

Office XP Excel does not work with templates.  Office XP Sp2 update of 16 oct. renders templates with word useless.

Problem is solved with Matriks Doc version 3.


Why are the import dialogbox and the document viewing windows shown behind the Financial/Attain Application?

This issue has been adressed in Service Release 1. Please read the SR1 page for more information on this.


I've got a Windows 2000, XP and Office 2000/XP. Why do I get an error when creating Word/Excel documents?

Check if you have applications installed that has installed so-called plugins inside office. Norton Antivirus for Word or Crystal Report 8 for Excel are known examples. Try to uninstall the application in question to determine if this solves the problem. Some suppliers of Antivirus software has released software patches that removes the problem. You should be able to get these patches on their website.

Please note that this error is not restricted to getting errors only when creating office documents. Symptoms can also be Matriks Doc templates that are not populated with data.


Why do I get a message saying "License date has expired"?

1. You could be running on the demo license. The demo license expires at a fixed date or after a 60 working days. You should purchase a retail license on order@matriks.com

2. You've got a retail license and you do not get the message when logged in as an administrator. Do the following:

- Run regedt32 and goto HKEY_LOCAL_MACHINE->SOFTWARE->MATRIKS.
- Invoke Menu Security->Permissions
- Add "everyone" to list
- Checkmark full control
- Exit

3. You've got a retail license, you've tried point 2 above, but you still get the message. Rename your retail license to kdoc.mlf, thus replacing the original kdoc.mlf.

4. You've tried all the above but you still get the message. Contact support@matriks.com stating your problem and efforts.


Why do I get a message saying "Financial license does not match Matriks Doc license" ?

Show Screenshot.
You are trying to use a Matriks Doc license that is issued to another Financials license, than the one you are currently using. If you double click the Matriks Doc License File (somename.mlf), the serial number shown have to be the same as your currently used Financials license number. Contact order@matriks.com to buy a valid Matriks Doc license.


Why can't I open the Financials Main Menu after I've imported the Matriks Doc objects ?

In order to use/try the Matriks Doc Add-On, you have to extend your Navision Financials license with Matriks Doc add-on permissions. Please do not try to import the objects into a production database before acquiring these permissions, as this will render the installation in-operational. Contact your Navision Territory Representative or your Navision Solution Center, to acquire the Matriks Doc Financials license extension. Ask for the "Matriks Execute granule".


Why do I get an ole automation error message when opening the document form ?

Show Screenshot.
You have not installed the Matriks Doc client on the client you are using now. You have to install this on every client that needs access to Matriks Doc functionality. You can download the newest client from the download section.


Why do I get a file error message when I try to save or edit a document ?

Show Screenshot.
The temporary folder that is entered in the Document setup workpath field, does not exist or is otherwise invalid. Generally, it should be left blank. This will force the system to use the default system temporary path.


Where's my document that I've just created, when I now click view or edit ?

The temporary folder that is entered in the Document setup work path field, does not exist or is otherwise invalid. Generally, it should be left blank. This will force the system to use the default system temporary path.


Why do I get a "Document Nos..." error message when I try to create a new document ?

Show Screenshot.
You have to assign a Document number series in the Document setup form.


Why do I get a document description error message when I try to create a new document ?

Show Screenshot. You have to enter a text in the Document Description field in the Document form, before clicking the Edit button.


Why can't I insert new fields when I make a new template ?

Your Office installation is damaged. The Office automation dll's that Matriks Doc relies upon to use templates are incorrect or has version incompatibility. How did this happen ? Well, when you install new software on your computer, this new software often introduce new (or older) versions of some of the necessary automation dll's. If the new dll's are not compatible with existing dll's then errors can occur. There is a way to fix this under all circumstances. First you have to remove the Office installation. Then you must install Office again. It is very important that you remove the Office installation first. Don't just re-install office since this could leave some of the problematic dll's intact due to installation version checks.


When I use a new template the fieldnames are not replaced with any values ?

Your Office installation is damaged. The Office automation dll's that Matriks Doc relies upon to use templates are incorrect or has version incompatibility. How did this happen ? Well, when you install new software on your computer, this new software often introduce new (or older) versions of some of the necessary automation dll's. If the new dll's are not compatible with existing dll's then errors can occur. There is a way to fix this under all circumstances. First you have to remove the Office installation. Then you must install Office again. It is very important that you remove the Office installation first. Don't just re-install office since this could leave some of the problematic dll's intact due to installation version checks.

(This error can also be due to antivirus software as described on the top of this page).


I've got a Windows NT4. Why is the dialog box empty when I try to create a new document ?

Some versions of NT4 has a faulty or missing comcat.dll system file. Copy a valid comcat.dll file from an NT4 installation that works.


 
Daily use. To the top
 

How do I make a Document/Mail campaign to all my customers using Matriks Doc ?

You don't. You can use standard Financials. We recommend using the Campaigns feature in the Financials Contact Management module in combination with standard mail merge in Word.


How about security, can I make sure it is not possible to delete a document ?

Yes. Matriks Doc has the same security model as standard Financials. This will allow you to set up permissions that globally controls what users can do with the documents. It cannot differentiate permissions between types of documents. Its all or nothing, just like standard Financials. If the document type allows, you can protect the individual documents using built in features. An example of this could be Word's protect feature.


Why can I not choose Outlook in the list of Active Documents ?

Outlook is a different type of application. It does not in itself generate Active Documents, thus it does not show up inside the Matriks Doc list of Active Documents when creating new documents. Use the Matriks Doc import feature if you want to integrate with emails.


Does Matriks Doc also work with AutoCAD ?

Yes. In theory Matriks Doc will work with any registered file type. This also includes documents/files like html, pdf and even mp3.


Extending or modifying standard features. To the top

Is it possible to extend templates with new custom fields from an existing template table ?

Yes. This is done by modifying the proper functions inside codeunit 6008950 (MatriksDocLinks). Lets imagine that you want to add 1 new custom field named "MSP Group" to the Customer table (18). First you locate and go to the function called "InsertCustomerValues".

As you can see there is a hole bunch of Kdoc.AddField(sometextname,sometextvalue) calls. After the last Kdoc.AddField(sometextname,sometextvalue) statement you add a new line to include your new table field:

Kdoc.AddField(CustomerRec.FIELDNAME("MSP Group"),CustomerRec."MSP Group");.

That is all ! Now you can use your new field in all templates that uses that table.


Is it possible to make templates with reference to more than one table ?

Yes. Its a variant of the above question (Please read the above question). The codeunit to modify is still the codeunit 6008950 (MatriksDocLinks), but there is more things to do.

Lets imagine that you want to be able to make a template on the prospect table that also features the name of the first contact person. First locate the function called "InsertProspectValues". Make a new local variable ContactRec of datatype <Record> and subtype <Contact>. Now go to the last line of the function. Insert the following code:

ContactRec.SETRANGE("Prospect No.",ProspectRec."No.");
IF NOT ContactRec.FIND('-') THEN
CLEAR(ContactRec);
Kdoc.AddField('Attention',FORMAT(ContactRec.Name))

That is all ! Now you can use the pseudo field "Attention" in your Prospect templates. When you use such a template, the "Attention" field gets replaced with the Name of the first Contact on the Prospect in question.


Is it possible to make templates with reference to new custom tables ?

Yes. Its a variant of the above questions (Please read all of the above questions). The codeunit to modify is the codeunit 6008950 (MatriksDocLinks) and table 6008950 (Document). I'm not going to be very detailed on how to do this because this would be lengthy description. But here's the highlights:

- Open table 6008950 (Document) and append the keyfield(s) of your new table.

- Open codeunit 6008950 (MatriksDocLinks). Insert a new function "InsertXXXValues", where XXX is your new table name. Look at the InsertCustomerValues" to learn the structure of such a function. In general, it consists of 3 parts:

1. Read or clear your new table, dependant of the function's parameter value.
2. If table has flowfields, use CalcFields to update their values. Remember to set flowfield filters if important.
3. Insert a Kdoc.AddField(sometextname,sometextvalue) statement for each necessary table field.

- Locate function "TotalTableList". Insert table no. (Controls table selection in template creation)
- Locate function "JournalTableList". Insert table no. (Controls table selection in Doc. Journal usage)
- Locate function "CurrentTablelist". Invent new line. (Controls template selection in document creation)
- Locate function "AttachToDocument". Invent new line. (Controls table usage in Doc. Journal posting)
- Locate function "InsertFields". Invent new line with "InsertXXXValues". (Controls table usage in template creation)
- Locate function "InsertFieldsAndValues". Invent a new line with "InsertXXXValues". (Controls table usage in template usage)

Now you can use your new table with template creation and usage.


Matriks Doc COM server interface. To the top

Used Functions.

function NewOleDocument: Boolean
Creates a new ole document in MD memory.

function Load(const id: String): Boolean
Loads a MD document object from path + filename into MD memory.

function Save(const Id: String): Boolean
Save MD document object to path + name from MD memory.

function Import(const FileNamePath: String; ShowDialog: Boolean): Boolean
Import some document file (word, excel, etc.) from a path + name into MD memory.
ShowDialog=True shows a file dialog box.

function Export(const FilePath: String; ShowDialog: Boolean): Boolean
Export document to a path from MD memory.
ShowDialog=True shows a file dialog box.

function Show(ShowDesign: Boolean; ReplaceValues: Boolean; ViewOnly: Boolean): Boolean
Show a document, previously loaded with into the MD memory with Import, Load or NewOleDocument function.
ShowDesign=True shows template fields list. Requires populated internal field list.
ReplaceValues=True replaces template fields with values. Requires populated internal field list
ViewOnly=True forces view only mode. Changes are not saved.

procedure Close
Close (visually) currently open MD document.

function Print: Boolean
Print a MD document.

function ReplaceAndPrint: Boolean
Aggregate function optimised for instantiating templates and printing them.
Requires fieldnames, fieldvalues and document in MD memory to be present.
Currently this function is only used in some thirdparty solutions.

procedure AddField(const Name: String; const Value: String)
Add a fieldname and optionally a value to internal MD fieldname/value list.
Used extensively in matriksdoclinks codeunit.

procedure ClearFields
Clears/Resets internal MD fieldname/value list

function Importable(const FileNamePath: String): Integer
Tests if a document at filepath + name can be imported.

procedure Clear
Clear MD component, reset all states, clear document memory.
 
Used Properties.To the top

property No: String
Document number has to be set prior to most MD storage method invocations.

property Description: String
Document description has to be set prior to most MD storage method invocations.

property User: String
User creating/editing document has to be set prior to most MD storage method invocations.

property State: Integer
Internal MD document state:
State = 1 MD is in a reset state (After clear)
State = 2 MD has a document in internal memory (After Load, Import, NewOleDocument)
State = 3 MD is currently showing a document (After Show)