#Include "FiveWin.ch"FUNCTION IMP_TIPO_ORDEM_ENT_RECO
( DeOndePartiu, oDlgBtn
) LOCAL oDlgPdf, oFnt, oFont, IDCor, oPrevAdobe, oSaida, ;
oIco, oPrevFive, oPrevGravar, oBrush, aGrad
aGrad :=
{ { 0.30, CLR_WHITE, CLR_WHITE
},
{ 0.50, CLR_WHITE, CLR_WHITE
} } DEFINE ICON oIco
NAME "ICONE" DEFINE FONT oFnt
NAME "Ms Sans Serif" SIZE 0,
14 BOLD
DEFINE FONT oFont
NAME "Ms Sans Serif" SIZE 0,
-14 BOLD
// ESTA EM: AMBIENTY.RES DEFINE DIALOG oDlgPdf
RESOURCE "DLG_BOTOES_IMPRIMIR_ORDEM" GRADIENT aGrad
oDlgPdf:
lHelpIcon := .F.
For IDCor =
401 To 402 // Os ID's dos TEXTOS na DIALOG. REDEFINE SAY ID IDCor
OF oDlgPdf ;
COLORS CLR_BLACK, CLR_WHITE
UPDATE FONT oFnt TRANSPARENT
Next IDCor
REDEFINE GROUP oGroup
ID 501 OF oDlgPdf
FONT oFnt TRANSPARENT
COLOR CLR_BLACK
REDEFINE BUTTONBMP oPrevAdobe
ID 301 OF oDlgPdf ;
ACTION( IMPRIMIR_ORDEM_ENTREGA
( DeOndePartiu :=
"DIRETONAIMP", oDlgPdf
) ) oPrevAdobe:
cToolTip := OemToAnsi
( "Criar o Arquivo PDF com Preview do Adobe" ) REDEFINE BUTTONBMP oPrevFive
ID 302 OF oDlgPdf ;
ACTION( IMPRIMIR_ORDEM_ENTREGA
( DeOndePartiu :=
"COMPREVIEWFIVE", oDlgPdf
) ) oPrevFive:
cToolTip := OemToAnsi
( "Criar o Arquivo PDF com Preview do FiveWin" ) REDEFINE BUTTONBMP oPrevGravar
ID 303 OF oDlgPdf ;
ACTION( IMPRIMIR_ORDEM_ENTREGA
( DeOndePartiu :=
"COMPREVIEWPDF", oDlgPdf
) ) oPrevGravar:
cToolTip := OemToAnsi
( "Preview, Apenas Gravar o PDF Para Email" ) REDEFINE BUTTONBMP oSaida
ID 304 OF oDlgPdf ;
ACTION( oDlgPdf:
End() ) CANCEL
oSaida:
cToolTip := OemToAnsi
( "Saida - Exit - Cancelar" ) SET
FONT OF oPrevAdobe
TO oFont
SET
FONT OF oPrevFive
TO oFont
SET
FONT OF oPrevGravar
TO oFont
SET
FONT OF oSaida
TO oFont
ACTIVATE DIALOG oDlgPdf
CENTERED oFnt:
End() oFont:
End()RETURN( NIL )STATIC FUNCTION IMPRIMIR_ORDEM_ENTREGA
( DeOndePartiu, oDlgPdf
) LOCAL nI
// SetCopies - Nao funciona, fazer assim: se precisar de varias copias FOR nI :=
1 TO nCopias
// ImpresionDocumento() IMPRIMIR_DOC_ENTREGA
( DeOndePartiu, oDlgPdf
) /*
MsgRun( "GERANDO RELATÓRIO DO ORÇAMENTO. AGUARDE...", ;
"Por Favor, Espere! Pode Demorar um Pouco...", ; // 3
{ || CursorWait(), WinExec( IMPRIMIR_DOC_ENTREGA( DeOndePartiu, oDlgPdf ) ), 0 } ) // QUERO QUE ESPERE.
*/ NEXTRETURN NIL// IMPRIMIR A ORDEM DE ENTREGASTATIC FUNCTION IMPRIMIR_DOC_ENTREGA
( DeOndePartiu, oDlgPdf
) LOCAL oPrn, nMargin, nWidth, nColWidth, nRow, nCol, oImage
LOCAL XDATALISTA, cAlias
LOCAL oFont, oFontLogo, oFontDivi, oFontList, oFontCurs, oPen1, oPen2, ;
oPen3, oFontSubl, ResLinha, ResColuna, cProposta, nLinha, nColuna, ;
oFontBold, nTotalParc :=
0.00, nTotalGeral :=
0.00 LOCAL nPulaLinha, oFontMin, oFontSub2, nPagina, oFontRua, nVrTotal
LOCAL cFile
// := "C:\ORCAMPDF\CHAMADO.PDF" LOCAL cImpLinha, cEntregador, cFerramenta, nTotRegistro
XDATALISTA :=
"São Paulo" +
", " +
"____/____/_______" IF NETERR
() MsgInfo( "ERRO NA REDE. Verifique!",
"Confirma " ) RETURN( .F.
) ENDIF HB_GCALL
( .F.
) // PARA LIMPAR A MEMORIA LCHDIR
( cDirPleno
) SET
DEFAULT TO aPrn := GetPrinters
() // 02/08/2017 Teste para ver se avisa erro. IF Empty
( aPrn
) // Empty( oPrn:hDC ) MsgStop
( "Nenhuma Impressora Encontrada",
"Nenhuma Impressora Encontrada" ) RETURN NIL ENDIF PRINTER oPrn PREVIEW
MODAL // PARA TESTAR A IMPRESSORA ANTES DE IMPRIMIR IF EMPTY
( oPrn:
hDC ) // MODIFICADO EM: 05/05/2015 - Quebrou na Gilmaria. MsgInfo( "ALGUMA COISA OCORREU DE ERRADO COM A IMPRESSORA.",
"LIGUE A IMPRESSORA." ) oPrn:
End() RETURN( .F.
) ENDIF oPrn:
End() SELECT( DBRECOMPOS
) SET ORDER
TO 01 GO TOP
SEEK VAL
( nProposta
) IF .NOT. FOUND
() MsgStop
( OemToAnsi
( "Nenhuma Proposta Localizada Para ImpressÆo" )+CRLF+ ;
OemToAnsi
( "Ou NÆo Tem Produtos Informados nas µreas. " ), ;
OemToAnsi
( "Nenhuma Proposta Localizada Para ImpressÆo" ) ) RETURN NIL ENDIF // cProposta := VAL( nProposta ) // Numero da Proposta de orcamento cProposta := nProposta
// PARA O INIDICE TEMPORARIO NAO PODE O VAL() /*
INDEX ON PROPOCOD TAG 04 TO ORCATEMP FOR ( .NOT. EOF() ) .AND. ;
( DBRECOMPOS )->PROPOCOD >= cProposta .AND. ;
( DBRECOMPOS )->PROPOCOD <= cProposta MEMORY //TEMPORARY
GO TOP
BROWSE()
*/ // filtro p/pegar a proposta, caso exista e mostrar na ListBox abaixo ORDSCOPE
( 0, cProposta
) // SE EXISTE PARA ALTERACAO, EXCLUSAO, INCLUSAO ORDSCOPE
( 1, cProposta
) GO TOP
cAlias :=
ALIAS() nTotRegistro :=
0 WHILE .NOT. EOF
() SYSREFRESH
() IF ( cAlias
)->PRODUNOME = SPACE
(30) SKIP
LOOP
ENDIF SKIP
++nTotRegistro
ENDDO // filtro p/pegar a proposta, caso exista e mostrar na ListBox abaixo ORDSCOPE
( 0, cProposta
) // SE EXISTE PARA ALTERACAO, EXCLUSAO, INCLUSAO ORDSCOPE
( 1, cProposta
) GO TOP
cAlias :=
ALIAS() IF EOF
() MsgStop
( OemToAnsi
( "Nenhuma Proposta Localizada Para ImpressÆo" ), ;
OemToAnsi
( "Nenhuma Proposta Localizada Para ImpressÆo" ) ) RETURN NIL ENDIF // LOGO DA PROPOSTA oImage :=
".\LOGO.jpg" // tem que estar na pasta cLogo :=
"LOGO.JPG" IF VALIDA_JPG
( cLogo
) // ESTA EM: FUNCOES.PRG // NADA A FAZER - IMAGEM VALIDA ELSE cLogo :=
" " // PARA NAO QUEBRAR ENDIF IF DeOndePartiu =
"DIRETONAIMP" // DIRETO NA IMPRESSORA PRINT oPrn
NAME "ORDEM_DE_ENTREGA" // DIRETO NA IMP. ELSEIF DeOndePartiu =
"COMPREVIEWFIVE" PRINT oPrn
NAME "ORDEM_DE_ENTREGA" PREVIEW
MODAL ELSEIF DeOndePartiu =
"COMPREVIEWPDF" // GERAR O ARQUIVO PDF. PRINT oPrn PREVIEW
ENDIF DEFINE FONT oFontRua
NAME "Courier New" SIZE 0,
-10 BOLD
OF oPrn
DEFINE FONT oFontMin
NAME "Courier New" SIZE 0,
-10 BOLD
OF oPrn
DEFINE FONT oFont
NAME "Lucida Console" SIZE 0,
-10 OF oPrn
DEFINE FONT oFontBold
NAME "Lucida Console" SIZE 0,
-10 BOLD
OF oPrn
DEFINE FONT oFontSubl
NAME "Courier New" SIZE 0,
-14 BOLD UnderLine
OF oPrn
DEFINE FONT oFontSub2
NAME "Courier New" SIZE 0,
-12 BOLD UnderLine
OF oPrn
//-> Caneta do Preview DEFINE PEN oPen1 WIDTH
4 COLOR CLR_BLACK
OF oPrn
DEFINE PEN oPen2 WIDTH
2 COLOR CLR_BLACK
OF oPrn
DEFINE PEN oPen3 WIDTH
5 COLOR CLR_BLACK
OF oPrn
oPrn:
SetPage(9) //-> A4 oPrn:
SetPortrait() //-> Vertical(Retrato) //-> Como Imprimir em Centimetros sem errar e em qualquer Impressora. ResLinha := oPrn:
nLogPixely()/
2.54 ResColuna := oPrn:
nLogPixelx()/
2.54 nMargin := Int
( 0.1 * oPrn:
nHorzRes() ) nWidth :=
8 * nMargin
nColWidth := Int
( ( nWidth - nMargin
) /
2 ) nPagina :=
1 PAGE // LOGO nRow :=
1.50 // Linha nCol :=
650.00 // Coluna do Logo.jpg // @ nRow, nCol PRINT TO oPrn IMAGE "LOGO.JPG" SIZE 650, 650 LASTROW nRow // oPrn:SayImage( nRow, nCol, "LOGO.JPG", oPrn:nHorzRes(), oPrn:nVertRes() , NIL, .T. ) // oPrn:SayImage( 0, 0, "LOGO.JPG" ) oPrn:
SayImage( 1.00,
350,
"LOGO.JPG",
650,
650 ) // CABECALHO nLinha :=
1.00 nColuna :=
18.00 //-> Pagina oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
OemToAnsi
( "P g.: " + ALLTRIM
( STRZERO
( nPagina,
2 ) ) ), ;
oFont,, CLR_BLACK,, PAD_CENTER
) // ? LEN( ALLTRIM( nProposta ) ) IF LEN
( ALLTRIM
( nProposta
) ) =
1 nLinha :=
2.50 nColuna :=
4.05 ELSEIF LEN
( ALLTRIM
( nProposta
) ) =
2 nLinha :=
2.50 nColuna :=
4.15 ELSEIF LEN
( ALLTRIM
( nProposta
) ) =
3 nLinha :=
2.50 nColuna :=
4.25 ELSEIF LEN
( ALLTRIM
( nProposta
) ) =
4 // OK nLinha :=
2.50 nColuna :=
4.35 ELSEIF LEN
( ALLTRIM
( nProposta
) ) =
5 // OK nLinha :=
2.50 nColuna :=
4.45 ELSEIF LEN
( ALLTRIM
( nProposta
) ) =
6 // OK nLinha :=
2.50 nColuna :=
4.55 ELSEIF LEN
( ALLTRIM
( nProposta
) ) =
7 // OK nLinha :=
2.50 nColuna :=
4.65 ELSEIF LEN
( ALLTRIM
( nProposta
) ) =
8 // OK nLinha :=
2.50 nColuna :=
4.75 ELSEIF LEN
( ALLTRIM
( nProposta
) ) =
9 // OK nLinha :=
2.50 nColuna :=
4.85 ELSEIF LEN
( ALLTRIM
( nProposta
) ) =
10 // OK nLinha :=
2.50 nColuna :=
4.95 ELSE nLinha :=
2.50 nColuna :=
5.05 ENDIF oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
"Orçamento Nº.: " + ALLTRIM
( nProposta
), oFont, , ;
CLR_BLACK, , PAD_CENTER
) nColuna := nColuna +=
19.50 oPrn:
cmSay( nLinha,
19.50,
"" + XDATALISTA, ;
oFont, , ;
CLR_BLACK, , PAD_RIGHT
) nLinha := nLinha +=
0.80 // ? LEN( ALLTRIM( STR( nClienCod ) ) ) IF LEN
( ALLTRIM
( STR
( nClienCod
) ) ) =
1 nColuna :=
7.60 ELSEIF LEN
( ALLTRIM
( STR
( nClienCod
) ) ) =
2 nColuna :=
7.70 ELSEIF LEN
( ALLTRIM
( STR
( nClienCod
) ) ) =
3 nColuna :=
7.80 ELSEIF LEN
( ALLTRIM
( STR
( nClienCod
) ) ) =
4 // OK nColuna :=
7.90 ELSEIF LEN
( ALLTRIM
( STR
( nClienCod
) ) ) =
5 nColuna :=
8.00 ELSEIF LEN
( ALLTRIM
( STR
( nClienCod
) ) ) =
6 nColuna :=
8.10 ELSEIF LEN
( ALLTRIM
( STR
( nClienCod
) ) ) =
7 nColuna :=
8.20 ELSEIF LEN
( ALLTRIM
( STR
( nClienCod
) ) ) =
8 nColuna :=
8.30 ELSEIF LEN
( ALLTRIM
( STR
( nClienCod
) ) ) =
9 nColuna :=
8.40 ELSEIF LEN
( ALLTRIM
( STR
( nClienCod
) ) ) =
10 nColuna :=
8.80 ENDIF oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
+
"CÓD.: " + ALLTRIM
( STR
( nClienCod
) ) +
" - " +ClienPropo, ;
oFontRua, , CLR_BLACK, , PAD_CENTER
) nLinha := nLinha +=
0.50 nColuna :=
6.55 // 7.75 oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
+ EnderPropo, oFontRua, , CLR_BLACK, , PAD_CENTER
) nLinha := nLinha +=
0.50 nColuna :=
5.30 // 5.85 oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
"BAIRRO: " + BairrPropo, oFontRua, , CLR_BLACK, , PAD_CENTER
) nColuna := nColuna +=
6.50 // 5.05 // Cidade / Uf falta // CidadPropo, UFdaPropo oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
"CIDADE: " + CidadPropo, oFontRua, , CLR_BLACK, , PAD_CENTER
) nColuna := nColuna +=
4.50 oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
"UF: " + UFdaPropo, oFontRua, , CLR_BLACK, , PAD_CENTER
) cOrcamento :=
[ORDEM DE ENTREGA
] nLinha := nLinha +=
0.70 nColuna :=
10.50 oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
+ cOrcamento, oFontSubl,, CLR_BLACK,, PAD_CENTER
) nLinha := nLinha +=
0.80 // LINHA DA QTDE - OK nColuna :=
2.70 oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
+ OemToAnsi
( "QTDE " ), ;
oFont,, CLR_BLACK,, PAD_CENTER
) nLinha := nLinha -=
0.02 nColuna :=
6.00 oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
+ OemToAnsi
( "PRODUTOS " ), ;
oFont,, CLR_BLACK,, PAD_CENTER
) // QTDE / PRODUTOS - AQUI nLinha := nLinha +=
0.20 nColuna :=
1.60 oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
REPLICATE
( "_",
83 ), oFont,, CLR_BLACK,, PAD_LEFT
) GO TOP
nTotLinhas :=
0 nSomaLinha :=
0 nLinRodap :=
0 nLinRoda :=
0 // 5.97 nLinEsq :=
6.31 // LINHA VERTICAL DA ESQUERDA DO QUADRO nColEsq :=
1.50 // 5.99 nLinMeio :=
6.31 // LINHA VERTICAL DO MEIO DO QUADRO nColMeio :=
3.30 nLinDir :=
6.31 // LINHA VERTICAL DA DIREITA DO QUADRO nColDir :=
19.01 // GIRAR OS PRODUTOS: AQUI. nLinha := nLinha +=
0.50 // PRIMEIRO PRODUTO WHILE .NOT. EOF
() SYSREFRESH
() IF ( cAlias
)->PRODUNOME = SPACE
(30) SKIP
LOOP
ENDIF // LINHAS VERTICAIS E HORIZONTAIS DO PREVIEW - 05/04/2019 - Joao // LIN VERTICAL DO LADO ESQUERDO DO QUADRO. // oPrn:cmSay( nLinEsq, nColEsq, "|", oFont,, CLR_BLACK,, PAD_LEFT ) oPrn:
Say( nLinEsq * ResLinha, nColEsq * ResColuna, ;
+
"|", oFont,, CLR_BLACK,, PAD_LEFT
) nLinEsq +=
0.292 // LIN VERTICAL DO MEIO // oPrn:cmSay( nLinMeio, nColMeio, "|", oFont,, CLR_BLACK,, PAD_LEFT ) oPrn:
Say( nLinMeio * ResLinha, nColMeio * ResColuna, ;
+
"|", oFont,, CLR_BLACK,, PAD_LEFT
) nLinMeio +=
0.292 // LINHA VERTICAL DO LADO DIREITO DO QUADRO. // oPrn:cmSay( nLinDir, nColDir, "|", oFont,, CLR_BLACK,, PAD_LEFT ) oPrn:
Say( nLinDir * ResLinha, nColDir * ResColuna, ;
+
"|", oFont,, CLR_BLACK,, PAD_LEFT
) nLinDir +=
0.292 nColuna :=
1.90 // COLUNA DA QTDE. oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
+ STR
( ( cAlias
)->PRODUQTDE
), oFont,, CLR_BLACK,, PAD_CENTER
) // LIN VERTICAL DO LADO ESQUERDO DO QUADRO. //oPrn:cmSay( nLinEsq, nColEsq, "|", oFont,, CLR_BLACK,, PAD_LEFT ) oPrn:
Say( nLinEsq * ResLinha, nColEsq * ResColuna, ;
+
"|", oFont,, CLR_BLACK,, PAD_LEFT
) nLinEsq +=
0.292 // DIZIMA // LIN VERTICAL DO MEIO // oPrn:cmSay( nLinMeio, nColMeio, "|", oFont,, CLR_BLACK,, PAD_LEFT ) oPrn:
Say( nLinMeio * ResLinha, nColMeio * ResColuna, ;
+
"|", oFont,, CLR_BLACK,, PAD_LEFT
) nLinMeio +=
0.292 // LIN VERTICAL DO LADO DIREITO DO QUADRO. // oPrn:cmSay( nLinDir, nColDir, "|", oFont,, CLR_BLACK,, PAD_LEFT ) oPrn:
Say( nLinDir * ResLinha, nColDir * ResColuna, ;
+
"|", oFont,, CLR_BLACK,, PAD_LEFT
) nLinDir +=
0.292 nColuna :=
7.00 // COLUNA DO PRODUTO oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
+
( cAlias
)->PRODUNOME, oFont,, CLR_BLACK,, PAD_CENTER
) nLinha := nLinha +=
0.20 // SEGUNDA LINHA EMBAIXO DO NOME nColuna :=
1.60 oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
REPLICATE
( "_",
82 ), oFont,, CLR_BLACK,, PAD_LEFT
) nLinha := nLinha +=
0.38 // PROXIMO PRODUTO // ? nLinha // NOVA PAGINA AQUI // PREENCHEU O PREVIEW, PULA. IF nLinha >=
25.00 // 26.50 // achou o rodape do preview nova pagina nLinha :=
27.00 nColuna :=
10.50 oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
+ OemToAnsi
( "Rua Ant“nio Andr‚ Rodrigues, 433 - Ch cara Mafalda - SÆo Paulo - SP" ), ;
oFontBold, , CLR_GREEN, , PAD_CENTER
) nLinha := nLinha +=
0.50 nColuna :=
10.40 oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
+ OemToAnsi
( "CEP - 03372-030 - Fone/Fax: 2674-3173 - Site: www.ambienty.com.br " ), ;
oFontBold, , CLR_GREEN, , PAD_CENTER
) ENDPAGE PAGE // NOVA PAGINA, CONTINUACAO // LOGO nRow :=
1.50 // Linha nCol :=
650.00 // Coluna do Logo.jpg // @ nRow, nCol PRINT TO oPrn IMAGE "LOGO.JPG" SIZE 650, 650 LASTROW nRow oPrn:
SayImage( 1.00,
350,
"LOGO.JPG",
650,
650 ) // proxima pagina ++nPagina
nLinha :=
1.00 nColuna :=
18.00 //-> Pagina oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
OemToAnsi
( "P g.: " + ALLTRIM
( STRZERO
( nPagina,
2 ) ) ), ;
oFont,, CLR_BLACK,, PAD_CENTER
) IF LEN
( ALLTRIM
( nProposta
) ) =
1 nLinha :=
2.50 nColuna :=
4.05 ELSEIF LEN
( ALLTRIM
( nProposta
) ) =
2 nLinha :=
2.50 nColuna :=
4.15 ELSEIF LEN
( ALLTRIM
( nProposta
) ) =
3 nLinha :=
2.50 nColuna :=
4.25 ELSEIF LEN
( ALLTRIM
( nProposta
) ) =
4 // OK nLinha :=
2.50 nColuna :=
4.35 ELSEIF LEN
( ALLTRIM
( nProposta
) ) =
5 // OK nLinha :=
2.50 nColuna :=
4.45 ELSEIF LEN
( ALLTRIM
( nProposta
) ) =
6 // OK nLinha :=
2.50 nColuna :=
4.55 ELSEIF LEN
( ALLTRIM
( nProposta
) ) =
7 // OK nLinha :=
2.50 nColuna :=
4.65 ELSEIF LEN
( ALLTRIM
( nProposta
) ) =
8 // OK nLinha :=
2.50 nColuna :=
4.75 ELSEIF LEN
( ALLTRIM
( nProposta
) ) =
9 // OK nLinha :=
2.50 nColuna :=
4.85 ELSEIF LEN
( ALLTRIM
( nProposta
) ) =
10 // OK nLinha :=
2.50 nColuna :=
4.95 ELSE nLinha :=
2.50 nColuna :=
5.05 ENDIF oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
"Proposta Nº.: " + ALLTRIM
( nProposta
), oFont,, ;
CLR_BLACK,, PAD_CENTER
) oPrn:
cmSay( nLinha,
19.50,
"" + XDATALISTA, ;
oFont, , ;
CLR_BLACK, , PAD_RIGHT
) nLinha := nLinha +=
0.80 IF LEN
( ALLTRIM
( STR
( nClienCod
) ) ) =
1 nColuna :=
7.70 ELSEIF LEN
( ALLTRIM
( STR
( nClienCod
) ) ) =
2 nColuna :=
7.80 ELSEIF LEN
( ALLTRIM
( STR
( nClienCod
) ) ) =
3 nColuna :=
7.90 ELSEIF LEN
( ALLTRIM
( STR
( nClienCod
) ) ) =
4 // OK nColuna :=
8.00 ELSEIF LEN
( ALLTRIM
( STR
( nClienCod
) ) ) =
5 nColuna :=
8.10 ELSEIF LEN
( ALLTRIM
( STR
( nClienCod
) ) ) =
6 nColuna :=
8.20 ELSEIF LEN
( ALLTRIM
( STR
( nClienCod
) ) ) =
7 nColuna :=
8.30 ELSEIF LEN
( ALLTRIM
( STR
( nClienCod
) ) ) =
8 nColuna :=
8.40 ELSEIF LEN
( ALLTRIM
( STR
( nClienCod
) ) ) =
9 nColuna :=
8.50 ELSEIF LEN
( ALLTRIM
( STR
( nClienCod
) ) ) =
10 nColuna :=
8.60 ENDIF oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
+
"CÓD.: " + ALLTRIM
( STR
( nClienCod
) ) +
" - " +ClienPropo, ;
oFontRua, , CLR_BLACK, , PAD_CENTER
) nLinha := nLinha +=
0.50 nColuna :=
6.65 // 7.75 oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
+ EnderPropo, oFontRua, , CLR_BLACK, , PAD_CENTER
) nLinha := nLinha +=
0.50 nColuna :=
5.35 oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
"BAIRRO: " + BairrPropo, oFontRua, , CLR_BLACK, , PAD_CENTER
) nColuna := nColuna +=
6.50 // 5.05 oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
"CIDADE: " + CidadPropo, oFontRua, , CLR_BLACK, , PAD_CENTER
) nColuna := nColuna +=
4.50 oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
"UF: " + UFdaPropo, oFontRua, , CLR_BLACK, , PAD_CENTER
) cOrcamento :=
[ORDEM DE ENTREGA
] nLinha := nLinha +=
0.80 nColuna :=
10.50 oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
+ cOrcamento, oFontSubl,, CLR_BLACK,, PAD_CENTER
) nLinha := nLinha +=
0.80 // LINHA DA QTDE - OK nColuna :=
2.70 oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
+ OemToAnsi
( "QTDE " ), oFont,, CLR_BLACK,, PAD_CENTER
) nLinha := nLinha -=
0.02 nColuna :=
6.00 oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
+
"PRODUTOS ", oFont,, CLR_BLACK,, PAD_CENTER
) // QTDE / PRODUTOS - AQUI nLinha := nLinha +=
0.20 nColuna :=
1.60 oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
REPLICATE
( "_",
83 ), oFont,, CLR_BLACK,, PAD_LEFT
) nLinEsq :=
6.41 // LINHA VERTICAL DA ESQUERDA DO QUADRO nColEsq :=
1.50 nLinMeio :=
6.41 // 74 LINHA VERTICAL DA ESQUERDA DO QUADRO nColMeio :=
3.30 nLinDir :=
6.41 // LINHA VERTICAL DA DIREITA DO QUADRO nColDir :=
19.01 // GIRAR OS PRODUTOS DO NOVO PREVIEW: AQUI. nLinha := nLinha +=
0.50 // 1.00 // PRIMEIRO PRODUTO ENDIF SKIP
ENDDO // RODAPE DO QUADRO COM POUCOS PRODUTOS nLinha := nLinMeio +=
1.25 nColuna :=
18.00 cImpLinha :=
"______________________________" + SPACE
(10) + ;
"______________________________" cEntregador :=
" ENTREGADOR " + SPACE
(10) + ;
" RECEBIDO POR(NOME/CARGO) " oPrn:
cmSay( nLinha, nColuna,
"" + cImpLinha, ;
oFont,, CLR_BLACK,, PAD_RIGHT
) nLinha := nLinha +=
0.50 oPrn:
cmSay( nLinha, nColuna,
"" + cEntregador, ;
oFont,, CLR_BLACK,, PAD_RIGHT
) // Ferramentas: 03/04/2019 cFerramenta :=
"Ferramentas:________________________________________________________" cFerrament2 :=
"____________________________________________________________________" nLinha := nLinha +=
2.50 // Ferramentas nColuna :=
10.40 oPrn:
cmSay( nLinha, nColuna,
"" + cFerramenta, ;
oFont,, CLR_BLACK,, PAD_CENTER
) nLinha := nLinha +=
0.50 // Ferramentas oPrn:
cmSay( nLinha, nColuna,
"" + cFerrament2, ;
oFont,, CLR_BLACK,, PAD_CENTER
) nLinha := nLinha +=
0.50 // Ferramentas oPrn:
cmSay( nLinha, nColuna,
"" + cFerrament2, ;
oFont,, CLR_BLACK,, PAD_CENTER
) nLinha :=
27.00 nColuna :=
10.50 oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
+ OemToAnsi
( "Rua Ant“nio Andr‚ Rodrigues, 433 - Ch cara Mafalda - SÆo Paulo - SP" ), ;
oFontBold, , CLR_GREEN, , PAD_CENTER
) nLinha := nLinha +=
0.50 nColuna :=
10.40 oPrn:
Say( nLinha * ResLinha, nColuna * ResColuna, ;
+ OemToAnsi
( "CEP - 03372-030 - Fone/Fax: 2674-3173 - Site: www.ambienty.com.br " ), ;
oFontBold, , CLR_GREEN, , PAD_CENTER
) ENDPAGE // DESLIGA O METAFILE NA GERACAO DO PDF. Joao IF DeOndePartiu =
"COMPREVIEWPDF" // oPrn:lMeta = .F. // Nao mostrar o PREVIEW do PDF. ENDIF ENDPRINT IF DeOndePartiu =
"COMPREVIEWPDF" oDlgPdf:
End() /*
// NAME "ORDEM_DE_ENTREGA" + ALLTRIM( nProposta )
FWSavePreviewToPDF( oPrn, "ORDEM_DE_ENTREGA" + ALLTRIM( nProposta ), .F. )
// ESTA EM: PRV2PDF.PRG do Five.
// .F. NAO PERGUNTA SE QUER VISUALIZAR. ALIAS, NAO CHAMA O ADOBE.
// FWSavePreviewToPDF( oPrn, "pruebafactura.pdf" ,.F. )
MsgInfo( "ORDEM DE ENTREGA CRIADO EM C:\ORCAMPDF", ;
"ORDEM DE ENTREGA CRIADO EM C:\ORCAMPDF" )
*/ // MUDEI EM: 08/02/2021 Uma nova experiencia com os PDFS. Joao. FWSavePreviewToPDF
( oPrn,
"ORDEMRECOMP.PDF", .F.
) PDF_SALVO_EM_ORCAMPDF
() // ESTA EM FUNCOES.PRG 23/11/2020 Joao // Para visualizar o PDF. HTMLPDF.PRG - Nuevas versiones. HTMLVIEW
( "C:\ORCAMPDF\ORDEMRECOMP.PDF" ) ENDIF oFont:
End() oFontBold:
End() oFontSubl:
End() oFontMin:
End() oFontSub2:
End() oFontRua:
End() oPen1:
End() oPen2:
End() oPen3:
End() // PARA FECHAR O ARQUIVO TEMPORARIO // OrdDestroy( "nome_do_arquico_temporario" ) OrdDestroy
( "ORCATEMP" )RETURN( .T.
)// fin