- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Calculos de impostos
×
Linguagem de Programação ADVPL
Perguntas Calculos de impostos
- marcoalcantara
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 3
- Obrigados Recebidos: 0
10 anos 5 meses atrás #23318
por marcoalcantara
Calculos de impostos foi criado por marcoalcantara
Galera, estou desenvolvendo uma função para imitar a "Planilha Financeira", e não me retorna nada nas variaveis, será que alguem consegue me ajudar?
Segue abaixo meu fonte, não sei mais o que fazer nem onde estou errando, se olho o pedido na planilha financeira ele traz o ISS certinho mas na minha função não:
Static Function xImpPV()
Local aArea := GetArea()
Local _nItem := 0
Local _aVetRet := {}
Local _nQtdLibe := 0
Local _nAliqIcm := 0
Local _nValIcm := 0
Local _nBaseIcm := 0
Local _nValIpi := 0
Local _nBaseIpi := 0
Local _nValMerc := 0
Local _nValSol := 0
Local _nValDesc := 0
Local _nPrVen := 0
Local _nAliqISS := 0
Local _nBaseISS := 0
Local _nValISS := 0
Local _nBaseIRR := 0
Local _nPRedIRR := 0
Local _nAliqIRR := 0
Local _nValIRR := 0
Local _nBaseCOF := 0
Local _nAliqCOF := 0
Local _nValCOF := 0
Local _nBaseCSL := 0
Local _nAliqCSL := 0
Local _nValCSL := 0
Local _nBasePIS := 0
Local _nAliqPIS := 0
Local _nValPIS := 0
Local _nSoma1 := 0
Local _nSoma2 := 0
Local _nSoma3 := 0
Local _nSoma4 := 0
Local _nSoma5 := 0
Local _nSoma6 := 0
Local _nSoma7 := 0
Local _nSoma8 := 0
DbSelectArea("SC6")
DbSetOrder(1)
If DbSeek(xFilial("SC6") + SC5->C5_NUM)
While SC6->(!EOF()) .AND. SC6->C6_NUM == SC5->C5_NUM
_nItem += 1
MaFisIni(SC5->C5_CLIENTE,SC5->C5_LOJACLI,"C",SC5->C5_TIPO,SC5->C5_TIPOCLI,MaFisRelImp("MTR700",{"SC5","SC6"}),,.F.,"SB1")
MaFisAdd( SC6->C6_PRODUTO,;
SC6->C6_TES,;
SC6->C6_QTDLIB,;
SC6->C6_PRUNIT,;
0,;
"",;
"",;
0,;
0,;
0,;
0,;
0,;
(SC6->C6_QTDLIB*SC6->C6_PRUNIT),;
0,;
0,;
0)
_nAliqIcm := MaFisRet(_nItem,"IT_ALIQICM") //Aliquota ICMS
_nValIcm := MaFisRet(_nItem,"IT_VALICM" ) //Valor ICMS
_nBaseIcm := MaFisRet(_nItem,"IT_BASEICM") //Base ICMS
_nValIpi := MaFisRet(_nItem,"IT_VALIPI" ) //Valor IPI
_nBaseIpi := MaFisRet(_nItem,"IT_BASEICM") //Base IPI
_nValMerc := MaFisRet(_nItem,"IT_VALMERC") //Valor Mercadoris
_nValSol := MaFisRet(_nItem,"IT_VALSOL" ) //Valor Solidario
_nValDesc := MaFisRet(_nItem,"IT_DESCONTO")//Valor Desconto
_nPrVen := MaFisRet(_nItem,"IT_PRCUNI") //Preço de Venda
// _nAliqISS := MaFisRet(,"IT_ALIQISS") //Aliquota ISS
_nBaseISS := MaFisRet(_nItem,"IT_BASEISS") //Base ISS
_nValISS := MaFisRet(_nItem,"IT_VALISS") //Valor ISS
_nBaseIRR := MaFisRet(_nItem,"IT_BASEIRR") //Base do Imposto de Renda do item
_nPRedIRR := MaFisRet(_nItem,"IT_REDIR") //Percentual de Reducao da Base de calculo do IR
_nAliqIRR := MaFisRet(_nItem,"IT_ALIQIRR") //Aliquota de Calculo do IR do Item
_nValIRR := MaFisRet(_nItem,"IT_VALIRR") //Valor do IR do Item
_nBaseCOF := MaFisRet(_nItem,"IT_BASECOF") //Base de calculo do COFINS
_nAliqCOF := MaFisRet(_nItem,"IT_ALIQCOF") //Aliquota de calculo do COFINS
_nValCOF := MaFisRet(_nItem,"IT_VALCOF") //Valor do COFINS
_nBaseCSL := MaFisRet(_nItem,"IT_BASECSL") //Base de calculo do CSLL
_nAliqCSL := MaFisRet(_nItem,"IT_ALIQCSL") //Aliquota de calculo do CSLL
_nValCSL := MaFisRet(_nItem,"IT_VALCSL") //Valor do CSLL
_nBasePIS := MaFisRet(_nItem,"IT_BASEPIS") //Base de calculo do PIS
_nAliqPIS := MaFisRet(_nItem,"IT_ALIQPIS") //Aliquota de calculo do PIS
_nValPIS := MaFisRet(_nItem,"IT_VALPIS") //Valor do PIS
MaFisEnd()
SC6->(DbSkip())
_nSoma1 += _nValIcm
_nSoma2 += _nValIpi
_nSoma3 += _nValISS
_nSoma4 += _nValIRR
_nSoma5 += _nValCOF
_nSoma6 += _nValCSL
_nSoma7 += _nValPIS
EndDo
aAdd(_aVetRet,{"ICM",Iif(_nSoma1 > 0, Transform(_nSoma1,"@E 999999.99"),""),"Valor Total de ICM do Pedido"})
aAdd(_aVetRet,{"IPI",Iif(_nSoma2 > 0, Transform(_nSoma2,"@E 999999.99"),""),"Valor Total de IPI do Pedido"})
aAdd(_aVetRet,{"ISS",Iif(_nSoma3 > 0, Transform(_nSoma3,"@E 999999.99"),""),"Valor Total de ISS do Pedido"})
aAdd(_aVetRet,{"IRR",Iif(_nSoma4 > 0, Transform(_nSoma4,"@E 999999.99"),""),"Valor Total de IRR do Pedido"})
aAdd(_aVetRet,{"COF",Iif(_nSoma5 > 0, Transform(_nSoma5,"@E 999999.99"),""),"Valor Total de COFINS do Pedido"})
aAdd(_aVetRet,{"CSL",Iif(_nSoma6 > 0, Transform(_nSoma6,"@E 999999.99"),""),"Valor Total de CSLL do Pedido"})
aAdd(_aVetRet,{"PIS",Iif(_nSoma7 > 0, Transform(_nSoma7,"@E 999999.99"),""),"Valor Total de PIS do Pedido"})
EndIf
Return(_aVetRet)
Segue abaixo meu fonte, não sei mais o que fazer nem onde estou errando, se olho o pedido na planilha financeira ele traz o ISS certinho mas na minha função não:
Static Function xImpPV()
Local aArea := GetArea()
Local _nItem := 0
Local _aVetRet := {}
Local _nQtdLibe := 0
Local _nAliqIcm := 0
Local _nValIcm := 0
Local _nBaseIcm := 0
Local _nValIpi := 0
Local _nBaseIpi := 0
Local _nValMerc := 0
Local _nValSol := 0
Local _nValDesc := 0
Local _nPrVen := 0
Local _nAliqISS := 0
Local _nBaseISS := 0
Local _nValISS := 0
Local _nBaseIRR := 0
Local _nPRedIRR := 0
Local _nAliqIRR := 0
Local _nValIRR := 0
Local _nBaseCOF := 0
Local _nAliqCOF := 0
Local _nValCOF := 0
Local _nBaseCSL := 0
Local _nAliqCSL := 0
Local _nValCSL := 0
Local _nBasePIS := 0
Local _nAliqPIS := 0
Local _nValPIS := 0
Local _nSoma1 := 0
Local _nSoma2 := 0
Local _nSoma3 := 0
Local _nSoma4 := 0
Local _nSoma5 := 0
Local _nSoma6 := 0
Local _nSoma7 := 0
Local _nSoma8 := 0
DbSelectArea("SC6")
DbSetOrder(1)
If DbSeek(xFilial("SC6") + SC5->C5_NUM)
While SC6->(!EOF()) .AND. SC6->C6_NUM == SC5->C5_NUM
_nItem += 1
MaFisIni(SC5->C5_CLIENTE,SC5->C5_LOJACLI,"C",SC5->C5_TIPO,SC5->C5_TIPOCLI,MaFisRelImp("MTR700",{"SC5","SC6"}),,.F.,"SB1")
MaFisAdd( SC6->C6_PRODUTO,;
SC6->C6_TES,;
SC6->C6_QTDLIB,;
SC6->C6_PRUNIT,;
0,;
"",;
"",;
0,;
0,;
0,;
0,;
0,;
(SC6->C6_QTDLIB*SC6->C6_PRUNIT),;
0,;
0,;
0)
_nAliqIcm := MaFisRet(_nItem,"IT_ALIQICM") //Aliquota ICMS
_nValIcm := MaFisRet(_nItem,"IT_VALICM" ) //Valor ICMS
_nBaseIcm := MaFisRet(_nItem,"IT_BASEICM") //Base ICMS
_nValIpi := MaFisRet(_nItem,"IT_VALIPI" ) //Valor IPI
_nBaseIpi := MaFisRet(_nItem,"IT_BASEICM") //Base IPI
_nValMerc := MaFisRet(_nItem,"IT_VALMERC") //Valor Mercadoris
_nValSol := MaFisRet(_nItem,"IT_VALSOL" ) //Valor Solidario
_nValDesc := MaFisRet(_nItem,"IT_DESCONTO")//Valor Desconto
_nPrVen := MaFisRet(_nItem,"IT_PRCUNI") //Preço de Venda
// _nAliqISS := MaFisRet(,"IT_ALIQISS") //Aliquota ISS
_nBaseISS := MaFisRet(_nItem,"IT_BASEISS") //Base ISS
_nValISS := MaFisRet(_nItem,"IT_VALISS") //Valor ISS
_nBaseIRR := MaFisRet(_nItem,"IT_BASEIRR") //Base do Imposto de Renda do item
_nPRedIRR := MaFisRet(_nItem,"IT_REDIR") //Percentual de Reducao da Base de calculo do IR
_nAliqIRR := MaFisRet(_nItem,"IT_ALIQIRR") //Aliquota de Calculo do IR do Item
_nValIRR := MaFisRet(_nItem,"IT_VALIRR") //Valor do IR do Item
_nBaseCOF := MaFisRet(_nItem,"IT_BASECOF") //Base de calculo do COFINS
_nAliqCOF := MaFisRet(_nItem,"IT_ALIQCOF") //Aliquota de calculo do COFINS
_nValCOF := MaFisRet(_nItem,"IT_VALCOF") //Valor do COFINS
_nBaseCSL := MaFisRet(_nItem,"IT_BASECSL") //Base de calculo do CSLL
_nAliqCSL := MaFisRet(_nItem,"IT_ALIQCSL") //Aliquota de calculo do CSLL
_nValCSL := MaFisRet(_nItem,"IT_VALCSL") //Valor do CSLL
_nBasePIS := MaFisRet(_nItem,"IT_BASEPIS") //Base de calculo do PIS
_nAliqPIS := MaFisRet(_nItem,"IT_ALIQPIS") //Aliquota de calculo do PIS
_nValPIS := MaFisRet(_nItem,"IT_VALPIS") //Valor do PIS
MaFisEnd()
SC6->(DbSkip())
_nSoma1 += _nValIcm
_nSoma2 += _nValIpi
_nSoma3 += _nValISS
_nSoma4 += _nValIRR
_nSoma5 += _nValCOF
_nSoma6 += _nValCSL
_nSoma7 += _nValPIS
EndDo
aAdd(_aVetRet,{"ICM",Iif(_nSoma1 > 0, Transform(_nSoma1,"@E 999999.99"),""),"Valor Total de ICM do Pedido"})
aAdd(_aVetRet,{"IPI",Iif(_nSoma2 > 0, Transform(_nSoma2,"@E 999999.99"),""),"Valor Total de IPI do Pedido"})
aAdd(_aVetRet,{"ISS",Iif(_nSoma3 > 0, Transform(_nSoma3,"@E 999999.99"),""),"Valor Total de ISS do Pedido"})
aAdd(_aVetRet,{"IRR",Iif(_nSoma4 > 0, Transform(_nSoma4,"@E 999999.99"),""),"Valor Total de IRR do Pedido"})
aAdd(_aVetRet,{"COF",Iif(_nSoma5 > 0, Transform(_nSoma5,"@E 999999.99"),""),"Valor Total de COFINS do Pedido"})
aAdd(_aVetRet,{"CSL",Iif(_nSoma6 > 0, Transform(_nSoma6,"@E 999999.99"),""),"Valor Total de CSLL do Pedido"})
aAdd(_aVetRet,{"PIS",Iif(_nSoma7 > 0, Transform(_nSoma7,"@E 999999.99"),""),"Valor Total de PIS do Pedido"})
EndIf
Return(_aVetRet)
Por favor Acessar ou Registrar para participar da conversa.
- marcoalcantara
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 3
- Obrigados Recebidos: 0
10 anos 5 meses atrás #23321
por marcoalcantara
Respondido por marcoalcantara no tópico Calculos de impostos
Ninguem consegue ajudar neste duvida cruel?
Por favor Acessar ou Registrar para participar da conversa.
- marcoalcantara
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 3
- Obrigados Recebidos: 0
10 anos 5 meses atrás #23323
por marcoalcantara
Respondido por marcoalcantara no tópico Calculos de impostos
Senhores, problema resolvido era o valor que estava vindo zerado, campo errado, mas, tah funfando direito este trecho do codigo, precisando ai podem copiar!
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Calculos de impostos
Tempo para a criação da página:0.085 segundos