- Fórum
- Protheus/Microsiga/Totvs
- Módulos do Protheus
- Módulo Gestão de Pessoal
- Recibo de Pagamento - Modo Gráfico.
Perguntas Recibo de Pagamento - Modo Gráfico.
- ffonseca_22
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 14
- Obrigados Recebidos: 0
12 anos 4 meses atrás #2390
por ffonseca_22
Recibo de Pagamento - Modo Gráfico. foi criado por ffonseca_22
Pessoal, bom dia.
Alguém já fez a confecção do Recibo de Pagamento do Protheus, em modo gráfico ?
Poderia disponibilizá-lo ?
Abraços,
Fernando.
Alguém já fez a confecção do Recibo de Pagamento do Protheus, em modo gráfico ?
Poderia disponibilizá-lo ?
Abraços,
Fernando.
Por favor Acessar ou Registrar para participar da conversa.
- lvaleria
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 5
- Obrigados Recebidos: 0
12 anos 3 meses atrás - 12 anos 3 meses atrás #2797
por lvaleria
Respondido por lvaleria no tópico Re: Recibo de Pagamento - Modo Gráfico.
Boa noite Fernando
Segue o que eu tenho.
Eu sempre altero o parâmetro (Tipo de Recibo (Pre/Zebrado/EMail), colocando uma opção laser que é a opção 4
Qualquer dúvida estou a disposição
GPER030.PRW
Segue o que eu tenho.
Eu sempre altero o parâmetro (Tipo de Recibo (Pre/Zebrado/EMail), colocando uma opção laser que é a opção 4
Qualquer dúvida estou a disposição
GPER030.PRW
Ultima edição: 12 anos 3 meses atrás por lvaleria.
Por favor Acessar ou Registrar para participar da conversa.
- lvaleria
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 5
- Obrigados Recebidos: 0
12 anos 3 meses atrás #2798
por lvaleria
Respondido por lvaleria no tópico Re: Recibo de Pagamento - Modo Gráfico.
Desculpa Fernando não consegui anexar..
Segue o fontes aqui.
Se preferir mande seu e-mail que eu encaminho.
#INCLUDE "GPER030.CH"
#INCLUDE "PROTHEUS.CH"
#IFNDEF CRLF
#DEFINE CRLF ( chr(13)+chr(10) )
#ENDIF
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³ GPER030 ³ Autor ³ R.H. - Ze Maria ³ Data ³ 14.03.95 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ Emissao de Recibos de Pagamento ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ GPER030(void) ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ ATUALIZACOES SOFRIDAS DESDE A CONSTRU€AO INICIAL. ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Programador ³ Data ³ BOPS ³ Motivo da Alteracao ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Mauro ³14/03/01³
³ Colocado DbsetOrder Src,causava erro Top ³±±
±±³ J. Ricardo ³16/02/01³
³ Utilizacao da data base como parametro ³±±
±±³ ³ ³ ³ para impressao. ³±±
±±³ Emerson ³27/04/01³
³Ajustes para tratar a pensao alimenticia a³±±
±±³ ³
³
³partir do cadastro de beneficiarios(novo) ³±±
±±³ Natie ³24/08/01³
³ Inclusao PrnFlush()-Descarrega Spool ³±±
±±³ Natie ³24/08/01³ver609³fSendDPagto()-Envio de E-mail Demont.Pagto³±±
±±³ Natie ³29/08/01³009963³PrnFlush-Descarrega spool impressao teste ³±±
±±³ Marinaldo ³20/09/01³Melhor³Geracao de Demonstrativo de Pagamento pa³±±
±±³ ³
³
³ra o Terminal de Consulta. ³±±
±±³ Marinaldo ³26/09/01³Melhor³Passagem de dDataRef para OpenSRC() por re³±±
±±³ ³
³
³ferencia. ³±±
±±³ Marinaldo ³08/10/01³Melhor³Inclusao de Regua de Processamento Quando³±±
±±³ ³
³
³geracao de e-mail ³±±
±±³ Mauro ³05/11/01³010528³Verificar a Sit.de Demitido no mes de ref.³±±
±±³ ³ ³ ³nao listava demitido posterior a dt.ref. ³±±
±±³ Marinaldo ³21/12/01³Acerto³O Programa devera sempre retornar caracter³±±
±±³ ³ ³ ³Qdo. Chamada atraves do Terminal para evi³±±
±±³ ³ ³ ³tar erro de comparacao de tipo ³±±
±±³ Natie ³11/12/01³009963³ Acerto Impressao-Teste ³±±
±±³ ³11/12/01³011547³ Quebra pag.qdo func. tem mais de 2 recibo³±±
±±³ Mauro ³14/01/02³012282³Acerto na compar. d Mes Aniv. Dezembro. ³±±
±±³ Silvia ³20/02/02³013293³Acerto nos Dias Trabalhados para Paraguai ³±±
±±³ Mauro ³20/03/02³
³Inicializar o Li com _prow() estava pulan-³±±
±±³ ³ ³ ³do pag.na prim.Impr. Epson 1170 ³±±
±±³ Natie ³05/04/02³
³Quebra de pagina - pre impresso ³±±
±±³ Emerson ³15/08/02³Meta ³Se RC_QTDSEM maior que 0, sera impresso ³±±
±±³ ³ ³ ³como referencia, caso contrario RC_HORAS. ³±±
±±³ Emerson ³06/01/03³
³Buscar o codigo CBO no cadastro de funcoes³±±
±±³ ³ ³
³de acordo com os novos codigos CBO/2002. ³±±
±±³ Mauro ³17/05/03³064530³Acerto na Compactacao e salto devido alt. ³±±
±±³ ³ ³
³na Lib. ³±±
±±³ Andreia ³29/05/03³
³Ajuste na Quebra de pagina - pre impresso ³±±
±±³ Mauro ³06/09/03³
³Trocada funcao retorno Salario (fBuscasal)³±±
±±³ Pedro Eloy ³08/12/03³
³Aplicacao do comando SetPgEject(.F.) ³±±
±±³ Pedro Eloy ³06/02/04³
³Ajuste no retorno da funcao OpenSrc(). ³±±
±±³ Natie ³16/03/04³F01027³Acerto p/trazer Funcao do mes de Referec. ³±±
±±| Natie ³08/04/04³
³ Acerto no Driver p/Impressao ³±±
±±| Natie ³16/04/04³
³ PerSemana()busca semana do Cad.Perido ³±±
±±| Emerson GR.³27/05/04³
³Tratamento do Cargo de Funcionario. ³±±
±±| Emerson ³08/06/04³
³Igualar variavel lEnvioOk na chamada da ³±±
±±³ ³ ³
³funcao GPEMail() p/ que seja atualizada. ³±±
±±³ Pedro Eloy ³03/06/04³070926|Ajustado o disposicionamento do nome empr.³±±
±±³ ³ ³ |e tratado o botao cancelar no teste impres³±±
±±³ Ricardo D. ³20/08/04³Melhor|Tratamento da data de liberacao para con- ³±±
±±³ ³ ³ |sulta ao recibo pagto no Rh-OnLine. ³±±
±±³ Pedro Eloy ³26/08/04³
|Estava se perdendo ao imprimir um funciona³±±
±±³ ³ ³ |rio onde tivesse mais de um recibo. ³±±
±±³ Ricardo D. ³30/08/04³Melhor|Passagem do parametro ".F." em todas as ³±±
±±³ ³ ³ |chamadas da funcao R030IMPR. ³±±
±±³ Pedro Eloy ³01/09/04³073931³Ajuste no disposicionamento do nome da ³±±
±±³ ³ ³ ³empresa, emissao do recibo de pagamento. ³±±
±±ÀÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/
User Function LBVREC(lTerminal,cFilTerminal,cMatTerminal,cMesAnoRef,nRecTipo,cSemanaTerminal)
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Define Variaveis Locais (Basicas) ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Local cString:="SRA" // alias do arquivo principal (Base)
Local aOrd := {STR0001,STR0002,STR0003,STR0004,STR0005} //"Matricula"###"C.Custo"###"Nome"###"Chapa"###"C.Custo + Nome"
Local cDesc1 := STR0006 //"Emiss„o de Recibos de Pagamento."
Local cDesc2 := STR0007 //"Ser impresso de acordo com os parametros solicitados pelo"
Local cDesc3 := STR0008 //"usu rio."
Local aDriver:= ReadDriver()
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Define Variaveis Locais (Programa) ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Local nExtra,cIndCond,cIndRc
Local Baseaux := "S", cDemit := "N"
Local cHtml := ""
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Define o numero da linha de impressão como 0 ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
SetPrc(0,0)
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Define Variaveis Private(Basicas) ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Private aReturn := {STR0009, 1,STR0010, 2, 2, 1, "",1 } //"Zebrado"###"Administra‡„o"
Private nomeprog :="GPER030"
Private aLinha := { },nLastKey := 0
Private cPerg :="GPER030LBV"
Private cSem_De := " / / "
Private cSem_Ate := " / / "
Private nAteLim , nBaseFgts , nFgts , nBaseIr , nBaseIrFe
Private cCompac := aDriver[1]
Private cNormal := aDriver[2]
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Define Variaveis Private(Programa) ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Private aLanca := {}
Private aProve := {}
Private aDesco := {}
Private aBases := {}
Private aInfo := {}
Private aCodFol:= {}
Private li := _PROW()
Private Titulo := STR0011 //"EMISSŽO DE RECIBOS DE PAGAMENTOS"
Private lEnvioOk := .F.
Private lRetCanc := .t.
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Envia controle para a funcao SETPRINT ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
wnrel:="GPER030" //Nome Default do relatorio em Disco
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Verifica se o programa foi chamado do terminal - TCF ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
lTerminal := If( lTerminal == Nil, .F., lTerminal )
IF !( lTerminal )
wnrel:=SetPrint(cString,wnrel,cPerg,Titulo,cDesc1,cDesc2,cDesc3,.F.,aOrd)
EndIF
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Define a Ordem do Relatorio ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
nOrdem := IF( !( lTerminal ), aReturn[8] , 1 )
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Verifica as perguntas selecionadas ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Pergunte("GPR030",.F.)
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Carregando variaveis mv_par?? para Variaveis do Sistema. ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
cSemanaTerminal := IF( Empty( cSemanaTerminal ) , Space( Len( SRC->RC_SEMANA ) ) , cSemanaTerminal )
dDataRef := IF( !( lTerminal ), mv_par01 , Stod(Substr(cMesAnoRef,-4)+SubStr(cMesAnoRef,1,2)+"01"))//Data de Referencia para a impressao
nTipRel := IF( !( lTerminal ), mv_par02 , 3) //Tipo de Recibo (Pre/Zebrado/EMail)
Esc := IF( !( lTerminal ), mv_par03 , nRecTipo ) //Emitir Recibos(Adto/Folha/1¦/2¦/V.Extra)
Semana := IF( !( lTerminal ), mv_par04 , cSemanaTerminal ) //Numero da Semana
cFilDe := IF( !( lTerminal ),mv_par05,cFilTerminal ) //Filial De
cFilAte := IF( !( lTerminal ),mv_par06,cFilTerminal ) //Filial Ate
cCcDe := IF( !( lTerminal ),mv_par07,SRA->RA_CC ) //Centro de Custo De
cCcAte := IF( !( lTerminal ),mv_par08,SRA->RA_CC ) //Centro de Custo Ate
cMatDe := IF( !( lTerminal ),mv_par09,cMatTerminal ) //Matricula Des
cMatAte := IF( !( lTerminal ),mv_par10,cMatTerminal ) //Matricula Ate
cNomDe := IF( !( lTerminal ),mv_par11,SRA->RA_NOME ) //Nome De
cNomAte := IF( !( lTerminal ),mv_par12,SRA->RA_NOME ) //Nome Ate
ChapaDe := IF( !( lTerminal ),mv_par13,SRA->RA_CHAPA ) //Chapa De
ChapaAte := IF( !( lTerminal ),mv_par14,SRA->RA_CHAPA ) //Chapa Ate
Mensag1 := mv_par15 //Mensagem 1
Mensag2 := mv_par16 //Mensagem 2
Mensag3 := mv_par17 //Mensagem 3
cSituacao := IF( !( lTerminal ),mv_par18, fSituacao( NIL , .F. ) ) //Situacoes a Imprimir
cCategoria := IF( !( lTerminal ),mv_par19, fCategoria( NIL , .F. )) //Categorias a Imprimir
cBaseAux := If(mv_par20 == 1,"S","N") //Imprimir Bases
nDuas := If(mv_par21 == 1,1,2) //quantas vezes é para imprimir o mesmo contra-Cheque
If aReturn[5] == 1 .and. nTipRel == 1
li := 0
EndIf
IF !( lTerminal )
cMesAnoRef := StrZero(Month(dDataRef),2) + StrZero(Year(dDataRef),4)
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Inicializa Impressao ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If ! fInicia(cString,nTipRel)
Return
Endif
EndIF
IF nTipRel==3
IF lTerminal
cHtml := R030Imp(.F.,wnRel,cString,cMesAnoRef,lTerminal)
Else
ProcGPE({|lEnd| R030IMP(@lEnd,wnRel,cString,cMesAnoRef,.f.)},,,.T.) // Chamada do Processamento
EndIF
Else
RptStatus({|lEnd| R030Imp(@lEnd,wnRel,cString,cMesAnoRef,.f.)},Titulo) // Chamada do Relatorio
EndIF
Return( IF( lTerminal , cHtml , NIL ) )
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³ R030IMP ³ Autor ³ R.H. - Ze Maria ³ Data ³ 14.03.95 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ Processamento Para emissao do Recibo ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ R030Imp(lEnd,WnRel,cString,cMesAnoRef,lTerminal) ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/
Static Function R030Imp(lEnd,WnRel,cString,cMesAnoRef,lTerminal)
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Define Variaveis Locais (Basicas) ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Local lIgual //Vari vel de retorno na compara‡ao do SRC
Local cArqNew //Vari vel de retorno caso SRC # SX3
Local aOrdBag := {}
Local cMesArqRef := If(Esc == 4,"13"+Right(cMesAnoRef,4),cMesAnoRef)
Local cArqMov := ""
Local aCodBenef := {}
Local cAcessaSR1 := &("{ || " + ChkRH("GPER030","SR1","2") + "}")
Local cAcessaSRA := &("{ || " + ChkRH("GPER030 ","SRA","2") + "}")
Local cAcessaSRC := &("{ || " + ChkRH("GPER030","SRC","2") + "}")
Local cAcessaSRI := &("{ || " + ChkRH("GPER030","SRI","2") + "}")
Local cNroHoras := &("{ || If(SRC->RC_QTDSEM > 0, SRC->RC_QTDSEM, SRC->RC_HORAS) }")
Local cHtml := ""
Local nHoras := 0
Local nMes, nAno
Local nX
Local cMesCorrente:= getmv("MV_FOLMES")
Local dDataLibRh
Local nTcfDadt := if(lTerminal,getmv("MV_TCFDADT"),0) // indica o dia a partir do qual esta liberada a consulta ao TCF
Local nTcfDfol := if(lTerminal,getmv("MV_TCFDFOL"),0) // indica a quantidade de dias a somar ou diminuir no ultimo dia do mes corrente para liberar a consulta do TCF
Local nTcfD131 := if(lTerminal,getmv("MV_TCFD131"),0) // indica o dia a partir do qual esta liberada a consulta ao TCF
Local nTcfD132 := if(lTerminal,getmv("MV_TCFD132"),0) // indica o dia a partir do qual esta liberada a consulta ao TCF
Local nTcfDext := if(lTerminal,getmv("MV_TCFDEXT"),0) // indica o dia a partir do qual esta liberada a consulta ao TCF
Local aDriver := LEDriver()
Local nContr := 0
Local nContrT := 0
//Fonte A serem Utilizada
If nTipRel == 4
Private _oFont8 := TFont():New("Arial", 09, 08, ,.F., , , , , .F.)
Private _oFont8b := TFont():New("Arial", 09, 08,.t.,.t., , , , , .F.)
Private _oFont10 := TFont():New("Arial", 09, 10,.T.,.F., 5,.T., 5, .T., .F.)
Private _oFont10b := TFont():New("Arial", 09, 10,.T.,.t., 5,.T., 5, .T., .F.)
Private _oFont12 := TFont():New("Arial", 09, 12,.T.,.F., 5,.T., 5, .T., .F.)
Private _oFont14 := TFont():New("Arial", 09, 14,.T.,.T., 5,.T., 5, .T., .F.)
Private _oFont16 := TFont():New("Arial", 09, 16,.T.,.F., 5,.T., 5, .T., .F.)
Private _oBrush := TBrush():New("",4)
Private _oPrint := TMSPrinter():New( "Recibo Laser" )
Private _cont := 3500
Private lFirst := .t.
Private _pag := 0
Private _cFig := "\system\jaepel.bmp"
Private nLinhas :=19 // Numero de Linhas do Miolo do Recibo
EndIf
Private tamanho := "M"
Private limite := 132
Private cAliasMov := ""
Private cDtPago := ""
Private cPict1 := "@E 999,999,999.99"
Private cPict2 := "@E 99,999,999.99"
Private cPict3 := "@E 999,999.99"
If MsDecimais(1) == 0
cPict1 := "@E 99,999,999,999"
cPict2 := "@E 9,999,999,999"
cPict3 := "@E 99,999,999"
Endif
If cPaisLoc $ "URU|ARG"
If Esc == 3
cMesArqRef := "13" + Right(cMesAnoRef,4)
ElseIf Esc == 4
cMesArqRef := "23" + Right(cMesAnoRef,4)
Else
cMesArqRef := cMesAnoRef
Endif
Else
If Esc == 4
cMesArqRef := "13" + Right(cMesAnoRef,4)
Else
cMesArqRef := cMesAnoRef
Endif
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//| Verifica se existe o arquivo de fechamento do mes informado |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If !OpenSrc( cMesArqRef, @cAliasMov, @aOrdBag, @cArqMov, @dDataRef , NIL ,lTerminal )
Return( IF( lTerminal <> NIL .And. lTerminal , cHtml , NIL ) )
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//| Verifica se o Mes solicitado esta liberado para consulta no |
//| terminal de consulta do funcionario. |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If lTerminal
If !empty(cMesCorrente)
cMesCorrente := substr(cMesCorrente,-2)+substr(cMesCorrente,1,4)
endif
If cMesCorrente == cMesArqRef .or. ;
left(cMesArqRef,2) == "13" .or. ;
right(cMesCorrente,4)+left(cMesCorrente,2) == mesano(ddataref)
If Esc == 1 .and. day(date()) < nTCFDADT .and. !empty(nTCFDADT)
Return( IF( lTerminal <> NIL .And. lTerminal , cHtml , NIL ) )
ElseIf Esc == 2 .and. !empty(nTCFDFOL)
dDataLibRh := fMontaDtTcf(cMesCorrente)
If date() < dDataLibRH
Return( IF( lTerminal <> NIL .And. lTerminal , cHtml , NIL ) )
Endif
ElseIf Esc == 3 .and. day(date()) < nTCFD131 .and. !empty(nTCFD131)
Return( IF( lTerminal <> NIL .And. lTerminal , cHtml , NIL ) )
ElseIf Esc == 4 .and. day(date()) < nTCFD132 .and. !empty(nTCFD132)
Return( IF( lTerminal <> NIL .And. lTerminal , cHtml , NIL ) )
ElseIf Esc == 5 .and. day(date()) < nTCFDEXT .and. !empty(nTCFDEXT)
Return( IF( lTerminal <> NIL .And. lTerminal , cHtml , NIL ) )
endif
Endif
Endif
If cPaisLoc == "ARG"
nMes := Month(dDataRef) - 1
nAno := Year(dDataRef)
If nMes == 0
nMes := 1
nAno := nAno - 1
Endif
If nMes < 0
nMes := 12 - ( nMes * -1 )
nAno := nAno - 1
Endif
If Esc == 1 .or. Esc == 2
cAnoMesAnt := StrZero(nAno,4)+StrZero(nMes,2)
ElseIf Esc == 3 .or. Esc == 4
cAnoMesAnt := Right(cMesAnoRef,4)-1 +"13"
Endif
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Selecionando a Ordem de impressao escolhida no parametro. ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
dbSelectArea( "SRA")
IF !( lTerminal )
If nOrdem == 1
dbSetOrder(1)
ElseIf nOrdem == 2
dbSetOrder(2)
ElseIf nOrdem == 3
dbSetOrder(3)
Elseif nOrdem == 4
cArqNtx := CriaTrab(NIL,.f.)
cIndCond :="RA_Filial + RA_Chapa + RA_Mat"
IndRegua("SRA",cArqNtx,cIndCond,,,STR0012) //"Selecionando Registros..."
ElseIf nOrdem == 5
dbSetOrder(
Endif
dbGoTop()
If nTipRel == 2
@ LI,00 PSAY AvalImp(Limite)
Endif
EndIF
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Selecionando o Primeiro Registro e montando Filtro. ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If nOrdem == 1 .or. lTerminal
cInicio := "SRA->RA_FILIAL + SRA->RA_MAT"
IF !( lTerminal )
dbSeek(cFilDe + cMatDe,.T.)
cFim := cFilAte + cMatAte
Else
cFim := &(cInicio)
EndIF
ElseIf nOrdem == 2
dbSeek(cFilDe + cCcDe + cMatDe,.T.)
cInicio := "SRA->RA_FILIAL + SRA->RA_CC + SRA->RA_MAT"
cFim := cFilAte + cCcAte + cMatAte
ElseIf nOrdem == 3
dbSeek(cFilDe + cNomDe + cMatDe,.T.)
cInicio := "SRA->RA_FILIAL + SRA->RA_NOME + SRA->RA_MAT"
cFim := cFilAte + cNomAte + cMatAte
ElseIf nOrdem == 4
dbSeek(cFilDe + ChapaDe + cMatDe,.T.)
cInicio := "SRA->RA_FILIAL + SRA->RA_CHAPA + SRA->RA_MAT"
cFim := cFilAte + ChapaAte + cMatAte
ElseIf nOrdem == 5
dbSeek(cFilDe + cCcDe + cNomDe,.T.)
cInicio := "SRA->RA_FILIAL + SRA->RA_CC + SRA->RA_NOME"
cFim := cFilAte + cCcAte + cNomAte
Endif
dbSelectArea("SRA")
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Carrega Regua Processamento ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
IF nTipRel # 3
SetRegua(RecCount()) // Total de elementos da regua
Else
IF !( lTerminal )
GPProcRegua(RecCount())// Total de elementos da regua
EndIF
EndIF
TOTVENC:= TOTDESC:= FLAG:= CHAVE := 0
Desc_Fil := Desc_End := DESC_CC:= DESC_FUNC:= ""
Desc_Comp:= Desc_Est := Desc_Cid:= ""
DESC_MSG1:= DESC_MSG2:= DESC_MSG3:= Space(01)
cFilialAnt := " "
Vez := 0
OrdemZ := 0
While SRA->( !Eof() .And. &cInicio <= cFim )
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Movimenta Regua Processamento ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
IF !( lTerminal )
IF nTipRel # 3
IncRegua() // Anda a regua
ElseIF !( lTerminal )
GPIncProc(SRA->RA_FILIAL+" - "+SRA->RA_MAT+" - "+SRA->RA_NOME)
EndIF
If lEnd
@Prow()+1,0 PSAY cCancel
Exit
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Consiste Parametrizacao do Intervalo de Impressao ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If (SRA->RA_CHAPA < ChapaDe) .Or. (SRA->Ra_CHAPa > ChapaAte) .Or. ;
(SRA->RA_NOME < cNomDe) .Or. (SRA->Ra_NOME > cNomAte) .Or. ;
(SRA->RA_MAT < cMatDe) .Or. (SRA->Ra_MAT > cMatAte) .Or. ;
(SRA->RA_CC < cCcDe) .Or. (SRA->Ra_CC > cCcAte)
SRA->(dbSkip(1))
Loop
EndIf
EndIF
aLanca:={} // Zera Lancamentos
aProve:={} // Zera Lancamentos
aDesco:={} // Zera Lancamentos
aBases:={} // Zera Lancamentos
nAteLim := nBaseFgts := nFgts := nBaseIr := nBaseIrFe := 0.00
Ordem_rel := 1 // Ordem dos Recibos
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Verifica Data Demissao ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
cSitFunc := SRA->RA_SITFOLH
dDtPesqAf:= CTOD("01/" + Left(cMesAnoRef,2) + "/" + Right(cMesAnoRef,4),"DDMMYY")
If cSitFunc == "D" .And. (!Empty(SRA->RA_DEMISSA) .And. MesAno(SRA->RA_DEMISSA) > MesAno(dDtPesqAf))
cSitFunc := " "
Endif
IF !( lTerminal )
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Consiste situacao e categoria dos funcionarios |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If !( cSitFunc $ cSituacao ) .OR. ! ( SRA->RA_CATFUNC $ cCategoria )
dbSkip()
Loop
Endif
If cSitFunc $ "D" .And. Mesano(SRA->RA_DEMISSA) # Mesano(dDataRef)
dbSkip()
Loop
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Consiste controle de acessos e filiais validas |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If !(SRA->RA_FILIAL $ fValidFil()) .Or. !Eval(cAcessaSRA)
dbSkip()
Loop
EndIf
EndIF
If SRA->RA_Filial # cFilialAnt
If ! Fp_CodFol(@aCodFol,Sra->Ra_Filial) .Or. ! fInfo(@aInfo,Sra->Ra_Filial)
Exit
Endif
Desc_Fil := aInfo[3]
Desc_End := Alltrim(aInfo[4]) // Dados da Filial
Desc_CGC := "CNPJ: " + Transform(aInfo[8], "@R 99.999.999/9999-99") //CGC aInfo[8]
Desc_IE := "I.E.: " + Transform(ainfo[9], "@R 999.999.999.999") // IE
DESC_MSG1:= DESC_MSG2:= DESC_MSG3:= Space(01)
Desc_Est := Alltrim(Substr(fDesc("SX5","12"+aInfo[6],"X5DESCRI()"),1,12))
Desc_Comp:= Alltrim(aInfo[14]) // Complemento Cobranca
Desc_Cid := Alltrim(aInfo[05])
Desc_CEP := "CEP: " + Transform(ainfo[7], "@R 99999-999") // CEP
Desc_Bairro := Alltrim(aInfo[13])
// MENSAGENS
If MENSAG1 # SPACE(1)
If FPHIST82(SRA->RA_FILIAL,"06",SRA->RA_FILIAL+MENSAG1)
DESC_MSG1 := Left(SRX->RX_TXT,30)
ElseIf FPHIST82(SRA->RA_FILIAL,"06"," "+MENSAG1)
DESC_MSG1 := Left(SRX->RX_TXT,30)
Endif
Endif
If MENSAG2 # SPACE(1)
If FPHIST82(SRA->RA_FILIAL,"06",SRA->RA_FILIAL+MENSAG2)
DESC_MSG2 := Left(SRX->RX_TXT,30)
ElseIf FPHIST82(SRA->RA_FILIAL,"06"," "+MENSAG2)
DESC_MSG2 := Left(SRX->RX_TXT,30)
Endif
Endif
If MENSAG3 # SPACE(1)
If FPHIST82(SRA->RA_FILIAL,"06",SRA->RA_FILIAL+MENSAG3)
DESC_MSG3 := Left(SRX->RX_TXT,30)
ElseIf FPHIST82(SRA->RA_FILIAL,"06"," "+MENSAG3)
DESC_MSG3 := Left(SRX->RX_TXT,30)
Endif
Endif
dbSelectArea("SRA")
cFilialAnt := SRA->RA_FILIAL
Endif
Totvenc := Totdesc := 0
If Esc == 1 .OR. Esc == 2
dbSelectArea("SRC")
dbSetOrder(1)
If dbSeek(SRA->RA_FILIAL + SRA->RA_MAT)
While !Eof() .And. SRC->RC_FILIAL+SRC->RC_MAT == SRA->RA_FILIAL+SRA->RA_MAT
If SRC->RC_SEMANA # Semana
dbSkip()
Loop
Endif
If !Eval(cAcessaSRC)
dbSkip()
Loop
EndIf
If (Esc == 1) .And. (Src->Rc_Pd == aCodFol[7,1]) // Desconto de Adto
fSomaPdRec("P",aCodFol[6,1],Eval(cNroHoras),SRC->RC_VALOR)
TOTVENC += Src->Rc_Valor
Elseif (Esc == 1) .And. (Src->Rc_Pd == aCodFol[12,1])
fSomaPdRec("D",aCodFol[9,1],Eval(cNroHoras),SRC->RC_VALOR)
TOTDESC += SRC->RC_VALOR
Elseif (Esc == 1) .And. (Src->Rc_Pd == aCodFol[8,1])
fSomaPdRec("P",aCodFol[8,1],Eval(cNroHoras),SRC->RC_VALOR)
TOTVENC += SRC->RC_VALOR
Else
If PosSrv( Src->Rc_Pd , SRA->RA_FILIAL , "RV_TIPOCOD" ) == "1"
If (Esc # 1) .Or. (Esc == 1 .And. SRV->RV_ADIANTA == "S")
If cPaisLoc == "PAR" .and. Eval(cNroHoras) == 30
LocGHabRea(Ctod("01/"+SubStr(DTOC(dDataRef),4)), Ctod(StrZero(F_ULTDIA(dDataRef),2)+"/"+Strzero(Month(dDataRef),2)+"/"+right(str(Year(dDataRef)),2),"ddmmyy"),@nHoras)
Else
nHoras := Eval(cNroHoras)
Endif
fSomaPdRec("P",SRC->RC_PD,nHoras,SRC->RC_VALOR)
TOTVENC += Src->Rc_Valor
Endif
Elseif SRV->RV_TIPOCOD == "2"
If (Esc # 1) .Or. (Esc == 1 .And. SRV->RV_ADIANTA == "S")
fSomaPdRec("D",SRC->RC_PD,Eval(cNroHoras),SRC->RC_VALOR)
TOTDESC += Src->Rc_Valor
Endif
Elseif SRV->RV_TIPOCOD == "3"
If (Esc # 1) .Or. (Esc == 1 .And. SRV->RV_ADIANTA == "S")
fSomaPdRec("B",SRC->RC_PD,Eval(cNroHoras),SRC->RC_VALOR)
Endif
Endif
Endif
If ESC = 1
If SRC->RC_PD == aCodFol[10,1]
nBaseIr := SRC->RC_VALOR
Endif
ElseIf SRC->RC_PD == aCodFol[13,1]
nAteLim += SRC->RC_VALOR
Elseif SRC->RC_PD$ aCodFol[108,1]+'*'+aCodFol[17,1]
nBaseFgts += SRC->RC_VALOR
Elseif SRC->RC_PD$ aCodFol[109,1]+'*'+aCodFol[18,1]
nFgts += SRC->RC_VALOR
Elseif SRC->RC_PD == aCodFol[15,1]
nBaseIr += SRC->RC_VALOR
Elseif SRC->RC_PD == aCodFol[16,1]
nBaseIrFe += SRC->RC_VALOR
Endif
dbSelectArea("SRC")
dbSkip()
Enddo
Endif
Elseif Esc == 3 .And. !(cPaisLoc $ "URU|ARG")
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Busca os codigos de pensao definidos no cadastro beneficiario³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
fBusCadBenef(@aCodBenef, "131",{aCodfol[172,1]})
dbSelectArea("SRC")
dbSetOrder(1)
If dbSeek(SRA->RA_FILIAL + SRA->RA_MAT)
While !Eof() .And. SRA->RA_FILIAL + SRA->RA_MAT == SRC->RC_FILIAL + SRC->RC_MAT
If !Eval(cAcessaSRC)
dbSkip()
Loop
EndIf
If SRC->RC_PD == aCodFol[22,1]
fSomaPdRec("P",SRC->RC_PD,Eval(cNroHoras),SRC->RC_VALOR)
TOTVENC += SRC->RC_VALOR
Elseif Ascan(aCodBenef, { |x| x[1] == SRC->RC_PD }) > 0
fSomaPdRec("D",SRC->RC_PD,Eval(cNroHoras),SRC->RC_VALOR)
TOTDESC += SRC->RC_VALOR
Elseif SRC->RC_PD == aCodFol[108,1] .Or. SRC->RC_PD == aCodFol[109,1] .Or. SRC->RC_PD == aCodFol[173,1]
fSomaPdRec("B",SRC->RC_PD,Eval(cNroHoras),SRC->RC_VALOR)
Endif
If SRC->RC_PD == aCodFol[108,1]
nBaseFgts := SRC->RC_VALOR
Elseif SRC->RC_PD == aCodFol[109,1]
nFgts := SRC->RC_VALOR
Endif
dbSelectArea("SRC")
dbSkip()
Enddo
Endif
Elseif Esc == 4 .or. If(cPaisLoc $ "URU|ARG", Esc ==3,.F.)
dbSelectArea("SRI")
dbSetOrder(2)
If dbSeek(SRA->RA_FILIAL + SRA->RA_CC + SRA->RA_MAT)
While !Eof() .And. SRA->RA_FILIAL + SRA->RA_CC + SRA->RA_MAT == SRI->RI_FILIAL + SRI->RI_CC + SRI->RI_MAT
If !Eval(cAcessaSRI)
dbSkip()
Loop
EndIf
If PosSrv( SRI->RI_PD , SRA->RA_FILIAL , "RV_TIPOCOD" ) == "1"
fSomaPdRec("P",SRI->RI_PD,SRI->RI_HORAS,SRI->RI_VALOR)
TOTVENC = TOTVENC + SRI->RI_VALOR
Elseif SRV->RV_TIPOCOD == "2"
fSomaPdRec("D",SRI->RI_PD,SRI->RI_HORAS,SRI->RI_VALOR)
TOTDESC = TOTDESC + SRI->RI_VALOR
Elseif SRV->RV_TIPOCOD == "3"
fSomaPdRec("B",SRI->RI_PD,SRI->RI_HORAS,SRI->RI_VALOR)
Endif
If SRI->RI_PD == aCodFol[19,1]
nAteLim += SRI->RI_VALOR
Elseif SRI->RI_PD$ aCodFol[108,1]
nBaseFgts += SRI->RI_VALOR
Elseif SRI->RI_PD$ aCodFol[109,1]
nFgts += SRI->RI_VALOR
Elseif SRI->RI_PD == aCodFol[27,1]
nBaseIr += SRI->RI_VALOR
Endif
dbSkip()
Enddo
Endif
Elseif Esc == 5
dbSelectArea("SR1")
dbSetOrder(1)
If dbSeek( SRA->RA_FILIAL + SRA->RA_MAT )
While !Eof() .And. SRA->RA_FILIAL + SRA->RA_MAT == SR1->R1_FILIAL + SR1->R1_MAT
If Semana # "99"
If SR1->R1_SEMANA # Semana
dbSkip()
Loop
Endif
Endif
If !Eval(cAcessaSR1)
dbSkip()
Loop
EndIf
If PosSrv( SR1->R1_PD , SRA->RA_FILIAL , "RV_TIPOCOD" ) == "1"
fSomaPdRec("P",SR1->R1_PD,SR1->R1_HORAS,SR1->R1_VALOR)
TOTVENC = TOTVENC + SR1->R1_VALOR
Elseif SRV->RV_TIPOCOD == "2"
fSomaPdRec("D",SR1->R1_PD,SR1->R1_HORAS,SR1->R1_VALOR)
TOTDESC = TOTDESC + SR1->R1_VALOR
Elseif SRV->RV_TIPOCOD == "3"
fSomaPdRec("B",SR1->R1_PD,SR1->R1_HORAS,SR1->R1_VALOR)
Endif
dbskip()
Enddo
Endif
Endif
If cPaisLoc == "ARG"
dbSelectArea("SRD")
If dbSeek(SRA->RA_FILIAL + SRA->RA_MAT)
While !Eof() .And. (SRA->RA_FILIAL+SRA->RA_MAT == SRD->RD_FILIAL+SRD->RD_MAT)
If (SRA->RA_FILIAL+SRA->RA_MAT == SRD->RD_FILIAL+SRD->RD_MAT).And. SRD->RD_DATARQ == cAnoMesAnt
If Esc == 1 .Or. Esc == 2
cDtPago := dtoc(SRD->RD_DATPGT)
ElseIf Esc == 3
If SRD->RD_TIPO2 == "P"
cDtPago := dtoc(SRD->RD_DATPGT)
Endif
ElseIf Esc == 4
If SRD->RD_TIPO2 == "S"
cDtPago := dtoc(SRD->RD_DATPGT)
Endif
Endif
Endif
dbSkip()
Enddo
Endif
Endif
dbSelectArea("SRA")
If TOTVENC = 0 .And. TOTDESC = 0
dbSkip()
Loop
Endif
If Vez == 0 .And. Esc == 2 //--> Verifica se for FOLHA.
PerSemana() // Carrega Datas referentes a Semana.
EndIf
If nTipRel == 1 .and. !( lTerminal )
fImpressao() // Impressao do Recibo de Pagamento
IF !( lTerminal )
If Vez = 0 .and. nTipRel # 3 .and. aReturn[5] # 1
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Descarrega teste de impressao ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
fImpTeste(cString)
If !lRetCanc
Exit
Endif
TotDesc := TotVenc := 0
If mv_par01 = 2
Loop
Endif
ENDIF
EndIF
ElseIf nTipRel == 2 .and. !( lTerminal )
For nX := 1 to If(cPaisLoc <> "ARG",2,2)
// Salta linha e espaço para cortar
if nx == 2
Li += 2
@ LI,00 PSAY "*"+REPLICATE("-",130)+"*"
Li += 2
EndIf
fImpreZebr()
Next nX
ASize(AProve,0)
ASize(ADesco,0)
ASize(aBases,0)
ElseIf nTipRel == 3 .or. lTerminal
cHtml := fSendDPgto(lTerminal) //Monta o corpo do e-mail e envia-o
ElseIf nTipRel == 4
For nx := 1 to nDuas // quantas vezes será impresso o mesmo funcionário
fImpGrf() // Imprime Holerit Grafico
Next
Endif
dbSelectArea("SRA")
SRA->( dbSkip() )
TOTDESC := TOTVENC := 0
EndDo
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Seleciona arq. defaut do Siga caso Imp. Mov. Anteriores ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If !Empty( cAliasMov )
fFimArqMov( cAliasMov , aOrdBag , cArqMov )
EndIf
If nTipRel == 4 .and. !lfirst
_oPrint:EndPage() // Finaliza a página
_oPrint:Preview() // Visualiza antes de imprimir
EndIf
IF !( lTerminal ) .and. nTipRel <> 4
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Termino do relatorio ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
dbSelectArea("SRC")
dbSetOrder(1) // Retorno a ordem 1
dbSelectArea("SRI")
dbSetOrder(1) // Retorno a ordem 1
dbSelectArea("SRA")
SET FILTER TO
RetIndex("SRA")
If !(Type("cArqNtx") == "U")
fErase(cArqNtx + OrdBagExt())
Endif
Set Device To Screen
If lEnvioOK
APMSGINFO(STR0042)
ElseIf nTipRel== 3
APMSGINFO(STR0043)
EndIf
SeTPgEject(.F.)
nlin:= 0
If aReturn[5] = 1 .and. nTipRel # 3
Set Printer To
Commit
ourspool(wnrel)
Endif
MS_FLUSH()
EndIF
Return( cHtml )
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³fImpressao³ Autor ³ R.H. - Ze Maria ³ Data ³ 14.03.95 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ IMRESSAO DO RECIBO FORMULARIO CONTINUO ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ fImpressao() ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/
Static Function fImpressao()
Local nConta := 0
Local nContr := 0
Local nContrT :=0
Private nLinhas:=16 // Numero de Linhas do Miolo do Recibo
Ordem_Rel := 1
If cPaisLoc == "ARG"
fCabecArg()
Else
fCabec()
Endif
For nConta = 1 To Len(aLanca)
fLanca(nConta)
nContr ++
nContrT ++
If nContr = nLinhas .And. nContrT < Len(aLanca)
nContr:=0
Ordem_Rel ++
fContinua()
If cPaisLoc == "ARG"
fCabecArg()
Else
fCabec()
Endif
Endif
Next nConta
Li:=Li -1
Li+=(nLinhas-nContr)
If cPaisLoc == "ARG"
@ ++LI,01 PSAY TRANS(TOTVENC,cPict1)
@ LI,44 PSAY TRANS(TOTDESC,cPict1)
@ LI,88 PSAY TRANS((TOTVENC-TOTDESC),cPict1)
Li +=2
@ Li,01 PSAY MesExtenso(MONTH(dDataRef)) + " de "+ STR(YEAR(dDataRef),4)
@ ++Li,01 PSAY EXTENSO(TOTVENC-TOTDESC,,,)+REPLICATE("*",130-LEN(EXTENSO(TOTVENC-TOTDESC,,,)))
@ ++Li,01 PSAY StrZero(Day(dDataRef),2) + " de " + MesExtenso(MONTH(dDataRef)) + " de "+STR(YEAR(dDataRef),4)
@ ++Li,01 PSAY TRANS((TOTVENC-TOTDESC),cPict1)
Else
fRodape()
Endif
Return Nil
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³fImpreZebr³ Autor ³ R.H. - Ze Maria ³ Data ³ 14.03.95 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ IMRESSAO DO RECIBO FORMULARIO ZEBRADO ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ fImpreZebr() ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/
Static Function fImpreZebr()
Local nConta := nContr := nContrT:=0
If li >= 70
li := 0
Endif
fCabecZ()
fLancaZ(nConta)
Return Nil
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³fCabec ³ Autor ³ R.H. - Ze Maria ³ Data ³ 14.03.95 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ IMRESSAO Cabe‡alho Form Continuo ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ fCabec() ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/
Static Function fCabec() // Cabecalho do Recibo
Local cCodFunc := "" //-- codigo da Funcao do funcionario
Local cDescFunc := "" //-- Descricao da Funcao do Funcionario
/*ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Carrega Funcao do Funcion. de acordo com a Dt Referencia ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ*/
fBuscaFunc(dDataRef, @cCodFunc, @cDescFunc )
@ PROW(),PCOL() PSAY ""
LI ++
@ LI,01 PSAY &cNormal+DESC_Fil
LI ++
@ LI,01 PSAY DESC_END
LI ++
@ LI,01 PSAY DESC_CGC
If !Empty(Semana) .And. Semana # '99' .And. Upper(SRA->RA_TIPOPGT) == 'S'
@ Li,37 pSay STR0013 + Semana + ' (' + cSem_De + STR0014 + ; //'Semana '###' a '
cSem_Ate + ')'
Else
@ LI,55 PSAY MesExtenso(MONTH(dDataRef))+"/"+STR(YEAR(dDataRef),4)
EndIf
LI +=2
@ LI,01 PSAY SRA->RA_Mat
@ LI,08 PSAY Left(SRA->RA_NOME,28)
@ LI,37 PSAY fCodCBO(SRA->RA_FILIAL,cCodFunc ,dDataRef)
@ LI,44 PSAY SRA->RA_Filial
@ LI,54 PSAY SRA->RA_CC
@ LI,65 PSAY ORDEM_REL PICTURE "9999"
LI ++
cDet := STR0015 + cCodFunc //-- Funcao
cDet += cDescFunc + ' '
cDet += DescCc(SRA->RA_CC,SRA->RA_FILIAL) + ' '
cDet += STR0016 + SRA->RA_CHAPA //'CHAPA: '
@ Li,01 pSay cDet
Li += 3 //2
Return Nil
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³fCabecz ³ Autor ³ R.H. - Ze Maria ³ Data ³ 14.03.95 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ IMRESSAO Cabe‡alho Form ZEBRADO ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ fCabecz() ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/
Static Function fCabecZ() // Cabecalho do Recibo Zebrado
Local cCodFunc := "" //-- codigo da Funcao do funcionario
Local cDescFunc := "" //-- Descricao da Funcao do Funcionario
Local OBMP
/*ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Carrega Funcao do Funcion. de acordo com a Dt Referencia ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ*/
fBuscaFunc(dDataRef, @cCodFunc, @cDescFunc )
@ Li,00 PSAY Avalimp(Limite)
LI ++
@ LI,00 PSAY "*"+REPLICATE("=",130)+"*"
LI ++
@ LI,00 PSAY "|"
@ LI,46 PSAY STR0017 //"RECIBO DE PAGAMENTO "
@ LI,131 PSAY "|"
LI ++
@ LI,00 PSAY "|"+REPLICATE("-",130)+"|"
LI ++
@ LI,00 PSAY STR0018 + DESC_Fil //"| Empresa : "
@ LI,92 PSAY STR0019 + SRA->RA_FILIAL //" Local : "
@ LI,131 PSAY "|"
LI ++
@ LI,00 PSAY STR0020 + SRA->RA_CC + " - " + Posicione("CTT",1,xFilial("CTT") + SRA->RA_CC, "CTT_DESC01") // DescCc(SRA->RA_CC,SRA->RA_FILIAL) //"| C Custo : "
If !Empty(Semana) .And. Semana # "99" .And. Upper(SRA->RA_TIPOPGT) == "S"
@ Li,92 pSay STR0021 + Semana + " (" + cSem_De + STR0022 + ; //'Sem.'###' a '
cSem_Ate + ")"
Else
@ LI,92 PSAY MesExtenso(MONTH(dDataRef))+"/"+STR(YEAR(dDataRef),4)
EndIf
@ LI,131 PSAY "|"
LI ++
ORDEMZ ++
@ LI,00 PSAY STR0023 + SRA->RA_MAT //"| Matricula : "
@ LI,30 PSAY STR0024 + SRA->RA_NOME //"Nome : "
@ LI,92 PSAY STR0025 //"Ordem : "
@ LI,100 PSAY StrZero(ORDEMZ,4) Picture "9999"
@ LI,131 PSAY "|"
LI ++
@ LI,00 PSAY STR0026+cCodFunc+" - "+cDescFunc //"| Funcao : "
@ LI,131 PSAY "|"
LI ++
@ LI,00 PSAY "|"+REPLICATE("-",130)+"|"
LI ++
@ LI,000 PSAY STR0027 //"| P R O V E N T O S "
@ LI,044 PSAY STR0028 //" D E S C O N T O S"
@ LI,088 PSAY STR0029 //" B A S E S"
@ LI,131 PSAY "|"
LI ++
@ LI,00 PSAY "|"+REPLICATE("-",130)+"|"
LI++
Return Nil
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³fCabecArg ºAutor ³Silvia Taguti º Data ³ 02/12/03 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³Impressao do Cabecalho - Argentina º±±
±±º ³Pre Impresso º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ AP6 º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
Static Function fCabecArg()
Local cCodFunc := "" //-- codigo da Funcao do funcionario
Local cDescFunc := "" //-- Descricao da Funcao do Funcionario
Local cCargo := "" //-- Codigo do Cargo do funcionario
/*ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Carrega Funcao do Funcion. de acordo com a Dt Referencia ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ*/
fBuscaFunc(dDataRef, @cCodFunc, @cDescFunc )
@ ++LI,01 PSAY DESC_Fil
@ ++LI,01 PSAY Alltrim(Desc_End)+" "+Alltrim(Desc_Comp)+" "+Desc_Cid
@ ++LI,01 PSAY DESC_CGC
@ ++LI,01 PSAY cDtPago
//@ LI,20 PSAY STR0072
@ LI,40 PSAY Alltrim(SRA->RA_BCDEPSAL) + "-" + DescBco(SRA->RA_BCDEPSAL,SRA->RA_FILIAL)
Li +=2
@ Li,01 PSAY SRA->RA_NOME
@ Li,45 PSAY SRA->RA_CIC
@ ++Li,01 PSAY SRA->RA_ADMISSA
@ Li,12 PSAY Substr(cDescFunc,1,15)
cCargo := fGetCargo(SRA->RA_MAT)
@ Li,30 PSAY Substr(fDesc("SQ3",cCargo,"SQ3->Q3_DESCSUM"),1,10)
Li += 2
Return Nil
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³fLanca ³ Autor ³ R.H. - Ze Maria ³ Data ³ 14.03.95 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ Impressao das Verbas (Lancamentos) Form. Continuo ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ fLanca() ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/
Static Function fLanca(nConta) // Impressao dos Lancamentos
Local cString := Transform(aLanca[nConta,5],cPict2)
Local nCol := If(aLanca[nConta,1]="P",43,If(aLanca[nConta,1]="D",57,27))
@ LI,01 PSAY aLanca[nConta,2]
@ LI,05 PSAY aLanca[nConta,3]
If aLanca[nConta,1] # "B" // So Imprime se nao for base
@ LI,36 PSAY TRANSFORM(aLanca[nConta,4],"999.99")
Endif
@ LI,nCol PSAY cString
Li ++
Return Nil
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³fLancaZ ³ Autor ³ R.H. - Ze Maria ³ Data ³ 14.03.95 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ Impressao das Verbas (Lancamentos) Zebrado ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ fLancaZ() ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/
Static Function fLancaZ(nConta) // Impressao dos Lancamentos
Local nTermina := 0
Local nCont := 0
Local nCont1 := 0
Local nValidos := 0
nTermina := Max(Max(LEN(aProve),LEN(aDesco)),LEN(aBases))
For nCont := 1 To nTermina
@ LI,00 PSAY "|"
IF nCont <= LEN(aProve)
@ LI,02 PSAY aProve[nCont,1]+TRANSFORM(aProve[nCont,2],'999.99')+TRANSFORM(aProve[nCont,3],cPict3)
ENDIF
@ LI,44 PSAY "|"
IF nCont <= LEN(aDesco)
@ LI,46 PSAY aDesco[nCont,1]+TRANSFORM(aDesco[nCont,2],'999.99')+TRANSFORM(aDesco[nCont,3],cPict3)
ENDIF
@ LI,88 PSAY "|"
IF nCont <= LEN(aBases)
@ LI,90 PSAY aBases[nCont,1]+TRANSFORM(aBases[nCont,2],'999.99')+TRANSFORM(aBases[nCont,3],cPict3)
ENDIF
@ LI,131 PSAY "|"
//---- Soma 1 nos nValidos e Linha
nValidos ++
Li ++
If nValidos = If(cPaisLoc <> "ARG",14,10)
@ LI,00 PSAY "|"+REPLICATE("-",130)+"|"
LI ++
@ LI,00 PSAY "|"
@ LI,05 PSAY STR0030 // "CONTINUA !!!"
// @ LI,76 PSAY "|"+&cCompac
LI ++
@ LI,00 PSAY "*"+REPLICATE("=",130)+"*"
LI += 8
If li >= 60
li := 0
Endif
If cPaisLoc == "ARG"
fCabecZAr()
Else
fCabecZ()
Endif
nValidos := 0
ENDIF
Next nCont
For nCont1 := nValidos+1 To If(cPaisLoc <> "ARG",14,10)
@ Li,00 PSAY "|"
@ Li,44 PSAY "|"
@ Li,88 PSAY "|"
@ Li,131 PSAY "|"
Li++
Next nCont1
If cPaisLoc <> "ARG"
@ LI,00 PSAY "|"+REPLICATE("-",130)+"|"
LI ++
@ LI,000 PSAY "|"
@ LI,005 PSAY DESC_MSG1
@ LI,044 PSAY STR0031+SPACE(10)+TRANS(TOTVENC,cPict1) //"| TOTAL BRUTO "
@ LI,088 PSAY "|"+STR0032+SPACE(07)+TRANS(TOTDESC,cPict1) //" TOTAL DESCONTOS "
@ LI,131 PSAY "|"
LI ++
@ LI,000 PSAY "|"
@ LI,005 PSAY DESC_MSG2
@ LI,044 PSAY "|"+REPLICATE("-",86)+"|"
LI ++
@ LI,000 PSAY "|"
@ LI,005 PSAY DESC_MSG3
@ LI,044 PSAY STR0033+SRA->RA_BCDEPSA + "- Nao Cadastrado " // DescBco(SRA->RA_BCDEPSAL,SRA->RA_FILIAL) //"| CREDITO:"
@ LI,088 PSAY STR0034+SPACE(05)+TRANS((TOTVENC-TOTDESC),cPict1) //"| LIQUIDO A RECEBER "
@ LI,131 PSAY "|"
LI ++
@ LI,000 PSAY "|"+REPLICATE("-",130)+"|"
LI ++
@ LI,000 PSAY "|"
@ LI,034 PSAY STR0035 + SRA->RA_CTDEPSAL //"| CONTA:"
@ LI,088 PSAY "|"
@ LI,131 PSAY "|"
LI ++
@ LI,000 PSAY "|"+REPLICATE("-",130)+"|"
LI ++
@ LI,00 PSAY STR0036 + Replicate("_",40) //"| Recebi o valor acima em ___/___/___ "
@ li,131 PSAY "|"
LI ++
@ LI,00 PSAY "*"+REPLICATE("=",130)+"*"
Endif
Li += 1
//Quebrar pagina
If LI > 70
LI := 0
EndIf
Return Nil
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³fContinua ³ Autor ³ R.H. - Ze Maria ³ Data ³ 14.03.95 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ Impressap da Continuacao do Recibo ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ fContinua() ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/
Static Function fContinua() // Continuacao do Recibo
Li+=1
@ LI,05 PSAY &cNormal + STR0037 //"CONTINUA !!!"
Li+= 7 //8
Return Nil
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³fRodape ³ Autor ³ R.H. - Ze Maria ³ Data ³ 14.03.95 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ Impressao do Rodape ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ fRodape() ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±±±±±±±±±±±±±±±±±±±±±±±
Segue o fontes aqui.
Se preferir mande seu e-mail que eu encaminho.
#INCLUDE "GPER030.CH"
#INCLUDE "PROTHEUS.CH"
#IFNDEF CRLF
#DEFINE CRLF ( chr(13)+chr(10) )
#ENDIF
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³ GPER030 ³ Autor ³ R.H. - Ze Maria ³ Data ³ 14.03.95 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ Emissao de Recibos de Pagamento ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ GPER030(void) ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ ATUALIZACOES SOFRIDAS DESDE A CONSTRU€AO INICIAL. ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Programador ³ Data ³ BOPS ³ Motivo da Alteracao ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Mauro ³14/03/01³
³ Colocado DbsetOrder Src,causava erro Top ³±±
±±³ J. Ricardo ³16/02/01³
³ Utilizacao da data base como parametro ³±±
±±³ ³ ³ ³ para impressao. ³±±
±±³ Emerson ³27/04/01³
³Ajustes para tratar a pensao alimenticia a³±±
±±³ ³
³
³partir do cadastro de beneficiarios(novo) ³±±
±±³ Natie ³24/08/01³
³ Inclusao PrnFlush()-Descarrega Spool ³±±
±±³ Natie ³24/08/01³ver609³fSendDPagto()-Envio de E-mail Demont.Pagto³±±
±±³ Natie ³29/08/01³009963³PrnFlush-Descarrega spool impressao teste ³±±
±±³ Marinaldo ³20/09/01³Melhor³Geracao de Demonstrativo de Pagamento pa³±±
±±³ ³
³
³ra o Terminal de Consulta. ³±±
±±³ Marinaldo ³26/09/01³Melhor³Passagem de dDataRef para OpenSRC() por re³±±
±±³ ³
³
³ferencia. ³±±
±±³ Marinaldo ³08/10/01³Melhor³Inclusao de Regua de Processamento Quando³±±
±±³ ³
³
³geracao de e-mail ³±±
±±³ Mauro ³05/11/01³010528³Verificar a Sit.de Demitido no mes de ref.³±±
±±³ ³ ³ ³nao listava demitido posterior a dt.ref. ³±±
±±³ Marinaldo ³21/12/01³Acerto³O Programa devera sempre retornar caracter³±±
±±³ ³ ³ ³Qdo. Chamada atraves do Terminal para evi³±±
±±³ ³ ³ ³tar erro de comparacao de tipo ³±±
±±³ Natie ³11/12/01³009963³ Acerto Impressao-Teste ³±±
±±³ ³11/12/01³011547³ Quebra pag.qdo func. tem mais de 2 recibo³±±
±±³ Mauro ³14/01/02³012282³Acerto na compar. d Mes Aniv. Dezembro. ³±±
±±³ Silvia ³20/02/02³013293³Acerto nos Dias Trabalhados para Paraguai ³±±
±±³ Mauro ³20/03/02³
³Inicializar o Li com _prow() estava pulan-³±±
±±³ ³ ³ ³do pag.na prim.Impr. Epson 1170 ³±±
±±³ Natie ³05/04/02³
³Quebra de pagina - pre impresso ³±±
±±³ Emerson ³15/08/02³Meta ³Se RC_QTDSEM maior que 0, sera impresso ³±±
±±³ ³ ³ ³como referencia, caso contrario RC_HORAS. ³±±
±±³ Emerson ³06/01/03³
³Buscar o codigo CBO no cadastro de funcoes³±±
±±³ ³ ³
³de acordo com os novos codigos CBO/2002. ³±±
±±³ Mauro ³17/05/03³064530³Acerto na Compactacao e salto devido alt. ³±±
±±³ ³ ³
³na Lib. ³±±
±±³ Andreia ³29/05/03³
³Ajuste na Quebra de pagina - pre impresso ³±±
±±³ Mauro ³06/09/03³
³Trocada funcao retorno Salario (fBuscasal)³±±
±±³ Pedro Eloy ³08/12/03³
³Aplicacao do comando SetPgEject(.F.) ³±±
±±³ Pedro Eloy ³06/02/04³
³Ajuste no retorno da funcao OpenSrc(). ³±±
±±³ Natie ³16/03/04³F01027³Acerto p/trazer Funcao do mes de Referec. ³±±
±±| Natie ³08/04/04³
³ Acerto no Driver p/Impressao ³±±
±±| Natie ³16/04/04³
³ PerSemana()busca semana do Cad.Perido ³±±
±±| Emerson GR.³27/05/04³
³Tratamento do Cargo de Funcionario. ³±±
±±| Emerson ³08/06/04³
³Igualar variavel lEnvioOk na chamada da ³±±
±±³ ³ ³
³funcao GPEMail() p/ que seja atualizada. ³±±
±±³ Pedro Eloy ³03/06/04³070926|Ajustado o disposicionamento do nome empr.³±±
±±³ ³ ³ |e tratado o botao cancelar no teste impres³±±
±±³ Ricardo D. ³20/08/04³Melhor|Tratamento da data de liberacao para con- ³±±
±±³ ³ ³ |sulta ao recibo pagto no Rh-OnLine. ³±±
±±³ Pedro Eloy ³26/08/04³
|Estava se perdendo ao imprimir um funciona³±±
±±³ ³ ³ |rio onde tivesse mais de um recibo. ³±±
±±³ Ricardo D. ³30/08/04³Melhor|Passagem do parametro ".F." em todas as ³±±
±±³ ³ ³ |chamadas da funcao R030IMPR. ³±±
±±³ Pedro Eloy ³01/09/04³073931³Ajuste no disposicionamento do nome da ³±±
±±³ ³ ³ ³empresa, emissao do recibo de pagamento. ³±±
±±ÀÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/
User Function LBVREC(lTerminal,cFilTerminal,cMatTerminal,cMesAnoRef,nRecTipo,cSemanaTerminal)
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Define Variaveis Locais (Basicas) ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Local cString:="SRA" // alias do arquivo principal (Base)
Local aOrd := {STR0001,STR0002,STR0003,STR0004,STR0005} //"Matricula"###"C.Custo"###"Nome"###"Chapa"###"C.Custo + Nome"
Local cDesc1 := STR0006 //"Emiss„o de Recibos de Pagamento."
Local cDesc2 := STR0007 //"Ser impresso de acordo com os parametros solicitados pelo"
Local cDesc3 := STR0008 //"usu rio."
Local aDriver:= ReadDriver()
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Define Variaveis Locais (Programa) ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Local nExtra,cIndCond,cIndRc
Local Baseaux := "S", cDemit := "N"
Local cHtml := ""
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Define o numero da linha de impressão como 0 ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
SetPrc(0,0)
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Define Variaveis Private(Basicas) ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Private aReturn := {STR0009, 1,STR0010, 2, 2, 1, "",1 } //"Zebrado"###"Administra‡„o"
Private nomeprog :="GPER030"
Private aLinha := { },nLastKey := 0
Private cPerg :="GPER030LBV"
Private cSem_De := " / / "
Private cSem_Ate := " / / "
Private nAteLim , nBaseFgts , nFgts , nBaseIr , nBaseIrFe
Private cCompac := aDriver[1]
Private cNormal := aDriver[2]
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Define Variaveis Private(Programa) ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Private aLanca := {}
Private aProve := {}
Private aDesco := {}
Private aBases := {}
Private aInfo := {}
Private aCodFol:= {}
Private li := _PROW()
Private Titulo := STR0011 //"EMISSŽO DE RECIBOS DE PAGAMENTOS"
Private lEnvioOk := .F.
Private lRetCanc := .t.
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Envia controle para a funcao SETPRINT ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
wnrel:="GPER030" //Nome Default do relatorio em Disco
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Verifica se o programa foi chamado do terminal - TCF ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
lTerminal := If( lTerminal == Nil, .F., lTerminal )
IF !( lTerminal )
wnrel:=SetPrint(cString,wnrel,cPerg,Titulo,cDesc1,cDesc2,cDesc3,.F.,aOrd)
EndIF
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Define a Ordem do Relatorio ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
nOrdem := IF( !( lTerminal ), aReturn[8] , 1 )
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Verifica as perguntas selecionadas ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Pergunte("GPR030",.F.)
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Carregando variaveis mv_par?? para Variaveis do Sistema. ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
cSemanaTerminal := IF( Empty( cSemanaTerminal ) , Space( Len( SRC->RC_SEMANA ) ) , cSemanaTerminal )
dDataRef := IF( !( lTerminal ), mv_par01 , Stod(Substr(cMesAnoRef,-4)+SubStr(cMesAnoRef,1,2)+"01"))//Data de Referencia para a impressao
nTipRel := IF( !( lTerminal ), mv_par02 , 3) //Tipo de Recibo (Pre/Zebrado/EMail)
Esc := IF( !( lTerminal ), mv_par03 , nRecTipo ) //Emitir Recibos(Adto/Folha/1¦/2¦/V.Extra)
Semana := IF( !( lTerminal ), mv_par04 , cSemanaTerminal ) //Numero da Semana
cFilDe := IF( !( lTerminal ),mv_par05,cFilTerminal ) //Filial De
cFilAte := IF( !( lTerminal ),mv_par06,cFilTerminal ) //Filial Ate
cCcDe := IF( !( lTerminal ),mv_par07,SRA->RA_CC ) //Centro de Custo De
cCcAte := IF( !( lTerminal ),mv_par08,SRA->RA_CC ) //Centro de Custo Ate
cMatDe := IF( !( lTerminal ),mv_par09,cMatTerminal ) //Matricula Des
cMatAte := IF( !( lTerminal ),mv_par10,cMatTerminal ) //Matricula Ate
cNomDe := IF( !( lTerminal ),mv_par11,SRA->RA_NOME ) //Nome De
cNomAte := IF( !( lTerminal ),mv_par12,SRA->RA_NOME ) //Nome Ate
ChapaDe := IF( !( lTerminal ),mv_par13,SRA->RA_CHAPA ) //Chapa De
ChapaAte := IF( !( lTerminal ),mv_par14,SRA->RA_CHAPA ) //Chapa Ate
Mensag1 := mv_par15 //Mensagem 1
Mensag2 := mv_par16 //Mensagem 2
Mensag3 := mv_par17 //Mensagem 3
cSituacao := IF( !( lTerminal ),mv_par18, fSituacao( NIL , .F. ) ) //Situacoes a Imprimir
cCategoria := IF( !( lTerminal ),mv_par19, fCategoria( NIL , .F. )) //Categorias a Imprimir
cBaseAux := If(mv_par20 == 1,"S","N") //Imprimir Bases
nDuas := If(mv_par21 == 1,1,2) //quantas vezes é para imprimir o mesmo contra-Cheque
If aReturn[5] == 1 .and. nTipRel == 1
li := 0
EndIf
IF !( lTerminal )
cMesAnoRef := StrZero(Month(dDataRef),2) + StrZero(Year(dDataRef),4)
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Inicializa Impressao ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If ! fInicia(cString,nTipRel)
Return
Endif
EndIF
IF nTipRel==3
IF lTerminal
cHtml := R030Imp(.F.,wnRel,cString,cMesAnoRef,lTerminal)
Else
ProcGPE({|lEnd| R030IMP(@lEnd,wnRel,cString,cMesAnoRef,.f.)},,,.T.) // Chamada do Processamento
EndIF
Else
RptStatus({|lEnd| R030Imp(@lEnd,wnRel,cString,cMesAnoRef,.f.)},Titulo) // Chamada do Relatorio
EndIF
Return( IF( lTerminal , cHtml , NIL ) )
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³ R030IMP ³ Autor ³ R.H. - Ze Maria ³ Data ³ 14.03.95 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ Processamento Para emissao do Recibo ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ R030Imp(lEnd,WnRel,cString,cMesAnoRef,lTerminal) ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/
Static Function R030Imp(lEnd,WnRel,cString,cMesAnoRef,lTerminal)
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Define Variaveis Locais (Basicas) ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Local lIgual //Vari vel de retorno na compara‡ao do SRC
Local cArqNew //Vari vel de retorno caso SRC # SX3
Local aOrdBag := {}
Local cMesArqRef := If(Esc == 4,"13"+Right(cMesAnoRef,4),cMesAnoRef)
Local cArqMov := ""
Local aCodBenef := {}
Local cAcessaSR1 := &("{ || " + ChkRH("GPER030","SR1","2") + "}")
Local cAcessaSRA := &("{ || " + ChkRH("GPER030 ","SRA","2") + "}")
Local cAcessaSRC := &("{ || " + ChkRH("GPER030","SRC","2") + "}")
Local cAcessaSRI := &("{ || " + ChkRH("GPER030","SRI","2") + "}")
Local cNroHoras := &("{ || If(SRC->RC_QTDSEM > 0, SRC->RC_QTDSEM, SRC->RC_HORAS) }")
Local cHtml := ""
Local nHoras := 0
Local nMes, nAno
Local nX
Local cMesCorrente:= getmv("MV_FOLMES")
Local dDataLibRh
Local nTcfDadt := if(lTerminal,getmv("MV_TCFDADT"),0) // indica o dia a partir do qual esta liberada a consulta ao TCF
Local nTcfDfol := if(lTerminal,getmv("MV_TCFDFOL"),0) // indica a quantidade de dias a somar ou diminuir no ultimo dia do mes corrente para liberar a consulta do TCF
Local nTcfD131 := if(lTerminal,getmv("MV_TCFD131"),0) // indica o dia a partir do qual esta liberada a consulta ao TCF
Local nTcfD132 := if(lTerminal,getmv("MV_TCFD132"),0) // indica o dia a partir do qual esta liberada a consulta ao TCF
Local nTcfDext := if(lTerminal,getmv("MV_TCFDEXT"),0) // indica o dia a partir do qual esta liberada a consulta ao TCF
Local aDriver := LEDriver()
Local nContr := 0
Local nContrT := 0
//Fonte A serem Utilizada
If nTipRel == 4
Private _oFont8 := TFont():New("Arial", 09, 08, ,.F., , , , , .F.)
Private _oFont8b := TFont():New("Arial", 09, 08,.t.,.t., , , , , .F.)
Private _oFont10 := TFont():New("Arial", 09, 10,.T.,.F., 5,.T., 5, .T., .F.)
Private _oFont10b := TFont():New("Arial", 09, 10,.T.,.t., 5,.T., 5, .T., .F.)
Private _oFont12 := TFont():New("Arial", 09, 12,.T.,.F., 5,.T., 5, .T., .F.)
Private _oFont14 := TFont():New("Arial", 09, 14,.T.,.T., 5,.T., 5, .T., .F.)
Private _oFont16 := TFont():New("Arial", 09, 16,.T.,.F., 5,.T., 5, .T., .F.)
Private _oBrush := TBrush():New("",4)
Private _oPrint := TMSPrinter():New( "Recibo Laser" )
Private _cont := 3500
Private lFirst := .t.
Private _pag := 0
Private _cFig := "\system\jaepel.bmp"
Private nLinhas :=19 // Numero de Linhas do Miolo do Recibo
EndIf
Private tamanho := "M"
Private limite := 132
Private cAliasMov := ""
Private cDtPago := ""
Private cPict1 := "@E 999,999,999.99"
Private cPict2 := "@E 99,999,999.99"
Private cPict3 := "@E 999,999.99"
If MsDecimais(1) == 0
cPict1 := "@E 99,999,999,999"
cPict2 := "@E 9,999,999,999"
cPict3 := "@E 99,999,999"
Endif
If cPaisLoc $ "URU|ARG"
If Esc == 3
cMesArqRef := "13" + Right(cMesAnoRef,4)
ElseIf Esc == 4
cMesArqRef := "23" + Right(cMesAnoRef,4)
Else
cMesArqRef := cMesAnoRef
Endif
Else
If Esc == 4
cMesArqRef := "13" + Right(cMesAnoRef,4)
Else
cMesArqRef := cMesAnoRef
Endif
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//| Verifica se existe o arquivo de fechamento do mes informado |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If !OpenSrc( cMesArqRef, @cAliasMov, @aOrdBag, @cArqMov, @dDataRef , NIL ,lTerminal )
Return( IF( lTerminal <> NIL .And. lTerminal , cHtml , NIL ) )
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//| Verifica se o Mes solicitado esta liberado para consulta no |
//| terminal de consulta do funcionario. |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If lTerminal
If !empty(cMesCorrente)
cMesCorrente := substr(cMesCorrente,-2)+substr(cMesCorrente,1,4)
endif
If cMesCorrente == cMesArqRef .or. ;
left(cMesArqRef,2) == "13" .or. ;
right(cMesCorrente,4)+left(cMesCorrente,2) == mesano(ddataref)
If Esc == 1 .and. day(date()) < nTCFDADT .and. !empty(nTCFDADT)
Return( IF( lTerminal <> NIL .And. lTerminal , cHtml , NIL ) )
ElseIf Esc == 2 .and. !empty(nTCFDFOL)
dDataLibRh := fMontaDtTcf(cMesCorrente)
If date() < dDataLibRH
Return( IF( lTerminal <> NIL .And. lTerminal , cHtml , NIL ) )
Endif
ElseIf Esc == 3 .and. day(date()) < nTCFD131 .and. !empty(nTCFD131)
Return( IF( lTerminal <> NIL .And. lTerminal , cHtml , NIL ) )
ElseIf Esc == 4 .and. day(date()) < nTCFD132 .and. !empty(nTCFD132)
Return( IF( lTerminal <> NIL .And. lTerminal , cHtml , NIL ) )
ElseIf Esc == 5 .and. day(date()) < nTCFDEXT .and. !empty(nTCFDEXT)
Return( IF( lTerminal <> NIL .And. lTerminal , cHtml , NIL ) )
endif
Endif
Endif
If cPaisLoc == "ARG"
nMes := Month(dDataRef) - 1
nAno := Year(dDataRef)
If nMes == 0
nMes := 1
nAno := nAno - 1
Endif
If nMes < 0
nMes := 12 - ( nMes * -1 )
nAno := nAno - 1
Endif
If Esc == 1 .or. Esc == 2
cAnoMesAnt := StrZero(nAno,4)+StrZero(nMes,2)
ElseIf Esc == 3 .or. Esc == 4
cAnoMesAnt := Right(cMesAnoRef,4)-1 +"13"
Endif
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Selecionando a Ordem de impressao escolhida no parametro. ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
dbSelectArea( "SRA")
IF !( lTerminal )
If nOrdem == 1
dbSetOrder(1)
ElseIf nOrdem == 2
dbSetOrder(2)
ElseIf nOrdem == 3
dbSetOrder(3)
Elseif nOrdem == 4
cArqNtx := CriaTrab(NIL,.f.)
cIndCond :="RA_Filial + RA_Chapa + RA_Mat"
IndRegua("SRA",cArqNtx,cIndCond,,,STR0012) //"Selecionando Registros..."
ElseIf nOrdem == 5
dbSetOrder(
Endif
dbGoTop()
If nTipRel == 2
@ LI,00 PSAY AvalImp(Limite)
Endif
EndIF
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Selecionando o Primeiro Registro e montando Filtro. ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If nOrdem == 1 .or. lTerminal
cInicio := "SRA->RA_FILIAL + SRA->RA_MAT"
IF !( lTerminal )
dbSeek(cFilDe + cMatDe,.T.)
cFim := cFilAte + cMatAte
Else
cFim := &(cInicio)
EndIF
ElseIf nOrdem == 2
dbSeek(cFilDe + cCcDe + cMatDe,.T.)
cInicio := "SRA->RA_FILIAL + SRA->RA_CC + SRA->RA_MAT"
cFim := cFilAte + cCcAte + cMatAte
ElseIf nOrdem == 3
dbSeek(cFilDe + cNomDe + cMatDe,.T.)
cInicio := "SRA->RA_FILIAL + SRA->RA_NOME + SRA->RA_MAT"
cFim := cFilAte + cNomAte + cMatAte
ElseIf nOrdem == 4
dbSeek(cFilDe + ChapaDe + cMatDe,.T.)
cInicio := "SRA->RA_FILIAL + SRA->RA_CHAPA + SRA->RA_MAT"
cFim := cFilAte + ChapaAte + cMatAte
ElseIf nOrdem == 5
dbSeek(cFilDe + cCcDe + cNomDe,.T.)
cInicio := "SRA->RA_FILIAL + SRA->RA_CC + SRA->RA_NOME"
cFim := cFilAte + cCcAte + cNomAte
Endif
dbSelectArea("SRA")
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Carrega Regua Processamento ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
IF nTipRel # 3
SetRegua(RecCount()) // Total de elementos da regua
Else
IF !( lTerminal )
GPProcRegua(RecCount())// Total de elementos da regua
EndIF
EndIF
TOTVENC:= TOTDESC:= FLAG:= CHAVE := 0
Desc_Fil := Desc_End := DESC_CC:= DESC_FUNC:= ""
Desc_Comp:= Desc_Est := Desc_Cid:= ""
DESC_MSG1:= DESC_MSG2:= DESC_MSG3:= Space(01)
cFilialAnt := " "
Vez := 0
OrdemZ := 0
While SRA->( !Eof() .And. &cInicio <= cFim )
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Movimenta Regua Processamento ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
IF !( lTerminal )
IF nTipRel # 3
IncRegua() // Anda a regua
ElseIF !( lTerminal )
GPIncProc(SRA->RA_FILIAL+" - "+SRA->RA_MAT+" - "+SRA->RA_NOME)
EndIF
If lEnd
@Prow()+1,0 PSAY cCancel
Exit
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Consiste Parametrizacao do Intervalo de Impressao ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If (SRA->RA_CHAPA < ChapaDe) .Or. (SRA->Ra_CHAPa > ChapaAte) .Or. ;
(SRA->RA_NOME < cNomDe) .Or. (SRA->Ra_NOME > cNomAte) .Or. ;
(SRA->RA_MAT < cMatDe) .Or. (SRA->Ra_MAT > cMatAte) .Or. ;
(SRA->RA_CC < cCcDe) .Or. (SRA->Ra_CC > cCcAte)
SRA->(dbSkip(1))
Loop
EndIf
EndIF
aLanca:={} // Zera Lancamentos
aProve:={} // Zera Lancamentos
aDesco:={} // Zera Lancamentos
aBases:={} // Zera Lancamentos
nAteLim := nBaseFgts := nFgts := nBaseIr := nBaseIrFe := 0.00
Ordem_rel := 1 // Ordem dos Recibos
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Verifica Data Demissao ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
cSitFunc := SRA->RA_SITFOLH
dDtPesqAf:= CTOD("01/" + Left(cMesAnoRef,2) + "/" + Right(cMesAnoRef,4),"DDMMYY")
If cSitFunc == "D" .And. (!Empty(SRA->RA_DEMISSA) .And. MesAno(SRA->RA_DEMISSA) > MesAno(dDtPesqAf))
cSitFunc := " "
Endif
IF !( lTerminal )
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Consiste situacao e categoria dos funcionarios |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If !( cSitFunc $ cSituacao ) .OR. ! ( SRA->RA_CATFUNC $ cCategoria )
dbSkip()
Loop
Endif
If cSitFunc $ "D" .And. Mesano(SRA->RA_DEMISSA) # Mesano(dDataRef)
dbSkip()
Loop
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Consiste controle de acessos e filiais validas |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If !(SRA->RA_FILIAL $ fValidFil()) .Or. !Eval(cAcessaSRA)
dbSkip()
Loop
EndIf
EndIF
If SRA->RA_Filial # cFilialAnt
If ! Fp_CodFol(@aCodFol,Sra->Ra_Filial) .Or. ! fInfo(@aInfo,Sra->Ra_Filial)
Exit
Endif
Desc_Fil := aInfo[3]
Desc_End := Alltrim(aInfo[4]) // Dados da Filial
Desc_CGC := "CNPJ: " + Transform(aInfo[8], "@R 99.999.999/9999-99") //CGC aInfo[8]
Desc_IE := "I.E.: " + Transform(ainfo[9], "@R 999.999.999.999") // IE
DESC_MSG1:= DESC_MSG2:= DESC_MSG3:= Space(01)
Desc_Est := Alltrim(Substr(fDesc("SX5","12"+aInfo[6],"X5DESCRI()"),1,12))
Desc_Comp:= Alltrim(aInfo[14]) // Complemento Cobranca
Desc_Cid := Alltrim(aInfo[05])
Desc_CEP := "CEP: " + Transform(ainfo[7], "@R 99999-999") // CEP
Desc_Bairro := Alltrim(aInfo[13])
// MENSAGENS
If MENSAG1 # SPACE(1)
If FPHIST82(SRA->RA_FILIAL,"06",SRA->RA_FILIAL+MENSAG1)
DESC_MSG1 := Left(SRX->RX_TXT,30)
ElseIf FPHIST82(SRA->RA_FILIAL,"06"," "+MENSAG1)
DESC_MSG1 := Left(SRX->RX_TXT,30)
Endif
Endif
If MENSAG2 # SPACE(1)
If FPHIST82(SRA->RA_FILIAL,"06",SRA->RA_FILIAL+MENSAG2)
DESC_MSG2 := Left(SRX->RX_TXT,30)
ElseIf FPHIST82(SRA->RA_FILIAL,"06"," "+MENSAG2)
DESC_MSG2 := Left(SRX->RX_TXT,30)
Endif
Endif
If MENSAG3 # SPACE(1)
If FPHIST82(SRA->RA_FILIAL,"06",SRA->RA_FILIAL+MENSAG3)
DESC_MSG3 := Left(SRX->RX_TXT,30)
ElseIf FPHIST82(SRA->RA_FILIAL,"06"," "+MENSAG3)
DESC_MSG3 := Left(SRX->RX_TXT,30)
Endif
Endif
dbSelectArea("SRA")
cFilialAnt := SRA->RA_FILIAL
Endif
Totvenc := Totdesc := 0
If Esc == 1 .OR. Esc == 2
dbSelectArea("SRC")
dbSetOrder(1)
If dbSeek(SRA->RA_FILIAL + SRA->RA_MAT)
While !Eof() .And. SRC->RC_FILIAL+SRC->RC_MAT == SRA->RA_FILIAL+SRA->RA_MAT
If SRC->RC_SEMANA # Semana
dbSkip()
Loop
Endif
If !Eval(cAcessaSRC)
dbSkip()
Loop
EndIf
If (Esc == 1) .And. (Src->Rc_Pd == aCodFol[7,1]) // Desconto de Adto
fSomaPdRec("P",aCodFol[6,1],Eval(cNroHoras),SRC->RC_VALOR)
TOTVENC += Src->Rc_Valor
Elseif (Esc == 1) .And. (Src->Rc_Pd == aCodFol[12,1])
fSomaPdRec("D",aCodFol[9,1],Eval(cNroHoras),SRC->RC_VALOR)
TOTDESC += SRC->RC_VALOR
Elseif (Esc == 1) .And. (Src->Rc_Pd == aCodFol[8,1])
fSomaPdRec("P",aCodFol[8,1],Eval(cNroHoras),SRC->RC_VALOR)
TOTVENC += SRC->RC_VALOR
Else
If PosSrv( Src->Rc_Pd , SRA->RA_FILIAL , "RV_TIPOCOD" ) == "1"
If (Esc # 1) .Or. (Esc == 1 .And. SRV->RV_ADIANTA == "S")
If cPaisLoc == "PAR" .and. Eval(cNroHoras) == 30
LocGHabRea(Ctod("01/"+SubStr(DTOC(dDataRef),4)), Ctod(StrZero(F_ULTDIA(dDataRef),2)+"/"+Strzero(Month(dDataRef),2)+"/"+right(str(Year(dDataRef)),2),"ddmmyy"),@nHoras)
Else
nHoras := Eval(cNroHoras)
Endif
fSomaPdRec("P",SRC->RC_PD,nHoras,SRC->RC_VALOR)
TOTVENC += Src->Rc_Valor
Endif
Elseif SRV->RV_TIPOCOD == "2"
If (Esc # 1) .Or. (Esc == 1 .And. SRV->RV_ADIANTA == "S")
fSomaPdRec("D",SRC->RC_PD,Eval(cNroHoras),SRC->RC_VALOR)
TOTDESC += Src->Rc_Valor
Endif
Elseif SRV->RV_TIPOCOD == "3"
If (Esc # 1) .Or. (Esc == 1 .And. SRV->RV_ADIANTA == "S")
fSomaPdRec("B",SRC->RC_PD,Eval(cNroHoras),SRC->RC_VALOR)
Endif
Endif
Endif
If ESC = 1
If SRC->RC_PD == aCodFol[10,1]
nBaseIr := SRC->RC_VALOR
Endif
ElseIf SRC->RC_PD == aCodFol[13,1]
nAteLim += SRC->RC_VALOR
Elseif SRC->RC_PD$ aCodFol[108,1]+'*'+aCodFol[17,1]
nBaseFgts += SRC->RC_VALOR
Elseif SRC->RC_PD$ aCodFol[109,1]+'*'+aCodFol[18,1]
nFgts += SRC->RC_VALOR
Elseif SRC->RC_PD == aCodFol[15,1]
nBaseIr += SRC->RC_VALOR
Elseif SRC->RC_PD == aCodFol[16,1]
nBaseIrFe += SRC->RC_VALOR
Endif
dbSelectArea("SRC")
dbSkip()
Enddo
Endif
Elseif Esc == 3 .And. !(cPaisLoc $ "URU|ARG")
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Busca os codigos de pensao definidos no cadastro beneficiario³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
fBusCadBenef(@aCodBenef, "131",{aCodfol[172,1]})
dbSelectArea("SRC")
dbSetOrder(1)
If dbSeek(SRA->RA_FILIAL + SRA->RA_MAT)
While !Eof() .And. SRA->RA_FILIAL + SRA->RA_MAT == SRC->RC_FILIAL + SRC->RC_MAT
If !Eval(cAcessaSRC)
dbSkip()
Loop
EndIf
If SRC->RC_PD == aCodFol[22,1]
fSomaPdRec("P",SRC->RC_PD,Eval(cNroHoras),SRC->RC_VALOR)
TOTVENC += SRC->RC_VALOR
Elseif Ascan(aCodBenef, { |x| x[1] == SRC->RC_PD }) > 0
fSomaPdRec("D",SRC->RC_PD,Eval(cNroHoras),SRC->RC_VALOR)
TOTDESC += SRC->RC_VALOR
Elseif SRC->RC_PD == aCodFol[108,1] .Or. SRC->RC_PD == aCodFol[109,1] .Or. SRC->RC_PD == aCodFol[173,1]
fSomaPdRec("B",SRC->RC_PD,Eval(cNroHoras),SRC->RC_VALOR)
Endif
If SRC->RC_PD == aCodFol[108,1]
nBaseFgts := SRC->RC_VALOR
Elseif SRC->RC_PD == aCodFol[109,1]
nFgts := SRC->RC_VALOR
Endif
dbSelectArea("SRC")
dbSkip()
Enddo
Endif
Elseif Esc == 4 .or. If(cPaisLoc $ "URU|ARG", Esc ==3,.F.)
dbSelectArea("SRI")
dbSetOrder(2)
If dbSeek(SRA->RA_FILIAL + SRA->RA_CC + SRA->RA_MAT)
While !Eof() .And. SRA->RA_FILIAL + SRA->RA_CC + SRA->RA_MAT == SRI->RI_FILIAL + SRI->RI_CC + SRI->RI_MAT
If !Eval(cAcessaSRI)
dbSkip()
Loop
EndIf
If PosSrv( SRI->RI_PD , SRA->RA_FILIAL , "RV_TIPOCOD" ) == "1"
fSomaPdRec("P",SRI->RI_PD,SRI->RI_HORAS,SRI->RI_VALOR)
TOTVENC = TOTVENC + SRI->RI_VALOR
Elseif SRV->RV_TIPOCOD == "2"
fSomaPdRec("D",SRI->RI_PD,SRI->RI_HORAS,SRI->RI_VALOR)
TOTDESC = TOTDESC + SRI->RI_VALOR
Elseif SRV->RV_TIPOCOD == "3"
fSomaPdRec("B",SRI->RI_PD,SRI->RI_HORAS,SRI->RI_VALOR)
Endif
If SRI->RI_PD == aCodFol[19,1]
nAteLim += SRI->RI_VALOR
Elseif SRI->RI_PD$ aCodFol[108,1]
nBaseFgts += SRI->RI_VALOR
Elseif SRI->RI_PD$ aCodFol[109,1]
nFgts += SRI->RI_VALOR
Elseif SRI->RI_PD == aCodFol[27,1]
nBaseIr += SRI->RI_VALOR
Endif
dbSkip()
Enddo
Endif
Elseif Esc == 5
dbSelectArea("SR1")
dbSetOrder(1)
If dbSeek( SRA->RA_FILIAL + SRA->RA_MAT )
While !Eof() .And. SRA->RA_FILIAL + SRA->RA_MAT == SR1->R1_FILIAL + SR1->R1_MAT
If Semana # "99"
If SR1->R1_SEMANA # Semana
dbSkip()
Loop
Endif
Endif
If !Eval(cAcessaSR1)
dbSkip()
Loop
EndIf
If PosSrv( SR1->R1_PD , SRA->RA_FILIAL , "RV_TIPOCOD" ) == "1"
fSomaPdRec("P",SR1->R1_PD,SR1->R1_HORAS,SR1->R1_VALOR)
TOTVENC = TOTVENC + SR1->R1_VALOR
Elseif SRV->RV_TIPOCOD == "2"
fSomaPdRec("D",SR1->R1_PD,SR1->R1_HORAS,SR1->R1_VALOR)
TOTDESC = TOTDESC + SR1->R1_VALOR
Elseif SRV->RV_TIPOCOD == "3"
fSomaPdRec("B",SR1->R1_PD,SR1->R1_HORAS,SR1->R1_VALOR)
Endif
dbskip()
Enddo
Endif
Endif
If cPaisLoc == "ARG"
dbSelectArea("SRD")
If dbSeek(SRA->RA_FILIAL + SRA->RA_MAT)
While !Eof() .And. (SRA->RA_FILIAL+SRA->RA_MAT == SRD->RD_FILIAL+SRD->RD_MAT)
If (SRA->RA_FILIAL+SRA->RA_MAT == SRD->RD_FILIAL+SRD->RD_MAT).And. SRD->RD_DATARQ == cAnoMesAnt
If Esc == 1 .Or. Esc == 2
cDtPago := dtoc(SRD->RD_DATPGT)
ElseIf Esc == 3
If SRD->RD_TIPO2 == "P"
cDtPago := dtoc(SRD->RD_DATPGT)
Endif
ElseIf Esc == 4
If SRD->RD_TIPO2 == "S"
cDtPago := dtoc(SRD->RD_DATPGT)
Endif
Endif
Endif
dbSkip()
Enddo
Endif
Endif
dbSelectArea("SRA")
If TOTVENC = 0 .And. TOTDESC = 0
dbSkip()
Loop
Endif
If Vez == 0 .And. Esc == 2 //--> Verifica se for FOLHA.
PerSemana() // Carrega Datas referentes a Semana.
EndIf
If nTipRel == 1 .and. !( lTerminal )
fImpressao() // Impressao do Recibo de Pagamento
IF !( lTerminal )
If Vez = 0 .and. nTipRel # 3 .and. aReturn[5] # 1
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Descarrega teste de impressao ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
fImpTeste(cString)
If !lRetCanc
Exit
Endif
TotDesc := TotVenc := 0
If mv_par01 = 2
Loop
Endif
ENDIF
EndIF
ElseIf nTipRel == 2 .and. !( lTerminal )
For nX := 1 to If(cPaisLoc <> "ARG",2,2)
// Salta linha e espaço para cortar
if nx == 2
Li += 2
@ LI,00 PSAY "*"+REPLICATE("-",130)+"*"
Li += 2
EndIf
fImpreZebr()
Next nX
ASize(AProve,0)
ASize(ADesco,0)
ASize(aBases,0)
ElseIf nTipRel == 3 .or. lTerminal
cHtml := fSendDPgto(lTerminal) //Monta o corpo do e-mail e envia-o
ElseIf nTipRel == 4
For nx := 1 to nDuas // quantas vezes será impresso o mesmo funcionário
fImpGrf() // Imprime Holerit Grafico
Next
Endif
dbSelectArea("SRA")
SRA->( dbSkip() )
TOTDESC := TOTVENC := 0
EndDo
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Seleciona arq. defaut do Siga caso Imp. Mov. Anteriores ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If !Empty( cAliasMov )
fFimArqMov( cAliasMov , aOrdBag , cArqMov )
EndIf
If nTipRel == 4 .and. !lfirst
_oPrint:EndPage() // Finaliza a página
_oPrint:Preview() // Visualiza antes de imprimir
EndIf
IF !( lTerminal ) .and. nTipRel <> 4
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Termino do relatorio ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
dbSelectArea("SRC")
dbSetOrder(1) // Retorno a ordem 1
dbSelectArea("SRI")
dbSetOrder(1) // Retorno a ordem 1
dbSelectArea("SRA")
SET FILTER TO
RetIndex("SRA")
If !(Type("cArqNtx") == "U")
fErase(cArqNtx + OrdBagExt())
Endif
Set Device To Screen
If lEnvioOK
APMSGINFO(STR0042)
ElseIf nTipRel== 3
APMSGINFO(STR0043)
EndIf
SeTPgEject(.F.)
nlin:= 0
If aReturn[5] = 1 .and. nTipRel # 3
Set Printer To
Commit
ourspool(wnrel)
Endif
MS_FLUSH()
EndIF
Return( cHtml )
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³fImpressao³ Autor ³ R.H. - Ze Maria ³ Data ³ 14.03.95 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ IMRESSAO DO RECIBO FORMULARIO CONTINUO ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ fImpressao() ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/
Static Function fImpressao()
Local nConta := 0
Local nContr := 0
Local nContrT :=0
Private nLinhas:=16 // Numero de Linhas do Miolo do Recibo
Ordem_Rel := 1
If cPaisLoc == "ARG"
fCabecArg()
Else
fCabec()
Endif
For nConta = 1 To Len(aLanca)
fLanca(nConta)
nContr ++
nContrT ++
If nContr = nLinhas .And. nContrT < Len(aLanca)
nContr:=0
Ordem_Rel ++
fContinua()
If cPaisLoc == "ARG"
fCabecArg()
Else
fCabec()
Endif
Endif
Next nConta
Li:=Li -1
Li+=(nLinhas-nContr)
If cPaisLoc == "ARG"
@ ++LI,01 PSAY TRANS(TOTVENC,cPict1)
@ LI,44 PSAY TRANS(TOTDESC,cPict1)
@ LI,88 PSAY TRANS((TOTVENC-TOTDESC),cPict1)
Li +=2
@ Li,01 PSAY MesExtenso(MONTH(dDataRef)) + " de "+ STR(YEAR(dDataRef),4)
@ ++Li,01 PSAY EXTENSO(TOTVENC-TOTDESC,,,)+REPLICATE("*",130-LEN(EXTENSO(TOTVENC-TOTDESC,,,)))
@ ++Li,01 PSAY StrZero(Day(dDataRef),2) + " de " + MesExtenso(MONTH(dDataRef)) + " de "+STR(YEAR(dDataRef),4)
@ ++Li,01 PSAY TRANS((TOTVENC-TOTDESC),cPict1)
Else
fRodape()
Endif
Return Nil
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³fImpreZebr³ Autor ³ R.H. - Ze Maria ³ Data ³ 14.03.95 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ IMRESSAO DO RECIBO FORMULARIO ZEBRADO ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ fImpreZebr() ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/
Static Function fImpreZebr()
Local nConta := nContr := nContrT:=0
If li >= 70
li := 0
Endif
fCabecZ()
fLancaZ(nConta)
Return Nil
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³fCabec ³ Autor ³ R.H. - Ze Maria ³ Data ³ 14.03.95 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ IMRESSAO Cabe‡alho Form Continuo ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ fCabec() ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/
Static Function fCabec() // Cabecalho do Recibo
Local cCodFunc := "" //-- codigo da Funcao do funcionario
Local cDescFunc := "" //-- Descricao da Funcao do Funcionario
/*ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Carrega Funcao do Funcion. de acordo com a Dt Referencia ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ*/
fBuscaFunc(dDataRef, @cCodFunc, @cDescFunc )
@ PROW(),PCOL() PSAY ""
LI ++
@ LI,01 PSAY &cNormal+DESC_Fil
LI ++
@ LI,01 PSAY DESC_END
LI ++
@ LI,01 PSAY DESC_CGC
If !Empty(Semana) .And. Semana # '99' .And. Upper(SRA->RA_TIPOPGT) == 'S'
@ Li,37 pSay STR0013 + Semana + ' (' + cSem_De + STR0014 + ; //'Semana '###' a '
cSem_Ate + ')'
Else
@ LI,55 PSAY MesExtenso(MONTH(dDataRef))+"/"+STR(YEAR(dDataRef),4)
EndIf
LI +=2
@ LI,01 PSAY SRA->RA_Mat
@ LI,08 PSAY Left(SRA->RA_NOME,28)
@ LI,37 PSAY fCodCBO(SRA->RA_FILIAL,cCodFunc ,dDataRef)
@ LI,44 PSAY SRA->RA_Filial
@ LI,54 PSAY SRA->RA_CC
@ LI,65 PSAY ORDEM_REL PICTURE "9999"
LI ++
cDet := STR0015 + cCodFunc //-- Funcao
cDet += cDescFunc + ' '
cDet += DescCc(SRA->RA_CC,SRA->RA_FILIAL) + ' '
cDet += STR0016 + SRA->RA_CHAPA //'CHAPA: '
@ Li,01 pSay cDet
Li += 3 //2
Return Nil
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³fCabecz ³ Autor ³ R.H. - Ze Maria ³ Data ³ 14.03.95 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ IMRESSAO Cabe‡alho Form ZEBRADO ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ fCabecz() ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/
Static Function fCabecZ() // Cabecalho do Recibo Zebrado
Local cCodFunc := "" //-- codigo da Funcao do funcionario
Local cDescFunc := "" //-- Descricao da Funcao do Funcionario
Local OBMP
/*ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Carrega Funcao do Funcion. de acordo com a Dt Referencia ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ*/
fBuscaFunc(dDataRef, @cCodFunc, @cDescFunc )
@ Li,00 PSAY Avalimp(Limite)
LI ++
@ LI,00 PSAY "*"+REPLICATE("=",130)+"*"
LI ++
@ LI,00 PSAY "|"
@ LI,46 PSAY STR0017 //"RECIBO DE PAGAMENTO "
@ LI,131 PSAY "|"
LI ++
@ LI,00 PSAY "|"+REPLICATE("-",130)+"|"
LI ++
@ LI,00 PSAY STR0018 + DESC_Fil //"| Empresa : "
@ LI,92 PSAY STR0019 + SRA->RA_FILIAL //" Local : "
@ LI,131 PSAY "|"
LI ++
@ LI,00 PSAY STR0020 + SRA->RA_CC + " - " + Posicione("CTT",1,xFilial("CTT") + SRA->RA_CC, "CTT_DESC01") // DescCc(SRA->RA_CC,SRA->RA_FILIAL) //"| C Custo : "
If !Empty(Semana) .And. Semana # "99" .And. Upper(SRA->RA_TIPOPGT) == "S"
@ Li,92 pSay STR0021 + Semana + " (" + cSem_De + STR0022 + ; //'Sem.'###' a '
cSem_Ate + ")"
Else
@ LI,92 PSAY MesExtenso(MONTH(dDataRef))+"/"+STR(YEAR(dDataRef),4)
EndIf
@ LI,131 PSAY "|"
LI ++
ORDEMZ ++
@ LI,00 PSAY STR0023 + SRA->RA_MAT //"| Matricula : "
@ LI,30 PSAY STR0024 + SRA->RA_NOME //"Nome : "
@ LI,92 PSAY STR0025 //"Ordem : "
@ LI,100 PSAY StrZero(ORDEMZ,4) Picture "9999"
@ LI,131 PSAY "|"
LI ++
@ LI,00 PSAY STR0026+cCodFunc+" - "+cDescFunc //"| Funcao : "
@ LI,131 PSAY "|"
LI ++
@ LI,00 PSAY "|"+REPLICATE("-",130)+"|"
LI ++
@ LI,000 PSAY STR0027 //"| P R O V E N T O S "
@ LI,044 PSAY STR0028 //" D E S C O N T O S"
@ LI,088 PSAY STR0029 //" B A S E S"
@ LI,131 PSAY "|"
LI ++
@ LI,00 PSAY "|"+REPLICATE("-",130)+"|"
LI++
Return Nil
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³fCabecArg ºAutor ³Silvia Taguti º Data ³ 02/12/03 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³Impressao do Cabecalho - Argentina º±±
±±º ³Pre Impresso º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ AP6 º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
Static Function fCabecArg()
Local cCodFunc := "" //-- codigo da Funcao do funcionario
Local cDescFunc := "" //-- Descricao da Funcao do Funcionario
Local cCargo := "" //-- Codigo do Cargo do funcionario
/*ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Carrega Funcao do Funcion. de acordo com a Dt Referencia ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ*/
fBuscaFunc(dDataRef, @cCodFunc, @cDescFunc )
@ ++LI,01 PSAY DESC_Fil
@ ++LI,01 PSAY Alltrim(Desc_End)+" "+Alltrim(Desc_Comp)+" "+Desc_Cid
@ ++LI,01 PSAY DESC_CGC
@ ++LI,01 PSAY cDtPago
//@ LI,20 PSAY STR0072
@ LI,40 PSAY Alltrim(SRA->RA_BCDEPSAL) + "-" + DescBco(SRA->RA_BCDEPSAL,SRA->RA_FILIAL)
Li +=2
@ Li,01 PSAY SRA->RA_NOME
@ Li,45 PSAY SRA->RA_CIC
@ ++Li,01 PSAY SRA->RA_ADMISSA
@ Li,12 PSAY Substr(cDescFunc,1,15)
cCargo := fGetCargo(SRA->RA_MAT)
@ Li,30 PSAY Substr(fDesc("SQ3",cCargo,"SQ3->Q3_DESCSUM"),1,10)
Li += 2
Return Nil
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³fLanca ³ Autor ³ R.H. - Ze Maria ³ Data ³ 14.03.95 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ Impressao das Verbas (Lancamentos) Form. Continuo ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ fLanca() ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/
Static Function fLanca(nConta) // Impressao dos Lancamentos
Local cString := Transform(aLanca[nConta,5],cPict2)
Local nCol := If(aLanca[nConta,1]="P",43,If(aLanca[nConta,1]="D",57,27))
@ LI,01 PSAY aLanca[nConta,2]
@ LI,05 PSAY aLanca[nConta,3]
If aLanca[nConta,1] # "B" // So Imprime se nao for base
@ LI,36 PSAY TRANSFORM(aLanca[nConta,4],"999.99")
Endif
@ LI,nCol PSAY cString
Li ++
Return Nil
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³fLancaZ ³ Autor ³ R.H. - Ze Maria ³ Data ³ 14.03.95 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ Impressao das Verbas (Lancamentos) Zebrado ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ fLancaZ() ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/
Static Function fLancaZ(nConta) // Impressao dos Lancamentos
Local nTermina := 0
Local nCont := 0
Local nCont1 := 0
Local nValidos := 0
nTermina := Max(Max(LEN(aProve),LEN(aDesco)),LEN(aBases))
For nCont := 1 To nTermina
@ LI,00 PSAY "|"
IF nCont <= LEN(aProve)
@ LI,02 PSAY aProve[nCont,1]+TRANSFORM(aProve[nCont,2],'999.99')+TRANSFORM(aProve[nCont,3],cPict3)
ENDIF
@ LI,44 PSAY "|"
IF nCont <= LEN(aDesco)
@ LI,46 PSAY aDesco[nCont,1]+TRANSFORM(aDesco[nCont,2],'999.99')+TRANSFORM(aDesco[nCont,3],cPict3)
ENDIF
@ LI,88 PSAY "|"
IF nCont <= LEN(aBases)
@ LI,90 PSAY aBases[nCont,1]+TRANSFORM(aBases[nCont,2],'999.99')+TRANSFORM(aBases[nCont,3],cPict3)
ENDIF
@ LI,131 PSAY "|"
//---- Soma 1 nos nValidos e Linha
nValidos ++
Li ++
If nValidos = If(cPaisLoc <> "ARG",14,10)
@ LI,00 PSAY "|"+REPLICATE("-",130)+"|"
LI ++
@ LI,00 PSAY "|"
@ LI,05 PSAY STR0030 // "CONTINUA !!!"
// @ LI,76 PSAY "|"+&cCompac
LI ++
@ LI,00 PSAY "*"+REPLICATE("=",130)+"*"
LI += 8
If li >= 60
li := 0
Endif
If cPaisLoc == "ARG"
fCabecZAr()
Else
fCabecZ()
Endif
nValidos := 0
ENDIF
Next nCont
For nCont1 := nValidos+1 To If(cPaisLoc <> "ARG",14,10)
@ Li,00 PSAY "|"
@ Li,44 PSAY "|"
@ Li,88 PSAY "|"
@ Li,131 PSAY "|"
Li++
Next nCont1
If cPaisLoc <> "ARG"
@ LI,00 PSAY "|"+REPLICATE("-",130)+"|"
LI ++
@ LI,000 PSAY "|"
@ LI,005 PSAY DESC_MSG1
@ LI,044 PSAY STR0031+SPACE(10)+TRANS(TOTVENC,cPict1) //"| TOTAL BRUTO "
@ LI,088 PSAY "|"+STR0032+SPACE(07)+TRANS(TOTDESC,cPict1) //" TOTAL DESCONTOS "
@ LI,131 PSAY "|"
LI ++
@ LI,000 PSAY "|"
@ LI,005 PSAY DESC_MSG2
@ LI,044 PSAY "|"+REPLICATE("-",86)+"|"
LI ++
@ LI,000 PSAY "|"
@ LI,005 PSAY DESC_MSG3
@ LI,044 PSAY STR0033+SRA->RA_BCDEPSA + "- Nao Cadastrado " // DescBco(SRA->RA_BCDEPSAL,SRA->RA_FILIAL) //"| CREDITO:"
@ LI,088 PSAY STR0034+SPACE(05)+TRANS((TOTVENC-TOTDESC),cPict1) //"| LIQUIDO A RECEBER "
@ LI,131 PSAY "|"
LI ++
@ LI,000 PSAY "|"+REPLICATE("-",130)+"|"
LI ++
@ LI,000 PSAY "|"
@ LI,034 PSAY STR0035 + SRA->RA_CTDEPSAL //"| CONTA:"
@ LI,088 PSAY "|"
@ LI,131 PSAY "|"
LI ++
@ LI,000 PSAY "|"+REPLICATE("-",130)+"|"
LI ++
@ LI,00 PSAY STR0036 + Replicate("_",40) //"| Recebi o valor acima em ___/___/___ "
@ li,131 PSAY "|"
LI ++
@ LI,00 PSAY "*"+REPLICATE("=",130)+"*"
Endif
Li += 1
//Quebrar pagina
If LI > 70
LI := 0
EndIf
Return Nil
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³fContinua ³ Autor ³ R.H. - Ze Maria ³ Data ³ 14.03.95 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ Impressap da Continuacao do Recibo ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ fContinua() ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/
Static Function fContinua() // Continuacao do Recibo
Li+=1
@ LI,05 PSAY &cNormal + STR0037 //"CONTINUA !!!"
Li+= 7 //8
Return Nil
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³fRodape ³ Autor ³ R.H. - Ze Maria ³ Data ³ 14.03.95 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ Impressao do Rodape ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ fRodape() ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±±±±±±±±±±±±±±±±±±±±±±±
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
12 anos 3 meses atrás #2807
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: Recibo de Pagamento - Modo Gráfico.
Lucia Boa Noite, para anexar arquivos com extensão .PRW é necessário compacta-los ok, pois o download fica todo bagunçado.
Obrigado.
Obrigado.
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.
- lvaleria
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 5
- Obrigados Recebidos: 0
- wmellojr
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 19
- Obrigados Recebidos: 0
- Fórum
- Protheus/Microsiga/Totvs
- Módulos do Protheus
- Módulo Gestão de Pessoal
- Recibo de Pagamento - Modo Gráfico.
Tempo para a criação da página:0.177 segundos