COMPILE SUBROUTINE Print_Comm_Invoice( ShipNo, PrintOnly, PrintPath, PDFFileName, PrinterInitialized) DECLARE FUNCTION FieldCount, Msg, Set_Printer, Get_Printer, obj_RDS_Test DECLARE FUNCTION Printer_Select, obj_Install,obj_RDS, obj_Invoice DECLARE SUBROUTINE extract_si_keys, record_lock, Btree.Extract, ErrMsg $INSERT MSG_EQUATES $INSERT RDS_EQU $INSERT RDS_LAYER_INFO_EQU $INSERT PROD_SPEC_EQU $INSERT OIPRINT_EQUATES $INSERT NCR_EQU $INSERT POPUP_EQUATES $INSERT LOGICAL $INSERT COA $INSERT COC_EQU $INSERT RDS_TEST_EQUATES $INSERT RDS_LAYER_EQUATES $INSERT WO_LOG_EQU $INSERT WO_STEP_EQU $INSERT WM_OUT_EQUATES $INSERT SURFACE_SCAN_EQUATES EQU COMM_INVOICE_SHIP_TO$ TO 1 EQU COMM_INVOICE_PHONE_TYPE$ TO 2 EQU COMM_INVOICE_PHONE_NO$ TO 3 EQU COMM_INVOICE_SHIP_DT$ TO 4 EQU COMM_INVOICE_PO$ TO 5 EQU COMM_INVOICE_SHIP_NO$ TO 6 EQU COMM_INVOICE_ORIGIN$ TO 7 EQU COMM_INVOICE_SHIP_VIA$ TO 8 EQU COMM_INVOICE_ITEM_ORD_NO$ TO 9 EQU COMM_INOVICE_ITEM_ORD_ITEM$ TO 10 EQU COMM_INVOICE_ITEM_QTY$ TO 11 EQU COMM_INVOICE_ITEM_DESC$ TO 12 EQU COMM_INVOICE_ITEM_PRICE$ TO 13 EQU COMM_INVOICE_ITEM_EXT_AMT$ TO 14 EQU COMM_INVOICE_SUB_SUPPLIED_BY$ TO 15 EQU COMM_INVOICE_INCO_CODE$ TO 16 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(ShipNo)) THEN ShipNo = '' IF NOT(ASSIGNED(PrintPath)) THEN PrintPath = '' IF NOT(ASSIGNED(PDFFileName)) THEN PDFFileName = '' IF NOT(ASSIGNED(PrinterInitialized)) THEN PrinterInitialized = 0 IF ShipNo = '' THEN ErrMsg('Null parameter "ShipNo" passed to routine Print_Comm_Invoice') RETURN END * * * PRINT SETUP * * * FileName = 'Print Commercial Invoice' Title = 'Print Commercial Invoice' PageInfo = '' ; * Default is .5 inch margins and 8.5 x 11 paper PageInfo = 0.5 PageInfo = 1.5 PageInfo = 0.5 PageInfo = 0.5 PageInfo = LETTER MaxPrintLength = 11 - PageInfo - PageInfo 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 PDF Document':@FM: '' :@FM:'':@FM: '' stat = Set_Printer( 'INIT', PDFParms, 'Commercial Invoice',PageInfo,PageSetup , PrintSetup) END ELSE stat = Set_Printer('PAGEBREAK') END GOSUB PrintSheet IF NOT(PrinterInitialized) THEN stat = Set_Printer( 'TERM' ) END RETURN * * * * * * PrintSheet: * * * * * * font = 'Arial' ;* Font basics font<2> = 10 font<4> = 0 stat = Set_Printer('FONTHEADFOOT', font) font = 'Arial' font<2> = '18' ;* Big type font<4> = 1 ;* Bold on font<5> = 1 ;* Italics stat = Set_Printer('TEXTXY','Commercial Invoice',2.20:@FM:-0.80,font,0) font<2> = 12 ;* Drop the font size font<5> = 0 ;* Italics off IF NOT(PrinterInitialized) THEN 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) * * * * 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') END colHeader = 'Tracking No(s)' ; colFormat = '^10800' TrackingNos = XLATE('COC',ShipNo,COC_TRACKING_NOS$,'X') SWAP ', ' WITH @VM IN TrackingNos colData = TrackingNos font<2> = 10 font<4> = 1 ;* Bold on stat = Set_Printer('FONT',font) stat = Set_Printer('ADDTABLE',colFormat,colHeader,'',LTGREY$,'',0,TB_ALL) font<2> = 10 font<4> = 0 stat = Set_Printer('FONT',font) stat = Set_Printer('ADDTABLE',colFormat,'',colData,LTGREY$,'',1,TB_ALL) stat = Set_Printer('TEXT') CommInvoiceData = obj_Invoice('CommInvoice',ShipNo) ShipTo = CommInvoiceData PhoneTypes = CommInvoiceData PhoneNos = CommInvoiceData SWAP @TM WITH CRLF$ IN ShipTo SWAP @VM WITH CRLF$ IN PhoneTypes SWAP @VM WITH CRLF$ IN PhoneNos * * * * colHeader = 'Consignee' ; colFormat = '<6840' colHeader<1,2> = 'Phone' ; colFormat<1,2> = '<1980' colHeader<1,3> = 'Number' ; colFormat<1,3> = '<1980' colData = ShipTo colData<1,2> = PhoneTypes colData<1,3> = PhoneNos font<2> = 10 font<4> = 1 ;* Bold on stat = Set_Printer('FONT',font) stat = Set_Printer('ADDTABLE',colFormat,colHeader,'',LTGREY$,'',0,TB_ALL) font<2> = 10 font<4> = 0 stat = Set_Printer('FONT',font) stat = Set_Printer('ADDTABLE',colFormat,'',colData,LTGREY$,'',1,TB_ALL) stat = Set_Printer('TEXT') * * * * colHeader = 'Packing List No.' ; colFormat = '^2400' colHeader<1,2> = 'Purchase Order No.' ; colFormat<1,2> = '^2400' colHeader<1,3> = 'Timestamp' ; colFormat<1,3> = '^3600' colHeader<1,4> = 'INCO Terms' ; colFormat<1,4> = '^2400' colData = ShipNo colData<1,2> = CommInvoiceData colData<1,3> = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTH') colData<1,4> = CommInvoiceData font<2> = 10 font<4> = 1 ;* Bold on stat = Set_Printer('FONT',font) stat = Set_Printer('ADDTABLE',colFormat,colHeader,'',LTGREY$,'',0,TB_ALL) font<2> = 10 font<4> = 0 stat = Set_Printer('FONT',font) stat = Set_Printer('ADDTABLE',colFormat,'',colData,LTGREY$,'',1,TB_ALL) stat = Set_Printer('TEXT') Country = CommInvoiceData SubSuppliedBy = CommInvoiceData colHeader = '' ; colFormat = '^10800' BEGIN CASE CASE SubSuppliedBy = 'C' colData = 'Return of Goods Originating from ':Country CASE SubSuppliedBy = 'L' colData = 'Goods Originating from USA' CASE 1 colData = 'Goods Originating from USA' END CASE BIfont = 'Arial' BIfont<2> = '12' ;* Big type BIfont<4> = 1 ;* Bold on BIfont<5> = 1 ;* Italics stat = Set_Printer('FONT',BIfont) stat = Set_Printer('ADDTABLE',colFormat,'',colData,LTGREY$,'',1,TB_NONE) stat = Set_Printer('TEXT') stat = Set_Printer('FONT',font) colHeader = 'Ord No' ; colFormat = '^720' colHeader<1,2> = 'Item No' ; colFormat<1,2> = '^720' colHeader<1,3> = 'Qty' ; colFormat<1,3> = '^1080' colHeader<1,4> = 'Description' ; colFormat<1,4> = '<5760' colHeader<1,5> = 'Unit':CRLF$:'Value' ; colFormat<1,5> = '>1080' colHeader<1,6> = 'Subtotal' ; colFormat<1,6> = '>1440' ItemOrdNos = CommInvoiceData ItemNos = CommInvoiceData ItemQtys = CommInvoiceData ItemDescs = CommInvoiceData ItemPrices = CommInvoiceData ItemExtAmts = CommInvoiceData colData = '' FOR I = 1 TO COUNT(ItemOrdNos,@VM) + (ItemOrdNos NE '') colData = ItemOrdNos<1,I> colData = ItemNos<1,I> colData = ItemQtys<1,I> colData = ItemDescs<1,I> colData = ItemPrices<1,I> colData = ItemExtAmts<1,I> NEXT I font<2> = 10 font<4> = 1 ;* Bold on stat = Set_Printer('FONT',font) stat = Set_Printer('ADDTABLE',colFormat,colHeader,'',LTGREY$,'',0,TB_ALL) font<2> = 10 font<4> = 0 stat = Set_Printer('FONT',font) stat = Set_Printer('ADDTABLE',colFormat,'',colData,LTGREY$,'',1,TB_ALL) stat = Set_Printer('TEXT') TotalValue = OCONV(SUM(ICONV(ItemExtAmts,'MD3')),'MD23,$'):' USD' ShipRec = XLATE('COC',ShipNo,'','X') TotBoxes = ShipRec ShipWt = ShipRec Shipper = ShipRec colHeader = 'Total Boxes' ; colFormat = '^3600' colHeader<1,2> = 'Total Weight' ; colFormat<1,2> = '^3600' colHeader<1,3> = 'Total Value' ; colFormat<1,3> = '^3600' colData = TotBoxes colData<1,2> = ShipWt:'lbs / ':OCONV(ICONV((ShipWt*0.45),'MD2'),'MC2'):'kg' colData<1,3> = TotalValue font<2> = 10 font<4> = 1 ;* Bold on stat = Set_Printer('FONT',font) stat = Set_Printer('ADDTABLE',colFormat,colHeader,'',LTGREY$,'',0,TB_ALL) font<2> = 10 font<4> = 0 stat = Set_Printer('FONT',font) stat = Set_Printer('ADDTABLE',colFormat,'',colData,LTGREY$,'',1,TB_ALL) stat = Set_Printer('TEXT') Blurb = "{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}}" Blurb := "{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\f0\fs20\par " Blurb := "These commodities were exported from the United States in accordance with the Export Administration regulations.\par " Blurb := "Diversion contrary to U.S. law prohibited. NLR \par\par " Blurb := "I/We do hereby authorize\b ":Shipper:"\b0 to execute any additional documents necessary for the export of " Blurb := "merchandise described herein on my/our behalf.\par\par " Blurb := '\b"Value is for customs purposes only."\b0 \par\par ' Blurb := "I/We declare all the information contained in this invoice to be true and correct. \par " Blurb := "}" stat = Set_Printer('TEXTRTF',Blurb) stat = Set_Printer('TEXT') stat = Set_Printer('TEXT') stat = Set_Printer('TEXT') stat = Set_Printer('TEXT') Signature = STR('_',40) stat = Set_Printer('TEXT',Signature) stat = Set_Printer('TEXT') stat = Set_Printer('TEXT') stat = Set_Printer('TEXT','Shipping/Receiving Signature') *stat = Set_Printer('TEXT',OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTH')) RETURN