Fórum
Ver pergunta

Primavera.Extensibility.Integration.ProductContext.PSO.get NullReferenceException   

62 visualizações
0
0

Boa tarde,

Estou com uma situação em que qualquer uso do PSO dentro de uma class CustomCode retorna o erro

System.NullReferenceException
HResult=0x80004003
Message=A referência de objecto não foi definida como uma instância de um objecto.
Source=Primavera.UWU.GO.Editores

 

Exemplo

using Primavera.Extensibility.CustomCode;

namespace xxx
{

public class PainelBrowser : CustomCode
    {

        public void AbrePainelBrowser(string strNome, string strURL)
        {
              var objBrowser = PSO.BrowserManager.AbreBrowserInstancia(strNome, StdBSBrowserManager.ModoJanela.Hidden, strURL);
        }
}

}

Pelo que puder perceber o simples facto de herdar da classe CustomCode deveria automaticamente instanciar o acesso à Plataforma (PSO) mas não parece ser o caso?

Faça login para poder traduzir
V10
Marcado como spam
Criado há 3 anos e 7 meses jonatas
j
jonatas Iniciante
Comentários
E onde está a ser excutada a tua extensão? Tens resolver para isso?
3 anos e 7 meses
sergiosereno
    2 respostas
    0
    Resposta privada

    Já existe solução para isto? encontro-me na mesma situação

    Faça login para poder traduzir
    Marcado como spam
    Criado há 3 anos e 6 meses miguelfernandes
      Comentários
      Até ver sem resposta...
      3 anos e 6 meses
      jonatas
        0
        Resposta privada

        É um código muito simples que corre dentro do ERP no evento DepoisDeEditar.

        Código simplificado:

         

        namespace Primavera.UWU.GO.Editores.Accounting
        {
            public class UiEditorMovimentos : EditorMovimentos
            {
                public PainelBrowser painelBrowser = new PainelBrowser();
        
        
                public override void DepoisDeEditar(ExtensibilityEventArgs e)
                {
                        if(xxx)
                        {
                            painelBrowser.AbrePainelBrowser(xxx,yyy);
                        }
                        else
                        {
                            painelBrowser.FechaPainelBrowser(yyy);
                        }
        	}
                ....
             }
        }
        
        ....
        
        namespace Primavera.UWU.GO.Editores
        {
            public class PainelBrowser : CustomCode
            {
        
                public void AbrePainelBrowser(string strNome, string strURL)
                {
                    
                    var objBrowser = PSO.BrowserManager.AbreBrowserInstancia(strNome, StdBSBrowserManager.ModoJanela.Hidden, strURL);
        
                    ...
                }
            }
        }

        O AbrePainelBrowser foi criado como uma função visto vir a ser chamado por vários eventos do ERP.

        Faça login para poder traduzir
        Marcado como spam
        Criado há 3 anos e 7 meses jonatas
        j
        jonatas Iniciante