terça-feira, 10 de abril de 2012

Régua de Registros Funcionando (Protheus)

Olá,

Essa semana me deparei com o seguinte problema, fazer a régua do Protheus funcionar.
Observei os manuais, pesquisei várias coisas na internet e cheguei a uma solução simples e funcional.

Chamando a função Processa(Ação, cTitulo, cMensagem, cParam).

onde Ação é o programa que iremos utilizar para realizar o que queremos, cTitulo é a mensagem que irá aparecer na barra de título da caixa de processamento, cMensagem é a mesagem que vai aparecer logo acima da régua, cParam é o parametro (.T. ou .F.) que define se o botão de cancelar estará ativo ou não.

Abaixo temos um exemplo da tela e abaixo da tela temos o código fonte utilizado.

#Include "TopConn.ch"

/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma  ³cTest     ºAutor  ³Daniel Menezes      º Data ³  03/29/12   º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc.     ³                                                            º±±
±±º          ³                                                            º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso       ³ AP                                                         º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/


User Function cTest

Processa( {|| xProc()}, "Tela de Processamento" , "Realizando Consulta...", .T.)

Static Function xProc

Private nRec

xPesq()

ProcRegua(nRec)    // Cria a régua com a quantidade de registros contatos
DbSelectArea("PSQ")
PSQ->(DbGoTop())     // Na contagem de registros o sistema posiciona no ultimo registros, usamos para reposicionar no primeiro registro.

Do While PSQ->(!Eof())
                
           IncProc(PSQ->(FILIAL + " - " + MAT + " - " + SubStr(NOME,1,25))) //Altera o texto da régua em tempo de execução.
    
PSQ->(DbSkip())

EndDo

PSQ->(dbCloseArea())

Return


Static Function xPesq

cArqSRA    := RetSqlName("SRA")

    cQry:= " SELECT A.RA_FILIAL AS FILIAL, A.RA_MAT MAT, LTRIM(A.RA_NOME) NOME 
    cQry+= " FROM " + cArqSRA + " A
    cQry+= " WHERE A.D_E_L_E_T_ <> '*' "
    cQry+= " AND A.RA_SITFOLH IN (' ','F')"

TCQUERY cQry NEW ALIAS "PSQ"

Count To nRec     //Varre o Alias criado e conta o número de registros.

Return

terça-feira, 13 de março de 2012

apt-get com internet com proxy




Olá,


Hoje eu fiz a instalação de uma maquina virtual com Linux Ubuntu 11.10 e me deparei com um problema um tanto complicado.
Como atualizar via apt-get já que eu estou utilizando uma rede com proxy, pesquisei um bocado até achar uma solução muito interessante.




Configurando "apt-get" com Proxy Transparente


# sudo vi /etc/environment


http_proxy="http://endereçoproxy:3128"
ftp_proxy= "http://endereçoproxy:3128" 


Acquire {
HTTP::Proxy  http://endereçoproxy:3128;
FTP::Proxy  http://endereçoproxy:3128;
};
alias wget="wget -Y on" 


No exemplo acima é demonstrada a configuração do proxy para o protocolo HTTP e FTP.
Você também deve informar o endereço e a porta do seu servidor Proxy (Squid).


Edite o arquivo de configuração do APT-GET:


# sudo vi /etc/apt/apt.conf


Adicione as seguintes linhas:


Acquire {
HTTP::proxy "http://endereçoproxy:3128";
FTP::proxy "http://endereçoproxy:3128";
};


Está pronto.


Configurando "apt-get" para Proxy com Autenticação
Para configurar o "apt-get" para Proxy com Autenticação é necessário incluir o usuário e senha, como
EXEMPLO irei utilizar o usuário "user1" e a senha "123654".
Primeiro edite o arquivo de variáveis de ambiente com o comando abaixo:


#sudo vi /etc/environment 


E inclua o seguinte conteúdo no arquivo "environment":


http_proxy="http://user1:123654@endereçoproxy:3128"
ftp_proxy="http://user1:123654@endereçoproxy:3128" 


Acquire {
HTTP::Proxy  user1:123654@endereçoproxy:3128;
FTP::Proxy  user1:123654@endereçoproxy:3128 ;
};
alias wget="wget --proxy-user=user1 --proxy-passwd=123654"