- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Função MaFisRet "Cálculo de Impostos"
×
Linguagem de Programação ADVPL
Perguntas Função MaFisRet "Cálculo de Impostos"
- SandroTumi
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 11
- Obrigados Recebidos: 0
12 anos 5 meses atrás #2498
por SandroTumi
Função MaFisRet "Cálculo de Impostos" foi criado por SandroTumi
Boa tarde,
Alguém sabe quais as variáveis de retorno da função MaFisRet.
Estou fazendo um relatório para conferência de pedido e preciso dos valores dos itens abaixo:
Base Calc ICMS
VL. ICMS
Base IPI
VL. IPI
Base Subst. Trib.
Vl. Subst. Trib.
Vl. Tot. Prod.
Vl. Tot. NF
Descontos
Desc. ZFR
Obrigado
Alguém sabe quais as variáveis de retorno da função MaFisRet.
Estou fazendo um relatório para conferência de pedido e preciso dos valores dos itens abaixo:
Base Calc ICMS
VL. ICMS
Base IPI
VL. IPI
Base Subst. Trib.
Vl. Subst. Trib.
Vl. Tot. Prod.
Vl. Tot. NF
Descontos
Desc. ZFR
Obrigado
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
12 anos 5 meses atrás #2499
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Re: Função MaFisRet "Cálculo de Impostos"
Segue um Exemplo:
// Posiciona-se no Pedido de Venda
If SC5->(dbSetOrder(1), dbSeek(xFilial("SC5")+_QRY2->C6_NUM))
MaFisIni(SC5->C5_CLIENTE,SC5->C5_LOJACLI,"C","N",SC5->C5_TIPOCLI,MaFisRelImp("MTR700",{"SC5","SC6"}),,,"SB1","MTR700")
Else
SC6->(dbSkip(1));Loop
Endif
If !Empty(SC6->C6_NOTA)
SC6->(dbSkip(1));Loop
Endif
If !SC9->(dbSetOrder(2), dbSeek(xFilial("SC9")+SC5->C5_CLIENTE+SC5->C5_LOJACLI+SC5->C5_NUM+SC6->C6_ITEM))
SC6->(dbSkip(1));Loop
Endif
MaFisAdd( SC6->C6_PRODUTO,;
SC6->C6_TES,;
_QRY2->C9_QTDLIB,;
SC6->C6_PRUNIT,;
SC6->C6_VALDESC,;
"",;
"",;
0,;
0,;
0,;
0,;
0,;
(_QRY2->C9_QTDLIB*SC6->C6_PRUNIT),;
0,;
0,;
0)
_nAliqIcm := MaFisRet(1,"IT_ALIQICM")
_nValIcm := MaFisRet(1,"IT_VALICM" )
_nBaseIcm := MaFisRet(1,"IT_BASEICM")
_nValIpi := MaFisRet(1,"IT_VALIPI" )
_nBaseIpi := MaFisRet(1,"IT_BASEICM")
_nValMerc := MaFisRet(1,"IT_VALMERC")
_nValSol := MaFisRet(1,"IT_VALSOL" )
_nValDesc := MaFisRet(1,"IT_DESCONTO" )
_nPrVen := MaFisRet(1,"IT_PRCUNI")
MaFisEnd()
_nQtdLibe += _QRY2->C9_QTDLIB
_nPrecoSI += Round(((SC6->C6_PRCVEN * _QRY2->C9_QTDLIB) - _nValIcm) ,2) //A410Arred((_nValMerc + _nValIpi + (_nValSol - _nValDesc)))
// Posiciona-se no Pedido de Venda
If SC5->(dbSetOrder(1), dbSeek(xFilial("SC5")+_QRY2->C6_NUM))
MaFisIni(SC5->C5_CLIENTE,SC5->C5_LOJACLI,"C","N",SC5->C5_TIPOCLI,MaFisRelImp("MTR700",{"SC5","SC6"}),,,"SB1","MTR700")
Else
SC6->(dbSkip(1));Loop
Endif
If !Empty(SC6->C6_NOTA)
SC6->(dbSkip(1));Loop
Endif
If !SC9->(dbSetOrder(2), dbSeek(xFilial("SC9")+SC5->C5_CLIENTE+SC5->C5_LOJACLI+SC5->C5_NUM+SC6->C6_ITEM))
SC6->(dbSkip(1));Loop
Endif
MaFisAdd( SC6->C6_PRODUTO,;
SC6->C6_TES,;
_QRY2->C9_QTDLIB,;
SC6->C6_PRUNIT,;
SC6->C6_VALDESC,;
"",;
"",;
0,;
0,;
0,;
0,;
0,;
(_QRY2->C9_QTDLIB*SC6->C6_PRUNIT),;
0,;
0,;
0)
_nAliqIcm := MaFisRet(1,"IT_ALIQICM")
_nValIcm := MaFisRet(1,"IT_VALICM" )
_nBaseIcm := MaFisRet(1,"IT_BASEICM")
_nValIpi := MaFisRet(1,"IT_VALIPI" )
_nBaseIpi := MaFisRet(1,"IT_BASEICM")
_nValMerc := MaFisRet(1,"IT_VALMERC")
_nValSol := MaFisRet(1,"IT_VALSOL" )
_nValDesc := MaFisRet(1,"IT_DESCONTO" )
_nPrVen := MaFisRet(1,"IT_PRCUNI")
MaFisEnd()
_nQtdLibe += _QRY2->C9_QTDLIB
_nPrecoSI += Round(((SC6->C6_PRCVEN * _QRY2->C9_QTDLIB) - _nValIcm) ,2) //A410Arred((_nValMerc + _nValIpi + (_nValSol - _nValDesc)))
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- SandroTumi
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 11
- Obrigados Recebidos: 0
12 anos 5 meses atrás #2507
por SandroTumi
Respondido por SandroTumi no tópico Re: Função MaFisRet "Cálculo de Impostos"
Obrigado Luiz, pelo código de exemplo.
O exemplo funcionou legal, porém temos venda para a Zona Franca de Manaus e o cálculo da Base ST e da ST saem errados. No restante está OK.
Você saberia dizer quais são as variáveis que retornam desta função, pois encontrei no Superep um retorno desta função com as seguinte variáveis:
_nIcmsRet := MaFisRet(1,"LF_ICMSRET" ) \Valor da Substituição Tributária
_nBaseRet := MaFisRet(1,"LF_BASERET" ) \Base da Susbstituição Tributaria
_nDescZFM := MaFisRet(1,"NF_DESCZF" ) \Desconto Zona Franca
O que significa cada início de variável. Ex: (_IT, _LF, _NF, ...)???
Obrigado
O exemplo funcionou legal, porém temos venda para a Zona Franca de Manaus e o cálculo da Base ST e da ST saem errados. No restante está OK.
Você saberia dizer quais são as variáveis que retornam desta função, pois encontrei no Superep um retorno desta função com as seguinte variáveis:
_nIcmsRet := MaFisRet(1,"LF_ICMSRET" ) \Valor da Substituição Tributária
_nBaseRet := MaFisRet(1,"LF_BASERET" ) \Base da Susbstituição Tributaria
_nDescZFM := MaFisRet(1,"NF_DESCZF" ) \Desconto Zona Franca
O que significa cada início de variável. Ex: (_IT, _LF, _NF, ...)???
Obrigado
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
12 anos 5 meses atrás #2509
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Re: Função MaFisRet "Cálculo de Impostos"
Cara senão me engano IT (Item) LF (Livro Fiscal) NF (Cabeçalho da Nota)
Cara o retorno é exatamente o calculo, e vc pode sim utilizar estas novas syntax que você encontrou, eu nunca usei, mas creio que irá funcionar, agora o fato de estar calculando sua st errada pode ser alguma coisa com seu cadastro de exceção fiscal.
Cara o retorno é exatamente o calculo, e vc pode sim utilizar estas novas syntax que você encontrou, eu nunca usei, mas creio que irá funcionar, agora o fato de estar calculando sua st errada pode ser alguma coisa com seu cadastro de exceção fiscal.
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- SandroTumi
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 11
- Obrigados Recebidos: 0
12 anos 5 meses atrás #2535
por SandroTumi
Respondido por SandroTumi no tópico Re: Função MaFisRet "Cálculo de Impostos"
Consegui com o codigo abaixo, porém a única exceção é quando o pedido é para a Zona Franca de Manaus, a variável de retorno "LF_BASERET" está cálculando 7% a mais, aí o restante dos cálculos não batem. E o mais interessante é a planilha financeira do pedido mostra esses valores corretos. Alguma sugestão?? Existe algum "Pulo do Gato" para esse cálculo???
MaFisIni(SC5->C5_CLIENTE,SC5->C5_LOJACLI,"C",SC5->C5_TIPO,SC5->C5_TIPOCLI,MaFisRelImp("MTR700",{"SC5","SC6"}),,,"SB1","MTR730")
nPrcTot := (SC6->C6_QTDVEN*SC6->C6_PRCVEN)
nPrcUni := SC6->C6_PRCVEN
MaFisAdd(SC6->C6_PRODUTO,;
SC6->C6_TES,;
SC6->C6_QTDVEN,;
nPrcUni,;
SC6->C6_VALDESC,;
"",;
"",;
0,;
0,;
0,;
0,;
0,;
nPrcTot,;
0,;
0,;
0)
_nAliqIcm := MaFisRet(1,"IT_ALIQICM")
_nValIcm := MaFisRet(1,"NF_VALICM" )
_nBaseIcm := MaFisRet(1,"NF_BASEICM")
_nAliqIPI := MaFisRet(1,"IT_ALIQIPI")
_nValIpi := MaFisRet(1,"NF_VALIPI" )
_nBaseIpi := MaFisRet(1,"NF_BASEIPI")
_nValMerc := MaFisRet(1,"IT_VALMERC")
_nValSol := MaFisRet(1,"IT_VALSOL" )
_nIcmsRet := MaFisRet(1,"LF_ICMSRET")
_nBaseRet := MaFisRet(1,"LF_BASERET")
_nDescZFM := MaFisRet(1,"NF_DESCZF" )
MaFisEnd()
Obrigado
MaFisIni(SC5->C5_CLIENTE,SC5->C5_LOJACLI,"C",SC5->C5_TIPO,SC5->C5_TIPOCLI,MaFisRelImp("MTR700",{"SC5","SC6"}),,,"SB1","MTR730")
nPrcTot := (SC6->C6_QTDVEN*SC6->C6_PRCVEN)
nPrcUni := SC6->C6_PRCVEN
MaFisAdd(SC6->C6_PRODUTO,;
SC6->C6_TES,;
SC6->C6_QTDVEN,;
nPrcUni,;
SC6->C6_VALDESC,;
"",;
"",;
0,;
0,;
0,;
0,;
0,;
nPrcTot,;
0,;
0,;
0)
_nAliqIcm := MaFisRet(1,"IT_ALIQICM")
_nValIcm := MaFisRet(1,"NF_VALICM" )
_nBaseIcm := MaFisRet(1,"NF_BASEICM")
_nAliqIPI := MaFisRet(1,"IT_ALIQIPI")
_nValIpi := MaFisRet(1,"NF_VALIPI" )
_nBaseIpi := MaFisRet(1,"NF_BASEIPI")
_nValMerc := MaFisRet(1,"IT_VALMERC")
_nValSol := MaFisRet(1,"IT_VALSOL" )
_nIcmsRet := MaFisRet(1,"LF_ICMSRET")
_nBaseRet := MaFisRet(1,"LF_BASERET")
_nDescZFM := MaFisRet(1,"NF_DESCZF" )
MaFisEnd()
Obrigado
Por favor Acessar ou Registrar para participar da conversa.
- erikditarso
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 4
- Obrigados Recebidos: 0
12 anos 5 meses atrás #2545
por erikditarso
Respondido por erikditarso no tópico Re: Função MaFisRet "Cálculo de Impostos"
Olá, alguns campos do SF3,SFT,SD1,SD2,SF2 e SF1, são gravados por este mesmo conceito.
Verifique a validação dos campos que gravam o valor do imposto que vc quer, usando a mesma ideia do programa ai em cima, só mudam as variáveis.
Seguem algumas que podem te ajudar:
IT_DESCZF - Valor do desconto na ZOna Franca do Item
IT_CRDZFM - Credito Fiscal Presumido Zona Franca de Manaus
NF_DESCZF - Valor total do Desconto da Zona Franca
NF_SUFRAMA - Valor total do Desconto da Zona Franca
LF_DESCZFR - Desconto Zona Franca de Manaus
Atc
Erik
Verifique a validação dos campos que gravam o valor do imposto que vc quer, usando a mesma ideia do programa ai em cima, só mudam as variáveis.
Seguem algumas que podem te ajudar:
IT_DESCZF - Valor do desconto na ZOna Franca do Item
IT_CRDZFM - Credito Fiscal Presumido Zona Franca de Manaus
NF_DESCZF - Valor total do Desconto da Zona Franca
NF_SUFRAMA - Valor total do Desconto da Zona Franca
LF_DESCZFR - Desconto Zona Franca de Manaus
Atc
Erik
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Função MaFisRet "Cálculo de Impostos"
Tempo para a criação da página:0.129 segundos