| ♥ 0 | Estou a receber a seguinte mensagem de erro ao fazer a integração de documentos de compra: “Occoreu um erro Tempo Limite de Execução Expirado. O período de tempo de espera decorreu antes da conclusão da operação ou o servidor não está a responder.\r\nThe statement has been terminated.” A fazer o debug, notei que este erro ocorre no metódo BSO.Compras.Documentos.Actualiza(documento) a execução demora muito tempo nesta linha, mais de 2 minutos. Abaixo está o meu código em c#
public string Post(DocumentoDeCompras documentoDeCompras)
{
var BSO = AssemblyResolveve.AbrirEmpresaERPV10();
try
{
CmpBEDocumentoCompra documento = new CmpBEDocumentoCompra();
documento.Tipodoc = documentoDeCompras.Tipodoc;
documento.TipoEntidade = documentoDeCompras.TipoEntidade;
documento.Moeda = documentoDeCompras.Moeda;
documento.Entidade = documentoDeCompras.Entidade;
BSO.Compras.Documentos.PreencheDadosRelacionados(documento);
documento.NumDocExterno = documentoDeCompras.NumDocExterno;
documento.DataDoc = DateTime.Now;
documento.Serie = BSO.Base.Series.DaSerieDefeito("C", documento.Tipodoc, documento.DataDoc);
documento.CamposUtil["CDU_Processo"].Valor = documentoDeCompras.CDU_Processo;
foreach (var linhaDocumento in documentoDeCompras.Linhas)
{
double Quantidade = linhaDocumento.Quantidade;
string Armazem = "A";
BSO.Compras.Documentos.AdicionaLinha(documento, linhaDocumento.Artigo, ref Quantidade, ref Armazem, ref Armazem, linhaDocumento.Preco, 0);
}
if (documento.Linhas.NumItens > 0)
{
BSO.Compras.Documentos.CalculaValoresTotais(documento);
BSO.Compras.Documentos.Actualiza(documento);
}
BSO.FechaEmpresaTrabalho();
return "Documento criado...";
}
catch (Exception e)
{
BSO.FechaEmpresaTrabalho();
return "Occoreu um erro " + e.Message;
}
}
Marcado como spam |
Comentários @valdanio estive a olhar ao teu código e re-escrevi aqui numa rotina e gravou sem problema. Não existe nada ai que esteja a bloquer a transação o que leva a essa demora? Obrigado pela iniciativa @sereno ! Tive de instalar novas actuliazações do RP e aumentar o tempo execução e só assim funcionou. @valdanio aumetar o tempo de timeout do SQL? Isso não bate, a menos que o documento seja enorme.. |
Como resolver o erro de timeOut ao fazer integração de documento de compra via motor?
96 visualizações