boa tarde amigos ...
a impressão apartir do DBF ficou show!! porem estou tendo dificuldade com impressoras matriciais ... ja fiz varios teste em impressoes feita pelo
NODOSIMP em impressora USB funciona perfeitamente ... porem na matricial quando tenho que imprimir o "X" na rotina abaixo a impressora epson lx-350 ela pula uma linha não sei porque ... vejam ai se consegue me dar uma luz por favor ... /// quando a factura é a CREDITO ou CONTADO ... ou a vista ou a prazo está em espanhol porque atendo no paraguai ...
if imp_fact = 1 .and. imp_porta = 1 /// IMPRESSORAS MATRICIAIS .... hoje uso impressora epson lx-350 usb porem direcionando para porta virtual LPT2 com o comando externo net use LPT2 \\NOME-PC\\IMPRESSORA
Código: Selecionar todos
///--- COME€A A IMPRESSAO
n_factfol :=1 // NUMEROS DE FATURAS POR FOLHA
do while n_factfol <= (FACTURA->cn_factfol)
vcab := .T.
RESET_IMP()
if imp_fact = 1 .and. imp_porta = 1
if prow()<=23
@00,00 say c_33linhas
else
@00,00 say c_63linhas
endif
endif
DBGOTOP()
do while !EOF()
if vcab
select FATCONF
DBGOTOP()
**********************************************
// ENCABEZADO FACTURA ------------------------
**********************************************
if imp_fact = 1 .and. imp_porta = 1
@00,00 say c_06lpp
@00,00 say c_ncomprime
else
@00,00 say CHR(18) + CHR(19) // LETRA NORMAL + NEGRITO
endif
do while FATCONF->parte = 'ENCABEZADO'
if FATCONF->tipo = 'TEXTO'
xValue := (FATCONF->conteudo)
else
xValue := alltrim(&(FATCONF->conteudo))
endif
if !Empty(FATCONF->mascara)
xValue := Transform( xValue, FATCONF->mascara )
endif
if xValue = 'X'
if SUBSTR(NOTAS->cc_condpg,1,3) = "000" .and. NOTAS->cn_numcond < 2 // AL CONTADO
@FATCONF->CN_LIN,FATCONF->CN_COL say xValue
DBSKIP(2)
else // A CREDITO
DBSKIP(1)
@FATCONF->CN_LIN,FATCONF->CN_COL say xValue
DBSKIP()
endif
else
@FATCONF->CN_LIN,FATCONF->CN_COL say xValue
DBSKIP()
endif
enddo
DEVPOS(FACTURA->lin_inicor,0) // posiciona para linha do corpo da factura
vcab = .F.
select TMP
endif
*************************************
// CORPO DA FACTURA -----------------
*************************************
@prow() +1,FACTURA->col_qtd say alltrim(transform(cn_quant,MASK_QUANT()))
@prow() ,FACTURA->col_descr say cc_descr picture "@!"
if FACTURA->col_marca # 0
@prow() ,FACTURA->col_marca say cc_marca picture "@!"
endif
if FACTURA->col_codfab # 0
@prow() ,FACTURA->col_codfab say cc_codfabr picture "@!"
endif
if FACTURA->col_codpro # 0
@prow() ,FACTURA->col_codpro say cc_codprod picture "@!"
endif
@prow() ,FACTURA->col_punit say cn_preco picture MASK1()
if FACTURA->col_iva5 # 0
@prow() ,FACTURA->col_iva5 say cn_totitem picture MASK1()
endif
@prow() ,FACTURA->col_iva10 say cn_totitem picture MASK1()
DBSKIP()
enddo
**********************************
// RODAPE FACTURA ----------------
**********************************
if vrod := .T.
select FATCONF
do while FATCONF->parte = 'RODAPE' .and. !EOF()
if FATCONF->tipo = 'TEXTO'
xValue := (FATCONF->conteudo)
else
xValue := &(FATCONF->conteudo)
endif
if !Empty(FATCONF->mascara)
xValue := Transform( xValue, FATCONF->mascara )
endif
@FATCONF->CN_LIN,FATCONF->CN_COL say xValue
DBSKIP()
enddo
vrod = .F.
endif
forte abraço!!
Deivid
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX