Exemplos de uso da função NAVEGAR()

Foto de Anderson

Consulta de dados. Utiliza uma função personalizada quando o usuário tecla [Enter] para mostrar os vencedores e participantes da licitação. Teclas [Insert] e [Delete] estão desabilitadas neste exemplo.

Possui colunas criadas por funções personalizadas.

aTITU := {"PROCESSO", "OBJETO", "SITUAÇÃO", "DATA", "SESSÃO", "HORA"}
aCAMP := {"LIC(MODALIDADE,NUMERO,COMPL,ANO)", "OBJETO", "SITUA(TRESULTADO)", "INICIO", "SESSAO", "SESSAOHORA"}
aMASK := {"@!","@!S62",,,,,,,,}
abROT := { {|| UNPLUGGED()}, {|| MOSTRALIC()}, {|| UNPLUGGED()}, {|| UNPLUGGED()}}

NAVEGAR(02,00,22,MAXCOL(), "TODOS OS PROCESSOS LICITATÓRIOS",,,;
               aTITU, aCAMP, aMASk,;
               abROT)

FUNCTION UNPLUGGED()
// ESSA FUNÇÃO NÃO FAZ NADA MESMO, SERVE PARA DESABILITAR A FUNÇÃO PADRÃO
RETURN

Esse exemplo usa VALIDAÇÃO. Só cadastra CPF se for válido.

ABREDBF("RESPONSA", "RSP")
aTITU := {"NOME", "CPF"              , "POSSE", "SAÍDA"}
aCAMP := {"NOME", "CPF"              , "POSSE", "SAIDA"}
aMASK := {"@!",   "@R 999.999.999-99",        ,        }
aVALID:= {".T.",  "CGC(CPF)"         , ".T."  , ".T."  }

NAVEGAR(02,00,22,79, "RESPONSÁVEL DO SETOR DE LICITAÇÃO PELAS CONTRATAÇÕES DIRETAS",,,;
        aTITU, aCAMP, aMASk, , aVALID)
// Essa função CGC() encontra-se no programa EXTRAS.PRG que acompanha NAVEGAR.PRG

Esse exemplo usa máscaras; VALID; WHEN e rotinas personalizadas:

aTITU := {"CNPJ", "RAZÃO SOCIAL","ITEM/LOTE","CONTRATADO R$", "EMPENHO","ODC/ODS/OS", "No.",;
				"ASSINATURA", "CONTRATO", "VENCIMENTO",  "PUB. EXTRATO"} 
aCAMP := {"CNPJ", "IIF ( EMPTY(CRC->RAZAO), 'NÃO CADASTRADA'+SPACE(26), CRC->RAZAO)",;
                                         "ITEMLOTE", "CONTRATADO", "EMPENHO","TIPO", "CONTRATO", "VIGEINI",  "CTR", "VIGEFIM",     "EXTRATOCTR"}
aMASK := {"@R 99.999.999/9999-99",;
                          "@!S45",                  ,"@E 999,999,999.99","@!",,"@R 999/99",,"@R 999/99",,}
aVALID:= {".T.", ".T."                , ".T.", ".T.", ".T."            ,"TIPOCTR(getactive():buffer)", "CTR(getactive():buffer)", "DATA1(getactive():buffer)", ".T.", "CTOD(getactive():buffer)>=EMP->VIGEINI .OR. EMPTY(CTOD(getactive():buffer)) .OR. EMPTY(EMP->VIGEINI)"              , ".T." }
aWHEN := {".T.", "EMPRESA(CRC->RAZAO)", ".T.", ".T.", EMP->CONTRATADO>0, "EMP->CONTRATADO>0"         , "EMP->CONTRATADO>0"      , "EMP->CONTRATADO>0"        , "EMP->CONTRATADO>0"                                                                                   , "EMP->CONTRATADO>0", "EMP->CONTRATADO>0" }         
abROT := { {|| EMP->(INSPARTS(oTBRX, aCAMP,,, aMASK, aVALID, aTITU, aWHEN, .T., aMESSAGE))} }
NAVEGAR(09,00,22,79, cTITULO,,,;
           aTITU, aCAMP, aMASk,;
           abROT, aVALID, aWHEN,,,.T., aMESSAGE)
Total votes: 0