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})

