View
18
Download
1
Category
Preview:
Citation preview
PRIMAVERA v7.50
Manual de
Integração Manual de Integração de Aplicações Externas no Administrador PRIMAVERA
Versão 2.2
Agosto de 2010
Manual de Integração de Aplicações Externas no Administrador PRIMAVERA
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 1
Conteúdo 1. Introdução ................................................................................................................. 3
2. Nomenclatura ............................................................................................................. 4
2. 1. Abreviatura da Aplicação ........................................................................................ 4
2. 2. Nome Lógico e Físico dos Componentes ................................................................... 5
3. Componentes Necessários ............................................................................................ 7
3. 1. Descrição dos Componentes ................................................................................... 7
3. 2. Nomes dos Componentes ....................................................................................... 7
3. 3. Referências .......................................................................................................... 7
3. 4. Compatibilidade Binária ......................................................................................... 7
4. Windows Registry e Setups ........................................................................................... 8
4. 1. SGE750 – Executive .............................................................................................. 8
4. 2. SGP750 – Professional ........................................................................................... 8
4. 3. Registo da Aplicação ............................................................................................. 9
5. Audit ....................................................................................................................... 11
5. 1. Classes Necessárias ............................................................................................ 11
5. 2. cls<Apl>OperacoesAplicacao ................................................................................ 11
5. 3. cls<Apl>OperacoesLog ........................................................................................ 13
5. 4. cls<Apl>BasesDados ........................................................................................... 14
5. 5. Notas ................................................................................................................ 15
5. 5. 1. Definição da Hierarquia das Operações ............................................................ 15
5. 5. 2. Aplicações sem Operações ............................................................................. 15
5. 5. 3. Parâmetros dos Métodos ............................................................................... 16
5. 5. 6. Aplicações sem Bases de Dados Integradas ...................................................... 17
5. 5. 7. Executável no Menu Sistema ou Utilitários........................................................ 17
6. Forms ...................................................................................................................... 18
6. 1. Classes Necessárias ............................................................................................ 18
6. 2. cls<Apl>Images ................................................................................................. 18
6. 3. cls<Apl>Parametrizacoes ..................................................................................... 18
6. 4. cls<Apl>Servicos ................................................................................................ 20
6. 5. Notas ................................................................................................................ 21
6. 5. 1. Aplicações sem Parâmetros ou Serviços ........................................................... 21
6. 5. 2. Parâmetros dos Métodos ............................................................................... 21
7. Funcionalidades da Plataforma .................................................................................... 24
7. 1. Licenciamento .................................................................................................... 24
7. 2. Criação de Empresas ........................................................................................... 24
7. 3. Parâmetros por Aplicação ..................................................................................... 24
7. 4. Parâmetros por Empresa ...................................................................................... 24
7. 5. Serviços / Utilitários por Empresa .......................................................................... 24
7. 6. Permissões ........................................................................................................ 24
7. 7. Permissões Dinâmicas ......................................................................................... 25
7. 8. Log ................................................................................................................... 25
7. 9. Executáveis no Menu Sistema ............................................................................... 26
Manual de Integração de Aplicações Externas no Administrador PRIMAVERA
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 2
7. 10. Bases de Dados Externas ................................................................................... 27
8. Protótipo .................................................................................................................. 28
8. 1. Aplicações ......................................................................................................... 28
8. 2. Empresas .......................................................................................................... 29
8. 3. Parâmetros e Serviços ......................................................................................... 29
8. 4. Permissões ........................................................................................................ 30
8. 5. Log ................................................................................................................... 31
8. 6. Executáveis no Menu Sistema ou Utilitários ............................................................ 32
8. 7. Bases de Dados Externas no Administrador ............................................................ 32
Manual de Integração de Aplicações Externas no Administrador PRIMAVERA
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 3
1. Introdução O presente manual documenta a integração de aplicações externas – desenvolvidas por parceiros
PRIMAVERA – na solução PRIMAVERA v7.50 (Executive ou Professional), nomeadamente, no
Administrador, no âmbito do projecto PRIMAVERA Gold (Soluções Certificadas).
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 efectuada.
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 excepção a este princípio é também documentada
neste manual.
2. Nomenclatura
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 4
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 caracteres 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
EAP Equipamentos e Activos
ERP ERP PRIMAVERA
EXP EXPRESS
FIL Filiais
FIN Add-in Financeiro
2. Nomenclatura
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 5
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
STI Setup Integrado
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.:
GppAudit750.dll);
2. Nomenclatura
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 6
• Incluir a versão da aplicação no nome lógico e físico do componente (ex.: GppAudit750.dll)
de forma a permitir a convivência de várias versões da aplicação na mesma máquina.
3. Componentes Necessários
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 7
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 correctamente preenchidas com o nome lógico dos
componentes.
A recomendação PRIMAVERA resultaria nos seguintes nomes lógicos e físicos dos componentes:
• PrtAudit750 – PrtAudit750.dll;
• PrtForms750 – PrtForms750.dll.
3. 3. Referências Adicionalmente será necessário que cada um dos projectos correspondentes aos componentes
referidos, para disponibilizarem os objectos necessários, implemente as referências enumeradas
de seguida.
Componente Referências
AplAudit Microsoft ActiveX Data Objects 2.8 Library
PRIMAVERA StdBE 7.50 – StdBE750.dll
PRIMAVERA StdClasses 7.50 – StdClasses750.dll
AplForms PRIMAVERA StdBE 7.50 – StdBE750.dll
PRIMAVERA StdClasses 7.50 – StdClasses750.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
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 8
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. SGE750 – 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\SGE750.
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 SGE750
(existirá sempre a instância DEFAULT):
Sob o nó correspondente a cada instância deverá existir uma entrada por cada módulo instalado:
4. 2. SGP750 – 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\SGP750:
4. Windows Registry e Setups
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 9
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 Directoria de dados.
<APL> PercursoDadosComuns Directoria de dados comuns.
<APL> PercursoMapas Directoria de mapas.
<APL> Versao Versão da aplicação.
<APL> Exec Nome físico do executável da aplicação (sem directoria nem
extensão .EXE).
ADM\Apls <APL> Abreviatura da aplicação.
Todas as entradas devem existir e estar preenchidas com valores válidos.
A título de exemplo, se a aplicação a integrar tivesse a abreviatura PRT, seria necessário incluir
as seguintes entradas no Registry:
4. Windows Registry e Setups
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 10
5. Audit
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 11
5. Audit
5. 1. Classes Necessárias O componente AplAudit deve implementar as seguintes classes para ser reconhecida pelo
Administrador PRIMAVERA.
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 StdClasses750);
• 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.
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, "")
5. Audit
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 12
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
Dim strId As String
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")
5. Audit
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 13
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:
• Implementar a interface clsAplOperacoesLog (definido em StdClasses750);
• Disponibilizar os seguintes métodos:
Método Descrição
DaOperacoesLog Colecção das entidades de log e respectivas chaves.
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
5. Audit
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 14
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;
• 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 StdClasses750);
• Disponibilizar os seguintes métodos:
Método Descrição
DaBasesDados Colecção das bases de dados suportadas.
O código da classe deverá ser semelhante ao seguinte exemplo:
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. Audit
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 15
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"
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
5. Audit
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 16
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
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 objecto inclui todos os parâmetros principais do método:
AbvtApl – abreviatura da aplicação.
Categorias – colecção de categorias de informação (*).
Conexao – conexão para a base de dados da empresa activa (*).
Cultura – idioma do utilizador activo.
CulturaPorDefeito – idioma por defeito da instalação.
Empresa – empresa activa (*).
Instancia – instância PRIMAVERA.
Licenca – licença PRIMAVERA.
LocalizacaoSede – localização da sede da empresa activa (*).
ModuloActivo – uso interno.
Password – password do utilizador actual.
TipoPlataforma – tipo de plataforma.
Utilizador – identificador do utilizador activo.
Os campos identificados com (*) são inicializados no método clsAplAudit_PermissoesDinamicas.
5. Audit
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 17
clsAplAudit_PermissoesDinamicas
Parâmetro Descrição
objParametros Ver ponto anterior.
clsAplAudit_DaOperacoesLog
Parâmetro Descrição
objParametros Este objecto inclui todos os parâmetros principais do método:
Cultura – idioma do utilizador activo;
CulturaPorDefeito – idioma por defeito da instalação;
Licença – licença PRIMAVERA;
Localizacao – uso interno;
ModuloActivo – uso interno;
TipoPlataforma – tipo de plataforma.
clsAplAudit_DaBasesDados
Parâmetro Descrição
objParametros Este objecto inclui todos os parâmetros principais do método:
Cultura – idioma do utilizador activo;
CulturaPorDefeito – idioma por defeito da instalação;
Licença – licença PRIMAVERA;
TipoPlataforma – tipo de plataforma.
5. 5. 6. 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. 7. 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
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 18
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);
• Persistable – 0 (NotPersistable).
6. 2. cls<Apl>Images O código da classe cls<Apl>Images (clsPrtImages) deve:
• Implementar o interface clsAplImages (definido em StdClasses750);
• 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 StdClasses750);
• 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 activo.
Inicializa Invocado pelo Administrador para permitir a inicialização da classe.
6. Forms
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 19
Lista Invocado pelo Administrador para obter a lista de parametrizações
publicadas pela aplicação.
Mostra Invocado pelo Administrador sempre que o utilizador seleccionar 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
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
6. Forms
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 20
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 StdClasses750);
• 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 activo.
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 seleccionar um
dos serviços publicados.
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
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
6. Forms
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 21
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
Neste caso, a aplicação será apresentada no ADM sem parâmetros e/ou serviços.
6. 5. 2. Parâmetros dos Métodos
clsAplParametrizacoes_AtribuiUtilizador
Parâmetro Descrição
strUtilizador Identificador do utilizador activo.
strPassword Password do utilizador activo.
clsAplParametrizacoes_Inicializa
Parâmetro Descrição
enuTipoPlataforma Tipo de plataforma.
strEmpresa Código da empresa seleccionada.
strInstalacao Instância PRIMAVERA activa.
6. Forms
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 22
objLic Definição da licença PRIMAVERA da aplicação.
clsAplParametrizacoes_Lista
Parâmetro Descrição
objParametros Este objecto inclui todos os parâmetros principais do método:
Cultura – idioma do utilizador activo;
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 seleccionada pelo utilizador.
intModoOperacao Modo de operação (obsoleto).
objOwnerForm Handler para a janela principal do Administrador.
clsAplServicos_AtribuiUtilizador
Parâmetro Descrição
strUtilizador Identificador do utilizador activo.
strPassword Password do utilizador activo.
clsAplServicos_Inicializa
Parâmetro Descrição
enuTipoPlataforma Tipo de plataforma.
strEmpresa Código da empresa seleccionada.
strInstalacao Instância PRIMAVERA activa.
objLic Definição da licença PRIMAVERA da aplicação.
clsAplServicos_Lista
Parâmetro Descrição
objParametros Este objecto inclui todos os parâmetros principais do método:
6. Forms
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 23
Cultura – idioma do utilizador activo;
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
intIndex Índice do serviço seleccionado pelo utilizador.
7. Funcionalidades da Plataforma
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 24
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 A criação das empresas no sistema PRIMAVERA é totalmente realizada pelo Administrador,
registando todos os módulos seleccionados pelo utilizador para cada empresa.
7. 3. Parâmetros por Aplicação 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. 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
Set objCriador = New clsCriaMotorAdm
Set objMotorADMLE = objCriador.CriaMotorADM(tpEmpresarial)
If (objMotorADMLE.Utilizadores.PodeExecutarOperacao("Hugo.Ribeiro", "DEMO", "PRT",
"mnuFicheirosOp1")) Then
MsgBox "O utilizador tem acesso à operação."
Else
MsgBox "O utilizador NÃO tem acesso à operação."
7. Funcionalidades da Plataforma
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 25
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 efectuada 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("Hugo.Ribeiro", "DEMO", "PRT",
"Documentos Venda", "FA", "Criar")) Then
MsgBox "O utilizador tem acesso à criação de facturas."
Else
MsgBox "O utilizador NÃO tem acesso à criação de facturas."
End If
Set objMotorADMLE = Nothing
Set objCriador = Nothing
Exit Sub
Erro:
'Ignora todos os erros
End Sub
O valor dos parâmetros “Entidade”, “Atributo” e “Operacao” devem coincidir com a definição
efectuada no Audit.
7. 8. Log A configuração das entidades de log de cada aplicação depende das definições efectuadas no
respectivo Audit (5.2).
Na execução da aplicação é possível introduzir registos de log utilizando as funcionalidades da
Plataforma PRIMAVERA, do modo seguinte:
Private Const LOG_Clientes = "Clientes"
Private Const PWD_PLAT = "MCJSOO672HSDL233JBNMOOW223OTIWE"
Private Sub Form_Load()
Dim objPlat As StdDS
7. Funcionalidades da Plataforma
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 26
Dim objTrs As StdBETransaccao
Dim objConn As ADODB.Connection
On Error GoTo Erro
Set objTrs = New StdBETransaccao
Set objPlat = New StdDS
Set objConn = objPlat.AbrePlatEmpresa("PLAT250", "PRT", "DEMO", "Hugo.Ribeiro",
objTrs, tpEmpresarial, PWD_PLAT)
objPlat.Log.ActualizaLinha LOG_Clientes, toInserir, "Inserção de cliente.", "XPTO"
objPlat.FechaPlatEmpresa
Set objPlat = Nothing
Set objTrs = Nothing
Exit Sub
Erro:
'Ignora todos os erros
End Sub
NOTAS:
Para implementar este código são necessárias as seguintes referências:
“PRIMAVERA StdDS 7.50”
“PRIMAVERA StdBE 7.50”
“Microsoft ActiveX Data Objects 2.8 Library”;
Na classe objPlat.Log só deve ser utilizado o método ActualizaLinha. Os restantes métodos
pressupõem a estrutura dos componentes dos módulos PRIMAVERA e não funcionarão
correctamente;
Não devem ser utilizadas quaisquer outras classes ou métodos do componente StdDS. A
PRIMAVERA não disponibiliza suporte para este componente.
7. 9. 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 directoria
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”.
7. Funcionalidades da Plataforma
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 27
Se o executável não existir fisicamente em disco, a entrada no menu não será criada.
7. 10. 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;
• Compactação da Base de Dados;
• 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.
Índice
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 28
8. Protótipo As seguintes imagens demonstram a integração do protótipo discutido nos capítulos anteriores
no Administrador.
8. 1. Aplicações
Índice
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 29
8. 2. Empresas
8. 3. Parâmetros e Serviços
Índice
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 30
8. 4. Permissões
Índice
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 31
8. 5. Log
Índice
PRIMAVERA Business Software Solutions | Manual de Integração v7.50 32
8. 6. Executáveis no Menu Sistema ou Utilitários
8. 7. Bases de Dados Externas no Administrador
Recommended