Histórico da Página
...
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#INCLUDE "PROTHEUS.CH" User Function F989T158() Local cIdFK7 := ParamIxb[1] //Identificador do título a pagar na tabela FK7 (FK7_IDDOC) Local cIdFK2 := ParamIxb[2] //Identificador da baixa do título a pagar na tabela FK2 (FK2_IDFK2) Local aDados := aClone(ParamIxb[3]) //Dados coletados para gerar os registros T158AA, T158AB e T158AC Local nX := 0 Local lPermAgreg := .F. Local aAreaFK7 := FK7->( getArea() ) Local aAreaSE2 := SE2->( getArea() ) Local aAreaSED := SED->( getArea() ) /*--------------------------------------------------------------------------------------------| | Composição do array aDados: | | | | aDados[nX][1] - Codigo do tributo no layout TAF: | | 10=PIS; | | 11=Cofins; | | 12=IR emissão; | | 13=INSS; | | 18=CSLL; | | 28=IR baixa | | 29=CSRF(PIS/COFINS/CSLL agregados) | | 30=COSIRF(IR/PIS/COFINS/CSLL agregados) | | aDados[nX][2] - Código da natureza de rendimento conforme tabela 01 da EFD-Reinf | | aDados[nX][3] - Rendimento bruto | | aDados[nX][4] - Rendimento tributavel ou isento | | aDados[nX][5] - Valor do tributo retido ou isento | | aDados[nX][6] - Identificação do processo judicial/adminXstrativo ou ato concessório | | aDados[nX][7] - Origem do processo(0-SEFAZ;1-Just.Fed.;2-Just.Est.;3–Secret.RFB;9–Outros)| | aDados[nX][8] - Código do Indicativo da Suspensão | | aDados[nX][09] - Valor da retenção que deixou de ser efetuada por um processo adm/judicial| | aDados[nX][10] - Valor da base de cálculo com exigibilidade suspensa ou isenção | ----------------------------------------------------------------------------------------------*/ DBSelectArea("FK7") FK7->(DbSetOrder(1)) FK7->(MsSeek(xFilial('"FK7'") + cIdFK7 ))) DBSelectArea("SE2") SE2->(DbSetOrder(1)) SE2->(MsSeek(RTrim(FinFK7Key(FK7->FK7_CHAVE,'')))) DBSelectArea("SED") SED->(DbSetOrder(1)) SED->(MsSeek(xFilial("SED")+SE2->E2_NATUREZ)) If SED->ED_PERCCSL == 5.85 //Verifica se a natureza (SED) foi configurada com a aliquota do IR/PCC centralizadosomadas em um só campo If SED->ED_PERCCSL == 4.65 If SE2->E2_CSLL > 0 .And. SE2->E2_PIS == 0 .And. +SE2->E2_COFINS+SE2->E2_CSLLIRRF == 0 //Verifica se o título calculou só o CSLL conforme a natureza For nX := 1 To Len(aDados) DBSelectArea("SED") FKX->(DbSetOrder(1)) FKX->(MsSeek(xFilial("FKX")+aDados[nX][2])) lPermAgreg := FKX->FKX_TRIBUT $ "2|8" //Verifica se a Nat. Rendimento permite agregação de impostos If aDados[nX][1] == "18" .And. lPermAgreg aDados[nX][1] := "2930" //Considerar o tributo como CSRFCOSIRF (IRRF/PIS/COFINS/CSLL agregados) EndIf Next nX EndIf EndIf RestArea( aAreaFK7 ) RestArea( aAreaSE2 ) RestArea( aAreaSED ) Return aDados |
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas