Tutorial de Extensibilidade

Documentos relacionados
Driver Next Versão 1.0 de Português

Macros e Programação VBA

Gestão de Actas Escolares. Manual Utilizador. (Versão 4)

Como Declarar online e pagar sem filas?

Microsoft Excel Ficha prática n. 8

aplicação arquivo Condições Gerais de Utilização

Instruções para utilização dos Fóruns pelo Grupo dos Consensos Psiquiátricos para Clínicos Gerais 2005

TCI Sistemas Integrados

atualização gratuita *para clientes Solutio com contrato de manutenção ativo.

Módulo de Aprendizagem I

ROTEIRO PARA REGISTRO NO CONTAS ONLINE Programa Caminho da Escola Parte I Execução Financeira Data de atualização: 21/6/2012

Tutoriais de Extensibilidade

NOVA VERSÃO SAFE DOC MANUAL

REITORA Ulrika Arns. VICE-REITOR Almir Barros da Silva Santos Neto. DIRETOR DO NTIC Leonardo Bidese de Pinho

1 Visão Geral. 2 Instalação e Primeira Utilização. Manual de Instalação do Gold Pedido

Manual de instalação do Microsoft SQL Server 2008 R2 Express no Windows 10

Formas de Pagamento Resumida Vendas Vendedor Vendas Vendedor Resumido Vendas Vendedor Caixa Vendas por Artigos...

Gestão Documental. Gestão Documental

Portal de Sistemas Integrados. Manual do Usuário. Versão: 1.0

GUIA PARA O PREENCHIMENTO DOS FORMULÁRIOS ENTIDADE GESTORA SOCIEDADE PONTO VERDE

Disponibilizada a rotina Vale Presente (LOJA830) no módulo Controle de Lojas (SIGALOJA), assim como já é utilizada no módulo Front Loja (SIGAFRT).

Cadeira de Tecnologias de Informação. Ano lectivo 2009/2010. Sites dinâmicos. Com Expression Web TI2009/10 EWD_1. Filipa Pires da Silva (2009)

UTILIZAÇÃO DE RECURSOS AVANÇADOS DO EXCEL EM FINANÇAS (PARTE III): GERENCIAMENTO DE CENÁRIOS

Parametrização do Banco de Dados PROGRESS Base de Dados Origem

Manual do Fénix. Gestão da ficha de unidade curricular (Portal de coordenador de ECTS) DSI (Versão 1.0)

1. Introdução Principais pontos de impacto da certificação Entrada na Aplicação Aplicação Não certificada...

Módulo Odontologia. Sumário. Odontologia

LOGO DO WEBSITE DA FUTURA APP

PLANIFICAÇÃO INTRODUÇÃO ÀS TECNOLOGIAS DE INFORMAÇÃO BLOCO I

Reconhecer alguns dos objectos VBA Automatizar bases de dados recorrendo à programação VBA e scripts SQL

manual: o envio de documentos passo a passo ano lectivo

Gerenciador de Ambiente Laboratorial - GAL Manual do Usuário Módulo Controle de Qualidade Analítico

FastCube 2.0 Programmer Manual

,QVWDODomR. Dê um duplo clique para abrir o Meu Computador. Dê um duplo clique para abrir o Painel de Controle. Para Adicionar ou Remover programas

Manual SAGe Versão 1.2

PAGAMENTO DE IMPOSTOS

Base de Dados Nacional. dos Elevadores. Manual do Utilizador do Portal Empresa de Manutenção de Elevadores

MacWin Sistemas Informáticos SA

Declaração de Serviços Tomados

PROCEDIMENTO INSTALAÇÃO SINAI ALUGUEL

CRIAÇÃO DE TABELAS NO ACCESS. Criação de Tabelas no Access

ESCOLA SECUNDÁRIA DE SÁ DA BANDEIRA SANTARÉM

epucc.com.br SAIBA COMO INCLUIR INFORMAÇÕES DE COLABORADORES, CENTROS DE CUSTO E RATEIO DE DESPESAS

Curso de Inverno - CECID

Capítulo 1. Importação de Dados de Instituições Financeiras - Arquivo TXT 3

Sistema de Recuperação da Senha nos Sistemas Informáticos da FEUP

<NOME>ABIAS FRANCISCO DE SOUZA</NOME> <CNPJCPF> </CNPJCPF> <NMATRICULA>101264</NMATRICULA>

Caso tenha alguma dificuldade nesta etapa, procure um técnico de informática para auxiliá-lo.

Anexação de tabelas, inserção de pontos, geração de polígonos e cálculo de áreas em ArcView

EGEA ESAPL - IPVC. Resolução de Problemas de Programação Linear, com recurso ao Excel

ACESSO HABITAÇÃO MUNICIPAL Candidatura online Manual do Utilizador

TUTORIAL MATLAB Victor Breder 2016

Manual Instalação Web Services Client Web.NewHotel

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

FORMAÇÃO WORDPRESS. Desenvolvimento de sites com a plataforma Wordpress. Abel Soares abelbarbosasoares@gmail.com

A uma plataforma online de gestão de condomínios permite gerir de forma fácil e simples a atividade do seu condomínio.

Software PHC com MapPoint 2007

Apontamento técnico No. 5, Fevereiro de 2014 Como pedir apoio através do Ajuda Online do CAICC

MicroWork TOUCH CHECKLIST

UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO UNIVASF SECRETARIA DE TECNOLOGIA DA INFORMAÇÃO STI DEPARTAMENTO DE SISTEMAS DE INFORMAÇÕES

Administração Portal Controle Público

REITORA Ulrika Arns. VICE-REITOR Almir Barros da Silva Santos Neto. DIRETOR DO NTIC Leonardo Bidese de Pinho

Informática de Gestão 1º ano / 1º semestre Ano letivo: 2014/2015. Visual Basic VBA

Manual do Usuário. VpetConverter Ferramenta para adequação de documentos para Petições Eletrônicas.

Como aplicar permissões aos utilizadores?

Tutorial 1 - Básico do VBA do Excel

Quick Installation Guide. Central Management Software

SISTEMA CAÇA-TALENTOS MANUAL DE OPERAÇÃO PERFIL SECRETARIA

MOTOR DE BUSCA USANDO FLASH+ASP

MANUAL DO INSTALADOR XD EM AMBIENTES MICROSOFT WINDOWS

HEMOVIDA (CICLO DO SANGUE - Gerenciamento de estoque para grandes eventos)

Guião do Trabalho Laboratorial Nº 1 Criação do Modelo do Mundo no ABB RobotStudio

Linux Caixa Mágica. Documentos Técnicos CM. Manual de Configuração de Ligação à Internet por placas 3G 00904/

O Manual do Skanlite. Kåre Särs Anne-Marie Mahfouf Tradução: José Pires

1. IDENTIFICAÇÃO FUNDAÇÃO FIAT SAÚDE E BEM ESTAR

AJUDA PREENCHIMENTO DA FICHA DE REGISTO DE FERTILIZAÇÃO

LIBERAÇÃO DE ATUALIZAÇÃO CORDILHEIRA

4 Criação de macros e introdução à linguagem VBA

Certificado Servidor Web Importação por Microsoft IIS

Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009

A1;A7 é o mesmo que A1 e A7 A1:A7 é o mesmo que A1 até A7 (abrange A1, A2, A3, A4, A5, A6, A7).

Manual do Utilizador. Exemplo de Preenchimento

Sistema NetConta I - Guia de Referência Rápida

Inclusão de Validação Biométrica

MANUAL DO USUÁRIO. Figura 1: Tela de Apresentação do FaçaCalc.

Como Registrar - SIGProj

Os passos a seguir servirão de guia para utilização da funcionalidade Acordo Financeiro do TOTVS Gestão Financeira.

Criação de uma aplicação Web ASP.NET MVC 4

TUTORIAL DO INSTITUCIONAL

Classificação de Ativo Orçamento e Provisão de Despesa

Instruções básicas para a análise de um pórtico 2D com o programa ROBOT Estruturas de Betão 2

Soluções Inovadoras. FlyFlex. Fly Solution

Colocar em prática. Colocar em prática. Tópicos para aprender

Documento Geral Explicativo. GS1 Portugal

RAIS RELAÇÃO ANUAL DE INFORMAÇÕES SOCIAIS

Rentabilize a sua assistência pós-venda e, em simultâneo, surpreenda os seus clientes com o seu profissionalismo

Transcrição:

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 o Excel?...4 COMO CONSTRUIR O EXCEL DE IMPORTAÇÃO DE PENDENTES?... 6 Identificação da informação a importar...6 Criação do projecto VBA...7 PRIMAVERA Business Software Solutions ERP 7.00 Exemplo de Extensibilidade

Introdução Todos os pendentes de clientes e fornecedores são gerados a partir da criação dos diversos documentos de vendas e compras. No entanto podem existir situações em que os pendentes de clientes tenham que ser introduzidos manualmente (por exemplo, na instalação da aplicação para introdução dos pendentes já existentes). Neste caso, podemos através da opção Novos Documentos disponível no módulo de Tesouraria efectuar a introdução manual dos diversos pendentes existentes para cada uma das entidades. Tratando-se de uma lista considerável de pendentes este procedimento pode ser muito moroso. Assim, este documento apresenta na perspectiva dos Parceiros PRIMAVERA um exemplo concreto para a criação de uma ferramenta de Extensibilidade que visa a importação em Lote de Pendentes. PRIMAVERA Business Software Solutions ERP 7.00 Exemplo de Extensibilidade

Excel de importação de Pendentes A implementação deste exemplo VBA pretende, por um lado mostrar a facilidade de utilização do VBA e por outro sublinhar as vantagens advindas do seu uso. O exemplo apresenta uma sugestão para a construção de um ficheiro.xls que permita a importação em lote de pendentes. Enquadramento A introdução, no ERP, de pendentes já existentes, pode tornar-se uma tarefa morosa, na medida em para cada um dos pendentes teria de ser preenchida a ficha de um Novo Documento, Tesouraria Pagamentos e Recebimentos Novos Documentos: A automatização desta tarefa passaria pela possibilidade de, com um simples clique num botão, importar todos os pendentes de uma só vez, como ilustra a imagem em baixo: PRIMAVERA Business Software Solutions ERP 7.00 Exemplo de Extensibilidade 3

Como utilizar o Excel? Na primeira folha o utilizador deve colocar a partir da linha 8 os pendentes que pretende importar; Nem todas as colunas necessitam ser preenchidas, pelo que as validações que são feitas são as mesmas que as da janela de introdução manual de pendentes; As colunas enumeradas a seguir não precisam ser preenchidas sendo preenchidas internamente pelo motor: Data Vencimento; Moeda; Câmbio; Data Introdução. Só são consideradas as seguintes entidades: Clientes (C), Fornecedores (F) e Outros Terceiros (O). O preenchimento de outras entidades despoleta uma mensagem a informar que a "Entidade é inexistente"; Por omissão, o valor total do pendente é igual ao valor do pendente, na medida em que não há maneira de justificar uma possível diferença. Ou seja, não há histórico sobre essa informação; O não preenchimento da taxa de IVA implica a consideração da taxa de Iva igual a zero; O valor do total do iva é calculado da seguinte forma: Valor Pendente (Valor Pendente / (Taxa IVA / 100 + 1)) O valor de incidência é calculado automaticamente pelo motor; Depois dos dados estarem todos introduzidos é necessário fazer Login, que é o mesmo que dizer que é necessário preencher respectivamente as células, C3, C4 e C5 com o nome da empresa, nome do utilizador e password do mesmo. Se não estiver definido nenhum utilizador ou password as respectivas células não precisam ser preenchidas; Para gerar os pendentes basta clicar no botão IMPORTAR. A importação tem o mesmo comportamento do botão gravar da janela de introdução manual de pendentes; Para validar a importação dos registos, aceder a 'Dentro de Ficheiros' e executar a seguinte script: SELECT * FROM Pendentes; A coluna S apresenta as mensagens com a indicação se a importação do Pendente foi, ou não bem sucedida. No caso de se tentar importar uma segunda vez e esta coluna estiver preenchida com "OK", então passa para o registo seguinte. PRIMAVERA Business Software Solutions ERP 7.00 Exemplo de Extensibilidade 4

PRIMAVERA Business Software Solutions ERP 7.00 Exemplo de Extensibilidade 5

Como construir o Excel de importação de pendentes? Identificação da informação a importar O primeiro passo para a construção do ficheiro é filtrar, a partir do layout do ecran de lançamento manual de pendentes do ERP, em Tesouraria Pagamentos e Recebimentos Novos Documentos, os campos necessários para gerar um pendente. Numa rápida observação, facilmente se verifica a necessidade de preenchimento dos seguintes campos: Tipo de Entidade; Entidade; Documento; Série; Nº Documento; Nº Doc.Interno; Data Doc.; Data Venc.; Data Introdução; Moeda; Câmbio; PRIMAVERA Business Software Solutions ERP 7.00 Exemplo de Extensibilidade 6

Vendedor; Conta Banc.; Cond. Pag.; C. Domiciliação; Modo Pag.; Valor Pendente. Identificados os campos é basta preencher um xls com essa informação, para que cada uma das linhas represente um pendente: Criação do projecto VBA O passo seguinte é criar um projecto VBA para gravar na tabela Pendentes os registos listados no ficheiro. Ou seja, criar um botão que, quando seleccionado permita gravar na base de dados os pendentes. Para criar o projecto VBA executar os seguintes passos: 1. Costumizar a barra de ferramentas do ficheiro xls criado anteriormente, adicionando a barra 'Visual Basic', Tools Costumize... Toolbars seleccionar a opção 'Visual Basic': PRIMAVERA Business Software Solutions ERP 7.00 Exemplo de Extensibilidade 7

Barra de ferramentas Visual Basic Design Mode Control Toolbox 2. Nessa barra de ferramentas seleccionar: a. O botão Design Mode; b. O botão Control Toolbox, que permite mostrar a barra de controlos que poderão ser utilizados: Command Button Control Toolbox 3. Seleccionar o botão e desenhar na folha; 4. Seleccionar, com o botão do lado direito do rato, o botão desenhado e aceder à opção 'Properties'; 5. Definir as propriedades do botão, por exemplo atribuir uma descrição sugestiva: 'IMPORTAR'. Fechar a janela: PRIMAVERA Business Software Solutions ERP 7.00 Exemplo de Extensibilidade 8

6. Clicar duas vezes sobre o botão e verificar que é aberto o editor do Visual Basic'; 7. A janela que é aberta por omissão nesse editor é a do controlo seleccionado com a sugestão de implementação do evento Click do mesmo. Editar o evento com o seguinte código: Private Sub cmdimporta_click() On Error GoTo ERRO ImportaPendentes Exit Sub ERRO: MsgBox Err.Description, vberror + vbokonly, "cmdimporta_click" End Sub 8. Aceder ao menu Tools References e seleccionar as seguintes referências: 9. Clicar com o botão do lado direito no painel esquerdo do editor e seleccionar a opção 'Insert Module': PRIMAVERA Business Software Solutions ERP 7.00 Exemplo de Extensibilidade 9

10. Neste editor definir o método ImportaPendentes. Apresenta-se de seguida o código que permite implementar a funcionalidade descrita. 'Definição de constantes para cada uma das colunas preenchidas Const COLUNA_TIPOENTIDADE As String = "A" Const COLUNA_ENTIDADE As String = "B" Const COLUNA_DOCUMENTO As String = "C" Const COLUNA_SERIE As String = "D" Const COLUNA_NUMDOC As String = "E" Const COLUNA_NUMDOCINT As String = "F" Const COLUNA_DATADOC As String = "G" Const COLUNA_DATAVENC As String = "H" Const COLUNA_DATAINTRO As String = "I" Const COLUNA_MOEDA As String = "J" Const COLUNA_CAMBIO As String = "K" Const COLUNA_VENDEDOR As String = "L" Const COLUNA_CONTABANC As String = "M" Const COLUNA_CONDPAG As String = "N" Const COLUNA_CONTADOM As String = "O" Const COLUNA_MODOPAG As String = "P" Const COLUNA_IVA As String = "Q" Const COLUNA_VALORPEND As String = "R" 'Definição da constante para a linha do primeiro registo Const LINHA_INICIAL As Long = 8 'Definição de outras variáveis Private Entidade As Boolean Private m_objerpbso As ErpBS Sub ImportaPendentes() Dim Iniciou Dim Linha Dim Pendente Dim blnerro As Boolean As Long As GcpBEPendente As Boolean On Error GoTo ERRO Iniciou = False blnerro = False 'Abre Motor Set m_objerpbso = New ErpBS PRIMAVERA Business Software Solutions ERP 7.00 Exemplo de Extensibilidade 10

m_objerpbso.abreempresatrabalho 0, Range("C" & 3), Range("C" & 4), Range("C" & 5) 'Grava o conteudo da linha. Linha = LINHA_INICIAL 'Validação para obrigar a que o primeiro registo seja preenchido na 'linha correcta, neste caso a linha 8. If Range("A" & CStr(Linha)) = "" And Linha = 8 Then MsgBox "A informação deve ser preenchida a partir da linha 8 da sheet1", vbinformation Exit Sub Iniciou = True 'Ciclo que percorre todas as células da coluna A que não estejam vazias, 'a partir da linha inicial, que neste caso é a 8. While Range("A" & CStr(Linha)) <> "" 'Se a respectiva linha da coluna S estiver preenchida com 'a string "OK", então é porque o registo já foi importado. 'Pelo que passa para o registo seguinte. If Range( S & CStr(Linha)) <> "OK" Then 'Preenche o objecto Set Pendente = PreenchePendente(Linha) 'Grava o pendente na base de dados. On Error GoTo ERRO If Not Pendente Is Nothing Then m_objerpbso.comercial.pendentes.actualiza Pendente 'Se a actualização for realizada com sucesso então a respectiva 'linha da coluna S é preenchida com a string "OK". 'O preenchimento desta coluna permite evitar que se tente importar 'mais do que uma vez o mesmo registo. If Not blnerro Then Sheets("Sheet1").Cells(CInt(Linha), S ) = "OK" Linha = Linha + 1 blnerro = False Wend MsgBox "Gravação Concluida com Sucesso.", vbinformation 'Fecha Motor m_objerpbso.fechaempresatrabalho Set m_objerpbso = Nothing inicou = False Exit Sub ERRO: blnerro = True Set Pendente = Nothing Application.Cursor = xldefault 'Se a actualização não foi executada com sucesso preenche-se a respectiva 'linha da coluna S com os erros. Sheets("Sheet1").Cells(CInt(Linha), S ) = Err.Description Err.Clear 'Se o erro foi despoletado dentro do ciclo então passa-se para o registo seguinte. If Iniciou Then Resume Next End Sub Private Function PreenchePendente(numlinha As Long) As GcpBEPendente On Error GoTo ERRO Dim objpendente As GcpBEPendente Set objpendente = New GcpBEPendente With objpendente ' Entidades.TipoEntidade = Range(COLUNA_TIPOENTIDADE & CStr(numlinha)).Entidade = Range(COLUNA_ENTIDADE & CStr(numlinha)) PRIMAVERA Business Software Solutions ERP 7.00 Exemplo de Extensibilidade 11

YYYY") Select Case.TipoEntidade Case "C" Entidade = m_objerpbso.comercial.clientes.existe(.entidade) Case "F" Entidade = m_objerpbso.comercial.fornecedores.existe(.entidade) Case "O" Entidade = m_objerpbso.comercial.clientes.existe(.entidade) Case Else Entidade = False End Select If Not Entidade Then Sheets("Sheet1").Cells(CInt(numlinha), S ) = "Entidade não existe." Exit Function 'Outros dados documento.tipodoc = Range(COLUNA_DOCUMENTO & CStr(numlinha)).NumDoc = Range(COLUNA_NUMDOC & CStr(numlinha)).Serie = Range(COLUNA_SERIE & CStr(numlinha)).NumDoc = Range(COLUNA_NUMDOC & CStr(numlinha)).NumDocInt = Range(COLUNA_NUMDOCINT & CStr(numlinha)) If Not CDate(Range(COLUNA_DATADOC & CStr(numlinha))) = CDate("0:00:00") Then.DataDoc = Format(CDate(Range(COLUNA_DATADOC & CStr(numlinha))), "DD-MM- If Not CDate(Range(COLUNA_DATAVENC & CStr(numlinha))) = CDate("0:00:00") Then.DataVenc = Format(CDate(Range(COLUNA_DATAVENC & CStr(numlinha))), "DD-MM- YYYY") If Not CDate(Range(COLUNA_DATAINTRO & CStr(numlinha))) = CDate("0:00:00") Then.DataIntroducao = Format(CDate(Range(COLUNA_DATAINTRO & CStr(numlinha))), "DD-MM-YYYY") Else.DataIntroducao = Date If Len(.Moeda) > 0 Then.Moeda = Range(COLUNA_MOEDA & CStr(numlinha)).Cambio = Range(COLUNA_CAMBIO & CStr(numlinha)).Vendedor = Range(COLUNA_VENDEDOR & CStr(numlinha)).ContaBancaria = Range(COLUNA_CONTABANC & CStr(numlinha)).CondPag = Range(COLUNA_CONDPAG & CStr(numlinha)).ContaDomiciliacao = Range(COLUNA_CONTADOM & CStr(numlinha)).ModoPag = Range(COLUNA_MODOPAG & CStr(numlinha)).ValorTotal = CDbl(Range(COLUNA_VALORPEND & CStr(numlinha))).ValorPendente = CDbl(Range(COLUNA_VALORPEND & CStr(numlinha))).CodIva = m_objerpbso.comercial.iva.daiva(csng(range(coluna_iva & CStr(numlinha)))) If Not m_objerpbso.comercial.iva.existe(.codiva) Then Sheets("Sheet1").Cells(CInt(numlinha), "S") = "O código do IVA não existe!" GoTo ERRO.TotalIva = CDbl(.ValorPendente) - (CDbl(.ValorPendente) / CDbl((Range(COLUNA_IVA & CStr(numlinha)) / 100) + 1)).EmModoEdicao = False m_objerpbso.comercial.pendentes.preenchedadosrelacionados objpendente End With Set PreenchePendente = objpendente Exit Function ERRO: Set objpendente = Nothing Sheets("Sheet1").Cells(CInt(numlinha), S ) = Err.Description End Function PRIMAVERA Business Software Solutions ERP 7.00 Exemplo de Extensibilidade 12