Clipper On Line • Ver Tópico - Arquivo TXT da Nota Fiscal Paulista
Página 1 de 1

Arquivo TXT da Nota Fiscal Paulista

MensagemEnviado: 22 Dez 2009 09:17
por JulioNSP
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.

Re: Arquivo TXT da Nota Fiscal Paulista

MensagemEnviado: 22 Dez 2009 10:01
por anacatacombs
Bom Dia.
Você está usando a DLL do fabricante da ECF?

[]'s

Ana

Re: Arquivo TXT da Nota Fiscal Paulista

MensagemEnviado: 22 Dez 2009 12:44
por JulioNSP
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.

Re: Arquivo TXT da Nota Fiscal Paulista

MensagemEnviado: 22 Dez 2009 13:19
por anacatacombs
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.

Re: Arquivo TXT da Nota Fiscal Paulista

MensagemEnviado: 22 Dez 2009 14:26
por alaminojunior
anacatacombs escreveu:Poste um trecho do código problemático.

Exato !
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.

Re: Arquivo TXT da Nota Fiscal Paulista

MensagemEnviado: 22 Dez 2009 14:53
por anacatacombs
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.

Re: Arquivo TXT da Nota Fiscal Paulista

MensagemEnviado: 22 Dez 2009 16:55
por JulioNSP
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:

    *******************************************************
    **  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

Re: Arquivo TXT da Nota Fiscal Paulista

MensagemEnviado: 22 Dez 2009 17:11
por sygecom
É 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.

Re: Arquivo TXT da Nota Fiscal Paulista

MensagemEnviado: 22 Dez 2009 17:14
por anacatacombs
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..

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


Acho que vai dar certo..

Re: Arquivo TXT da Nota Fiscal Paulista

MensagemEnviado: 22 Dez 2009 20:56
por JulioNSP
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.

Re: Arquivo TXT da Nota Fiscal Paulista

MensagemEnviado: 29 Dez 2009 18:07
por billy1943
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.