- 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"
- lalberto
-
- Desconectado
- Administrador
-
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
12 anos 9 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 9 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 9 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 9 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 9 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.
- HFelicio
- Desconectado
- Membro Iniciado
-
Menos
Mais
- Postagens: 12
- Obrigados Recebidos: 0
11 anos 6 dias atrás #22185
por HFelicio
Respondido por HFelicio no tópico Re: Função MaFisRet "Cálculo de Impostos"
Boa tarde Sandro!
Estou com o mesmo problema que você citou abaixo:
"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???"
Consegui resolver? Caso positivo, você pode me passar o fonte?
Att.,
Henrique Almeida
Estou com o mesmo problema que você citou abaixo:
"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???"
Consegui resolver? Caso positivo, você pode me passar o fonte?
Att.,
Henrique Almeida
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.109 segundos