| ♥ 0 | Tenho um projecto ASP.NET Web API que integro com o Primavera 10. Segui um dos exemplos do GitHub Um dos endpoints da minha API permite ao utilizador fazer o download das faturas no formato PDF. Tudo funciona correctamente até outro utilizador fazer um pedido antes do primeiro terminar. Ou seja, quando um utilizador faz o download do PDF, o motor vai gerar o PDF e esse processo demora alguns segundos. Se nesse intervalo de tempo outro utilizador também fizer o mesmo pedido para gerar PDF, ambos os pedidos dão erro. A resposta destes pedidos tem a propriedade Status = “ERROR”, o que quer dizer que a função O código que estou a utilizar: [HttpPost]
[ActionName("pdf")]
public PdfResponse Pdf(PdfArgs args)
{
PdfResponse response = new PdfResponse();
response.Status = "OK";
StdPlatBS Plataforma = new StdPlatBS();
ErpBS Motor = new ErpBS();
try
{
EnumTipoPlataforma tipoPlat = EnumTipoPlataforma.tpProfissional;
StdBSConfApl objAplConf = new StdBSConfApl();
objAplConf.Instancia = "Default";
objAplConf.AbvtApl = "ERP";
objAplConf.PwdUtilizador = password;
objAplConf.Utilizador = username;
objAplConf.LicVersaoMinima = "10.00";
StdBETransaccao objStdTransac = new StdBETransaccao();
Plataforma.AbrePlataformaEmpresa(empresa, objStdTransac, objAplConf, tipoPlat);
if (Plataforma.Inicializada)
{
Motor.AbreEmpresaTrabalho(tipoPlat, empresa, username, password, objStdTransac, "DEFAULT");
int numDoc = int.Parse(args.Documento.NumDoc);
string filename = string.Format("{0}_{1}_{2}.pdf", args.Documento.Serie, args.Documento.TipoDoc, args.Documento.NumDoc);
string destinoPdf = string.Format("C:\\DOCS\\{0}", filename);
bool printed = Motor.Vendas.Documentos.ImprimeDocumento(args.Documento.TipoDoc, args.Documento.Serie, numDoc, filial, DestinoPDF: destinoPdf);
if (!printed)
{
response.Status = "ERROR";
}
response.Message = destinoPdf;
}
}
catch (Exception ex)
{
response.Status = "NOK";
response.Message = ex.Message.ToString();
response.Trace = ex.StackTrace.ToString();
}
finally
{
Motor?.FechaEmpresaTrabalho();
Plataforma?.FechaPlataformaEmpresa();
}
return response;
}Marcado como spam |
Comentários @pedro-loureiro Viste este exemplo https://github.com/PrimaverabssDeveloper/Community? |
Gerar 2 PDF’s de documentos em simultâneo através dos Motores – V10
134 visualizações