Fórum
Ver pergunta

Webservice – ImprimeListagem erro de impressão   

103 visualizações
0
0

 

Boa tarde,

Estou a tentar imprimir um mapa a partir de um webservice e está a dar-me a seguinte mensagem:

Erro na impressão. Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.

Código usado:

instance.Platform.Mapas.Inicializar("GCP");

               instance.Platform.Mapas.AddFormula("Empresa", $"'{instance.Engine.Contexto.CodEmp}'");

               strSelFormula = "{cabeccompras.NumDoc}=" + ca.Numero +
                   " And {cabeccompras.TipoDoc}=\"" + ca.TipoDoc + "\" and {cabeccompras.Serie}=\"" +
                   ca.Serie + "\"";

               string filename = Path.GetTempPath() + DateTime.Now.ToString("yyyyMMdd_hhmmss") + ".pdf";
               instance.Platform.Mapas.Destino = StdBSTipos.CRPEExportDestino.edFicheiro;
               instance.Platform.Mapas.SetFileProp(StdBSTipos.CRPEExportFormat.efPdf, filename);

               instance.Platform.Mapas.ImprimeListagem(ca.MapaImpressao, "Documento", "P", 1, "N", strSelFormula,
                             StdBSTipos.CRPESentidoOrdenacao.soDescendente, false, bMapaSistema: ca.MapaNovoImpressao);

 

Este código já esteve a funcionar na v10.10 mas agora com a última versão começou a dar este erro.

Obrigado,

 

Faça login para poder traduzir
V10
Mapas e Relatórios
Marcado como spam
Criado há 1 ano e 4 meses joomota
j
joomota Iniciante
1 respostas
0
Resposta privada

O método ImprimeListagem está a tentar mostrar um erro numa janela Windows Forms num tipo de aplicação que não suporta Windows Forms.
Pelos problemas que tive, o erro pode passar por não estar a conseguir encontrar o modelo do mapa que se está a imprimir ou porque o IIS não tem permissões de escrita na pasta de destino do ficheiro a gerar ou ainda porque a pasta de destino não existe.
Penso que a Primavera poderia melhorar este método de forma a não apresentar janelas de mensagens mas sim devolver um erro que pudesse ser tratado.

Faça login para poder traduzir
Marcado como spam
Criado há 1 ano e 2 semanas vitorhugosilva
vitorhugosilva Responsiveness Member