Servidores REST usando TMS Aurelius e DataSnap
|
|
- Roberto Marques Mendonça
- 8 Há anos
- Visualizações:
Transcrição
1 Servidores REST usando TMS Aurelius e DataSnap Introdução Em artigo anterior a framework na Active Delphi, apresentados o TMS Aurelius, uma framework para mapeamento objeto-relacional (ORM) e mostramos como utilizar essa framework para montar uma aplicação usando o paradigma de objetos (ORM), evitando o uso de SQL s e abstraindo ainda mais a camada de negócios. Neste artigo, mostraremos como construir um servidor REST usando o TMS Aurelius, e as vantagens dessa abordagem. Esse artigo é baseado em uma palestra realizada na Delphi Conference 2012, na qual mostramos como construir uma aplicação REST passo-a-passo. O exemplo utilizado era uma aplicação simples para controle de incidentes (bugs, chamados, etc.), e vamos utilizar o mesmo conceito aqui. Criando e mapeando as classes Primeiramente e uma das coisas mais importantes da aplicação devemos criar nossas classes de negócio. No caso da nossa aplicação de controle de incidentes, teremos as classes TIncidente, Tusuario, TProjeto, etc.. Como não é possível neste artigo mostrar toda a aplicação, listamos abaixo a classe principal TIncidente: [Entity, Automapping] TIncidente = class private FId: Integer; FAssunto: string; FDescricao: string; FPrioridade: TPrioridadeIncidente; FStatus: TStatusIncidente; FResponsavel: TUsuario; FComentarios: TList<TComentarioIncidente>; FProjeto: TProjeto; public constructor Create; destructor Destroy; override; property Id: Integer read FId write FId; property Assunto: string read FAssunto write FAssunto; property Descricao: string read FDescricao write FDescricao; property Prioridade: TPrioridadeIncidente read FPrioridade write FPrioridade; property Status: TStatusIncidente read FStatus write FStatus; property Responsavel: TUsuario read FResponsavel write FResponsavel; property Comentarios: TList<TComentarioIncidente> read FComentarios write FComentarios; property Projeto: TProjeto read FProjeto write FProjeto; Numa aplicação típica cliente-servidor (ou local usando SQLite, por exemplo) podemos usar o TMS Aurelius para buscar e gravar no bando de dados essa entidade: // Busca incidente pelo Id e atualiza o campo Status
2 Incidente := ObjectManager.Find<TIncidente>(IdIncidente); Incidente.Status := TStatusIncidente.Encerrado; ObjectManager.Flush; // persiste no banco tudo que foi alterado Ou, por exemplo, podemos pedir uma lista de todos os incidentes cujo status seja pendente: Var IncidentesPendentes: TList<Tincidente>; IncidentesPendentes := ObjectManager.Find<Tincidente>.Where(TLinq.Eq('Status', TStatusIncidente.Pendente)).List; E assim por diante. O Aurelius é extremamente flexível em suas consultas e mapeamentos (você pode definir nomes dos campos, tipos, relacionamentos (associações) um-pra-muitos, muitos-pra-um, herança, etc.). Esse é o uso básico do Aurelius que cobrimos no artigo anterior e é um assunto extenso, portanto não entraremos em detalhes aqui. Edição visual com TAureliusDataset Com as classes definidas e mapeadas, podemos criar a interface visual para editá-las. Você irá notar que não precisamos nos preocupar muito em como os dados são obtidos e salvos no banco de dados estamos apenas lidando com objetos (no exemplo, da classe TIncidente) e nossas telas de edição precisam apenas saber sobre esses objetos e editá-los. A parte de persistência é feita automaticamente pelo Aurelius, e não nos preocuparemos se os objetos são salvos diretamente no banco de dados, ou enviados a um servidor de aplicação (REST, nesse exemplo). Assim, nosso formulário de edição de incidente, por exemplo, poderia ter a propriedade a seguir (outras propriedades e métodos foram removidos): TFormIncidente = class(tform) private procedure SetIncidente(const Value: TIncidente); public property Incidente: TIncidente read FIncidente write SetIncidente; e o método SetIncidente seria apenas: procedure TFormIncidente.SetIncidente(const Value: TIncidente); FIncidente := Value; EditDescricao.Text := FIncidente.Descricao; EditAssunto.Text := FIncidente.Assunto; ComboStatus.ItemIndex := Ord(FIncidente.Status); // E assim por diante
3 Ou seja, você estaria montando uma tela qualquer de edição e via código simplesmente transferindo os dados do objeto pra tela. No clique do botão salvar, você faria o caminho reverso, pegando os dados da tela e setando as propriedades do objeto. É simples mas pode ser trabalhoso. Pra facilitar essa tarefa o TMS Aurelius disponibiliza o TAureliusDataset, que simplesmente faz essa ponte entre o objeto e os controles da tela (no caso, controles db-aware). Note o form da tela de edição do incidente: No caso, foram definidos campos no dataset de acordo com as propriedades do objeto TIncidente. Cada campo corresponde a uma propriedade. Note o campo Projeto.Nome é um recurso do dataset que permite buscar propriedades de associações. Ou seja, nossa classe TIncidente possui a seguinte propriedade: TIncidente = class; {...} property Projeto: TProjeto read FProjeto write FProjeto; Assim, o campo Projeto.Nome permite acessar essa propriedade inclusive para edição. No caso da nossa tela, estamos mostramo o nome do projeto em um label. A lista de campos do dataset pode inclusive ser obtida em design-time, basta você compilar suas classes em um package separado e informar ao dataset o local do package. O mapeamento de cada controle com cada propriedade é feito normalmente como com qualquer dataset:
4 Você pode inclusive usar campos lookup para, por exemplo, editar o campo responsável (escolher o responsável pelo incidente usando um combo com a lista objetos TResponsavel). E como informar ao dataset qual objeto estamos editando? Pode ver na nova implementação do método SetIncidente: procedure TFormIncidente.SetIncidente(const Value: TIncidente); FIncidente := Value; DatasetIncidente.Close; DatasetIncidente.SetSourceObject(FIncidente); DatasetIncidente.Open; DatasetIncidente.Edit; podemos ver que usa-se o dataset normalmente como qualquer outro dataset. A única diferença é que usamos o método SetSourceObject pra indicar qual objeto estamos editando e nossa tela de edição estará pronta. Ao chamarmos o método Post do dataset, as propriedades do objeto serão atualizadas de acordo com os controles da tela. TAureliusDataset e Listagens Como qualquer dataset, o TAureliusDataset também pode ser usado pra listas onde cada objeto é um registro no dataset. A tela de listagens usa esse recurso, mostrando os incidentes em um grid, como mostrado na tela a seguir:
5 Também como em qualquer dataset, basta ligar o TDBGrid (ou qualquer outro data-aware grid) ao dataset através do datasource, e definir as colunas do grid ligando a cada campo. Para informar ao dataset de onde buscar os objetos, podemos usar o método SetSourceList: DatasetIncidentes.Close; IncidentesPendentes := ObjectManager.Find<Tincidente>.Where(TLinq.Eq('Status', TStatusIncidente.Pendente)).List; DatasetIncidentes.SetSourceList(IncidentesPendentes); DatasetIncidentes.Open; No exemplo acima usamos a lista de incidentes pendentes apenas como ilustração por já havíamos mencionado essa consulta anteriormente. No código real da aplicação, basta buscarmos a lista de incidentes de algum lugar, seja diretamente do banco (como no exemplo acima) ou de um servidor de aplicação (REST, no nosso exemplo). Outro detalhe interessante a se mencionar são os campos com sufixo EnumName. Esse sufixo informa ao dataset para usar tipos enumerados no formato texto. No caso da figura, o dataset tem o campo Status.EnumName definido. Nosso campo Status é um tipo enumerado do tipo TStatusIncidente, mas como usamos o sufixo.enumname, o nome da enumeração será mostrado no grid. Assim, na coluna Status veremos automaticamente os textos Pendente, Encerrado, etc., sem nenhuma necessidade de conversão especial. Criando o servidor REST Até o momento, utilizamos vários recursos do Aurelius mas em uma aplicação cliente-servidor. Agora, o objetivo é disponibilizar dados da nossa aplicação no caso nossas entidades através de um servidor REST. Primeiramente vamos criar o servidor REST em branco no Delphi. O objetivo desse artigo não é explicar o mecanismo de funcionamdo de servidores REST usando DataSnap. Para maiores detalhes,
6 visite a página No nosso exemplo, basta executarmos o assistente do Delphi para criar o servidor DataSnap, e em seguida informamos ao servidor onde está a classe com os métodos que precisamos: procedure TModuleServidor.DSServerClass1GetClass(DSServerClass: TDSServerClass; var PersistentClass: TPersistentClass); PersistentClass := TBugTrackerMethods; É na classe TbugTrackerMethods que vamos definir os métodos da nossa aplicação. A seguir apresentamos alguns métodos e como eles foram implementados (algumas partes foram retiradas para melhor leitura): Uses {...} Aurelius.Engine.ObjectManager, Aurelius.Json.DataSnap, {...}; {$METHODINFO ON} TBugTrackerMethods = class(tcomponent) private FManager: TObjectManager; FSerializer: TDataSnapJsonSerializer; FDeserializer: TDataSnapJsonDeserializer; function ToJson(Obj: TObject): TJsonValue; function FromJson<T: class>(value: TJsonValue; AManaged: boolean): T; {...} public procedure SalvaIncidente(Incidente: TJsonValue); function CarregaIncidente(Id: integer): TJsonValue; function ListaIncidentes: TJsonValue; function ListaIncidentesProjeto(IdProjeto: integer): TJsonValue; {...} { } constructor TBugTrackerMethods.Create(AOwner: TComponent); inherited Create(AOwner); FManager := TObjectManager.Create(ConexaoBanco); FSerializer := TDataSnapJsonSerializer.Create; FDeserializer:= TDataSnapJsonDeserializer.Create;
7 procedure TBugTrackerMethods.SalvaIncidente(Incidente: TJsonValue); FManager.SaveOrUpdate(FromJson<TIncidente>(Incidente)); FManager.Flush; function TBugTrackerMethods.CarregaIncidente(Id: integer): TJsonValue; Result := ToJson(FManager.Find<TIncidente>(Id)); function TBugTrackerMethods.ListaIncidentes: TJsonValue; var Lista: TList<TIncidente>; Lista := FManager.Find<TIncidente>.List; try Result := ToJson(Lista); finally Lista.Free; function TBugTrackerMethods.ListaIncidentesProjeto( IdProjeto: integer): TJsonValue; var Lista: TList<TIncidente>; Lista := FManager.Find<TIncidente>.SubCriteria('Projeto').Where(TLinq.IdEq(IdProjeto)).List<TIncidente>; try Result := ToJson(Lista); finally Lista.Free; E assim dessa forma os demais métodos podem ser implementados. Em resumo, como o Aurelius permite que trabalhemos diretamente com objetos, o servidor REST nada mais é que uma interface para chamadas do Aurelius: Carregar um incidente é apenas uma chamada ao Aurelius para carregar o objeto incidente, e em seguida retornar esse objeto para o servidor. JSON - Serializer e Deserializer
8 Além do próprio TObjectManager, que é a classe do Aurelius que permite persistir objetos no banco e dados, outras duas classes essenciais para facilitar a construção do servidor são as classes TDataSnapJsonSerializer TDataSnapJsonDeserializer. Elas permitem facilmente converter os objetos Aurelius em uma representação JSON e vice-versa. JSON é uma abreviação de JavaScript Object Notation e é simplesmente um texto contendo as informações do objeto. No caso do DataSnap, a classe TJsonValue contém a estrutura de uma representação JSON e podemos retornar/receber objetos desse tipo através de nossos métodos. Assim nosso servidor fica mais genérico e podemos acessá-lo inclusive de outros clientes, como JavaScript (como veremos adiante). Existem várias bibliotecas que fazer parser JSON e contém tipos específicos que representam essa estrutura. O Aurelius não se prende a uma framework específica e você pode usar outros tipos de parser (até mesmo se você quiser montar servidores usando outras frameworks que não seja o DataSnap). A tabela a seguir mostra as frameworks suportadas, mas você mesmo pode fazer a interface para outras: Framework Classe serialização/deserialização Tipo retornado Unit DataSnap TDataSnapJsonSerializer/Deserializer TJsonValue Aurelius.Json.DataSnap SuperObject TsuperObjectJsonSerializer/Deserializer IsuperObject Aurelius.Json.SuperObject Os métodos ToJson e FromJson usados pelo nosso servidor são implementados de forma simples como mostramos a seguir: function TBugTrackerMethods.ToJson(Obj: TObject): TJsonValue; result := FSerializer.ToJson(Obj); function TBugTrackerMethods.FromJson<T>(Value: TJsonValue): T; Result := FDeserializer.FromJson<T>(Value); Ou seja, não poderia ser mais simples: apenas chamadas aos métodos do Serializer e Deserializer. As classes de serialização do Aurelius são importantes porque elas tratam todas as especificidades da framework, como tipos especiais (TBlob,Nullable), lazy-loading (com Proxy), associações, etc., ou seja, elas se beneficiam de todo o mapeamento feito na classe. Testando o servidor no browser Ao executarmos o servidor pela primeira vez, podemos fazer um teste rápido no servidor via browser (visto que nossa servidor é um servidor REST). Utilizando o browser pra acessar o endereço do método ListaIncidentes, obtemos a resposta:
9 Usando uma ferramenta que formata JSON (o site jsbeautifier.org, por exemplo), podemos visualizar melhor a resposta do servidor: { "result": [ [{ "$type": "Entidades.TIncidente", "$id": 1, "FDescricao": "", "FId": 1, "FAssunto": "N\u00E3o \u00e9 poss\u00edvel excluir conta no plano de contas", "FPrioridade": "Alta", "FStatus": "Pendente", "FResponsavel": null, "FComentarios": [], "FProjeto": { "$type": "Entidades.TProjeto", "$id": 2, "FId": 2, "FNome": "Modulo Contabilidade" } }, { "$type": "Entidades.TIncidente", "$id": 3, "FPrioridade": "Baixa", "FId": 2, "FAssunto": "\u00daltima p\u00e1gina em branco ao imprimir balan\u00e7o", "FDescricao": "", "FStatus": "Executando", "FResponsavel": null, "FComentarios": [], "FProjeto": { "$ref": 2 } }]
10 } ] Alterando o cliente para obter os objetos do servidor Uma das vantagens de se trabalhar com objetos puros é justamente a manutençao e portabilidade. Como mostramos anteriormente, toda interface visual da nossa aplicação cliente trabalha apenas com objetos. Sendo assim, podemos facilmente alterá-la para buscar os objetos do servidor REST, ao invés de buscá-los diretamente do banco dados. Para acessar os métodos no servidor precisamos criar um proxy com os métodos. Basta executarmos o servidor e utilizarmos o wizard do DataSnap para obtermos um proxy. É só utilizar a opção File New Other... do Delphi e escolher DataSnap REST Client Module. Um wizard será iniciado, basta seguir os passos do wizard e uma unit será gerada com os métodos proxy. Basta então utilizar o proxy para chamar os métodos no servidor, retornar os objetos, e passar para nossa aplicação. Por exemplo, na nossa tela de listagem de incidentes, o código que fornece os objetos ao dataset passaria a ser simplesmente o seguinte: DatasetIncidentes.Close; Incidentes := ClientModule1.ListaIncidentesProjeto(IdProjetoSelecionado); DatasetIncidentes.SetSourceList(Incidentes); DatasetIncidentes.Open; Assim, facilmente você passa de uma aplicação cliente-servidor para uma aplicação multi-camadas. Utilizando clientes JavaScript Como o servidor REST fornece todos os objetos em formato JSON, é fácil utilizar outros clients para acesso ao servidor. Ainda, o formato JSON que o serializador do Aurelius retorna é bastante compatível com JavaScript de modo que o código que você deve escrever é muito similar ao código em Delphi. A tela e listagem abaixo mostram uma página html e seu código javascript que buscam e mostram os dados de um incidente. É permitido então ao usuário alterar o seus status para Encerrado ou Concluído, dependendo do botão que se pressiona. Utilizamos a framework jquery para deixar o código mais legível (e sem tratamento de erros):
11 Código JavaScript: var incidente = null; $(document).ready(function() { $('#incidentediv').hide(); $('#buscabutton').click(function(event) { incidente = servermethods().carregaincidente(buscaidfield.value).result; $('#incidentediv').show(); $('#idfield').val(incidente.fid); $('#assuntofield').val(incidente.fassunto); $('#prioridadefield').val(incidente.fprioridade); $('#statusfield').val(incidente.fstatus); $('#responsavelfield').val(incidente.fresponsavel.fnome); $('#projetofield').val(incidente.fprojeto.fnome);
12 $('#descricaofield').val(incidente.fdescricao); }); $('#encerrabutton').click(function(event) { incidente.fstatus = 'Encerrado'; servermethods().salvaincidente(incidente); $('#incidentediv').hide(); }); $('#cancelabutton').click(function(event) { incidente.fstatus = 'Cancelado'; servermethods().salvaincidente(incidente); $('#incidentediv').hide(); }); }); Conclusão O objetivo deste artigo era mostrar técnicas e exemplos de como construir um cliente e servidor REST usando o TMS Aurelius, beneficiando-se dos recursos da ferramenta e do paradigma de uso de uma ferramente de mapeamento objeto-relacional. Autor Wagner Rafael Landgraf, 36, é formado em Engenharia Eletrônica e Mestre em Informática Industrial pela Universidade Federal Tecnológica do Paraná. Atualmente Gerente de Produtos da TMS Software ( trabalha com Delphi desde sua primeira versão em 1995, e é responsável por produtos como TMS Scripter, TMS Diagram Studio, TMS Data Modeler e TMS Aurelius.
Mapeamento Objeto-Relacional Usando o TMS Aurelius
Mapeamento Objeto-Relacional Usando o TMS Aurelius Desenvolver sistemas com banco de dados é um dos usos mais comuns do Delphi. Porém lidar com comandos SQL pode ser uma tarefa enfadonha. Em geral, ao
Leia maisManual do Visualizador NF e KEY BEST
Manual do Visualizador NF e KEY BEST Versão 1.0 Maio/2011 INDICE SOBRE O VISUALIZADOR...................................................... 02 RISCOS POSSÍVEIS PARA O EMITENTE DA NOTA FISCAL ELETRÔNICA.................
Leia maisInterface para Regras de Negócios em Multi-Banco
1 Interface para Regras de Negócios em Multi-Banco MARCELO JALOTO (marcelo@jaloto.net) é graduado no curso superior Projetos e Gestão de Redes de Computadores e formado no curso Técnico em Processamento
Leia maisManual do Ambiente Moodle para Professores
UNIVERSIDADE FEDERAL DA FRONTEIRA SUL Manual do Ambiente Moodle para Professores Tarefas Versão 1.0b Setembro/2011 Direitos Autorais: Essa apostila está licenciada sob uma Licença Creative Commons 3.0
Leia maisTabela e Gráficos Dinâmicos Como estruturar dinamicamente dados no Excel
Tabela e Gráficos Dinâmicos Como estruturar! Para que serve a Tabela e o Gráfico Dinâmico?! Como criar uma Tabela Dinâmica?! Como criar um Gráfico Dinâmico?! Como podemos atualizar dos dados da Tabela
Leia maisManual de Usuário - Flight of Icarus
Manual de Usuário - Flight of Icarus Desenvolvido por: Elvis Venâncio S. Nogueira Data: 21/02/2013 Versão: 1.7 Sumário Conteúdo Manual sobre Flight of Icarus... 4 Formas de Conexão... 4 Tela de Login...
Leia maisNoções de. Microsoft SQL Server. Microsoft SQL Server
Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados
Leia maisInserindo Dados no Banco de Dados Paradox.
Inserindo Dados no Banco de Dados Paradox. - Construção do Banco de Dados: Para podermos inserir algo em um banco precisaremos de um Banco de Dados, para isto iremos montar um utilizando o Programa Database
Leia mais43 11 Relatórios, Listagens e Exportações para Excel, TXT e HTML
43 11 Relatórios, Listagens e Exportações para Excel, TXT e HTML Aqui serão exemplificados os relatórios que podem ser definidos pelo usuário. Esses Relatórios podem ser impressos em Impressora Lazer,
Leia maisManual Sistema Mó vel Msys Cómercial
Manual Sistema Mó vel Msys Cómercial Maravilha, 2014. 1 Sumário 1. REQUISITOS MÍNIMOS... 3 2. PRINCIPAIS TELAS E FUNCIONALIDADES... 4 2.1.1. Tela de acesso ao sistema.... 4 2.1.2. Tela Principal do Sistema....
Leia maisFluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção
Este procedimento corresponde ao fluxo de trabalho de Indexação de OCR com separação de código de correção no programa de treinamento do Capture Pro Software. As etapas do procedimento encontram-se na
Leia maisDesenvolvendo Websites com PHP
Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.
Leia maisImpressão de Código de Barras Uma abordagem prática ZEBRA ZPL2
1 Impressão de Código de Barras Uma abordagem prática ZEBRA ZPL2 por Victory Fernandes e Augusto Frederico Na Internet estão disponíveis diversos componentes para geração e impressão de Código de Barras
Leia maisCriando & Consumindo um WebService com ASP.NET 2.0 Publicado em: 25 de Agosto de 2007 Por Herman Ferdinando Arais
ASP.NET > WebService herman_arais@yahoo.com.br Introdução Um WebService é um componente, ou unidade lógica de aplicação, acessível através de protocolos padrões de Internet. Como componentes, esses serviços
Leia maisAJAX no GASweb. Mas e afinal, para que usamos o AJAX?
Nível - Avançado AJAX no GASweb Por: Pablo Hadler AJAX (Asynchronous Javascript and XML) foi criado com o princípio de ser uma maneira rápida e otimizada de podermos fazer requisições Web, sendo esta totalmente
Leia maisComo Gerar documento em PDF com várias Imagens
Como Gerar documento em PDF com várias Imagens Para Gerar documento em PDF com várias Imagens, temos que seguir dois passos: 1. Inserir Imagens no Word 2. Gerar PDF a partir de documento do Word 1- Inserir
Leia maisTutorial Gerar arquivo PDF. Gerando um documento pdf com várias imagens 1- Inserir imagem no Word
Tutorial Gerar arquivo PDF. Com o objetivo de simplificar e diminuir o tamanho de arquivos anexos nos projetos, elaboramos um pequeno tutorial mostrando como gerar um único arquivo no formato pdf contendo
Leia maisAdicionando Propriedades e Funcionalidades aos Componentes Parte II
Adicionando Propriedades e Funcionalidades aos Componentes Parte II Quantas vezes eu não lamentei por este componente não ter uma propriedade que guardasse uma lista paralela a lista que é mostrada em
Leia mais1 Sumário... 2. 2 O Easy Chat... 3. 3 Conceitos... 3. 3.1 Perfil... 3. 3.2 Categoria... 3. 4 Instalação... 5. 5 O Aplicativo... 7 5.1 HTML...
1 Sumário 1 Sumário... 2 2 O Easy Chat... 3 3 Conceitos... 3 3.1 Perfil... 3 3.2 Categoria... 3 3.3 Ícone Específico... 4 3.4 Janela Específica... 4 3.5 Ícone Geral... 4 3.6 Janela Geral... 4 4 Instalação...
Leia maisCriando um script simples
Criando um script simples As ferramentas de script Diferente de muitas linguagens de programação, você não precisará de quaisquer softwares especiais para criar scripts de JavaScript. A primeira coisa
Leia maisEstá apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet.
1. Descrição Geral Este manual descreve as operações disponíveis no módulo VTWEB Client, cuja finalidade é gerenciar cadastros de funcionários, realização de pedidos e controle financeiro dos pedidos.
Leia maisVersão 8.2C-01. Versão Final da Apostila de Novidades
Versão 8.2C-01 Versão Final da Apostila de Novidades Saiba que este documento não poderá ser reproduzido, seja por meio eletrônico ou mecânico, sem a permissão expressa por escrito da Domínio Sistemas
Leia maisCapítulo 04: Persistência com SQLite
Capítulo 04: Persistência com SQLite Instrutor Programador desde 2000 Aluno de doutorado Mestre em informática pelo ICOMP/UFAM Especialista em aplicações WEB FUCAPI marcio.palheta@gmail.com sites.google.com/site/marcio
Leia maisGerenciamento de Contatos
Gerenciamento de Contatos O objetivo deste módulo é ajudar a gerenciar todos os contatos da empresa. Além dos dados mais importantes, o módulo permite cadastrar anotações e relacionar as tarefas e eventos
Leia maisBanco de Dados Microsoft Access: Criar tabelas
Banco de Dados Microsoft Access: Criar s Vitor Valerio de Souza Campos Objetivos do curso 1. Criar uma no modo de exibição Folha de Dados. 2. Definir tipos de dados para os campos na. 3. Criar uma no modo
Leia maisBanco de Dados Microsoft Access: Criar tabelas. Vitor Valerio de Souza Campos
Banco de Dados Microsoft Access: Criar tabelas Vitor Valerio de Souza Campos Objetivos do curso 1. Criar uma tabela no modo de exibição Folha de Dados. 2. Definir tipos de dados para os campos na tabela.
Leia maisEXEMPLO DE COMO FAZER UMA MALA DIRETA
EXEMPLO DE COMO FAZER UMA MALA DIRETA OBS: Para esta nota de aula foi utilizada como referência: Apostila Mala Direta Santos, Jorge Rodrigues dos. Foram adaptados os comando para utilizar mala direta no
Leia maisAMBIENTE. FORMULÁRIO: é a janela do aplicativo apresentada ao usuário. Considere o formulário como a sua prancheta de trabalho.
DELPHI BÁSICO VANTAGENS Ambiente de desenvolvimento fácil de usar; 1. Grande Biblioteca de Componentes Visuais (VCL - Visual Component Library), que são botões, campos, gráficos, caixas de diálogo e acesso
Leia maisMicrosoft Office PowerPoint 2007
INTRODUÇÃO AO MICROSOFT POWERPOINT 2007 O Microsoft Office PowerPoint 2007 é um programa destinado à criação de apresentação através de Slides. A apresentação é um conjunto de Sides que são exibidos em
Leia maisGUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM
GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM ÍNDICE ITEM Página 1. Objetivo... 3 2. Requisitos... 3 3. Diretório do Millennium... 3 4. Procedimento para Transferência de Servidor... 3 4.1 Compartilhamento
Leia maisFluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos
Este procedimento corresponde ao fluxo de trabalho de Indexação de código de barras e de separação de documentos no programa de treinamento do Capture Pro Software. As etapas do procedimento encontram-se
Leia maisE.E.E.B. Professor José Fernandes de Oliveira. Manual de Uso. Sistema Interno (Professores)
E.E.E.B. Professor José Fernandes de Oliveira Manual de Uso Sistema Interno (Professores) Desenvolvido por Six Interfaces www.6i.com.br Telefone: (54) 3232.8486 Suporte: contato@6i.com.br Sumário Acessar
Leia maisINSTALANDO E CONFIGURANDO O MY SQL
INSTALANDO E CONFIGURANDO O MY SQL Este tutorial tem como objetivo mostrar como instalar o banco de dados My SQL em ambiente Windows e é destinado aqueles que ainda não tiveram um contato com a ferramenta.
Leia maisProgramação para Android. Aula 07: Persistência de dados Shared Preferences, Internal e External Storage
Programação para Android Aula 07: Persistência de dados Shared Preferences, Internal e External Storage Persistência de dados Na maioria das aplicações precisamos ter algum tipo de persistência de dados.
Leia maisPortal Sindical. Manual Operacional Empresas/Escritórios
Portal Sindical Manual Operacional Empresas/Escritórios Acesso ao Portal Inicialmente, para conseguir acesso ao Portal Sindical, nos controles administrativos, é necessário acessar a página principal da
Leia maisManual do Módulo SAC
1 Manual do Módulo SAC Índice ÍNDICE 1 OBJETIVO 4 INICIO 4 SAC 7 ASSOCIADO 9 COBRANÇA 10 CUSTO MÉDICO 10 ATENDIMENTOS 11 GUIAS 12 CREDENCIADO 13 LIVRETO 14 BUSCA POR RECURSO 15 CORPO CLÍNICO 16 MENU ARQUIVO
Leia maisMANUAL DO GERENCIADOR ESCOLAR WEB
CNS LEARNING MANUAL DO GERENCIADOR ESCOLAR WEB Versão Online 13 Índice ÍNDICE... 1 VISÃO GERAL... 2 CONCEITO E APRESENTAÇÃO VISUAL... 2 PRINCIPAIS MÓDULOS... 3 ESTRUTURAÇÃO... 3 CURSOS... 4 TURMAS... 4
Leia maisCONSTRUÇÃO DE BLOG COM O BLOGGER
CONSTRUÇÃO DE BLOG COM O BLOGGER Blog é uma abreviação de weblog, qualquer registro frequênte de informações pode ser considerado um blog (últimas notícias de um jornal online por exemplo). A maioria das
Leia maisO Excel é um programa de computador desenvolvido para gerenciar dados na forma de planilhas.
O que é o Excel? O Excel é um programa de computador desenvolvido para gerenciar dados na forma de planilhas. Ele possibilita ao usuário desenvolver planilhas que efetuem cálculos, dos mais simples aos
Leia maisETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI FORMULÁRIO COM ABAS E BUSCAS DE REGISTROS
ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI FORMULÁRIO COM ABAS E BUSCAS DE REGISTROS FORMULÁRIOS COM ABAS Trabalhar com abas (ou guias) é um recurso
Leia maisETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO
ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI CRIANDO UMA AUTENTICAÇÃO DE USUÁRIO UTILIZANDO O COMPONENTE QUERY A autenticação de usuários serve para
Leia maisAmadeus Automatic Update (Mudança de versão)
Amadeus Automatic Update (Mudança de versão) 04 de Janeiro de 2006 Perguntas e Respostas mais freqüentes Gerência de Operações Amadeus Brasil 1) Qual é o objetivo desse documento? R: Informar e manter
Leia maisWF Processos. Manual de Instruções
WF Processos Manual de Instruções O WF Processos é um sistema simples e fácil de ser utilizado, contudo para ajudar os novos usuários a se familiarizarem com o sistema, criamos este manual. Recomendamos
Leia maisCRIANDO UM BANCO DE DADOS
CRIANDO UM BANCO DE DADOS Bem, antes de iniciarmos propriamente no delphi, devemos aprender a usar sua ferramentas, sendo uma das mais importantes o Database Desktop, pois é com esta que construímos nossos
Leia maisMemória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos
TUTORIAL Memória Flash Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br
Leia maisSumário. Apresentação O que é o Centro de Gerenciamento de Serviços (CGS) NTI? Terminologia Status do seu chamado Utilização do Portal Web
Sumário Apresentação O que é o Centro de Gerenciamento de Serviços (CGS) NTI? Terminologia Status do seu chamado Utilização do Portal Web Fazendo Login no Sistema Tela inicial do Portal WEB Criando um
Leia maisIntrodução... 2. Contratando o produto Link2NFe... 2. Assistente de configuração de emissor... 3. Configurações Avançadas do Emissor...
0 Conteúdo Introdução... 2 Contratando o produto Link2NFe.... 2 Assistente de configuração de emissor.... 3 Configurações Avançadas do Emissor... 5 Conhecendo o Gerenciador de Recursos da Link2business....
Leia maisDarkStat para BrazilFW
DarkStat para BrazilFW ÍNDICE Índice Página 1 O que é o DarkStat Página 2 DarkStat e a inicialização do sistema Página 2 DarkStat e a finalização do sistema Página 2 Tela Principal do DarkStat Página 3
Leia maisConstrutor de sites SoftPixel GUIA RÁPIDO - 1 -
GUIA RÁPIDO - 1 - Sumário Introdução...3 Por que utilizar o Construtor de Sites?...3 Vantagens do Construtor de Sites...3 Conceitos básicos...3 Configuração básica do site...5 Definindo o layout/template
Leia maisTreinamento Sistema Condominium Módulo III
Financeiro (Lançamentos Despesas e Saldos) Nesse módulo iremos apresentar os principais recursos da área contábil do sistema. Contábil> Lançamentos Nessa tela é possível lançar as despesas dos condomínios,
Leia maisData Transformation Services (DTS) por Anderson Ferreira Souza
Data Transformation Services (DTS) por Anderson Ferreira Souza O Sql Server possui um recurso extremamente poderoso que é muito pouco utilizado pelos administradores e programadores. Com certeza, sendo
Leia maisDOCUMENTAÇÃO DO FRAMEWORK - versão 2.0
DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando
Leia maisManual do usuário - Service Desk SDM - COPASA. Service Desk
Manual do usuário - Service Desk SDM - COPASA Service Desk Sumário Apresentação O que é o Service Desk? Terminologia Status do seu chamado Utilização do Portal Web Fazendo Login no Sistema Tela inicial
Leia mais02 - Usando o SiteMaster - Informações importantes
01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,
Leia maisManual sobre Flight of Icarus
Manual sobre Flight of Icarus Definição do Sistema O Flight of Icarus é um sistema voltado para conexão com o banco de dados do ORION por meio da Internet, tendo como objetivo criar e consultar Pedido
Leia maisQUALIDATA Soluções em Informática. Módulo CIEE com convênio empresas
FM-0 1/21 ÍNDICE 1. MÓDULO DESKTOP(SISTEMA INSTALADO NO CIEE)... 2 Cadastro de Ofertas de Empregos:... 2 Cadastro de Eventos:... 3 Cadastro de Instituições do Curriculum:... 5 Cadastro de Cursos do Curriculum:...
Leia maisGUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM
GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM ÍNDICE ITEM Página 1. Objetivo... 3 2. Requisitos... 3 3. Diretório do Slim... 3 4. Procedimento para Transferência de Servidor... 3 4.1 Compartilhamento da
Leia maisMicrosoft Access XP Módulo Um
Microsoft Access XP Módulo Um Neste primeiro módulo de aula do curso completo de Access XP vamos nos dedicar ao estudo de alguns termos relacionados com banco de dados e as principais novidades do novo
Leia maisComo já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser
A1Criando um módulo de negócio Capítulo 27 Aplicação dividida em módulos - Introdução Como já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser compreendido como uma solução de
Leia maisManual SAGe Versão 1.2 (a partir da versão 12.08.01)
Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação
Leia maisVIAÇÃO SÃO BENTO LTDA.
VIAÇÃO SÃO BENTO LTDA. SISTEMA AUTOMÁTICO DE BILHETAGEM ELETRÔNICA MANUAL DO VTWEB CLIENT CADASTROS /PEDIDOS E PROCEDIMENTOS Resumo Esse manual tem como o seu objetivo principal a orientação de uso do
Leia maisManual de usuário. do sistema multicálculo CotakWeb
Manual de usuário do sistema multicálculo CotakWeb Belo Horizonte 01 de setembro de 2010 1 Sumário 1. CANAIS DE ATENDIMENTO... 3 2. DOWNLOAD DO APLICATIVO... 3 3. LOGIN... 3 4. CONFIGURAÇÃO... 4 4.1. PARÂMETROS
Leia maisManual de padronização para envio de orçamento e pedidos por e-mail para CristalTemper.
Manual de padronização para envio de orçamento e pedidos por e-mail para CristalTemper. Devido a necessidade de resposta mais ágil e uma melhor gestão, o uso do computador para auxiliar nas mais diversas
Leia maisDisplay de Cristal Líquido
TUTORIAL Display de Cristal Líquido Autor: Tiago Lone Nível: Básico Criação: 09/03/2006 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br
Leia maisDisplay de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos
TUTORIAL Display de 7 Segmentos Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br
Leia maisSERVICE DESK MANAGER SDM. Manual do Sistema - DPOI
SERVICE DESK MANAGER SDM Manual do Sistema - DPOI Conteúdo SERVICE DESK MANAGER SDM... 1 Manual do Sistema - DPOI... 1 INTRODUÇÃO... 4 ACESSO AO SISTEMA... 5 OPÇÕES DO SISTEMA... 6 SISTEMA... 7 Pesquisar
Leia maisApresentação Prática
Apresentação Prática Este curso contém exercícios com editor de texto Word e também exemplos de acesso à Internet e deve ser utilizado para a apresentação do Método de ensino a pessoas que já tenham tido
Leia maisROTINAS PADRÕES DO SISTEMAS
ROTINAS PADRÕES DO SISTEMAS Usando o Sistema pela primeira vez Ao executar o seu Sistema pela primeira vez a tela abaixo será apresentada para que você possa configurar os diretórios onde serão achados
Leia maisProjeto SIGA-EPT. Manual do usuário Módulo Requisição de Almoxarifado SISTEMA INTEGRADO DE GESTÃO ACADÊMICA
Projeto SIGA-EPT Manual do usuário Módulo Requisição de Almoxarifado SISTEMA INTEGRADO DE GESTÃO ACADÊMICA Versão setembro/2010 Requisição de Almoxarifado Introdução Requisição é uma solicitação feita
Leia maisMANUAL COTAÇAO WEB MANUAL MANUAL AVANÇO INFORMÁTICA AVANÇO INFORMÁTICA. [Digite seu endereço] [Digite seu telefone] [Digite seu endereço de email]
MANUAL COTAÇAO WEB [Digite seu endereço] [Digite seu telefone] [Digite seu endereço de email] MANUAL MANUAL AVANÇO INFORMÁTICA AVANÇO INFORMÁTICA Material Desenvolvido para a Célula Materiais Autor: Equipe
Leia maisProgramação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL
Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre
Leia maisComunidade de Suporte e Feedback
Comunidade de Suporte e Feedback O objetivo deste complemento é criar um canal simples, barato e eficiente de suporte aos clientes, onde eles possam na maioria das vezes aproveitar dúvidas já respondidas,
Leia maisVISUAL LIGHTBOX FERRAMENTA WEB DESIGN FABIANO KEIJI TAGUCHI
VISUAL LIGHTBOX FERRAMENTA WEB DESIGN FABIANO KEIJI TAGUCHI ESTE MATERIAL TEM UM OBJETIVO DE COMPLEMENTAR OS ASSUNTOS ABORDADOS DENTRO DE SALA DE AULA, TORNANDO-SE UM GUIA PARA UTILIZAÇÃO DA FERRAMENTA
Leia maisA barra de menu a direita possibilita efetuar login/logout do sistema e também voltar para a página principal.
MANUAL DO SISCOOP Sumário 1 Menu de Navegação... 3 2 Gerenciar País... 5 3- Gerenciamento de Registro... 8 3.1 Adicionar um registro... 8 3.2 Editar um registro... 10 3.3 Excluir um registro... 11 3.4
Leia maisMódulo Domínio Atendimento - Versão 8.0A-06
Módulo Domínio Atendimento - Versão 8.0A-06 Saiba que este documento não poderá ser reproduzido, seja por meio eletrônico ou mecânico, sem a permissão expressa por escrito da Domínio Sistemas Ltda. Nesse
Leia maisGravando uma Áudio Conferência
Gravando uma Áudio Conferência Para iniciar a gravação da áudio conferência, digite *2. Você ouvirá a seguinte mensagem: Para iniciar a gravação da conferência pressione 1, para cancelar pressione * Ao
Leia maisBanco de Dados BrOffice Base
Banco de Dados BrOffice Base Autor: Alessandro da Silva Almeida Disponível em: www.apostilando.com 27/02/2011 CURSO TÉCNICO EM SERVIÇO PÚBLICO Apostila de Informática Aplicada - Unidade VI Índice Apresentação...
Leia maisRevisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011
Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 5 SELECT * FROM Minha_memoria Revisando Sintaxes SQL e Criando programa de Pesquisa Ano:
Leia maisMANUAL DE UTILIZAÇÃO
MANUAL DE UTILIZAÇÃO Módulo de operação Ativo Bem vindo à Vorage CRM! Nas próximas paginas apresentaremos o funcionamento da plataforma e ensinaremos como iniciar uma operação básica através do nosso sistema,
Leia maisListando itens em ComboBox e gravando os dados no Banco de Dados MySQL.
Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2012 Edição 7 Listando e Gravando Listando itens em ComboBox e gravando os dados no
Leia maisTABELAS RELACIONADAS: CAPTURANDO VALOR DE OUTRA TABELA ATRAVÉS DE DBGRID
PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO TABELAS RELACIONADAS: CAPTURANDO VALOR DE OUTRA TABELA ATRAVÉS DE DBGRID Imagine que estejamos trabalhando com tabelas relacionadas e que, em determinado
Leia maisManual de Orientação para Acesso e Uso do SARA Versão ERA s
Manual de Orientação para Acesso e Uso do SARA Versão ERA s 1. Introdução O SARA foi elaborado visando facilitar o dia a dia do produtor, foi desenvolvido em Delphi, utilizando banco de dados Firebird,
Leia maisLidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado.
, ()! $ Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado. Uma estratégia muito utilizada para organizar visualmente informações numéricas
Leia maisANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007
ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007 CURITIBA 2015 2 SUMÁRIO INTRODUÇÃO AO MICROSOFT POWERPOINT 2007... 3 JANELA PRINCIPAL... 3 1 - BOTÃO OFFICE... 4 2 - FERRAMENTAS DE ACESSO
Leia maisComo mandar mensagens OSC pelo Flash via Flosc
Como mandar mensagens OSC pelo Flash via Flosc Primeiro, deve-se baixar o Flosc. Existe uma base de dados Flosc no sourceforge, mas essa base está em formato.swc, só possível de ser lido pelo Flex (hoje
Leia mais1. Objetivos do curso 2. 2 Comunicação Interna (CI) 13 3 Ofício 18 4 DEFINIÇÕES GERAIS 23 5 CONCLUSÃO 27
1. Objetivos do curso 2 Introdução 2 Funções do Sistema: 2 Da Comunicação Interna: 3 o Enviadas: 3 o Recebidas: 3 o Com Cópia Pessoal: 3 Ofícios 4 o Enviados: 4 o Recebidas com Cópia: 5 Contatos Externos:
Leia maisCurso de atualização Educação Integral e Integrada. Tutorial Moodle. Belo Horizonte, 2013.
Curso de atualização Educação Integral e Integrada Tutorial Moodle Belo Horizonte, 2013. 1. INTRODUÇÃO... 3 2. ACESSANDO O AMBIENTE... 4 3. CONHECENDO O AMBIENTE... 5 3.1. CAIXAS DE UTILIDADES... 5 4.
Leia maisEsse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5.
Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5. Ele considera que você já tem o Joomla! instalado no seu computador. Caso você queira utilizá lo em um servidor na web,
Leia maisCOMO FAZER SEUS PEDIDOS ONLINE PASSO-A-PASSO
COMO FAZER SEUS PEDIDOS ONLINE PASSO-A-PASSO Neste passo a passo iremos mostrar como é facil, simples e rápido o acesso ao site para consultas e pedidos online. Primeira etapa: Entrar no site www.thermofisher.com
Leia maisMódulo SAC Atendimento ao Cliente
Módulo SAC Atendimento ao Cliente Objetivo O Módulo SAC ou Serviço de Atendimento ao Cliente é uma ferramenta que gerencia, cria e administra informações num canal de comunicação informatizado entre a
Leia maisCriando uma agenda simples com NetBeans 6.5
Criando uma agenda simples com NetBeans 6.5 (Swing application framework e Beansbinding) Já faz algum tempo que escrevi uma agenda simples usando o Eclipse com o Visual Class Editor. Demorei em torno de
Leia maise-ouv Passo-a-passo Sistema de Ouvidorias do Poder Executivo Federal Junho, 2015 Controladoria-Geral da União
e-ouv Passo-a-passo Sistema de Ouvidorias do Poder Executivo Federal Junho, 2015 Sumário 1. Acesso ao sistema... 3 2. Funcionalidades do sistema... 5 3. Como tratar manifestações... 14 3.1 Detalhar...
Leia maisManual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania
Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania Sumário Objetivos do Blog... 2 Log-in... 3 Esqueci minha senha... 4 Utilizando o Blog... 5 Encontrando seu Blog... 5 Conhecendo o
Leia maisAndroid e Bancos de Dados
(Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do
Leia maisManual do usuário. Softcall Java. versão 1.0.5
Manual do usuário Softcall Java versão 1.0.5 Sumário Iniciando SoftCall...3 Tela Principal...3 Configurando o SoftCall...4 Agenda...5 Incluindo um contato...5 Procurando um contato...6 Apagando um contato...6
Leia maisSistema de Prestação de Contas Siprec
Sistema de Prestação de Contas Siprec Manual de Utilização Perfil Beneficiário Versão 1.3.4 Agosto de 2013 1 SUMÁRIO Manual do Usuário... 3 1. Objetivo do manual... 3 2. Sobre o sistema... 3 3. Quem deve
Leia maisGoogle Drive. Passos. Configurando o Google Drive
Google Drive um sistema de armazenagem de arquivos ligado à sua conta Google e acessível via Internet, desta forma você pode acessar seus arquivos a partir de qualquer dispositivo que tenha acesso à Internet.
Leia maisManual. Atualização nº 1160 Novembro/2015 23/11/2015
1 Manual Atualização nº 1160 Novembro/2015 23/11/2015 NOVOS RECURSOS 2 01.01 Contrato de Colocação e Termo de Responsabilidade. 3 Se preferir, modifique os dados, alterando o tamanho da fonte e o texto.
Leia maisIntrodução a listas - Windows SharePoint Services - Microsoft Office Online
Page 1 of 5 Windows SharePoint Services Introdução a listas Ocultar tudo Uma lista é um conjunto de informações que você compartilha com membros da equipe. Por exemplo, você pode criar uma folha de inscrição
Leia maisTarefas em Moodle (1.6.5+)
(1.6.5+) Ficha Técnica Título Tarefas em Moodle Autor Athail Rangel Pulino Filho Copyright Creative Commons Edição Agosto 2007 Athail Rangel Pulino 2 Índice Tarefas 4 Criando uma tarefa 4 Configuração
Leia mais