Juntas um TXT existente
Enviado: 15 Set 2011 19:40
Caros, eu aproveito o txt criado pela ECF da BEMATECH e Daruma com os arq. SPED que crio no sistema, acontece que quando faco esse processo fica uma linha em branco no arq. sped. Como eu faco para que essa linha em branco nao seja criado?
Segue o codigo abaixo:
Aqui eu leio o arq. jah criado pela DLL da ECF e incorporo no meu arq. txt
Marcos Roberto.
Segue o codigo abaixo:
Aqui eu leio o arq. jah criado pela DLL da ECF e incorporo no meu arq. txt
Código: Selecionar todos
ArqSPEDECF := SelectFile( "Arquivo SPED criado pela E.C.F.", "SPED*.TXT")
dbftmp:=Alltrim(Config->PasTmp)+"temp.dbf"
IF EMPTY(ArqSPEDECF)
MSGSTOP("É necessário escolher um arq. SPED valido","Usuario")
Select(Areant)
RETURN .F.
Endif
MsgRun("Criando arquivo do SPED-Fiscal. Aguarde...")
hFile := MemoRead(ArqSPEDECF)
IF File((dbftmp))
FErase((dbftmp))
ENDIF
DBCreate((dbftmp),{{"LINE", "C", 600, 0}})
USE (dbftmp) Exclusive Alias RemTMP New
APPEND FROM (ArqSPEDECF) SDF
DBGOTOP()
Do While !Eof()
If SubStr(Line,1,6)="|C405|"
nLinha_BLOCOC_C405++
Endif
If SubStr(Line,1,6)="|C420|"
nLinha_BLOCOC_C420++
Endif
If SubStr(Line,1,6)="|C425|"
nLinha_BLOCOC_C425++
Endif
If SubStr(Line,1,6)="|C460|"
nLinha_BLOCOC_C460++
Endif
If SubStr(Line,1,6)="|C470|"
nLinha_BLOCOC_C470++
Endif
If SubStr(Line,1,6)="|C490|"
nLinha_BLOCOC_C490++
Endif
DbSkip()
Enddo
zap
dbclosearea()
IF File((dbftmp))
FErase((dbftmp))
ENDIF
ContFim:=Len(hFile)
hFile:=SubStr(hFile,2,ContFim)
Fwrite( nTMP,cSepa+hFile+CRLF )
Aadd(wBloco_Soma_9990,{'C400',1})
Aadd(wBloco_Soma_9990,{'C405',nLinha_BLOCOC_C405})
Aadd(wBloco_Soma_9990,{'C420',nLinha_BLOCOC_C420})
Aadd(wBloco_Soma_9990,{'C425',nLinha_BLOCOC_C425})
Aadd(wBloco_Soma_9990,{'C460',nLinha_BLOCOC_C460})
Aadd(wBloco_Soma_9990,{'C470',nLinha_BLOCOC_C470})
Aadd(wBloco_Soma_9990,{'C490',nLinha_BLOCOC_C490})