Label Wizard Tutorial (Advanced)
This tutorial is for advanced users, consultants and computer programmers who want a quick overview of some of the main features of Visual Builder.
In this tutorial a label will be created with the following characteristics:
It will display the product description and a bar code based on the entry inside the stock Alternative field.
The label will prompt for the invoice number to print.
One label will be printed for each stock item sold, except for non-stock items or stock items with quantities sold that are equal to or less than zero.
1. Start Visual Builder and Click on Wizard. Then click on the Label Wizard.
2. Click on Next and select "Invoiced Stock Items (Product Sales)"
3. Click on Next and specify the dimensions of the label.
4. Click on Next and select contents->title and press Add and then New Line.
5. Select stock->Name2 and press Add.
6. Click on Finished.
7. Double-click on the Name2 object and change the Display Length field setting to 13.

8. Click on the Barcode tab and select Ean/Jan 13, then click on OK.
9. Click the Glasses
on the tool bar and click on the Question tab.
10. Click on the Wizard button.
11. Enter you question text and click on Finished. For example, "Enter the the invoice number to print labels for."
12. Click on the Output tab and enter a suitable name for the form and click on OK.
13. Click on the Title object on the label.
14. Click right-mouse and select Body Properties.
15. Click on Links.
16. Change Sort from:
DTOS(Date) + Invoiceno
to:
Invoiceno
The above ensures that the label is sorted and searched by the invoice number instead of the date.
17. In Seek enter:
Answer1
The variable Answer1 was created by the Question Wizard. It contains the invoice number entered by the user when the label is executed.
18. Untick Nearest Match.
We want to ensure that labels for only the exact transaction are printed. Unticking this option ensures that the next closed invoice is not printed instead.
19. Make sure Join is set to "Not Joined" if there is only one label per page. Otherwise leave it set to Joined.
20. Click on the Rules tab.
21. Click on first visible rule in the first list box.
22. Click add and type the following:
.Not. Empty(contents->code)
The above rule ensures that the record is skipped if the invoice item's code is blank. We don't want to print labels for non-stock items.
23. Click OK.
Note:
You could add a similar rule for items that don't have a bar code, e.g.
.Not. Empty(stock->Name2)
The above rule assumes that the bar code will be stored in stock->Name2 which is the stock record's alternative product code field. If the code is blank (empty), the record will be not pass the rule and it will be skipped over.
24. Click on the box underneath "When one of these rules is true, reporting is finished".
25. Click on Add.
26. Enter:
Answer1 # Contents->Invoiceno
This rule ensures that if the transaction number has changed, label printing will end.
27. Click on OK.
28. Now edit the first rule and change it like so:
AsVal(Contents->Qty) > 0
This results in labels printing if the quantity invoiced is greater than zero.
All stock quantity fields in CAPITAL are stored as character fields. They must be converted to numeric using the AsVAL() function before numeric comparisons can be made.
29. Click Add again. (You should be in the "All these rules must be true section".)
30. Add the following script:
Declare LabelCount Type Numeric
Declare LoopCheck Type Character
* Keep printing same record?
If LabelCount > 0
LabelCount := LabelCount -1
HoldRecord := TRUE
Return TRUE
Endif
* Still on same line?
If LoopCheck == Contents->Invoiceno + Contents->Lineref
Return TRUE
Endif
* Line has changed...
LoopCheck := Contents->Invoiceno + Contents->Lineref
* Need to loop on same line?
If Val(Contents->Qty) > 1
LabelCount := Val(Contents->Qty) - 2
HoldRecord := TRUE
Endif
Return TRUE
This script ensures that the sale item is held in position until all labels are printed. If the the quantity sold is 3, then the above script will ensure that the label stays on this record for 3 iterations, before moving to the next item to print.
31. Click OK.

32. Click on OK again to return to the label form.
32. Save the form.
The file invstlab.sty found in the \CAPITAL\FORMS directory contains a form created using the above set of steps.