Home   Contents   Index   Member Center   Download   Collect! Users   Help 
Collect! logo
Collect! logo
 
Collect.org

Collect! Credit and Collection Software™

  Related Information Examples & Tutorials

Frequently Asked Questions - Printing

Company Details On Letters

Q - When printing letters, why is it printing with Comtech's company information?

A - Check the company details in Collect! to make sure that you have entered all your company details correctly. You do this by pulling down the System menu and selecting Company Details.

Top of page.

Client Name On Debtor Letters

Q - When I print a letter to a debtor, sometimes the wrong client name is printed on the letter. Why, and how can I fix that?

A - The code you are using in the letter is probably @cl.na for the client name. That code prints the current client's name. The code you should use is @de.cl, which prints the debtor's client name.

By using the @de.cl code you are actually making the report system fetch the client record belonging to the debtor and then it prints the client name. The client name will be the right one since we specifically told it to print the debtor's client, rather than just whatever client record happens to be current.

This same principle applies in a few other spots; for example, the transaction debtor, or the contact debtor. Whenever designing reports, you MUST be specific about exactly which piece of information you want printed.

Top of page.

Operator Name Printing

Q - I want to print the name of the operator assigned to the account in a letter?

A - Try using the following codes. The system automatically fetches the debtor's operator information before printing a letter, so using operator print codes will print the correct operator information.

ID: @op.id
NAME: @op.na
TITLE: @op.ti
PHONE: @op.ph

Top of page.

Signon Operator Name Printing

Q - How can I get the name of the operator who is printing to show up on the letter. This isn't the operator who is assigned to the account.

A - To accomplish this, you will have to use the value in the field 'You are signed on as' that is displayed in the Main Menu.

@op where (@op.id = @mm.yasoao) MAX=1
@op.na
@op.ti
@op

Top of page.

Debtor Cosigner Loop

Q - How can I include a debtor cosigner name in my letter?

A - In the report body of your letter, you will have to include a debtor cosigner loop. The example given will print the name of the first cosigner listed for your debtor.

@de.cos no total max=1
@dc.co
@de.cos

Top of page.

Print Date For Today And 1 Week From Now

Q - If I wish to print a letter that has the date at the top and then a date for a summons which is seven days from today's date, is there a code that will automatically determine the date in seven days time?

A - Yes, @d+7

Top of page.

Weird Codes Printing

Q - Why am I getting weird codes, happy faces and other nonsense on my printer?

A - You probably need to tell the system what type of printer you are using. Select Print from the top menu bar and then select Settings, Report and Printer Setup. Then select the PRINTER SETUP button. In the displayed Printer Setup form, make sure you pick the correct printer types for each of the available printers in your system.

Q - What if I am sure I've picked the correct printer type?

A - In some rare cases, the control codes we send to your printer aren't compatible with the particular brand of printer you are using. We use PCL 5 for lasers, PCL 3 for ink jets, and Epson commands for dot matrix printers. You may need to alter the printer control codes. Select Print from the top menu bar and then select Settings, Printer Control Codes. Check your printer manual for a list of commands that can be sent to the printer and verify that the commands in the Printer Control Code table are appropriate.

This can be complex. Contact Collect! Member Services if you require help.

Top of page.

Fonts Change While Printing

Q - The first report prints properly, but the second printout of the same report prints in a different size. How can I make it print consistently?

A - Your report is turning on a font while it is printing, and it is not resetting the printer after it's done. Typically, your reports should start and end with reset commands if you change fonts and other attributes during printing.

Try to lay out every letter or report so the printer is reset before and after printing.

For example, a typical report body looks like this:

@*
- This text will print in the printer's default font.

@G
- Here is the text I want to print in a larger font.

@*

Notice that I reset the printer before printing anything, then set a font and finally RESET the printer after I'm done.

The reset at the start of printing ensures that the printer is in a known state before sending control commands to the printer. This makes sure that if some other software puts the printer into a different font, it won't end up printing in that font unexpectedly.

Within the report, I can then change the font. In the example, I choose font G, but there are others you can use. To learn more about fonts, please review and print the Printer Test report.

Finally, after printing, I RESET the printer again. This is done to be courteous, in case any following printing programs don't reset the printer before they print.

tip.gif You can reset the printer in the Report Options form accessible from the Options button on the Report Definition form for the report. See Printer Initialization Codes in the Help Index.

Top of page.

Wrong Data Printing

Q - Why do I get the wrong information when printing?

A - Try rebuilding the printable information list. Select Print from the top menu bar and then select Printable Information. When the list is displayed, select the REBUILD button. When rebuilding is complete, try printing again.

Also, try rebuilding Access Rights.

tip.gif Before you rebuild, always sign in using Exclusive mode with access level 99.

Top of page.

Blank Report Printing

Q - My receivables report is blank. Any ideas?

A - The receivables and payables reports look at statement/invoices.

Statements are typically dated the 1st of a month. Ergo statements for October are dated November 1st. Therefore you need to tell the system that date for it to be able to pick up the right statements for analysis.

You likely altered the date that the reports prompt for, or you have not yet generated statements for the period you are requesting information about.

Top of page.

Printed Page Doesn't Eject

Q - We are printing reports on an HP Laserjet Series IIP. After printing from the software, we must take the printer offline and press the form feed button before it will actually output the report. Is this likely to be a problem with the printer or with a code perhaps being missed?

A - Try putting an ' @f' code (a form feed) at the end of the report.

Top of page.

Can't Print Anything From Collect!

Q - I can't get any reports or letters to print from Collect! but I am able to print form other software programs.

A - The printer setup within Collect! needs to be configured correctly. Here are some of the areas to check.

1. Choose Print from the top menu bar in the Collect! screen and a drop-down menu will display.

2. Choose Setup from the drop-down menu and a sub-menu will open.

3. Choose Printer Setup and the Report and Printer Setup dialog will be displayed.

When you are looking at the Report and Printer Setup dialog, please locate the 3 radio buttons on the left-hand side of the form. These are labeled

Default Printer Stream
Print Via Browser
Print Via Device Context

These are the three printing choices in Collect! and they determine how your reports and letters are printed.

Default Printer Stream is a setting for backward compatibility with older versions of Collect!. Only choose it if you have been advised to do so by Member Services at Comtech Systems. If you have this selected and you are running Version 8 or newer, then this could be the problem. Change your selection to Print Via Device Context.

Print Via Browser should be selected if you want to switch ON default system-wide printing through HTML pages and your browser.

Print Via Device Context should be left switched ON to use Windows printing features. This is Collect's default system-wide printing setting. With this setting, you can print documents containing images and graphics.

When you are looking at the Report and Printer Setup dialog, please locate the Printer Setup button. Press this button to go to the Printer Setup form where you can view the settings for printers you have used on your system. The Printer Type list is stored in a text file named printers.cfg in the root folder of your CV11 program.

Collect! enables you to store up to 32 printers in your printer list.

tip.gif If you change printers or install additional printer drivers, you must shut down Collect! completely and restart the RDS Server to update the printers.cfg. When you do this, Collect! will read your list of installed printers and populate the list to be shown in Collect!'s Printer Setup.

Top of page.

Detecting Network Printers

Q - Is there any way to find out what printers are available for printing on my network?

A - By turning on ' Verbose message display' and 'Enable internal debug checks' in Screen and Messages, Collect! will write detected printers to the Application Log under DEBUG. This can be used to search for other network printers which have not yet been added to the local system registry. After you find the path to the printers, you still need to have your technician connect you so that you can print to that printer.

Top of page.

Printing Totals

Q - Is it possible to get totals printed in my custom reports?

A - Yes it is very easy to print totals. Collect!'s report system automatically creates totals at the end of printing a list.

The following example scans the list of debtors (that's the @de loop start and end statements) and prints the debtor name and owing amount. It then totals all the debtor owing amounts and prints the total at the end of the list.

Try building the following example report, making sure the Start On field in the Report Definition says Debtor. Then Browse Debtors, open a debtor, then select Print from the top menu bar and then select Reports and Letters and then choose your report.

Report code Description
@deStart of loop through all debtors
@de.na @de.owPrint name and owing for each one
@deEnd of loop, and print total

Some of the reports already in Collect! use this principle. Check the Client/Debtor Listing report. It totals a few fields.

To better suit your specific needs, the following example scans all transactions belonging to a client over a specific date range.

Report code Description
@cl.deScan all the client's debtors
@de.tr Scan the debtor's transactions
@de.na @de.ac @tr.tu @tr.diPrint fields
@de.tr Transaction scan loop end marker
@cl.deDebtor scan loop end marker and totals

This report scans the debtors belonging to the current client. It then scans all transactions belonging to the debtor. For each transaction found, it prints the debtor's name and account number, and the transaction amounts in the To Us and Direct columns. Then it prints totals for the To Us and Direct fields. The report system tallies these totals automatically and prints them at the end of the list.

There's also a fair bit of help when you press F1 while you are editing the report body. See the How To topics along the left hand side of the help page -- How To Use Lists and Loops.

Top of page.

Totals In Reports

Q - Sometimes I need totals when I am displaying results in a report. But other times I don't. How can I control this?

A - First, No Total is a backward compatibility issue. But works nicely for certain things.

If you write a report that loops through transactions and you wish totals of the fields you print, you would write the loop as below.

@tr
@tr.pda @tr.ty @tr.des @tr.tu @tr.di
@tr

With the loop above you will get a nice output, Collect! will automatically total columns when closing the loop. Collect! will draw dashed lines under each field output and then nicely put the totals of the columns in the correct place.

Now, there will be times that you do not want this type of automation. So by entering the example below, you will get the list but NO TOTALS or dashed lines.

@tr no total
@tr.pda @tr.ty @tr.des @tr.tu @tr.di
@tr

If you want to keep totals for the end of the report, you would have to use variables to contain the total to be printed later. Please refer to Help topic, How To Use Variables for details.

tip.gif If when designing and testing a report you have written, you get dashed lines and spaces for no reason, you probably should have a No Total comment in the loop line.

Top of page.

Commission And Totals Over Date Ranges

Q - I need a report to print commission and tax totals over a given date span. How can I do this?

A - Here is the basic layout:

Start on: Transactions Body: Commission      Tax @tr WHERE (@tr.pd = ?)
@tr.ca<20> @tr.ta<20>
@tr

This report will print all commissions and taxes over a given date span. Collect! will prompt you for a date span when you run the report. The report system tallies totals for commissions and taxes and prints them at the end of the list.

Top of page.

Group Totals In Reports

Q - I need a way to loop through the members of a group and total their balance owing. All members of the group have the same debtor name. These are grouped medical bills. I want to print a letter to the debtor with a total balance owing.

A - There is a Total Owing field in the Matching Accounts form for group members. You can simply call this field in your report by using @ma.ow.

@de.fi<10> @de.na<30> @ma.ow>12>

Q - I need a way to loop through the members of a group and total the balance owing for all accounts with a LEG legal status.

A. This solution requires a variable. Refer to the code below.

--------------------- @tvarBalance$ = 0.00
@de no total where (@de.gr = @de.gr) where (@de.gm = 1 .. 999999) where (@de.sta = LEG)
@tvarBalance = @(tvarBalance+de.ow)
@de

@de.fi<10> @de.na<30> @tvarBalance>12>
--------------------------- In this example, to store the balance owing, we declare a static variable in the line

@tvarBalance$ = 0.00

Then we loop through all the members of the group, in the line

@de no total where (@de.gr = @de.gr) where (@de.gm = 1 .. 999999) where (@de.sta = LEG)

We use a very large range, where (@de.gm = 1 .. 999999), to make sure we capture all members of each group.

The static variable @tvarBalance is used to store the owing amounts that we are adding together to reach our total owing. All the Debtor Owing amounts for accounts with a LEG status are tallied in the line,

@tvarBalance = @(tvarBalance+de.ow)

Then we close the loop with the line

@de

And print the results, in the line

@de.na<30> @gm.gi>10> @tvarBalance>12>

tip.gif You can actually paste the complete code snippet above into the body of a report and try this for yourself.

Top of page.

Reassign Contacts For Group Debtors

Q - Is there a way to make sure that after I group accounts together, all of the accounts in a particular group will be worked by the same operator?

A. You can create a report that starts on ANYWHERE as shown below. This "Reassign Contacts for Group Debtors" report is also shipped with the Demodb. It may be used to reassign contacts for all group members. The report stores the Operator ID for Group Member 1 and assigns this to all In Progress contacts for other members in the group.

//Start on: Anywhere

@varGroup# = 0
@varOp* = ""
@varGroup = @de.gr if (@de.gr = 1 .. 999999)
@varGroup = 999999 if (@de.gr = 0)
@de no total where (@de.gr = @varGroup) where (@de.gm = 1 .. 9999)
@varOp = @de.op if (@de.gm = 1)
@de.con where (@co.do = no)
@EDITco.co = @varOp
@de.con
@de

Top of page.

Tagging Group Members

Q. I need a way to tag only one member of each group so that I can run a batch process to assign a Review to the group.

A. The following report snippet will show you how to do this. It switches OFF batch fetching first because that can interfer with nested loops.

//This report prompts for a Client to run on. //It tags only one account in each group that it finds.

@batchoff
@varClient# = ? Enter Client Number
@tvarGroup# = 0
@gm no total WHERE ( @gm.me = 1 .. 999999 )
@tvarGroup = @gm.gi
@de no total WHERE ( @de.gr = @tvarGroup ) WHERE ( @de.mo = Active ) WHERE ( @de.cn = @varClient ) max=1
@SETde.na.tag = 1
@de
@SETde.na.viewtags = 1
@gm

Select Edit from the top menu bar and then select View tags to see your tagged list.

Top of page.

Rounding Up In Reports

Q - How can I round up to the nearest five dollars in a report?

A - This process requires use of variables as described below.

@varAmt$ = @(de.pr+de.in) // This is an actual currency value
adding Debtor Principal and Interest.

Example: 1432.52

@varDiv# = @varAmt/5 // This is an integer value obtained by
dividing the actual amount by 5.

Result: 286

@varAmt = @(varDiv*5) // This restores the currency value
without the cents.

Result: 1430

@varAmt += 5 // This rounds it up to the nearest five dollars.

Result: 1435

@varAmt // This outputs the value, 1435, that is, 1432.52
rounded up to the nearest five dollars.

Top of page.

Minus Amount In Reports

Q - I am trying to do a writeback to the Transaction To Us field. I need to add to the debtor's owing, so I need to make the value a negative amount. How can I do this?

A - Here is a code snippet for converting a value to a negative amount in your report. This snippet sets the To Us in a 201 Fees Transaction to "-1500."

// Start on: Debtor

@varAmt% = 1500
@de.tr where (@tr.ty = 201) max = 1
@EDITtr.tu = @(0-varAmt)
@tr.tu
@de.tr

Top of page.

Printing All Transactions

Q - I need a report to print all transactions over the last month and print debtor summary information for all debtors that have had transactions over that date range. How can I do this?

A - You could try a report which does a double pass on the debtor transactions to give a title.

@de
@de.tr WHERE (@tr.pd = @m-1 .. @m-1d) MAX = 1
@de.nu @de.ac @de.na @de.ow
@de.tr
@de.tr WHERE (@tr.pd = @m-1 .. @m-1d)
@tr.da @tr.tu
@de.tr
@de

This report scans through the list of debtors.

Then, for each debtor, it scans the transaction list, and only lists those transactions falling from the 1st of last month (@m-1 == month minus 1) to the last day of last month (@m-1d == the 1st of this month minus 1 day) (check the online Help in the report body for the date specification formats). It also uses the MAX = 1 clause to limit printing of the debtor name to the 1st transaction found; it then terminates the first loop. This gives you one instance of the debtor owing per debtor.

The next loop scans the transaction list again with the same date constraints, but this time lists any number of transactions, printing their date and the To Us amount.

At the end of the list, the report system tallies the total of all Owing amounts and prints this.

Top of page.

Printing Invoice Detail

Q - I am trying to select various lines in an invoice. If, for example, I was writing the report that I had been working on and wanted to use some of the invoice codes and wanted to put an amount owing, is it possible to print only invoice lines relating to the current debtor?

In other words, if I do a debtor scan (@cl.de) and then inside this loop do an invoice line scan, (@is.li), is it possible, perhaps using the WHERE clause, to scan the invoice lines that relate to the current debtor?

I am asking because to get the amount owing to be totaled correctly it has to be outside the @is.li loop. However, if I just do the simple loop, (@is.li inside @cl.de), it prints all the invoice lines for each debtor belonging to the client.

I will try to demonstrate:

@cl.de
@is.li
@il.na {----- name and any other information I want to print....
.....
@is.li
@cl.de

A - The invoices for a client are stored with the most recent invoice at the top. That means we can go @cl.in {some fields to print} @cl.in to get the client's invoices.

I tried the nested loop below and it seemed to fetch the 2nd statement, so I created a new blank statement for the client.

(I did this by manually pressing F3 when in the client's invoice/statement list.)

This statement has a future date (06/30 - possibly 01/01/99 would work?), and the report then seemed to find the invoice line items for the correct statement.

@cl.na
@cl.in max = 1 // fetch latest statement

Statement Date: @is.da @cl.in
@cl.de // check debtors
@de.fi @de.na @de.ow
@is.li WHERE (@il.fi = @de.fi)
@il.fi @il.da @il.tu @il.di @de.ac {and so forth - any additional fields}
@is.li
@cl.de

Top of page.

Column Alignment When Printing A Report

Q - The columns in my statements used to line up perfectly. I upgraded and now they are all out of whack. Eeverything is pushed over and is running off the page. How can I fix this?

A - This can be resolved by changing the report in a small way.

In the newest builds of Collect! the Debtor Account Number has been allotted more space and this will push the other columns over in older reports. Open the Report Body for the report in question and find the reference(s) to @de.ac. This is the Debtor Account Number printable field code. Just change @de.ac to @de.ac<20> in these reports and you should find that they look right again.

Top of page.

Settlement Amount

Q - I have to send settlement letters. I want my letter to state the Original Amount (which is already in the letter) and then I want it to give the Settlement Amount. I want Collect! to figure it for me. If I have it set for 75%, I want Collect! to figure what 75% of the original balance is and put that amount in the space where it says Settlement Amount.

A - It is only necessary to do a simple mathematical calculation in your settlement letter. Instead of the debtor original amount, you want 75% of that amount. So you want to put @(de.pr*0.75) in your letter. Please refer to How To Use Math With Database Fields.

Top of page.

Debtor Status Description

Q - When I include the Debtor Status in my reports, how can I print the description instead of the three letter code?

A - Use the following loop through the Debtor Status list to retrieve the description.

@ds NO TOTAL WHERE (@ds.co = @de.sta) MAX = 1
@de.na<18> etc.... @varTCurrBal<10.2> @ds.de<
@ds

Top of page.

Status Description Doesn't Print Correctly

Q - I am trying to use the following codes in a report and they don't appear to be working. I am using @ds.co and @ds.de to give me the status code and description for each debtor. The problem is that it is bringing up the last status code and description for all debtors.

For example:

Debtor Name Status Description
John CitizenWAR WARRANT FOR ARREST ISSUED
Mary ContraryACT WARRANT FOR ARREST ISSUED
Jane DoeSUS WARRANT FOR ARREST ISSUED

This is what the report is printing, but each of the above debtors actually have a different code. I am using a simple cycle code and cannot understand why it is not working.

@cl.de
@de.na @ds.co @ds.de
@cl.de

Could you please suggest why I am having this trouble, and how I may be able to fix it?

A - This is a very confusing problem. In fact, the debtor status field contains a foreign key. You will need to scan the list of status codes to get the description correct, shown as follows.

@cl.de
@ds WHERE (@ds.co = @de.sta) MAX = 1
@de.na @ds.co @ds.de
@ds
@cl.de

Top of page.

Prompt For Range Of Operators

Q - I know that reports can ask me From and To in relation to dates, but how do I get a report to ask a From and To question in relation to Operators.

A - Prompting for a text field gives you only one choice. So how do you fill a range? Quite simply, use two variables for your range limits. You can also include a prompt message.

@varFrom* = ? Enter an Operator to start with.
@varTo* = ? Enter an Operator to finish with.

Q - I need this for Contact ORIGINATOR, e.g. @co.or where (@co.or = ?) But I need it ask for a starting operator and finishing operator.

A - Use the values from the variables above in a range clause:

@co where (@co.or = @varFrom .. @varTo)

This should solve your problem and give you some useful tips for using prompts and variables in ranges.

EXAMPLE

When Contact List is displayed, select all. Print your report and choose One. This will prompt for values and list contacts within the operator range.

Name: Contact Originator
Start On: Contacts

@varFrom* = " "
@varTo* = " "


@varFrom* = ? Enter an Operator to start from
@varTo* = ? Enter an Operator to finish with


@co where (@co.or = @varFrom .. @varTo)
@co.ddlt;10gt; @co.tylt;15gt; @co.or
@co

Top of page.

Scanning Foreign Keys In Reports

Q - I want to print the name of the person operating the system in a letter, but each time I put in the code (op.na) it just takes the first from the top of the list. I think that what I might need to do is scan the operators and pick the one whose ID matches the current operator. Is this right?

A - Try using the following. It uses the Main Menu - You Are Signed On As field to make sure we pick the right operator's information.

@op WHERE (@op.id = @mm.yasoao) MAX = 1

ID: @op.id
NAME: @op.na
TITLE: @op.ti
PHONE: @op.ph @op

Top of page.

Pop Up Dialogs In Custom Reports

Q - Is there any way that we can make a selection box (like the one in which you select the client range and the date range) appear before printing a report?

A - Yes there is. In any loop WHERE clause you can use:

WHERE (@{code} = ?)

The question mark causes the program to prompt for the field information before building the Where clause. For example, you might build a report to print only debtors of a selected status.

@de WHERE (@de.st = ?)
@de.na ...
@de

This causes the system to prompt for a status code.

When you use the WHERE ? with a date, you are able to select a date range.

For example:

@de WHERE (@de.li = ?)
@de.na ...
@de

This report will prompt to print debtors listed over a date range.

Top of page.

Zero Filling A Field In A Report

Q - Is it possible to 'pad' the numeric fields with 0 (zero's)?

A - No worries with the zero fill of a field, following is an example:

Account # on the Debtor form is 15484 and you want to zero fill for a total field length of 15 characters.

The report code you would use is @de.ac<015>

The '0' tells Collect! you want to zero fill and the '15' refers to the total field length. In the example above, the output would be: 000000000015484

Top of page.

Decimals In A Numeric Field - Removing

Q - I need the amount to print out without decimals. I need 20.40 to print out as 2040. Do I use a multiplication formula?

A - When zero filling a $ field, Collect! also strips the dollar sign and decimal point.

Example:

The owing field on the debtor dialog is $1512.12

@de.ow<015>

Using the above report codes, the output would be: 000000000151212

Top of page.

Dollar Signs Printing In Reports

Q - How can I get the dollar sign to show up when I print currency amounts in my reports and letters.

A - You can always precede the field code with a dollar sign, for example:

Owing: $@de.ow

For a more sophisticated solution, switch ON ' Multi Currency' in the Company Details form. Then, every field that is a currency field will automatically be printed with a dollar sign. You can leave this switch ON, or use it when you need dollar signs in a particular report.

This switch is set in the Company Details form. Select OPTIONS from the top menu bar and a list of choices will be displayed. Select COMPANY DETAILS to open the Company Details form and switch ON 'Multi Currency'.

tip.gif If you type in a $ and then notice that fields are printing $$, that probably means that 'Multi Currency' is ON. Either switch it OFF, or remove the dollar signs that are manually typed in.

Top of page.

Dollar Signs - Removing From Reports

Q - I am using @tr.ca<13> to print a field and it is outputting $1,723.07. How can I output 1723.00 without the dollar sign and comma?

A.- Putting <s> after a field causes everything but numerics to be stripped from a CURRENCY$$$ field before printing.

tip.gif Dollar signs are printed only if you have ' Multi Currency' switched ON in the Company Details form. If you want to remove all dollar signs, switch this OFF. To do this, select OPTIONS from the top menu bar and then select COMPANY DETAILS from the drop-down choices to open the Company Details form. Take the check mark out of the field labeled Multi Currency.

Top of page.

Dollar Signs - Removing From Spreadsheet CSV Files

Q - When I print to a spreadsheet (.csv file), the numbers have dollar signs and commas. I can't do math on these fields in MS Excel.

A - If you switch ON ' Multi Currency', Collect! will omit any currency formatting when printing to spreadsheet and will output only numbers and the decimal point. This allows MS Excel to do math on the numbers. You may switch 'Multi Currency' OFF, if you wish, after the report has printed.

This switch is set in the Company Details form. Select OPTIONS from the top menu bar and a list of choices will be displayed. Select COMPANY DETAILS to open the Company Details form and switch ON 'Multi Currency'.

tip.gif In earlier versions of Collect! it is necessary to reformat the columns within the MS Excel program, itself.

Top of page.

Underlining

Q - When I have a @de.na_____ in a report, Collect! doesn't recognize the code and doesn't print the debtor's Name.

A - This is just like providing an invalid code. Collect! thinks the underlining is part of the code. To make this work, you must include a space after @de.na or use the @de.na< symbol like @de.na<_______________ . You may also fix the size of the debtor Name field like @de.na<80>_______________ . No space when underlining right after a field name produces the anomaly.

Top of page.

First Name In Reports

Q - Can I separate first and last names and only print the first name in my report?

A - Yes, let's suppose that the debtor's name is James T. Ryan Smith.

@de.na will print "Smith, James T. Ryan"

To print only the first name, use this:

@de.na<fn> to print "James"

tip.gif The closing angle bracket must immediately follow the code.

To print first and middle names and initials, use this:

@de.na<fns> to print "James T. Ryan"

tip.gif The closing angle bracket must immediately follow the code.

To print only middle names and initials, use this:

@de.na<mns> to print "T. Ryan"

tip.gif When the closing angle bracket must immediately follow the code.

Top of page.

Last Name In Reports

Q - Can I separate first and last names and only print the last name in my report?

A - Yes, let's suppose that the debtor's name is James Smith.

@de.na will print SMITH, JAMES

To print only the last name, use this:

@de.na<ln> to print SMITH

tip.gif The closing angle bracket must immediately follow the code.

Top of page.

Sort Order In Reports

Q -Could you please show me how I can get transactions to print in chronological order?

A - In order to sort, you need to include an indexed field in the query. Collect! uses the first index it finds in the query criteria to sort by.

Some examples:

Chronologically by posted date:

@tr where (@tr.pd > 0)
@tr.pd @tr.pda @tr.tu @tr.di @tr.de
@tr

Chronologically by payment date:

@tr where (@tr.pda > 0)
@tr.pd @tr.pda @tr.tu @tr.di @tr.de
@tr

Top of page.

Word Wrapping In The Report Writer

Q - How can I get my letters to fill the whole page? When I am typing in the Report Body, Collect! wraps to the next line automatically, even when I don't want the line to end yet.

A - When you type in the Collect! report body, the font is a common courier 10cpi character set. There are many benefits to this, lists are easier to line up for example. When you print the report, it will print in the FONT that you have chosen, thus the difference in looks. That is why the layout of the report body is very basic and manual. You must control the line lengths, with the particular font you are using. Therefore if you change the font, move the margins or edit paragraphs, you will have to take care of the line length.

If you are using a non-fixed length font in your template, that's fine. However, it means that you will be able to fit more than eighty characters on a line.

As you are typing, when you come within 2 characters of the right window edge, Collect! will word wrap the line for you automatically.

So, what you have to do is write your text into the editor. Go to the end of any line that prints too short and press DELETE to bring up the line from below up to the line you are on. You should then go to the word you think should be at the end of that line and press ENTER to have the text to the right of your cursor drop to the line below, then repeat this process till all lines are far enough to the right.

You see, there is no right margin. It's just wordwrapping at eighty characters when you type, because, if you used a fixed length font, that's where your page would end.

You can keep track of how many characters to the right you are by paying attention to the bottom left corner of the report writer. This is your cursor's position within the report writer. Non-fixed length fonts can be up to 132 characters to the line.

Top of page.

Report Writer 132 Character Limit

Q - Whenever I try to type past 132 characters in the report writer, whatever I type is deleted. How can I create reports that go beyond this limit?

A -If you type any line in the report writer that extends past 132 characters, when you save the report body, everything past the 132nd character will be deleted.

There is a way around this:

Use the @no line feed and @line feed features of the report writer.
These commands are case sensitive.

For example:

@no line feed (This command is case sensitive.)

 @de.na<
 @de.co<
 @de.fi<
 @de.ow<
@line feed (This command is case sensitive.)

then, carry on with the rest of your report.

tip.gif When you use the @line feed command YOU MUST HAVE AN EXTRA EMPTY LINE BELOW for it to take effect.

When you start the @no line feed, the next line down can be the first data field or text. Notice the next line has a space in front of the field. This is to allow one space to be printed after the line above it.

Have a look at the Monthly Spindown report. There are two methods of using these features. One where you break a sentence in half and the other as in the example above where you put individual fields on separate lines.

Top of page.

Report Writer 132 Character Limit And Report Codes

Q - I would like to exclude more than one transaction type in a report but when I put the code on the line after the first exclusion (Ex. @tr.ty != 201) I run out of space since there are conditions on this line too and these make the line of code longer that 132 characters. If my typing goes past col 133, it is truncated and whatever I type beyond 132 characters is deleted and lost. Is there some way of getting more code on one line?

A - You can modify your report to load into intermediate variables based on an If Statement, then add the results.

For example:

@varTemp = 0
@varTemp = @tr.di if (@tr.ty = 202)
@varTemp = @tr.di if (@tr.ty = 203)

@varTotal = @(varTotal+varTemp)

Top of page.

Letters And Templates From Other Programs

Q - I have some letters that I created in another program and I would like to use them as letters in Collect! Is there a way I can use them in Collect! without having to retype all of the letters?

A - Yes, there is a way:

1. Create a new letter or report in Collect! Choose an appropriate Start On and type "Start Here" in the Report Body. Save the letter.

2. Export this letter to a .RPT file using How To Export A Report to guide you through the steps.

3. Open your .RPT file in Notepad or Ultra Edit. At the top of the file you will see several lines of information that Collect! uses internally for printing. ***DO NOT alter those lines.*** Locate the line that says "Start Here" This is where you will put your information from your existing letter.

warning.gif WARNING: Do not save this file in any other format or you will not be able to use it.

4. Use your word processing program to open the letter you want to copy.

5. Save this letter as a .TXT file - Text Only. This will strip out all font settings
and graphics. This is necessary because those will not transfer to Collect! successfully. However, you can add formatting once you have the letter in Collect!

6. Open this .TXT file in a new Notepad window or in Ultra Edit.

7. Select the content of this .TXT file that you want to add to the .RPT file. Copy this to the .RPT file starting at "Start Here."

8. You can shorten lines if necessary or add/remove sentences as needed.

9. Save the .RPT file. Now import this back into Collect! as follows.

10. In Collect!, select Print from the top menu bar and then select Customize Printing, Import Report Template.

11. Locate the .RPT file you just edited and select OK.

12. Select Print from the top menu bar and then select Customize Printing, Edit Report Templates. You will have two reports with the same name, the one you exported and the one you just imported. Delete the empty one and print your new one and check it out. You can add formatting as needed. Refer to the Report Topics Index for formatting topics.

Top of page.

Printing Forms

Q - I have a form that I would like to print on to. How can I line up the fields and pages?

A - For success when printing onto forms, try the following tips:

1. Use a fixed font rather than proportional.

2. Experiment with placing when you build your report. Print a sample on plain paper and hold it up to the form to adjust the placement of information.

3. You can control vertical alignment by inserting blank lines above and below the information you are trying to fit into specific locations. If you are using printer stream, you can also handle vertical alignment with @l# and @f# commands. ('#' stands for a line number.) Horizontal spacing is achieved by inserting spaces or by inserting tabs with the @> command.

4. First, build the outline of your form by creating a new report using the Print menu, Customize Printing, Edit Report Templates option. Once you have the outline, be sure to test and fine tune the alignment with the appropriate commands. Please refer to How To Control Where Printing Begins for detailed descriptions of the @l and @f commands.

Setting up forms is time consuming and requires patience.

Top of page.

A4 Paper Size

Q - Can we change print to A4 size and what is that - paper or text?

A - We commonly refer to our printer paper as either Letter or Legal. Letter size is a standard 8.5 " by 11" or 21.59cm by 27.94cm and legal is a standard 8.5" by 14" or 21.59cm by 35.56cm.

Another paper size that is quite common is A4 which is a standard 8.27" by 11.69" or 21cm by 29.7cm and B5 which is a standard 7.17" by 10.12" or 17.59cm by 24.99cm.

The sample reports in Collect! have been tested with only letter and legal paper sizes and may need a bit of fine tuning to readjust for the smaller A4 and B5 paper sizes.

Top of page.

Stop Writing Notes To A Debtor

Q - How can I stop Collect! from writing notes whenever I print a letter?

A - To stop writing to notes when printing a letter to a debtor, Select System from the top menu bar and then select Preferences, and then selectthe OPTIONS, SOUNDS AND COLORS button to open the Screen and Messages form where you can switch OFF writing to debtor notes when printing a letter.

Top of page.

Record Not Legal Member Of Set

Q - I am trying to print a report and I am getting System DB Error -19 Record Not Legal Member Of Set. Why?

A - This error indicates that you have not set up your Loop structure correctly. Did you edit your report recently? Perhaps you removed a necessary reference to a loop.

Check the forms that you pull information from in your report. Are you trying to pull information from a form that is not related to your 'Start On' Field? Refer to How To Print A List of Records.

Top of page.

Security Levels For Printing Letters

Q - We want to give the ability to print letters only to certain security levels. Does the user level assigned affect the ability to print in any way?

What we are trying to accomplish is to take away the ability for collectors to print their own "custom" letters. This is happening way too much to be comfortable with, as we basically have no idea what the letters might say.

A - Your collectors can only print custom letters through Collect! if they have access to Edit Reports -- unless of course they are using MS Word or something to write a letter. In that case, we have no control over their actions!

The best way to limit access to reports in Collect! is to put security levels on a report itself so that only certain levels can print it. That is set in the Report Options form for a particular report. When you are looking at the Report Definition for a particular report, locate the Options button in the lower left hand corner of the screen. Press this Options button to open the Report Options form. Press F1 for details on this form's fields.

Within the Collect! program, you have full control the access levels of your operators. In the User Level settings that are demonstrated in our Demonstration database, you will notice that the Junior Collector has many menu choices that are "greyed out." That means that they cannot access those features signed in at that level. So they cannot open the form that allows them to edit or create reports. This is User Level 60 in our Demodb. Bear in mind that any level can be fine tuned to include or leave out fields or forms. It is best to find a User Level that is close to what you want and then fine tune it as needed.

Another possibility is to deny access to the actual Report Body form so that the user cannot edit a report even if the menu choice Edit Reports is not greyed out.

Top of page.

Was this page helpful? Do you have any comments on this document? Can we make it better? If so how may we improve this help page.

Please click this link to send us your comments: helpinfo@collect.org
© 2012 Comtech Systems Inc. * Email: info@collect.org * Web: www.collect.org * Voice: 1-800-661-6722, 250-391-0466