Página 1 de 1

arquivo tipo 60

Enviado: 30 Mai 2011 16:42
por JUDIVAN CONTABIL
Boa Tarde,

Estou com problemas no arquivo tipo 60, o prg do arquivo foi feito como segue:

Código: Selecionar todos

****************************************************************
SELECT CUPOM
GO TOP
SEEK M->vMes
DO WHILE (PERIODO=M->vMes)
  vTotTip601+=1
  vTIPO:="60"
  vDETALHE:="M"
 vDTEMISSAO:=DTOS(CTOD(DATA))  //Campo DATA ‚ caracter
 *vNSERIE:=STRZERO(VAL(NUMSERIE),20)
 vNSERIE:=NUMSERIE
 vNEQUIP:=strzero(NUMEQUIP,3)
 vMODEL:=MODELO
* vCOI:=COOI
vCOI:=STRZERO(COOI,6)

 *vCOF:=COOF
    vCOF:=strzero(COOF,6)
 vCRZZ:=strzero(CRZ,6)
 vCROO:=strzero(CRO,3)
 vVENBRUTA:=STRZERO(INT(VBRUTA*100),16)
 vGTFIMDIA:=STRZERO(INT(GTFIMD*100),16)
                        
  SELE TIPO601
  APPEND BLANK
  REPL TIPO WITH vTIPO,;
       DETALHE WITH vDETALHE,;
       DTEMISSAO WITH vDTEMISSAO,;
       NSERIE WITH vNSERIE,;
       NEQUIP WITH vNEQUIP,;
       MODEL WITH vMODEL,;
       COI WITH vCOI,;
       COF WITH vCOF,;
       CRZZ WITH vCRZZ,;
       CROO WITH vCROO,;
       VENBRUTA WITH vVENBRUTA,;
       GTFIMDIA WITH vGTFIMDIA
       
SELECT CUPOM
 SKIP
ENDDO

*SELECT CUPOM
GO TOP
SEEK M->vMes
DO WHILE (PERIODO=M->vMes)
 IF SUBTRIB>0
  vTotTip602+=1

  vTIPO:="60"
  vDETALHE:="A"
 vDTEMISSAO:=DTOS(CTOD(DATA))  //Campo DATA ‚ caracter
 *vNUMSERIE:=NUMSERIE
 *vNSERIE:=STRZERO(VAL(NUMSERIE),20)
 vNSERIE:=NUMSERIE
 vNISENTO:="F" // F=Substituicao Tributaria
 vVLSET:=STRZERO(INT(SUBTRIB*100),12)

  SELECT TIPO602
  APPEND BLANK
  REPL TIPO WITH vTIPO,;
       DETALHE WITH vDETALHE,;
       DTEMISSAO WITH vDTEMISSAO,;
       NSERIE WITH vNSERIE,;
       NISENTO WITH vNISENTO,;
       VLSET WITH vVLSET
      
SELECT CUPOM
ENDIF
 SKIP
ENDDO

*SELECT CUPOM
GO TOP
SEEK M->vMes
DO WHILE (PERIODO=M->vMes)
 IF ISENCAO>0
  vTotTip602+=1
  vTIPO:="60"
  vDETALHE:="A"
 vDTEMISSAO:=DTOS(CTOD(DATA))  //Campo DATA ‚ caracter
 *vNUMSERIE:=NUMSERIE
 *vNSERIE:=STRZERO(VAL(NUMSERIE),20)
 vNSERIE:=NUMSERIE
 vNISENTO:="I" // I = isento
 vVLSET:=STRZERO(INT(ISENCAO*100),12)

  SELECT TIPO602
  APPEND BLANK
  REPL TIPO WITH vTIPO,;
       DETALHE WITH vDETALHE,;
       DTEMISSAO WITH vDTEMISSAO,;
       NSERIE WITH vNSERIE,;
       NISENTO WITH vNISENTO,;
       VLSET WITH vVLSET
      
SELECT CUPOM
ENDIF
 SKIP
ENDDO


*SELECT CUPOM
GO TOP
SEEK M->vMes
DO WHILE (PERIODO=M->vMes)
 IF NAOINC>0
  vTotTip602+=1

  vTIPO:="60"
  vDETALHE:="A"
 vDTEMISSAO:=DTOS(CTOD(DATA))  //Campo DATA ‚ caracter
 *vNUMSERIE:=NUMSERIE
 *vNSERIE:=STRZERO(VAL(NUMSERIE),20)
 vNSERIE:=NUMSERIE
 vNISENTO:="N" // N= Nao Incidencia
 vVLSET:=STRZERO(INT(NAOINC*100),12)

  SELECT TIPO602
  APPEND BLANK
  REPL TIPO WITH vTIPO,;
       DETALHE WITH vDETALHE,;
       DTEMISSAO WITH vDTEMISSAO,;
       NSERIE WITH vNSERIE,;
       NISENTO WITH vNISENTO,;
       VLSET WITH vVLSET
      
SELECT CUPOM
ENDIF
 SKIP
ENDDO

GO TOP
SEEK M->vMes
DO WHILE (PERIODO=M->vMes)
 IF CANCEL>0
  vTotTip602+=1

  vTIPO:="60"
  vDETALHE:="A"
 vDTEMISSAO:=DTOS(CTOD(DATA))  //Campo DATA ‚ caracter
 *vNUMSERIE:=NUMSERIE
 *vNSERIE:=STRZERO(VAL(NUMSERIE),20)
 vNSERIE:=NUMSERIE
 vNISENTO:="CANC" // N= Nao Incidencia
 vVLSET:=STRZERO(INT(CANCEL*100),12)

  SELECT TIPO602
  APPEND BLANK
  REPL TIPO WITH vTIPO,;
       DETALHE WITH vDETALHE,;
       DTEMISSAO WITH vDTEMISSAO,;
       NSERIE WITH vNSERIE,;
       NISENTO WITH vNISENTO,;
       VLSET WITH vVLSET
      
SELECT CUPOM
ENDIF
 SKIP
ENDDO


SELECT CUPOM
GO TOP
SEEK M->vMes
DO WHILE (PERIODO=M->vMes)
 IF VLDOZ>0
  vTotTip602+=1
  vTIPO:="60"
  vDETALHE:="A"
 vDTEMISSAO:=DTOS(CTOD(DATA))  //Campo DATA ‚ caracter
 *vNUMSERIE:=NUMSERIE
 *vNSERIE:=STRZERO(VAL(NUMSERIE),20)
 vNSERIE:=NUMSERIE
 vALIQDOZ:=ALIQDOZ
 vVLDOZ:=STRZERO(INT(VLDOZ*100),12)

  SELECT TIPO603
  APPEND BLANK
  REPL TIPO WITH vTIPO,;
       DETALHE WITH vDETALHE,;
       DTEMISSAO WITH vDTEMISSAO,;
       NSERIE WITH vNSERIE,;
       ALIQDOZ WITH vALIQDOZ,;
       VLDOZ WITH vVLDOZ
mas quando mando gerar o arquivo txt, gera da seguinte maneira:

60M20110401EP0408100000000064980012D00635800636900056700300000000001558480000000074634766
60M20110402EP0408100000000064980012D00636900637900056800300000000001351560000000074769922
60M20110403EP0408100000000064980012D00637900638900056900300000000001631670000000074933089
60M20110404EP0408100000000064980012D00638900639900057000300000000001447810000000075077870
60M20110405EP0408100000000064980012D00639900641000057100300000000001443650000000075222235
60M20110406EP0408100000000064980012D00641000642100057200300000000001859360000000075408171
60M20110407EP0408100000000064980012D00642100643300057300300000000001700350000000075578206
60A20110401EP040810000000006498F 000000155848
60A20110402EP040810000000006498F 000000135156
60A20110403EP040810000000006498F 000000163167
60A20110404EP040810000000006498F 000000144781
60A20110405EP040810000000006498F 000000144365
60A20110406EP040810000000006498F 000000185936
60A20110407EP040810000000006498F 000000170035
60A20110419EP040810000000006498CANC000000010000
60A20110420EP040810000000006498CANC000000032089
60A20110421EP040810000000006498CANC000000009999

onde o correto seria:

60M20110401EP0408100000000064980012D00635800636900056700300000000001558480000000074634766
60A20110401EP040810000000006498F 000000155848
60A20110419EP040810000000006498CANC000000010000
60M20110402EP0408100000000064980012D00636900637900056800300000000001351560000000074769922
60A20110402EP040810000000006498F 000000135156
60A20110420EP040810000000006498CANC000000032089
60M20110403EP0408100000000064980012D00637900638900056900300000000001631670000000074933089
60A20110403EP040810000000006498F 000000163167
60A20110421EP040810000000006498CANC000000009999
60M20110404EP0408100000000064980012D00638900639900057000300000000001447810000000075077870
60A20110404EP040810000000006498F 000000144781
60M20110405EP0408100000000064980012D00639900641000057100300000000001443650000000075222235
60A20110405EP040810000000006498F 000000144365
60M20110406EP0408100000000064980012D00641000642100057200300000000001859360000000075408171
60A20110406EP040810000000006498F 000000185936
60M20110407EP0408100000000064980012D00642100643300057300300000000001700350000000075578206
60A20110407EP040810000000006498F 000000170035

gostaria de ajuda para saber aonde esta errado.

agradeço
Judivan

arquivo tipo 60

Enviado: 31 Mai 2011 13:28
por anacatacombs
Você gostaria de organizar por data de emissão dos documentos ?
Notei que você tem um arquivo tipo601, tipo602 e tipo603....Na hora de gerar o arquivo txt, vc seleciona um por um e manda pro arquivo?
Se for esse procedimento que vc está fazendo, aí está o "problema".
Pra sair do jeito que você quer, teria que jogar pra um outro arquivo ou array o conteúdo desses 3 arquivos e ordenar por data.
É melhor postar a montagem do arquivo texto, aí poderemos te ajudar melhor.
Eu entendi certo o que vc quer?


[]'s

Ana