| ♥ 0 | Usando a API da versao 9.x, quando chamamos o método Edita, o código demora cerca de 1 minuto a passar para a linha seguinte O cenário é tão simples quanto, corremos esta linha GcpBECliente customerUpdate = PriEngine.Engine.Comercial.Clientes.Edita(account.IDERP); E ele demora cerca de um minuto a passar para a linha de código seguinte. No anexo é possível ver parte do log do profiler.
Marcado como spam |
| Resposta privada Vitor a questão é porque é que quer fazer edita de um objeto tão pesado como o documento de venda? Tem essa necessidade, isto é vai atualizar todo o objeto? quer mostrar todas as propriedades em algum interface? Se não, recomendo como boa pratica de acesso a dados a utilização do DaValorAtributos(), pois o Edita() é em termos de base dados é um SELECT * FROM CabcDoc INNER JOIN LinhasDoc com todo o peso que isso tem, em contrapartida o outro é um SELECT <atributos> FROM. Por fim e só para saber, isso é com que tipo de base dados? Demo ou Cliente? Marcado como spam Comentários Obrigado pela resposta Sergio,
Isto faz parte de um processo de integração em que acedemos a um outro sistema e vamos buscar dados que queremos copiar para o primavera.
Num dos casos a nivel do Cliente, no outro a nivel de Documentos.
Ou seja, admito que o DaValorAtributos() possa ser mais rapido a obter os dados, mas o que nós pretendemos é atualizar campos e é nesse processo que demora bastante tempo. (estamos a usar uma base de dados de cliente) |
