#INCLUDE "topconn.ch" #INCLUDE "Protheus.ch" #INCLUDE "report.ch" #Define ENTER CHR(13)+CHR(10) /*/{Protheus.doc} RGPERR20 Relatório: Relação de Demitidos @author Edson Lüders @since 28-01-2020 @version 1.0 @return Nil, Função não tem retorno @example /*/ User Function RGPER20() //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³Declaracao de variaveis ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Private oReport := Nil Private oSecCab := Nil Private cPerg := PadR ("RGPER20", Len (SX1->X1_GRUPO)) Private cTipo := "" Private nX := 0 Private nValLiq := 0 //Private nFgtsDep := 0 //Private nFgts22 := 0 //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³Criacao e apresentacao das perguntas ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ CriaSX1 () If Pergunte(cPerg,.T.) //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³Definicoes/preparacao para impressao ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ReportDef() oReport :PrintDialog() EndIf Return nil /* ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±± ±±ºPrograma ³RGPER20 ºAutor ³ Edson Lüders º Data ³ 28/01/2020 º±± ±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±± ±±ºDesc. ³ º±± ±±º ³ º±± ±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±± ±±ºUso ³UNICHARM º±± ±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±± ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß */ Static Function ReportDef() oReport := TReport():New("RGPER20","Relação de Demitidos","",{|oReport| PrintReport(oReport)},"Relação de Demitidos") oReport:SetLandscape(.T.) oSecCab := TRSection():New( oReport , "Relação de Demitidos", {"QRY"} ) TRCell():New( oSecCab, "RA_FILIAL" , "QRY", "Filial") TRCell():New( oSecCab, "RA_MAT" , "QRY", "Matricula") TRCell():New( oSecCab, "RA_NOME" , "QRY", "Nome do Funcionario") TRCell():New( oSecCab, "RA_CC" , "QRY", "Centro de Custos") TRCell():New( oSecCab, "CTT_DESC01" , "QRY", "Descr. Centro de Custos") TRCell():New( oSecCab, "RA_ADMISSA" , "QRY", "Data Admissao" ,/*Picture*/,TamSx3("RA_ADMISSA")[1]+6,/*lPixel*/ , {|| STOD(QRY->RA_ADMISSA) } ) TRCell():New( oSecCab, "RA_SALARIO" , "QRY", "Salario") TRCell():New( oSecCab, "RA_SINDICA" , "QRY", "Cod. Sindicato") TRCell():New( oSecCab, "RCE_DESCRI" , "QRY", "Descr. Sindicato") TRCell():New( oSecCab, "RA_DEMISSA" , "QRY", "Data Demissao",/*Picture*/,TamSx3("RA_DEMISSA")[1]+6,/*lPixel*/ , {|| STOD(QRY->RA_DEMISSA) } ) TRCell():New( oSecCab, "RG_TIPORES" , "QRY", "Cod. Rescisao") TRCell():New( oSecCab, "CMOTIVORES" , "" , "Motivo Rescisao","@!", 30,,{|| U_RetMotDemissa(QRY->RG_TIPORES) }) TRCell():New( oSecCab, "RR_PD" , "QRY", "Verbas") //TRCell():New( oSecCab, "nValLiq" , "QRY", "Liq. Rescisao", "@E 999,999,999.99",,,{||U_RetValor(QRY->RR_PD)}) TRCell():New( oSecCab, "RR_VALOR" , "QRY", "Liq. Rescisao")//,"@!",30,,{ || U_RetValor(QRY->RR_PD) }) //TRCell():New(oSection3,"B6_QUANT","SB6",STR0042+CRLF+STR0043,/*Picture*/,/*Tamanho*/,/*lPixel*/,{|| If(mv_par15==1,ConvUM(SB6->B6_PRODUTO,SB6->B6_QUANT,0,2),SB6->B6_QUANT) }) //"Quantidade"##"Original" //(Posicione("SRR",1,xFilial("SRR")+AvKey("565","RR_PD"),"RR_VALOR")) Return nil /* ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±± ±±ºPrograma ³RGPER20 ºAutor ³ Edson Lüders º Data ³ 28/01/2020 º±± ±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±± ±±ºDesc. ³ º±± ±±º ³ º±± ±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±± ±±ºUso ³ UNICHARM º±± ±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±± ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß */ Static Function PrintReport(oReport) Local cQuery := "" Local cAlias := "QRY" cQuery += " SELECT " + CRLF cQuery += " RA_FILIAL, " + CRLF cQuery += " RA_MAT, " + CRLF cQuery += " RA_NOME, " + CRLF cQuery += " RA_CC, " + CRLF cQuery += " CTT_DESC01," + CRLF cQuery += " RA_ADMISSA," + CRLF cQuery += " RA_SALARIO," + CRLF cQuery += " RA_SINDICA," + CRLF cQuery += " RCE_DESCRI," + CRLF cQuery += " RA_DEMISSA," + CRLF cQuery += " RG_DATADEM," + CRLF cQuery += " RG_EFETIVA," + CRLF cQuery += " RG_TIPORES, " + CRLF //cQuery += " RR_PD, " + CRLF //cQuery += " RR_VALOR " + CRLF cQuery += " CASE WHEN RR_PD = '565' THEN RR_VALOR ELSE 0 END AS RR_VALOR " + CRLF cQuery += " FROM SRA010 SRA " + CRLF cQuery += " inner join CTT010 CTT on RA_CC = CTT_CUSTO " + CRLF cQuery += " inner join RCE010 RCE on RA_SINDICA = RCE_CODIGO " + CRLF cQuery += " inner join SRG010 SRG on RA_FILIAL = RG_FILIAL and RA_MAT = RG_MAT and RA_DEMISSA = RG_DATADEM " + CRLF cQuery += " inner join SRR010 SRR on RA_MAT = RR_MAT " + CRLF cQuery += " where RA_DEMISSA <> ''" + CRLF cQuery += " and SRA.D_E_L_E_T_ = ''" + CRLF cQuery += " and SRG.D_E_L_E_T_ = ''" + CRLF cQuery += " and CTT.D_E_L_E_T_ = ''" + CRLF cQuery += " and RCE.D_E_L_E_T_ = ''" + CRLF cQuery += " and SRR.D_E_L_E_T_ = ''" + CRLF cQuery += " AND RA_FILIAL between '"+ MV_PAR01 + "' and '" + MV_PAR02 + "'" + CRLF cQuery += " AND RA_MAT between '"+ MV_PAR03 + "' and '" + MV_PAR04 + "'" + CRLF cQuery += " AND RA_CC between '"+ MV_PAR05 + "' and '" + MV_PAR06 + "'" + CRLF cQuery += " AND RA_SINDICA between '"+ MV_PAR07 + "' and '" + MV_PAR08 + "'" + CRLF cQuery += " AND RA_DEMISSA between '"+ DtoS(MV_PAR09) + "' and '" + DtoS(MV_PAR10) + "'" + CRLF cQuery += " ORDER BY RA_FILIAL, RA_MAT" + CRLF MEMOWRITE("C:\TEMP\RGPER20.SQL",cQuery) // Usado para Testes If Select("QRY") > 0 Dbselectarea("QRY") QRY->(DbClosearea()) EndIf TcQuery cQuery New Alias "QRY" oSecCab:BeginQuery() BeginSql Alias cAlias SELECT * From QRY EndSql oSecCab:EndQuery() oSecCab:Print() // Impressao Simples Return nil /* ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±± ±±ºPrograma ³CriaSX1 ºAutor ³ Edson Lüders º Data ³ 28/01/2020 º±± ±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±± ±±ºDesc. ³ Cria perguntas º±± ±±º ³ º±± ±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±± ±±ºUso ³UNICHARM º±± ±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±± ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß */ Static Function CriaSX1 () Local aHelp := {} Local aHelpE := {} Local aHelpI := {} Local cHelp := "" Local aAreasx1 := SX1->(GetArea()) Local aPrgs := {} aHelpE := "" aHelpI := "" aHelp01 := {"Selecione a filial inicial que deseja gerar"} cHelp := ".RGPER2001." PutSX1Help("P"+cHelp,aHelp01,aHelpI,aHelpE) aHelp02 := {"Selecione a filial final que deseja gerar"} cHelp := ".RGPER2002." PutSX1Help("P"+cHelp,aHelp02,aHelpI,aHelpE) aHelp02 := {"Informe a matricula inicial e final do funcionário que deseja gerar"} cHelp := ".RGPER2002." PutSX1Help("P"+cHelp,aHelp02,aHelpI,aHelpE) aHelp03 := {"Informe o Centro de Custos inicial e final do funcionário que deseja gerar"} cHelp := ".RGPER2002." PutSX1Help("P"+cHelp,aHelp02,aHelpI,aHelpE) aHelp04 := {"Informe o sindicato inicial e final que deseja gerar"} cHelp := ".RGPER2003." PutSX1Help("P"+cHelp,aHelp02,aHelpI,aHelpE) aHelp05 := {"Informe a data de demissão inicial e final que deseja gerar"} cHelp := ".RGPER2004." PutSX1Help("P"+cHelp,aHelp02,aHelpI,aHelpE) PutSx1(cPerg,"01","Filial de ?" ,'','',"mv_ch1","C",TamSx3("RA_FILIAL")[1] ,0,,"G","Naovazio()" ,"SM0","","","mv_par01","","","","","","","","","","","XM0","S","033","","","") PutSx1(cPerg,"02","Filial até ?" ,'','',"mv_ch2","C",TamSx3("RA_FILIAL")[1] ,0,,"G","Naovazio()" ,"SM0","","","mv_par02","","","","","","","","","","","XM0","S","033","","","") PutSx1(cPerg,"03","Matricula de ?" ,'','',"mv_ch3","C",TamSx3("RA_MAT")[1] ,0,,"G","Naovazio()" ,"SRA","","","mv_par03","","","","","","","","","","","","",aHelp02,aHelpE,aHelpI,"") PutSx1(cPerg,"04","Matricula até ?" ,'','',"mv_ch4","C",TamSx3("RA_MAT")[1] ,0,,"G","Naovazio()" ,"SRA","","","mv_par04","","","","","","","","","","","","",aHelp02,aHelpE,aHelpI,"") PutSx1(cPerg,"07","Centro de Custo de ?" ,'','',"mv_ch5","C",TamSx3("RA_SINDICA")[1] ,0,,"G","Naovazio()" ,"RCE","","","mv_par05","","","","","","","","","","","","",aHelp03,aHelpE,aHelpI,"") PutSx1(cPerg,"08","Centro de Custo até ?" ,'','',"mv_ch6","C",TamSx3("RA_SINDICA")[1] ,0,,"G","Naovazio()" ,"RCE","","","mv_par06","","","","","","","","","","","","",aHelp03,aHelpE,aHelpI,"") PutSx1(cPerg,"07","Sindicato de ?" ,'','',"mv_ch5","C",TamSx3("RA_SINDICA")[1] ,0,,"G","Naovazio()" ,"RCE","","","mv_par05","","","","","","","","","","","","",aHelp04,aHelpE,aHelpI,"") PutSx1(cPerg,"08","Sindicato até ?" ,'','',"mv_ch6","C",TamSx3("RA_SINDICA")[1] ,0,,"G","Naovazio()" ,"RCE","","","mv_par06","","","","","","","","","","","","",aHelp04,aHelpE,aHelpI,"") PutSx1(cPerg,"09","Demissão de ?" ,'','',"mv_ch7","D",TamSx3("RA_DEMISSA")[1] ,0,,"G","Naovazio()" ,"" ,"","","mv_par07","","","","","","","","","","","","",aHelp05,aHelpE,aHelpI,"") PutSx1(cPerg,"10","Demissão até ?" ,'','',"mv_ch8","D",TamSx3("RA_DEMISSA")[1] ,0,,"G","Naovazio()" ,"" ,"","","mv_par08","","","","","","","","","","","","",aHelp05,aHelpE,aHelpI,"") RestArea(aAreasx1) Return nil /*/{Protheus.doc} RetMotDemissa Relatório: Relação de Demitidos @author Edson Lüders @since 28-01-2020 @version 1.0 @return cDesMotivo - Motivo da Demissão @example /*/ User Function RetMotDemissa(cMotivo) Local cDescMotivo := Space(30) Do Case Case cMotivo == "01" cDescMotivo := "SJC EMPRESA >= 1 ANO APT" Case cMotivo == "02" cDescMotivo := "S/JUSTA CAUSA-EMPRESA -INDEN" Case cMotivo == "03" cDescMotivo := "C/JUSTA CAUSA-EMPRESA >=1 ANO" Case cMotivo == "04" cDescMotivo := "C/JUSTA CAUSA-EMPRESA < 1 ANO" Case cMotivo == "05" cDescMotivo := "S/JUSTA CAUSA-EMPREGADO-CUMPRI" Case cMotivo == "06" cDescMotivo := "S/JUSTA CAUSA-EMPREGADO-NAO" Case cMotivo == "07" cDescMotivo := "C/JUSTA CAUSA-EMPREGADO>=1ANO" Case cMotivo == "08" cDescMotivo := "C/JUSTA CAUSA-EMPREGADO<1ANO" Case cMotivo == "09" cDescMotivo := "MORTE" Case cMotivo == "10" cDescMotivo := "TERM.CONTRATO DETERMINADO" Case cMotivo == "11" cDescMotivo := "TERM.CONTRATO EXPERIENCIA" Case cMotivo == "12" cDescMotivo := "CONTR.EXP.(EMPRESA)-ANTECIPADO" Case cMotivo == "13" cDescMotivo := "CONTR.EXP.(EMPREGADO)-ANTECIPA" Case cMotivo == "15" cDescMotivo := "APOSENTADORIA" Case cMotivo == "16" cDescMotivo := "OUTROS" Case cMotivo == "17" cDescMotivo := "MORTE < 1 ANO" Case cMotivo == "18" cDescMotivo := "S/JUSTA CAUSA-EMPRESA -INDEN" Case cMotivo == "19" cDescMotivo := "SJC EMPRESA < 1ANO - APT" Case cMotivo == "20" cDescMotivo := "TRANSFERENCIA DE CONTRATO" Case cMotivo == "21" cDescMotivo := "TRANSFERENCIA DE EMPRESA" Case cMotivo == "22" cDescMotivo := "ACORDO EMPREGADO X EMPREGADOR" Case cMotivo == "23" cDescMotivo := "CONT DETER (EMPREGADO) ANTECIP" Case cMotivo == "24" cDescMotivo := "CONT DETER (EMPRESA) ANTECIPAD" Otherwise cDescMotivo := "NAO LOCALIZADO NA TABELA S043" EndCase Return cDescMotivo /* User Function RetValor(cVerba) Local nValLiq := "" Local nFGTSDep:= "" Local nFGTS22 := "" Do Case Case cVerba == "565" nValLiq := "LIQUIDO" Case cVerba == "714" nValLiq := "FGTS DSPOSITADO" Case cVerba == "715" nValLiq:= "FGTS ARTIGO 22" EndCase Return nValLiq