Arquivo TXT da Nota Fiscal Paulista
Moderador: Moderadores
-
JulioNSP
- Usuário Nível 3

- Mensagens: 244
- Registrado em: 22 Dez 2009 09:25
- Localização: São Paulo - SP
Arquivo TXT da Nota Fiscal Paulista
Pessoal, estou precisando de uma ajuda para criar um arquivo texto com dados da NF Paulista.
Eu peguei os dados das NFs dos arquivos .DBF e gravei em outro arquivo, acontece que não está dando certo na hora de montar o .TXT.
Eu já ví aqui no forum que o pessoal conseguiu chegar nesse arquivo mas não sei como. Portanto se alguem puder me ajudar, desde já o meu muito obrigado.
Eu peguei os dados das NFs dos arquivos .DBF e gravei em outro arquivo, acontece que não está dando certo na hora de montar o .TXT.
Eu já ví aqui no forum que o pessoal conseguiu chegar nesse arquivo mas não sei como. Portanto se alguem puder me ajudar, desde já o meu muito obrigado.
-
anacatacombs
- Membro Master

- Mensagens: 472
- Registrado em: 12 Jul 2005 16:53
- Localização: Cianorte-Paraná
- Contato:
Re: Arquivo TXT da Nota Fiscal Paulista
Bom Dia.
Você está usando a DLL do fabricante da ECF?
[]'s
Ana
Você está usando a DLL do fabricante da ECF?
[]'s
Ana
-
JulioNSP
- Usuário Nível 3

- Mensagens: 244
- Registrado em: 22 Dez 2009 09:25
- Localização: São Paulo - SP
Re: Arquivo TXT da Nota Fiscal Paulista
Olá, não, eu uso um aplicativo desenvolvido em Clipper Summer 87 que gera os arquivos .DBF na hora da emissão das notas, aqui ainda não usamos o ECF.
É que desde 09/2009 precisamos informar tambem as notas mod 1.
Eu tentei pegar os dados do periodo e jogar num outro arquivo .DBF e depois usar o copy to arquivo.txt SDF ou DELIMITED with .
Mas nao estou conseguindo, talvez haja outra forma se se chegar no .TXT.
É que desde 09/2009 precisamos informar tambem as notas mod 1.
Eu tentei pegar os dados do periodo e jogar num outro arquivo .DBF e depois usar o copy to arquivo.txt SDF ou DELIMITED with .
Mas nao estou conseguindo, talvez haja outra forma se se chegar no .TXT.
-
anacatacombs
- Membro Master

- Mensagens: 472
- Registrado em: 12 Jul 2005 16:53
- Localização: Cianorte-Paraná
- Contato:
Re: Arquivo TXT da Nota Fiscal Paulista
Ok, vamos ver se eu entendi o seu problema direito.
Você está com dificuldades para mandar o conteudo do arquivo .DBF para o arquivo .TXT?
Poste um trecho do código problemático.
Você está com dificuldades para mandar o conteudo do arquivo .DBF para o arquivo .TXT?
Poste um trecho do código problemático.
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Re: Arquivo TXT da Nota Fiscal Paulista
Exato !anacatacombs escreveu:Poste um trecho do código problemático.
E opte por montar arquivos texto, com as funções de baixo nível: fcreate, fwrite, etc ... Pois desta forma você terá mais controle sobre o que será gravado.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
-
anacatacombs
- Membro Master

- Mensagens: 472
- Registrado em: 12 Jul 2005 16:53
- Localização: Cianorte-Paraná
- Contato:
Re: Arquivo TXT da Nota Fiscal Paulista
Eu até iria sugerir, mas nunca trabalhei com SUMMER 87 e não sei se existe compatibilidade com essas funções de manipulação de arquivos.
-
JulioNSP
- Usuário Nível 3

- Mensagens: 244
- Registrado em: 22 Dez 2009 09:25
- Localização: São Paulo - SP
Re: Arquivo TXT da Nota Fiscal Paulista
Ana, eu criei um arquivo .DBF para receber os dados das notas que serão usados para compor os tipos de registros da NF Paulista. Depois eu pensei em usar o copy to arquivo.txt. acontece que se su usar o delimiter with | (pipe) que esles pedem como separador ele coloca virgulas entre os campos. Se eu usar SDF os campos ficam com espaços em branco e acho que isso faz com que nao passe no validador.
Vou postar abaixo esse trecho do código:
Vou postar abaixo esse trecho do código:
Código: Selecionar todos
*******************************************************
** CONVERSAO PARA ARQUIVOS TIPO TXT (??? POSICOES) **
*******************************************************
Close Databases
Close Indexes
**********************
** REGISTRO 10 **
**********************
If Abre_local("ANFPTP10")
If Trava_arq()
* Copy to \NEW\SP\NFPA\R10.TXT SDF
Copy to \NEW\SP\NFPA\R10.TXT DELI
UNLOCK
Endif
Endif
**********************
** REGISTRO 20 **
**********************
If Abre_local("ANFPTP20")
If Trava_arq()
* Copy to \NEW\SP\NFPA\R20.TXT SDF
Copy to \NEW\SP\NFPA\R20.TXT DELI
UNLOCK
Endif
Endif
**********************
** REGISTRO 30 **
**********************
If Abre_local("ANFPTP30")
If Trava_arq()
* Copy to \NEW\SP\NFPA\R30.TXT SDF
Copy to \NEW\SP\NFPA\R30.TXT DELI
UNLOCK
Endif
Endif
**********************
** REGISTRO 40 **
**********************
If Abre_local("ANFPTP40")
If Trava_arq()
* Copy to \NEW\SP\NFPA\R40.TXT SDF
Copy to \NEW\SP\NFPA\R40.TXT DELI
UNLOCK
Endif
Endif
**********************
** REGISTRO 50 **
**********************
If Abre_local("ANFPTP50")
If Trava_arq()
* Copy to \NEW\SP\NFPA\R50.TXT SDF
Copy to \NEW\SP\NFPA\R50.TXT DELI
UNLOCK
Endif
Endif
**********************
** REGISTRO 60 **
**********************
If Abre_local("ANFPTP60")
If Trava_arq()
* Copy to \NEW\SP\NFPA\R60.TXT SDF
Copy to \NEW\SP\NFPA\R60.TXT DELI
UNLOCK
Endif
Endif
**********************
** REGISTRO 90 **
**********************
If Abre_local("ANFPTP90")
If Trava_arq()
* Copy to \NEW\SP\NFPA\R90.TXT SDF
Copy to \NEW\SP\NFPA\R90.TXT DELI with
UNLOCK
Endif
Endif
***********************************************************
********************************
** MONTA O ARQUIVO NFPA **
********************************
If Abre_local("NFPA")
If Trava_arq()
Zap
Append from D:\NEW\SP\NFPA\R10.TXT SDF
Append from D:\NEW\SP\NFPA\R20.TXT SDF
Append from D:\NEW\SP\NFPA\R30.TXT SDF
Append from D:\NEW\SP\NFPA\R40.TXT SDF
Append from D:\NEW\SP\NFPA\R50.TXT SDF
* Append from D:\NEW\SP\NFPA\R60.TXT SDF
Append from D:\NEW\SP\NFPA\R90.TXT SDF
******************************************************
** DEFINICAO DO NOME DO ARQUIVO PREVENDO SEMPRE **
** PERIODO DE MES FECHADO FORMATO "MM" E ANO "AA" **
******************************************************
Mmes = substr(Dtj(Mdatini),7,2)
Mano = substr(Dtj(Mdatini),3,2)
Marq = "NFPA" + Mmes + Mano + ".TXT"
Copy to D:\NEW\SP\NFPA\&Marq SDF
* Copy to d:\testesin\SP\NFPA\&Marq SDF
Endif
Endif
Editado pela última vez por Toledo em 04 Jun 2010 19:20, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Arquivo TXT da Nota Fiscal Paulista
É muito mais fácil você montar o TXT na marra, do que usar o COPY TO ... SDF
Pode usar até as rotinas de SET PRINTER que já resolve, de uma procurada aqui no fórum que já vi colegas postarem as rotinas de geração das NFP.
Pode usar até as rotinas de SET PRINTER que já resolve, de uma procurada aqui no fórum que já vi colegas postarem as rotinas de geração das NFP.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
-
anacatacombs
- Membro Master

- Mensagens: 472
- Registrado em: 12 Jul 2005 16:53
- Localização: Cianorte-Paraná
- Contato:
Re: Arquivo TXT da Nota Fiscal Paulista
Como disse alí em cima, não sei se vai funcionar, pois nunca trabalhei com SUMMER, e também não rodei a rotina para ver se deu erro em algum lugar..
mas seria algo parecido com..
Acho que vai dar certo..
mas seria algo parecido com..
Código: Selecionar todos
If Abre_local("ANFPTP20")
If Trava_arq()
nHandle := FCREATE("\NEW\SP\NFPA\R20.TXT")
GO TOP
DO WHILE !EOF()
FWRITE(nHandle,Var_Arquivo+CHR(13)+CHR(10))
* var_arquivo = Variavel do seu banco de dados ou a linha
* ja formatada para Nota Fiscal Paulista
SKIP
ENDDO
FcLOSE(nHandle)
ENDIF
UNLOCK
Endif
-
JulioNSP
- Usuário Nível 3

- Mensagens: 244
- Registrado em: 22 Dez 2009 09:25
- Localização: São Paulo - SP
Re: Arquivo TXT da Nota Fiscal Paulista
Ana, valeu muito a dica, ja testei e funcionou certinho.
Vou mudar o programa pra montar as linhas e assim gerar o arquivo.txt que preciso.
Agradeço à você e ao pessoal que respondeu ao tópico.
[].
Julio.
Vou mudar o programa pra montar as linhas e assim gerar o arquivo.txt que preciso.
Agradeço à você e ao pessoal que respondeu ao tópico.
[].
Julio.
Re: Arquivo TXT da Nota Fiscal Paulista
Como o Julio não explicou depois se já montou o arquivo .TXT com os dados das NF, aqui vai umas dicas:
- não deixe nehum campo com acentos, cedilhas, etc.
- siga a portaria CAT 13 detidamente
- cada registro termina com chr(13) + chr(10) = "carriage return" + "line feed"
- o arquivo termina com chr(26)
- a quantidade de separadores (chr(124) chamado de "pipe") deve ser em número de campos que cada registro tem, menos 1.
assim: se o registro 20 (notas fiscais) tiver 15 campos, devem existir 14 "pipes", antes do término do registro
- o maior problema está em conjugar as NF com os seus ítens, dada às diversas tributações, CFOPs, etc.
- não deixe nehum campo com acentos, cedilhas, etc.
- siga a portaria CAT 13 detidamente
- cada registro termina com chr(13) + chr(10) = "carriage return" + "line feed"
- o arquivo termina com chr(26)
- a quantidade de separadores (chr(124) chamado de "pipe") deve ser em número de campos que cada registro tem, menos 1.
assim: se o registro 20 (notas fiscais) tiver 15 campos, devem existir 14 "pipes", antes do término do registro
- o maior problema está em conjugar as NF com os seus ítens, dada às diversas tributações, CFOPs, etc.
O bom do computador é que ele resolve os problemas, sem nunca levantar nenhum.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
