quarta-feira, 28 de junho de 2023

Ponto de Entrada no Protheus: Ampliando as Possibilidades do seu Sistema

 Título: Ponto de Entrada no Protheus: Ampliando as Possibilidades do seu Sistema


Introdução:

O Protheus, um dos sistemas de gestão empresarial mais utilizados no Brasil, possui uma poderosa funcionalidade chamada "Ponto de Entrada". Neste artigo, vamos explorar o que é um Ponto de Entrada no Protheus, como ele pode ser implementado e quais benefícios traz para a personalização e expansão do seu sistema.


O que é um Ponto de Entrada no Protheus?

Em termos simples, um Ponto de Entrada é um trecho de código dentro do Protheus que permite a inserção de lógica personalizada antes, durante ou após a execução de processos específicos do sistema. Essa funcionalidade é disponibilizada pela TOTVS, empresa responsável pelo Protheus, e é uma forma de estender a funcionalidade padrão do sistema, adaptando-o às necessidades específicas da sua empresa.


Implementações Possíveis:

Os Pontos de Entrada oferecem uma vasta gama de possibilidades de implementação. Alguns exemplos de sua utilização incluem:


1. Validações Específicas: Você pode adicionar regras de validação personalizadas antes da execução de uma determinada transação ou processo, garantindo que apenas dados válidos sejam processados.


2. Integrações com Sistemas Externos: É possível estabelecer comunicação com outros sistemas externos, sincronizando dados em tempo real, automatizando tarefas e melhorando a eficiência operacional.


3. Customização de Relatórios: Os Pontos de Entrada permitem modificar a geração de relatórios, inserindo informações adicionais, formatações especiais ou até mesmo gerando novos formatos de relatórios personalizados.


4. Cálculos Específicos: Se sua empresa possui cálculos complexos ou específicos que não são contemplados pelo Protheus, você pode implementar esses cálculos através de Pontos de Entrada.


Benefícios do uso de Pontos de Entrada:

Ao utilizar os Pontos de Entrada no Protheus, você pode desfrutar de uma série de benefícios, tais como:


1. Flexibilidade: Os Pontos de Entrada permitem que você personalize o sistema de acordo com as necessidades da sua empresa, adaptando-o de forma precisa e eficiente.


2. Agilidade: Com a implementação de Pontos de Entrada, você reduz a dependência de desenvolvimento personalizado e evita a necessidade de alterações no código-fonte principal do sistema.


3. Integração: Através dos Pontos de Entrada, é possível integrar o Protheus a outros sistemas, tornando mais fácil o compartilhamento de informações entre diferentes plataformas e aumentando a interoperabilidade.


Conclusão:

Os Pontos de Entrada no Protheus oferecem uma maneira poderosa de personalizar e estender a funcionalidade do sistema de gestão. Eles permitem a implementação de lógica personalizada e integração com outros sistemas, ampliando as possibilidades de uso e adaptando o Protheus às necessidades específicas da sua empresa. Ao aproveitar essa funcionalidade, você pode obter um sistema mais flexível, ágil e integrado, proporcionando um ambiente de trabalho mais eficiente e produtivo. Explore os Pontos de Entrada e descub


ra como maximizar o potencial do seu sistema Protheus.

terça-feira, 27 de junho de 2023

Controle de Fluxo: IF, ELSE IF, FOR e WHILE na linguagem ADVLP

 Título: Controle de Fluxo: IF, ELSE IF, FOR e WHILE na linguagem ADVLP


Introdução:

No mundo da programação, o controle de fluxo é uma habilidade essencial para criar programas eficientes e dinâmicos. Na linguagem ADVLP, temos algumas estruturas de controle de fluxo importantes, como o IF, ELSE IF, FOR e WHILE. Neste artigo, vamos explorar a sintaxe e o uso dessas estruturas em ADVLP, além de fornecer exemplos práticos para facilitar o entendimento.


IF:

O IF é uma estrutura de controle de fluxo condicional que permite executar um bloco de código se uma determinada condição for verdadeira. A sintaxe do IF em ADVLP é a seguinte:


```

se (condição) então

  // código a ser executado se a condição for verdadeira

fimse

```


Exemplo:


```

var idade = 20;


se (idade >= 18) então

  escreva("Você é maior de idade.");

fimse

```


ELSE IF:

O ELSE IF é uma extensão do IF e permite testar condições adicionais se a primeira condição não for verdadeira. A sintaxe do ELSE IF em ADVLP é a seguinte:


```

se (condição1) então

  // código a ser executado se a condição1 for verdadeira

senão se (condição2) então

  // código a ser executado se a condição2 for verdadeira

senão

  // código a ser executado se nenhuma das condições for verdadeira

fimse

```


Exemplo:


```

var nota = 75;


se (nota >= 90) então

  escreva("Sua nota é A.");

senão se (nota >= 80) então

  escreva("Sua nota é B.");

senão se (nota >= 70) então

  escreva("Sua nota é C.");

senão

  escreva("Sua nota é D ou F.");

fimse

```


FOR:

O FOR é uma estrutura de controle de fluxo que permite repetir um bloco de código um número específico de vezes. A sintaxe do FOR em ADVLP é a seguinte:


```

para (inicialização; condição; atualização) faça

  // código a ser executado

fimpara

```


Exemplo:


```

para (var i = 1; i <= 5; i = i + 1) faça

  escreva(i);

fimpara

```


Nesse exemplo, o código será repetido cinco vezes, e a variável `i` será incrementada em 1 a cada iteração. Será impresso no console os valores de 1 a 5.


WHILE:

O WHILE é uma estrutura de controle de fluxo que permite repetir um bloco de código enquanto uma determinada condição for verdadeira. A sintaxe do WHILE em ADVLP é a seguinte:


```

enquanto (condição) faça

  // código a ser executado

fimenquanto

```


Exemplo:


```

var contador = 0;


enquanto (contador < 5) faça

  escreva(contador);

  contador = contador + 1;

fimenquanto

```


Nesse exemplo, o bloco de código será executado enquanto o valor da variável `contador` for menor que 5. A cada iteração, o valor do contador será incrementado


 em 1 e será impresso no console o valor atual do contador.


Conclusão:

As estruturas de controle de fluxo IF, ELSE IF, FOR e WHILE são fundamentais na programação ADVLP. Elas permitem criar lógicas condicionais e loops, tornando os programas mais flexíveis e poderosos. Compreender a sintaxe e o uso dessas estruturas é um passo importante para dominar a linguagem ADVLP. Esperamos que os exemplos fornecidos tenham ajudado a entender melhor como utilizá-las. Agora é hora de praticar e explorar essas estruturas em seus próprios projetos!

Introdução à Lógica de Programação e Operadores Básicos na Linguagem ADVLP

 Título: Introdução à Lógica de Programação e Operadores Básicos na Linguagem ADVLP


Introdução:

A lógica de programação é um dos pilares fundamentais para quem deseja aprender a programar. É através dessa habilidade que desenvolvemos o raciocínio lógico necessário para criar algoritmos e solucionar problemas de forma estruturada. Neste artigo, vamos explorar a lógica de programação e os operadores básicos na linguagem ADVLP, além de fornecer exemplos de sites que podem auxiliar iniciantes nesse caminho de aprendizado.


O que é lógica de programação?

A lógica de programação consiste na elaboração de um algoritmo, ou seja, um conjunto de instruções sequenciais que visam resolver um problema ou executar uma tarefa específica. Antes de iniciar a codificação de um programa, é importante planejar e organizar a lógica por trás do problema, dividindo-o em etapas menores e determinando a sequência correta de ações.


Operadores básicos na linguagem ADVLP:

Os operadores são símbolos ou palavras reservadas que permitem a manipulação de valores e variáveis em um programa. Na linguagem ADVLP, encontramos os seguintes operadores básicos:


1. Operadores Aritméticos:

   - Soma (+): Realiza a adição de dois valores.

   - Subtração (-): Realiza a subtração de dois valores.

   - Multiplicação (*): Realiza a multiplicação de dois valores.

   - Divisão (/): Realiza a divisão de dois valores.

   - Módulo (%): Retorna o resto da divisão de dois valores.


2. Operadores de Comparação:

   - Igual (==): Verifica se dois valores são iguais.

   - Diferente (!=): Verifica se dois valores são diferentes.

   - Maior que (>): Verifica se um valor é maior que outro.

   - Menor que (<): Verifica se um valor é menor que outro.

   - Maior ou igual (>=): Verifica se um valor é maior ou igual a outro.

   - Menor ou igual (<=): Verifica se um valor é menor ou igual a outro.


3. Operadores Lógicos:

   - E (&&): Retorna verdadeiro se todas as condições forem verdadeiras.

   - Ou (||): Retorna verdadeiro se pelo menos uma das condições for verdadeira.

   - Negação (!): Inverte o valor de uma condição.


Exemplo de uso dos operadores em ADVLP:

Vamos utilizar um exemplo para ilustrar o uso dos operadores na linguagem ADVLP. Considere o código a seguir:


```

// Exemplo: Verificar se um número é par e positivo


var numero = 10;


// Verifica se o número é par

if (numero % 2 == 0) {

  // Verifica se o número é positivo

  if (numero > 0) {

    escreva("O número é par e positivo.");

  } else {

    escreva("O número é par, mas não é positivo.");

  }

} else {

  escreva("O número não é par.");

}

```


Nesse exemplo, estamos verificando se um número é par e positivo. Primeiro, utilizamos o operador `%` (módulo) para verificar se o número é divisível por 2, ou seja, se é par. Em seg


uida, utilizamos o operador `>` (maior que) para verificar se o número é maior que zero, ou seja, se é positivo. Caso ambas as condições sejam verdadeiras, exibimos a mensagem "O número é par e positivo". Caso contrário, exibimos as mensagens correspondentes.


Sites para iniciantes em ADVLP:

Se você está começando a aprender ADVLP, existem alguns sites que podem ajudá-lo nessa jornada. Confira:


1. Codecademy (www.codecademy.com): Oferece cursos interativos e projetos práticos para aprender ADVLP e outras linguagens de programação.

2. W3Schools (www.w3schools.com): Disponibiliza tutoriais, exemplos e exercícios em ADVLP, além de diversas outras tecnologias.

3. Khan Academy (www.khanacademy.org): Apresenta uma abordagem didática, com vídeos e exercícios progressivos para ajudar no aprendizado de ADVLP.


Conclusão:

A lógica de programação e o conhecimento dos operadores básicos são essenciais para qualquer aspirante a programador. Com uma boa base nesses conceitos, será mais fácil compreender e escrever algoritmos em ADVLP ou em qualquer outra linguagem de programação. Os sites mencionados oferecem recursos valiosos para iniciantes, proporcionando um ambiente de aprendizado interativo e acessível. Comece a explorar a lógica de programação e a linguagem ADVLP, e em breve estará pronto para se aventurar em projetos mais complexos!

Apps no Protheus com PO UI

Apps no Protheus  com PO UI

Olá pessoal! Hoje vou compartilhar um exemplo de como criar um app dentro do Protheus. Muitas pessoas têm dúvidas sobre como fazer isso, então vamos criar um app juntos!





Antes de começar, certifique-se de ter o NodeJS e o NPM instalados. Você também pode usar o Yarn, se preferir. O app que vamos criar será feito com Angular 14, portanto o primeiro passo é instalar ou atualizar a CLI do Angular:


```

npm i -g @angular/cli@14

```


Com a CLI instalada, vamos começar criando o projeto Angular:


```

ng new my-protheus-app

```


Esse comando irá inicializar um projeto Angular básico. Agora vamos instalar algumas dependências nele.


Dentro da pasta do projeto, instale a biblioteca de componentes PO UI, que é recomendada pelo Angular:


```

cd my-protheus-app

ng add @po-ui/ng-components@14

ng add @po-ui/ng-templates@14

```


Agora, vamos instalar a biblioteca protheus-lib-core, que nos ajudará com as integrações com o Protheus, como autenticação e tenantid:


```

npm i @totvs/protheus-lib-core

```


Você também pode precisar instalar o subsink, pois existe essa dependência no protheus-lib-core.


Ótimo, agora instalamos todas as bibliotecas necessárias para o funcionamento do nosso app. No entanto, as cores do PO UI não correspondem às do Protheus. Para resolver isso, podemos instalar o Tema do Protheus, que deixará nosso app com o estilo azul do Protheus:


```

npm i @totvs/po-theme@14

```


Agora que temos tudo instalado, vamos começar configurando o tema. Abra o arquivo `angular.json` e adicione os arquivos CSS do tema da TOTVS na seção "styles":


```

"styles": [

  "node_modules/@totvs/po-theme/css/po-theme-default-variables.min.css",

  "node_modules/@totvs/po-theme/css/po-theme-default.min.css",

  "node_modules/@po-ui/style/css/po-theme-core.min.css"

]

```


Agora, vamos importar o módulo `ProtheusLibCoreModule` no arquivo `app.module.ts`. Ao importar esse módulo, teremos recursos como autenticação e envio de tenantid conforme a filial logada:


```

import { ProtheusLibCoreModule } from '@totvs/protheus-lib-core';

```


Certifique-se de adicionar o `ProtheusLibCoreModule` no array de imports do NgModule.


Feito isso, vamos fazer a build do app usando o seguinte comando:


```

ng build

```


Após a build, será criada uma pasta chamada `dist`, onde teremos o app compilado. Essa pasta é muito importante, pois nela encontraremos nosso app pronto para ser usado. Compacte essa pasta em formato ZIP, mas renomeie a extensão para `.APP`.

Agora temos nosso arquivo `.app`, que é o recurso compilado que será lido pela função `FWCallApp`.

Aproveitando o assunto, é hora de criar a função de menu responsável por abrir o app. Crie o arquivo `myprtapp.prw` com o seguinte código:


```

#include "protheus.ch"

user function myprtapp()

FWCallApp("my-protheus-app")

return

```


Compile o arquivo `myprtapp.prw` e adicione a função `myprtapp` ao menu do seu sistema Protheus.

Espero que este exemplo tenha sido útil para você criar seus próprios apps dentro do Protheus. Divirta-se desenvolvendo!

Explorando as Evoluções da Linguagem ADVPL: Potencializando o Desenvolvimento de Sistemas

 Título: Explorando as Evoluções da Linguagem ADVPL: Potencializando o Desenvolvimento de Sistemas


Introdução:

A linguagem de programação ADVPL (Advanced Protheus Language) tem desempenhado um papel fundamental no desenvolvimento de sistemas empresariais. Com sua flexibilidade e capacidade de integração com outros sistemas, a ADVPL tem sido amplamente adotada por organizações em todo o mundo. Neste post, vamos explorar as evoluções da linguagem ADVPL ao longo do tempo, destacando suas melhorias e recursos aprimorados que potencializam o desenvolvimento de sistemas mais eficientes e robustos.


1. Surgimento e Características Iniciais:

A linguagem ADVPL foi criada inicialmente para o ambiente Protheus, um ERP (Enterprise Resource Planning) muito utilizado no mercado. Com uma sintaxe próxima à linguagem de programação xBase, a ADVPL possibilitou aos desenvolvedores a criação de soluções personalizadas e adaptáveis às necessidades de cada organização.


2. Evoluções e Aprimoramentos:

Com o passar do tempo, a ADVPL passou por diversas evoluções e aprimoramentos, acompanhando as demandas do mercado e as necessidades dos desenvolvedores. Algumas das principais evoluções incluem:


   a) Suporte a Orientação a Objetos: Uma das melhorias mais significativas na linguagem ADVPL foi a introdução do suporte à orientação a objetos. Com essa adição, os desenvolvedores puderam utilizar conceitos como encapsulamento, herança e polimorfismo, o que proporcionou uma maior organização do código, facilitando sua manutenção e reutilização.


   b) Integração com Web Services: Para atender à crescente demanda por integração de sistemas, a ADVPL incorporou recursos avançados de comunicação, permitindo a interação com serviços web. Isso possibilitou a troca de dados e a integração de sistemas com plataformas externas, ampliando as possibilidades de integração e colaboração entre diferentes sistemas.


   c) Acessibilidade a Bancos de Dados Relacionais: A linguagem ADVPL também evoluiu para oferecer maior suporte a bancos de dados relacionais, como SQL Server e Oracle. Com essa evolução, os desenvolvedores puderam aproveitar as vantagens de bancos de dados robustos e estabelecidos, além de utilizar recursos avançados, como transações e consultas complexas, para melhorar o desempenho e a escalabilidade dos sistemas.


   d) Melhorias na Performance: Com o objetivo de otimizar o desempenho dos sistemas desenvolvidos em ADVPL, foram introduzidas melhorias significativas, como otimização de consultas, cache de dados e a utilização de técnicas avançadas de programação. Essas melhorias permitiram que os sistemas desenvolvidos em ADVPL fossem mais eficientes e responsivos, proporcionando uma experiência melhor para os usuários finais.


3. Frameworks e Ferramentas Adicionais:

Além das evoluções na própria linguagem ADVPL, também surgiram diversos frameworks e ferramentas que potencializam ainda mais o desenvolvimento de sistemas. Alguns exemplos incluem:


   a) TOTVS SmartClient: Um framework que permite o desenvolvimento de interfaces de usuário ricas e respons


ivas, utilizando tecnologias web modernas, como HTML5 e CSS3. Isso proporciona uma experiência de usuário aprimorada e mais intuitiva.


   b) TOTVS Fluig: Uma plataforma de desenvolvimento e colaboração que permite a criação de soluções empresariais completas, abrangendo áreas como gestão de processos, documentos e portais corporativos. Com o Fluig, é possível integrar facilmente sistemas desenvolvidos em ADVPL com outras soluções empresariais.


Conclusão:

A linguagem ADVPL e suas evoluções têm desempenhado um papel fundamental no desenvolvimento de sistemas empresariais, fornecendo recursos avançados e ferramentas que potencializam a criação de soluções personalizadas e adaptáveis. Com suporte à orientação a objetos, integração com web services e acessibilidade a bancos de dados relacionais, a ADVPL se mantém atualizada com as demandas do mercado. Além disso, os frameworks e ferramentas adicionais, como o TOTVS SmartClient e o TOTVS Fluig, complementam a linguagem, oferecendo recursos extras para otimizar o desenvolvimento de sistemas complexos. A constante evolução da ADVPL garante que os desenvolvedores possam criar sistemas eficientes e robustos, impulsionando o crescimento das organizações e proporcionando uma experiência de usuário excepcional.

segunda-feira, 26 de junho de 2023

Introdução à linguagem AdvPL: Desvendando os fundamentos

 Título: Introdução à linguagem AdvPL: Desvendando os fundamentos


Introdução:

Se você está interessado em desenvolver sistemas baseados no Protheus, é essencial ter uma compreensão sólida da linguagem AdvPL (Advanced Protheus Language). Nesta primeira postagem do nosso blog, vamos mergulhar nos fundamentos dessa linguagem poderosa, explorando seus conceitos básicos e fornecendo uma visão geral do seu uso no desenvolvimento de aplicativos.


1. O que é a linguagem AdvPL?

A linguagem AdvPL é uma linguagem de programação orientada a objetos criada especificamente para o ambiente do Protheus, um popular sistema de gestão empresarial (ERP). Ela foi projetada para ser simples, flexível e poderosa, permitindo que os desenvolvedores personalizem e estendam o Protheus de acordo com as necessidades específicas de cada empresa.


2. Variáveis e tipos de dados

Assim como em qualquer linguagem de programação, o AdvPL utiliza variáveis para armazenar valores. Nesta seção, vamos explorar os diferentes tipos de dados suportados pelo AdvPL, como números, strings, datas e vetores. Além disso, abordaremos os conceitos de escopo de variáveis e a declaração correta dos tipos.


3. Estruturas de controle

As estruturas de controle são essenciais para a criação de lógica e fluxo de execução em programas AdvPL. Aqui, vamos discutir os principais comandos de controle, como condicionais (if-else), loops (for, while) e estruturas de repetição (do while). Exemplos práticos serão fornecidos para demonstrar como utilizar essas estruturas em cenários reais.


4. Funções e procedimentos

No AdvPL, funções e procedimentos desempenham um papel fundamental na modularização do código e reutilização de trechos lógicos. Nesta seção, vamos explorar como criar e chamar funções e procedimentos em AdvPL, discutindo também a passagem de parâmetros e retorno de valores.


5. Ambiente de desenvolvimento e recursos úteis

Para começar a programar em AdvPL, é importante ter acesso a um ambiente de desenvolvimento adequado. Vamos apresentar algumas opções populares, como o TOTVS Developer Studio, além de discutir recursos úteis, como a documentação oficial da TOTVS, fóruns de comunidades e outros materiais de aprendizado disponíveis online.


Conclusão:

Nesta primeira postagem, você teve uma visão geral dos conceitos básicos da linguagem AdvPL. Agora, você está preparado para avançar na jornada de desenvolvimento de sistemas no Protheus. Nas próximas postagens, vamos explorar em detalhes cada um dos tópicos abordados aqui, aprofundando seu conhecimento e fornecendo exemplos práticos. Continue acompanhando nosso blog e desvende todo o potencial da linguagem AdvPL!

Ponto de Entrada no Protheus: Ampliando as Possibilidades do seu Sistema

 Título: Ponto de Entrada no Protheus: Ampliando as Possibilidades do seu Sistema Introdução: O Protheus, um dos sistemas de gestão empresar...