♥ 0 | Numa máquina em particular, com Primavera V10, ao invocar o método EditaId do módulo de Compras obtemos o seguinte erro: Object reference not set to an instance of an object. (System.NullReferenceException) Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object. at StdPlatBS100.StdBSCategorias.DaCategoriasAuditApl(String strAbvtApl, Boolean blnCarregaErp, clsCategorias& objRelEntidades) at StdPlatBS100.StdBSCategorias.DaCategoriasAuditApl(String strAbvtApl) at StdPlatBS100.StdBSCategorias.DaCategoriasAudit() at StdPlatBS100.StdBSCategorias.InicializaCom_objBSO() at StdPlatBS100.StdBSCategorias.set_BSO(StdPlatBS value) at StdPlatBS100.StdPlatBS.get_Categorias() at CmpBS100.CmpBSCompras.CalculaValoresTotais(CmpBEDocumentoCompra clsDocCompra, Boolean ValidaOrcamental) at CmpBS100.CmpBSCompras.CalculaValoresTotais(CmpBEDocumentoCompra clsDocCompra) at CmpBS100.CmpBSCompras.CalculaTotaisDocumento(CmpBEDocumentoCompra DocCompra) at CmpBS100.CmpBSCompras.EditaID(String Id) at Teste.Program.Test1.RunTest() in C:\Users\admin\source\repos\Teste\Test1.cs:line 105 at Teste.Program.Main(String[] args) in C:\Users\admin\source\repos\Teste\Program.cs:line 14
Foi criada uma app só para testar o método EditaId, que recebe um ID introduzido manualmente e que existe na tabela CabecCompras: public static void RunTest() { // ligar ao Primavera PriEngine.CreatContext(ConfigurationManager.AppSettings["databaseName"], ConfigurationManager.AppSettings["username"], ConfigurationManager.AppSettings["password"], (EnumTipoPlataforma)Convert.ToInt32(ConfigurationManager.AppSettings["platformType"]), "Default"); if (PriEngine.EngineStatus) { Console.WriteLine("Company: " + PriEngine.Platform.Contexto.Empresa.CodEmp + " | "); Console.WriteLine("Company Name: " + PriEngine.Platform.Contexto.Empresa.IDNome + " | "); Console.WriteLine("Currency: " + PriEngine.Platform.Contexto.Empresa.MoedaBase); string context = ""; try { context = "perguntar ID"; Console.WriteLine("Digite o ID da compra a carregar"); var input = Console.ReadLine(); CmpBE100.CmpBEDocumentoCompra _documento = PriEngine.Engine.Compras.Documentos.EditaID(input); Console.WriteLine("Carregado com sucesso:"); Console.WriteLine($"- Documento {_documento.Tipodoc} {_documento.Serie}/{_documento.NumDoc}"); Console.WriteLine($"- Entidade ({_documento.TipoEntidade}) {_documento.Entidade} - {_documento.Nome}"); } catch (Exception ex) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine($"** Erro ao {context} **"); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine($"{ex.Message} ({ex.GetType()})"); if (ex.InnerException != null) Console.WriteLine($"InnerException:\r\n {ex.InnerException.Message} ({ex.InnerException.GetType()})"); throw; } } else { Console.WriteLine("Cannot access Primavera. Check your configuration."); } } A versão instalada é: Produto: 10.0010.4267, Plataforma: 10.0010.4292, Database Manager: 10.1110.4319 Marked as spam |
Comments Foram testados os métodos EditaID dos módulos de Vendas e Internos e é devolvido o mesmo erro a partir do "at StdPlatBS100.StdPlatBS.get_Categorias()" no "stack". |
1 answers
Private answer Foi encontrado o motivo erro, uma extensibilidade registada de uma terceira parte. Marked as spam |