Página 1 de 1
COMO TRAZER UMA VARIAVEL DE UM DBF ??
Enviado: 03 Mar 2022 02:30
por deividdjs
Boa noite amigos ... estou criando um DBF para imprimir notas fiscais parametrizadas ... e estou criando um DBF pra que eu possa ordenar e imprimir os campos no seus devidos lugares ... me surgiu a ideia de criar um DBF com LINHAS E COLUNAS e um campo onde eu coloco a variavel no qual o comando de impressão teria que entender q é uma variavel ... vejam se conseguem entender o meu raciocinio ...
Código: Selecionar todos
if .not. file("fatconf.dbf")
vdbf := "fatconf.dbf"
fatconf := {}
aadd(fatconf,{"CN_LIN" ,"N",03,0})
aadd(fatconf,{"CN_COL" ,"N",03,0})
aadd(fatconf,{"CONTEUDO","C",60,0})
dbcreate(vdbf,fatconf,"dbfcdx")
use fatconf shared alias fatconf new
index on (cn_lin+cn_col) tag fatcx_01
endif
if FACTURA->lin_nrfact # 0 .and. FACTURA->col_nrfact # 0
ADIC_REG();Bloq_reg()
replace cn_lin with l_nrfact,;
cn_col with c_nrfact,;
conteudo with 'notas->cc_nota'
aqui é o comando de impressão ... porem a onde diz conteudo abaixo deveria imprimir os dados da variavel cc_nota que está na base de dados NOTAS
não faço ideia se isso é possivel ...
por ele imprime 'notas->cc_nota' ao inves do numero da nota fiscal como mencionado acima ...
forte abraço !!
COMO TRAZER UMA VARIAVEL DE UM DBF ??
Enviado: 03 Mar 2022 09:15
por JoséQuintas
depende se tudo vai ser de dbf ou não.
de um modo geral:
Código: Selecionar todos
xValue := &( configuracao->conteudo )
IF ! Empty( configuracao->picture )
xValue := Transform( xValue, configuracao->picture )
ENDIF
@ configuracao->linha, configuracao->coluna SAY xValue
COMO TRAZER UMA VARIAVEL DE UM DBF ??
Enviado: 03 Mar 2022 18:55
por deividdjs
Maravilha ... vou testar e volto aqui com o resultado !!
Obrigado parça!!!
COMO TRAZER UMA VARIAVEL DE UM DBF ??
Enviado: 03 Mar 2022 23:36
por deividdjs
José !! Perfeito amigão ... funcionou perfeitamente!! show!!!
Muito obrigado !!
Forte Abraço!!
Sds,
COMO TRAZER UMA VARIAVEL DE UM DBF ??
Enviado: 03 Mar 2022 23:42
por alxsts
Olá!
Para quem não gosta de usar o operador macro (&), como eu, pode-se usar codeblocks...
COMO TRAZER UMA VARIAVEL DE UM DBF ??
Enviado: 04 Mar 2022 02:32
por deividdjs
Estou indexando primeiro pela linha + coluna ... porém ele não fica na ordem ... uma linha da configuração fica fora de ordem ...
Eu fiz assim
Index on lin+col tag fatcdx1 to cdx
COMO TRAZER UMA VARIAVEL DE UM DBF ??
Enviado: 04 Mar 2022 02:49
por alxsts
Olá!
Da forma como está fazendo, está indexando pelo resultado da soma do conteúdo das duas colunas e não pela concatenação das mesmas.
Faça :
Use sempre o mesmo nome do arquivo DBF no arquivo CDX. Desta forma, quando fizer USE no DBF já abre o CDX automaticamente se SET AUTOPEN estiver ON.
COMO TRAZER UMA VARIAVEL DE UM DBF ??
Enviado: 04 Mar 2022 06:16
por deividdjs
Entendi... obrigado !! Vou testar aqui ...
Abraço!
COMO TRAZER UMA VARIAVEL DE UM DBF ??
Enviado: 20 Mar 2022 17:17
por deividdjs
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
COMO TRAZER UMA VARIAVEL DE UM DBF ??
Enviado: 20 Mar 2022 19:09
por Itamar M. Lins Jr.
Olá!
Imprime em arquivo e vê como está saindo.
Se pula 1 linha, ai é o valor @ x,y say que está pulando.
Se pula 1 folha, é o @ x,y say que está MENOR( no caso o x) a impressora só vai pra frente não volta o papel p/ traz, dai ela lança uma folha p/ frente e continua a imprimir na posição solicitada.
Saudações,
Itamar M. Lins Jr.
COMO TRAZER UMA VARIAVEL DE UM DBF ??
Enviado: 20 Mar 2022 21:20
por deividdjs
pior q é justamente o q eu faço ... primeiro gero um arquivo .PRN e mando imprimir ... e o arquivo está correto .. porem quando mando pra LX-350 matricial ele está pulando a linha .. bem estranho !!
COMO TRAZER UMA VARIAVEL DE UM DBF ??
Enviado: 20 Mar 2022 22:32
por carlaoonline
1 --------------------------------------------
Tenta abrir esse arquivo PRN em outro editor (NotePad++ ou NotePad do Windows) e manda para a matricial pra ver se por outro editor também pula a linha;
2 --------------------------------------------
Ou antes de cada comando SAY coloca uma ALERT para mostrar 4 itens:
Número da Linha;
Número da coluna;
Conteúdo da linha;
e a quantidade de caracteres que tem esse conteúdo.
Se a impressora esta configurada para 132 caracteres por linha e for mandado uma linha com caracteres visíveis e mais alguns espaços em branco que somados ultrapassem os 132 caracteres, então os espaços excedentes serão impressos na próxima linha dando a impressão que foi gerada uma linha em branco...
3 --------------------------------------------
Impressoras matriciais ao receberem certos caracteres podem executar alguns comando.... (A dinossáurica Epson LX810 tem até uns Jampers atrás dela de configuração..)
COMO TRAZER UMA VARIAVEL DE UM DBF ??
Enviado: 21 Mar 2022 09:32
por Itamar M. Lins Jr.
Olá!
e o arquivo está correto
Levar a LX-350 para o conserto. Se está ok então não há o que fazer a impressora está com defeito.
Se anexa-se o arquivo .PRN já teríamos analisado ele. Existe caracteres não imprimíveis, que não aparecem na tela.
Saudações,
Itamar M. Lins Jr.
COMO TRAZER UMA VARIAVEL DE UM DBF ??
Enviado: 21 Mar 2022 10:58
por JoséQuintas
Se mandar imprimir fora de ordem, vai pular folha.
Confirme no arquivo gerado se não tem Chr(12).
DevPos(), sei lá se deveria usar isso, substitua por @ lin, col say ""
Talvez precise começar usando um SetPrc(0,0) e finalizar com a mesma coisa, para o posicionamento interno do Harbour se reconfigurar.