Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
WINFAX - Print from Report Writer to FAX
Message
General information
Forum:
Visual FoxPro
Category:
Third party products
Miscellaneous
Thread ID:
00746033
Message ID:
00746081
Views:
22
Hi Cecil, you do not specifically say what doesnt work anymore or whether there is an error message or something?


>I am using Symantec's WinFax to transmit faxed report documents (Visual FoxPro's Report Form). The following code is how we have been doing this, however, it is no longer working properly. We have version 10.0 of WinFax. Is anyone else using this version of WInFax from within VFP?
>
>CASE CAPTION_LC == 'FAX'
> SET PRINTER TO NAME "WINFAX"
> NOW_HEADER_MODE_PC = 'FAX'
>
> * Copy current PO header and detail to report files.
> SELECT POHEADER
> NOW_PO_PC = POHEADER.PO_MAIN
> lcPurchaseOrderType = "PURCHASE ORDER"
> SELECT ;
> POHeader.PO_Main,;
> PoHeader.Buyer,;
> PoHeader.PO_nStatus,;
> POHeader.PO_Date,;
> POHeader.PO_Suffix,;
> POHeader.Job,;
> POHeader.Job_Name,;
> PoHeader.Account_No,;
> PoHeader.Shp_Name,;
> PoHeader.Ven_Name,;
> PoHeader.Ven_Ad1,;
> PoHeader.Ven_Ad2,;
> PoHeader.Ven_City,;
> PoHeader.Ven_State,;
> PoHeader.Ven_Zip,;
> PoHeader.Ven_Cont,;
> PoHeader.Ven_Phone,;
> PoHeader.Ven_Fax,;
> PoHeader.Shp_Ad1,;
> PoHeader.Shp_Ad2,;
> PoHeader.Shp_City,;
> PoHeader.Shp_State,;
> PoHeader.Shp_Zip,;
> PoHeader.Req_Date,;
> PoHeader.Via,;
> PoHeader.Terms,;
> PoHeader.RequestBy,;
> PoHeader.Sub_Total,;
> PoHeader.Sales_Tax,;
> PoHeader.PO_Total,;
> PoHeader.Comments,;
> PoHeader.OriginCmts,;
> PoHeader.FOB,;
> PODetail.Line,;
> PODetail.Descript_L,;
> PODetail.Quantity,;
> PODetail.Unit,;
> PODetail.Taxable,;
> PODetail.Unit_Price,;
> PODetail.Disc_Pc,;
> PODetail.Net_Price,;
> PODetail.Ext_Price,;
> PODetail.Qty_Recvd;
> FROM ;
> POHeader, PODetail ;
> WHERE ;
> POHeader.PO_Main = NOW_PO_PC AND ;
> PODetail.PO_Main = NOW_PO_PC ;
> ORDER BY POHeader.PO_Main ;
> INTO CURSOR tmpPOReport
>
>
> * Setup fax process
> LOCAL PASS_FAX_LL, ;
> MAIN_FAX_LL, ;
> LOCAL_AREA_CODE_LC, ;
> DIAL_NUMBER_LC, ;
> SEND_TIME_LC, ;
> SEND_DATE_LC, ;
> FAX_NAME_LC, ;
> COMPANY_LC, ;
> SUBJECT_LC, ;
> KEYWORD_LC, ;
> BILLING_CODE_LC, ;
> MODE_LC, ;
> COVER_PAGE_LC, ;
> COVER_TEXT_LC, ;
> ATTACHMENT_LC, ;
> FAX_CHANNEL_LN, ;
> RECIPIENT_LC, ;
> FAX_STATUS_LC, ;
> FAX_RETURN_LC, ;
> RESOLUTION_LC
>
> PASS_FAX_LL = .T.
> MAIN_FAX_LL = .T.
> DO WHILE PASS_FAX_LL AND MAIN_FAX_LL
> * Check for vendor fax number in POHEAER, if not also look in POVENDOR.
> * Remove any punctuation from vendor telephone number.
> REPLACE POHEADER.VEN_FAX WITH ;
> SUBSTR(ALLTRIM(STRTRAN(STRTRAN(STRTRAN(STRTRAN(POHEADER.VEN_FAX,'-',''),'(',''),')',''),' ','')),1,10)
> * Is there a valid length vendor fax number in POHEADER.
> IF LEN(ALLTRIM(POHEADER.VEN_FAX)) <> 10
> * Can we find a vendor record in POVENDOR
> IF SEEK(POHEADER.VENDOR,'POVENDOR','VENDOR') AND ;
> POHEADER.VENDOR == POVENDOR.VENDOR_NO
> * Remove any punctuation from vendor telephone number
> REPLACE POVENDOR.FAX_NO WITH ;
> SUBSTR(ALLTRIM(STRTRAN(STRTRAN(STRTRAN(STRTRAN(POVENDOR.FAX_NO,'-',''),'(',''),')',''),' ','')),1,10)
> IF LEN(ALLTRIM(POVENDOR.FAX_NO)) = 10
> REPLACE POHEADER.VEN_FAX WITH POVENDOR.FAX_NO
> ELSE
> WAIT 'You must have a valid Vendor Fax No. to fax!' WINDOW TIMEOUT TIMEOUT_PN
> PASS_FAX_LL = .F.
> LOOP
> ENDIF
> ELSE
> WAIT 'You must have a valid Vendor Fax No. to fax!' WINDOW TIMEOUT TIMEOUT_PN
> PASS_FAX_LL = .F.
> LOOP
> ENDIF
> ENDIF
> MAIN_FAX_LL = .F.
> ENDDO
> IF PASS_FAX_LL
> * Get local area code from default company phone. ³
> LOCAL_AREA_CODE_LC = LEFT(DEFAULTS.CMP_PHONE,3)
> DIAL_NUMBER_LC = POHEADER.VEN_FAX
> IF LEFT(DIAL_NUMBER_LC,3) == LOCAL_AREA_CODE_LC
> DIAL_NUMBER_LC = SUBSTR(DIAL_NUMBER_LC,4)
> ELSE
> DIAL_NUMBER_LC = '1'+DIAL_NUMBER_LC
> ENDIF
> * Initialize parameters.
> SEND_TIME_LC = TIME()
> * Fax anticipates date in the MM/DD/YY format.
> SET CENTURY OFF
> SEND_DATE_LC = DTOC(DATE())
> SET CENTURY ON
> FAX_NAME_LC = ALLTRIM(POHEADER.VEN_CONT)
> * Company name may only be 42 characters.
> COMPANY_LC = LEFT(ALLTRIM(POHEADER.VEN_NAME),42)
> SUBJECT_LC = 'PURCHASE ORDER'
> KEYWORD_LC = 'FAX, PURCHASE ORDER'
> BILLING_CODE_LC = ''
> MODE_LC = 'FAX'
> COVER_PAGE_LC = ''
> COVER_TEXT_LC = ''
> ATTACHMENT_LC = ''
> FAX_CHANNEL_LN = 9
> RESOLUTION_LC = ''
> FAX_CHANNEL_LN = DDEInitiate("WFXSVC","TRANSMIT")
> * Check channel status.
> FAX_STATUS_LC = DDERequest(FAX_CHANNEL_LN,"status")
> * Set fax resolution to high.
> RESOLUTION_LC = "resolution(" + ;
> CHR(34) + "HIGH" + CHR(34) + ")"
> FAX_RETURN_LC = DDEPoke(FAX_CHANNEL_LN,"Sendfax",RESOLUTION_LC)
> * Set up recipent informmation.
> RECIPIENT_LC = "recipient(" + ;
> CHR(34) + DIAL_NUMBER_LC + CHR(34) + "," + ;
> CHR(34) + SEND_TIME_LC + CHR(34) + "," + ;
> CHR(34) + SEND_DATE_LC + CHR(34) + "," + ;
> CHR(34) + FAX_NAME_LC + CHR(34) + "," + ;
> CHR(34) + COMPANY_LC + CHR(34) + "," + ;
> CHR(34) + SUBJECT_LC + CHR(34) + "," + ;
> CHR(34) + KEYWORD_LC + CHR(34) + "," + ;
> CHR(34) + BILLING_CODE_LC + CHR(34) + "," + ;
> CHR(34) + MODE_LC + CHR(34) + ")"
>
> FAX_RETURN_LC = DDEPoke(FAX_CHANNEL_LN,"sendfax",RECIPIENT_LC)
> * Set the fax modem on
> FAX_RETURN_LC = DDEExecute(FAX_CHANNEL_LN,"GoActive")
> lcBuyer = SPACE(0)
> lcTempFileNameForJPEGSignature = ""
> IF FILE(ALLTRIM(tmpPOReport.Buyer)+'.JPG')
> lcBuyer = ALLTRIM(tmpPOReport.Buyer)
> lcTempFileNameForJPEGSignature = SUBSTR(SYS(2015), 3, 10) + ".JPG"
> oApp.PathToSignatureFile = lcTempFileNameForJPEGSignature
> COPY FILE ("C:\PONEW\"+lcBuyer+'.JPG') TO (lcTempFileNameForJPEGSignature)
> ELSE
> lcTempFileNameForJPEGSignature = SUBSTR(SYS(2015), 3, 10) + ".JPG"
> oApp.PathToSignatureFile = lcTempFileNameForJPEGSignature
> COPY FILE ("BLANK.JPG") TO (lcTempFileNameForJPEGSignature)
> ENDIF
> IF NOT EMPTY(lcBuyer)
> SELECT Byr_Name, Byr_Email, Byr_Signat ;
> FROM POBYRFIL ;
> WHERE Byr_Code = lcBuyer ;
> INTO CURSOR tmpBuyer
> oApp.Buyer_Name = ALLTRIM(tmpBuyer.Byr_Name)
> oApp.Buyer_Email = ALLTRIM(tmpBuyer.Byr_Email)
> ELSE
> oApp.Buyer_Name = SPACE(0)
> oApp.Buyer_Email = SPACE(0)
> ENDIF
> SELECT tmpPOReport && Get back to the Report's source file work area.
> DEFINE WINDOW wPO ;
> FROM 0, 0 SIZE 40,100 ;
> TITLE "PO Report" CLOSE NOZOOM system
> ZOOM WINDOW wPO MAX
> CLEAR RESOURCES (oApp.PathToSignatureFile)
> IF oApp.Buyer_Signature && This LOGICAL value is set in PO.prg.
> REPORT FORM PO PREVIEW WINDOW wPO
> ELSE
> REPORT FORM PO_NO_SIG PREVIEW WINDOW wPO
> ENDIF
> IF FILE(lcTempFileNameForJPEGSignature)
> ERASE (lcTempFileNameForJPEGSignature)
> ENDIF
>
> IF USED("tmpBuyer")
> SELECT tmpBuyer
> USE
> ENDIF
> IF USED("POBYRFIL")
> SELECT POBYRFIL
> USE
> ENDIF
> IF USED('DEFAULTS')
> USE IN DEFAULTS
> ENDIF
> IF FILE((DATA_DIR_PC+'DEFAULTS.DBF'))
> SELECT 0
> USE (DATA_DIR_PC+'DEFAULTS') SHARE
> ENDIF
> * Close the DDE channel.
> =DDETerminate(FAX_CHANNEL_LN)
>ENDIF
>WAIT CLEAR
>NOW_HEADER_MODE_PC = ''
>SET PRINTER TO DEFAULT
>THISFORM.REFRESH()
In the End, we will remember not the words of our enemies, but the silence of our friends - Martin Luther King, Jr.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform