Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Posição do ArrayTipoConteúdo
aFiltros[01]CConta Orçamentária De
aFiltros[02]CConta Orçamentária Até
aFiltros[03]CClasse Orçamentária De
aFiltros[04]CClasse Orçamentária Até
aFiltros[05]CTipo de Saldo
aFiltros[06]CCentro de Custo De
aFiltros[07]CCentro de Custo Até
aFiltros[08]CItem De
aFiltros[09]CItem Até
aFiltros[10]CClasse de Valor De
aFiltros[11]CClasse de Valor Até

Exemplo prático:

Bloco de código
languagebashc#
themeRDarkfirstline1Midnight
titleExemplo Práticolinenumberstrue
Local cTblName  := "" //Nome do arquivo temporário no banco de dados
Local cArqTmp 	:= GetNextAlias()
Local cMoeda  	:= "01"
Local lPorVisao := .TF.
Local dDataIni 	:= STOD("20190101")
Local dDataFim 	:= STOD("20191231")
Local aFiltros  := { " ","ZZZZZZZ",;  //Conta Orçamentária De / Até
                     " ","ZZZZZZZ",;  //Classe Orçamentária De / Até
                     " ",;            //Tipo de Saldo
                     " ","ZZZZZZZ",;  //Centro de Custo De / Até
                     " ","ZZZZZZZ",;  //Item De / Até
                     " ","ZZZZZZZ" }  //Classe de Valor De / Até

cTblName := PCGerPlan(nil,nil,nil,nil,cArqtmp,cMoeda,lPorVisao,nil,dDataIni,dDataFim,aFiltros)

...

A variável lPorVisao deve ser declarada como .T. - Verdadeiro
Os filtros serão feitos posicionando na visão gerencial gerêncial passada por parâmetro pela variável cCodVisao.

03. TELA XXXXX

Outras Ações / Ações relacionadas

...

Bloco de código
languagec#
themeMidnight
titleExemplo Prático
Local cTblName  := "" //Nome do arquivo temporário no banco de dados
Local cArqTmp 	:= GetNextAlias()
Local cMoeda  	:= "01"
Local lPorVisao := .T.
Local cCodVisao := "001" //Visão pré cadastrada na rotina PCOA170-Visão Gerencial Orçamentária
Local dDataIni 	:= STOD("20190101")
Local dDataFim 	:= STOD("20191231")

cTblName := PCGerPlan(nil,nil,nil,nil,cArqtmp,cMoeda,lPorVisao,cCodVisao,dDataIni,dDataFim)


03. EXEMPLO DE CÓDIGO FUNCIONAL


Bloco de código
languagec#
themeMidnight
titleExemplo Prático
Function ChamaXSAL() 
Local cArqTmp   := GetNextAlias()
Local lPorVisao := .F.
Local cCodVisao := "001"
Local cMoeda    := ""
Local dDataIni  := STOD("")
Local dDataFim  := STOD("")
Local oMeter    
Local oText
Local oDlg
Local lEnd

aFiltros := {" ","ZZZZZZZ",; //Conta Orçamentária De / Até
             " ","ZZZZZZZ",; //Classe Orçamentária De / Até
             " ",;           //Tipo de Saldo
             " ","ZZZZZZZ",; //Centro de Custo De / Até
             " ","ZZZZZZZ",; //Item De / Até
             " ","ZZZZZZZ" } //Classe de Valor De / Até

aFiltAd  := {" ","ZZZZZZZ",; //Entidade adicional 01 De / Até
             " ","ZZZZZZZ",; //Entidade adicional 02 De / Até            
             " ","ZZZZZZZ",; //Entidade adicional 03 De / Até
             " ","ZZZZZZZ",; //Entidade adicional 04 De / Até
             " ","ZZZZZZZ" } //Entidade adicional 05 De / Até

//A função pode ser chamada com ou sem régua de processamento MsgMeter()
//Neste exemplo estamos utilizando

If (Aviso("Atenção","Como quer executar a rotina?",{"Parâmetro","Visão"},1)==1)

	//Método por parâmetro
	//A variável cCodVisão não será considerada
	//Serão utilizados os arrays de filtro

    lPorVisao := .F.
    dDataIni  := STOD("20190101")
    dDataFim  := STOD("20190131")
    MsgMeter({|	oMeter, oText, oDlg, lEnd |;
    PCGerPlan(oMeter,oText,oDlg,lEnd,cArqtmp,cMoeda,lPorVisao,cCodVisao,dDataIni,dDataFim,aFiltros,aFiltAd);
    },"Processando dados...","Aguarde")
Else

	//Método por visão
	//A variável cCodVisão será considerada
	//Os arrays de filtro serão desconsiderados

    lPorVisao := .T.
    dDataIni  := STOD("20190101")
    dDataFim  := STOD("20190131")
    MsgMeter({|	oMeter, oText, oDlg, lEnd |;
    PCGerPlan(oMeter,oText,oDlg,lEnd,cArqtmp,cMoeda,lPorVisao,cCodVisao,dDataIni,dDataFim,aFiltros,aFiltAd);
    },"Processando dados...","Aguarde")
EndIf

//Exibe em tela a quantidade de registros inseridos no arquivo de trabalho
If (cArqTmp)->(Select()) > 0    
    Aviso("Atenção",cValToChar((cArqTmp)->(RecCount()))+" registros inseridos na tabela temporária",{"Ok"},1)
    (cArqTmp)->(dbCloseArea())
EndIf

Return

...

04. TELA XXXXX

Principais Campos e Parâmetros

...