Fórum
Ver pergunta

Erro no método imprime listagem de um documento de compra – V9   

140 visualizações
0
0

Viva, Tenho um método para imprimir um documento de compra mas obtenho o seguinte erro – Erro no método:ExportToDiskToPdf, mapa:C:\PROGRAM FILES (X86)\PRIMAVERA\SG900\MAPAS\LP\GCP\GCPCLS01.rpt.
A referência de objecto não foi definida como uma instância de um objecto.

            StdPlatBS mPlataformaPrimavera = new StdPlatBS();
            var objConfApl = new StdBSConfApl();
            try
            {
                objConfApl.Utilizador = credenciais.Login;
                objConfApl.PwdUtilizador = credenciais.Password;
                objConfApl.AbvtApl = "GCP";
                objConfApl.Instancia = "Default";
                objConfApl.LicVersaoMinima = "9.00";
                EnumTipoPlataforma objTipoPlataforma = new EnumTipoPlataforma();
                objTipoPlataforma = EnumTipoPlataforma.tpProfissional;
                mPlataformaPrimavera.AbrePlataformaEmpresa(credenciais.Empresa, null, objConfApl, objTipoPlataforma, "");

                string filename = Path.GetTempFileName();
                var reportTemplate = "GCPCLS01";
                var strSelFormula = $"{{CabecDocCompras.TipoDoc}}=\'{compra.get_Tipodoc()}\' and {{CabecDocCompras.Serie}} = \'{compra.get_Serie()}\' AND {{CabecDocCompras.NumDoc}}={Convert.ToString(compra.get_NumDoc())}";
                mPlataformaPrimavera.Mapas.Inicializar("GCP");

                var strFormula = new StringBuilder();
                strFormula.Append($"StringVar Nome:='{motor.Contexto.IDNome}';");
                strFormula.Append($"StringVar Morada:='{motor.Contexto.IDMorada}';");
                strFormula.Append($"StringVar Localidade:='{motor.Contexto.IDLocalidade}';");
                strFormula.Append($"StringVar CodPostal:='{motor.Contexto.IDCodPostal} {motor.Contexto.IDCodPostalLocal}';");
                strFormula.Append($"StringVar Telefone:='{motor.Contexto.IDTelefone}';");
                strFormula.Append($"StringVar Fax:='{motor.Contexto.IDFax}';");
                strFormula.Append($"StringVar Contribuinte:='{motor.Contexto.IFNIF}';");
                strFormula.Append($"StringVar CapitalSocial:='{motor.Contexto.ICCapitalSocial}';");
                strFormula.Append($"StringVar Conservatoria:='{motor.Contexto.ICConservatoria}';");
                strFormula.Append($"StringVar Matricula:='{motor.Contexto.ICMatricula}';");
                strFormula.Append($"StringVar MoedaCapitalSocial:='{motor.Contexto.ICMoedaCapSocial}';");

                mPlataformaPrimavera.Mapas.SetFormula("DadosEmpresa", strFormula.ToString());

                var strParametros = new StringBuilder();
                strParametros.Append("NumberVar TipoDesc;");
                strParametros.Append("NumberVar DecQde;");
                strParametros.Append("NumberVar DecPrecUnit;");
                strParametros.Append("StringVar MotivoIsencao;");
                strParametros.Append("BooleanVar UltimaPag;");
                strParametros.Append("StringVar PRI_TextoCertificacao;");
                strParametros.Append("TipoDesc:= 0;");
                strParametros.Append("DecQde:=3;");
                strParametros.Append($"DecPrecUnit:=2;");
                strParametros.Append("UltimaPag:=False;");
                strParametros.Append($"PRI_TextoCertificacao:='{motor.Comercial.Compras.DevolveTextoAssinaturaDoc(pedido.Documento.TipoDocumento, int.Parse(pedido.Documento.NumeroDoc), pedido.Documento.Serie, "000")}';");

                mPlataformaPrimavera.Mapas.SetFormula("InicializaParametros", strParametros.ToString());

                mPlataformaPrimavera.Mapas.set_Destino(CRPEExportDestino.edFicheiro);
                mPlataformaPrimavera.Mapas.SetFileProp(CRPEExportFormat.efPdf, filename);
                mPlataformaPrimavera.Mapas.ImprimeListagem(reportTemplate, sTitulo: filename, sSelFormula: strSelFormula, iNumCopias: 1, bMapaSistema: false, bCategoria: false,blnModal: true);

                FileStream file = new FileStream(filename, FileMode.Open);
                BinaryReader read = new BinaryReader(file);
                var result = read.ReadBytes((int)file.Length);
                file.Close();

                return result;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

 

Faça login para poder traduzir
Integração
Marcado como spam
Criado há 3 anos e 8 meses hlink
hlink Iniciante
Comentários
RESOLVIDO. A tabela é CabecCompras e não CabecDocCompras.
3 anos e 7 meses
hlink