Tutoriais de Extensibilidade
|
|
|
- Giulia Benevides Canto
- 10 Há anos
- Visualizações:
Transcrição
1 Tutoriais de Extensibilidade ERP PRIMAVERA V8.10 Versão 1.0 março 2013
2 Índice Índice... 2 Introdução... 3 Exemplos de VBA... 4 Área de Logística e Tesouraria...4 Atribuir ao PVP o valor do PCM atual... 4 Apresentar informação e validações específicas sobre Artigos... 6 Duplicação de Documentos de Compras Agendar o Recálculo de Stocks para efetuar periodicamente Criação de um documento de liquidação Criação de um documento de transferência de conta/estado Criação de um documento de transferência bancária Criação de um documento de pagamento de cartão de crédito Criação de um documento de aplicação financeira Criação de um documento de capitalização de aplicação financeira Criação de um novo pendente Inserção de um pendente de juros de mora Restrição às liquidações de uma determinada entidade a um determinado utilizador Preenchimento de um campo de utilizador nas liquidações Restrição à edição de novos pendentes para uma determinada entidade a um determinado utilizador Adicionar uma linha fixa aos novos pendentes Informar o crédito disponível na inserção de documentos Limitar o valor da transferência bancária Adicionar documento de despesas bancárias sempre que se efetua uma transferência Área de Contabilidade Criação de um lançamento na contabilidade com reflexão para centros de custo Pg 2
3 Introdução A Extensibilidade dos módulos é um conceito central no ERP PRIMAVERA na medida em que permite complementar a solução standard com funcionalidades adicionais e intervir nas funcionalidades nucleares de cada módulo para responder às necessidades específicas de cada negócio ou cliente em particular. Este manual tem como propósito documentar na perspetiva dos Parceiros PRIMAVERA as ferramentas de Extensibilidade mais importantes do ERP PRIMAVERA, apresentando exemplos práticos da sua aplicação e as vantagens competitivas que poderão proporcionar. De modo a consultar a versão mais atualizada deste manual, sugere-se a sua consulta online na PRIMAVERA KnowledgeBase. Pg 3
4 Exemplos de VBA A implementação dos exemplos VBA que se seguem pretende: Mostrar a facilidade de utilização do VBA; Sublinhar as vantagens advindas do seu uso. Todos os exemplos apresentados foram desenvolvidos numa Base de Dados de Demonstração. Área de Logística e Tesouraria Atribuir ao PVP o valor do PCM atual Este exemplo pretende, antes de gravar um Documento de Venda, efetuar a alteração do Preço Unitário, supostamente preenchido com o PVP para o respetivo Preço de Custo Médio (PCM), para cada Artigo presente no Documento. Para tal necessitamos incluir código VBA no evento AntesDeGravar() do Editor de Vendas Para executar o exemplo abaixo devem-se verificar as seguintes condições: 1. Existir a seguinte referência no Projeto VBA; - PRIMAVERA EXECUTIVE PRIMAVERA StdBE Existir um Campo de utilizador CDU_PVPPorPCM, do tipo BIT, associado aos Documentos de Venda (tabela [DocumentosVenda]). Apresenta-se de seguida o código que permite implementar a funcionalidade descrita. Private Sub EditorVendas_AntesDeGravar(Cancel As Boolean) ' O código abaixo permite alterar o Preço Unitário (PVP) dos Artigos presentes num ' determinado Documento de Venda pelo valor respetivo do Preço de Custo Médio ' (PCM). Se o Documento em causa estiver configurado para substituir o PVP pelo ' PCM então, para cada linha que referencie um artigo substitui-se o Preço ' unitário do Artigo (PVP) pelo valor mais recente do PCM. Dim blnpvpporpcm Dim dblpcm Dim lngi Dim strsql Dim vntpcmedio Dim objlista As Boolean As Double As Long As Variant As StdBELista Pg 4
5 On Error GoTo ERRO blnpvpporpcm = False blnusapcm = False 'Verificar se este Documento está configurado para utilizar o PCM em vez do PVP blnpvpporpcm = Aplicacao.BSO.Comercial.TabVendas.DaValorAtributo(Me.DocumentoVenda.TipoDoc, "CDU_PVPPorPCM") If blnpvpporpcm Then 'Se é um documento configurado para substituir o PVP pelo PCM... For lngi = 1 To Me.DocumentoVenda.Linhas.NumItens 'Para todas as linhas do Documento a ser gravado... If (Me.DocumentoVenda.Linhas(lngI).Artigo <> vbnullstring) Then 'Se a linha refere um Artigo 'Vai procurar o Preço de Custo Médio do Artigo em causa strsql = vbnullstring strsql = strsql & "SELECT PCM FROM LinhasStk " strsql = strsql & "WHERE (Artigo = '" & Me.DocumentoVenda.Linhas(lngI).Artigo & "') " strsql = strsql & "AND (EntradaSaida = 'E' OR EntradaSaida = 'I') " strsql = strsql & "AND (Data <= '" & Format(Me.DocumentoVenda.Linhas(lngI).DataStock, "yyyy-mm-dd") & "') " strsql = strsql & "ORDER BY Data DESC, EntradaSaida DESC" Set objlista = Aplicacao.BSO.Consulta(strSQL) If Not (objlista Is Nothing) Then registos _ If Not (objlista.noinicio And objlista.nofim) Then 'existem dblpcm = PlataformaPRIMAVERA.Utils.FDbl#(objLista("PCM")) Else 'não tem registos por isso lê diretamente da ficha de artigo vntpcmedio = Aplicacao.BSO.Comercial.Artigos.DaValorAtributo( Me.DocumentoVenda.Linhas(lngI).Artigo, "PCMedio") dblpcm = PlataformaPRIMAVERA.Utils.FDbl#(vntPCMedio) Set objlista = Nothing 'Altera o preço unitário para o PCM e o Iva para zero Pg 5
6 Me.DocumentoVenda.Linhas(lngI).PrecUnit = dblpcm Me.DocumentoVenda.Linhas(lngI).CodIva = 0 Me.DocumentoVenda.Linhas(lngI).TaxaIva = 0 Next lngi Exit Sub ERRO: 'Antes de apresentar o erro limpa o(s) objeto(s) da memória If Not (objlista Is Nothing) Then Set objlista = Nothing MsgBox "Ocorreu o erro abaixo: " & vbcrlf & Err.Number & vbcrlf & Err.Description, vbcritical, Aplicacao.Nome End Sub Apresentar informação e validações específicas sobre Artigos Com o exemplo seguinte pretende-se realizar 3 operações distintas: 1) Garantir que determinados Vendedores não vendem determinados Artigos a determinados Clientes; 2) Configurar um Documento de Venda para utilizar um armazém por defeito para os seus Artigos; 3) Apresentar informação sobre as Unidade Base dos Artigos e sua relação com a respetiva Unidade de Venda. Como estas três ações são efetuadas para cada Artigo iremos fazer uso do evento ArtigoIdentificado() do Editor de Vendas. Para executar o exemplo abaixo devem-se verificar as seguintes condições: 1. Existir as seguintes referências no Projeto VBA; - PRIMAVERA EXECUTIVE 8.00; - PRIMAVERA StdBE Pg 6
7 2. Existir um Campo de utilizador CDU_Armazem associado aos Documentos de Vendas (tabela [DocumentosVenda]); 3. Existirem dois Campos de utilizador definidos nas linhas do Editor de Vendas (tabela [LinhasDoc]): CDU_NumDeUnidades com descrição N.º Unidades, que indicará o n.º de unidades base que correspondem à quantidade vendida; CDU_UnidadeBase com descrição Unid. Base que indicará a Unidade base do Artigo referenciado. Pretende-se com estes campos visualizar duas novas colunas no Editor de Vendas cujas células devem conter, para cada linha que referencie um artigo, a unidade base e o n.º de unidades base correspondentes à unidade de venda. 4. Ter inserido no sistema as seguintes unidades: 5. Ter alguns artigos cuja unidade Base difere da unidade de Venda. A imagem abaixo exemplifica para o caso do Artigo A0001 cuja Unidade de Venda (CX - Caixa) corresponde a 12 unidades de Compra (GR - Garrafa): Pg 7
8 6. Ter configurado o Editor de Vendas, para o utilizador em causa, para apresentar as colunas N.º Unidades e Unid. Base sempre que se selecione um documento do tipo Factura : 7. Ter configurado no Administrador PRIMAVERA, meramente a título de exemplo, dois Utilizadores: Pg 8
9 O utilizador Vendedor1 corresponde ao vendedor 1 para a Base de Dados em causa (DEMO); Criar um segundo utilizador Vendedor2 que corresponda ao vendedor 2 para a Base de Dados em causa (DEMO); 8. Existir uma Tabela de Utilizador com os valores apresentados abaixo: Pg 9
10 O objetivo que vamos dar a esta tabela é indicar quais os Artigos que não podem ser vendidos a determinados Clientes por determinado Vendedor. Assim, no exemplo acima, a primeira linha indica que o Utilizador associado ao Vendedor 1 não pode efetuar vendas que incluam o Artigo A0003 se o destinatário da venda for o cliente ALCAD. Apresenta-se de seguida o código que permite implementar a funcionalidade descrita. Private Sub EditorVendas_ArtigoIdentificado(Artigo, NumLinha As Long, Cancel As Boolean) ' O código abaixo permite efetuar três ações distintas, todas relacionadas com um Artigo: ' 1) Garantir que o Vendedor "X" não vende o Artigo "Y" ao Cliente "Z"; ' 2) Atribuir por defeito um Armazém a uma linha de um Artigo, desde que o Documento de Venda ' contenha o armazém pretendido num Campo de Utilizador criado para o efeito; ' 3) Apresentar informação sobre as Unidade Base dos Artigos e a sua relação com a respetiva ' Unidade de Venda configurada no próprio Artigo. Dim dblfactorconversao Dim dblnumunidades Dim lngi Dim strarmazem Dim strunidadebase Dim strunidadevenda Dim strutilizadoractual Dim strvendedoractual As Double As Double As Long Pg 10
11 Dim strclienteactual Dim vntauxiliar temporários Dim objchave As Variant 'utilizada apenas para conter valores As StdBECamposChave Const strtabelautilizador = "TDU_ValidaCliente" On Error GoTo ERRO 'Inicialização das variáveis strarmazem = vbnullstring strartigo = vbnullstring strunidadevenda = vbnullstring strunidadebase = vbnullstring strutilizadoractual = vbnullstring strvendedoractual = vbnullstring strclienteactual = vbnullstring Set objchave = Nothing 'verificar se o artigo vem corretamente preenchido If (Len(Artigo) <= 0) Then Exit Sub With Aplicacao ' '1) Garantir que o Vendedor "X" não vende o Artigo "Y" ao Cliente "Z" strutilizadoractual =.BSO.Contexto.UtilizadorActual If (Len(strUtilizadorActual) > 0) Then 'se existe sistema de segurança ativo - caso contrário não faz sentido esta validação 'obter o vendedor associado a este utilizador, se existir strvendedoractual = PlataformaPRIMAVERA.Administrador.NovoMotorAdm.Utilizadores.DaMapeamentoUtilizador( _.Empresa.CodEmp, temvendedor) strutilizadoractual, If (Len(strVendedorActual) > 0) Then 'se existe vendedor associado 'obter o cliente atual strclienteactual = Me.DocumentoVenda.Entidade Set objchave = New StdBECamposChave Pg 11
12 objchave.addcampochave "CDU_Artigo", UCase$(Artigo) objchave.addcampochave "CDU_Cliente", strclienteactual objchave.addcampochave "CDU_Vendedor", strvendedoractual objchave)) Then If (Aplicacao.BSO.TabelasUtilizador.Existe(strTabelaUtilizador, 'se existe um registo que impede o artigo ser vendido a este cliente por este vendedor... 'então -> remover a linha referente ao artigo MsgBox "Não é possível atribuir o artigo ''" & UCase$(Artigo) & "'' ao cliente ''" & _ Exit Sub todo o código abaixo pois removida UCase$(strClienteActual) & "''." Me.DocumentoVenda.Linhas.Remove (NumLinha) Set ochave = Nothing 'tem que sair do procedimento para evitar realizar 'não faz sentido porque a linha do artigo será Set ochave = Nothing ' '2) Atribuir por defeito um Armazém a uma linha de um Artigo 'Obter o armazém que está configurado para este Documento de Venda vntauxiliar =.BSO.Comercial.TabVendas.DaValorAtributo(Me.DocumentoVenda.TipoDoc, "CDU_Armazem") strarmazem = PlataformaPRIMAVERA.Utils.FStr$(vntAuxiliar) 'Se existe um armazém configurado, atribuir esse armazém à respetiva linha If (Len(strArmazem) > 0) Then Me.DocumentoVenda.Linhas(NumLinha).Armazem = strarmazem ' '3) Apresentar informação sobre a Unidade Base do Artigo e sua relação com a Unidade de Venda 'Para a linha atual do Documento a ser gravado... If (Len(strArtigo) > 0) Then Pg 12
13 'Se a linha refere um Artigo 'Obter o identificador da Unidade de Venda vntauxiliar =.BSO.Comercial.Artigos.DaValorAtributo(Artigo, "UnidadeVenda") strunidadevenda = PlataformaPRIMAVERA.Utils.FStr$(vntAuxiliar) If (Len(strUnidadeVenda) > 0) Then 'Se este Artigo tem uma Unidade de Venda definida "UnidadeBase") 'Obter o identificador da Unidade Base vntauxiliar =.BSO.Comercial.Artigos.DaValorAtributo(Artigo, strunidadebase = PlataformaPRIMAVERA.Utils.FStr$(vntAuxiliar) 'Atualizar de imediato a coluna da Unidade Base Me.DocumentoVenda.Linhas(NumLinha).CamposUtil.Item("CDU_UnidadeBase").Valor = strunidadebase vntauxiliar =.BSO.Comercial.ArtigosUnidades.DaValorAtributo(Artigo, strunidadevenda, _ "FactorConversao") strunidadebase, dblfactorconversao = PlataformaPRIMAVERA.Utils.FDbl#(vntAuxiliar) dblnumunidades = Me.DocumentoVenda.Linhas(NumLinha).Quantidade * dblfactorconversao Me.DocumentoVenda.Linhas(NumLinha).CamposUtil.Item("CDU_NumDeUnidades").Valor = dblnumunidades End With Exit Sub ERRO: 'Antes de apresentar o erro limpa o(s) objeto(s) da memória If Not (objchave Is Nothing) Then Set objchave = Nothing MsgBox "Ocorreu o erro abaixo: " & vbcrlf & Err.Number & vbcrlf & Err.Description, vbcritical, Aplicacao.Nome End Sub Pg 13
14 Duplicação de Documentos de Compras Neste exemplo vamos personalizar uma interface para o utilizador de forma a este tomar algumas decisões antes de efetuar as operações pretendidas. Temos como objetivo apresentar ao utilizador uma janela que lhe permita efetuar a duplicação de um Documento de Compra para um Documento de Venda. Para tal o utilizador deve, num 1.º passo, escolher o Fornecedor, o Tipo de Documento de Compra pretendido, a sua respetiva Série e o Numerador do Documento. Desta forma identifica univocamente o Documento de Compra em causa. Seguidamente deve identificar o Tipo de Documento de Venda a criar, a sua respetiva Série, o Cliente ao qual vai ficar afeto e, caso deseje, uma Margem que lhe permitirá alterar os valores de Venda dos respetivos Artigos a incluir. Para executar o exemplo abaixo devem-se verificar as seguintes condições: 1. Existir as seguintes referências no Projeto VBA; - PRIMAVERA EXECUTIVE 8.00; - PRIMAVERA GcpBE 8.00; - PRIMAVERA StdBE Existir um Menu de Utilizador Duplicar Documentos de Compras (consultar o capítulo Menus do Utilizador para efetuar a criação deste menu e a definição do comando respetivo): Pg 14
15 A função DuplicarDocumentosCompra é uma Macro VBA que chama a Form frmduplicadocscompras criada previamente no VBA: Pg 15
16 Para disponibilizar esta funcionalidade apresenta-se de seguida o código que necessita ser implementado: Option Explicit 'NOTAS: 1) A função "PlataformaPRIMAVERA.Utils.FStr$()" permite tratar valores inválidos lidos da Base de Dados ' Sempre que o valor retornado da Base de Dados for NULL a função retorna "vbnullstring" 'Compras Private ArrDocsCompras() Private ArrSeriesCompras() Private ArrFornecedores() Private ArrNumsCompras() 'Vendas Private ArrDocsVendas() Private ArrClientes() Private ArrSeriesVendas() Private ArrNumsVendas() Private Sub CarregaDocumentosDeCompras() Dim blnmodificar Dim blnnovo Dim intcontador Dim strauxiliar Dim strsql Dim objlista As Boolean As Boolean As Integer As StdBELista Pg 16
17 On Error GoTo ERRO strsql = "SELECT Documento, Descricao FROM DocumentosCompra" Set objlista = Aplicacao.BSO.Consulta(strSQL) 'Se existirem documentos de compras definidos If Not (objlista Is Nothing) Then 'Inicialização dos controlos e variáveis ReDim ArrDocsCompras(objLista.NumLinhas) cbotipodocc.clear intcontador = 0 strauxiliar = vbnullstring lista 'Percorrer a lista com todos os documentos existentes e preencher a respetiva While Not (objlista.noinicio Or objlista.nofim) documento 'Verificar se o utilizador atual tem permissões para aceder a este strauxiliar = PlataformaPRIMAVERA.Utils.FStr$(objLista("Documento")) blnmodificar = Aplicacao.Utilizador.AcedeAtributo("Documentos de Compra", strauxiliar, "Modificar") blnnovo = Aplicacao.Utilizador.AcedeAtributo("Documentos de Compra", strauxiliar, "Criar") If blnmodificar Or blnnovo Then ArrDocsCompras(intContador) = strauxiliar strauxiliar = strauxiliar & " - " & PlataformaPRIMAVERA.Utils.FStr$(objLista("Descricao")) cbotipodocc.additem strauxiliar intcontador = intcontador + 1 'Item seguinte da lista objlista.seguinte Wend 'Posiciona-se no primeiro item da lista If (cbotipodocc.listcount > 0) Then cbotipodocc.listindex = 0 'Limpar o objeto de memória Set objlista = Nothing Pg 17
18 Exit Sub ERRO: 'Antes de apresentar o erro limpa o(s) objeto(s) da memória If Not (objlista Is Nothing) Then Set objlista = Nothing MsgBox "Ocorreu o erro abaixo indicado: " & vbcrlf & Err.Number & vbcrlf & Err.Description, vbcritical, Aplicacao.Nome End Sub Private Sub CarregaDocumentosDeVendas() Dim blnmodificar Dim blnnovo Dim intcontador Dim strsql Dim strauxiliar Dim objlista As Boolean As Boolean As Integer As StdBELista On Error GoTo ERRO strsql = "SELECT Documento, Descricao FROM DocumentosVenda" Set objlista = Aplicacao.BSO.Consulta(strSQL) 'Se existirem documentos de vendas definidos If Not (objlista Is Nothing) Then 'Inicialização dos controlos e variáveis ReDim ArrDocsVendas(objLista.NumLinhas) txtmargem.value = 0 cbotipodocv.clear intcontador = 0 strauxiliar = vbnullstring lista 'Percorrer a lista com todos os documentos existentes e preencher a respetiva While Not (objlista.noinicio Or objlista.nofim) documento 'Verificar se o utilizador atual tem permissões para aceder a este strauxiliar = PlataformaPRIMAVERA.Utils.FStr$(objLista("Documento")) blnmodificar = Aplicacao.Utilizador.AcedeAtributo("Documentos de Venda", strauxiliar, "Modificar") blnnovo = Aplicacao.Utilizador.AcedeAtributo("Documentos de Venda", strauxiliar, "Criar") Pg 18
19 If blnmodificar Or blnnovo Then ArrDocsVendas(intContador) = strauxiliar strauxiliar = strauxiliar & " - " & PlataformaPRIMAVERA.Utils.FStr$(objLista("Descricao")) cbotipodocv.additem strauxiliar intcontador = intcontador + 1 'Item seguinte da lista objlista.seguinte Wend 'Posiciona-se no primeiro item da lista If (cbotipodocv.listcount > 0) Then cbotipodocv.listindex = 0 'Limpar o objeto de memória Set objlista = Nothing Exit Sub ERRO: 'Antes de apresentar o erro limpa o(s) objeto(s) da memória If Not (objlista Is Nothing) Then Set objlista = Nothing MsgBox "Ocorreu o erro abaixo indicado: " & vbcrlf & Err.Number & vbcrlf & Err.Description, vbcritical, Aplicacao.Nome End Sub Private Sub cbofornecedores_click() Dim intcontador Dim strsql Dim objlista As Integer As StdBELista On Error GoTo ERRO strsql = "SELECT NumDoc, ID FROM CabecCompras " strsql = strsql & "WHERE ((TipoDoc = '" & ArrDocsCompras(cboTipoDocC.ListIndex) & "')" strsql = strsql & "AND (Serie = '" & ArrSeriesCompras(cboSerieC.ListIndex) & "')" strsql = strsql & "AND (Entidade = '" & ArrFornecedores(cboFornecedores.ListIndex) & "'))" strsql = strsql & "ORDER BY NumDoc ASC" Set objlista = Aplicacao.BSO.Consulta(strSQL) Pg 19
20 'Se existirem Documentos definidos If Not (objlista Is Nothing) Then 'Inicialização dos controlos e variáveis ReDim ArrNumsCompras(objLista.NumLinhas) cbodocumentos.clear intcontador = 0 lista 'Percorrer a lista com todos os Documentos existentes e preencher a respetiva While Not (objlista.noinicio Or objlista.nofim) cbodocumentos.additem PlataformaPRIMAVERA.Utils.FStr$(objLista("NumDoc")) ArrNumsCompras(intContador) = PlataformaPRIMAVERA.Utils.FStr$(objLista("ID")) intcontador = intcontador + 1 'Item seguinte da lista objlista.seguinte Wend 'Limpar o objeto de memória Set objlista = Nothing Exit Sub ERRO: 'Antes de apresentar o erro limpa o(s) objeto(s) da memória If Not (objlista Is Nothing) Then Set objlista = Nothing MsgBox "Ocorreu o erro abaixo indicado: " & vbcrlf & Err.Number & vbcrlf & Err.Description, vbcritical, Aplicacao.Nome End Sub Private Sub cboseriec_click() Dim intcontador Dim strsql Dim strauxiliar Dim objlista As Integer As StdBELista On Error GoTo ERRO Pg 20
21 strsql = "SELECT DISTINCT C.Entidade, F.Nome " strsql = strsql & "FROM CabecCompras AS C INNER JOIN Fornecedores AS F ON (C.Entidade = F.Fornecedor) " strsql = strsql & "WHERE ((C.TipoDoc = '" & ArrDocsCompras(cboTipoDocC.ListIndex) & "') " strsql = strsql & "AND (C.Serie = '" & ArrSeriesCompras(cboSerieC.ListIndex) & "')) " Set objlista = Aplicacao.BSO.Consulta(strSQL) 'Se existirem Documentos definidos If Not (objlista Is Nothing) Then 'Inicialização dos controlos e variáveis ReDim ArrFornecedores(objLista.NumLinhas) cbofornecedores.clear intcontador = 0 strauxiliar = vbnullstring lista 'Percorrer a lista com todas as Entidades existentes e preencher a respetiva While Not (objlista.noinicio Or objlista.nofim) strauxiliar = PlataformaPRIMAVERA.Utils.FStr$(objLista("Entidade")) ArrFornecedores(intContador) = strauxiliar strauxiliar = strauxiliar & " - " & PlataformaPRIMAVERA.Utils.FStr$(objLista("Nome")) cbofornecedores.additem strauxiliar intcontador = intcontador + 1 'Item seguinte da lista objlista.seguinte Wend 'Limpar o objeto de memória Set objlista = Nothing Exit Sub ERRO: 'Antes de apresentar o erro limpa o(s) objeto(s) da memória If Not (objlista Is Nothing) Then Set objlista = Nothing MsgBox "Ocorreu o erro abaixo indicado: " & vbcrlf & Err.Number & vbcrlf & Err.Description, vbcritical, Aplicacao.Nome Pg 21
22 End Sub Private Sub cboseriev_click() Dim intcontador Dim strsql Dim strauxiliar Dim objlista As Integer As StdBELista On Error GoTo ERRO strsql = "SELECT DISTINCT Cliente AS Entidade, Nome FROM Clientes" Set objlista = Aplicacao.BSO.Consulta(strSQL) 'Se existirem Documentos definidos If Not (objlista Is Nothing) Then 'Inicialização dos controlos e variáveis ReDim ArrClientes(objLista.NumLinhas) cbocliente.clear intcontador = 0 lista 'Percorrer a lista com todos os Clientes existentes e preencher a respetiva While Not (objlista.noinicio Or objlista.nofim) strauxiliar = PlataformaPRIMAVERA.Utils.FStr$(objLista("Entidade")) ArrClientes(intContador) = strauxiliar strauxiliar = strauxiliar & " - " & PlataformaPRIMAVERA.Utils.FStr$(objLista("Nome")) cbocliente.additem strauxiliar intcontador = intcontador + 1 'Item seguinte da lista objlista.seguinte Wend 'Limpar o objeto de memória Set objlista = Nothing Exit Sub Pg 22
23 ERRO: 'Antes de apresentar o erro limpa o(s) objeto(s) da memória If Not (objlista Is Nothing) Then Set objlista = Nothing MsgBox "Ocorreu o erro abaixo indicado: " & vbcrlf & Err.Number & vbcrlf & Err.Description, vbcritical, Aplicacao.Nome End Sub Private Sub cbotipodocv_change() Dim intcontador Dim strsql Dim strauxiliar Dim objlista As Integer As StdBELista On Error GoTo ERRO strsql = "SELECT * FROM SeriesVendas WHERE (TipoDoc = '" & ArrDocsVendas(Me.cboTipoDocV.ListIndex) & "')" Set objlista = Aplicacao.BSO.Consulta(strSQL) 'Se existirem Documentos definidos If Not (objlista Is Nothing) Then 'Inicialização dos controlos e variáveis ReDim ArrSeriesVendas(objLista.NumLinhas) cboseriev.clear intcontador = 0 strauxiliar = vbnullstring lista 'Percorrer a lista com todas as Séries existentes e preencher a respetiva While Not (objlista.noinicio Or objlista.nofim) strauxiliar = PlataformaPRIMAVERA.Utils.FStr$(objLista("Serie")) ArrSeriesVendas(intContador) = strauxiliar strauxiliar = strauxiliar & " - " & PlataformaPRIMAVERA.Utils.FStr$(objLista("Descricao")) cboseriev.additem strauxiliar intcontador = intcontador + 1 'Item seguinte da lista objlista.seguinte Wend 'Limpar o objeto de memória Pg 23
24 Set objlista = Nothing Exit Sub ERRO: 'Antes de apresentar o erro limpa o(s) objeto(s) da memória If Not (objlista Is Nothing) Then Set objlista = Nothing MsgBox "Ocorreu o erro abaixo indicado: " & vbcrlf & Err.Number & vbcrlf & Err.Description, vbcritical, Aplicacao.Nome End Sub Private Sub cbotipodocc_click() Dim intcontador Dim strsql Dim strauxiliar Dim objlista As Integer As StdBELista On Error GoTo ERRO strsql = "SELECT Serie, Descricao FROM SeriesCompras WHERE (TipoDoc = '" & ArrDocsCompras(cboTipoDocC.ListIndex) & "')" Set objlista = Aplicacao.BSO.Consulta(strSQL) 'Se existirem séries definidas para o Documento de compras selecionado If Not (objlista Is Nothing) Then 'Inicialização dos controlos e variáveis ReDim ArrSeriesCompras(objLista.NumLinhas) cboseriec.clear cbofornecedores.clear cbodocumentos.clear intcontador = 0 strauxiliar = vbnullstring lista 'Percorrer a lista com todas as séries existentes e preencher a respetiva While Not (objlista.noinicio Or objlista.nofim) strauxiliar = PlataformaPRIMAVERA.Utils.FStr$(objLista("Serie")) & " - " strauxiliar = strauxiliar & PlataformaPRIMAVERA.Utils.FStr$(objLista("Descricao")) cboseriec.additem strauxiliar Pg 24
25 ArrSeriesCompras(intContador) = PlataformaPRIMAVERA.Utils.FStr$(objLista("Serie")) intcontador = intcontador + 1 'Item seguinte da lista objlista.seguinte Wend 'Limpar o objeto de memória Set objlista = Nothing Exit Sub ERRO: 'Antes de apresentar o erro limpa o(s) objeto(s) da memória If Not (objlista Is Nothing) Then Set objlista = Nothing MsgBox "Ocorreu o erro abaixo indicado: " & vbcrlf & Err.Number & vbcrlf & Err.Description, vbcritical, Aplicacao.Nome End Sub Private Sub UserForm_Activate() CarregaDocumentosDeCompras CarregaDocumentosDeVendas End Sub Private Sub cmdconfirmar_click() Dim strmensagemerro Dim blnerrovalidacao As Boolean On Error GoTo ERRO strmensagemerro = vbnullstring blnerrovalidacao = False 'Verificar se a série do documento de compra está corretamente preenchida If (cboseriec.listindex = -1) Then strmensagemerro = strmensagemerro & "- A série do Documento de Compras não é válida." & vbcrlf blnerrovalidacao = True Pg 25
26 'Verificar se o identificador do documento de compra está corretamente preenchido If (cbodocumentos.listindex = -1) Then strmensagemerro = strmensagemerro & "- O Número do Documento a duplicar é incorreto." & vbcrlf blnerrovalidacao = True 'Verificar se a série do documento de venda está corretamente preenchida If (cboseriev.listindex = -1) Then strmensagemerro = strmensagemerro & "- A série do Documento de Vendas não é válida." & vbcrlf blnerrovalidacao = True 'Verificar se a margem do documento de venda está corretamente preenchida If (Not IsNumeric(txtMargem.Value)) Then strmensagemerro = strmensagemerro & "- A Margem definida não é correta." & vbcrlf blnerrovalidacao = True 'Verifica se o resultado das validações impede a duplicação dos documentos If blnerrovalidacao Then strmensagemerro = "Existem dados incorretamente preenchidos:" & vbcrlf & strmensagemerro MsgBox strmensagemerro, vbexclamation, Aplicacao.Nome Exit Sub 'Se as validações estão todas OK e o utilizador permitir, duplica o documento If (MsgBox("Confirma a duplicação do Documento de Compra para um Documento de Venda?", vbyesno) = vbyes) Then DuplicaDocumentoDeCompra Exit Sub ERRO: MsgBox "Ocorreu o erro abaixo indicado: " & vbcrlf & Err.Number & vbcrlf & Err.Description, vbcritical, Aplicacao.Nome End Sub Private Sub cmdcancelar_click() Unload Me Pg 26
27 End Sub Private Sub DuplicaDocumentoDeCompra() Dim strsql Dim strmensagem Dim objcompra As GcpBEDocumentoCompra Dim objlinhacompra As GcpBELinhaDocumentoCompra Dim objvenda As GcpBEDocumentoVenda 'Para carregar o objeto e percorrer as linhas para atribuição. Dim objlinhavenda Dim objlista As GcpBELinhaDocumentoVenda As StdBELista Const TIPO_ENTIDADE_CLIENTE = "C" On Error GoTo ERRO Set objcompra = Aplicacao.BSO.Comercial.Compras.EditaID(ArrNumsCompras(cboDocumentos.ListIndex)) 'Se existir o Documento selecionado If Not (objcompra Is Nothing) Then 'Criar o objeto de Venda para gravar as informações Set objvenda = New GcpBEDocumentoVenda objvenda.tipoentidade = TIPO_ENTIDADE_CLIENTE objvenda.entidade = ArrClientes(cboCliente.ListIndex) objvenda.tipodoc = ArrDocsVendas(cboTipoDocV.ListIndex) objvenda.serie = ArrSeriesVendas(cboSerieV.ListIndex) Aplicacao.BSO.Comercial.Vendas.PreencheDadosRelacionados objvenda, vddadostodos For Each objlinhacompra In objcompra.linhas 'Criar uma linha do Documento de venda Set objlinhavenda = New GcpBELinhaDocumentoVenda With objlinhavenda.armazem = objlinhacompra.armazem.arredfconv = objlinhacompra.arredfconv.artigo = objlinhacompra.artigo Pg 27
28 .CodigoBarras = objlinhacompra.codigobarras.codiva = objlinhacompra.codiva.dataentrega = objlinhacompra.dataentrega.desconto1 = objlinhacompra.desconto1.desconto2 = objlinhacompra.desconto2.desconto3 = objlinhacompra.desconto3.descontocomercial = objlinhacompra.descontocomercial.descricao = objlinhacompra.descricao.estado = objlinhacompra.estado.factorconv = objlinhacompra.factorconv.formula = objlinhacompra.formula.idlinha = vbnullstring.idlinhaoriginal = vbnullstring.intrastatcodigopautal = objlinhacompra.intrastatcodigopautal.intrastatmassaliq = objlinhacompra.intrastatmassaliq.intrastatregiao = objlinhacompra.intrastatregiao.intrastatvalorliq = objlinhacompra.intrastatvalorliq.lote = objlinhacompra.lote.movstock = objlinhacompra.movstock.numlindocoriginal = 0.NumLinhaStkGerada = 0.PrecoLiquido = objlinhacompra.precoliquido.quantformula = objlinhacompra.quantformula.quantidade = objlinhacompra.quantidade.quantreservada = objlinhacompra.quantreservada.quantsatisfeita = objlinhacompra.quantsatisfeita.regimeiva = objlinhacompra.regimeiva.sujeitoretencao = objlinhacompra.sujeitoretencao.taxaiva = objlinhacompra.taxaiva.tipolinha = objlinhacompra.tipolinha.unidade = objlinhacompra.unidade.variavela = objlinhacompra.variavela.variavelb = objlinhacompra.variavelb.variavelc = objlinhacompra.variavelc 'Set.LinhasDimensoes = objlinhacompra.linhasdimensoes Set.NumerosSerie = objlinhacompra.numerosserie.camposutil("cdu_referencia").valor = objlinhacompra.camposutil("cdu_referencia").valor End With Pg 28
29 If (txtmargem.value <> 0) Then objlinhavenda.precunit = objlinhacompra.precunit + (objlinhacompra.precunit / txtmargem.value) Else objlinhavenda.precunit = objlinhacompra.precunit objvenda.linhas.insere objlinhavenda Set objlinhavenda = Nothing Next Aplicacao.BSO.Comercial.Vendas.Actualiza objvenda 'Limpar os objetos de memória Set objvenda = Nothing Set objcompra = Nothing strmensagem = "Foi criado o documento indicado abaixo:" & vbcrlf strmensagem = strmensagem & "Documento: [" & objvenda.tipodoc & "]; " strmensagem = strmensagem & "Série: [" & objvenda.serie & "]; " strmensagem = strmensagem & "Numerador: [" & objvenda.numdoc & "]" MsgBox strmensagem, vbinformation, Aplicacao.Nome Else strmensagem = "O Documento de Compra selecionado não existe." MsgBox strmensagem, vbexclamation, "Duplicação de Documentos de Compra" Exit Sub ERRO: strmensagem = Err.Description 'Antes de apresentar o erro limpa o(s) objeto(s) da memória If Not (objcompra Is Nothing) Then Set objcompra = Nothing If Not (objlinhacompra Is Nothing) Then Set objlinhacompra = Nothing If Not (objvenda Is Nothing) Then Set objvenda = Nothing If Not (objlinhavenda Is Nothing) Then Set objlinhavenda = Nothing MsgBox "Ocorreu o erro abaixo indicado: " & vbcrlf & Err.Number & vbcrlf & strmensagem, vbcritical, Aplicacao.Nome End Sub Pg 29
30 Apresenta-se de seguida a janela que o utilizador visualizará ao executar este comando, e na qual já se efetuaram algumas escolhas. Pg 30
31 Para gerar o respetivo Documento de Venda indicado na escolha do utilizador basta clicar no botão Confirmar. Estas alterações estão dependentes das validações do Motor de Vendas e poderá existir informação em falta no Documento de Compra que impeça a criação do respetivo Documento de Venda. Agendar o Recálculo de Stocks para efetuar periodicamente Pretende-se efetuar as operações de Recalculo de Stocks de forma periódica, através de um Processo de Utilizador que execute uma Macro VBA contendo o código necessário à execução do Recalculo com algumas parametrizações definidas por defeito. Na inicialização de variáveis realizada na Macro VBA criada, tomam-se várias decisões: 1) Recalcular só os artigos marcados para recalculo; 2) Não recalcular reservas de encomendas; 3) Atualizar o Preço de Custo Médio nos Documentos de Venda; 4) Efetuar o Recalculo para todos os Artigos; 5) Não efetuar o Recalculo por Armazém (supomos que configurámos no Administrador a Valorização do Stock por P.C.M. global). Pg 31
32 Para disponibilizar esta funcionalidade apresenta-se de seguida o código que necessita ser implementado na Macro VBA: Option Explicit ' 'Variáveis globais para o Recálculo Private blnrecalculamarcados Private blnrecalculareservas Private blnactualizadocsvenda Private strartigoinicial Private strartigofinal As Boolean As Boolean As Boolean ' Este procedimento permite chamar os respetivos métodos do Motor de forma a executar ' corretamente as operações de recálculo de stocks sobre o exercício atual. Public Sub RecalculoStocksVBA() On Error GoTo Erro 'Inicialização dos parâmetros necessários ao recálculo DefineParametrosRecalculo 'Operação de Recálculo de Stocks ExecutaRecalculo Exit Sub Erro: lngnumber = Err.Number strdescription = Err.Description MsgBox "Ocorreu o erro abaixo indicado: " & vbcrlf & lngnumber & vbcrlf & strdescription, vbcritical, Aplicacao.Nome End Sub ' 'Na inicialização de variáveis tomámos várias decisões: ' ' ' ' ' ' 1) Recalcular só os artigos marcados para recálculo 2) Não recalcular reservas de encomendas 3) Atualizar o Preço de Custo Médio nos Documentos de Venda 4) Efetuar o Recálculo para TODOS os Artigos 5) Não efetuar o Recálculo por Armazém (para tal estamos a supôr que se encontra configurado no Administrador Pg 32
33 ' a Valorização do Stock por Preço de Custo Médio global) Private Sub DefineParametrosRecalculo() Dim lngnumber As Long Dim strdescription Dim strkey Dim strsql Dim strsource Dim objlista As StdBELista On Error GoTo Erro 'Recalcular só os artigos marcados para recálculo blnrecalculamarcados = True 'Não recalcula reservas de encomendas blnrecalculareservas = False 'Atualiza P.C.M. nos Documentos de Venda blnactualizadocsvenda = True 'Inicializa as variáveis com os valores por defeito strartigoinicial = vbnullstring strartigofinal = vbnullstring strsql = "SELECT MIN(Artigo), MAX(Artigo) FROM Artigo" Set objlista = Aplicacao.BSO.Consulta(strSQL) 'Se existem artigos definidos If Not (objlista Is Nothing) Then If Not (objlista.noinicio And objlista.nofim) Then 'existem registos strartigoinicial = PlataformaPRIMAVERA.Utils.FStr$(objLista(0)) strartigofinal = PlataformaPRIMAVERA.Utils.FStr$(objLista(1)) 'Limpar o objeto de memória Set objlista = Nothing Exit Sub Erro: Pg 33
34 'Como temos várias operações antes de apresentar o erro convém guardar os valores 'corretos do erro para os apresentar mais tarde... lngnumber = Err.Number strsource = Err.Source strdescription = Err.Description 'Coloca nas variáveis os valores por defeito strartigoinicial = vbnullstring: strartigofinal = vbnullstring 'Antes de apresentar o erro limpa o(s) objeto(s) da memória If Not (objlista Is Nothing) Then Set objlista = Nothing End Sub 'Despoletar o erro com a informação correta Err.Raise lngnumber, strsource, strdescription ' ' Opreção de Recálculo de Stocks baseada nas parametrizações anteriormente efetuadas Private Sub ExecutaRecalculo() Dim intret Dim strmensagem Dim strerro Dim strarmazeminicial Dim strarmazemfinal Dim msgres As Integer As VbMsgBoxResult On Error GoTo Erro strmensagem = "A operação de recálculo atualiza o stock dos artigos a partir dos respetivos movimentos. " strmensagem = strmensagem & "Simultâneamente procede ao recálculo dos Preços de Custo Médio." & vbcrlf strmensagem = strmensagem & "Estas operações podem ser demoradas. Deseja continuar?" msgres = MsgBox(strMensagem, vbyesno, Aplicacao.Nome) If (msgres = vbno) Then Exit Sub 'Como decidimos não efetuar o Recáculo por Armazém estas variáveis devem levar o valor por defeito strarmazeminicial = vbnullstring strarmazemfinal = vbnullstring strerro = vbnullstring Pg 34
35 intret = Aplicacao.BSO.Comercial.Stocks.RecalculoStocks(trcRecalculo, strartigoinicial, strartigofinal, _ strarmazemfinal, _ blnartnecrecalcpcm:=blnrecalculamarcados, _ strarmazeminicial, blnrecalcqtdreservada:=blnrecalculareservas, _ blnexecpcmdocs:=blnactualizadocsvenda, strmsgerro:=strerro) If (intret = 0) Then strmensagem = "Recálculo de Stocks efetuado com sucesso." Else strmensagem = "Ocorreu o erro abaixo no Recálculo de Stocks:" & vbcrlf strmensagem = strmensagem & strerro MsgBox strmensagem, vbokonly, Aplicacao.Nome Exit Sub Erro: Screen.MousePointer = vbdefault If Not WaitDialog Is Nothing Then WaitDialog.Termina Set WaitDialog = Nothing GCPMostraErro Plataforma.Localizacao.DaResString(cABRV_APL, 5296), PRI_Critico, Err.Description End Sub Após disponibilizarmos o código, é necessário criar o Processo de Utilizador que periodicamente executará a Macro criada (consulte o capítulo Processos do Utilizador ). Pg 35
36 Criação de um documento de liquidação Este exemplo pretende exemplificar a forma de efetuar uma liquidação através da extensibilidade. O exemplo descrito liquida um dos documentos pendentes para o cliente SOFRIO de um exercício DEMO com sede no continente. Para executar o exemplo abaixo devem-se verificar as seguintes condições: 1. Existir as seguintes referências no Projeto VBA: - PRIMAVERA EXECUTIVE 8.00; - PRIMAVERA GcpBE Apresenta-se de seguida o código que permite implementar a funcionalidade descrita. Public Sub Liquida_Documento() 'Este procedimento pretende exemplificar a forma de efetuar uma liquidação 'através da extensibilidade. O exemplo descrito liquida um dos documentos pendentes 'para o cliente SOFRIO de um exercício DEMO com sede no continente. Dim objdocliq Dim ObjLinhaLiq Dim stravisos As GcpBEDocumentoLiq As GcpBELinhaLiq On Error GoTo Erro Set objdocliq = New GcpBEDocumentoLiq Pg 36
37 'Preenchimento do cabeçalho do documento de liquidação With objdocliq 'Filial onde está a ser efetuada a liquidação.filial = BSO.Comercial.Filiais.CodigoFilial 'Tipo de documento de liquidação a utilizar.tipodoc = "RE" 'Série do documento de liquidação a utilizar.serie = "2" 'Próximo numero de documento disponível para a série usada.numdoc = BSO.Comercial.Series.ProximoNumero("M",.Tipodoc,.Serie) 'Tipo de entidade para quem vai ser emitido o documento de liquidação 'Neste exemplo um cliente.tipoentidade = "C" 'Entidade para quem vai ser emitido o documento de liquidação.entidade = "SOFRIO" 'Tipo de conta (Conta-Corrente).TipoConta = "C" 'Data de liquidação (data atual).datadoc = Date End With 'Moeda utilizada na liquidação.moeda = "EUR" 'Preenchimento dos dados em falta BSO.Comercial.Liquidacoes.PreencheDadosRelacionados objdocliq, cctdadostodos 'Identificação do documento a liquidar (criação de uma linha de liquidação) Set ObjLinhaLiq = New GcpBELinhaLiq With ObjLinhaLiq 'Filial onde foi emitido o documento a liquidar.filialorig = "000" 'Módulo a que pertence o documento (Vendas).ModuloOrig = "V" 'Tipo de documento a liquidar Pg 37
38 .TipoDocOrig = "FA" 'Série do documento a liquidar.serieorig = "2006" 'Numero do documento a liquidar 'No caso de ser por exemplo um documento do módulo de compras 'ser o numero do documento do fornecedor.numdocorig = "13" 'Numero interno do documento a liquidar 'No caso de ser por exemplo um documento do módulo de compras 'podero não ser coincidentes.numdocorigint = 13 'Numero da prestao do documento a liquidar 'No caso da condio de pagamento do documento 'no ser particionada (prestaes) ser sempre 1.NumPrestacao = 1 'Data de emisso do documento a liquidar.datadoc = " " 'Numero de Transferência do documento 'Este valor poder ser diferente no caso do 'documento ter sofrido uma operação de transferência 'de conta/estado com alteração da entidade do documento.numtransferencia = 0 'Tipo de entidade a que pertence o documento a liquidar 'Neste exemplo um cliente.tipoentidade = "C" 'Entidade a que pertence o documento a liquidar.entidade = "SOFRIO" 'Moeda em que foi emitido o documento a liquidar.moedadocorig = "EUR" 'Tipo de Conta em que se encontra o documento a liquidar 'Neste exemplo conta-corrente de cliente.tipoconta = "CCC" 'Estado em que se encontra o documento a liquidar 'Neste exemplo o estado pendentes da conta-corrente de cliente Pg 38
39 .Estado = "PEN" 'Valor a liquidar (na moeda de liquidao).valorrec = 'Valor que vai ficar pendente (na moeda de liquidao).valorpend = 0 'Valor original do documento (na moeda de liquidação).valororig = 'Valor de desconto (na moeda de liquidação).valordesconto = 0 'Valor a liquidar (na moeda de emissão do documento).valorrecmoedaorig = 'Valor de desconto (na moeda de emissão do documento).valordescmoedaorig = 0 End With 'Associação da linha de liquidação ao documento objdocliq.linhasliquidacao.insere ObjLinhaLiq 'Validação do documento If BSO.Comercial.Liquidacoes.ValidaActualizacao(objDocLiq, stravisos) Then 'Gravação do documento BSO.Comercial.Liquidacoes.Actualiza objdocliq, stravisos PlataformaPRIMAVERA.Dialogos.MostraAviso "Documento criado com sucesso.", PRI_Informativo Else PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, stravisos 'Eliminação dos objetos Set objdocliq = Nothing Set ObjLinhaLiq = Nothing Exit Sub Erro: Set objdocliq = Nothing Set ObjLinhaLiq = Nothing If Len(strAvisos) > 0 Then PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, stravisos Pg 39
40 Else PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, Err.Number & " - " & Err.Description End Sub Criação de um documento de transferência de conta/estado Este exemplo pretende exemplificar a forma de efetuar uma transferência de conta/estado através da extensibilidade. O exemplo descrito transfere um dos documentos pendentes para o fornecedor F0001 de um exercício DEMO com sede no continente. A transferência retira o documento do estado AGP e coloca-o no estado APR. 1. Existir as seguintes referências no Projeto VBA: - PRIMAVERA EXECUTIVE 8.00; - PRIMAVERA GcpBE Apresenta-se de seguida o código que permite implementar a funcionalidade descrita. Public Sub Transfere_Documento() 'Este procedimento pretende exemplificar a forma de efetuar uma transferência de conta/estado 'através da extensibilidade. O exemplo descrito transfere um dos documentos pendentes 'para o fornecedor F0001 de um exercício DEMO com sede no continente. 'A transferência retira o documento do estado AGP e coloca-o no estado APR. Dim objdoctrf As GcpBEDocumentoTransf Dim ObjLinhaTrf As GcpBELinhaTransf Dim stravisos Dim Mensagem On Error GoTo Erro: Set objdoctrf = New GcpBEDocumentoTransf 'Preenchimento do cabeçalho do documento de transferência With objdoctrf 'Filial onde está a ser efetuada a transferência.filial = BSO.Comercial.Filiais.CodigoFilial 'Tipo de documento de transferência a utilizar.tipodoc = "APR" 'Série do documento de transferência a utilizar Pg 40
41 .Serie = "2" 'Próximo numero de documento disponível para a série usada.numdoc = BSO.Comercial.Series.ProximoNumero("M",.Tipodoc,.Serie) 'Tipo de entidade para quem vai ser emitido o documento de transferência 'Neste exemplo um fornecedor.tipoentidade = "F" 'Entidade para quem vai ser emitido o documento de liquidação.entidade = "F0001" 'Tipo de entidade destino dos documentos transferidos 'Neste exemplo um fornecedor.tipoentidadedestino = "F" 'Entidade destino dos documentos transferidos.entidadedestino = "F0001" 'Tipo de Conta em que vão ser colocados os documentos transferidos 'Neste exemplo a conta-corrente de fornecedor.tipocontadestino = "CCF" 'Estado em que vão ser colocados os documentos transferidos 'Neste exemplo o estado Aprovado na conta-corrente de fornecedor.estadodestino = "APR" 'Tipo de conta (Conta-Corrente).TipoConta = "C" 'Data da transferência (data atual).datadoc = Date 'Moeda da transferência (tem de ser a mesma dos documentos a transferir).moeda = "EUR" End With 'Modulo do cabealho do documento de Transferncia (contas-correntes).modulo = "M" Set ObjLinhaTrf = New GcpBELinhaTransf 'Identificao do documento a transferir (criação de uma linha de transferência) With ObjLinhaTrf Pg 41
42 'Filial onde foi emitido o documento a transferir.filialorig = "000" 'Mdulo a que pertence o documento (Compras).ModuloOrig = "C" 'Tipo de documento a transferir.tipodocorig = "VFP" 'Srie do documento a transferir.serieorig = "2" 'Numero do documento a transfeir 'Neste exemplo um documento (mdulo de compras) 'deve ser o numero de documento do fornecedor.numdocorig = 4567 'Numero interno do documento a liquidar 'No caso de ser por exemplo um documento do módulo de compras 'podero no ser coincidentes.numdocorigint = 1 'Moeda em que foi emitido o documento a transferir.moedadocorig = "EUR" 'Tipo de Conta em que se encontra o documento a liquidar 'Neste exemplo conta-corrente de fornecedor.tipoconta = "CCF" 'Estado em que se encontra o documento a transferir 'Neste exemplo o estado Aguarda Aprovao da conta-corrente de fornecedor.estado = "AGP" 'Numero da prestao do documento a transferir 'No caso da condio de pagamento do documento 'no ser particionada (prestaes) ser sempre 1.NumPrestacaoOrig = 1 'Numero de Transferncia do documento 'Este valor poder ser diferente no caso do 'documento ter sofrido uma operação de transferência 'de conta/estado com alteração da entidade do documento.numtransferencia = 0 'No caso da transferência no ser uma transferência de entidade Pg 42
43 .TransfereEntidade = False 'Valor a transferir (como se trata de um documento a pagar deve ser negativo).valorrec = 'Valor original do documento (como se trata de um documento a pagar deve ser negativo).valororig = 'Tipo de entidade original do documento.tipoentidadeorigem = "F" End With 'Entidade Original do documento.entidadeorigem = "F0001" 'Associação da linha de transferência ao documento objdoctrf.documentostransferir.insere ObjLinhaTrf If BSO.Comercial.Transferencias.ValidaActualizacao(objDocTrf, stravisos) Then 'Gravação do Documento BSO.Comercial.Transferencias.Actualiza objdoctrf, stravisos PlataformaPRIMAVERA.Dialogos.MostraAviso "Documento transferido com sucesso.", PRI_Informativo Else PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, stravisos Set objdoctrf = Nothing Set ObjLinhaTrf = Nothing Exit Sub Erro: Set objdoctrf = Nothing Set ObjLinhaTrf = Nothing If Len(strAvisos) > 0 Then Else PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, stravisos PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, Err.Number & " - " & Err.Description End Sub Pg 43
44 Criação de um documento de transferência bancária Este exemplo pretende exemplificar a forma de criar um documento de tesouraria através da extensibilidade. O exemplo descrito cria uma transferência bancária assumindo estar a ser executado num exercício DEMO com sede no continente. Para executar o exemplo abaixo devem-se verificar as seguintes condições: 1. Existir as seguintes referências no Projeto VBA: - PRIMAVERA EXECUTIVE 8.00; - PRIMAVERA GcpBE Apresenta-se de seguida o código que permite implementar a funcionalidade descrita. Public Sub InsereDocTransferencia() 'Este procedimento pretende exemplificar a forma de criar um documento de tesouraria 'através da extensibilidade. O exemplo descrito cria uma transferência bancária assumindo 'estar a ser executado num exercício DEMO com sede no continente. Dim objdoctesouraria Dim strerro As GcpBEDocumentoTesouraria On Error GoTo Erro Set objdoctesouraria = New GcpBEDocumentoTesouraria 'Tipo do documento (TRANS - Transf. Bancária) objdoctesouraria.tipodoc = "TRANS" 'Preenchimento dos dados da transferência. Conta Origem, Conta Destino, Valor Set objdoctesouraria = BSO.Comercial.Tesouraria.PreencheDadosTransferencia(objDocTesouraria, "CXREC", "CXFIX", 200) 'Gravação do Documento BSO.Comercial.Tesouraria.Actualiza objdoctesouraria, strerro Set objdoctesouraria = Nothing Exit Sub Erro: Set objdoctesouraria = Nothing If Len(strErro) > 0 Then PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, strerro Pg 44
45 Else PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, Err.Number & " - " & Err.Description End Sub Criação de um documento de pagamento de cartão de crédito Este exemplo pretende exemplificar a forma de criar um documento de tesouraria através da extensibilidade. O exemplo descrito cria um documento de pagamento de cartão de crédito assumindo estar a ser executado num exercício DEMO com sede no continente. Para executar o exemplo abaixo devem-se verificar as seguintes condições: 1. Existir as seguintes referências no Projeto VBA: - PRIMAVERA EXECUTIVE 8.00; - PRIMAVERA GcpBE Apresenta-se de seguida o código que permite implementar a funcionalidade descrita. Public Sub InsereDocPagamentoCartao() 'Este procedimento pretende exemplificar a forma de criar um documento de tesouraria 'através da extensibilidade. O exemplo descrito cria um documento de pagamento de cartão 'assumindo estar a ser executado num exercício DEMO com sede no continente. Dim objdoctesouraria Dim strerro As GcpBEDocumentoTesouraria On Error GoTo Erro Set objdoctesouraria = New GcpBEDocumentoTesouraria 'Tipo do documento (PAG - Pagamento de Cartão) objdoctesouraria.tipodoc = "PAG" 'Preenchimento dos dados de pagamento. Conta Cartão, Conta DO, Valor Set objdoctesouraria = BSO.Comercial.Tesouraria.PreencheDadosPagamentoCartao(objDocTesouraria, "BPU-4", "BPU-1", 300) 'Gravação do Documento BSO.Comercial.Tesouraria.Actualiza objdoctesouraria, strerro Set objdoctesouraria = Nothing Exit Sub Pg 45
46 Erro: Set objdoctesouraria = Nothing If Len(strErro) > 0 Then Else PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, strerro PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, Err.Number & " - " & Err.Description End Sub Criação de um documento de aplicação financeira Este exemplo pretende exemplificar a forma de criar um documento de tesouraria através da extensibilidade. O exemplo descrito cria uma aplicação fianceuira assumindo estar a ser executado num exercício DEMO com sede no continente. Para executar o exemplo abaixo devem-se verificar as seguintes condições: 1. Existir as seguintes referências no Projeto VBA: - PRIMAVERA EXECUTIVE 8.00; - PRIMAVERA GcpBE Apresenta-se de seguida o código que permite implementar a funcionalidade descrita. Public Sub InsereDocAplicacaoFinanceira() 'Este procedimento pretende exemplificar a forma de criar um documento de tesouraria 'através da extensibilidade. O exemplo descrito cria uma aplicação financeira 'assumindo estar a ser executado num exercício DEMO com sede no continente. Dim objdoctesouraria As GcpBEDocumentoTesouraria Dim strerro On Error GoTo Erro Set objdoctesouraria = New GcpBEDocumentoTesouraria 'Tipo do documento (APL - Aplicação Financeira) objdoctesouraria.tipodoc = "APL" 'Preenchimento dos dados da aplicação. Conta Aplicação, Conta DO, Valor, Taxa de Juro, N de dias Set objdoctesouraria = BSO.Comercial.Tesouraria.PreencheDadosAplicacaoFinanceira(objDocTesouraria, "BPU-3", "BPU-1", 6000, 3.5, 60) Pg 46
47 'Gravação do Documento BSO.Comercial.Tesouraria.Actualiza objdoctesouraria, strerro Set objdoctesouraria = Nothing Exit Sub Erro: Set objdoctesouraria = Nothing If Len(strErro) > 0 Then Else PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, strerro PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, Err.Number & " - " & Err.Description End Sub Criação de um documento de capitalização de aplicação financeira Este exemplo pretende exemplificar a forma de criar um documento de tesouraria através da extensibilidade. O exemplo descrito cria um documento de capitalização de aplicação financeira assumindo estar a ser executado num exercício DEMO com sede no continente. Para executar o exemplo abaixo devem-se verificar as seguintes condições: 1. Existir as seguintes referências no Projeto VBA: - PRIMAVERA EXECUTIVE 8.00; - PRIMAVERA GcpBE Apresenta-se de seguida o código que permite implementar a funcionalidade descrita. Public Sub InsereDocCapitalizacaoAplFinanceira() 'Este procedimento pretende exemplificar a forma de criar um documento de tesouraria 'através da extensibilidade. O exemplo descrito cria um documento de capitalização 'de aplicação financeira assumindo estar a ser executado num exercício DEMO com sede no continente. Dim objdoctesouraria Dim strerro On Error GoTo Erro As GcpBEDocumentoTesouraria Set objdoctesouraria = New GcpBEDocumentoTesouraria 'Tipo do documento (APL - Aplicação Financeira) objdoctesouraria.tipodoc = "CAPL" 'Preenchimento dos dados da capitalização. Conta Aplicação, Conta DO, Identificação da aplicação a capitalizar Pg 47
48 Set objdoctesouraria = BSO.Comercial.Tesouraria.PreencheDadosCapitalizacaoAplFinanceira(objDocTesouraria, "BPU-3", "BPU-1", "APL", "2", "000", 2, "DVC", "DVD") 'Gravação do documento BSO.Comercial.Tesouraria.Actualiza objdoctesouraria, strerro Set objdoctesouraria = Nothing Exit Sub Erro: Set objdoctesouraria = Nothing If Len(strErro) > 0 Then Else PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, strerro PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, Err.Number & " - " & Err.Description End Sub Criação de um novo pendente Este exemplo pretende exemplificar a forma de criar um novo pendente em conta-corrente através da extensibilidade. O exemplo descrito cria um documento de tipo N/Fatura (série 2) para o cliente SOFRIO, assumindo estar a ser executado num exercício DEMO com sede no continente. Para executar o exemplo abaixo devem-se verificar as seguintes condições: 1. Existir as seguintes referências no Projeto VBA: - PRIMAVERA EXECUTIVE 8.00; - PRIMAVERA GcpBE Apresenta-se de seguida o código que permite implementar a funcionalidade descrita. Public Sub InsereNovoPendente() 'Este procedimento pretende exemplificar a forma de criar um novo pendente em contacorrente 'através da extensibilidade. O exemplo descrito cria um documento de tipo N/Fatura (série 2) 'para o cliente SOFRIO, assumindo estar a ser executado num exercício DEMO com sede no continente. Dim objpendente Dim objlinpendente Dim dbltaxaiva Dim strerro As GcpBEPendente As GCPBELinhaPendente As Double Pg 48
49 On Error GoTo Erro Set objpendente = New GcpBEPendente With objpendente 'Tipo de Entidade do Pendente (Cliente).TipoEntidade = "C" 'Entidade do Pendente.Entidade = "SOFRIO" End With 'Tipo de Documento do Pendente.Tipodoc = "FAC" 'Preenchimento de todos os dados em falta BSO.Comercial.pendentes.PreencheDadosRelacionados objpendente, pddadostodos Set objlinpendente = New GCPBELinhaPendente 'Preenchimento dos dados da linha do pendente With objlinpendente 'Descrição da linha.descricao = "Comisses" 'Valor da linha (sem IVA).Incidencia = 755 'Código da taxa de IVA aplicar na linha.codiva = "21" 'Taxa de IVA associada ao código dbltaxaiva = BSO.Comercial.Iva.DaValorAtributo("21", "Taxa") 'Cálculo do Valor de IVA.ValorIva = (dbltaxaiva / 100) * objlinpendente.incidencia End With 'Cálculo do Total da linha.total = objlinpendente.incidencia + objlinpendente.valoriva 'Associao da Linha ao documento objpendente.linhas.insere objlinpendente Pg 49
50 'Gravação do Documento BSO.Comercial.pendentes.ActualizaEx objpendente, strerro Set objpendente = Nothing Set objlinpendente = Nothing Exit Sub Erro: Set objpendente = Nothing Set objlinpendente = Nothing If Len(strErro) > 0 Then Else PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, strerro PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, Err.Number & " - " & Err.Description End Sub Inserção de um pendente de juros de mora Com o exemplo seguinte pretende-se realizar as seguintes operações: 1) Verificar se a data de vencimento dos pendentes que estão a ser liquidados foi ultrapassada em 30 dias; 2) Caso a condição anterior se verifique inserir um pendente com um valor de 1% dos valores liquidados com a data de vencimento ultrapassada em 30 dias. Para esta implementação vai ser usado código no evento DepoisDeGravar das operações sobre contas-correntes. Para executar o exemplo abaixo devem-se verificar as seguintes condições: 1. Existir as seguintes referências no Projeto VBA: - PRIMAVERA EXECUTIVE 8.00; - PRIMAVERA GcpBE Existir um documento de conta corrente com as seguintes configurações: Pg 50
51 Pg 51
52 Apresenta-se de seguida o código que permite implementar a funcionalidade descrita. Private Sub EditorCCorrentes_DepoisDeGravar(TDocumento As GcpBE800.TE_DocCCorrentes, Filial, Serie, Tipodoc, NumDoc As Long) Dim lnglinha Dim dblvalor Dim dtdatavenc As Long As Double As Date If TDocumento = TE_DocLiquidacao Then 'Verificação do tipo de entidade (apenas se aplica a clientes) If Me.DocumentoLiquidacao.TipoEntidade = "C" Then dblvalor = 0 For lnglinha = 1 To Me.DocumentoLiquidacao.LinhasLiquidacao.NumItens 'Data do Documento dtdatavenc = BSO.Comercial.Historico.DaValorAtributo(Me.DocumentoLiquidacao.LinhasLiquidacao(lngLi nha).tipodocorig, Me.DocumentoLiquidacao.LinhasLiquidacao(lngLinha).ModuloOrig, Me.DocumentoLiquidacao.LinhasLiquidacao(lngLinha).SerieOrig, Me.DocumentoLiquidacao.LinhasLiquidacao(lngLinha).FilialOrig, Me.DocumentoLiquidacao.LinhasLiquidacao(lngLinha).NumDocOrigInt, Me.DocumentoLiquidacao.LinhasLiquidacao(lngLinha).NumTransferencia, Me.DocumentoLiquidacao.LinhasLiquidacao(lngLinha).NumPrestacao, "DataVenc") 'Se a diferença de dias fôr superior a 30 o valor recebido deve ser considerado para cálculo de juros If DateDiff("d", dtdatavenc, Date) > 30 Then Pg 52
53 dblvalor = dblvalor + Me.DocumentoLiquidacao.LinhasLiquidacao(lngLinha).ValorRec Next 'Se existe valor para cálculo de juros inserir um pendente If Valor > 0 Then InserePendenteJuros Me.DocumentoLiquidacao.Entidade, dblvalor End Sub Private Sub InserePendenteJuros(Entidade, Valor As Double) Dim objpendente As GcpBEPendente Dim objlinpendente As GCPBELinhaPendente Dim dbltaxaiva As Double Dim strerro On Error GoTo Erro Set objpendente = New GcpBEPendente With objpendente 'Tipo de Entidade do Pendente (Cliente).TipoEntidade = "C" 'Entidade do Pendente.Entidade = Entidade End With 'Tipo de Documento do Pendente.Tipodoc = "JRM" 'Preenchimento de todos os dados em falta BSO.Comercial.pendentes.PreencheDadosRelacionados objpendente, pddadostodos Set objlinpendente = New GCPBELinhaPendente 'Preenchimento dos dados da linha do pendente With objlinpendente 'Descrição da linha.descricao = "Juros de Mora" 'Valor da linha (sem IVA).Incidencia = 0.01 * Valor Pg 53
54 'Código da taxa de IVA aplicar linha (0%).CodIva = "00" 'Valor de IVA.ValorIva = 0 End With 'Cálculo do Total da linha.total = 0.01 * Valor 'Associação da linha ao documento objpendente.linhas.insere objlinpendente 'Gravação do Documento BSO.Comercial.pendentes.ActualizaEx objpendente, strerro Set objpendente = Nothing Set objlinpendente = Nothing Exit Sub Erro: Set objpendente = Nothing Set objlinpendente = Nothing If Len(strErro) > 0 Then Else PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, strerro PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, Err.Number & " - " & Err.Description End Sub Restrição às liquidações de uma determinada entidade a um determinado utilizador Pretende-se exemplificar através do uso do método EntidadeIdentificada das operações sobre contas-correntes, a forma de restringir o acesso às liquidações de uma determinada entidade. Assumindo estar a ser executado num exercício DEMO com sede no continente, este exemplo permite que as liquidações ao cliente SOFRIO apenas possam ser efetuadas pelo utilizador User. Para executar o exemplo abaixo devem-se verificar as seguintes condições: 1. Existir as seguintes referências no Projeto VBA: - PRIMAVERA EXECUTIVE 8.00; - PRIMAVERA GcpBE Pg 54
55 Existir um utilizador conforme ilustrado: Apresenta-se de seguida o código que permite implementar a funcionalidade descrita. Private Sub EditorCCorrentes_EntidadeIdentificada(TDocumento As GcpBE800.TE_DocCCorrentes, TipoEntidade, Entidade, Cancel As Boolean) 'Pretende-se implementar as seguintes restrições: ' 1. As liquidações ao cliente SOFRIO apenas poderão ser efetuadas por um determinado utilizador. 'Este exemplo descreve a forma de o fazer. Assume-se que a operação está a ser efetuada num exercício DEMO 'com sede no continente e que existem utilizadores registados no sistema. If TDocumento = TE_DocLiquidacao Then If Aplicacao.Utilizador.Utilizador <> "User" And TipoEntidade = "C" And Entidade = "ALCAD" Then End Sub Cancel = True Pg 55
56 Preenchimento de um campo de utilizador nas liquidações Pretende-se exemplificar usando o método AntesDeGravar das operações sobre contas-correntes, a forma de efetuar o preenchimento de forma automática de um campo de utilizador no cabeçalho do documento de liquidação. Esse campo vai identificar a zona para onde deve ser enviada a liquidação a partir de um campo de utilizador da tabela de clientes. Para executar o exemplo abaixo devem-se verificar as seguintes condições: 1. Existir as seguintes referências no Projeto VBA: - PRIMAVERA EXECUTIVE 8.00; - PRIMAVERA GcpBE Existir um campo de utilizador na tabela de clientes conforme ilustrado: 3. Existir um campo de utilizador na tabela cabliq conforme ilustrado: Pg 56
57 Apresenta-se de seguida o código que permite implementar a funcionalidade descrita. Private Sub EditorCCorrentes_AntesDeGravar(TDocumento As GcpBE800.TE_DocCCorrentes, Cancel As Boolean) Dim strzona If TDocumento = TE_DocLiquidacao Then If Me.DocumentoLiquidacao.Tipodoc = "RE" And Me.DocumentoLiquidacao.TipoEntidade = "C" Then strzona = BSO.Comercial.Clientes.DaValorAtributo(Me.DocumentoLiquidacao.Entidade, "CDU_Zona") End Sub Me.DocumentoLiquidacao.CamposUtil("CDU_Zona") = strzona Restrição à edição de novos pendentes para uma determinada entidade a um determinado utilizador Pretende-se exemplificar através do uso do método AntesDeEditar dos novos documentos de conta-corrente, a forma de restringir o acesso para edição aos documentos de uma determinada entidade. Assumindo estar a ser executado num exercício DEMO com sede no continente, este exemplo permite que a edição dos documentos do cliente SOFRIO apenas possam ser efetuadas pelo utilizador User. Para executar o exemplo abaixo devem-se verificar as seguintes condições: 1. Existir a seguinte referência no Projeto VBA: Pg 57
58 - PRIMAVERA EXECUTIVE Existir um utilizador conforme ilustrado: Apresenta-se de seguida o código que permite implementar a funcionalidade descrita. Private Sub EditorPendentes_AntesDeEditar(Filial, Serie, Tipo As String, NumDoc As Long, NumPrestacao As Integer, Cancel As Boolean) If Aplicacao.Utilizador.Utilizador <> "User" And Me.DocumentoPendente.TipoEntidade = "C" And Me.DocumentoPendente.Entidade = "SOFRIO" Then End Sub Cancel = True Adicionar uma linha fixa aos novos pendentes Pretende-se exemplificar usando o método AntesDeGravar dos novos documentos de conta corrente, a forma de efetuar o preenchimento de forma automática de uma linha fixa a determinados documentos (FAC) de conta corrente para entidades do tipo cliente. O valor para essa linha vai ser inserido tendo em conta o valor existente num campo do utilizador da tabela de clientes, assumindo estar a ser executado num exercício DEMO com sede no continente. Essa linha pretenderá simular uma situação de adicionar despesas de envio ao valor da fatura. Para executar o exemplo abaixo devem-se verificar as seguintes condições: 1. Existir as seguintes referências no Projeto VBA: Pg 58
59 - PRIMAVERA EXECUTIVE 8.00; - PRIMAVERA GcpBE Existir um campo de utilizador na tabela de clientes conforme ilustrado: Apresenta-se de seguida o código que permite implementar a funcionalidade descrita. Private Sub EditorPendentes_AntesDeGravar(Cancel As Boolean) Dim dbltaxaiva As Double Dim intlinha As Integer Dim intzona As Integer Dim objlinhadespesa As GCPBELinhaPendente Dim dblincidencia As Double On Error GoTo Erro: If Me.DocumentoPendente.TipoEntidade = "C" And Me.DocumentoPendente.Tipodoc = "FAC" And Not Me.DocumentoPendente.EmModoEdicao Then 'Determinação da zona do cliente intzona = BSO.Comercial.Clientes.DaValorAtributo(Me.DocumentoPendente.Entidade, "CDU_Zona") Select Case Zona Pg 59
60 Case 1: dblincidencia = 100 Case 2: dblincidencia = 125 Case 3: dblincidencia = 150 End Select Set objlinhadespesa = New GCPBELinhaPendente 'Descrição da Linha objlinhadespesa.descricao = "Despesas de Envio" objlinhadespesa.incidencia = dblincidencia 'Cálculo do Valor de Iva (taxa de 21%) objlinhadespesa.valoriva = 0.21 * dblincidencia objlinhadespesa.codiva = "21" 'Cálculo do Valor Total (Incidência + Iva) objlinhadespesa.total = dblincidencia + objlinhadespesa.valoriva 'Associação da linha ao documento Me.DocumentoPendente.Linhas.Insere objlinhadespesa Set objlinhadespesa = Nothing Exit Sub Erro: Set objlinhadespesa = Nothing PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, Err.Number & " - " & Err.Description End Sub Pg 60
61 O resultado será a inserção de uma linha conforme ilustrado: Informar o crédito disponível na inserção de documentos Pretende-se exemplificar o uso do método EntidadeIdentificada dos novos documentos de conta corrente. No exemplo através do uso desse método informa-se o valor de crédito disponível quando parametrizado para entidades do tipo cliente ou fornecedor. Para executar o exemplo abaixo devem-se verificar as seguintes condições: 1. Existir as seguintes referências no Projeto VBA: - PRIMAVERA EXECUTIVE 8.00; - PRIMAVERA StdBE Apresenta-se de seguida o código que permite implementar a funcionalidade descrita. Private Sub EditorPendentes_EntidadeIdentificada(TipoEntidade, Entidade As String, Cancel As Boolean) Dim objcampos Dim strmensagem Dim dblcredito As StdBECampos As Double On Error GoTo Erro: Set objcampos = New StdBECampos strmensagem = vbnullstring Select Case TipoEntidade Case "C": Set objcampos = BSO.Comercial.Clientes.DaValorAtributos(Entidade, "LimiteCredValor", "LimiteCred", "TotalDeb") If Not objcampos Is Nothing Then If objcampos("limitecredvalor") Then dblcredito = objcampos("limitecred") - objcampos("totaldeb") If dblcredito > 0 Then strmensagem = "O crédito disponível para esta entidade é de " & CStr(dblCredito) & " EUR." Pg 61
62 Else strmensagem = "A entidade já não tem crédito disponível." Case "F": Set objcampos = BSO.Comercial.Fornecedores.DaValorAtributos(Entidade, "LimiteCredValor", "LimiteCred", "TotalDeb") If Not objcampos Is Nothing Then If objcampos("limitecredvalor") Then dblcredito = objcampos("limitecred") - objcampos("totaldeb") If dblcredito < 0 Then strmensagem = "O crédito disponível para esta entidade é de " & CStr(Abs(dblCredito)) & " EUR." End Select Else strmensagem = "A entidade já não tem crédito disponível." If Len(strMensagem) > 0 Then PlataformaPRIMAVERA.Dialogos.MostraAviso strmensagem, PRI_Informativo Exit Sub Erro: Set objcampos = Nothing PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, Err.Number & " - " & Err.Description End Sub Pg 62
63 Limitar o valor da transferência bancária Pretende-se exemplificar o uso do método AntesDeGravar dos novos documentos de caixa/bancos para impedir a gravação dos documentos do tipo transferência bancária sempre que excedam um determinado valor. Para executar o exemplo abaixo devem-se verificar as seguintes condições: 1. Existir as seguintes referências no Projeto VBA: - PRIMAVERA EXECUTIVE 8.00; - PRIMAVERA GcpBE Apresenta-se de seguida o código que permite implementar a funcionalidade descrita. Private Sub EditorTesouraria_AntesDeGravar(TDocumento As GcpBE800.TE_DocTesouraria, Cancel As Boolean) If TDocumento = TES_Transferencia Then If Me.DocumentoTesouraria.ValorMovimento >= And Me.DocumentoTesouraria.Moeda = "EUR" Then PlataformaPRIMAVERA.Dialogos.MostraAviso "Não é possível efetuar transferências de valor superior a EUR", PRI_Informativo End Sub Cancel = True Adicionar documento de despesas bancárias sempre que se efetua uma transferência Pretende-se exemplificar o uso do método AntesDeGravar dos novos documentos de caixa/bancos para impedir a gravação dos documentos do tipo transferência bancária sempre que excedam um determinado valor. Para executar o exemplo abaixo devem-se verificar as seguintes condições: 1. Existir as seguintes referências no Projeto VBA: - PRIMAVERA EXECUTIVE 8.00; - PRIMAVERA GcpBE Apresenta-se de seguida o código que permite implementar a funcionalidade descrita. Pg 63
64 Private Sub EditorTesouraria_DepoisDeGravar(TDocumento As GcpBE800.TE_DocTesouraria, Filial, Tipodoc, Serie, NumDoc As Long) If TDocumento = TES_Transferencia Then End Sub InsereDocumentoDespesa Me.DocumentoTesouraria.ContaOrigem Private Sub InsereDocumentoDespesa(Conta ) Dim objdoctesouraria As New GcpBEDocumentoTesouraria Dim objlintes As New GcpBELinhaDocTesouraria Dim strerro Set objdoctesouraria = New GcpBEDocumentoTesouraria 'Filial onde está a ser efetuada a operação objdoctesouraria.filial = "000" 'Tipo de documento (Movimento em conta) objdoctesouraria.tipodoc = "MOV" 'Atribuição da série usado por defeito objdoctesouraria.serie = BSO.Comercial.Series.DaSerieDefeito("B", "MOV") 'Data documento de tesouraria (data atual) objdoctesouraria.data = Date 'Conta a debitar objdoctesouraria.contaorigem = Conta 'Moeda da operação objdoctesouraria.moeda = "EUR" 'Cambios objdoctesouraria.cambio = 1 objdoctesouraria.cambiomalt = 1 objdoctesouraria.cambiombase = 1 'Módulo que gerou o documento (bancos) objdoctesouraria.moduloorigem = "B" 'Criação da linha de tesouraria Set objlintes = New GcpBELinhaDocTesouraria 'Identificação do movimento bancário objlintes.movimentobancario = "DSB" Pg 64
65 'Conta a movimentar objlintes.conta = Conta 'Moeda do movimento objlintes.moeda = "EUR" 'Valor a debitar objlintes.debito = 1.5 'Cambios objlintes.cambio = 1 objlintes.cambiomalt = 1 objlintes.cambiombase = 1 'Data do movimento objlintes.datamovimento = Date 'Data Valor objlintes.datavalor = Date 'Natureza do movimento objlintes.natureza = "D" 'Associação da linha ao documento objdoctesouraria.linhas.insere objlintes If BSO.Comercial.Tesouraria.ValidaActualizacao(objDocTesouraria, strerro) Then 'Gravação do documento BSO.Comercial.Tesouraria.Actualiza objdoctesouraria, strerro End Sub Pg 65
66 Área de Contabilidade Criação de um lançamento na contabilidade com reflexão para centros de custo Este exemplo pretende exemplificar a forma de efetuar um lançamento para a contabilidade através da extensibilidade. O exemplo descrito faz um lançamento também uma reflexão para centros de custo. Para executar o exemplo abaixo devem-se verificar as seguintes condições: 1. Existir as seguintes referências no Projeto VBA: - PRIMAVERA EXECUTIVE 8.00; - PRIMAVERA CblBE Apresenta-se de seguida o código que permite implementar a funcionalidade descrita. Public Sub InsereMovimentoContabilidade() Dim objdoc As CblBEDocumento Dim objlinhasdoc As CblBELinhaDocGeral Dim objlinhascentro As CblBELinhaDocCentros Dim strerro 'Criação do cabeçalho do documento Set objdoc = New CblBEDocumento With objdoc.modulo = "L".Doc = "411".NumDoc = -1.Diario = "41".NumDiario = -1.Ano = 2009.Mes = DatePart("m", Date).Dia = DatePart("d", Date).Moeda = "EUR" End With Set objlinhasdoc = New CblBELinhaDocGeral 'Atribuição dos valores da 1ª linha With objlinhasdoc.conta = " ".Descricao = "Fornecedor 1".Natureza = "C" Pg 66
67 .TipoLinha = "F".Valor = ValorAlt = ValorOrigem = Lote = 0.Cambio = 1.CambioMAlt = 1.CambioOrigem = 1 objdoc.linhasgeral.insere objlinhasdoc End With Set objlinhasdoc = Nothing Set objlinhasdoc = New CblBELinhaDocGeral 'Atribuição dos valores da 2ª linha With objlinhasdoc.conta = " ".Descricao = "Iva".Natureza = "D".TipoLinha = "F".Valor = 4762.ValorAlt = 4762.ValorOrigem = 4762.Lote = 0.Cambio = 1.CambioMAlt = 1.CambioOrigem = 1 objdoc.linhasgeral.insere objlinhasdoc End With Set objlinhasdoc = Nothing Set objlinhasdoc = New CblBELinhaDocGeral 'Atribuição dos valores da 3ª linha With objlinhasdoc.conta = "31611".Descricao = "Compras-Mat.Prim.-Mercado Nac.".Natureza = "D".TipoLinha = "F".Valor = ValorAlt = ValorOrigem = Iva = " ".Lote = 0.Cambio = 1.CambioMAlt = 1 Pg 67
68 .CambioOrigem = 1 objdoc.linhasgeral.insere objlinhasdoc End With Set objlinhasdoc = Nothing 'Criação de uma linha para refelaxão em centros de custo Set objlinhascentro = New CblBELinhaDocCentros 'Atribuição dos valores para reflexão With objlinhascentro.centro = "110030".ContaOrigem = "31611".Descricao = "Reflexão".Natureza = "D".TipoLinha = "O".Valor = ValorAlt = ValorOrigem = Lote = 0.Cambio = 1.CambioMAlt = 1.CambioOrigem = 1 objdoc.linhascentros.insere objlinhascentro End With Set objlinhasdoc = Nothing BSO.Contabilidade.Documentos.Actualiza objdoc, strerro PlataformaPRIMAVERA.Dialogos.MostraAviso "Foi gravado o Numero de Diário " & objdoc.numdiario & " no diário " & objdoc.diario, PRI_Informativo Set objdoc = Nothing Set objlinhasdoc = Nothing Exit Sub Erro: Set objdoc = Nothing Set objlinhasdoc = Nothing If Len(strErro) > 0 Then Else PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, strerro PlataformaPRIMAVERA.Dialogos.MostraErro "Erro", PRI_Exclama, Err.Number & " - " & Err.Description End Sub Pg 68
69 Pg 69
Tutoriais de Extensibilidade
PRIMAVERA v7.50 Tutoriais de Extensibilidade Manual de Extensibilidade do ERP PRIMAVERA Versão 1.0 Março de 2009 Introdução A Extensibilidade dos módulos é um conceito central no ERP PRIMAVERA na medida
Regime de IVA de Caixa
Regime de IVA de Caixa Versão 1.4 maio de 2014 (Última atualização a 05.05.2014) Índice Índice... 2 Introdução... 3 Notas prévias... 4 Configurações Gerais... 4 Administrador...4 ERP PRIMAVERA...8 Perfis
Reconhecer alguns dos objectos VBA Automatizar bases de dados recorrendo à programação VBA e scripts SQL
OBJECTIVOS Reconhecer alguns dos objectos VBA Automatizar bases de dados recorrendo à programação VBA e scripts SQL O objecto DOCMD Este objecto permite o acesso a todas as operações sobre todos os objectos
Portal Fornecedores 1
Portal Fornecedores 1 o endereço Internet: http://www.jumbo.pt/pfornecedores 2 3 O Fluxo da Informação Inscrição no Portal Atualizar Dados / Gerir Utilizadores Aprovar Inscrição Manutenção de Artigos Aprovar
User Guide. PRIMAVERA EXPRESS V7 Versão 1.0. Março de 2012. Pg 1
User Guide PRIMAVERA EXPRESS V7 Versão 1.0 Março de 2012 Pg 1 1. Instalação Para poder efetuar o download do produto PRIMAVERA Express deve começar por se registar no site da PRIMAVERA, indicando os dados
Facturação Guia do Utilizador
Facturação Guia do Utilizador Facturação Como se utiliza 2 1 Como se utiliza Todas as opções do sistema estão acessíveis através do menu: ou do menu: O Menu caracteriza-se pelas seguintes funcionalidades:
Procedimentos para os Mapas Recapitulativos (IES)
Procedimentos para os Mapas Recapitulativos (IES) Este documento pretende auxiliar nas operações de configuração para Recapitulativos no ERP Primavera. 1. Enquadramento Os Mapas Recapitulativos consistem
Material de Apoio. SEB - Contas a Pagar. Versão Data Responsável Contato 1 05/12/2011 Paula Fidalgo [email protected]
Material de Apoio SEB - Contas a Pagar Versão Data Responsável Contato 1 05/12/2011 Paula Fidalgo [email protected] Conteúdo CONFIGURAÇÃO... 3 Cadastro de Fornecedores... 3 Métodos de Pagamento...
MANUAL ARTSOFT Mobile Pre Sales
MANUAL ARTSOFT Mobile Pre Sales INDÍCE O que é?... 3 Como se configura?... 3 ARTSOFT... 3 ANDROID... 3 Login... 4 Home... 5 Funcionalidades... 6 Sincronização... 6 Contas... 7 Consultas... 7 Resumos...
FAQ s ELEVATION Express
FAQ s ELEVATION Express PRIMAVERA Business Software Solutions Contents FAQ s... 3 2 FAQ s 1. Como configurar Motivos de Isenção Diferentes por artigo na mesma FA? 1º Criar novos Tipos de Imposto para cada
PRIMAVERA EXPRESS: Funcionalidades do Produto
PRIMAVERA EXPRESS: Funcionalidades do Produto Como efetuo a mudança de ano do Ponto de Venda? No Programa Express aceda a Tabelas Pontos de Venda Postos de Venda abrir o separador Movimentos Caixa e: -
DE OPERAÇÕES E POSIÇÕES COM O EXTERIOR)
COPE - Configuração e Recolha de Informação (COMUNICAÇÃO DE OPERAÇÕES E POSIÇÕES COM O EXTERIOR) Versão 1.0 abril de 2013 Índice Índice... 2 Introdução... 3 Configurações Gerais... 4 Administrador...4
Cartões Pré-pagos. Cartões Pré-pagos
Cartões Pré-pagos A funcionalidade de cartões com pré-pagamento está disponível na versão Disco e o conceito é a associação de um cartão a um cliente. Cada cartão passa a dispor da conta corrente do cliente
Análise de Dados do Financeiro
Análise de Dados do Financeiro Introdução Para reunir em um só local as informações de contas a pagar e receber cadastradas e/ou geradas no sistema TTransp existe a interface de análise de dados do financeiro.
Versão Data Autor(es) Revisor(es) Alterações Aprovação 1.0 2013 11 20 M.B. Elisa Decq. Regina Bento Mota 1.01 2013 12 09 M.B.
Manual PASEP Controlo do documento Versão Data Autor(es) Revisor(es) Alterações Aprovação 1.0 2013 11 20 M.B. Elisa Decq Regina Bento Mota 1.01 2013 12 09 M.B. Elisa Decq Mota Regina Bento PASEP v.1.01
www.sysdevsolutions.com Driver Eticadata Versão 1.0 de 07-03-2011 Português
Driver Eticadata Versão 1.0 de 07-03-2011 Português Índice Configuração dos documentos no Backoffice.... 3 Driver ERP Eticadata... 5 Configurações principais... 5 Configurações do vendedor... 6 Configurações
Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet.
1. Descrição Geral Este manual descreve as operações disponíveis no módulo VTWEB Client, cuja finalidade é gerenciar cadastros de funcionários, realização de pedidos e controle financeiro dos pedidos.
BEM VINDO À GESTÃO DE STOCKS DO XD UNLIMITED
BEM VINDO À GESTÃO DE STOCKS DO XD UNLIMITED www.xdsoftware.pt Gestão de Stocks XD UNLIMITED 1. O que necessita para Controlar Stock...4 2. Criação de Armazéns...5 3. Configuração do Artigo...6 4. Configuração
Manual de Utilização. GESTOR DE METADADOS DOS AÇORES (GeMA) Setembro de 2015. Versão 4.0
Manual de Utilização GESTOR DE METADADOS DOS AÇORES (GeMA) Setembro de 2015 Versão 4.0 FICHA TÉCNICA TÍTULO: Manual de Utilização do Gestor de Metadados dos Açores (GeMA) AUTORIA: Grupo de Trabalho INSPIRE
MANUAL DO UTILIZADOR
MANUAL DO UTILIZADOR SISTEMA DE INFORMAÇÃO FORMAÇÃO CONTÍNUA (Art.21.º do Decreto-Lei n.º22/2014, de 11 de fevereiro) 6 de julho de 2015 Índice 1. ENQUADRAMENTO... 5 1.1 Objetivo... 5 1.2 Contactos Úteis...
Microsoft Excel Macro V. Índice 16-) Formulários... 42 17-) Gerando código para o Formulário... 49
Microsoft Excel Macro V Índice 16-) Formulários... 42 17-) Gerando código para o Formulário... 49 16-) Formulários A forma mais comum de comunicação de um sistema com o usuário é por meio de caixas de
Ministério das Finanças Instituto de Informática. Departamento de Sistemas de Informação
Ministério das Finanças Instituto de Informática Departamento de Sistemas de Informação Assiduidade para Calendários Específicos Junho 2010 Versão 6.0-2010 SUMÁRIO 1 OBJECTIVO 4 2 ECRÃ ELIMINADO 4 3 NOVOS
ADSE DIRETA MANUAL DE UTILIZAÇÃO PARA PRESTADORES DA REDE DA ADSE
ADSE DIRETA MANUAL DE UTILIZAÇÃO PARA PRESTADORES DA REDE DA ADSE 2 ÍNDICE ADSE Direta... 4 Serviços Disponíveis... 6 Atividade Convencionada... 7 Atualizar/Propor Locais de Prestação... 9 Propor Novo
1. Lançamento em Contas Bancárias Liquidação de Clientes
Título: MÓDULO DE GESTÃO DE BANCOS & CONTROLO LETRAS Pag.: 1 Módulo Gestão Contas Bancárias O módulo Gestão de Contas Bancárias, tem como principal objectivo, permitir ao utilizador saber num exacto momento,
Procedimentos Fim de Ano - PRIMAVERA
Procedimentos Fim de Ano - PRIMAVERA A finalidade deste documento é, essencialmente, clarificar os procedimentos a considerar antes da abertura de ano e a forma como realizar esta operação. O manual está
Gerar o Ficheiro de Inventário
Gerar o Ficheiro de Inventário Data: 05-12-2014 Os dados a enviar no ficheiro são os seguintes Código do Artigo Código de Barras (se não existir deve preencher neste campo o código do artigo) Descrição
Tesouraria. Apresentação do Módulo Financeiro
Tesouraria Apresentação do Módulo Financeiro O módulo Financeiro do LegalManager consiste em três blocos principais: Contas a Receber, Contas a Pagar e Tesouraria. O módulo de Contas a Receber está diretamente
Tutorial de Extensibilidade
PRIMAVERA v7.00 Tutorial de Extensibilidade Importação de Pendentes por excel Versão 1.0 Abril de 2007 Índice ÍNDICE... 1 INTRODUÇÃO... 2 EXCEL DE IMPORTAÇÃO DE PENDENTES... 3 Enquadramento...3 Como utilizar
Informática de Gestão 1º ano / 1º semestre Ano letivo: 2014/2015. Visual Basic VBA
Informática de Gestão 1º ano / 1º semestre Ano letivo: 2014/2015 Visual Basic VBA Macros Funções Conjunto de instruções que são executadas sempre que se desejar e pela ordem apresentada As funções são
Tarefa Orientada 16 Vistas
Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um
Agendamento para Importação de Notas Fiscais
LIBERAÇÃO DE ATUALIZAÇÃO CORDILHEIRA VERSÃO 2 (Orientamos aos clientes que utilizam banco de dados SQL, para efetuarem a atualização preferencialmente após o encerramento das atividades do dia, acessando
Parte 5 LibreOffice Base
Parte 5 LibreOffice Base 1. Criação do banco de dados 1. Abra o LibreOffice Base; 2. Escolha Criar um novo banco de dados e clique em Concluir; 3. Salve o banco de dados em alguma pasta do computador.
Curso EFA Empregado Comercial
1 INTRODUZIR OS DADOS DA EMPRESA Começe por abrir o programa Administrador. Posicione-se na empresa EXPRESS Empresa de Trabalho. Com o botão direito do rato escolha a opção Propriedades e preencha os campos
Escritório Virtual Administrativo
1 Treinamento Módulos Escritório Virtual Administrativo Sistema Office Instruções para configuração e utilização do módulo Escritório Virtual e módulo Administrativo do sistema Office 2 3 1. Escritório
Manual Ciaf NFC-e Gratuito. Cadastro de Clientes 2 Cadastro de Produtos 4 Caixa Diário 9 Cadastro de formas de Pagamento NFCe 13 Emissão NFC-e 17
Manual Ciaf NFC-e Gratuito Cadastro de Clientes 2 Cadastro de Produtos 4 Caixa Diário 9 Cadastro de formas de Pagamento NFCe 13 Emissão NFC-e 17 1 Cadastro de Clientes Nesta opção iremos armazenar no sistema
PRIMAVERA EXPRESS: Funcionalidades do Produto. AQs (Frequently Asked Questions)
PRIMAVERA EXPRESS: Funcionalidades do Produto AQs (Frequently Asked Questions) Como Instalar/Atualizar a nova versão 6.40 do PRIMAVERA EXPRESS (Saf-T PT 2010)? Para atualizar a versão que tem no seu computador,
ERP AIRC. Transição de Ano Económico 2014-2015 (Receita) Apresentado por: AIRC
Apresentado por: AIRC Índice 1. INTRODUÇÃO... 3 1.1 ÂMBITO... 3 1.2 OBJETIVOS... 3 1.3 REQUISITOS A OBSERVAR... 3 1.3.1 Versões das aplicações... 3 1.4 RESOLUÇÃO DE PROBLEMAS... 3 2. SCA ENTRADA EM VIGOR
Ajuda On-line - Sistema de Portaria. Versão 4.8.J
Versão 4.8.J Sumário PORT - Módulo de Apoio Portaria 3 1 Manual... de Processos - Portaria 4 Fluxo - Portaria... 5 2 Configurações... 6 Unidades... de Internação 6 Setores Administrativos... 9 Configuração...
Comunicação documentos de transporte AT via Webservice Singest Sistema Integrado de Gestão. 22-05-2013 Cambragest Serviços de Gestão e Software
Comunicação documentos de transporte AT via Webservice 22-05-2013 Cambragest Serviços de Gestão e Software I. Índice I. Índice... 1 II. Introdução... 2 III. Configuração de documentos de transporte...
ATUALIZAÇÃO DA VERSAO 05.04.00. Abaixo constam as alterações referentes a versão 05.04.00 do dia 02/05/2012:
ATUALIZAÇÃO DA VERSAO 05.04.00 Abaixo constam as alterações referentes a versão 05.04.00 do dia 02/05/2012: ATENÇÃO: Versões intermediarias não são de atualização obrigatório para todos os clientes, apenas
Integração ADMRH com AGROSYS
Treinamentos no produto AdmRH CGI - Consultoria Gaúcha de Informática Ltda - Divisão de treinamentos Guia do Aluno Versão 1.0 Integração ADMRH com AGROSYS Empresa: Participante: Data: Os produtos da CGI
Software-Global 1/11
Não esquecer que a senha do Administrador é ADMIN Botões do programa: Acesso ao Programa: O Acesso ao programa deve ser feito através do utilizador ADMINISTRADOR, que tem todas as permissões para gerir
MANUAL ARTSOFT Mobile POS
MANUAL ARTSOFT Mobile POS INDÍCE O que é?... 3 Como se configura?... 3 ARTSOFT... 3 ANDROID... 3 Login... 4 Home... 5 Sincronização... 6 Utilizadores... 7 Entrada de stock... 7 Acerca... 8 Configuração...
Objetivos. Página - 2
Índice Índice... 1 Objetivos... 2 Configurações... 3 Cadastro de Bancos... 3 Plano de Contas... 3 Conta Corrente... 4 Instruções Bancárias... 6 Portadores Bancários... 7 Cadastro de Clientes... 8 Boletos...
Deverá ser apresentada uma caixa de combinação para auxiliar o utilizador a escolher o distrito de residência do entrevistado.
4.º PASSO PROGRAMAÇÃO DO CAMPO DISTRITO : PROJECTO COM ADO Deverá ser apresentada uma caixa de combinação para auxiliar o utilizador a escolher o distrito de residência do entrevistado. 1) Abra o formulário
Manual de Utilização de Certificados Digitais. Microsoft Word 2003
Manual de Utilização de Certificados Digitais Microsoft Página 2 de 11 CONTROLO DOCUMENTAL REGISTO DE MODIFICAÇÕES Versão Data Motivo da Modificação 1.9 08/02/2013 Actualização do conteúdo do manual de
Acessos Convergentes. Manual de Configuração e Utilização
Índice 1 Introdução... 4 1.1 Âmbito do Documento... 4 1.2 Acesso... 5 1.3 Autenticação... 5 2 Cliente... 6 2.1 Reencaminhamentos ou redireccionamentos... 6 2.1.1 Novo Plano de Redireccionamento... Error!
MANUAL DE UTILIZAÇÃO TERMINAL DE PORTA
MANUAL DE UTILIZAÇÃO TERMINAL DE PORTA www.xdsoftware.pt Resumo da Aplicação O XD Terminal de Porta é um módulo do XD Disco destinado a coletores de dados com o sistema operativo Windows mobile. Junta
Mobile Business. Your sales on the move.
Pág/02 O PRIMAVERA é um produto destinado a empresas que utilizem processos de auto-venda e/ou pré-venda com Equipas de Vendas que necessitem de um conjunto de informação e funcionalidades avançadas, disponíveis
Noções básicas sobre macros no Access 97. Construção de algumas macros simples. Noções básicas sobre procedimentos VBA no Access 97
MS Access 97-Macros Estrutura da aula Noções básicas sobre macros no Access 97 Construção de algumas macros simples Noções básicas sobre procedimentos VBA no Access 97 Exemplo de um procedimento VBA Apresentação
Controle de Estoque. Apresentação. Cadastro de Grupos de Produtos. Cadastro de Produtos
Controle de Estoque Apresentação O módulo de Controle de Estoque do LegalManager consiste em três partes principais: Manutenção do Estoque, Solicitações e Atendimento a Solicitações. Destes módulos, tradicionalmente
Banco de Portugal Comunicação de Operações e Posições com o Exterior. Formador: Tiago Nunes OTIMIZAMOS NEGÓCIOS
Banco de Portugal Comunicação de Operações e Posições com o Exterior Formador: Tiago Nunes OTIMIZAMOS NEGÓCIOS SEDE AVª General Eduardo Galhardo, Edificio Nucase, 115 2775-564 Carcavelos tel. 214 585 700
Assessoria Técnica de Tecnologia da Informação - ATTI. Projeto de Informatização da. Secretaria Municipal de Saúde do. Município de São Paulo
Assessoria Técnica de Tecnologia da Informação - ATTI Projeto de Informatização da Secretaria Municipal de Saúde do Município de São Paulo Manual Cartão SUS Manual de Operação Julho/2011 Conteúdo Sumário...
POSTOUCH. Manual Software
POSTOUCH Manual Software Introdução Introdução POS TOUCH é uma solução direcionada a pequenos postos de venda, que tem necessidade de criação de muitos talões de uma forma linear e rápida. A solução implementa
Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet.
Conteúdo 1. Descrição geral 2 2. Resumo das funcionalidades 3 3. Efetuar cadastro no sistema 4 4. Acessar o sistema 6 5. Funcionalidades do menu 7 5.1 Dados cadastrais 7 5.2 Grupos de usuários 7 5.3 Funcionários
Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II
O seguinte exercício contempla um processo com três estágios. Baseia-se no Inquérito de Satisfação Fase II, sendo, por isso, essencial compreender primeiro o problema antes de começar o tutorial. 1 1.
Síntese de fluxo de máquinas e implementos
Síntese de fluxo de máquinas e implementos Tecinco Informática Ltda. Av. Brasil, 5256 3º Andar Centro Cascavel PR www.tecinco.com.br Sumário Objetivo... 3 Parâmetros para utilização do processo... 3 Cadastro
PAINEL DE ADMINISTRADOR
PAINEL DE ADMINISTRADOR IMPORTANTE: O Painel de administrador APENAS deverá ser utilizado pelo responsável do sistema. são: Nesta aplicação, poderá configurar todo o sistema de facturação. As opções do
2013 GVDASA Sistemas Cheques 1
2013 GVDASA Sistemas Cheques 1 2013 GVDASA Sistemas Cheques 2 AVISO O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio. Nenhuma
Manual de Cobrança. Código Nome De Até 1 Jose da Silva a Jz 2 Ana Maria k Pz 3 Marcelo q zz
Manual de Cobrança Cadastrando um Funcionário Entre no programa e no menu principal entre na opção: Cadastros / Cadastros de Funcionários e Acionador. Será apresentada a tela abaixo: Nesta tela deverão
Cenários do CEL. Acessar ao sistema
Cenários do CEL Acessar ao sistema Permitir que o usuário acesse ao Sistema de Léxicos e Cenários nas seguintes condições: logando-se, quando já estiver cadastrado; ou incluindo usuário independente, quando
Manual do Usuário CFCWeb BA
ÍNDICE Acesso ao sistema... 2 Tela Principal... 3 Cadastro de Candidatos... 5 Agenda Teórico... 6 Agenda Prático... 7 Consulta Agendamentos do Candidato por Serviço... 9 Cadastro de Grade Horária... 10
PRACTICO LIVE! FINANCEIRO CONFIGURAÇÕES BÁSICAS
PRACTICO LIVE! FINANCEIRO CONFIGURAÇÕES BÁSICAS Acessando Global -> Configuração Básica, temos: Assistente de Configuração A funcionalidade principal do Assistente é configurar as informações básicas para
Operações Documentárias no Portal de Empresas
Operações Documentárias no Portal de Empresas www.millenniumbcp.pt Apresentação para Clientes MT2569 - Versão 2 Ref.02.002.1921 Texto escrito conforme o Acordo Ortográfico Índice 1. Introdução/Enquadramento
Configuração inicial para gestão de contas correntes bancárias
Página 1 de 11 Configuração inicial para gestão de contas correntes bancárias Deverá iniciar a utilização criando as tabelas relacionadas com bancos. Note que no GESPOS estão previamente configurados uma
Manual de Recibos. Manual de Recibos
Manual de Recibos As aplicações XD dispõe de um módulo de controlo de Contas Correntes de Clientes que tem sido evoluído de forma a satisfazer as diversas necessidades dos seus clientes. As Contas Correntes
Sumário INTRODUÇÃO... 3 INTEGRAÇÃO COM O EMPRESÁRIOERP... 3 AGILIDADE NOS PROCESSOS E APOIO AOS CONTROLES INTERNOS... 3 SAC - ATENDIMENTO...
Sumário INTRODUÇÃO... 3 INTEGRAÇÃO COM O EMPRESÁRIOERP... 3 AGILIDADE NOS PROCESSOS E APOIO AOS CONTROLES INTERNOS... 3 SAC - ATENDIMENTO... 4 CADASTRO DO TIPO DO ATENDIMENTO... 5 CADASTRO DE CATEGORIAS...
LeYa Educação Digital
Índice 1. Conhecer o 20 Aula Digital... 4 2. Registo no 20 Aula Digital... 5 3. Autenticação... 6 4. Página de entrada... 7 4.1. Pesquisar um projeto... 7 4.2. Favoritos... 7 4.3. Aceder a um projeto...
Ficheiros PS2 Pagamentos
Ficheiros PS2 Pagamentos Índice 1. Introdução... 1 2. Nível de Serviço... 2 3. Criação de Ficheiros PS2... 2 4. Carregamento de Ficheiros no Net24 Empresas... 3 5. Assinatura de Transações... 8 6. Consulta
Módulo SAC Atendimento ao Cliente
Módulo SAC Atendimento ao Cliente Objetivo O Módulo SAC ou Serviço de Atendimento ao Cliente é uma ferramenta que gerencia, cria e administra informações num canal de comunicação informatizado entre a
GESTÃO DE STOCKS. Para gerir o seu stock deve realizar 4 passos essenciais:
GESTÃO DE STOCKS Para gerir o seu stock deve realizar 4 passos essenciais: 1. Garantir que têm os artigos todos criados no Sublime 2. Fazer a contagem de todos os artigos que estão a uso, em expositores
Comunicação de Documentos de Transporte à AT (portaria 161/2013)
Comunicação de Documentos de Transporte à AT (portaria 161/2013) Este documento pretende explicar de forma sucinta como fazer a parametrização do software Primavera para o envio dos Documentos de Transporte.
Principais Novidades Abril/2013 a Junho/2013
Principais Novidades Abril/2013 a Junho/2013 Sumário 1. Ambiente Group Shopping... 3 2. Alteração na Tela de Contratos e Controle de Edições... 7 3. Propagação de Contratos... 10 4. Configuração de Impressora
PRIMAVERA EXPRESS: Funcionalidades do Produto
PRIMAVERA EXPRESS: Funcionalidades do Produto Faturação/ Vendas ao Balcão Emissão dos seguintes documentos de vendas: Faturas, Vendas a dinheiro, Notas de Crédito, Notas de Débito, Guias de Remessa e de
Transição de POC para SNC
Transição de POC para SNC A Grelha de Transição surge no âmbito da entrada em vigor, no ano de 2010, do Sistema de Normalização Contabilística (SNC). O SNC vem promover a melhoria na contabilidade nacional,
Adenda de Janeiro de 2013 Manual de Utilizador
Adenda de Janeiro de 2013 Manual de Utilizador Novas funcionalidades: - Fatura Simplificada (Certificação AT Janeiro de 2013) - Ficheiro SAFT (Certificação AT Janeiro de 2013) - Séries de Faturação (Certificação
Manual de Utilização de Certificados Digitais. Microsoft Word 2010
Manual de Utilização de Certificados Digitais Microsoft Página 2 de 11 CONTROLO DOCUMENTAL REGISTO DE MODIFICAÇÕES Versão Data Motivo da Modificação 1.1 08/02/2013 Alteração do conteúdo do manual de suporte
TEMA: Oficinas Configurações, workflow e funcionalidades
APLICAÇÃO: XRP Gestão de Frota TEMA: Oficinas Configurações, workflow e funcionalidades ÚLTIMA ATUALIZAÇÃO EM: 25 de fevereiro de 2015 ÚLTIMA ATUALIZAÇÃO POR: Pedro Direito www.escritadigital.pt ÍNDICE
Manipulando Strings no VBA (Replace, Mid e InStr)
Manipulando Strings no VBA (Replace, Mid e InStr) por Eduardo Vieira Machado (Good Guy) Hoje gostaria de tratar de um assunto bastante atraente no Access e que é muito trabalhado nas empresas - a manipulação
Manual de Integração - E-Fiscal X Telecont
Atualizado em Maio/2008 Pág 1/36 Para integrar os dados do sistema Efiscal com o sistema Telecont, efetue os procedimentos abaixo: CADASTRO DE EMPRESAS ABA BÁSICO Acesse menu Arquivos Empresas Usuárias
Controle de Almoxarifado
Controle de Almoxarifado Introdução O módulo de Controle de Almoxarifado traz as opções para que a empresa efetue os cadastros necessários referentes a ferramentas de almoxarifado, além do controle de
Manual para Transportadoras
Índice 1 Objetivo... 3 2 O Projeto e-suprir... 3 3 Introdução... 3 4 Informações Básicas... 4 4.1 Painel de Controle Compras... 4 5 Acessando o Pedido... 5 6 Digitando o Espelho de Nota Fiscal... 7 6.1
Comunicação electrónica do Inventário à AT
Comunicação electrónica do Inventário à AT aplicações v1.00-22 Dezembro 2014 Sumário Fundamento legal: Legislação A quem se aplica Formato do ficheiro Quando Operacionalidade: Como deve ser criado o ficheiro
Guia de Utilização. Acesso Universal
Guia de Utilização Índice PREÂMBULO...3 ACESSO À PLATAFORMA...3 ÁREA DE TRABALHO...4 APRESENTAR PROPOSTAS...9 RECEPÇÃO DE ADJUDICAÇÃO...18 PARAMETRIZAÇÃO DA EMPRESA...19 Acesso universal Proibida a reprodução.
BOLETIM INFORMATIVO TÉCNICO LIBERAÇÃO DE ATUALIZAÇÃO - CORDILHEIRA VERSÃO 2
BOLETIM INFORMATIVO TÉCNICO LIBERAÇÃO DE ATUALIZAÇÃO - CORDILHEIRA VERSÃO 2 Cordilheira Recursos Humanos CRH 2.85A As rotinas de Retiradas de Pró-labore e Autônomos tiveram diversas alterações, com o objetivo
Manual Gespos Passagem de Dados Fecho de Ano
Manual Gespos Passagem de Dados Fecho de Ano ÍNDICE PASSAGEM DE DADOS / FECHO DE ANO... 1 Objectivo da função... 1 Antes de efectuar a Passagem de dados / Fecho de Ano... 1 Cópia de segurança da base de
TESOURARIA. Âmbito. Avisos a Clientes Proposta e emissão de avisos de débitos em atraso de clientes.
Página1 TESOURARIA Âmbito Recibos O módulo de recibos do Multi permite associar os valores recebidos de terceiros aos documentos regularizados, registar os meios de liquidação e emitir o Recibo. O recibo
MANUAL DO GESTOR DE FINANÇAS
MANUAL DO GESTOR DE FINANÇAS Manual de utilização e dicas para que conheça melhor esta nova ferramenta do millenniumbcp.pt. e da App Millennium para equipamentos ipad/ iphone / ipod touch.. 1 02 ÍNDICE
Treinamento de. Linx Pos
Treinamento de caixa Linx Pos Será instalados no terminal da loja, o ícone, conforme imagem abaixo: Linx POS ÍNDICE Abertura de caixa e leitura X Lançamentos Cancelamento de itens Consulta preços no ato
MANUAL DE UTILIZAÇÃO SISTEMA DE CADASTRO INTRANET
MANUAL DE UTILIZAÇÃO SISTEMA DE CADASTRO INTRANET I Sumário 1. Objetivo do Documento... 1 2. Início... 1 3. Cadastro de Pessoa Física... 3 3.1. Preenchimentos Obrigatórios.... 4 3.2. Acesso aos Campos
GlobalPhone - Central Telefónica. Manual do Portal de Selfcare Utilizador
Manual do Portal de Selfcare Utilizador Índice 1 Introdução... 3 1.1 Âmbito do Documento... 3 1.2 Acesso... 4 1.3 Autenticação... 4 2 Extensões... 5 2.1 Reencaminhamentos (redireccionamentos)... 6 2.2
Manual de utilização da aplicação web Gestão de Delegados de Informação Médica
Manual de utilização da aplicação web Gestão de Delegados de Informação Médica 1.1 Pedido de Login de Novas Entidades. Este ecrã irá proporcionar à entidade a realização do pedido de login. Para proceder
Manual Configuração Esquema Contábil
Manual Configuração Esquema Contábil MARÇO/2013 Sumário 1. Introdução... 3 2. Funcionalidade... 3 3. Acesso ao Sistema Parâmetros... 3 4. Configurar o Esquema Contábil... 4 4.1. Inserir Palavra Chave...
1. Instalação do Remessa Q Prof... 3. 2. Trabalhando com o Remessa Q Prof... 8. 3. Botão Opções e suas Funcionalidades... 8. 4. Aba Título...
SUMÁRIO 1. Instalação do Remessa Q Prof... 3 2. Trabalhando com o Remessa Q Prof... 8 3. Botão Opções e suas Funcionalidades... 8 4. Aba Título... 9 5. Aba Cheque... 21 5.2. Exemplo de CMC7... 24 6. Importação
Fecho de Ano WEuroGest 2000
Fecho de Ano WEuroGest 2000 INTRODUÇÃO Neste documento são descritos os passos a seguir para uma boa execução do fecho de ano e respectiva conversão da empresa em euros. No final é apresentada uma checklist
Configuração Empresa/Filial
Configuração Empresa/Filial Para definir as configurações (Parâmetros) de cada empresa ou filial cadastrada no sistema, proceda da seguinte forma: Acesse o módulo Administrativo. Clique no menu Cadastros
ERP AIRC. Adesão ao Formato SEPA - Transferências a Crédito. Apresentado por: AIRC
Apresentado por: AIRC Índice 1. INTRODUÇÃO... 3 1.1 ÂMBITO... 3 1.2 VERSÕES MÍNIMAS REQUERIDAS... 3 2. PROCEDIMENTOS... 4 2.1 ATIVAÇÃO DO SEPA... 4 2.1.1 Condições prévias... 4 2.1.1.1 Pasta de documentos
