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.
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.
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
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
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
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
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.
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.
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.
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.
Before you rebuild, always sign in using Exclusive mode
with access level 99.
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.
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.
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.
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.
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.
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 |
| @de | Start of loop through all debtors |
| @de.na @de.ow | Print name and owing for each one |
| @de | End 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.de | Scan all the client's debtors |
| @de.tr | Scan the debtor's transactions |
| @de.na @de.ac @tr.tu @tr.di | Print fields |
| @de.tr | Transaction scan loop end marker |
| @cl.de | Debtor 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.
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.
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.
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.
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>
You can actually paste the complete code snippet above
into the body of a report and try this for yourself.
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
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.
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.
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
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.
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
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.
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.
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
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 Citizen | WAR |
WARRANT FOR ARREST ISSUED |
| Mary Contrary | ACT |
WARRANT FOR ARREST ISSUED |
| Jane Doe | SUS |
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
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
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
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.
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
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
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'.
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.
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.
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.
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'.
In earlier versions of Collect! it is necessary to reformat
the columns within the MS Excel program, itself.
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.
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"
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"
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"
When the closing angle bracket must immediately
follow the code.
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
The closing angle bracket must immediately
follow the code.
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
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.
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.
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.
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)
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: 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.
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.
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.
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.
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.
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.
|
Please click this link to send us your comments: helpinfo@collect.org