public static List<Model.DocVenda> Encomendas_List() { ErpBS objMotor = new ErpBS(); MotorPrimavera mp = new MotorPrimavera(); StdBELista objListCab; StdBELista objListLin; Model.DocVenda dv = new Model.DocVenda(); List<Model.DocVenda> listdv = new List<Model.DocVenda>(); Model.LinhaDocVenda lindv = new Model.LinhaDocVenda(); List<Model.LinhaDocVenda> listlindv = new List<Model.LinhaDocVenda>(); if (PriEngine.InitializeCompany("BELAFLOR", "sa", "1234567") == true) { objListCab = PriEngine.Engine.Consulta("SELECT id, Entidade, Data, NumDoc, TotalMerc, Serie From CabecDoc where TipoDoc='ECL'"); while (!objListCab.NoFim()) { dv = new Model.DocVenda(); dv.id = objListCab.Valor("id"); dv.Entidade = objListCab.Valor("Entidade"); dv.NumDoc = objListCab.Valor("NumDoc"); dv.Data = objListCab.Valor("Data"); dv.TotalMerc = objListCab.Valor("TotalMerc"); dv.Serie = objListCab.Valor("Serie"); objListLin = PriEngine.Engine.Consulta("SELECT idCabecDoc, Artigo, Descricao, Quantidade, Unidade, PrecUnit, Desconto1, TotalILiquido, PrecoLiquido from LinhasDoc where IdCabecDoc='" + dv.id + "' order By NumLinha"); listlindv = new List<Model.LinhaDocVenda>(); while (!objListLin.NoFim()) { lindv = new Model.LinhaDocVenda(); lindv.IdCabecDoc = objListLin.Valor("idCabecDoc"); lindv.CodArtigo = objListLin.Valor("Artigo"); lindv.DescArtigo = objListLin.Valor("Descricao"); lindv.Quantidade = objListLin.Valor("Quantidade"); lindv.Unidade = objListLin.Valor("Unidade"); lindv.Desconto = objListLin.Valor("Desconto1"); lindv.PrecoUnitario = objListLin.Valor("PrecUnit"); lindv.TotalILiquido = objListLin.Valor("TotalILiquido"); lindv.TotalLiquido = objListLin.Valor("PrecoLiquido"); listlindv.Add(lindv); objListLin.Seguinte(); } dv.LinhasDoc = listlindv; listdv.Add(dv); objListCab.Seguinte(); } } return listdv; }
//------------------------------------ ENCOMENDA --------------------- /* public static Model.RespostaErro TransformaDoc(Model.DocCompra dc) { Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro(); GcpBEDocumentoCompra objEnc = new GcpBEDocumentoCompra(); GcpBEDocumentoCompra objGR = new GcpBEDocumentoCompra(); GcpBELinhasDocumentoCompra objLinEnc = new GcpBELinhasDocumentoCompra(); PreencheRelacaoCompras rl = new PreencheRelacaoCompras(); List<Model.LinhaDocCompra> lstlindc = new List<Model.LinhaDocCompra>(); try { if (PriEngine.InitializeCompany("BELAFLOR", "sa", "123456") == true) { objEnc = PriEngine.Engine.Comercial.Compras.Edita("000", "ECF", "2013", 3); // --- Criar os cabeçalhos da GR objGR.set_Entidade(objEnc.get_Entidade()); objEnc.set_Serie("2013"); objEnc.set_Tipodoc("ECF"); objEnc.set_TipoEntidade("F"); objGR = PriEngine.Engine.Comercial.Compras.PreencheDadosRelacionados(objGR,rl); // façam p.f. o ciclo para percorrer as linhas da encomenda que pretendem copiar double QdeaCopiar; PriEngine.Engine.Comercial.Internos.CopiaLinha("C", objEnc, "C", objGR, lin.NumLinha, QdeaCopiar); // precisamos aqui de um metodo que permita actualizar a Qde Satisfeita da linha de encomenda. Existe em VB mas ainda não sei qual é em c# PriEngine.Engine.IniciaTransaccao(); PriEngine.Engine.Comercial.Compras.Actualiza(objEnc, ""); PriEngine.Engine.Comercial.Compras.Actualiza(objGR, ""); PriEngine.Engine.TerminaTransaccao(); erro.Erro = 0; erro.Descricao = "Sucesso"; return erro; } else { erro.Erro = 1; erro.Descricao = "Erro ao abrir empresa"; return erro; } } catch (Exception ex) { PriEngine.Engine.DesfazTransaccao(); erro.Erro = 1; erro.Descricao = ex.Message; return erro; } } */ // ------------------------ Documentos de Compra --------------------------// public static List<Model.DocCompra> VGR_List() { ErpBS objMotor = new ErpBS(); MotorPrimavera mp = new MotorPrimavera(); StdBELista objListCab; StdBELista objListLin; Model.DocCompra dc = new Model.DocCompra(); List<Model.DocCompra> listdc = new List<Model.DocCompra>(); Model.LinhaDocCompra lindc = new Model.LinhaDocCompra(); List<Model.LinhaDocCompra> listlindc = new List<Model.LinhaDocCompra>(); if (PriEngine.InitializeCompany("BELAFLOR", "sa", "1234567") == true) { objListCab = PriEngine.Engine.Consulta("SELECT id, NumDocExterno, Entidade, DataDoc, NumDoc, TotalMerc, Serie From CabecCompras where TipoDoc='VGR'"); while (!objListCab.NoFim()) { dc = new Model.DocCompra(); dc.id = objListCab.Valor("id"); dc.NumDocExterno = objListCab.Valor("NumDocExterno"); dc.Entidade = objListCab.Valor("Entidade"); dc.NumDoc = objListCab.Valor("NumDoc"); dc.Data = objListCab.Valor("DataDoc"); dc.TotalMerc = objListCab.Valor("TotalMerc"); dc.Serie = objListCab.Valor("Serie"); objListLin = PriEngine.Engine.Consulta("SELECT idCabecCompras, Artigo, Descricao, Quantidade, Unidade, PrecUnit, Desconto1, TotalILiquido, PrecoLiquido, Armazem, Lote from LinhasCompras where IdCabecCompras='" + dc.id + "' order By NumLinha"); listlindc = new List<Model.LinhaDocCompra>(); while (!objListLin.NoFim()) { lindc = new Model.LinhaDocCompra(); lindc.IdCabecDoc = objListLin.Valor("idCabecCompras"); lindc.CodArtigo = objListLin.Valor("Artigo"); lindc.DescArtigo = objListLin.Valor("Descricao"); lindc.Quantidade = objListLin.Valor("Quantidade"); lindc.Unidade = objListLin.Valor("Unidade"); lindc.Desconto = objListLin.Valor("Desconto1"); lindc.PrecoUnitario = objListLin.Valor("PrecUnit"); lindc.TotalILiquido = objListLin.Valor("TotalILiquido"); lindc.TotalLiquido = objListLin.Valor("PrecoLiquido"); lindc.Armazem = objListLin.Valor("Armazem"); lindc.Lote = objListLin.Valor("Lote"); listlindc.Add(lindc); objListLin.Seguinte(); } dc.LinhasDoc = listlindc; listdc.Add(dc); objListCab.Seguinte(); } } return listdc; }