Home

Linha Microsiga Protheus

Páginas filhas
  • FINBAIXAS - Retorno de movimentos de baixa -- 23667

FINBAIXAS() - Retorno de movimentos de baixa

Função para retorno dos movimentos de baixa com os parâmetros- Carteira- Data Inicial do Período- Data Final do Período   - Baixas com movimento bancário ou todas- Tipo de título para filtragem específicaRetorno:- Alias da Query (TRB) com os dados para consulta.

FinBaixas - Data 31.08.2009 

Retorna Alias de TRB que contem os registros das baixas realizadas em determinado periodo Parametros ExpN1: Número da Operação 1 - Criação do arquivo e filtragem de dados 2 - Fechar arquivo temporario ExpC2: Carteira do processo R - Receber P - Pagar ExpD3: Data inicial do periodo das baixas ExpD4: Data final do periodo das baixas ExpC5: Alias do resultado da filtragem dos dados Operação tipo 1 - passar por referencia Operação tipo 2 - passar nome do alias (caracter) ExpL6: Considerar apenas motivos de baixa que gerem movimento (Efetivo pagamento) ou todas as baixas ExpC7: Tipo especifico de titulo para verificar as baixas ExpA8: Array contendo os motivos de baixa especificos para selecao das baixas Retorno ExpC1: Alias do TRB com os dados referentes as baixas de um determinado periodo

Function FinBaixas(nOper,cCart,dDataIni,dDataFin,cAlias,lMovBcoBx,cTipo,aMotBxEsp)

Exemplo de uso desta função:

 #INCLUDE "protheus.CH" User Function VerBaixas() //Filtrando as baixas Local cAlias := "" Local cTipo := "" Local dDataIni := dDatabase-30 Local dDataFin := dDatabase Local nRadio := 1 PRIVATE aRotina :={{ "aRotina Falso", "AxPesq", 0, 1 },; { "aRotina Falso", "AxVisual", 0, 2 },; { "aRotina Falso", "AxInclui", 0, 3 },; { "aRotina Falso", "AxAltera", 0, 4 }} aHeader := {} aCols := {} While .T. nOpca := 0 DEFINE MSDIALOG oDlg FROM 094,1 TO 200,293 TITLE "Lista de Baixas do ultimo mês" PIXEL @ 05,07 TO 32, 140 OF oDlg PIXEL @ 10,10 Radio oRadio VAR nRadio; ITEMS "Baixas com Movimento Bancario",; "Todas as Baixas"; 3D SIZE 100,10 OF oDlg PIXEL DEFINE SBUTTON FROM 35,085 TYPE 1 ENABLE OF oDlg ACTION (nOpca := 1, oDlg:End()) DEFINE SBUTTON FROM 35,115 TYPE 2 ENABLE OF oDlg ACTION (nOpca := 0, oDlg:End()) ACTIVATE MSDIALOG oDlg CENTERED If nOpca == 0 Exit Else If nRadio == 1 lMovBcoBx := .T. ElseIf nRadio == 2 lMovBcoBx := .F. Endif aHeader := {} aCols := {} FinBaixas(1,"R",dDataIni,dDataFin,@cAlias,lMovBcoBx,cTipo) If !(cAlias)->(EOF()) FinaCols(cAlias) aSize := MsAdvSize() DEFINE MSDIALOG oDlg TITLE "Dados das baixas" From aSize[7],0 To aSize[6],aSize[5] OF oMainWnd PIXEL oDlg:lMaximized := .T. ///////////////// // painel 1 - MSMGET - Dados do titulo gerador do desdobramento oPanel := TPanel():New(0,0,'',oDlg,, .T., .T.,, ,30,30,.F.,.F.) oPanel:Align := CONTROL_ALIGN_TOP @ 003 , 005 Say "Dados das Baixas:" PIXEL Of oPanel @ 012 , 005 Say "Data Inicial : " + Dtoc(dDataIni) PIXEL Of oPanel @ 021 , 005 Say "Data Final : " + Dtoc(dDataFin) PIXEL Of oPanel ///////////////// // painel 2 - MsGetDados - Dados dos titulos gerados pelo desdobramento oPanel2 := TPanel():New(0,0,"Dados das Baixas",oDlg,, .T., .T.,, ,25,25,.F.,.F.) oPanel2:Align := CONTROL_ALIGN_ALLCLIENT oGetDados:= MsGetDados():New(0,0,200,315,2,,,,,.F.,,.T.,900,,,,,oPanel2) oGetDados:oBrowse:Align := CONTROL_ALIGN_ALLCLIENT ACTIVATE MSDIALOG oDlg ON INIT EnchoiceBar(oDlg,{||oDlg:End()},{||oDlg:End()}) CENTERED Else MsgInfo("Nenhuma baixa foi encontrada") Endif Endif //exclui trb If Select(cAlias) > 0 FinBaixas(2,,,,,cAlias) Endif Enddo Return Static Function FINaCols(cAliasTrb) Local aArea := GetArea() Local nI := 0 Local nUsado:= 0 dbSelectArea("SX3") dbSetOrder(2) dbSeek("E5_PREFIXO") aadd(aHeader,{ AllTrim(X3Titulo()),SX3->X3_CAMPO,SX3->X3_PICTURE,SX3->X3_TAMANHO,SX3->X3_DECIMAL,SX3->X3_VALID,SX3->X3_USADO,SX3->X3_TIPO,SX3->X3_ARQUIVO,SX3->X3_CONTEXT } ) dbSeek("E5_NUMERO") aadd(aHeader,{ AllTrim(X3Titulo()),SX3->X3_CAMPO,SX3->X3_PICTURE,SX3->X3_TAMANHO,SX3->X3_DECIMAL,SX3->X3_VALID,SX3->X3_USADO,SX3->X3_TIPO,SX3->X3_ARQUIVO,SX3->X3_CONTEXT } ) dbSeek("E5_PARCELA") aadd(aHeader,{ AllTrim(X3Titulo()),SX3->X3_CAMPO,SX3->X3_PICTURE,SX3->X3_TAMANHO,SX3->X3_DECIMAL,SX3->X3_VALID,SX3->X3_USADO,SX3->X3_TIPO,SX3->X3_ARQUIVO,SX3->X3_CONTEXT } ) dbSeek("E5_TIPO") aadd(aHeader,{ AllTrim(X3Titulo()),SX3->X3_CAMPO,SX3->X3_PICTURE,SX3->X3_TAMANHO,SX3->X3_DECIMAL,SX3->X3_VALID,SX3->X3_USADO,SX3->X3_TIPO,SX3->X3_ARQUIVO,SX3->X3_CONTEXT } ) dbSeek("E5_CLIFOR") aadd(aHeader,{ AllTrim(X3Titulo()),SX3->X3_CAMPO,SX3->X3_PICTURE,SX3->X3_TAMANHO,SX3->X3_DECIMAL,SX3->X3_VALID,SX3->X3_USADO,SX3->X3_TIPO,SX3->X3_ARQUIVO,SX3->X3_CONTEXT } ) dbSeek("E5_LOJA") aadd(aHeader,{ AllTrim(X3Titulo()),SX3->X3_CAMPO,SX3->X3_PICTURE,SX3->X3_TAMANHO,SX3->X3_DECIMAL,SX3->X3_VALID,SX3->X3_USADO,SX3->X3_TIPO,SX3->X3_ARQUIVO,SX3->X3_CONTEXT } ) dbSeek("E5_DTDISPO") aadd(aHeader,{ AllTrim(X3Titulo()),SX3->X3_CAMPO,SX3->X3_PICTURE,SX3->X3_TAMANHO,SX3->X3_DECIMAL,SX3->X3_VALID,SX3->X3_USADO,SX3->X3_TIPO,SX3->X3_ARQUIVO,SX3->X3_CONTEXT } ) dbSeek("E5_VALOR") aadd(aHeader,{ AllTrim(X3Titulo()),SX3->X3_CAMPO,SX3->X3_PICTURE,SX3->X3_TAMANHO,SX3->X3_DECIMAL,SX3->X3_VALID,SX3->X3_USADO,SX3->X3_TIPO,SX3->X3_ARQUIVO,SX3->X3_CONTEXT } ) dbSeek("E5_MOTBX") aadd(aHeader,{ AllTrim(X3Titulo()),SX3->X3_CAMPO,SX3->X3_PICTURE,SX3->X3_TAMANHO,SX3->X3_DECIMAL,SX3->X3_VALID,SX3->X3_USADO,SX3->X3_TIPO,SX3->X3_ARQUIVO,SX3->X3_CONTEXT } ) dbSeek("E5_TIPODOC") aadd(aHeader,{ AllTrim(X3Titulo()),SX3->X3_CAMPO,SX3->X3_PICTURE,SX3->X3_TAMANHO,SX3->X3_DECIMAL,SX3->X3_VALID,SX3->X3_USADO,SX3->X3_TIPO,SX3->X3_ARQUIVO,SX3->X3_CONTEXT } ) nUsado := Len(aHeader) //Monta Acols While !(cAliasTrb)->(EOF()) AADD(aCols,Array(nUsado+1)) For nI := 1 To nUsado aCols[Len(aCols)][nI] := (cAliasTrb)->(FieldGet(FieldPos(aHeader[nI][2]))) Next nI aCols[Len(aCols)][nUsado+1] := .F. (cAliasTrb)->(dbSkip()) Enddo RestArea(aArea) Return