Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
WINFAX - Print from Report Writer to FAX
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Produits tierce partie
Divers
Thread ID:
00746033
Message ID:
00746081
Vues:
27
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.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform