Fórum
Ver pergunta

Motores da V10 com Excel   

133 visualizações
0
0

É suposto ser possível usarmos os motores da V10 vba do Excel?
Estive a fazer alguns testes e parece que algumas operações são possíveis outras não. Por exemplo, consigo criar artigos mas não editar (dá o erro unable to find assembly BasBE)

Faça login para poder traduzir
Integração
V10
Marcado como spam
Criado há 7 anos e 1 semana antniopinho
a
antniopinho António Pinho Iniciante
1 respostas
0
Resposta privada

Olá, provavelmente não estás a fazer o assembly resolver para a pasta onde se encontram as assemblies do ERP, pasta ProgramFilesSG100Apl. Vê neste artigo como o fazer: https://developers.ila.cegid.com/?s=assembly&post=4734

Faça login para poder traduzir
Marcado como spam
Criado há 7 anos e 5 dias primaverabss
p
primaverabss PRIMAVERA Developers Iniciante
    Comentários
    Olá, Qual o sitio onde colocar este assembly resolver no vba do Excel?
    7 anos e 5 dias
    antniopinho
      Se calhar é melhor mostrares o código para eu ver como estás a fazer. Provavelmente, no excel, deves estar a instanciar uma assembly em .net que, por sua vez, instancia a API do ERP abrindo a plataforma e a empresa. É nesse projeto que deves fazer o assemby resolver. Não esquecer que essa dll deve estar na mesma versão da framework que o ERP, 4.7.1.
      7 anos e 4 dias
      danielvieira-1
        Aqui vai. Public Sub teste() Dim MotorERP As Object, artigo As Object Set MotorERP = CreateObject(”ErpBS100.ErpBS”) MotorERP.AbreEmpresaTrabalho 0, ”DEMO”, ”utilizador”, ”palavrapasse” MsgBox MotorERP.Contexto.CodEmp If MotorERP.Base.Artigos.Existe(”A0001”) Then ’este código dá erro ’Unable to find assembly ’BasBE100, Version=10.0.0.0, Culture=neutral, PublicKeyToken=11cd844aca152173’. Set artigo = MotorERP.Base.Artigos.Edita(”A0001”) Else ’este código funciona Set artigo = CreateObject(”BasBE100.BasBEArtigo”) ’… ’MotorERP.Base.Artigos.Actualiza artigo End If MotorERP.FechaEmpresaTrabalho End Sub
        7 anos e 4 dias
        antniopinho
          A V10 está totalmente em .NET, não existem mais os objetos COM que existiam na V9. As assemblies do ERP devem ser referenciadas num projeto em .NET igualmente. O que deves fazer é criar um projeto em .NET com visibilidade COM, para que o possas instanciar no VBA do excel. Neste projeto adicionas as referências para as assemblies do ERP e a partir daí já vais conseguir trabalhar com a API. A framework deve ser a a 4.7.1. Podes ver exemplos de projetos que fazem integração no ERP neste reposítório: https://github.com/PrimaverabssDeveloper/ERP10Integration
          7 anos e 3 dias
          danielvieira-1