Fórum
Ver pergunta

Motores da V10 com Excel   

121 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á 4 anos e 8 meses antniopinho
a
antniopinho 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á 4 anos e 8 meses primaverabss
p
primaverabss Iniciante
    Comentários
    Olá, Qual o sitio onde colocar este assembly resolver no vba do Excel?
    4 anos e 8 meses
    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.
      4 anos e 8 meses
      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
        4 anos e 8 meses
        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
          4 anos e 8 meses
          danielvieira-1