Gente tô desaprendendo programar !!!
Preciso gerar o registro c190 do sped e num tô conseguindo a lógica de como fazer ...
Tenho uma tabela com o seguintes campos:
numnota = c, 10
cfop = 4, c
cst = 3, c
icms = 2, c
valor = n,12,2
Preciso criar um relatório que gere os totais da combinação de cfop+cst+icms de uma mesma nota. alguem já fez? como ?
por exemplo:
na nota 100 tem os seguinte lancamentos:
cfop=5102 cst=000 icms=07 valor=120,00
cfop=5102 cst=000 icms=07 valor=70,00
cfop=5405 cst=500 icms=07 valor=50,00
cfop=5102 cst=500 icms=12 valor=12,00
daí preciso que saia assim:
|100|5102|000|07|190,00|
|100|5405|500|07|50,00|
|100|5102|500|12|12,00|
Vlw
Obg
Rubens
Registro C190 do sped - como gerar ?
Moderador: Moderadores
- rubens
- Colaborador

- Mensagens: 1520
- Registrado em: 16 Ago 2003 09:05
- Localização: Nova Xavantina - MT
Registro C190 do sped - como gerar ?
Resolvi...
Código: Selecionar todos
USE ICOMPRAS
// CRIA UM INDICE TEMPORARIO COM OS CAMPOS QUER QUERO FILTRAR
// E PARA O DOCUMENTO SELECIONADO
INDEX ON CFOP+CST_ICMS+STRZERO(ALIQ_ICMS,2) TO IC190 FOR DOCUME=cDOCUME
DBGOTOP()
WHILE !EOF()
// PEGA OS CAMPOS NO PRIMEIRO REGISTRO
cCFOP := CFOP
cCST_ICMS := CST_ICMS
cALIQ := STRZERO( ALIQ_ICMS,2 )
cLINHA := cCFOP + cCST_ICMS + cALIQ
// ENQUANTO OS CAMPOS DO ARQUIVO FOREM IGUAIS AS VARIAVEIS
WHILE ICOM->CFOP+CST_ICMS+STRZERO(ALIQ_ICMS,2) = (cLINHA)
nVL_OPR += ( ICOM->QTDE_ * ICOM->VALOR_ )
DBSKIP()
ENDDO
@ PROW(),PCOL() SAY "|"+DOCUME+"+"|"+cCFOP+"|"+cCST+"|"+cALIQ+"|"
@ PROW(),PCOL() SAY STRTRAN( ALLTRIM( STR(nVL_OPR,12,2) ),".","," )+"|"
ENDDO
"Eu e minha casa servimos ao Senhor e você
"