public static Lib_Primavera.Model.RespostaErro AlterarPassword(string codcliente, string nova) { Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro(); try { if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true) { StdBECamposChave chave = new StdBECamposChave(); chave.AddCampoChave("CDU_codCliente", codcliente); PriEngine.Engine.TabelasUtilizador.ActualizaValorAtributo ("TDU_ClienteAuxiliar", chave, "CDU_Password" , sha1(nova)); erro.Erro = 0; erro.Descricao = "Sucesso"; return erro; } else { erro.Erro = 1; erro.Descricao = "Erro ao abrir empresa"; return erro; } } catch (Exception ex) { erro.Erro = 1; erro.Descricao = ex.Message; return erro; } }
public static Model.RespostaErro Encomendas_New(Model.DocVenda dv) { Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro(); GcpBEDocumentoVenda myEnc = new GcpBEDocumentoVenda(); GcpBELinhaDocumentoVenda myLin = new GcpBELinhaDocumentoVenda(); GcpBELinhasDocumentoVenda myLinhas = new GcpBELinhasDocumentoVenda(); PreencheRelacaoVendas rl = new PreencheRelacaoVendas(); List<Model.LinhaDocVenda> lstlindv = new List<Model.LinhaDocVenda>(); try { if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true) { // Atribui valores ao cabecalho do doc //myEnc.set_DataDoc(dv.Data); myEnc.set_Entidade(dv.Entidade); myEnc.set_TipoEntidade("C"); myEnc.set_Tipodoc("FA"); myEnc.set_Serie(dv.Serie); myEnc.set_DataDoc(DateTime.Today); // Linhas do documento para a lista de linhas lstlindv = dv.LinhasDoc; PriEngine.Engine.Comercial.Vendas.PreencheDadosRelacionados(myEnc, rl); foreach (Model.LinhaDocVenda lin in lstlindv) { PriEngine.Engine.Comercial.Vendas.AdicionaLinha(myEnc, lin.CodArtigo, lin.Quantidade, "", "", lin.PrecoUnitario, lin.Desconto); } // PriEngine.Engine.Comercial.Compras.TransformaDocumento( PriEngine.Engine.IniciaTransaccao(); PriEngine.Engine.Comercial.Vendas.Actualiza(myEnc, "Teste"); 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) { System.Diagnostics.Debug.WriteLine(ex.Message); PriEngine.Engine.DesfazTransaccao(); erro.Erro = 1; erro.Descricao = ex.Message; return erro; } }
public static Lib_Primavera.Model.RespostaErro ApagarGeneros(string CodArtigo) { Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro(); try { if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true) { StdBECamposChave chave = new StdBECamposChave(); chave.AddCampoChave("CDU_idArtigo", CodArtigo); PriEngine.Engine.TabelasUtilizador.Remove("TDU_ArtigoGenero", chave); erro.Erro = 0; erro.Descricao = "Sucesso"; return erro; } else { erro.Erro = 1; erro.Descricao = "Erro ao abrir a empresa"; return erro; } } catch (Exception ex) { erro.Erro = 1; erro.Descricao = ex.Message; return erro; } }
public static Lib_Primavera.Model.RespostaErro AlterarDados(View.AcessoLogin2 registo) { Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro(); try { if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true) { StdBECamposChave chave = new StdBECamposChave(); StdBECampos campos = new StdBECampos(); StdBECampo cmp1 = new StdBECampo(); StdBECampo cmp2 = new StdBECampo(); chave.AddCampoChave("CDU_codCliente", registo.CodCliente); cmp1.Nome = "CDU_Email"; cmp1.Valor = registo.email; cmp2.Nome = "CDU_Sexo"; cmp2.Valor = registo.sexo; campos.Insere(cmp1); campos.Insere(cmp2); PriEngine.Engine.TabelasUtilizador.ActualizaValorAtributos("TDU_ClienteAuxiliar", chave, campos); GcpBECliente objCli = new GcpBECliente(); objCli = PriEngine.Engine.Comercial.Clientes.Edita(registo.CodCliente); objCli.set_EmModoEdicao(true); objCli.set_Nome(registo.NomeCliente); objCli.set_NumContribuinte(registo.NumContribuinte); objCli.set_Moeda(registo.Moeda); objCli.set_Morada(registo.Morada); PriEngine.Engine.Comercial.Clientes.Actualiza(objCli); erro.Erro = 0; erro.Descricao = "Sucesso"; return erro; } else { erro.Erro = 1; erro.Descricao = "Erro ao abrir empresa"; return erro; } } catch (Exception ex) { erro.Erro = 1; erro.Descricao = ex.Message; return erro; } }
public static Lib_Primavera.Model.RespostaErro InsereArtigoCarrinho(Model.Carrinho carrinho) { Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro(); string data = String.Format("{0:yyyy-M-d HH:mm:ss}", DateTime.Now) + ".000"; StdBERegistoUtil objRegisto = new StdBERegistoUtil(); StdBECampos campos = new StdBECampos(); StdBECampo cmp1 = new StdBECampo(); StdBECampo cmp2 = new StdBECampo(); StdBECampo cmp3 = new StdBECampo(); StdBECampo cmp4 = new StdBECampo(); try { if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true) { cmp1.Nome = "CDU_idArtigo"; cmp2.Nome = "CDU_CodCliente"; cmp3.Nome = "CDU_adicionado"; cmp4.Nome = "CDU_comprado"; cmp1.Valor = carrinho.artigo; cmp2.Valor = carrinho.cliente; cmp3.Valor = data; cmp4.Valor = "1900-01-01 00:00:00.000"; campos.Insere(cmp1); campos.Insere(cmp2); campos.Insere(cmp3); campos.Insere(cmp4); objRegisto.set_Campos(campos); PriEngine.Engine.TabelasUtilizador.Actualiza("TDU_Pagamento", objRegisto); erro.Erro = 0; erro.Descricao = "Sucesso"; return erro; } else { erro.Erro = 1; erro.Descricao = "Erro ao abrir empresa"; return erro; } } catch (Exception ex) { erro.Erro = 1; erro.Descricao = ex.Message; return erro; } }
public static Lib_Primavera.Model.RespostaErro InsereClassificacao(Model.Classificacao cla) { Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro(); StdBERegistoUtil objRegisto = new StdBERegistoUtil(); StdBECampos campos = new StdBECampos(); StdBECampo cmp1 = new StdBECampo(); StdBECampo cmp2 = new StdBECampo(); StdBECampo cmp3 = new StdBECampo(); StdBECampo cmp4 = new StdBECampo(); try { if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true) { cmp1.Nome = "CDU_idArtigo"; cmp2.Nome = "CDU_idCliente"; cmp3.Nome = "CDU_Valor"; cmp4.Nome = "CDU_Comentario"; cmp1.Valor = cla.codArtigo; cmp2.Valor = cla.codCliente; cmp3.Valor = cla.valor; cmp4.Valor = cla.comentario; campos.Insere(cmp1); campos.Insere(cmp2); campos.Insere(cmp3); campos.Insere(cmp4); objRegisto.set_Campos(campos); PriEngine.Engine.TabelasUtilizador.Actualiza("TDU_Classificacao", objRegisto); erro.Erro = 0; erro.Descricao = "Sucesso"; return erro; } else { erro.Erro = 1; erro.Descricao = "Erro ao abrir empresa"; return erro; } } catch (Exception ex) { erro.Erro = 1; erro.Descricao = ex.Message; return erro; } }
public static Lib_Primavera.Model.RespostaErro ApagarArtigoCarrinho(Model.Carrinho carrinho) { Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro(); StdBECamposChave objRegisto = new StdBECamposChave(); StdBECampos campos = new StdBECampos(); StdBECampo cmp1 = new StdBECampo(); StdBECampo cmp2 = new StdBECampo(); objRegisto.AddCampoChave("CDU_idArtigo", carrinho.artigo); objRegisto.AddCampoChave("CDU_CodCliente", carrinho.cliente); try { if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true) { if (PriEngine.Engine.TabelasUtilizador.Existe("TDU_Pagamento", objRegisto) == false) { erro.Erro = 1; erro.Descricao = "Não existe esta linha no carrinho"; return erro; } else { PriEngine.Engine.TabelasUtilizador.Remove("TDU_Pagamento", objRegisto); erro.Erro = 0; erro.Descricao = "Sucesso"; return erro; } } else { erro.Erro = 1; erro.Descricao = "Erro ao abrir empresa"; return erro; } } catch (Exception ex) { erro.Erro = 1; erro.Descricao = ex.Message; return erro; } }
public static Lib_Primavera.Model.RespostaErro DelCliente(string codCliente) { Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro(); GcpBECliente objCli = new GcpBECliente(); try { if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true) { if (PriEngine.Engine.Comercial.Clientes.Existe(codCliente) == false) { erro.Erro = 1; erro.Descricao = "O cliente não existe"; return erro; } else { PriEngine.Engine.Comercial.Clientes.Remove(codCliente); erro.Erro = 0; erro.Descricao = "Sucesso"; return erro; } } else { erro.Erro = 1; erro.Descricao = "Erro ao abrir a empresa"; return erro; } } catch (Exception ex) { erro.Erro = 1; erro.Descricao = ex.Message; return erro; } }
public static Lib_Primavera.Model.RespostaErro NovoGenero(Model.ArtigoGenero registo) { Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro(); try { if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true) { StdBERegistoUtil objRegisto = new StdBERegistoUtil(); StdBECampos campos = new StdBECampos(); StdBECampo cmp1 = new StdBECampo(); StdBECampo cmp2 = new StdBECampo(); cmp1.Nome = "CDU_idArtigo"; cmp2.Nome = "CDU_idGenero"; cmp1.Valor = registo.idArtigo; cmp2.Valor = registo.idGenero; campos.Insere(cmp1); campos.Insere(cmp2); objRegisto.set_Campos(campos); PriEngine.Engine.TabelasUtilizador.Actualiza("TDU_ArtigoGenero", objRegisto); erro.Erro = 0; erro.Descricao = "Sucesso"; return erro; } else { erro.Erro = 1; erro.Descricao = "Erro ao abrir empresa"; return erro; } } catch (Exception ex) { erro.Erro = 1; erro.Descricao = ex.Message; return erro; } }
public static Lib_Primavera.Model.RespostaErro InsereClienteObj(Model.Cliente cli) { Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro(); GcpBECliente myCli = new GcpBECliente(); try { if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true) { myCli.set_Cliente(cli.CodCliente); myCli.set_Nome(cli.NomeCliente); myCli.set_NumContribuinte(cli.NumContribuinte); myCli.set_Moeda(cli.Moeda); myCli.set_Morada(cli.Morada); PriEngine.Engine.Comercial.Clientes.Actualiza(myCli); erro.Erro = 0; erro.Descricao = "Sucesso"; return erro; } else { erro.Erro = 1; erro.Descricao = "Erro ao abrir empresa"; return erro; } } catch (Exception ex) { erro.Erro = 1; erro.Descricao = ex.Message; return erro; } }
public static Lib_Primavera.Model.RespostaErro Registar(View.AcessoLogin2 registo) { Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro(); try { StdBELista objList; if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true) { string query = "Execute PDU_RegistarCliente @codigo = '" + registo.CodCliente + "', @nome = '" + registo.NomeCliente + "', @contribuinte = " + registo.NumContribuinte + ", @morada = '" + registo.Morada + "', @contacto = " + registo.contacto + ", @email = '" + registo.email + "', @sexo = '" + registo.sexo + "', @password = '******'"; objList = PriEngine.Engine.Consulta(query); erro.Erro = 0; erro.Descricao = "Sucesso"; return erro; } else { erro.Erro = 1; erro.Descricao = "Erro ao abrir empresa"; return erro; } } catch (Exception ex) { erro.Erro = 1; erro.Descricao = ex.Message; return erro; } }
public static Model.RespostaErro VGR_New(Model.DocCompra dc) { Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro(); GcpBEDocumentoCompra myGR = new GcpBEDocumentoCompra(); GcpBELinhaDocumentoCompra myLin = new GcpBELinhaDocumentoCompra(); GcpBELinhasDocumentoCompra myLinhas = new GcpBELinhasDocumentoCompra(); PreencheRelacaoCompras rl = new PreencheRelacaoCompras(); List<Model.LinhaDocCompra> lstlindv = new List<Model.LinhaDocCompra>(); try { if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true) { // Atribui valores ao cabecalho do doc //myEnc.set_DataDoc(dv.Data); myGR.set_Entidade(dc.Entidade); myGR.set_NumDocExterno(dc.NumDocExterno); myGR.set_Serie(dc.Serie); myGR.set_Tipodoc("VGR"); myGR.set_TipoEntidade("F"); // Linhas do documento para a lista de linhas lstlindv = dc.LinhasDoc; PriEngine.Engine.Comercial.Compras.PreencheDadosRelacionados(myGR, rl); foreach (Model.LinhaDocCompra lin in lstlindv) { PriEngine.Engine.Comercial.Compras.AdicionaLinha(myGR, lin.CodArtigo, lin.Quantidade, lin.Armazem, "", lin.PrecoUnitario, lin.Desconto); } PriEngine.Engine.IniciaTransaccao(); PriEngine.Engine.Comercial.Compras.Actualiza(myGR, "Teste"); 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; } }
public static Lib_Primavera.Model.RespostaErro Registar(Model.Artigo registo) { Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro(); try { StdBELista objList; if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true) { Double v = registo.Preco; NumberFormatInfo nfi = new NumberFormatInfo(); nfi.NumberDecimalSeparator = "."; string add = v.ToString(nfi); string query = "Execute PDU_RegistarArtigo @codigo = '" + registo.CodArtigo + "', @empresa = '" + registo.Empresa + "', @ano = " + registo.Ano + ", @idade = " + registo.Idade + ", @descricao = '" + registo.Descricao + "', @stock = " + registo.Stock + ", @preco = " + add; objList = PriEngine.Engine.Consulta(query); erro.Erro = 0; erro.Descricao = "Sucesso"; return erro; } else { erro.Erro = 1; erro.Descricao = "Erro ao abrir empresa"; return erro; } } catch (Exception ex) { erro.Erro = 1; erro.Descricao = ex.Message; return erro; } }
public static Lib_Primavera.Model.RespostaErro UpdCliente(Lib_Primavera.Model.Cliente cliente) { Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro(); GcpBECliente objCli = new GcpBECliente(); try { if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true) { if (PriEngine.Engine.Comercial.Clientes.Existe(cliente.CodCliente) == false) { erro.Erro = 1; erro.Descricao = "O cliente não existe"; return erro; } else { objCli = PriEngine.Engine.Comercial.Clientes.Edita(cliente.CodCliente); objCli.set_EmModoEdicao(true); objCli.set_Nome(cliente.NomeCliente); objCli.set_NumContribuinte(cliente.NumContribuinte); objCli.set_Moeda(cliente.Moeda); objCli.set_Morada(cliente.Morada); PriEngine.Engine.Comercial.Clientes.Actualiza(objCli); erro.Erro = 0; erro.Descricao = "Sucesso"; return erro; } } else { erro.Erro = 1; erro.Descricao = "Erro ao abrir a empresa"; return erro; } } catch (Exception ex) { erro.Erro = 1; erro.Descricao = ex.Message; return erro; } }
public static Lib_Primavera.Model.RespostaErro IncrementarVisitas(Model.Artigo registo) { Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro(); try { if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true) { if (PriEngine.Engine.Comercial.Artigos.Existe(registo.CodArtigo) == false) { erro.Erro = 1; erro.Descricao = "O artigo não existe"; return erro; } else { StdBECamposChave chave = new StdBECamposChave(); StdBECampos campos = new StdBECampos(); StdBECampo cmp1 = new StdBECampo(); cmp1.Nome = "CDU_Visitas"; cmp1.Valor = registo.Visitas + 1; campos.Insere(cmp1); PriEngine.Engine.Comercial.Artigos.ActualizaValorAtributos(registo.CodArtigo, campos); erro.Erro = 0; erro.Descricao = "Sucesso"; return erro; } } else { erro.Erro = 1; erro.Descricao = "Erro ao abrir empresa"; return erro; } } catch (Exception ex) { erro.Erro = 1; erro.Descricao = ex.Message; return erro; } }
public static Lib_Primavera.Model.RespostaErro AlterarDadosMain(Model.Artigo registo) { Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro(); try { if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true) { if (PriEngine.Engine.Comercial.Artigos.Existe(registo.CodArtigo) == false) { erro.Erro = 1; erro.Descricao = "O artigo não existe"; return erro; } else { /* Artigo */ GcpBEArtigo obj = new GcpBEArtigo(); obj = PriEngine.Engine.Comercial.Artigos.Edita(registo.CodArtigo); obj.set_EmModoEdicao(true); obj.set_Descricao(registo.Descricao); // Nome do producto PriEngine.Engine.Comercial.Artigos.Actualiza(obj); /* ArtigoMoeda */ GcpBEArtigoMoeda obj2 = new GcpBEArtigoMoeda(); obj2 = PriEngine.Engine.Comercial.ArtigosPrecos.Edita(registo.CodArtigo, registo.Moeda, "UN"); obj2.set_EmModoEdicao(true); obj2.set_PVP1(registo.Preco); PriEngine.Engine.Comercial.ArtigosPrecos.Actualiza(obj2); /* TDU_ArtigoAuxiliar */ StdBECamposChave chave = new StdBECamposChave(); StdBECampos campos = new StdBECampos(); StdBECampo cmp1 = new StdBECampo(); StdBECampo cmp2 = new StdBECampo(); StdBECampo cmp3 = new StdBECampo(); StdBECampo cmp4 = new StdBECampo(); chave.AddCampoChave("CDU_codArtigo", registo.CodArtigo); cmp1.Nome = "CDU_Ano"; cmp1.Valor = registo.Ano; cmp2.Nome = "CDU_Idade"; cmp2.Valor = registo.Idade; cmp3.Nome = "CDU_Empresa"; cmp3.Valor = registo.Empresa; cmp4.Nome = "CDU_Oculto"; cmp4.Valor = (registo.Oculto ? 1 : 0); campos.Insere(cmp1); campos.Insere(cmp2); campos.Insere(cmp3); campos.Insere(cmp4); PriEngine.Engine.TabelasUtilizador.ActualizaValorAtributos("TDU_ArtigoAuxiliar", chave, campos); erro.Erro = 0; erro.Descricao = "Sucesso"; return erro; } } else { erro.Erro = 1; erro.Descricao = "Erro ao abrir empresa"; return erro; } } catch (Exception ex) { erro.Erro = 1; erro.Descricao = ex.Message; return erro; } }
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(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == 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; } }