NFE NT 2017.002

Fórum sobre desenvolvimento de software para atender as exigências da legislação fiscal e tributária (NFe, NFCe, NFSe, SPEED, Projeto ACBr, TEF, ECD, EFD, etc.)

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20416
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

NFE NT 2017.002

Mensagem por JoséQuintas »

cfop.png
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20416
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

NFE NT 2017.002

Mensagem por JoséQuintas »

Mas geralmente um aplicativo já conhece o que emite, e já tem relatório pra isso.
Vai complicar porque vai ter que fazer a relação de cada documento primeiro, porque pode ter repetido em pastas diferentes.

Algo mais ou menos assim:

Código: Selecionar todos

#define CFOP     1
#define VALOR   2
#define NUMERO 3

aLista := {}
aFiles := Directory( "*.*" )
FOR EACH oElement IN aFiles
   oDoc := XmlToDoc( MemoRead( oElement[ F_NAME ] ) )
   IF AScan( aLista, { | e | e[ NUMERO ] == oDoc:ChaveAcesso } ) == 0
      AAdd( aLista, { oDoc:ChaveAcesso, oDoc:valor, oDoc:cfop } )
   ENDIF
NEXT

ASort( aLista, { | a, b | a[ cfop ] < b[ cfop ] } )

aLista2 := {}
FOR EACH oElement IN aLista
   IF nItem := AScan( aLista2, { | x | x[ CFOP ] == aLista[ CFOP ] } ) == 0
      AAdd( aLista2, { oElement[ CFOP ], oElement[ Valor ] )
   ELSE
      aLista2[  nItem, VALOR ] += oElement[ Valor ]
   ENDIF
NEXT       
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20416
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

NFE NT 2017.002

Mensagem por JoséQuintas »

Só pra avisar.
A última NT 2017.002 é 1.20, de 11/04/2019.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder