Perguntas Existe paramêtro??

Mais
12 anos 10 meses atrás #889 por michelp
Respondido por michelp no tópico Re: Existe paramêtro??
Lucas,

Veja se o que vc quer é isso

MV_PRZIRRF Número de dias para pagamento do IRRF apos a emissão do titulo 1

Espero que ajude...veja o anexo que estou te enviando que vai ajudar bastante em outras situações

Precisando estou as ordens

Att. Michel

Arquivo Anexo:

Nome do Arquivo: Configimpo...CSLL.rar
Tamanho do Arquivo:3 KB
Anexos:

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 8 meses atrás #21145 por renatosever
Respondido por renatosever no tópico Existe paramêtro??
Caro, Luiz Alberto, minha necessidade é assim:

ISS (notas de entrada e de saida): dia 15 do mes seguinte;
CONTRIBUIÇÕES RETIDAS (emissão em 01-15 do mes): dia 31 do mesmo mes;
CONTRIBUIÇÕES RETIDAS (emissão 16-31 do mes): dia 15 do mes seguinte;
IRRF: dia 20 do mes seguinte;
INSS: dia 20 do mes seguinte;

O ISS quando o dia 15 do mes seguinte é no fim de semana, o pagamento é posterior, já para os demais impostos, quando a data de vencimento é no fim de semana, o pagamento antecipa.

Peguei este fonte seu para tentar ajusta-lo a necessidade, aqui, mas não consigo o sistema calcular corretamente.

segue, para caso você conseguir identificar o problema, eu desde ja agradeço.:


USER FUNCTION F050MDVC
Local dVencPR := ParamIXB[1]
Local cImposto := ParamIXB[2]
Local dEmissao := ParamIXB[3]
Local dEmis1 := ParamIXB[4]
Local dVencRea := ParamIXB[5]



/*ISS (notas de entrada e de saida): dia 15 do mes seguinte;
CONTRIBUIÇÕES RETIDAS (emissão em 01-15 do mes): dia 31 do mesmo mes;
CONTRIBUIÇÕES RETIDAS (emissão 16-31 do mes): dia 15 do mes seguinte;
IRRF: dia 20 do mes seguinte;
INSS: dia 20 do mes seguinte;*/

If AllTrim(Upper(cImposto)) == 'IRRF'
dDtVenc := MsSomaMes(dEmissao,1,.T.)
dDtVenc := CtoD('20/'+StrZero(Month(dDtVenc),2)+'/'+Str(Year(dDtVenc),4))
ElseIf AllTrim(Upper(cImposto)) == 'INSS'
dDtVenc := MsSomaMes(dEmissao,1,.T.)
dDtVenc := CtoD('20/'+StrZero(Month(dDtVenc),2)+'/'+Str(Year(dDtVenc),4))
ElseIf AllTrim(Upper(cImposto)) $ 'CSLL*PIS*COFINS'
If Day2Str(dEmissao) <= '15'
dDtVenc := Lastday(dEmissao,0)
Else
dDtVenc := MsSomaMes(dEmissao,1,.T.)
dDtVenc := CtoD('15/'+StrZero(Month(dDtVenc),2)+'/'+Str(Year(dDtVenc),4))
Endif
ElseIf AllTrim(Upper(cImposto)) == 'ISS'
alert ("ISS")
dDtVenc := MsSomaMes(dEmissao,1,.T.)
dDtVenc := CtoD('15/'+StrZero(Month(dDtVenc),2)+'/'+Str(Year(dDtVenc),4))

If Dow(dDtVenc) == 1
dDtVenc := dDtVenc+1
dDtVenc := DataValida(dDtVenc)
ElseIf Dow(dDtVenc) == 7
dDtVenc := dDtVenc+2
dDtVenc := DataValida(dDtVenc)
Endif

Endif

// Tratamento da Data para Não Cair aos Sabados, Domingos e Feriados
//O ISS quando o dia 15 do mes seguinte é no fim de semana, o pagamento é posterior,
//já para os demais impostos, quando a data de vencimento é no fim de semana, o pagamento antecipa.


If Dow(dDtVenc) == 1 .And. AllTrim(Upper(cImposto)) $ 'CSLL*PIS*COFINS*INSS*IRRF'
dDtVenc := dDtVenc-2
dDtVenc := DataValida(dDtVenc)
ElseIf Dow(dDtVenc) == 7 .And. AllTrim(Upper(cImposto)) $ 'CSLL*PIS*COFINS*INSS*IRRF'
dDtVenc := dDtVenc-1
dDtVenc := DataValida(dDtVenc)
Endif


RETURN dDtVenc

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 8 meses atrás - 10 anos 8 meses atrás #21149 por lalberto
Respondido por lalberto no tópico Existe paramêtro??
Blz Renato, então vc pode usar a função datavalida

exemplo

dDtVenc := CtoD('15/'+StrZero(Month(dDtVenc),2)+'/'+Str(Year(dDtVenc),4))
dDtVenc := DataValida(dDtVenc, .F.) // se dia 15 cair num sab dom ou feriado, então antecipa.


dDtVenc := CtoD('20/'+StrZero(Month(dDtVenc),2)+'/'+Str(Year(dDtVenc),4))
dDtVenc := DataValida(dDtVenc, .T.) // se dia 20 cair num sab dom ou feriado, então Avança.

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Ultima edição: 10 anos 8 meses atrás por lalberto.

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 8 meses atrás #21247 por renatosever
Respondido por renatosever no tópico Existe paramêtro??
Obrigado Luiz Alberto, deu certo.

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 4 meses atrás #28573 por roberto.almeida
Respondido por roberto.almeida no tópico Existe paramêtro??
No meu caso precisei customizar o ponto de entrada F050MDVC para adequal o sistema às novas regras de retenção (PIS/COFINS/CSLL) - Lei
13.137/2015, segue o fonte:

#Include "Totvs.ch"
#Include "Protheus.ch"
#Include "Rwmake.ch"

User function F050MDVC()

Local dNextDay := ParamIxb[1] // Data de vencimento do imposto calculada pelo sistema.
Local cIMposto := ParamIxb[2] // Imposto - (IRRF, PIS, COFINS, ...)
Local dEmissao := ParamIxb[3] // Data de emissão do título principal
Local dEmis1 := ParamIxb[4] // E2_EMIS1 do título principal
Local dVencRea := ParamIxb[5] // Data de vencimento do título principal
Local nNextMes := Month(dVencRea) + 1

If AllTrim(Upper(cImposto)) $ "PIS,CSLL,COFINS" //Calcula data 20 do próximo mes
dNextDay := CTOD("20/" + Iif(nNextMes == 13, "01", StrZero(nNextMes,2)) + "/" + Substr(Str(Iif(nNextMes == 13, Year(dVencRea) + 1, Year(dVencRea))), 2))//Acho o ultimo dia util do periodo desejado
dNextday := DataValida(dNextday,.F.)
EndIf

Return( dNextDay )

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.139 segundos
Joomla templates by a4joomla