  jO                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 VERSION =   3.00      dataenvironment      dataenvironment      Dataenvironment      LLeft = 186
Top = 401
Width = 520
Height = 200
Name = "Dataenvironment"
      cursor      cursor      Cursor1      Dataenvironment      Left = 13
Top = 20
Width = 90
Height = 90
Alias = "products"
BufferModeOverride = 3
Order = "prodnum"
Database = ..\data\trackerdb.dbc
CursorSource = "products"
Name = "Cursor1"
      cursor      cursor      Cursor2      Dataenvironment      Left = 150
Top = 20
Width = 90
Height = 90
Alias = "productcodes"
BufferModeOverride = 3
Database = ..\data\trackerdb.dbc
CursorSource = "productcodes"
ReadOnly = .T.
Name = "Cursor2"
      3      1      t_form      ..\libs\t_base.vcx      form      frmNewProduct      Height = 249
Width = 556
DoCreate = .T.
AutoCenter = .T.
Caption = "New Product"
WindowType = 1
cprodnumchar1 = 
cprodnumchar2 = 
cprodnumchar3 = 
cprodnumchar4 = 
cprodnumchar5 = 
nprodnumchar6 = 0
Name = "frmNewProduct"
     PROCEDURE isunique
PARAMETER mvalue, mdelete
	IF RECCOUNT() = 0                        && If database is empty,
	   RETURN .T.                            && Key value is unique
	ENDIF 				                     && If database is empty,)
	munique = .T.
	mrecord = RECNO()						&& Save current record number
	IF mdelete								&& If validating field,
	   mdeleted = SET("DELETED")			&& Save DELETED setting
	   SET DELETED ON						&& Turn on DELETED setting
	   DELETE								&& Delete current record
	ENDIF									&& If validating field,)
	SEEK mvalue								&& Search index for key value
	IF FOUND()								&& If value found in index,
	   munique = .F.						&& It is not unique
	ENDIF									&& If value found in index,)
	GOTO mrecord							&& Return to original record
	IF mdelete								&& If record was deleted,
	   RECALL								&& Recall it
	   SET DELETED &mdeleted				&& Restore prior DELETED setting
	ENDIF									&& If record was deleted,)

	RETURN munique
*** End of function Isunique

ENDPROC
PROCEDURE Init
* Build Product Version combo box
SELECT ProductCodes.Description;
 FROM trackerdb!ProductCodes;
 WHERE ProductCodes.ID = 'ver';
 INTO Array thisform.aProductVersion
 
ThisForm.cboVersion.NumberOfElements = ALEN(thisform.aProductVersion)

* Build Product Type combo box
SELECT ProductCodes.Description;
 FROM trackerdb!ProductCodes;
 WHERE ProductCodes.ID = 'typ';
 INTO Array thisform.aProductType
 
ThisForm.cboType.NumberOfElements = ALEN(thisform.aProductType)

* Build Product Shipment combo box
SELECT ProductCodes.Description;
 FROM trackerdb!ProductCodes;
 WHERE ProductCodes.ID = 'shp';
 INTO Array thisform.aProductShipments
 
ThisForm.cboShipments.NumberOfElements = ALEN(thisform.aProductShipments)

* Build Product Users combo box
SELECT ProductCodes.Description;
 FROM trackerdb!ProductCodes;
 WHERE ProductCodes.ID = 'use';
 INTO Array thisform.aProductUsers
 
ThisForm.cboUsers.NumberOfElements = ALEN(thisform.aProductUsers)

* Build Product Invoicing combo box
SELECT ProductCodes.Description;
 FROM trackerdb!ProductCodes;
 WHERE ProductCodes.ID = 'inv';
 INTO Array thisform.aProductInvoicing
 
ThisForm.cboInvoicing.NumberOfElements = ALEN(thisform.aProductInvoicing)

* Build Invoice Code combo box
SELECT ProductCodes.Description;
 FROM trackerdb!ProductCodes;
 WHERE ProductCodes.ID = 'cde';
 ORDER BY ProductCodes.Description;
 INTO Array thisform.aInvoiceCode
 
ThisForm.cboInvoiceCode.NumberOfElements = ALEN(thisform.aInvoiceCode)
SELECT ProductCodes
USE

** TCK 12/31/00 
** Commenting this section of code out because the Product table 
** will no longer have company information.
**
* Build array for company codes
*SELECT Company.co_name, Company.company_id, Company.co_code;
* FROM trackerdb!company;
* ORDER BY Company.co_name;
* INTO ARRAY thisform.aCompanyCode
 
*ThisForm.cboCompanyCode.NumberOfElements = ALEN(thisform.aCompanyCode)
*SELECT Company
*USE

SELECT Products
ENDPROC
     [    B  B                           %                             U  }  %    v  %C  r D C Release can not be left blank New Product - Releasex	 B    U  THISFORM
 CMDBUTTONS EDITMODE THIS VALUE Click,     1 1!A A A 1                              )   B                       y    `  `                           %                           U    %      %C   
 X C* Product Number must be between 1 and 99999 New Product - Product Numberx	 B    U  THISFORM
 CMDBUTTONS EDITMODE THIS VALUE Valid,     1 1 A A 1                              )   `                       *                              t   %                             U  p  %C   i N C" Invoice Code can not be left blank New Product - Invoice Codex	 B   U  THIS VALUE Valid,     1 ! A 1                              )                           BArial, 0, 9, 5, 15, 12, 13, 3, 0
Arial, 0, 8, 5, 14, 11, 12, 3, 0
      PROCEDURE Click
IF ThisForm.cmdButtons.editmode
	IF EMPTY(this.value)
		MESSAGEBOX("Release can not be left blank",16,"New Product - Release")
		RETURN 0
	ENDIF
ENDIF
ENDPROC
      frmNewProduct      textbox     cprodnumchar1
cprodnumchar2
cprodnumchar3
cprodnumchar4
cprodnumchar5
nprodnumchar6
^aproductversion[1,0] 
^aproducttype[1,0] 
^aproductshipments[1,0] 
^aproductusers[1,0] 
^aproductinvoicing[1,0] 
^ainvoicecode[1,0] 
*isunique 
^acompanycode[1,0] 
      
t_combobox      ..\libs\t_base.vcx      combobox      
cboVersion      frmNewProduct     PColumnCount = (ALEN(thisform.aProductVersion,2))
RowSourceType = 5
RowSource = "thisform.aProductVersion"
ControlSource = "products.version"
FirstElement = 1
Height = 24
Left = 100
NumberOfElements = 0
StatusBarText = "What version of the item is this?"
TabIndex = 1
Top = 12
Width = 135
BoundTo = .T.
Name = "cboVersion"
     PROCEDURE Valid
IF EMPTY(this.value)
	MESSAGEBOX("Version can not be left blank",16,"New Product - Version")
	RETURN 0
ELSE
	DO CASE
		CASE this.value = 'Domestic'
			thisform.cProdNumChar4 = "D"
		CASE this.value= 'World'
			thisform.cProdNumChar4 = "W"
		CASE this.value= 'Both'
			thisform.cProdNumChar4 = "B"
		CASE this.value= 'Does not apply'
			thisform.cProdNumChar4 = "X"
		OTHERWISE
			thisform.cProdNumChar4 = '*'
	ENDCASE
ENDIF
ENDPROC
                                      %   _        
   n            U    %       A T C     Does not apply    
    6 % 
 m C: Number of years has to be greater than 0, for less enter 1! New Product - Subscription Lengthx	 B    U  THISFORM
 CMDBUTTONS EDITMODE LISVALID CBOINVOICING VALUE THIS Valid,     1 1q   A A 2                       B      )                           
txtRelease      ..\libs\t_base.vcx      	t_textbox      frmNewProduct      t_label      ..\libs\t_base.vcx      label      T_label1      frmNewProduct      eCaption = "Version"
Height = 16
Left = 10
Top = 16
Width = 60
TabIndex = 15
Name = "T_label1"
      t_label      ..\libs\t_base.vcx      label      T_label2      frmNewProduct      UCaption = "Type"
Left = 10
Top = 44
Width = 60
TabIndex = 16
Name = "T_label2"
      t_label      ..\libs\t_base.vcx      label      T_label3      frmNewProduct      ZCaption = "Shipments"
Left = 10
Top = 71
Width = 60
TabIndex = 17
Name = "T_label3"
      t_label      ..\libs\t_base.vcx      label      T_label4      frmNewProduct      WCaption = "Users"
Left = 10
Top = 101
Width = 60
TabIndex = 18
Name = "T_label4"
      t_label      ..\libs\t_base.vcx      label      T_label5      frmNewProduct      [Caption = "Invoicing"
Left = 10
Top = 132
Width = 60
TabIndex = 19
Name = "T_label5"
      t_label      ..\libs\t_base.vcx      label      T_label6      frmNewProduct      sCaption = "Product Description"
Height = 16
Left = 43
Top = 164
Width = 108
TabIndex = 20
Name = "T_label6"
      t_label      ..\libs\t_base.vcx      label      T_label7      frmNewProduct      {Alignment = 1
Caption = "Product cost"
Height = 16
Left = 275
Top = 71
Width = 175
TabIndex = 21
Name = "T_label7"
      t_label      ..\libs\t_base.vcx      label      T_label8      frmNewProduct      yAlignment = 1
Caption = "List price"
Height = 16
Left = 275
Top = 44
Width = 175
TabIndex = 22
Name = "T_label8"
      t_label      ..\libs\t_base.vcx      label      T_label9      frmNewProduct      Alignment = 1
Caption = "Length of subscription in Years"
Height = 16
Left = 275
Top = 16
Width = 175
TabIndex = 23
Name = "T_label9"
      
t_combobox      ..\libs\t_base.vcx      combobox      cboShipments      frmNewProduct      RowSourceType = 5
RowSource = "thisform.aProductShipments"
ControlSource = "products.shipments"
Left = 100
StatusBarText = "How often are the shipments?"
TabIndex = 3
Top = 69
Width = 135
BoundTo = .T.
Name = "cboShipments"
     PROCEDURE Valid
IF EMPTY(this.value)
	MESSAGEBOX("Shipments can not be left blank",16,"New Product - Shipments")
	RETURN 0
ELSE
	DO CASE
		CASE this.value = 'Single'
			thisform.cProdNumChar3 = "S"
		CASE this.value = 'Weekly'
			thisform.cProdNumChar3 = "W"
		CASE this.value = 'Monthly'
			thisform.cProdNumChar3 = "M"
		CASE this.value = 'Does not apply'
			thisform.cProdNumChar3 = "X"
		OTHERWISE
			thisform.cProdNumChar3 = '*'
	ENDCASE


ENDIF
ENDPROC
                                   H   %   F      i  
   U            U    %       A T C     Does not apply    
    6 % 
 T C* List Price must be between 0 and 99,999.99 New Product - List Pricex	 B    U  THISFORM
 CMDBUTTONS EDITMODE LISVALID CBOINVOICING VALUE THIS Valid,     1 1q  A A A 2                       )      )                           iCaption = "Release"
Height = 16
Left = 102
Top = 192
Width = 52
TabIndex = 27
Name = "lblRelease"
      
t_combobox      ..\libs\t_base.vcx      combobox      cboUsers      frmNewProduct      RowSourceType = 5
RowSource = "thisform.aProductUsers"
ControlSource = "products.users"
Left = 100
StatusBarText = "How many users are going to use this item?"
TabIndex = 4
Top = 99
Width = 135
BoundTo = .T.
Name = "cboUsers"
     PROCEDURE Valid
IF EMPTY(this.value)
	MESSAGEBOX("Users can not be left blank",16,"New Product - Users")
	RETURN 0
ELSE
	DO CASE
		CASE this.value = 'Single user'
			thisform.cProdNumChar5 = "S"
		CASE this.value = 'Multi user'
			thisform.cProdNumChar5 = "N"
		CASE this.value = 'Does not apply'
			thisform.cProdNumChar5 = "X"
		OTHERWISE
			thisform.cProdNumChar5 = '*'
	ENDCASE

ENDIF
ENDPROC
     c    J  J                        P   %                            U    %    ~  %C  z L C! Description can not be left blank New Product - Descriptionx	 B    U  THISFORM
 CMDBUTTONS EDITMODE THIS VALUE Valid,     1 1! A A 1                              )   J                        Comment = ""
ControlSource = "products.releasenum"
Height = 23
Left = 155
MaxLength = 5
TabIndex = 13
Top = 189
Width = 38
Name = "txtRelease"
      label      
t_combobox      ..\libs\t_base.vcx      combobox      cboInvoicing      frmNewProduct      RowSourceType = 5
RowSource = "thisform.aProductInvoicing"
ControlSource = "products.invoicetype"
Left = 100
StatusBarText = "How often should an invoice be created?"
TabIndex = 5
Top = 127
Width = 135
BoundTo = .T.
Name = "cboInvoicing"
     PROCEDURE Valid
IF EMPTY(this.value)
	MESSAGEBOX("Invoicing can not be left blank",16,"New Product - Invoicing")
	RETURN 0
ELSE
	DO CASE
		CASE this.value = 'Single invoice'
			thisform.cProdNumChar1 = "S"
		CASE this.value = 'Annual invoice'
			thisform.cProdNumChar1 = "A"
		CASE this.value = 'Does not apply'
			thisform.cProdNumChar1 = "N"
		OTHERWISE
			thisform.cProdNumChar1 = '*'
	ENDCASE

ENDIF
ENDPROC
                                      %                          U  5 %C   c H C Invoicing can not be left blank New Product - Invoicingx	 B  . Hx *"     Single invoice  T   S"     Annual invoice  T   A"     Does not apply T   N 2* T   *   U  THIS VALUE THISFORM CPRODNUMCHAR1 Valid,     1 !   !!! A B 1                             )                           
t_combobox      ..\libs\t_base.vcx      combobox      cboType      frmNewProduct      RowSourceType = 5
RowSource = "thisform.aProductType"
ControlSource = "products.type"
Height = 24
Left = 100
StatusBarText = "What type of product is this?"
TabIndex = 2
Top = 40
Width = 135
BoundTo = .T.
Name = "cboType"
     PROCEDURE Valid
IF EMPTY(this.value)
	MESSAGEBOX("Type can not be left blank",16,"New Product - Type")
	RETURN 0
ELSE
	DO CASE
		CASE this.value = 'BT Product'
			thisform.cProdNumChar2 = "B"
		CASE this.value = 'Interface'
			thisform.cProdNumChar2 = "I"
		CASE this.value = 'Service'
			thisform.cProdNumChar2 = "S"
		CASE this.value = 'Does not apply'
			thisform.cProdNumChar2 = "X"
		OTHERWISE
			thisform.cProdNumChar2 = '*'
	ENDCASE

ENDIF
ENDPROC
     ;    "  "                        H   %                          U  N %C   Y > C Type can not be left blank New Product - Typex	 B  G Hn C    
 BT Product  T   B    	 Interface  T   I     Service  T   S"     Does not apply* T   X 2C T   *   U  THIS VALUE THISFORM CPRODNUMCHAR2 Valid,     1 !   ! A B 1                             )   "                        t_basictxtbtns      ..\libs\t_basicbtns.vcx      	container      
cmdButtons      frmNewProduct     Top = 222
Left = 3
TabIndex = 14
Name = "cmdButtons"
cmdTop.Name = "cmdTop"
cmdPrev.Name = "cmdPrev"
cmdNext.Name = "cmdNext"
cmdEnd.Name = "cmdEnd"
cmdFind.Visible = .F.
cmdFind.Name = "cmdFind"
cmdPrint.Visible = .F.
cmdPrint.Name = "cmdPrint"
cmdAdd.Default = .T.
cmdAdd.Name = "cmdAdd"
cmdEdit.Visible = .F.
cmdEdit.Name = "cmdEdit"
cmdDelete.Visible = .F.
cmdDelete.Name = "cmdDelete"
cmdExit.Name = "cmdExit"
     
PROCEDURE Init
DODEFAULT()
this.haderror = .F.

ENDPROC
PROCEDURE cmdAdd.Click
LOCAL cProdNumc, cFullProductId

This.Parent.cmdEdit.visible = !this.parent.editmode

IF This.caption <> "\<Add"
	IF EMPTY(ThisForm.cboVersion.value)
		MESSAGEBOX("Version can not be left blank",16,"New Product - Version")
		ThisForm.cboVersion.setfocus
		This.Parent.cmdEdit.visible = .T.
		RETURN
	ENDIF
	IF EMPTY(ThisForm.cboType.value)
		MESSAGEBOX("Type can not be left blank",16,"New Product - Type")
		ThisForm.cboType.setfocus
		This.Parent.cmdEdit.visible = .T.
		RETURN
	ENDIF
	IF EMPTY(ThisForm.cboShipments.value)
		MESSAGEBOX("Shipments can not be left blank",16,"New Product - Shipments")
		ThisForm.cboShipments.setfocus
		This.Parent.cmdEdit.visible = .T.
		RETURN
	ENDIF
	IF EMPTY(ThisForm.cboUsers.value)
		MESSAGEBOX("Users can not be left blank",16,"New Product - Users")
		ThisForm.cboUsers.setfocus
		This.Parent.cmdEdit.visible = .T.
		RETURN
	ENDIF
	IF EMPTY(ThisForm.cboInvoicing.value)
		MESSAGEBOX("Invoicing can not be left blank",16,"New Product - Invoicing")
		ThisForm.cboInvoicing.setfocus
		This.Parent.cmdEdit.visible = .T.
		RETURN
	ENDIF
*!*		IF EMPTY(ThisForm.txtSublength.value)
*!*			MESSAGEBOX("Length of subscription in Years can not be left blank",16,"New Product - Subscription Length")
*!*			ThisForm.txtSublength.setfocus
*!*			This.Parent.cmdEdit.visible = .T.
*!*			RETURN
*!*		ENDIF
	IF EMPTY(ThisForm.txtProductNumber.value)
		MESSAGEBOX("Product Number must be between 1 and 99999",16,"New Product - Product Number")
		ThisForm.txtProductNumber.setfocus
		This.Parent.cmdEdit.visible = .T.
		RETURN
	ENDIF
	IF EMPTY(ThisForm.txtDescription.value)
		MESSAGEBOX("Description can not be left blank",16,"New Product - Description")
		ThisForm.txtDescription.setfocus
		This.Parent.cmdEdit.visible = .T.
		RETURN
	ENDIF
	IF EMPTY(ThisForm.txtRelease.value)
		MESSAGEBOX("Release can not be left blank",16,"New Product - Release")
		ThisForm.txtRelease.setfocus
		This.Parent.cmdEdit.visible = .T.
		RETURN
	ENDIF

	cProdNum = TRANSFORM(thisform.nProdNumChar6, "@L #####")
	
	cFullProductId = thisform.cProdNumChar1 + thisform.cProdNumChar2 + thisform.cProdNumChar3 +;
		thisform.cProdNumChar4 + thisform.cProdNumChar5 + cProdNum
		
	IF thisform.isunique(cFullProductId)
		REPLACE products.pr_id WITH cFullProductId
	ELSE
		MESSAGEBOX("Product ID is not unique, Please change the Product number",16,"New Product - Product Number")
		ThisForm.txtProductNumber.setfocus
		This.Parent.cmdEdit.visible = .T.
		RETURN
	ENDIF
ENDIF
	
DODEFAULT()

thisform.nProdNumChar6 = 0
ENDPROC
PROCEDURE cmdEdit.Click
This.visible = .F.
DODEFAULT()
ENDPROC
                                   l   %   r      =  H               U   	 C T   - U  THIS HADERROR     T       
 %   \<Addv %C 	 
  D C Version can not be left blank New Product - Versionx  	   T    a B  %C  
 ;> C Type can not be left blank New Product - Typex     T    a B  %C  
 H C Shipments can not be left blank New Product - Shipmentsx     T    a B  %C  
 ?@ C Users can not be left blank New Product - Usersx     T    a B  %C  
 H C Invoicing can not be left blank New Product - Invoicingx     T    a B  %C  
 [X C* Product Number must be between 1 and 99999 New Product - Product Numberx     T    a B  %C  
 L C! Description can not be left blank New Product - Descriptionx     T    a B  %C  
 gD C Release can not be left blank New Product - Releasex     T    a B  T C   @L #####_0 T             %C     >    rh C: Product ID is not unique, Please change the Product number New Product - Product Numberx     T    a B  	 C T    U 	 CPRODNUMC CFULLPRODUCTID THIS PARENT CMDEDIT VISIBLE EDITMODE CAPTION THISFORM
 CBOVERSION VALUE SETFOCUS CBOTYPE CBOSHIPMENTS CBOUSERS CBOINVOICING TXTPRODUCTNUMBER TXTDESCRIPTION
 TXTRELEASE CPRODNUM NPRODNUMCHAR6 CPRODNUMCHAR1 CPRODNUMCHAR2 CPRODNUMCHAR3 CPRODNUMCHAR4 CPRODNUMCHAR5 ISUNIQUE PRODUCTS PR_ID  T   -	 C U  THIS VISIBLE Init,      cmdAdd.ClickZ      cmdEdit.ClickE    1   3  QA AA A Q AA A Q AA A Q AA A Q AA A W AA A Q AA A QA AA A R  AA A A  2   1                       2         U   q
     E   
  
  V    )                           	t_textbox      ..\libs\t_base.vcx      textbox      txtDescription      frmNewProduct      Comment = ""
ControlSource = "products.description"
Height = 23
Left = 155
MaxLength = 50
StatusBarText = "Enter a description for this item."
TabIndex = 11
Top = 161
Width = 358
Name = "txtDescription"
      PROCEDURE Valid
IF ThisForm.cmdButtons.editmode
	IF EMPTY(this.value)
		MESSAGEBOX("Description can not be left blank",16,"New Product - Description")
		RETURN 0
	ENDIF
ENDIF
ENDPROC
      
lblRelease      ..\libs\t_base.vcx      t_label      PROCEDURE Valid
IF ThisForm.cmdButtons.editmode
	IF !BETWEEN(this.value, 1, 99999)
		MESSAGEBOX("Product Number must be between 1 and 99999",16,"New Product - Product Number")
		RETURN 0
	ENDIF
ENDIF
ENDPROC
      frmNewProduct      txtProductNumber      textbox      textbox      	t_textbox      ..\libs\t_base.vcx      textbox      txtCost      frmNewProduct      Comment = ""
ControlSource = "products.cost"
Height = 23
Left = 460
StatusBarText = "Enterr B&Ts cost of producing this item."
TabIndex = 8
Top = 69
Width = 75
Name = "txtCost"
      	t_textbox      ..\libs\t_base.vcx      textbox      txtListprice      frmNewProduct      Comment = ""
ControlSource = "products.listprice"
Height = 23
Left = 460
StatusBarText = "Enter List Price of product."
TabIndex = 7
Top = 41
Width = 75
Name = "txtListprice"
     4PROCEDURE Valid
IF ThisForm.cmdButtons.editmode
	LOCAL lIsValid
	lIsValid = IIF(ThisForm.cboInvoicing.value = "Does not apply", this.value >= 0, this.value > 0)
	IF !lIsValid
		MESSAGEBOX("List Price must be between 0 and 99,999.99",16,"New Product - List Price")
		RETURN 0
	ENDIF
ENDIF

ENDPROC
      ControlSource = "thisform.nProdNumChar6"
Format = "K"
Height = 23
InputMask = "99999"
Left = 460
MaxLength = 5
TabIndex = 10
Top = 127
Width = 50
Name = "txtProductNumber"
      Alignment = 1
BackStyle = 1
Caption = "Product Number"
Height = 17
Left = 275
Top = 132
Width = 175
TabIndex = 25
Name = "lblProductNumber"
      frmNewProduct      lblProductNumber      label      label      frmNewProduct      cboInvoiceCode      label      	t_textbox      ..\libs\t_base.vcx      textbox      txtSublength      frmNewProduct      Comment = ""
ControlSource = "products.sublength"
Height = 23
InputMask = ""
Left = 460
MaxLength = 2
StatusBarText = "Enter the number of years the subscription will last."
TabIndex = 6
Top = 12
Width = 28
Name = "txtSublength"
     MPROCEDURE Valid
IF ThisForm.cmdButtons.editmode
	LOCAL lIsValid
	lIsValid = IIF(ThisForm.cboInvoicing.value = "Does not apply", this.value >= 0, this.value > 0)
	IF !lIsValid
		MESSAGEBOX("Number of years has to be greater than 0, for less enter 1",16,"New Product - Subscription Length")
		RETURN 0
	ENDIF
ENDIF

ENDPROC
      PROCEDURE Valid
IF EMPTY(this.value)
	MESSAGEBOX("Invoice Code can not be left blank",16,"New Product - Invoice Code")
	RETURN 0
ENDIF
ENDPROC
      RowSourceType = 5
RowSource = "thisform.aInvoiceCode"
ControlSource = "products.invcode"
Height = 24
Left = 460
StatusBarText = "Enter Invoice product code."
TabIndex = 9
Top = 99
Width = 75
BoundTo = .T.
Name = "cboInvoiceCode"
      combobox      ..\libs\t_base.vcx      
t_combobox      frmNewProduct      t_label      ..\libs\t_base.vcx      
lblInvcode      ~Alignment = 1
Caption = "Invoice code"
Height = 17
Left = 275
Top = 101
Width = 175
TabIndex = 24
Name = "lblInvcode"
                                      %   |                       U  & %C   [ @ C Users can not be left blank New Product - Usersx	 B   Hp      Single user  T   S    
 Multi user  T   N"     Does not apply T   X 2 T   *   U  THIS VALUE THISFORM CPRODNUMCHAR5 Valid,     1 !   ! A B 1                             )                          >    %  %                           %                          U  Q %C   c H C Shipments can not be left blank New Product - Shipmentsx	 B  J Hx F     Single  T   S     Weekly  T   W     Monthly  T   M"     Does not apply- T   X 2F T   *   U  THIS VALUE THISFORM CPRODNUMCHAR3 Valid,     1 !   ! A C 1                             )   %                       8                                 %                          U  K %C   _ D C Version can not be left blank New Product - Versionx	 B  D Ht @     Domestic  T   D     World  T   W     Both  T   B"     Does not apply' T   X 2@ T   *   U  THIS VALUE THISFORM CPRODNUMCHAR4 Valid,     1 !A   ! A A 1                             )                          ;    "  "                        j   %   Y        (   y            U    4    %CN "  Ba  T a T CO % j  T C DELETEDv G   	 E   %C4  T - 	 #  %   : SET DELETED &mdeleted				
 	 B  U  MVALUE MDELETE MUNIQUE MRECORD MDELETED"> o trackerdb!ProductCodes       ver   T   C  > o trackerdb!ProductCodes       typ   T 	  C  > o trackerdb!ProductCodes       shp 
  T   C 
 > o trackerdb!ProductCodes       use   T   C  > o trackerdb!ProductCodes       inv   T   C  G o trackerdb!ProductCodes       cde      T   C   F   Q F  U  PRODUCTCODES DESCRIPTION	 TRACKERDB ID THISFORM APRODUCTVERSION
 CBOVERSION NUMBEROFELEMENTS APRODUCTTYPE CBOTYPE APRODUCTSHIPMENTS CBOSHIPMENTS APRODUCTUSERS CBOUSERS APRODUCTINVOICING CBOINVOICING AINVOICECODE CBOINVOICECODE PRODUCTS isunique,      Init6    1  q A    aa A A    A   A A  4 wq A  q 1                                       )   "                  
