public static List <Model.DocCompra> VGR_List() { 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(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == 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); }
public static List<Model.DocCompra> VGR_List() { 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(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == 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; }
public static List<Model.DocCompra> VGR_List() { string query = "SELECT PRISINF.dbo.CabecCompras.TipoDoc, PRISINF.dbo.CabecCompras.id, PRISINF.dbo.CabecCompras.CondPag, PRISINF.dbo.CabecCompras.DataVencimento, PRISINF.dbo.CabecCompras.NumDoc, PRISINF.dbo.CabecCompras.Entidade, PRISINF.dbo.CabecCompras.DataDoc,PRISINF.dbo.CabecCompras.NumDocExterno, PRISINF.dbo.CabecCompras.TotalMerc,PRISINF.dbo.CabecCompras.Serie, PRISINF.dbo.LinhasCompras.NumLinha, PRISINF.dbo.LinhasCompras.Artigo, PRISINF.dbo.LinhasCompras.Quantidade, PRISINF.dbo.LinhasCompras.Desconto1, PRISINF.dbo.LinhasCompras.PrecUnit, PRISINF.dbo.LinhasCompras.Armazem, PRISINF.dbo.LinhasComprasStatus.EstadoTrans, PRISINF.dbo.LinhasComprasStatus.QuantTrans FROM PRISINF.dbo.CabecCompras INNER JOIN PRISINF.dbo.LinhasCompras ON PRISINF.dbo.CabecCompras.Id = PRISINF.dbo.LinhasCompras.IdCabecCompras INNER JOIN PRISINF.dbo.LinhasComprasStatus ON PRISINF.dbo.LinhasCompras.Id = PRISINF.dbo.LinhasComprasStatus.IdLinhasCompras WHERE (PRISINF.dbo.CabecCompras.TipoDoc = N'ECF' AND PRISINF.dbo.LinhasComprasStatus.EstadoTrans = 'P') ORDER BY PRISINF.dbo.CabecCompras.NumDoc"; ErpBS objMotor = new ErpBS(); StdBELista objList; List<Model.DocCompra> listDocCompra = new List<Model.DocCompra>(); Model.DocCompra docCompra; List<Model.LinhaDocCompra> listLinhasCompras; Model.LinhaDocCompra linhaDocCompra; Model.LinhaDocCompraStatus statusLinhaCompra; if (PriEngine.InitializeCompany(NomeEmpresa, UtilizadorEmpresa, PasswordEmpresa) == true) { objList = PriEngine.Engine.Consulta(query); if (!objList.NoFim()) //tem pelo menos 1 elemento { docCompra = new Model.DocCompra(); docCompra.TipoDoc = objList.Valor("TipoDoc"); docCompra.id = objList.Valor("id"); docCompra.Entidade = objList.Valor("Entidade"); docCompra.NumDoc = objList.Valor("NumDoc"); docCompra.DataEmissao = objList.Valor("DataDoc"); docCompra.DataVencimento = objList.Valor("DataVencimento"); docCompra.NumDocExterno = objList.Valor("NumDocExterno"); docCompra.TotalMerc = objList.Valor("TotalMerc"); docCompra.CondPag = objList.Valor("CondPag"); docCompra.Serie = objList.Valor("Serie"); listLinhasCompras = new List<Model.LinhaDocCompra>(); //sacar linhaDoc associado + status linhaDocCompra = new Model.LinhaDocCompra(); linhaDocCompra.NumLinha = objList.Valor("NumLinha"); linhaDocCompra.CodArtigo = objList.Valor("Artigo"); linhaDocCompra.Quantidade = objList.Valor("Quantidade"); linhaDocCompra.Armazem = objList.Valor("Armazem"); statusLinhaCompra = new Model.LinhaDocCompraStatus(); statusLinhaCompra.EstadoTrans = objList.Valor("EstadoTrans"); statusLinhaCompra.QuantTrans = objList.Valor("QuantTrans"); linhaDocCompra.Status = statusLinhaCompra; listLinhasCompras.Add(linhaDocCompra); objList.Seguinte(); while (!objList.NoFim()) //restantes elementos { if (docCompra.id != objList.Valor("id")) { docCompra.LinhasDoc = listLinhasCompras; listDocCompra.Add(docCompra); docCompra = new Model.DocCompra(); docCompra.TipoDoc = objList.Valor("TipoDoc"); docCompra.id = objList.Valor("id"); docCompra.Entidade = objList.Valor("Entidade"); docCompra.NumDoc = objList.Valor("NumDoc"); docCompra.DataEmissao = objList.Valor("DataDoc"); listLinhasCompras = new List<Model.LinhaDocCompra>(); } //sacar linhas e status linhaDocCompra = new Model.LinhaDocCompra(); linhaDocCompra.NumLinha = objList.Valor("NumLinha"); linhaDocCompra.CodArtigo = objList.Valor("Artigo"); linhaDocCompra.Quantidade = objList.Valor("Quantidade"); linhaDocCompra.Armazem = objList.Valor("Armazem"); statusLinhaCompra = new Model.LinhaDocCompraStatus(); statusLinhaCompra.EstadoTrans = objList.Valor("EstadoTrans"); statusLinhaCompra.QuantTrans = objList.Valor("QuantTrans"); linhaDocCompra.Status = statusLinhaCompra; listLinhasCompras.Add(linhaDocCompra); objList.Seguinte(); } docCompra.LinhasDoc = listLinhasCompras; listDocCompra.Add(docCompra); } } return listDocCompra; }
public static bool updateEncomenda(Model.DocCompra docCompra, Model.EncomendaRecepcionada encomendaRecebida) { bool updated = false; bool found = false; List<Model.LinhaDocCompra> aux = new List<Model.LinhaDocCompra>(); Model.LinhaDocCompra linhaAux; foreach (Model.LinhaDocCompra linha in docCompra.LinhasDoc) { found = false; foreach (Model.ArtigosRecepcionados artigoRecebido in encomendaRecebida.artigos) { if (linha.CodArtigo == artigoRecebido.idArtigo) // mesmo artigo { linhaAux = new Model.LinhaDocCompra(); linhaAux = linha; linhaAux.Quantidade = artigoRecebido.quantidade; aux.Add(linhaAux); found = true; updated = true; } if (found) break; } } docCompra.LinhasDoc = aux; return updated; }
public static Model.DocCompra getEncomenda(string codBarValue) { string[] substrings = Regex.Split(codBarValue, "ECF-"); string query = "SELECT PRISINF.dbo.CabecCompras.TipoDoc, PRISINF.dbo.CabecCompras.DataVencimento, PRISINF.dbo.CabecCompras.CondPag, PRISINF.dbo.CabecCompras.id, PRISINF.dbo.CabecCompras.NumDoc, PRISINF.dbo.CabecCompras.Entidade, PRISINF.dbo.CabecCompras.DataDoc,PRISINF.dbo.CabecCompras.NumDocExterno, PRISINF.dbo.CabecCompras.TotalMerc,PRISINF.dbo.CabecCompras.Serie, PRISINF.dbo.LinhasCompras.NumLinha, PRISINF.dbo.LinhasCompras.Artigo, PRISINF.dbo.LinhasCompras.Quantidade, PRISINF.dbo.LinhasCompras.Desconto1, PRISINF.dbo.LinhasCompras.PrecUnit, PRISINF.dbo.LinhasCompras.Armazem, PRISINF.dbo.LinhasComprasStatus.EstadoTrans, PRISINF.dbo.LinhasComprasStatus.QuantTrans FROM PRISINF.dbo.CabecCompras INNER JOIN PRISINF.dbo.LinhasCompras ON PRISINF.dbo.CabecCompras.Id = PRISINF.dbo.LinhasCompras.IdCabecCompras INNER JOIN PRISINF.dbo.LinhasComprasStatus ON PRISINF.dbo.LinhasCompras.Id = PRISINF.dbo.LinhasComprasStatus.IdLinhasCompras WHERE (PRISINF.dbo.CabecCompras.TipoDoc = N'ECF' AND PRISINF.dbo.LinhasComprasStatus.EstadoTrans = 'P' AND dbo.CabecCompras.NumDoc like '" + substrings[substrings.Length - 1] + "') ORDER BY PRISINF.dbo.CabecCompras.NumDoc"; ErpBS objMotor = new ErpBS(); StdBELista objList; Model.DocCompra result = new Model.DocCompra(); Model.LinhaDocCompra linhaDocCompra; Model.LinhaDocCompraStatus statusLinhaCompra; if (PriEngine.InitializeCompany(NomeEmpresa, UtilizadorEmpresa, PasswordEmpresa) == true) { objList = PriEngine.Engine.Consulta(query); if (!objList.NoFim()) //tem pelo menos 1 elemento { result.TipoDoc = objList.Valor("TipoDoc"); result.id = objList.Valor("id"); result.Entidade = objList.Valor("Entidade"); result.NumDoc = objList.Valor("NumDoc"); result.DataEmissao = objList.Valor("DataDoc"); result.DataVencimento = objList.Valor("DataVencimento"); result.NumDocExterno = objList.Valor("NumDocExterno"); result.CondPag = objList.Valor("CondPag"); result.TotalMerc = objList.Valor("TotalMerc"); result.Serie = objList.Valor("Serie"); result.LinhasDoc = new List<Model.LinhaDocCompra>(); linhaDocCompra = new Model.LinhaDocCompra(); linhaDocCompra.NumLinha = objList.Valor("NumLinha"); linhaDocCompra.CodArtigo = objList.Valor("Artigo"); linhaDocCompra.Quantidade = objList.Valor("Quantidade"); linhaDocCompra.Armazem = objList.Valor("Armazem"); linhaDocCompra.Desconto = objList.Valor("Desconto1"); linhaDocCompra.PrecoUnitario = objList.Valor("PrecUnit"); statusLinhaCompra = new Model.LinhaDocCompraStatus(); statusLinhaCompra.EstadoTrans = objList.Valor("EstadoTrans"); statusLinhaCompra.QuantTrans = objList.Valor("QuantTrans"); linhaDocCompra.Status = statusLinhaCompra; result.LinhasDoc.Add(linhaDocCompra); objList.Seguinte(); while (!objList.NoFim()) //restantes elementos { linhaDocCompra = new Model.LinhaDocCompra(); linhaDocCompra.NumLinha = objList.Valor("NumLinha"); linhaDocCompra.CodArtigo = objList.Valor("Artigo"); linhaDocCompra.Quantidade = objList.Valor("Quantidade"); linhaDocCompra.Armazem = objList.Valor("Armazem"); linhaDocCompra.Desconto = objList.Valor("Desconto1"); linhaDocCompra.PrecoUnitario = objList.Valor("PrecUnit"); statusLinhaCompra = new Model.LinhaDocCompraStatus(); statusLinhaCompra.EstadoTrans = objList.Valor("EstadoTrans"); statusLinhaCompra.QuantTrans = objList.Valor("QuantTrans"); linhaDocCompra.Status = statusLinhaCompra; result.LinhasDoc.Add(linhaDocCompra); objList.Seguinte(); } } } return result; }
//------------------------------------ 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("BLFLR", "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(); 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(COMPANYNAME, USERNAME, PASSWORD) == true) { objListCab = PriEngine.Engine.Consulta("SELECT id, NumDocExterno, Entidade, DataDoc, NumDoc, TotalMerc, Serie, ModoPag, CondPag 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"); dc.ModoPag = objListCab.Valor("ModoPag"); dc.CondPag = objListCab.Valor("CondPag"); 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; }
public static List<Model.DocCompra> putaway_list() { StdBELista objListCab; StdBELista objListLin; Model.DocCompra dv = new Model.DocCompra(); List<Model.DocCompra> listdv = new List<Model.DocCompra>(); Model.LinhaDocCompra lindv = new Model.LinhaDocCompra(); List<Model.LinhaDocCompra> listlindv = new List<Model.LinhaDocCompra>(); if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true) { objListCab = PriEngine.Engine.Consulta("SELECT id, NumDocExterno, NumDoc, HoraDescarga, DataDescarga From CabecCompras where TipoDoc='VGR'"); while (!objListCab.NoFim()) { dv = new Model.DocCompra(); dv.Colocados = 0; dv.PorColocar = 0; dv.id = objListCab.Valor("id"); dv.NumDocExterno = objListCab.Valor("NumDocExterno"); dv.NumDoc = objListCab.Valor("NumDoc"); dv.HoraDescarga = objListCab.Valor("HoraDescarga"); dv.DataDescarga = objListCab.Valor("DataDescarga"); objListLin = PriEngine.Engine.Consulta("SELECT CDU_idCabecDoc, CDU_CodArtigo, CDU_Quantidade, CDU_Estado from TDU_Putaway where CDU_idCabecDoc='" + dv.id + "'"); listlindv = new List<Model.LinhaDocCompra>(); while (!objListLin.NoFim()) { lindv = new Model.LinhaDocCompra(); lindv.IdCabecDoc = objListLin.Valor("CDU_idCabecDoc"); lindv.CodArtigo = objListLin.Valor("CDU_Artigo"); lindv.Quantidade = objListLin.Valor("CDU_Quantidade"); lindv.Status = objListLin.Valor("CDU_Estado"); if (lindv.Status == 0) dv.PorColocar++; else dv.Colocados++; StdBELista objArmazLista; objArmazLista = PriEngine.Engine.Consulta("SELECT Fila, Slot, Nivel FROM ArtigoArmazem WHERE Artigo=" + objListLin.Valor("CDU_Artigo")); lindv.Fila = objArmazLista.Valor("Fila"); lindv.Slot = objArmazLista.Valor("Slot"); lindv.Nivel = objArmazLista.Valor("Nivel"); listlindv.Add(lindv); objListLin.Seguinte(); } dv.LinhasDoc = listlindv; listdv.Add(dv); objListCab.Seguinte(); } } return listdv; }