Você está na página 1de 36

PRIMAVERA v10

Atualização Técnica
Síntese de Conteúdos

• Tecnologia
• Principais alterações na Base de dados
• PEX – PRIMAVERA Extensibility
• Novas ferramentas e ambiente de desenvolvimento
• Migração
• Principais alterações nos Motores
• Novo conceito de desenvolvimento e extensibilidade
• Eventos
• Extensões
• Separadores, Funções e Formulários do utilizador
• Novo modelo de apoio ao desenvolvimento
Tecnologia

• Evolução sem precedentes


– Versão 100% .NET
– .NET Framework 4.7.1.

• Alteração de requisitos mínimos de sistema


– Windows 7, 8.1, 10
– Windows 2008 R2, 2012, 2016
– Últimos Service Packs necessários para todos os sistemas suportados

• Outras aplicações já familiares


– Microsoft SQL Server 2008 (ou superior) e Crystal Reports 2008
Reorganização da Logística e Tesouraria

Compras

Internos Vendas

GCP
Projetos Inventário

Bancos Contas
Correntes
Principais alterações na Base de dados
Inventário

V9 V10

INV_Origens, INV_Movimentos e
LinhasSTK
INV_Custeio
ArtigoArmazem View V_INV_ArtigoArmazem
Campos StockActual e PCMedio
View INV_ResumoArtigo
da tabela Artigo

Entradas e saídas:
CabecInternos

Transferências de stock:
INV_CabecTransferencias e
CabecSTK
INV_LinhasTransferencias

Composições e decomposições:
INV_CabecComposicoes e
INV_LinhasComposicoes
Principais alterações na Base de dados
Movimentos de stock e custeio

• Registo de movimentos de stock e custeio são efetuados de forma independente em duas


tabelas: INV_Movimentos e INV_Custeio, respetivamente.

• As tabelas que registam alterações a stock e custeio incluem as colunas _anterior e _actual que
armazenam os valores antes do registo em questão e após a inserção do mesmo.

• Os valores de stock e custeio à data atual estão nas tabelas INV_ValoresActuaisStock e


INV_ValoresActuaisCusteio.
Olá PEX
PRIMAVERA Extensibility
PEX – PRIMAVERA Extensibility

PROGRAMADOR

3
Eventos PEX • Funções Utilizador

PAGO LP
PEX • Separadores Utilizador • Ribbon Utilizador
• Formulário Utilizador • Stored Procedores
Advanced • Processos Utilizador • Queries SQL
• Painéis Utilizador
COMPETÊNCIAS

2

CONSULTOR

Campos Utilizador
PEX • Tabelas Utilizador
Extensibility • Menus Utilizador

INCLUÍDO DE BASE
• Mapas Utilizador

1
UTILIZADOR

• Configuração Ecrãs
PEX • Configuração Ribbon
Configuration • Configuração Listas
Novas ferramentas de desenvolvimento
Novo ambiente de desenvolvimento

• Unificar num só local todo o desenvolvimento da extensibilidade.

• Proteger a propriedade do código, pois deixa de estar exposto no cliente através do VBA.

• Eliminar erros causados pela sintaxe da linguagem do VBA.

• Simplificar o processo de distribuição dos desenvolvimentos.


Migração para V10

Motores Integração IDE VBA

Atualizar referências
.NET
Corrigir caminhos API

VB6 Migrar para .NET

VBA Migrar para .NET


Principais alterações nos Motores

• Desaparece a entrada
.Comercial

• Todas as classes com o


prefixo GCP desaparecem.
CMP VND INT INV CCT TES
• Entidades comuns (Artigos,
Clientes, etc.) passam para
BAS
o módulo Base.
ADM
Principais alterações nos Motores

• Distribuição de Binários:

– Desaparece a pasta “C:\...\Common Files\PRIMAVERA”

– Todas as assemblies de referências PRIMAVERA estão na pasta


“C:\Program Files (x86)\PRIMAVERA\SG100\Apl\”

– Não é necessário o registo de DLLs.


Novos conceitos de desenvolvimento e extensibilidade
Extensões

• Tecnologia de gestão da extensibilidade que simplifica a implementação,


aumenta a produtividade e minimiza de forma geral os custos.

• O mecanismo de extensibilidade passa a ser baseado em extensões.

• Estas são assemblies de projetos que podem conter eventos de user interface,
eventos de motor, formulários e separadores de utilizador, etc.
Novos conceitos de desenvolvimento e extensibilidade
Extensões

• É possível:
– Ter o verdadeiro conceito de add-ins pois, no limite, apenas é necessário o
registo de uma assembly para adicionar novas funcionalidades ao ERP.

– Associar uma extensão a uma empresa ou a todas.

– Criar várias extensões que implementam o mesmo evento, sendo a


execução baseada na ordem de registo.

– Tratar eventos na Camada de Interface e/ou na Camada de Negócio.


Eventos

• PEX: estão disponíveis eventos no interface tal como nas versões


anteriores (semelhantes aos anteriores eventos VBA).

• Motor: eventos disponíveis ao nível do motor (API).

• Em qualquer dos casos, as classes que estendem as entidades


base estão organizadas por DLLs.
Exemplo 1 – Eventos PEX

• Objetivo: na ficha de artigo, tornar obrigatório o preenchimento do campo Família.

• Passos:

– Criar projeto no VS

– Escrever código

– Compilar - Debug vs Release

– Adicionar extensão ao ERP

– Testar
Extensões - Registo

• A gestão das extensões é efetuada numa nova área designada de Backstage.


Extensões – Âmbito e Localização

Empresa Âmbito de execução Localização em disco

NomeEmpresa Apenas empresa selecionada C:\..\PRIMAVERA\SG100\Config\LE\Extensions\<Empresa>

*** Todas as empresas C:\..\PRIMAVERA\SG100\Config\LE\CommonExtensions


Extensões – Âmbito e Localização

Instalação Posto Instalação Servidor

Extensões estão localmente no posto Extensões estão no servidor


Exemplo 2 – Eventos PEX
• Objetivo: Atualizar extensão no ERP de forma eficiente.

• Passos:
– Alterar mensagem do exemplo anterior
– Compilar
– Evitar “lixo”
– Atualizar extensão já registada
• Manualmente
• Automaticamente
• Possibilidade de verificar integridade das Extensões
– Executar ERP em simultâneo com solução
– Testar com Debug e Breakpoints
Exercício 1 – Eventos PEX

a) No Editor de Vendas, verificar se o NIF da Entidade é um número válido.

b) Ainda no Editor de Vendas, adicionar nas observações o seguinte texto:


“Observação inserida por Evento PEX.”
Exemplo 3 – Eventos de motor

• Objetivo: na gravação de um documento de venda adicionar nas observações, através de eventos de Motor, o
seguinte texto: “Observação inserida por Evento de Motor.”

• Passos:

– Usar mesmo projeto do Exercício 1

– Escrever código

– Compilar

– Atualizar extensão já registada

– Testar
Eventos

AntesDeGravar()

Sim
Camada Cancel
Interface
Não

AntesDeGravar()

Sim
Camada Cancel
Negócio (Motores)
Não

Camada
Atualiza
Dados
Separadores do utilizador

• Os separadores do utilizador são criados através da herança da classe base de sistema


CustomTab<T>

• Os campos do utilizador são criados de forma idêntica à anterior versão.


Separadores do utilizador – Eventos

• Depois de fazer a herança de CustomTab<T> o controlo passa automaticamente a disponibilizar


acesso aos quatro eventos standard (Inicializa, Carrega, Grava e Anula) e a possibilidade de renomear
a Caption do separador.
Separadores do utilizador – Campos do utilizador

• Para carregar e gravar o conteúdo de um


campo do utilizador de forma automática é
necessário adicionar ao projeto os controlos
disponíveis na assembly:

Primavera.Platform.Extensibility.Controls.dll

• Para o sistema funcionar corretamente, o nome do controlo que queremos ligar com o
campo do utilizador deve ser igual ao nome do campo.
Exemplo 4 – Separadores do utilizador

• Objetivo: na ficha de cliente apresentar um separador do utilizador com os seguintes campos do utilizador.
– CDU_campovar1 (nvarchar) Nota: poderá já existir
– CDU_VIP (bit)
– CDU_UltimoContrato (smalldatetime)

• Passos:
– Criar campos do utilizador necessários
– Criar projeto no VS
– Adicionar referências a separador do utilizador e desenhar conteúdos
– Adicionar controlos de campos do utilizador e associar nomes
– Adicionar extensão ao ERP
– Testar
Funções do utilizador

• As funções do utilizador são criados através da herança da classe base de sistema


CustomCode
Exemplo 5 – Funções do utilizador

• Objetivo: criar uma função do utilizador que apresente a soma de 2 números inteiros indicados pelo utilizador
no ERP.

• Passos:

– Criar projeto no VS

– Adicionar referências a CustomCode

– Escrever código

– Adicionar extensão ao ERP

– Registar função do utilizador

– Testar

– Adicionar atalho na Ribbon


Formulários do utilizador

• Os formulários do utilizador são criados através da herança da classe base de sistema


CustomForm
Exemplo 6 – Formulários do utilizador

• Objetivo: criar um formulário do utilizador que permita ao utilizador


introduzir o preço de um artigo e calcular o respetivo valor de imposto,
com base numa taxa também indicada pelo utilizador.

• Passos:

– Criar projeto no VS

– Adicionar referências a formulário do utilizador e desenhar conteúdos

– Escrever código

– Adicionar extensão ao ERP

– Registar função do utilizador

– Testar

– Adicionar atalho na Ribbon


Novo modelo de Ajuda e Documentação
Portal: https://developers.primaverabss.com
Novo modelo de Ajuda e Documentação
Recursos adicionais e Comunidade

Acesso à documentação da API Extensões para Visual Studio Repositório open-source de


dos produtos. que permitam automatizar e código com exemplos de
acelerar o desenvolvimento. utilização da API.

Comunidade aberta onde é Acesso a fóruns de discussão


possível colocar duvidas, obter internos para obter ajuda técnica
respostas e exemplos de código. especializada.
Q&A
Obrigado

Você também pode gostar