• Nenhum resultado encontrado

Manual de Integração ERP PRIMAVERA V9.00

N/A
N/A
Protected

Academic year: 2021

Share "Manual de Integração ERP PRIMAVERA V9.00"

Copied!
36
0
0

Texto

(1)

Manual de Integração

ERP PRIMAVERA V9.00

Versão 1.2

outubro 2014

(2)

Índice

Índice ... 2

1. Introdução ... 4

2. Nomenclatura ... 5

2.1. Abreviatura da Aplicação ...5

2.2. Nome Lógico e Físico dos Componentes ...7

3. Componentes Necessários ... 7

3.1. Descrição dos Componentes ...7

3.2. Nomes dos Componentes ...7

3.3. Referências ...8

3.4. Compatibilidade Binária ...8

4. Windows Registry e Setups ... 8

4.1. SGE900 – Executive ...8 4.2. SGP900 – Professional ...9 4.3. Registo da Aplicação ...9 5. Audit ... 10 5.1. Classes Necessárias ... 10 5.2. cls<Apl>OperacoesAplicacao ... 11 5.3. cls<Apl>OperacoesLog ... 13 5.4. cls<Apl>BasesDados ... 14 5.5. Notas ... 16

5.5.1. Definição da Hierarquia das Operações ... 16

5.5.2. Aplicações sem Operações ... 17

5.5.3. Parâmetros dos Métodos ... 18

clsAplAudit_ArvOperacoes ... 18

clsAplAudit_PermissoesDinamicas ... 18

clsAplAudit_DaBasesDados ... 18

5.5.4. Aplicações sem Bases de Dados Integradas ... 19

5.5.5. Executável no Menu Sistema ou Utilitários ... 19

6. Forms ... 19

6.1. Classes Necessárias ... 19

6.2. cls<Apl>Images ... 20

(3)

6.4. cls<Apl>Servicos ... 22

6.5. Notas ... 23

6.5.1. Aplicações sem Parâmetros ou Serviços ... 23

6.5.2. Parâmetros dos Métodos ... 24

clsAplParametrizacoes_AtribuiUtilizador ... 24 clsAplParametrizacoes_Inicializa ... 24 clsAplParametrizacoes_Lista... 24 clsAplParametrizacoes_Mostra ... 24 clsAplServicos_AtribuiUtilizador ... 24 clsAplServicos_Inicializa ... 25 clsAplServicos_Lista... 25 clsAplServicos_Executa ... 25 7. Funcionalidades da Plataforma... 26 7.1. Licenciamento ... 26 7.2. Criação de Empresas ... 26

7.3. Parâmetros por Aplicação ... 26

7.4. Parâmetros por Empresa ... 26

7.5. Serviços / Utilitários por Empresa ... 26

7.6. Permissões ... 26

7.7. Permissões Dinâmicas ... 27

7.8. Executáveis no Menu Sistema ... 28

7.9. Bases de Dados Externas... 28

8. Protótipo ... 29 8.1. Aplicações ... 29 8.2. Empresas ... 31 8.3. Parâmetros e Serviços ... 32 8.4. Permissões ... 33 8.5. Log ... 34

8.6. Executáveis no Menu Sistema ou Utilitários ... 35

(4)

1. Introdução

O presente manual documenta a integração de aplicações externas – desenvolvidas por parceiros

PRIMAVERA – na solução PRIMAVERA versão 9.00 (Executive ou Professional), nomeadamente, no

Administrador.

Na presente versão da Plataforma PRIMAVERA não existem diferentes níveis de integração – por exemplo,

aplicações integradas no Administrador (ADM) sem suporte para parâmetros ou permissões. Significa isto

que determinada aplicação deverá implementar todas as normas para que a integração possa ser efetuada.

Em traços gerais, a aplicação a integrar deve observar normas em diferentes níveis:

Componentes – conjunto de componentes que obedecem a uma determinada nomenclatura e

disponibilizam um conjunto definido de funcionalidades necessárias para que a aplicação seja

considerada no Administrador;

Registry – conjunto de entradas no Windows Registry necessárias para que o ADM possa localizar

os componentes;

Classes, Propriedades e Métodos – funcionalidades mínimas necessárias para que o ADM

reconheça a aplicação.

Os exemplos apresentados ao longo do manual correspondem a uma implementação real de um protótipo

simples que exemplifica as implementações necessárias.

Todas as normas apresentadas aplicam-se da mesma forma a integrações realizadas ao nível da versão

Executive ou Professional. Qualquer exceção a este princípio é também documentada neste manual.

De modo a consultar a versão mais atualizada deste manual, sugere-se a sua consulta online na PRIMAVERA KnowledgeBase.

(5)

2. Nomenclatura

A integração de aplicações deve obedecer a um conjunto de normas de nomenclatura – da aplicação e dos

componentes disponibilizados. Essas normas são apresentadas de seguida.

2.1. Abreviatura da Aplicação

Todas as aplicações a integrar no Administrador devem ter uma abreviatura definida que deverá fazer parte

do nome dos seus componentes.

Essa abreviatura deve consistir de 3 carateres alfanuméricos (exemplos: XPR, XGO, etc.).

As seguintes abreviaturas estão reservadas a módulos PRIMAVERA já existentes:

Abreviatura

Módulo

ADM

Administrador

ANL

Analytics

ANW

Analytics Service

ATP

Assistências Técnicas

AUC

AutoUpdate Client

AUP

AutoUpdate

AWS

Windows Services

CBI

Cliente Business Intelligence

CBL

Contabilidade

COP

Construção Civil e Obras Públicas

CNO

Contabilidade não Organizada

CRM

CRM

CTP

Company Templates PRIMAVERA (“Configurações Base de Empresas”)

DBM

Data Base Management

DFP

Declarações Fiscais e Oficiais

(6)

ERP

ERP PRIMAVERA

EXP

EXPRESS

FIL

Filiais

FIN

Add-in Financeiro

GAB

Gabinetes

GBI

Gestor Business Intelligence

GCP

Logística e Tesouraria (L&T)

GPP

Gestão de Processos

GPR

Produção

GPS

Gestão de Pessoal

HYP

Hyperion

IMO

Imobilizado

PBI

Business Intelligence

PDA

PDA

PDS

PRIMAVERA DataSync (integrador PRIMAVERA Maintenance)

PEP

Enterprise Portals

PFR

Fiscal Reporting

PLT

Plataforma

PMS

Mobile Sales

PRM

Report Migrator

PSP

Standard Portals

PSR

School Reporting

PWS

Windows Scheduler

RHP

Recursos Humanos

RTL

Fashion Retail

(7)

STP

Smart Tags

TTE

Tecnologias de Transacções Electrónicas

2.2. Nome Lógico e Físico dos Componentes

Na definição do nome lógico e físico dos componentes necessários à integração recomendam-se as

seguintes boas práticas (não obrigatórias):

Incluir a abreviatura da aplicação no nome lógico e físico do componente (ex.: GppAudit900.dll);

Incluir a versão da aplicação no nome lógico e físico do componente (ex.: GppAudit900.dll) de forma

a permitir a convivência de várias versões da aplicação na mesma máquina.

3. Componentes Necessários

3.1. Descrição dos Componentes

Para que o ADM considere uma determinada aplicação será necessário que esta disponibilize os seguintes

componentes – na forma de ActiveX DLLs:

Componente

Descrição

Audit

Enumera as categorias de dados da aplicação (integração do Navegador), as

operações sobre as quais podem ser definidas permissões no ADM e as bases

de dados suportadas pela aplicação.

Forms

Publica e disponibiliza as parametrizações e utilitários da aplicação a

disponibilizar na aplicação.

3.2. Nomes dos Componentes

Ambos os componentes devem observar as recomendações apresentadas em 2. 2. No entanto, é possível

atribuir os nomes lógicos e físicos que se desejar desde que as entradas “Audit” e “Forms” do Registry (ver 4.

3.) estejam corretamente preenchidas com o nome lógico dos componentes. A recomendação PRIMAVERA

resultaria nos seguintes nomes lógicos e físicos dos componentes:

PrtAudit900 – PrtAudit900.dll;

(8)

3.3. Referências

Adicionalmente será necessário que cada um dos projetos correspondentes aos componentes referidos, para

disponibilizarem os objetos necessários, implemente as referências enumeradas de seguida.

Componente

Referências

AplAudit

Microsoft ActiveX Data Objects 2.8 Library

PRIMAVERA StdBE 9.00 – StdBE900.dll

PRIMAVERA StdClasses 9.00 – StdClasses900.dll

AplForms

PRIMAVERA StdBE 9.00 – StdBE900.dll

PRIMAVERA StdClasses 9.00 – StdClasses900.dll

3.4. Compatibilidade Binária

É recomendado que ambos os componentes de integração sejam desenvolvidos garantindo compatibilidade

binária entre versões.

4. Windows Registry e Setups

Para que seja possível ao Administrador reconhecer e registar uma aplicação é necessário incluir no Registry

do Windows um conjunto de entradas. Essas entradas dependem do produto.

4.1. SGE900 – Executive

As definições de todos os módulos PRIMAVERA versão Executive são disponibilizadas no Windows Registry

na chave HKEY_LOCAL_MACHINE\SOFTWARE\PRIMAVERA\SGE900.

Esta chave incluirá as entradas correspondentes a cada instância PRIMAVERA disponível na instalação em

causa. Cada uma dessas instâncias consistirá de um nó sob a entrada SGE900 (existirá sempre a instância

DEFAULT).

(9)

4.2. SGP900 – Professional

No caso da versão Professional aplica-se a mesma norma descrita no ponto anterior mas a chave principal

será HKEY_LOCAL_MACHINE\SOFTWARE\PRIMAVERA\SGP900.

4.3. Registo da Aplicação

Para registar uma aplicação é necessário que estejam definidas as seguintes entradas no registry:

Chave

Entrada

Descrição

<APL>

Audit

Nome lógico do componente de Audit.

<APL>

Forms

Nome lógico do componente de Forms.

<APL>

3rdParty

TRUE.

<APL>

Nome

Nome da aplicação.

<APL>

PercursoApl

Localização física do executável da aplicação.

<APL>

PercursoDados

Diretoria de dados.

<APL>

PercursoDadosC

omuns

Diretoria de dados comuns.

<APL>

PercursoMapas

Diretoria de mapas.

<APL>

Versao

Versão da aplicação.

<APL>

Exec

Nome físico do executável da aplicação (sem diretoria nem

extensão .EXE).

ADM\Apls

<APL>

Abreviatura da aplicação.

(10)

A título de exemplo, se a aplicação a integrar tivesse a abreviatura PRT, seria necessário incluir as seguintes

entradas no Registry:

5. Audit

5.1. Classes Necessárias

O componente AplAudit deve implementar as seguintes classes para ser reconhecida pelo Administrador

PRIMAVERA.

(11)

Classe

Descrição

cls<Apl>OperacoesAplicacao

Esta classe enumera todas as permissões parametrizáveis pelo

utilizador.

cls<Apl>OperacoesLog

Esta classe enumera todas as entidades de log disponíveis.

cls<Apl>BasesDados

Esta classe enumera as bases de dados suportadas pela

aplicação (não é obrigatória).

A classe deve ser definida com as seguintes propriedades genéricas:

DataBindingBehaviour – 0 (vbNone);

DataSourceBehaviour – 0 (vbNone);

Instancing – 5 (MultiUse);

MTSTransactionMode – 0 (NotAnMTSObject);

Persistable – 0 (NotPersistable).

5.2. cls<Apl>OperacoesAplicacao

A classe cls<Apl>OperacoesAplicacao define as operações fixas e/ou dinâmicas disponibilizadas pela

aplicação e sobre as quais o utilizador pode definir permissões dependentes dos perfis definidos no

Administrador. Esta classe deve:

Implementar a interface clsAplAudit (definido em StdClasses900);

Disponibilizar os seguintes métodos:

Método

Descrição

ArvOperacoes

Estrutura hierárquica das operações fixas (não dependentes da base de

dados/empresa em causa) sobre as quais o utilizador pode definir permissões.

PermissoesDinamicas Estrutura hierárquica de operações dinâmicas (dependentes da base de

dados/empresa em causa) sobre as quais o utilizador pode definir

permissões.

(12)

O código da classe deverá ser semelhante ao seguinte exemplo:

Option Explicit

Implements clsAplAudit

Private Property Get clsAplAudit_ArvOperacoes(objParametros As clsParamOpsAplicacao) As clsArvoreOperacoes

Dim objOps As clsArvoreOperacoes Dim objOp As clsOperacaoApl On Error GoTo Erro

Set objOps = New clsArvoreOperacoes 'Menu ficheiros

Set objOp = objOps.Add("mnuFicheiros", "Ficheiros", 0, "")

Set objOp = objOps.Add("mnuFicheirosOp1", "Operação 1", 0, "mnuFicheiros") Set objOp = objOps.Add("mnuFicheirosOp2", "Operação 2", 0, "mnuFicheiros") Set objOp = objOps.Add("mnuFicheirosOp3", "Operação 3", 0, "mnuFicheiros") 'Menu documentos

Set objOp = objOps.Add("mnuDocumentos", "Documentos", 0, "")

Set objOp = objOps.Add("mnuDocumentosOp1", "Documentos 1", 0, "mnuDocumentos") Set objOp = objOps.Add("mnuDocumentosOp2", "Documentos 2", 0, "mnuDocumentos") Set objOp = objOps.Add("mnuDocumentosOp3", "Documentos 3", 0, "mnuDocumentos") 'Menu exploração

Set objOp = objOps.Add("mnuExploracao", "Exploração", 0, "")

Set objOp = objOps.Add("mnuExploracaoOp1", "Exploração 1", 0, "mnuExploracao") Set objOp = objOps.Add("mnuExploracaoOp2", "Exploração 2", 0, "mnuExploracao") Set objOp = objOps.Add("mnuExploracaoOp3", "Exploração 3", 0, "mnuExploracao") 'Sub menu Exploração 1

Set objOp = objOps.Add("mnuExploracaoOp31", "Exploração 31", 0, "mnuExploracaoOp3") Set objOp = objOps.Add("mnuExploracaoOp32", "Exploração 32", 0, "mnuExploracaoOp3") Set objOp = objOps.Add("mnuExploracaoOp33", "Exploração 33", 0, "mnuExploracaoOp3") 'Resultado

Set clsAplAudit_ArvOperacoes = objOps Set objOp = Nothing

Set objOps = Nothing Exit Property

Erro:

Set objOp = Nothing Set objOps = Nothing

Err.Raise Err.Number, Err.Source, Err.Description End Property

Private Property Get clsAplAudit_PermissoesDinamicas(objParametros As clsParamOpsAplicacao) As clsPermissoesVar

Dim objVars As clsPermissoesVar Dim objVar As clsPermissaoVar Dim objRs As ADODB.Recordset Dim strSQL As String

(13)

Dim strEntidade As String Dim strEmpresa As String Dim strAtributo As String Dim strDescricao As String On Error GoTo Erro

Set objVars = New clsPermissoesVar 'Documentos

strSQL = "SELECT Documento, Descricao FROM DocumentosVenda ORDER BY Documento, Descricao"

Set objRs = objParametros.Conexao.Execute(strSQL) While (Not objRs.EOF)

strId = "Documentos Venda" strEntidade = strId

strEmpresa = objParametros.Empresa strAtributo = "" & objRs("Documento") strDescricao = "" & objRs("Descricao")

Set objVar = objVars.Add(strId, strEntidade, strAtributo, strDescricao, strEmpresa)

objVar.OperacoesPossiveis.Add "CRIAR", "Criar"

objVar.OperacoesPossiveis.Add "MODIFICAR", "Modificar" objVar.OperacoesPossiveis.Add "ANULAR", "Anular"

objVar.OperacoesPossiveis.Add "VISUALIZAR", "Visualizar" objRs.MoveNext

Wend

objRs.Close

Set objRs = Nothing

Set clsAplAudit_PermissoesDinamicas = objVars Set objVar = Nothing

Set objVars = Nothing Exit Property

Erro:

If (Not objRs Is Nothing) Then objRs.Close: Set objRs = Nothing Set objVar = Nothing

Set objVars = Nothing

Err.Raise Err.Number, Err.Source, Err.Description End Property

5.3. cls<Apl>OperacoesLog

A classe cls<Apl>OperacoesLog define as entidades de log disponibilizadas pela aplicação. Esta classe

deve:

(14)

Disponibilizar os seguintes métodos:

O código da classe deverá ser semelhante ao seguinte exemplo:

Option Explicit

Implements clsAplOperacoesLog

Private Property Get clsAplOperacoesLog_DaOperacoesLog(objParametros As clsParamOpsLog) As clsOperacoesLog

Dim objOpLog As clsOperacoesLog On Error GoTo Erro

Set objOpLog = New clsOperacoesLog With objOpLog

.Add "Clientes", "Clientes", "Cliente", vbString, 10

.Add LOG_Funcionarios, "Funcionários", "Funcionário", vbString, 10 .Add LOG_Parametros, "Parâmetros"

.Add LOG_Seccoes, "Secções de Venda", "Secção", vbString, 2 End With

Set clsAplOperacoesLog_DaOperacoesLog = objOpLog Set objOpLog = Nothing

Exit Property Erro:

Set objOpLog = Nothing

Err.Raise Err.Number, Err.Source, Err.Description End Property

5.4. cls<Apl>BasesDados

A classe cls<Apl>BasesDados define as bases de dados suportadas pela aplicação e existentes no servidor.

Trata-se de uma classe opcional que permite disponibilizar as seguintes operações do Administrador

PRIMAVERA sobre as bases de dados da aplicação:

Planos de Manutenção;

Cópias de Segurança;

Método

Descrição

(15)

Reposição de Cópias de Segurança;

Reorganização da Base de Dados;

Compactação da Base de Dados;

Propriedades da Base de Dados;

Dentro de Ficheiros.

Esta classe deve:

Implementar a interface clsAplBasesDados (definido em StdClasses900);

Disponibilizar os seguintes métodos:

O código da classe deverá ser semelhante ao seguinte exemplo:

Método

Descrição

(16)

Option Explicit

Implements clsAplBasesDados

Private Property Get clsAplBasesDados_DaBasesDados(objParametros As clsParamBaseDados) As clsBasesDados

Dim objListaBDs As clsBasesDados On Error GoTo Erro

Set objListaBDs = New clsBasesDados With objListaBDs

.Add "PRTBD01", "Base de Dados Protótipo 001" .Add "PRTBD02", "Base de Dados Protótipo 002" .Add "PRTBD03", "Base de Dados Protótipo 003" End With

Set clsAplBasesDados_DaBasesDados = objListaBDs Set objListaBDs = Nothing

Exit Property Erro:

Set objListaBDs = Nothing

Err.Raise Err.Number, "_clsPrtBasesDados.DaBasesDados", Err.Description End Property

5.5. Notas

5.5.1. Definição da Hierarquia das Operações

A hierarquia de operações fixas pode ter tantos níveis quanto necessários. Essa hierarquia é definida pelo

último parâmetro do método Ops.Add.

Exemplo:

'Menu exploração

Set objOp = objOps.Add("mnuExploracao", "Exploração", 0, "")

Set objOp = objOps.Add("mnuExploracaoOp1", "Exploração 1", 0, "mnuExploracao") Set objOp = objOps.Add("mnuExploracaoOp2", "Exploração 2", 0, "mnuExploracao") Set objOp = objOps.Add("mnuExploracaoOp3", "Exploração 3", 0, "mnuExploracao") 'Sub menu Exploração 1

Set objOp = objOps.Add("mnuExploracaoOp31", "Exploração 31", 0, "mnuExploracaoOp3") Set objOp = objOps.Add("mnuExploracaoOp32", "Exploração 32", 0, "mnuExploracaoOp3") Set objOp = objOps.Add("mnuExploracaoOp33", "Exploração 33", 0, "mnuExploracaoOp3")

No caso das permissões dinâmicas a hierarquia está limitada a 3 níveis (Entidade / Atributo / Permissão):

strSQL = "SELECT Documento, Descricao FROM DocumentosVenda ORDER BY Documento, Descricao"

(17)

Set objRs = objParametros.Conexao.Execute(strSQL) While (Not objRs.EOF)

strId = "Documentos Venda" strEntidade = strId

strEmpresa = objParametros.Empresa strAtributo = "" & objRs("Documento") strDescricao = "" & objRs("Descricao")

Set objVar = objVars.Add(strId, strEntidade, strAtributo, strDescricao, strEmpresa) objVar.OperacoesPossiveis.Add "Criar" objVar.OperacoesPossiveis.Add "Modificar" objVar.OperacoesPossiveis.Add "Anular" objVar.OperacoesPossiveis.Add "Visualizar" objRs.MoveNext Wend objRs.Close

Set objRs = Nothing

5.5.2. Aplicações sem Operações

Caso se pretenda integrar uma aplicação sem que seja necessário disponibilizar operações (fixas ou

dinâmicas) para as permissões, os métodos ArvOperacoes e PermissoesDinamicas devem ser definidos da

seguinte forma.

Option Explicit

Implements clsAplAudit

Private Property Get clsAplAudit_ArvOperacoes(objParametros As clsParamOpsAplicacao) As clsArvoreOperacoes

Dim objOps As clsArvoreOperacoes On Error GoTo Erro

Set objOps = New clsArvoreOperacoes Set clsAplAudit_ArvOperacoes = objOps Set objOp = Nothing

Set objOps = Nothing Exit Property

Erro:

Set objOp = Nothing Set objOps = Nothing

Err.Raise Err.Number, Err.Source, Err.Description End Property

Private Property Get clsAplAudit_PermissoesDinamicas(objParametros As clsParamOpsAplicacao) As clsPermissoesVar

Dim objVars As clsPermissoesVar On Error GoTo Erro

Set objVars = New clsPermissoesVar

Set clsAplAudit_PermissoesDinamicas = objVars Set objVars = Nothing

(18)

Exit Property Erro:

Set objVars = Nothing

Err.Raise Err.Number, Err.Source, Err.Description End Property

5.5.3. Parâmetros dos Métodos

clsAplAudit_ArvOperacoes

Parâmetro

Descrição

objParametros

Este objeto inclui todos os parâmetros principais do método:

AbvtApl – abreviatura da aplicação.

Categorias – coleção de categorias de informação (*).

Conexao – conexão para a base de dados da empresa ativa (*).

Cultura – idioma do utilizador ativo.

CulturaPorDefeito – idioma por defeito da instalação.

Empresa – empresa ativa (*).

Instancia – instância PRIMAVERA.

Licenca – licença PRIMAVERA.

LocalizacaoSede – localização da sede da empresa ativa (*).

ModuloActivo – uso interno.

Password – password do utilizador atual.

TipoPlataforma – tipo de plataforma.

Utilizador – identificador do utilizador ativo.

Os campos identificados com (*) são inicializados no método clsAplAudit_PermissoesDinamicas.

clsAplAudit_PermissoesDinamicas

Parâmetro

Descrição

objParametros

Ver ponto anterior.

clsAplAudit_DaBasesDados

Parâmetro

Descrição

objParametros

Este objeto inclui todos os parâmetros principais do método:

Cultura – idioma do utilizador ativo;

CulturaPorDefeito – idioma por defeito da instalação;

Licenca – licença PRIMAVERA;

(19)

TipoPlataforma – tipo de plataforma.

5.5.4. Aplicações sem Bases de Dados Integradas

A integração das bases de dados da aplicação no Administrador não é obrigatória.

No caso de não se pretender implementar esta funcionalidade, basta que o Audit da aplicação não

implemente a classe cls<Apl>BasesDados.

5.5.5. Executável no Menu Sistema ou Utilitários

Esta funcionalidade é automaticamente disponibilizada pela Plataforma. Para isso o executável definido pela

entrada “EXEC” no Registry da aplicação deve existir fisicamente na pasta definida pela entrada

“PERCURSOAPL”.

6. Forms

6.1. Classes Necessárias

O componente AplForms deve implementar as seguintes classes.

Classe

Descrição

cls<Apl>Images

Esta classe devolve o ícone associado à aplicação.

cls<Apl>Parametrizacoes

Esta classe enumera e implementa todos os formulários de

parametrização disponibilizados pela aplicação.

cls<Apl>Servicos

Esta classe enumera e implementa todos os formulários de

serviços/utilitários disponibilizados pela aplicação.

Cada uma das classes deve ser definida com as seguintes propriedades genéricas:

DataBindingBehaviour – 0 (vbNone);

DataSourceBehaviour – 0 (vbNone);

Instancing – 5 (MultiUse);

MTSTransactionMode – 0 (NotAnMTSObject);

(20)

6.2. cls<Apl>Images

O código da classe cls<Apl>Images (clsPrtImages) deve:

Implementar o interface clsAplImages (definido em StdClasses900);

Disponibilizar a propriedade clsAplImages_Icon.

Option Explicit

Implements clsAplImages 'Implementação do interface

Private Property Get clsAplImages_Icon(TipoPlataforma As EnumTipoPlataforma) As stdPicture

Set clsAplImages_Icon = LoadResPicture("PRTICON", vbResIcon) End Property

6.3. cls<Apl>Parametrizacoes

A classe cls<Apl>Parametrizacoes define e disponibiliza ao Administrador os formulários de parametrização

da aplicação disponibilizados. Deve:

Implementar o interface clsAplParametrizacoes (definido em StdClasses900);

Disponibilizar os seguintes métodos:

Método

Descrição

AtribuiUtilizador

Invocado pelo Administrador imediatamente antes da inicialização da

classe para permitir guardar as propriedades do utilizador ativo.

Inicializa

Invocado pelo Administrador para permitir a inicialização da classe.

Lista

Invocado pelo Administrador para obter a lista de parametrizações

publicadas pela aplicação.

Mostra

Invocado pelo Administrador sempre que o utilizador selecionar uma

das parametrizações publicadas.

O código da classe deverá ser semelhante ao seguinte exemplo:

Option Explicit

Implements clsAplParametrizacoes 'Variáveis privadas

Private m_strUtilizador As String Private m_strPassword As String 'Implementação do interface

(21)

Private Sub clsAplParametrizacoes_AtribuiUtilizador(strUtilizador As String, strPassword As String)

m_strUtilizador = strUtilizador m_strPassword = strPassword End Sub

Private Sub clsAplParametrizacoes_Inicializa(enuTipoPlataforma As EnumTipoPlataforma, strEmpresa As String, strInstalacao As String, objLic As clsLicenca)

End Sub

Private Sub clsAplParametrizacoes_Lista(objParametros As clsParamAplParams, strLista() As String, colLoc As Collection)

ReDim strLista(3)

strLista(1) = "Parâmetros 1" strLista(2) = "Parâmetros 2" strLista(3) = "Parâmetros 3" End Sub

Private Sub clsAplParametrizacoes_Mostra(intIndex As Integer, intModoOperacao As Integer, objOwnerForm As Object)

On Error GoTo Erro Select Case intIndex Case 1 'Parâmetros 1

Set frmParam1.Owner = objOwnerForm frmParam1.Show vbModeless, objOwnerForm Case 2 'Parâmetros 2

Set frmParam2.Owner = objOwnerForm frmParam2.Show vbModeless, objOwnerForm Case 3 'Parâmetros 3

Set frmParam3.Owner = objOwnerForm frmParam3.Show vbModeless, objOwnerForm End Select

objOwnerForm.ActivaInterface True Exit Sub

Erro:

objOwnerForm.ActivaInterface True

Err.Raise Err.Number, Err.Source, Err.Description End Sub

Private Sub clsAplParametrizacoes_TiposExercicioSuportados(enuTipoPlataforma As EnumTipoPlataforma, enuTiposExercicio() As EnumTipoExercicio)

'Invocado pelo administrador para obter os tipos de exercício suportados pela aplicação

End Sub

Private Function clsAplParametrizacoes_ModuloDisponivelLocalizacao(enuLocSede As EnumLocalizacaoSede) As Boolean

'Invocado pelo administrador para saber se o módulo está disponível na localização End Function

(22)

6.4. cls<Apl>Servicos

A classe cls<Apl>Servicos define e disponibiliza ao Administrador os formulários de serviços/utilitários da

aplicação disponibilizados. Deve:

Implementar a interface clsAplServicos (definido em StdClasses900);

Disponibilizar os seguintes métodos:

O código da classe deverá ser semelhante ao seguinte exemplo:

Option Explicit

Implements clsAplServicos 'Variáveis privadas

Private m_strUtilizador As String Private m_strPassword As String 'Implementação do interface

Public Sub clsAplServicos_AtribuiUtilizador(strUtilizador As String, strPassword As String)

m_strUtilizador = strUtilizador m_strPassword = strPassword End Sub

Private Sub clsAplServicos_Inicializa(enuTipoPlataforma As EnumTipoPlataforma, strEmpresa As String, strInstalacao As String, objLic As clsLicenca)

End Sub

Public Sub clsAplServicos_Lista(objParametros As clsParamAplServicos, strLista() As String, colLoc As Collection)

ReDim strLista(3)

strLista(1) = "Serviço 1" strLista(2) = "Serviço 2" strLista(3) = "Serviço 3" End Sub

Public Sub clsAplServicos_Executa(intIndex As Integer) On Error GoTo Erro

Select Case intIndex

Método

Descrição

AtribuiUtilizador

Invocado pelo Administrador imediatamente antes da inicialização da

classe para permitir guardar as propriedades do utilizador ativo.

Inicializa

Invocado pelo Administrador para permitir a inicialização da classe.

Lista

Invocado pelo Administrador para obter a lista de serviços publicados

pela aplicação.

Executa

Invocado pelo Administrador sempre que o utilizador selecionar um dos

serviços publicados.

(23)

Case 1 'Serviços 1 frmServ1.Show vbModal Case 2 'Serviços 2 frmServ2.Show vbModal Case 3 'Serviços 3 frmServ3.Show vbModal End Select Exit Sub Erro:

Err.Raise Err.Number, Err.Source, Err.Description End Sub

6.5. Notas

6.5.1. Aplicações sem Parâmetros ou Serviços

É também possível registar uma aplicação na solução PRIMAVERA sem que esta disponibilize qualquer

parametrização e/ou serviço.

Os exemplos seguintes demonstram a definição dos métodos clsAplParametrizacoes_Lista e

clsAplServicos_Lista de modo a registar uma aplicação sem parametrizações ou serviços.

Private Sub clsAplParametrizacoes_Lista(objParametros As clsParamAplParams, strLista() As String, colLoc As Collection)

'Este método deve devolver a lista de formulários de parametrização 'disponibilizados pela aplicação.

'Se não existir nenhum, o array deve ser dimensionado a 0. ReDim sLista(0)

End Sub

Public Sub clsAplServicos_Lista(objParametros As clsParamAplServicos, strLista() As String, colLoc As Collection)

'Este método deve devolver a lista de formulários de serviços 'disponibilizados pela aplicação.

'Se não existir nenhum, o array deve ser dimensionado a 0. ReDim sLista(0)

End Sub

(24)

6.5.2. Parâmetros dos Métodos

clsAplParametrizacoes_AtribuiUtilizador

Parâmetro

Descrição

strUtilizador

Identificador do utilizador ativo.

strPassword

Password do utilizador ativo.

clsAplParametrizacoes_Inicializa

Parâmetro

Descrição

enuTipoPlataforma

Tipo de plataforma.

strEmpresa

Código da empresa selecionada.

strInstalacao

Instância PRIMAVERA ativa.

objLic

Definição da licença PRIMAVERA da aplicação.

clsAplParametrizacoes_Lista

Parâmetro

Descrição

objParametros

Este objeto inclui todos os parâmetros principais do método:

Cultura – idioma do utilizador ativo;

CulturaPorDefeito – idioma por defeito da instalação;

Licenca – licença PRIMAVERA;

Localizacao – uso interno;

TipoPlataforma – tipo de plataforma.

strLista()

Array com a lista de parametrizações disponibilizados.

colLoc

Uso interno.

clsAplParametrizacoes_Mostra

Parâmetro

Descrição

intIndex

Índice da parametrização selecionada pelo utilizador.

intModoOperacao

Modo de operação (obsoleto).

objOwnerForm

Handler para a janela principal do Administrador.

(25)

Parâmetro

Descrição

strUtilizador

Identificador do utilizador ativo.

strPassword

Password do utilizador ativo.

clsAplServicos_Inicializa

Parâmetro

Descrição

enuTipoPlataforma

Tipo de plataforma.

strEmpresa

Código da empresa selecionada.

strInstalacao

Instância PRIMAVERA ativa.

objLic

Definição da licença PRIMAVERA da aplicação.

clsAplServicos_Lista

Parâmetro

Descrição

objParametros

Este objeto inclui todos os parâmetros principais do método:

Cultura – idioma do utilizador ativo;

CulturaPorDefeito – idioma por defeito da instalação;

Licenca – licença PRIMAVERA;

Localizacao – uso interno;

TipoPlataforma – tipo de plataforma.

strLista()

Array com a lista de serviços disponibilizados.

colLoc

Uso interno.

clsAplServicos_Executa

Parâmetro

Descrição

(26)

7. Funcionalidades da Plataforma

7.1. Licenciamento

Não é suportado o licenciamento de aplicações externas no Administrador PRIMAVERA (a aplicação externa

não será listada no formulário de licenciamento do Administrador).

Todas as funcionalidades de licenciamento da aplicação devem ser implementadas em ferramenta

autónoma.

7.2. Criação de Empresas

Como acontece com os módulos PRIMAVERA, não são suportadas parametrizações por módulo. Todas as

parametrizações disponíveis no Administrador deverão ser dependentes da empresa.

7.3. Parâmetros por Aplicação

Cada aplicação pode registar no Administrador tantas parametrizações por empresa quanto as necessárias.

Essa definição deverá ser realizada da componente Forms de acordo com o ponto 6.3.

7.4. Parâmetros por Empresa

Cada aplicação pode registar no Administrador tantas parametrizações por empresa quanto as necessárias.

Essa definição deverá ser realizada da componente Forms de acordo com o ponto 6.3.

7.5. Serviços / Utilitários por Empresa

Cada aplicação pode registar no Administrador tantos serviços/utilitários por empresa quantos necessários.

Essa definição deverá ser realizada da componente Forms de acordo com o ponto 6.4.

7.6. Permissões

A definição das permissões disponíveis por aplicação deve ser realizada de acordo com o ponto 5.2.

Para verificar se um determinado utilizador tem acesso a uma determinada opção dever-se-á utilizar o motor

do Administrador PRIMAVERA da forma seguinte:

Private Sub Form_Load()

Dim objCriador As clsCriaMotorAdm Dim objMotorADMLE As clsAdmMotor On Error GoTo Erro

(27)

Set objCriador = New clsCriaMotorAdm

Set objMotorADMLE = objCriador.CriaMotorADM(tpEmpresarial)

If (objMotorADMLE.Utilizadores.PodeExecutarOperacao("Manuel.Ribas", "DEMO", "PRT", "mnuFicheirosOp1")) Then

MsgBox "O utilizador tem acesso à operação." Else

MsgBox "O utilizador NÃO tem acesso à operação." End If

Set objMotorADMLE = Nothing Set objCriador = Nothing Exit Sub

Erro:

'Ignora todos os erros End Sub

O valor do parâmetro “Operacao” deve coincidir com a definição efetuada no Audit.

7.7. Permissões Dinâmicas

A definição das permissões dinâmicas disponíveis por aplicação deve ser realizada de acordo com o ponto

5.2.

Para verificar se um determinado utilizador tem acesso a uma determinada opção dever-se-á utilizar o motor

do Administrador PRIMAVERA da forma seguinte:

Private Sub Form_Load()

Dim objCriador As clsCriaMotorAdm Dim objMotorADMLE As clsAdmMotor On Error GoTo Erro

Set objCriador = New clsCriaMotorAdm

Set objMotorADMLE = objCriador.CriaMotorADM(tpEmpresarial)

If (objMotorADMLE.Utilizadores.PodeAcederAtributo("Manuel.Ribas”, "DEMO", "PRT", "Documentos Venda", "FA", "Criar")) Then

MsgBox "O utilizador tem acesso à criação de faturas." Else

MsgBox "O utilizador NÃO tem acesso à criação de faturas." End If

Set objMotorADMLE = Nothing Set objCriador = Nothing Exit Sub

Erro:

'Ignora todos os erros End Sub

(28)

7.8. Executáveis no Menu Sistema

A Plataforma disponibiliza um mecanismo que permite integrar a aplicação externa no menu “Sistema”.

Para implementar este mecanismo é necessário que a aplicação:

Disponibilize a chave “EXEC” no Windows Registry.

A definição desta chave deve corresponder ao nome do executável da aplicação (sem diretoria ou extensão).

O mecanismo de integração tratará de incluir uma entrada no menu para a aplicação.

O executável aberto por esse comando será determinado usando os valores das entradas:

PercursoApl;

Exec.

da seguinte forma:

Executável = <PercursoApl> & <Exec> & “.EXE”.

Se, no exemplo anterior, os valores dessas entradas fossem:

PercursoApl = “C:\Program Files\Empresa\”;

Exec = “PrtApl”.

O executável aberto seria “C:\Program Files\Empresa\PrtApl.exe”.

Se o executável não existir fisicamente em disco, a entrada no menu não será criada.

7.9. Bases de Dados Externas

Esta funcionalidade permite integrar as bases de dados da aplicação externa no Administrador para

disponibilizar as seguintes operações sobre essas bases de dados:

Planos de Manutenção;

Cópias de Segurança;

Reposição de Cópias de Segurança;

Reorganização da Base de Dados;

(29)

Propriedades da Base de Dados;

Dentro de Ficheiros.

Para o efeito basta que o Audit da aplicação implemente a classe cls<Apl>BasesDados e enumere, usando o

método DaBasesDados, todas as bases de dados da aplicação.

8. Protótipo

As seguintes imagens demonstram a integração do protótipo discutido nos capítulos anteriores no

Administrador.

(30)
(31)

8.2. Empresas

(32)
(33)

8.4. Permissões

(34)

8.5. Log

(35)

8.6. Executáveis no Menu Sistema ou Utilitários

8.7. Bases de Dados Externas no Administrador

(36)

Referências

Documentos relacionados

APÓS A ABSOLVIÇÃO decretada sá- bado passado pela Justiça Federal do Rio Grande do Norte, os sírios que passaram mais de cinco me- ses presos em Natal embarcaram ontem para

gestão federal do SUS. b) EPS equivale à estratégia de formação de recursos humanos para a qualificação técnica do trabalho nas equipes de saúde. c) EPS é

As principais indicações para a realização foram a suspeita de tuberculose (458 pacientes) e uso de imunobiológicos (380 pacientes).. A maior prevalência de resultado positivo

(iii) Aprovar a celebração de aditivo de contrato de prestação de serviço entre a Companhia, de um lado, e partes relacionadas, e de outro lado, nos termos e condições

described in details the intramuscular connection stating that its presence is extremely rare because it was recorded only in 1.3% of 236 dissected limbs and reported that

Dados extraídos do Anuário do Cooperativismo Brasileiro da OCB de 2019, alinhados aos dados colhidos junto ao Sistema OCESP, apresentados no Gráfico 4, expõem que das 59 cooperativas

A presente pesquisa tem como objetivo geral compreender a percepção ambiental e o perfil sócio demográfico dos frequentadores do Parque Ecológico de Águas Claras - DF e

Os casos não previstos neste regulamento serão resolvidos em primeira instância pela coorde- nação do Prêmio Morena de Criação Publicitária e, em segunda instância, pelo