Um dos grandes paradigmas ao se iniciar em programação ou uma nova linguagem, é o tempo necessário para se conhecer os comandos iniciais, assim como a estrutura que forma o corpo de um programa. Programadores experientes e iniciantes costumam encarar com certa resistência a adoção de uma nova linguagem de programação.

O ADA foi desenvolvido para auxiliar equipes de desenvolvimento sejam formadas por iniciantes ou não a criarem novos módulos e estenderem as funcionalidades do sistema Autocom3. Partindo de um ambiente amigável e rica em recursos o ADA fornece meios para a criação rápida e descomplicada tornando assim todo o processo de desenvolvimento mais fácil.O ADA é uma ferramenta orientada a objetos e eventos, e o melhor, não é necessário profundo conhecimento sobre o seu uso para começar a desenvolver.

Observação

Para que todo o desenvolvimento feito por meio do ada seja uniforme e limpo, procure seguir as notações e padrões adotadas para os programas e funções já escritos, o ada foi desenvolvido para que o tempo de aprendizado e os requisitos de interface/usabilidade não sejam impedimento para o início rápido do desenvolvimento de novos recursos. Muitas funções, procedimentos e ações foram pensadas, escritas e testadas para que a equipe de desenvolvimento comece a trabalhar com fluidez e clareza em novos módulos do sistema, atendendo assim com mais facilidade as necessidades da empresa.

Para Começar

Verifique que sua chave Hardlock esteja devidamente conectada a uma porta USB do computador.*Execute o software de controle de licenças hardserv.*Caso não tenha ainda executado o hardserv pressione a combinação de teclas Windows+R isso abrirá a janela executar e digite o seguinte caminho.**X:\AUTOCOM3_ERP\hardserv.exe (onde X representa a letra da unidade onde se encontra instalado o sistema autocom3. File:hardlock.jpg|hardlock File:cadeado.jpg|icone do hardserv File:adaicon.jpg|icone do ada

Conhecendo o ADA

Neste pequeno tutorial iniciaremos a criação de uma tela que permitirá a consulta a uma base de dados.

Tela Inicial

Criar projetos,2. Criar formulários,3. Criar e organizar o menu principal do autocom34. Modelagem da base de dados,5. Criar novo item follow-up


Iniciando um novo Projeto

A criação do projeto é simples e rápida, após clicar sobre o botão projetos(1) clique sobre o botão Inserir(2) os campos serão liberados para preenchimento, preencha com as informações(3): *Código do projeto *Nome do Projeto *Nome do Cliente *Usuário de testes no ambiente desenvolvimento *Local padrão para exportação do projeto *Obs. Após fornecer as informações clique sobre o botão salvar para gravar as informações sobre o novo projeto, para não salvar basta clicar sobre o botão cancelar. O botão cancelar pode ser usado tanto para cancelar um novo projeto como para cancelar modificações feitas em projetos já existentes.

Criando Formulários

Após criar um projeto já poderá iniciar com os formulários.

Para criar um formulário clique no botão formulários(1) e depois em Incluir (2) preencha as informações referentes ao novo formulário(3): *Cód. Projeto – Selecione o projeto pai do formulário. *Nome Formulário – Nome do novo formulário. *Tipo – Tipo do formulário que será criado. **Poderá ser… ***Formulário Comum – Usado para consultas e finalidades diversas ***Formulário Cadastro – Usado para montagem de telas de edição de registros ***Formulário Relatório – Usado para a montagem de relatórios diversos ***Formulário Interface Lateral – Usado para a criação de menus personalizados *Nome do Arquivo – Nome de arquivo para gravação em disco (preenchimento automático). Após salvar as definições do novo formulário cliquem em criar formulário para que o ADA leia as definições e gere o formulário para que possa iniciar.


Editando um Formulário

Uma vez criado o formulário poderá receber diversos tipos de controles e funções para que sirva ao seu propósito e faça parte do autocom3.


Caixa de Ferramentas

Para auxiliar no desenvolvimento o ADA possui duas bibliotecas de componentes desenvolvidos com a finalidade de prover funcionalidades avançadas de forma simples e descomplicada. Em ADA Componentes são encontrados os controles comuns de formulários campo texto, rótulos, botões etc., já em ADA funções poderão ser encontradas ferramentas de conexão a banco de dados, envio de e-mail, transmissão de arquivos via FTP

etc.


Para Carregar as Bibliotecas do ADA

Se não estiver aberta abra a caixa de ferramentas clicando sobre o botão form controls toolbar(1).  A barra de ferramentas deverá aparecer, clique no botão onde aparecem alguns livros (botão view classes) e selecione

Add…(2) 



Selecione o caminho c:\autocom3_erp\ClasseseOcx Escolha entreada_componentes.vcx ou ada_funcoes.vcx Uma vez selecionadas as ferramentas terá agora a mão todos os componentes necessários para criar formulários com o mesmo padrão de qualidade e confiabilidade oferecidos pelo sistema Autocom3.

Conhecendo os Componentes de ADA_Componentes

Frame1 – Um container para agrupamento de diversos controles. |-

Frame Totalizador – Um container customizado para a exibição de totais em módulos financeiros.

Container1 – Um container customizado, implementa a aparência padrão dos formulários autocom3, serve para organizar a interface com o usuário. |

CommandButton_grafico – um botão de comando personalizado onde uma imagem pode ser usada para representar o botão.

Optiongroup1 – Um container customizado com botões de rádio para a escolha de opções únicas.

CommandButton – um botão de comando personalizado com os ícones padrão do autocom3.

Editbox1 – Uma caixa de texto para a edição de texto de múltiplas linhas.

Textbox1 – Uma caixa de texto para a edição de textos de uma linha.

Listbox1 – Usada para a criação de listagens, quando é necessário apresentar ao usuário uma lista com opções pré-definidas.

Combobox1 – Usada para a exibição de listagens, assim como o listbox, mas na parte superior possui um campo texto, o que permite pesquisar seu conteúdo.

Link_Font_8 – Um rótulo com comportamento de hiperlink, ou seja responde ao movimento do mouse exibindo uma aparência diferente quando da aproximação do ponteiro do mouse.

Timer1 – Usado para a execução de códigos dentro de intervalos de tempo pré-definidos.

Label1 – usado para a exibição de textos não editáveis.

Checkbox1 – Um controle para a marcação de opções em janelas do sistema.

Pageframe1 – Um container usado para implementar multipáginas em um formulário. Geralmente o usamos para detalhar melhor os opções e recursos de um formulário.

Line1 – Usada para desenhar linhas na interface do usuário.

Image1 – Controle usado para a exibição de imagens digitais (jpg, gif, png, bmp etc).

Usando para acrescentar ligações externas com páginas html.

Conhecendo os Componentes de ADA_Funcoes

FTP – componente usado para implementar a transmissão de arquivos.

SQL – componente usado para implementar acesso as bases de dados do SQL server.

Funcao_EnviarEmail – Usada para o envio de mensagens de eMail eletrônico.

Shell_Execute – Usado para executar aplicativos externos ao sistema.

Funcao_Filtro – Fornece uma interface para a criação de múltiplos filtros na geração de consultas e relatórios.

Funcao_Calendario_dtini_dtfim – Fornece campos para a criação de consultas baseadas em períodos de data.

Funcao_Calendario_dtini_dtfim_semopg.

Funcao_Compactador – Fornece recurso de compactação de dados.

Funcao_Exportar_Excel – Fornece uma interface amigável para a exportação de dados em formato de planilha eletrônica.

Funcao_Imprimir – Fornece uma interface amigável para a impressão de relatórios.

ComboBoxAno – Caixa de combinação personalizada para a listagem de anos.

ComboBoxMes – Caixa de combinação personalizada para a listagem dos meses do ano.

Funcao_Calendario – Fornece um calendário para a seleção de datas.

Propriedades Padrão dos Formulários

Os formulários possuem uma aparência uniforme, de modo a não dificultar sua utilização, e fornecer uma interface intuitiva e fácil de aprender aos usuários. Para facilitar o desenvolvimento sugerimos que este padrão seja

seguido.

 

 Para exibir da caixa de propriedades clique sobre o botão propriedades(1) ou pressione F4.

 

Sobre a Barra de Propriedades

Apesar de ser completa em recursos, abordando as propriedades e eventos dos componentes, mais uma vez ressaltamos que não é necessário o conhecimento completo de seu uso, o ADA foi desenvolvido para a criação de módulos adicionais para o autocom3 usando propriedades customizadas que se encontram nesta caixa. No exemplo que segue trabalharemos com algumas das principais propriedades personalizadas pela autocom3. {|border=1 |+ Formulários: propriedades comuns |- |BorderStyle |1 – Fixed Single |- |Width |1024 |- |Height |450 |- |WindowsState |2 – Maximized |- |Tituloformulario |Título da Janela ao Exibir |}

Acessando Banco de Dados SQL

Laboratório 1

Em nosso primeiro exemplo iremos criar um formulário para a consulta e criação de um relatório obtendo dados de um banco de dados SQL Server.

Criando um Formulário de Consulta

Crie um novo projeto nomeando o mesmo como segue: {|border=1 |+ Propriedades do Projeto |- |BorderStyle |1 – Fixed Single |- |Cód. Projeto |00003 |- |Nome Projeto |adaTutorial |- |Usuário de testes |MASTER |- |Local padrão |C:\autocom3_erp\ |- |Obs |N/A |} Clique em salvar na barra de ferramentas. Crie um novo formulário com as seguintes características: {|border=1 |+ Propriedades do Formulário |- |Cód. Projeto |adaTutorial |- |Nome Formulário |ada_Receituario |- |Tipo |Formulário Comum |- |Nome do Arquivo |ada_receituario.scx |} Salve e ajuste as propriedades padrão, conforme o exemplo, personalizando o título para “Consulta ao Receituário”. Carregue as bibliotecas de componentes ada_componentes.vcx e ada_funcoes.vcx, adicione ao formulário os seguintes controles. {|border=1 ! Biblioteca ! Componente ! Propriedade |- | |Textbox1 |Name:txtLoja |- | |Label1 |Caption Loja |- | |CommandButton1 |Name:btexibir |- | |Editbox11 |Name:editreceitas |} {|border=1 ! Biblioteca ! Componente ! Propriedade |- | |Sql1 |Name:txtLoja |- | | |Aliás: sqlreceitas |- | | |Banco: AC3 |- | | |Cursor schema: Codmatriz c (6), loja c (2), codreceita c (15), dtreceita d, class_situacao c (1), class_usuario c (10), class_data d |- | | |Selectcmd: SELECT codmatriz ,loja ,codreceita ,dtreceita,class_situacao,class_usuario ,class_data FROM receituario |- | | |Updatablefieldlist: (none) |- | | |Ubdatablenamelist: (none) |} 

Sobre o Componente SQL

Acessar uma base de dados SQL Server requer algum conhecimento prévio de comunicação com base de dados, este componente foi criado com a finalidade de facilitar essa comunicação. Ele fornece comunicação com os bancos de dados do autocom3.

Codificando

Para a realização de nosso primeiro projeto, precisaremos programar, o que acontecerá, quando acontecerá e como acontecerá. Para tanto faremos uma preparação a fim de obter o resultado desejado.

Preparação

Clique sobre o menu form e depois na opção Edit Property/Method


 Clique sobre New Method, nomeie o novo método como linha.


Em orientação a objetos, um método é uma sub-rotina que é executada por um objeto ao receber uma mensagem. Por exemplo ao se clicar em um botão o método click é disparado se houver uma sub-rotina associada a ele (método click), ela será então executada. O método linha servirá para controlar a alimentação de linhas de nosso relatório de exemplo.


Acessando o Novo Método

De duplo clique sobre o formulário e será exibida a janela de codificação. E na lista Procedure localiza o método linha. Adicione o código fonte como mostrado abaixo.


 Feche a janela de código e dê duplo clique sobre o botão exibir. A janela de código será aberto no método click, que é o que desejamos usar. Adicione o seguinte código… *Verificando o preenchimento dos dados necessários à consulta IF NOT VERIFICAPENDENCIA(“TXTLOJA”,”LOJA”)RETURN(.F.)ENDIFIF NOT VERIFICAPENDENCIA(“TXTUSUARIO”,”USUáRIO”)RETURN(.F.)ENDIF*com o componente sql criamos a consulta que será executada contra o servidor thisform.sql1.selectCmd = “SELECT codmatriz,loja,codreceita,dtreceita,class_situacao,class_usuario,class_data FROM receituario WHERE class_usuario = ‘”+ thisform.txtusuario.value +”‘ AND loja='”+ thisform.txtloja.Value +”‘”*Executamos a consulta contra o servidor avaliando o retorno IF !ThisForm.Sql1.abrir()*o servidor não apresentou o resultado da consultaMESSAGEBOX(‘Não foi possível ler as informações do banco.’,16,’Aviso’)RETURN(.F.)Else*sucesso, a consulta retornou resultados.SELECT SQLreceitaLOCATE*limpamos a área de exibição do resultado *montamos a exibição do cabeçalhoTHISFORM.editbox11.Value = ‘ ‘ THISFORM.linha(PADC(‘CONSULTA AO RECEITUáRIO’,108))THISFORM.linha()THISFORM.linha(PADR(‘Loja’,6)+’ ‘+;PADR(‘Data da Receita’,24)+’ ‘+;PADR(‘Cod. Receita’,15)+’ ‘+;PADR(‘Situação’,14)+’ ‘+;PADR(‘Usuário’,15)+’ ‘+;PADR(‘Data’,15))THISFORM.linha(REPLICATE(‘=’,108))*iniciamos a listagem das informações retornadas na consulta, aqui usamos algumas funções para ajustar e formatar a sada das informações. SCANTHISFORM.linha(;PADR(IIF(ISNULL(SQLreceita.loja),,SQLreceita.loja),6)+’ ‘+;PADR(IIF(ISNULL(TTOC(SQLreceita.dtreceita)),,TTOC(SQLreceita.dtreceita)),24)+’ ‘+;PADR(IIF(ISNULL(SQLreceita.codreceita),,SQLreceita.codreceita),15)+’ ‘+;PADC(IIF(ISNULL(SQLreceita.class_situacao),’ ‘,SQLreceita.class_situacao),12)+’ ‘+;PADC(IIF(ISNULL(SQLreceita.class_usuario),’ ‘,SQLreceita.class_usuario),15)+’ ‘+;PADR(IIF(ISNULL(TTOC(SQLreceita.class_data)),”,TTOC(SQLreceita.class_data)),24))ENDSCANTHISFORM.linha(REPLICATE(‘_’,108))ENDIF RETURN(.T.)

Criando uma nova Entrada de Menu

O menu do autocom3 é totalmente personalizável, o que lhe permite além de ter as customizações padrão, criar novas entradas e novos grupos para todos novos itens desenvolvidos pela equipe de trabalho.


Para Criar um Acesso Para o Novo Formulário de Consulta

Após salvar e fechar o novo formulário clique sobre a opção menu (1)



 {|border=1 |- | Cód Projeto | Selecione o nome do projeto que agrupará o formulário. |- | Módulo | Selecione em que módulo será localizado o menu de acesso da nova opção. |- | Menu |Selecione em que menu a nova opção será abrigada. |- | Cód. Acesso |Clique no sinal |+ para o preenchimento automático desse item. |- | Cód. Tarefa |Caso esteja desenvolvendo um novo grupo de formulários poderá informar aqui um código para subgrupar e manter o sistema de menus do autocom3 melhor organizado. |- | Prompt |O texto de acesso usado para indicar a nova opção |- | Formulário (Opcional) |Selecione nessa lista o nome do formulário que será exibido pela nova opção. |- | Parâmetros (Opcional) | |- | String para inclusão do projeto no ERP | |} Para criar um acesso para o nosso formulário preencha as configurações com as seguintes opções. {|border=1 |- | Cód Projeto | Adatutorial |- | Módulo | Conectividade |- | Menu |Operações |- | Cód. Acesso |Clique no sinal |+ para o preenchimento automático desse item. |- | Cód. Tarefa | |- | Prompt |Consulta ao receituário |- | Formulário (Opcional) |Ada_receituario.scx |- | Parâmetros (Opcional) | |- | String para inclusão do projeto no ERP | |} Note que algumas opções não foram informadas, para que nosso exemplo funcione elas não são necessárias. Após terminar o preenchimento das opções clique em salvar(1), isso adicionará a nova opção ao menu do autocom3 conforme as configurações. Se o autocom3 estiver aberto, será necessário fechar o mesmo e reabrir para que a nova opção fique disponível.


Verifique que a nova opção se encontra pronta para uso.

Após fornecer os parâmetros necessários a consulta clique em exibir e verifique a listagem.


Acessando Banco de Dados Não SQL

O ADA possui uma excelente integração com banco de dados dos mais diversos tipos oferecendo suporte para consultas remotas, SQL Pass-Through através do seu Universal Data Access, que se utilizando da classe de objeto CursorAdapter provê, além do acesso nativo ao sua base de dados própria (DBC), o acesso a XML, Microsoft SQL Server e fontes de dados baseadas em ODBC e OLE DB. Em nosso primeiro exemplo criamos um acesso a uma base de dados SQL Server usando o componente Sql, faremos agora um novo projeto, dessa vez com uma base de dados diferente, verificando assim a facilidade de se usar diferentes fontes de dados.

Laboratório 2

Iniciando Nosso Projeto – Criando um Formulário de Consulta

Aqui não será necessário criar o novo projeto, usaremos o projeto adaTutorial já iniciado. Portanto, dessa vez iremos apenas selecionar o nome do projeto diretamente da janela de criação de formulário. Crie um novo formulário com as seguintes características: 1. Seleção do projeto 2. Nome dado ao formulário 3. Tipo do formulário a ser criado 4. Nome de arquivo com o qual o formulário será gravado. (Este parâmetro é automático.)


Salve e clique em Criar Formulário. Propriedades do novo formulário: {|border=1 |- | Titulodoformulario | Rel. de movimentação de estoque por trib. PIS e COFINS |- | Height | 292 |- | Width | 571 |} 1.Funcao_calendario_dtini_dtfim2.opgtodasaslojas

3.commandbutton


Execute um duplo clique sobre o botão Exibir e adiciona o seguinte código _dtini = ThisForm.Funcao_calendario_dtini_dtfim1.Radio1.dtini.dataatual_dtfim = ThisForm.Funcao_calendario_dtini_dtfim1.Radio1.dtfim.dataatual+1IF NOT ValidarMesmoMesAno(_dtini,_dtfim)RETURN(.F.)ENDIF*- Abrir a tabela de movimentacao do mes/anoIF NOT abrir_tabelas(_dtini,.T.,”SINTEGRA_54″,”_SINTEGRA_54″,.F.)RETURN(.F.)ENDIF*- Comando para extracao dos dadosSELECT * ;FROM _SINTEGRA_54 ;WHERE ;BETWEEN(dtemissao,_dtini,_dtfim) AND ;IIF(thisform.opgtodasaslojas.optiongroup1.Value=1,.T.,loja=gcnumeroempresa) ;ORDER BY dtemissao,loja,tipo,modelo,numero,serie,item ;INTO CURSOR SINTEGRA_54*- Exibindo a tela com os detalhesDO FORM pathgeral + ‘\formas\all_con_relatorio_movimentacao_estoque_pis_cofins_detalhes.scx’RETURN(.T.) Note que no código fonte usado no botão estamos usando algumas funções especiais tais como ValidarMesmoMesAno ou abrir_tabelas as duas funções contém em si código fonte que se não fosse de outra forma teríamos que nós mesmos projetar e digitar, esses são chamados comumente de funções definidas pelo usuário, e tem o papel de descomplicar o trabalho de desenvolvimento.

Configurando a criação do formulário para a exibição dos resultados

Seguindo as seguintes definições vamos agora criar o formulário de saída dos dados da consulta. Como feito antes após preencher as informações clique em salvar e depois no botão criar formulário. 1. Seleção do projeto 2. Nome dado ao formulário 3. Tipo do formulário a ser criado 4. Nome de arquivo com o qual o formulário será gravado. (Este parâmetro é automático.)


Montando e Configurando o Novo Formulário

Propriedades do Novo Formulário {|border=1 |- | WindowState | 2-Maximized |- | Height | 507 |- | Width | 1017 |}


Note que na imagem acima teremos a aplicação de novos componentes presentes no ambiente do ADA, a grade de exibição de resultados é adicionada seguindo os passos listados abaixo: Clique com o botão direito do mouse em qualquer área livre dentro da janela form designer. No menu que aparecerá escolha Data Environment.


Na janela Add table or View(1) selecione a tabela desejada(2), em nosso exemplo usaremos a tabela modelo Sintegra_54. Selecione a tabela e clique no botão Add(3), logo após feche a janela.


Observação: Um Data Environment é um contêiner usado para associar tabelas (tables) e consultas (views) a um formulário.


Selecione todos os campos clique sobre a seleção e arraste sobre o formulário.



Ao liberar o botão do mouse a grade para exibição dos resultados da consulta será exibida, nela os resultados serão exibidos de forma ordenada. O próximo componente que conheceremos é o frame totalizador, usado para a exibição de totais associados a exibição dos dados, o frame totalizador pode ser encontrado na biblioteca de componentes do ADA (Ada_componentes)


Precisaremos de tantos frames totalizadores quanto necessários para o nosso demonstrativo, por isso vamos usar em nosso exemplo 5 frames totalizadores para exibição dos totais dos seguintes campos de nossa tabela: *Tabela Sintegra_54 **Campos ***Quant ***Vr_total ***Vr_desconto ***Ipi_valor ***Ibnt


Nomearemos os frames totalizadores de acordo com os campos associados. *frame_quant *frame_vr_total *frame_vr_desconto *frame_ipi_valor *frame_ibnt Nosso formulário terá as seguintes propriedades ajustadas: {| border=”1″ cellpadding=”2″ |- |BorderStyle ||1 – Fixed Single |- |Width ||1024 |- |Height ||450 |- |WindowState || 2 – Maximized |- |Tituloformulario || Movimentação do Estoque PIS e COFINS |} De duplo clique sobre o formulário isso exibirá a janela de codificação, e digite o seguinte código: SELECT SINTEGRA_54SUM sintegra_54.quant TO ThisForm.frame_quant.valueSUM sintegra_54.vr_total TO ThisForm.frame_vr_total.valueSUM sintegra_54.vr_desconto TO ThisForm.frame_vr_desconto.valueSUM sintegra_54.ibnt TO ThisForm.frame_ibnt.valueSUM sintegra_54.ipi_valor TO ThisForm.frame_ipi_valor.value
THISFORM.Refresh

Criando a nova entrada no menu do autocom3_erp

Agora vamos criar a nova entrada no menu do autocom3_erp, para isso acesse a opção menu, como já visto. E configure com as seguintes informações.


Salve e vá para o autocom3_erp para executar a nova consulta.


1 – período desejado para a consulta 2 – exibir dados de todas as lojas 3 – executar a consulta


Defina a data inicial e a data final e clique em exibir, obteremos a tela de resultados conforme mostrada baixo.

Print Friendly, PDF & Email