Pesquisa por:
Como importar Widgets do Fluig

A construção de Widgets no fluig é realizada quando se deseja fazer um desenvolvimento mais avançado na plataforma.

Aprenda aqui uma forma alternativa de dar manutenção em widgets do Fluig que você perdeu acesso ao código Original.

Pode ser comum você precisar ajustar um widget, porém não possui os códigos que foram compilados.

Por padrão, até a data de hoje, não é possível importar o Widget utilizando os recursos que a plataforma de desenvolvimento Eclipse + Plugins do fluig oferecem.

Uma forma alternativa é utilizar um software de extração de texto, como o 7-zip e copiar alguns arquivos do fluig.

De posse do software extrator de arquivos copie o arquivo que representa sua widget na pasta C:\fluig\appserver\apps

Este widget está no formato .WAR e você deverá ser capaz de identificar qual precisa trabalhar.

Copie este arquivo para uma área segura ( não é recomendado alterar nada dentro das pastas do fluig, a não ser que você saiba o que esteja fazendo.

Extraia o arquivo copiado e utilize os arquivos gerados para recriar a widget.

Tutorial Heidisql

HeidiSQL 1/6 – Como instalar o HeidiSQL, uma alternativa ao PHPMyAdmin.

O PHPADMIN é um gerenciador de banco de dados e já foi amplamente utilizado. Nos dias de hoje é totalmente improdutivo utilizá-lo.

Por este motivo vou introduzi-los ao HeidiSQL, um ótimo software para gerenciar banco de dados Mysql.

Aprenda neste vídeo a instalar o HeidiSQL.

HeidiSQL 2/6 – Acessando os Servidores de banco de dados.

Neste vídeo você vai aprender a configurar a conexão com o servidor de banco de dados utilizando o HeidiSQL.

HeidiSQL 3/6 – Criação de Tabelas no MySQL pelo HeidiSQL.

Demonstração de como criar tabelas em bancos de dados MySQL utilizando o HeidiSQL.

HeidiSQL 4/6 – Relacionamento de 1 para N MySQL.

Neste vídeo será demonstrado como criar um relacionamento 1 para N no Mysql.

HeidiSQL 5/6 – Importar dados do Excel para o MySQL.

Aprenda a importar dados no Excel para o MySQL utilizando o HeidiSQL.

Heidisql 6/6 – Backup e Restauração de banco MySQL

Aprenda a fazer backup e restauração de bancos MySQL.

Sistema para alertas de veículos roubados.

Há 4 anos tive um veículo furtado. Naquele momento construi um sistema que capaz de realizar a leitura em tempo real de placas de carros, utilizando imagens e vídeos, e ao mesmo tempo integrando com: Detran, Telegram, PagSeguro; Proxys ; e endpoint próprio.

O código estará disponível em meu GitHub.

Sobre o Sistema

Os perfis

O sistema consiste em um portal, onde há três perfis de cadastros: Agente ; Usuário ; e Desenvolvedor.

  • Usuário é a pessoa que acessa e cadastra um veículo com o status de roubado e deixa suas informações pessoais, assim como a localização do roubo/furto. O usuário também realiza um pagamento com um valor à escolha dele. Deste valor uma porcentagem é direcionada ao website e a outra é direcionada aos agentes.
  • Agente é a pessoa que se cadastra no sistema com o intuito de receber alertas. A cada alerta recebido o agente recebe uma parte do pagamento feito pelo usuário.
  • Desenvolvedor é a pessoa que se cadastra para utilizar o sistema como integração.
As integrações
  • Telegram e pagseguro– Integração Oficial.
  • Detran – A consulta ao detran foi escrita em php, utilizando uma base de dados de proxys abertos brasileiros
  • Detran – Biblioteca python chamada SinespClient link do GitHub. Esta biblioteca foi desenvolvida baseada no aplicativo Sinesp Cidadão.
  • Leituras de Placas – Foi utilizado a biblioteca OpenALPR.

Os Fluxos

Consulta de Veículos.
Cadastro de Ocorrência.
Fluxo de cadastro de Ocorrência.

O modelo entidade Relacionamento.

O banco de dados.

As tecnologias escolhidas foram:

  • Framework CodeIgniter (PHP);
  • Bootstrap para a interface;
  • Mysql para o Banco de Dados;
  • Leitura de placas do sistema:

Palavras Chave

Sistema para gestão de veículos roubados

Sistema para veículos roubados.

Análise de Placas por imagem.

treinamento-fluig
Cursos e treinamentos para o software Fluig

A empresa TOTVS disponibiliza, em seus portais, o acesso a cursos online de diferentes temas, que abordam da instalação até a implantação de novos processos no Fluig que podem ser conferidos neste link: https://fluig.eadbox.com/

O curso gratuito apresentado é bom te apresentará uma visão geral da plataforma, portanto nada melhor que aplicar na prática e usar no dia a dia.

Entre em contato e contrate uma consultoria e treinamentos através de uma consultoria independente.

Participe de nosso grupo de whatsapp para Fluig.

Acessar WebService TOTVS RM pelo JAVA.

Neste tutorial vou demonstrar como acessar os webservices do TOTVS RM utilizando a linguagem de programação Java.

Entre em contato e faça um orçamento.

Após configurar seu ambiente de desenvolvimento crie um novo projeto java.

Em seguida, na pasta do seu projeto clique com o botão direito do mouse e em seguida vá em NEW > Other > Web Service Client.

criar novo > outro
web service client

Nesta janela inclua o endereço do seu webservice. Exemplo: http://localhost:8054/wsConsultaSQL/MEX?wsdl

Caso tenha dificuldades para entendimento desta URL, confira este artigo: Como configurar o webservice pelo RM Host ( Recomendado )

Configurar webservice.

Após o preenchimento clique em Finish.

Erros no Eclipse

Em meu ambiente aconteceram alguns erros, entre eles cito os dois abaixo:

The package javax.xml.namespace is accessible from more than one module: <unnamed>, java.xml

The type javax.xml.rpc.ServiceException cannot be resolved. It is indirectly referenced from required .class files

Para os erros citados acima a solução aplicada no meu ambiente foi remover o arquivo javaxrpc.jar e importar este: Javaxrpc-api-1.1

As etapas para este processo são: Clicar com botão direito do mouse nas propriedades do seu projeto, vá em java build path, remova o javaxrpc.jar e após baixar o arquivo indicado acima vá em add external Jar e importe o arquivo JAR que você baixou do repositório Maven.

wsConsSQL

Para realizar consultas SQL é necessário utilizar o webservice exclusivo para esta finalidade. Ele pode ser encontrado na sua url, conforme exemplo: http://localhost:8054/wsConsultaSQL/MEX?wsdl

Realize a primeira etapa, criando o webservice Client utilizando este endereço.

Em seguida, crie um novo arquivo java, chamado Principal, e inclua o seguinte código.

Atenção para dois itens, a variável endpoint deverá ser adaptada conforme seu ambiente foi configurado e o método realizarConsultaSQL recebe como parâmetro: sqlStub.realizarConsultaSQL(Código da Consulta SQL no RM, Código da Coligada de onde a Consulta foi Criada, Letra do Sistema onde a consulta foi criada, Parâmetros);

package br.eti.willian;

import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;

import com.totvs.www.RM_IRMSServerStub;
import com.totvs.www.RM_IwsConsultaSQLStub;

public class Principal {

	public static void main(String[] args) {
		
		String xml="";
		try {
	    	URL endpoint = new URL("http://localhost:8054/wsConsultaSQL/IwsConsultaSQL/");
	    	
	    			
	    	        RM_IRMSServerStub r = new RM_IRMSServerStub();      	        
	    	        
	    	        RM_IwsConsultaSQLStub sqlStub = new RM_IwsConsultaSQLStub(endpoint, r._getService());
	    	       sqlStub.setUsername("usuarioDoRm");
	    	       sqlStub.setPassword("senhaDoRm");
	    	        
			   xml = sqlStub.realizarConsultaSQL("teste", 1, "T", "");
			 
			
		} catch (RemoteException | MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		
		System.out.println(xml);
		
	}
}

Veja o tópico Conclusão deste artigo.

RMDataServer

Neste tópico será demonstrado como utilizar o RMDataServer implementado no Java.

Para realizar a leitura do DataServer com java é necessário utilizar o webservice exclusivo para esta finalidade. Ele pode ser encontrado na sua url, conforme exemplo: http://localhost:8054/wsDataServer/MEX?wsdl

Ajuste a variável endpoint, conforme seu endereço.

package br.eti.willian;

import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;

import com.totvs.www.RM_IRMSServerStub;
import com.totvs.www.RM_IwsDataServerStub;





public class Principal {

	public static void main(String[] args) {
		
		String xml = "";
		URL endpoint;
		try {
			endpoint = new URL("http://localhost:8054/wsDataServer/IwsDataServer");
			RM_IRMSServerStub r = new RM_IRMSServerStub();      	        
	       
			
			RM_IwsDataServerStub dataServerStub = new RM_IwsDataServerStub(endpoint, r._getService());
			dataServerStub.setUsername("usuarioDoRM");
			dataServerStub.setPassword("senhaDoRM");
			
			xml = dataServerStub.readView("MovTmvData", "TTMV.CODCOLIGADA=1", "CODCOLIGADA=1;CODSISTEMA=T");
		
			System.out.println(xml);
			
		} catch (MalformedURLException | RemoteException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    	
        
       
		
		
		
	}
}

Conclusão

O TOTVS RM tem evoluído nas integrações REST, entretanto não consigo dizer se todos os recursos já são homologados neste método. O objetivo deste documento é demonstrar de forma prática como executar as rotinas de webservices do TOTVS RM através da linguagem de programação java e utilizando os webservices em XML.

Após concluir a integração com o RM você perceberá que o retorno das funções são registros, do tipo string, que contém o conteúdo em XML.

Caberá agora a você buscar meios de Converter este XML em um Objeto java e em seguida continuar com seu projeto.

Obrigado.

Entre em contato e faça um orçamento.

A importância da comunicação na engenharia de software.

Introdução

A comunicação é tão essencial para um projeto que se torna seu fôlego de vida. Sem uma comunicação eficiente um projeto dificilmente será bem sucedido. Acrescente a intangibilidade (do software) e terá um belo desafio. (Intangível é a qualidade de algo que não pode ser tocado).

Felizmente podemos recorrer à literatura e buscar diversas lições aprendidas estruturadas em modelos e técnicas de levantamento de requisitos, que nos ajudarão a aperfeiçoar nossas análises em busca de maior acertividade em nossos projetos.

Abaixo serão abordado alguns temas que considero importante para o sucesso em um projeto de software.

A comunicação

Fonte: pixabay.com

“Alguns autores concluem que a comunicação pode representar até 90% de um projeto”. CHAVES(2006). Podemos perceber nesta citação, do livro Gerenciamento da Comunicação em Projetos – FGV, a sua importância. No meu entendimento é a área de conhecimento do PMBOK(PMI) que é presente em todos os projetos e que seu resultado afeta diretamente todas as demais áreas de conhecimento.

Ainda de acordo com CHAVES (2016, p.18) : “A palavra comunicação tem origem latina (comunicare) que significa partilhar, dividir. É a transmissão e recepção de mensagens, entre um emissor e um receptor, com o uso de sons, signos, símbolos, escritas etc”.

Discutir ideias e convertê-las em um produto de software é um imenso desafio, quase uma arte, por isso precisamos sempre aperfeiçoar nossas habilidades de nos comunicar, para que seja possível extrair o máximo de informações precisas durante os levantamentos de requisitos e no decorrer do ciclo de vida do software.


Técnicas para levantamento de requisitos

As técnicas para levantamentos de requisitos são muito bem abordadas no capítulo 4 do livro livro Engenharia de Software (9. edição). Aqui será abordado apenas uma breve visão de cada tópico.

Entrevista

Segundo SOMMERVILLE(2011): “as entrevistas são parte da maioria dos processos de engenharia de requisitos”. A entrevista tem por objetivo entender a necessidade do cliente.

SOMMERVILLE(2011) ainda indica que os especialistas utilizam terminologias diferentes, ou seja, o vocabulário pode não ser muito bem entendido por ambas as partes. A comunicação se torna importante, pois toda dúvida deve ser sanada, assim como sugere as primeiras páginas do livro UML 2.

A entrevista vem para completar o levantamento de requisitos e muitas vezes é o único recurso que o analista tem, mas esta técnica possui falhas, como por exemplo: se não for bem conduzida a entrevista pode levar a questionamentos e respostas sem valor, também é preciso saber abordar o entrevistado e estimular que ele participe, mas nem sempre terá todas as informações que realmente precisa. As pessoas nem sempre relatam tudo o que fazem.

O ideal é utilizar a entrevista aplicando outras abordagens, como a técnica de prototipação ou construção de cenários por exemplo.

Questionário

Os questionários são utilizados geralmente quando se tem uma barreira geográfica considerável.

Com questionário é possível obter informações de forma estruturada e remota, o que minimiza os custos e tempo.

É importante que o questionário seja bem elaborado e não possua margem para a ambiguidade.

Brainstorming

Consiste em realizar um grupo de discussão de ideias, com objetivo de captar informações relevantes de forma interativa e espontânea.

Neste modelo as ideias podem surgir rapidamente, por isso é importante uma pessoa exclusiva para tomar nota.

Outra possibilidade é permitir que as pessoas anotem suas ideias e as coloquem em um quadro, assim em um momento oportuno todas estas ideias serão analisadas por todos do grupo, uma de cada vez.

Prototipação

Esta técnica geralmente é utilizada no início do projeto, no planejamento.

Consiste em criar uma forte noção da aplicação apenas com modelos de protótipos com ou sem funcionalidades, de forma rápida com objetivo de validar os requisitos. Ideal para quando não ainda não está claro o que será desenvolvido.


Modelos de processos de software.

A escolha de modelos de desenvolvimento de software está muito relacionada à complexidade do sistema a ser desenvolvido e principalmente à variação de mudanças de escopo do projeto.

Conhecer e aplicar os modelos de desenvolvimento de software são fundamentais para o sucesso do projeto, também para atingir os prazos e custos.

Um projeto de software exige uma comunicação eficiente e, sempre que possível, bem documentada, pois é uma ótima forma de validar requisitos e realizar o planejamento.

As principais etapas do desenvolvimento de um software são: Planejamento, execução, implantação e controle / manutenção.

Na fase de Planejamento é que se identifica qual será o melhor modelo a ser seguido. Abaixo apresento os principais modelos e quando usar cada um deles

Modelo Cascata

O modelo clássico. Quando se tem uma definição clara do que será desenvolvido e não houver um movimento significativo de mudanças no escopo do projeto o modelo Cascata se mostra eficiente.

Neste modelo a fase do planejamento é a mais importante, pois exige um esforço entre levantamento e validação dos requisitos, uma vez que todo projeto será executado mediante ao levantamento realizado.

Um ponto negativo é que qualquer alteração no escopo do projeto pode resultar em custos, uma vez que um requisito pode ter sido identificado tarde demais, sendo necessárias grandes mudanças no sistema.

Por isso é sempre estar atento a quaisquer sinais de alteração de escopo e a comunicação no

Modelo Incremental

Esta abordagem permite construir várias partes do sistema ao mesmo tempo, além de ser possível abordar diversas frentes de trabalho e integra-los posteriormente.

Modelo Iterativo

O modelo Iterativo é um modelo semelhante ao modelo Cascata. O que diferencia é que o desenvolvimento é feito em vários ciclos, produzindo uma nova versão em cada etapa.

Modelo Prototipação

Este modelo consiste em entregar protótipos, possibilitando acompanhar a evolução dos requisitos do projeto.

É um ótimo modelo para validar requisitos, principalmente em sistemas complexos. Entretanto os protótipos são produtos com entrega ágil que podem gerar uma alta expectativa no cliente, principalmente em protótipos interativos, uma vez que poderá ficar subentendido que o sistema já está sendo concluído, quando na verdade está ainda sendo planejado.

Conclusão

Os projetos de desenvolvimento de software, complexos ou não, exigem uma comunicação eficiente, de modo que seja possível alcançar o objetivo com maior acertividade, desta forma é possível reduzir custos e atingir prazos.

Abordar a comunicação em projetos de tecnologia – principalmente de software – pode ser um desafio e deve ser tratado com prioridade. A comunicação eficiente fará a diferença em seu projeto.

Devemos também estar bem alinhados quanto aos processos e modelos de desenvolvimento e aperfeiçoamento de software.

Na área de tecnologiaO estudo é constante.

Referências

PMI (2013) PMBOK: Um guia do conhecimento em gerenciamento de projetos. 5 ed.

SOMMERVILLE, Ian. Engenharia de Software 9.ed. Pearson 2012.

CHAVES, Lúcio et. al. Gerenciamento da comunicação em projetos. Rio de Janeiro: Editora FGV, 2006. 


JUNEJA, Prachi. Importance of communication in an Organization. Disponível em: <https://managementstudyguide.com/importance-of-communication.htm>. Acesso em: 06 junho.2018.

Anydesk – Software para acesso remoto.

Acesso Remoto

O Acesso remoto é um recurso, utilizado através de softwares, que permite conectar em outro computador por meio da internet, desta forma é possível dar manutenção em softwares em diferentes localizações geográficas.

Anydesk

O anydesk é um software de acesso remoto, comumente utilizado pelas maiores empresas de suporte a sistemas, como ERPS e profissionais de tecnologia.

Para baixar o AnyDesk acesse o link e baixe: http://anydesk.com/

Como utilizar

Após baixar o AnyDesk abra o arquivo e irá abrir uma janela.

Após abrir o sistema, no lado esquerdo, será gerado um número. Este número deve ser passado para o suporte técnico que irá acessar seu computador.

Após enviar o ID o sistema poderá solicitar uma permissão, que deverá ser aceita, a partir deste momento o operador terá total acesso no seu computador, até que você feche o aplicativo.

Fluig No Code – Desenvolver e gerenciar processos sem a necessidade de programar.
Código HTML.

A nova aposta da TOTVS com o Fluig se chama No Code. No Code é uma expressão que pode ser entendida como “não codificar”, ou “não programar”. Basicamente é permitir que qualquer usuário sem conhecimentos técnicos em programação seja capaz de criar processos e formulários sem a necessidade de codificação.

A ferramenta de Processos do FLUIG é robusta e o construtor de formulários também não deixa a desejar. Entretanto, esta já exigia uma evolução para acompanhar a responsividade, design e outras evoluções de frontend.

Estas evoluções no entanto não é novidade, se comparado com ferramentas alternativas como o KissFlow por exemplo, uma das ferramentas mais utilizadas pelas maiores empresas do mundo.

Vantagens do FLUIG NO Code

A TOTVS então iniciou o movimento e na versão 1.6.5 do FLUIG há uma prévia desta novidade, a versao beta destas evoluções da ferramentas. É simplesmente fantástico. Em meus testes pude perceber que a ferramenta é estável, traz muitas melhorias e cumpre muito bem o que promete.

Agora o construtor de formulários permite a criação de colunas, de forma que os campos fiquem lado a lado, diferentemente dos templates do editor de formulário antigo, que permitia criar apenas uma coluna e os campos ficavam na vertical. Também o visual melhorou consideravelmente, além de componentes mais atualizados.

Além do formulário parece haver um movimento para entregar no Fluig ferramentas de uso mais simplificado, como o tasks, que é semelhante ao trello.

Também tem o flow, que da mesma forma se aplicaria as evoluções do modelador de processos.

A desvantagem do FLUIG No Code

Infelizmente, há um ponto negativo que destaco, que é o custo. O que parecia ser uma evolução se tornou um produto. A partir da versão 1.7 a TOTVS removeu das plataformas, sendo habilitado apenas para aqueles clientes que o adquirirem.

Quando parecia avançar, infelizmente damos outro passo para traz. Assim como o LMS ( no meu ponto de vista um dos principais recursos do FLUIG que agregaria valor) foi descontinuado, as novidades parecem vir para somar, mas somente na mensalidade.

Acesse: https://www.totvs.com/fluig/nocode/

Referências

TOTVS Fluig No-Code

(Minutos 35:00, 44:30 a 46:00)

Atualização 12.1.28 – RM Folha de Pagamento – WebService FopFuncData

A consulta por webservice, na atualização 12.1.28 trouxe uma nova necessidade de estruturação dos cadastros dentro do RM. A não configuração deste recurso poderá trazer o seguinte erro: Usuário precisa estar vinculado com um funcionário ou à um chefe externo para ter acesso à estas informações.

Ao utilizar o SOAPUI, ou FLUIG, era necessário no sistema a criação apenas de um usuário que faria a consulta dos Funcionários e este usuário deveria ter permissão de leitura na tela de Cadastros de Funcionários.

Na versão 12.1.28 as informações do funcionário só poderão ser acessadas via webservice através de um funcionário ou Chefe externo, devendo portanto ser configurado nas seguintes telas: (Lembre-se de fazer em ambiente de testes e verificar como isso impactaria sua estrutura de organograma)

Primeira Opção:

  • Cadastrar um novo Chefe Externo: Ideal para quando você tem um usuário do sistema que não está vinculado a nenhum funcionário.
  • Preencha os dados e informe o usuário, após isso abra a tela chefes e supervisores.
  • Na lista que se abrir escolha a RAIZ que o usuário terá acesso, ou coloque na raiz principal e clique no botão ‘Novo Chefe Externo’
  • Após incluir o novo chefe o sistema irá permitir a consulta por webservice.

Segunda Opção:

  • Abrir o cadastro de Funcionários na aba de Identificação ( a tela padrão do funcionário )
  • Inserir no campo (Código do Usuário) o usuário que é utilizado para integrações.
  • Acessar a Tela Chefes e Supervisores
  • Na lista que se abrir escolha a RAIZ que o usuário terá acesso, ou coloque na raiz principal e clique no botão ‘Novo Chefe’
  • Após incluir o novo chefe o sistema irá permitir a consulta por webservice.
TOTVS RM com PowerBI

O TOTVS RM é um software de gestão empresarial, um ERP. Nele concentram (quase) todas as informações pertinentes à empresa como: folha de pagamento, financeiros, contabilidade e fiscal, obras e etc.

Por se tratar de um ERP robusto e, no meu ponto de vista, bem estruturado fica fácil extrair dados e montar visões no PowerBI.

Se você deseja apoio na extração de dados do TOTVS RM, ou desenvolvimento com PowerBI entre em contato neste link.