279 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			279 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| COMPILE SUBROUTINE Print_Vend_CofA( CoaID , PrintPath, PDFFileName, PrinterInitialized, HideUI)
 | |
| 
 | |
| DECLARE FUNCTION Set_Printer, Get_Printer, Printer_Select, obj_Install
 | |
| 
 | |
| $Insert LOGICAL
 | |
| $insert company_equ
 | |
| $insert msg_equates
 | |
| 
 | |
| $insert popup_equates
 | |
| 
 | |
| $INSERT COA
 | |
| $INSERT OIPRINT_EQUATES
 | |
| 
 | |
| EQU PI$LEFT		TO 1
 | |
| EQU PI$TOP		TO 2
 | |
| EQU PI$RIGHT	TO 3
 | |
| EQU PI$BOTTOM	TO 4
 | |
| EQU PI$WIDTH	TO 5
 | |
| EQU PI$HEIGHT	TO 6
 | |
| EQU PI$SIZE		TO 7
 | |
| 
 | |
| EQU LTGREY$	TO 229 + (229*256) + (229*65536)
 | |
| 
 | |
| IF NOT(ASSIGNED(CoaID)) OR CoaID = ''	THEN RETURN	;* Nothing to do
 | |
| IF NOT(ASSIGNED(PrintPath))				THEN PrintPath = ''
 | |
| IF NOT(ASSIGNED(PDFFileName))			THEN PDFFileName = ''
 | |
| IF NOT(ASSIGNED(PrinterInitialized))	THEN PrinterInitialized = 0
 | |
| 
 | |
| If Assigned(HideUI) else HideUI = False$
 | |
| If HideUI NE True$ then HideUI = False$
 | |
| 
 | |
| * * *   PRINT SETUP   * * *
 | |
| 
 | |
| FileName 	= 'Print Vendor Certificate of Analysis'
 | |
| Title		= 'Print Vendor Certificate of Analysis'
 | |
| 
 | |
| PageInfo	= ''				; * Default is .5 inch margins and 8.5 x 11 paper
 | |
| PageInfo<PI$LEFT>	= 0.5
 | |
| PageInfo<PI$TOP>	= 1.5
 | |
| PageInfo<PI$RIGHT>	= 0.5
 | |
| PageInfo<PI$BOTTOM>	= 0.5
 | |
| 
 | |
| 
 | |
| MaxPrintLength = 11 - PageInfo<PI$TOP> - PageInfo<PI$BOTTOM>
 | |
| 
 | |
| PageSetup	= 0					;* 1 = Landscape mode
 | |
| PrintSetup	= 0					;* 0 = No Preview, 2 = Preview
 | |
| 	
 | |
| 	
 | |
| IF NOT(PrinterInitialized) THEN
 | |
| 	    
 | |
| 	PrintSetup	= ''
 | |
| 	PrintSetup<1,1>	= '2'	;* Specific Location
 | |
| 	PrintSetup<1,2> = '5'	;* Show Print and PDF, hide Print Setup
 | |
| 	PrintSetup<1,3>	= '0'	;* Show the printing window
 | |
| 	PDFParms = 'Printing Document':@FM: '' :@FM:'':@FM: ''
 | |
| 			
 | |
| 	stat = Set_Printer( 'INIT', PDFParms, 'C of A',PageInfo,PageSetup , PrintSetup)
 | |
| END ELSE
 | |
| 	stat = Set_Printer('PAGEBREAK')
 | |
| END
 | |
| 
 | |
| 
 | |
| CoaRec = XLATE('COA',CoaID,'','X')
 | |
| 
 | |
| CompNo	= FIELD(CoaID,'*',1)
 | |
| LotNo	= FIELD(CoaID,'*',2)
 | |
| 
 | |
| LotDt			= OCONV(CoaRec<COA_LOT_DT$>,'D4/')
 | |
| LotQty			= CoaRec<COA_LOT_QTY$>
 | |
| Spec			= CoaRec<COA_SPEC$>
 | |
| PartNo			= CoaRec<COA_PART_NO$>
 | |
| PoNo			= CoaRec<COA_PO_NO$>
 | |
| GrowthMethod	= CoaRec<COA_SUB_GROWTH_METHOD$>
 | |
| Orientation		= CoaRec<COA_SUB_ORIENTATION$>
 | |
| CondType		= CoaRec<COA_SUB_COND_TYPE$>
 | |
| Dopant			= CoaRec<COA_SUB_DOPANT$>
 | |
| Parameters		= CoaRec<COA_PARAMETER$>
 | |
| ParmSpecs		= CoaRec<COA_PARM_SPEC$>
 | |
| SampleSizes		= CoaRec<COA_SAMPLE_SIZE$>
 | |
| Mins			= CoaRec<COA_MIN$>
 | |
| Maxs			= CoaRec<COA_MAX$>
 | |
| Means			= CoaRec<COA_MEAN$>
 | |
| StdDevs			= CoaRec<COA_STD_DEV$>
 | |
| 
 | |
| CompanyRec = XLATE('COMPANY',CompNo,'','X')
 | |
| CompName	= CompanyRec<COMPANY_CO_NAME$>
 | |
| CompAddress = CompanyRec<COMPANY_ADDRESS$>
 | |
| CompCity	= CompanyRec<COMPANY_CITY$>
 | |
| CompST		= CompanyRec<COMPANY_STATE$>
 | |
| CompZIP		= CompanyRec<COMPANY_ZIP$>
 | |
| 
 | |
| SWAP @VM WITH CRLF$ IN CompAddress
 | |
| 
 | |
| CompInfo = CompName:CRLF$:CompAddress
 | |
| 
 | |
| IF CompCity NE ''	THEN CompInfo := CRLF$:CompCity
 | |
| IF CompSt NE ''		THEN CompInfo := ', ':CompSt
 | |
| IF CompZip NE ''	THEN CompInfo := ' ':CompZIP
 | |
| 
 | |
| font = 'Arial'		;* Font basics
 | |
| font<2> = 10
 | |
| font<4> = 0
 | |
| 
 | |
| stat = Set_Printer('FONTHEADFOOT', font)
 | |
| 
 | |
| stat = Set_Printer('FOOTER',"Page 'P'":@VM:@VM:"'T' 'D'")
 | |
| 
 | |
| stat = Set_Printer('LINESTYLE', PS_SOLID:@FM:2)
 | |
| stat = Set_Printer('LINE', -0.1:@FM:-1.2:@FM:7.5:@FM:-1.2, 1)
 | |
| stat = Set_Printer('LINE', -0.1:@FM:-0.1:@FM:7.5:@FM:-0.1, 1)
 | |
|  
 | |
| location = -0.15:@fm:-1.150:@fm:1.57:@fm:1
 | |
| 
 | |
| stat = Set_Printer('BMP',obj_Install('Get_Prop','ColorBMP'),location, 0,1)
 | |
| 
 | |
| font	= 'Arial'
 | |
| font<2>	= '18'		;* Big type
 | |
| font<4>	= 1			;* Bold on
 | |
| font<5> = 1			;* Italics
 | |
| 
 | |
| 
 | |
| stat = Set_Printer('TEXTXY','Vendor Certificate of Analysis',1.5:@FM:-0.80,font,0)
 | |
| 
 | |
| font<2> = 12	;* Drop the font size
 | |
| font<5> = 0		;* Italics off
 | |
| 
 | |
| * * * *  Added 10/8/2015 JCH - Updated 'CONFIG','COMPANY'  * * * *
 | |
| 
 | |
| InstDat		= obj_Install('Get_Prop','Company':@FM:'Division')
 | |
| Company		= InstDat<1>
 | |
| Division	= InstDat<2>
 | |
| 	
 | |
| font	= 'Arial'
 | |
| font<2>	= '12'		;* Big type
 | |
| font<4>	= 1			;* Bold on
 | |
| font<5> = 0			;* Italics
 | |
| 
 | |
| stat = Set_Printer('TEXTXY',Company,5.7:@FM:-1.15,font,1)
 | |
| stat = Set_Printer('TEXTXY',Division,5.7:@FM:-0.970,font,1)
 | |
| 
 | |
| font<2> = 10	;* 10 point font
 | |
| font<4> = 0		;* Bold off
 | |
| font<5> = 0		;* Italics Off
 | |
| 
 | |
| stat = Set_Printer('TEXTXY',obj_Install('Get_Prop','Address'), 5.7:@fm:-0.775, font,1)
 | |
| stat = Set_Printer('TEXTXY',obj_Install('Get_Prop','CSZC'), 5.7:@fm:-0.625, font,1)
 | |
| stat = Set_Printer('TEXTXY','Tel:      ':obj_Install('Get_Prop','Phone'), 5.7:@fm:-0.475, font, 1)
 | |
| stat = Set_Printer('TEXTXY','FAX:    ':obj_Install('Get_Prop','FAX'), 5.7:@fm:-0.325, font, 1)
 | |
| 
 | |
| * * * *  End of changes 10/8/2015 JCH  * * * *
 | |
| 
 | |
| 
 | |
| stat = Set_Printer('TEXT')
 | |
| 
 | |
| colHeader = 'Vendor'						; colFormat	= '<4320'
 | |
| colHeader<1,2> = 'Specification'			; colFormat<1,2> = '<2880'
 | |
| colHeader<1,3> = 'PO No'					; colFormat<1,3> = '<2880'
 | |
| 
 | |
| colData = CompInfo
 | |
| colData<1,2> = Spec
 | |
| colData<1,3> = PONo
 | |
| 
 | |
| 
 | |
| font<2> = 10
 | |
| font<4> = 1		;* Bold on
 | |
| stat = Set_Printer('FONT',font)
 | |
| stat = Set_Printer('ADDTABLE',colFormat,colHeader,'',LTGREY$,'',0,TB_ALL)
 | |
| 
 | |
| font<4> = 0		;* Bold off
 | |
| stat = Set_Printer('FONT',font)
 | |
| stat = Set_Printer('ADDTABLE',colFormat,'',colData,LTGREY$,'',1,TB_ALL)
 | |
| 
 | |
| stat = Set_Printer('TEXT')
 | |
| 
 | |
| * Lot Info
 | |
| 
 | |
| colHeader = 'Vendor Lot No'			; colFormat = '<2880'
 | |
| colHeader<1,2> = 'Lot Qty'			; colFormat<1,2> = '^1440'
 | |
| colHeader<1,3> = 'Lot Date'			; colFormat<1,3> = '^2880'
 | |
| 
 | |
| colData = LotNo
 | |
| colData<1,2> = LotQty
 | |
| colData<1,3> = LotDt
 | |
| 
 | |
| font<2> = 10
 | |
| font<4> = 1		;* Bold on
 | |
| stat = Set_Printer('FONT',font)
 | |
| stat = Set_Printer('ADDTABLE',colFormat,colHeader,'',LTGREY$,'',0,TB_ALL)
 | |
| 
 | |
| font<4> = 0		;* Bold off
 | |
| stat = Set_Printer('FONT',font)
 | |
| stat = Set_Printer('ADDTABLE',colFormat,'',colData,LTGREY$,'',1,TB_ALL)
 | |
| 
 | |
| stat = Set_Printer('TEXT')
 | |
| 
 | |
| 
 | |
| * Substrate Info
 | |
| 
 | |
| colHeader = 'Substrate':CRLF$:'Growth Method'				; colFormat = '^2700'
 | |
| colHeader<1,2> = 'Substrate':CRLF$:'Orientation'			; colFormat<1,2> = '^2700'
 | |
| colHeader<1,3> = 'Substrate':CRLF$:'Conductivity Type'		; colFormat<1,3> = '^2700'
 | |
| colHeader<1,4> = 'Substrate':CRLF$:'Dopant'					; colFormat<1,4> = '^2700'
 | |
| 
 | |
| colData = GrowthMethod
 | |
| colData<1,2> = Orientation
 | |
| colData<1,3> = CondType
 | |
| colData<1,4> = Dopant
 | |
| 
 | |
| font<2> = 8
 | |
| font<4> = 1		;* Bold on
 | |
| stat = Set_Printer('FONT',font)
 | |
| stat = Set_Printer('ADDTABLE',colFormat,colHeader,'',LTGREY$,'',0,TB_ALL)
 | |
| 
 | |
| font<4> = 0		;* Bold off
 | |
| stat = Set_Printer('FONT',font)
 | |
| stat = Set_Printer('ADDTABLE',colFormat,'',colData,LTGREY$,'',1,TB_ALL)
 | |
| 
 | |
| stat = Set_Printer('TEXT')
 | |
| 
 | |
| 
 | |
| 
 | |
| * Parameters
 | |
| 
 | |
| colHeader	= 'Parameter'						; colFormat	= '<2160'
 | |
| colHeader<1,2>	= 'Specification'				; colFormat<1,2> = '<1440'
 | |
| colHeader<1,3>	= 'Sample Size'					; colFormat<1,3> = '>1440'
 | |
| colHeader<1,4> 	= 'Minimum'						; colFormat<1,4> = '>1440'
 | |
| colHeader<1,5> 	= 'Maximum'						; colFormat<1,5> = '>1440'
 | |
| colHeader<1,6> 	= 'Mean'						; colFormat<1,6> = '>1440'
 | |
| colHeader<1,7> 	= 'Standard':CRLF$:'Deviation'	; colFormat<1,7> = '>1440'
 | |
| 
 | |
| 
 | |
| colData = ''
 | |
| FOR I = 1 TO COUNT(Parameters,@VM) + (Parameters NE '')
 | |
| 	colData<I,1> = Parameters<1,I>
 | |
| 	colData<I,2> = ParmSpecs<1,I>
 | |
| 	colData<I,3> = SampleSizes<1,I>
 | |
| 	colData<I,4> = Mins<1,I>
 | |
| 	colData<I,5> = Maxs<1,I>
 | |
| 	colData<I,6> = Means<1,I>
 | |
| 	colData<I,7> = StdDevs<1,I>
 | |
| NEXT I
 | |
| 
 | |
| * Temporary until data is actually sent by Helitek
 | |
| 
 | |
| IF CompNo = '6771' THEN
 | |
| 	TempParms = 'Dopant':@FM:'Surface Orientation':@FM:'Primary Flat Location':@FM:'Round Edge Profile'
 | |
| 	I -= 2
 | |
| 	FOR  M = 1 TO 4
 | |
| 		colData<M+I,1> = TempParms<M>
 | |
| 		colData<M+I,2> = ''
 | |
| 		colData<M+I,3> = ''
 | |
| 		colData<M+I,4> = ''
 | |
| 		colData<M+I,5> = ''
 | |
| 		colData<M+I,6> = ''
 | |
| 		colData<M+I,7> = ''
 | |
| 	NEXT M
 | |
| END
 | |
| 
 | |
| * End of Temporary
 | |
| 
 | |
| font<2> = 8
 | |
| font<4> = 1		;* Bold on
 | |
| stat = Set_Printer('FONT',font)
 | |
| stat = Set_Printer('ADDTABLE',colFormat,colHeader,'',LTGREY$,'',0,TB_ALL)
 | |
| 
 | |
| font<4> = 0		;* Bold off
 | |
| stat = Set_Printer('FONT',font)
 | |
| stat = Set_Printer('ADDTABLE',colFormat,'',colData,LTGREY$,'',1,TB_ALL)
 | |
| 
 | |
| stat = Set_Printer('TEXT')
 | |
| 
 | |
| IF NOT(PrinterInitialized) THEN
 | |
| 	stat = Set_Printer('TERM')
 | |
| END
 | |
| 
 | |
| RETURN
 |