public List<Moeda> ListaMoedas(int tipoPlataforma, string codEmpresa, string codUsuario, string password) { List<Moeda> lista = new List<Moeda>(); try { motorErp = new MotoresPrimavera.MotoresErp(); var pResult = motorErp._empresaErp.AbreEmpresaPrimavera(tipoPlataforma, codEmpresa, codUsuario, password); result = new PrimaveraResultStructure() { codigo = pResult.codigo, descricao = pResult.descricao }; //var _lista = motorErp._empresaErp.listaMoedas(); //foreach (var item in _lista) //{ // lista.Add(new Moeda() { moeda = item.moedaId, descricao = item.descricao }); //} } catch (Exception ex) { result.codigo = 3; result.descricao = ex.Message; } return lista; }
public PrimaveraResultStructure AbreEmpresaPrimavera(int tipoPlataforma, string codEmpresa, string codUsuario, string password) { try { motorErp = new MotoresPrimavera.MotoresErp(); var pResult = motorErp._empresaErp.AbreEmpresaPrimavera(tipoPlataforma, codEmpresa, codUsuario, password); result = new PrimaveraResultStructure() { codigo = pResult.codigo, descricao = pResult.descricao }; return result; } catch (Exception ex) { result.codigo = 3; result.descricao = ex.Message; return result; } }
/// <summary> /// Metodo para inicializar o motor do primavera /// </summary> /// <param name="tipoPlataforma"> 0 - Executiva, 1- Profissional</param> /// <param name="codEmpresa"></param> /// <param name="codUsuario"></param> /// <param name="password"></param> /// <remarks></remarks> public PrimaveraResultStructure AbreEmpresaPrimavera(int tipoPlataforma, string codEmpresa, string codUsuario, string password) { PrimaveraResultStructure result = new PrimaveraResultStructure(); try { this.tipoPlataforma = tipoPlataforma; this.codUsuario = codUsuario; this.codEmpresa = codEmpresa; this.password = password; if (_erpBs == null) { _erpBs = new ErpBS(); } else { _erpBs.FechaEmpresaTrabalho(); } _erpBs.AbreEmpresaTrabalho(tipoPlataforma == 0 ? EnumTipoPlataforma.tpEmpresarial : EnumTipoPlataforma.tpProfissional, codEmpresa, codUsuario, password, null, "DEFAULT", true); result.codigo = 0; result.descricao = string.Format("Empresa {0} - {1} Aberta Com Sucesso", _erpBs.Contexto.CodEmp, _erpBs.Contexto.IDNome); Console.WriteLine(String.Format("[{0}] Empresa {1} - {2} Aberta Com Sucesso", DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss"), _erpBs.Contexto.CodEmp, _erpBs.Contexto.IDNome)); return result; } catch (Exception ex) { result.codigo = 3; result.descricao = ex.Message; Console.WriteLine(String.Format("[{0}] Erro a abrir a Empresa {1} - {2} devido a: {3}", DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss"), _erpBs.Contexto.CodEmp, _erpBs.Contexto.IDNome, ex.Message)); return result; } }
/// <summary> /// Actualiza o codigo do tipo terceiro com base no codigo da licienciatura /// </summary> /// <param name="cliente"></param> /// <param name="codLic"></param> /// <returns></returns> public PrimaveraResultStructure ActualizaTipoTerceiro(string cliente, string codLic) { PrimaveraResultStructure resultado = new PrimaveraResultStructure(); try { string str_query = String.Format("Select TipoTerceiro from tipoTerceiros where descricao ='{0}'", codLic); var objLista = _erpBs.Consulta(str_query); if (!objLista.Vazia()) { var objCliente = _erpBs.Comercial.Clientes.Edita(cliente); objCliente.set_TipoTerceiro(objLista.Valor("TipoTerceiro").ToString()); _erpBs.Comercial.Clientes.Actualiza(objCliente); resultado.codigo = 0; } } catch (Exception ex) { resultado.codigo = 3; resultado.descricao = ex.Message; } return resultado; }
public PrimaveraResultStructure RemoveContactoCliente(string cliente) { string source = "RemoveContactoCliente"; PrimaveraResultStructure result = new PrimaveraResultStructure(); try { List<string> lista = new List<string>(); var l = _erpBs.CRM.Contactos.ListaContactosDaEntidade("C", cliente); for (int i = 1; i <= l.NumItens; i++) { lista.Add(l.Edita[i].get_ID()); } //_erpBs.CRM.Contactos.RemoveContactosDaEntidade("C", cliente); foreach (var c in lista) _erpBs.CRM.Contactos.RemoveID(c); result = new PrimaveraResultStructure() { codigo = 0, descricao = "Codigos de Sucesso", tipoProblema = string.Format("[{0}] Os contactos da entidade {1} foram removidos com Sucesso", DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss"), cliente) }; PrimaveraWSLogger.escreveInformacao(string.Format("[{0}] Os contactos da entidade {1} foram removidos com Sucesso", DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss"), cliente), source); } catch (Exception e) { result = new PrimaveraResultStructure() { codigo = 3, descricao = string.Format("[{0}] Erro ao remover os contactos do cliente {1} devido ao seguinte erro: {2}", DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss"), cliente, e.Message), tipoProblema = "Erro Logica no Primavera", procedimento = "Consultar os técnicos do projecto", subNivel = "30 - O Erro ao actualizar o aluno" }; PrimaveraWSLogger.escreveErro(string.Format("[{0}] Erro ao remover os contactos do cliente {1} devido ao seguinte erro: {2}", DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss"), cliente, e.Message), source); } return result; }
/// <summary> /// Metodo para a gravação/actualização do contacto de um determinado cliente /// </summary> /// <param name="cliente"></param> /// <param name="codigo"></param> /// <param name="primeiroNome"></param> /// <param name="ultimoNome"></param> /// <param name="nomeCompleto"></param> /// <param name="morada"></param> /// <param name="localidade"></param> /// <param name="emailPrincipal"></param> /// <param name="emailAlternativo"></param> /// <param name="nrTelefone"></param> /// <param name="nrTelefoneAlternativo"></param> /// <returns></returns> public PrimaveraResultStructure GravarContactoCliente(string cliente, string codigo, string primeiroNome, string ultimoNome, string nomeCompleto, string morada, string localidade, string emailPrincipal, string emailAlternativo, string nrTelefone, string nrTelefoneAlternativo, string tipoContacto) { PrimaveraResultStructure result; string source = "GravarContactoCliente"; try { CrmBEContacto objContacto = new CrmBEContacto(); CrmBELinhaContactoEntidade objEntidateContacto = new CrmBELinhaContactoEntidade(); //Valida se existe o contacto do aluno no sistema if (_erpBs.CRM.Contactos.Existe(codigo)) { //Actualiza os contactos do Cliente objContacto = _erpBs.CRM.Contactos.Edita(codigo); objContacto.set_EmModoEdicao(true); objContacto.set_Contacto(codigo); //validar este campo, por ser a chave do contacto objContacto.set_PrimeiroNome(primeiroNome); objContacto.set_UltimoNome(ultimoNome); objContacto.set_Nome(nomeCompleto); objContacto.set_Morada(morada); objContacto.set_Localidade(localidade); objContacto.set_Telefone(nrTelefone); objContacto.set_Telefone2(nrTelefoneAlternativo); objContacto.set_Email(emailPrincipal); objContacto.set_EmailResid(emailAlternativo); objEntidateContacto = new CrmBELinhaContactoEntidade(); _erpBs.CRM.Contactos.Actualiza(objContacto); result = new PrimaveraResultStructure() { codigo = 0, descricao = "Codigos de Sucesso", tipoProblema = "Os Contactos do Aluno Actualizado Com Sucesso Completo" }; } else { objContacto = new CrmBEContacto(); objContacto.set_ID(Guid.NewGuid().ToString()); objContacto.set_Contacto(codigo); objContacto.set_PrimeiroNome(primeiroNome); objContacto.set_UltimoNome(ultimoNome); objContacto.set_Nome(nomeCompleto); objContacto.set_Morada(morada); objContacto.set_Localidade(localidade); objContacto.set_Telefone(nrTelefone); objContacto.set_Telefone2(nrTelefoneAlternativo); objContacto.set_Email(emailPrincipal); objContacto.set_EmailResid(emailAlternativo); objEntidateContacto = new CrmBELinhaContactoEntidade(); objEntidateContacto.set_IDContacto(objContacto.get_ID()); objEntidateContacto.set_Entidade(cliente); objEntidateContacto.set_TipoEntidade("C"); objEntidateContacto.set_Email(emailPrincipal); objEntidateContacto.set_Telefone(nrTelefone); objEntidateContacto.set_Telemovel(nrTelefoneAlternativo); objEntidateContacto.set_TipoContacto(tipoContacto); // Para já Fixo objContacto.get_LinhasEntidade().Insere(objEntidateContacto); _erpBs.CRM.Contactos.Actualiza(objContacto); result = new PrimaveraResultStructure() { codigo = 0, descricao = "Codigos de Sucesso", tipoProblema = "Os Contactos do Aluno Gravado Com Sucesso Completo" }; PrimaveraWSLogger.escreveInformacao(string.Format("[{0}] O contacto {1} - {2} foi gravado e adicionado ao cliente {3} com Sucesso", DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss"), codigo, nomeCompleto, cliente), source); } } catch (Exception e) { result = new PrimaveraResultStructure() { codigo = 3, descricao = "Erro ao gravar o aluno - " + e.Message, tipoProblema = "Erro Logica no Primavera", procedimento = "Consultar os técnicos do projecto", subNivel = "30 - O Erro ao gravar o aluno" }; PrimaveraWSLogger.escreveErro(string.Format("[{0}] Erro ao adicionar o contacto {1} - {2} ao cliente {3} devido ao seguinte erro: {4}", DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss"), codigo, nomeCompleto, cliente, e.Message), source); } return result; }
/// <summary> /// Metodo para a gravação/actualização do cliente no Erp Primavera usando os Motores Primavera /// </summary> /// <param name="codigo"></param> /// <param name="nome"></param> /// <param name="nuit"></param> /// <param name="vendedor"></param> /// <param name="observacao"></param> /// <param name="fac_Morada"></param> /// <param name="fac_Localidade"></param> /// <param name="fac_Telefone"></param> /// <param name="desconto"></param> /// <param name="cdu_bolsa"></param> /// <param name="cdu_geraMulta"></param> /// <param name="cdu_tipoIngresso"></param> /// <param name="cdu_codLic"></param> /// <param name="cdu_turma"></param> /// <returns></returns> public PrimaveraResultStructure GravarCliente(string codigo, string nome, string nuit, string vendedor, string observacao, string fac_Morada, string fac_Localidade, string fac_Telefone, float desconto = 0, bool cdu_bolsa = false, bool cdu_geraMulta = true, string cdu_tipoIngresso = "", string cdu_codLic = "", string cdu_turma = "") { string source = "GravarCliente"; PrimaveraResultStructure result; try { var str_query = String.Format("select cdu_condpag from TDU_ParametrosISUTC where cdu_vendedor='{0}'", vendedor); var condpag = this._erpBs.Consulta(str_query).Valor("cdu_condpag").ToString(); // Verifica se o cliente Existe if (_erpBs.Comercial.Clientes.Existe(codigo) == true) { //Actualização dos dados do Cliente _erpBs.Comercial.Clientes.ActualizaValorAtributo(codigo, "nome", nome); _erpBs.Comercial.Clientes.ActualizaValorAtributo(codigo, "NomeFiscal", nome); _erpBs.Comercial.Clientes.ActualizaValorAtributo(codigo, "Moeda", _erpBs.Contexto.MoedaBase); _erpBs.Comercial.Clientes.ActualizaValorAtributo(codigo, "NumContribuinte", nuit); _erpBs.Comercial.Clientes.ActualizaValorAtributo(codigo, "Vendedor", vendedor); _erpBs.Comercial.Clientes.ActualizaValorAtributo(codigo, "CondPag", condpag); _erpBs.Comercial.Clientes.ActualizaValorAtributo(codigo, "Desconto", desconto); _erpBs.Comercial.Clientes.ActualizaValorAtributo(codigo, "Morada", fac_Morada); _erpBs.Comercial.Clientes.ActualizaValorAtributo(codigo, "Telefone", fac_Telefone); _erpBs.Comercial.Clientes.ActualizaValorAtributo(codigo, "Localidade", fac_Localidade); _erpBs.Comercial.Clientes.ActualizaValorAtributo(codigo, "Observacoes", observacao); //Campos de utilizador _erpBs.Comercial.Clientes.ActualizaValorAtributo(codigo, "CDU_Bolsa", cdu_bolsa); _erpBs.Comercial.Clientes.ActualizaValorAtributo(codigo, "CDU_GeraMulta", cdu_geraMulta); _erpBs.Comercial.Clientes.ActualizaValorAtributo(codigo, "CDU_TipoIngresso", cdu_tipoIngresso); _erpBs.Comercial.Clientes.ActualizaValorAtributo(codigo, "CDU_CodLic", cdu_codLic); _erpBs.Comercial.Clientes.ActualizaValorAtributo(codigo, "CDU_Turma", cdu_turma); result = new PrimaveraResultStructure() { codigo = 0, descricao = "Codigos de Sucesso", tipoProblema = String.Format("Os dados Aluno {0} - {1} Gravados Com Sucesso Completo", codigo, nome) }; PrimaveraWSLogger.escreveInformacao(String.Format("[{0}] Os dados Aluno {1} - {2} Gravados Com Sucesso Completo", DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss"), codigo, nome), source); } else { GcpBECliente _cliente = new GcpBECliente(); _cliente.set_Cliente(codigo); _cliente.set_Nome(nome); _cliente.set_NomeFiscal(nome); _cliente.set_Moeda(_erpBs.Contexto.MoedaBase); _cliente.set_NumContribuinte(nuit); _cliente.set_Desconto(desconto); _cliente.set_Vendedor(vendedor); _cliente.set_CondPag(condpag); _cliente.set_Morada(fac_Morada); _cliente.set_Telefone(fac_Telefone); _cliente.set_Localidade(fac_Localidade); _cliente.set_Observacoes(observacao); _erpBs.Comercial.Clientes.Actualiza(_cliente); //Campos de utilizador _erpBs.Comercial.Clientes.ActualizaValorAtributo(codigo, "CDU_Bolsa", cdu_bolsa); _erpBs.Comercial.Clientes.ActualizaValorAtributo(codigo, "CDU_GeraMulta", cdu_geraMulta); _erpBs.Comercial.Clientes.ActualizaValorAtributo(codigo, "CDU_Turma", cdu_turma); _erpBs.Comercial.Clientes.ActualizaValorAtributo(codigo, "CDU_CodLic", cdu_codLic); _erpBs.Comercial.Clientes.ActualizaValorAtributo(codigo, "CDU_TipoIngresso", cdu_tipoIngresso); result = new PrimaveraResultStructure() { codigo = 0, descricao = "Codigos de Sucesso", tipoProblema = String.Format("Os dados Aluno {0} - {1} Actualizados Com Sucesso Completo", codigo, nome) }; PrimaveraWSLogger.escreveInformacao(String.Format("[{0}] Os dados Aluno {1} - {2} Actualizados Com Sucesso Completo", DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss"), codigo, nome), source); } } catch (Exception e) { result = new PrimaveraResultStructure() { codigo = 3, descricao = "Erro ao gravar o aluno - " + e.Message, tipoProblema = "Erro Logica no Primavera", procedimento = "Consultar os técnicos do projecto", subNivel = "30 - O Erro ao gravar o aluno" }; PrimaveraWSLogger.escreveErro(String.Format("[{0}] Erro ao gravar o aluno {1} - {2} devido ao seguinte erro: {3} ", DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss"), codigo, nome, e.Message), source); } return result; }
/// <summary> /// Metodo para do codigo do cliente, este metodo altera no primavera todas as tabelas relacionados com um determinado /// cliente /// </summary> /// <param name="codigoAntigo"></param> /// <param name="codigoNovo"></param> /// <returns></returns> public PrimaveraResultStructure AlteraCodigoCliente(string codigoAntigo, string codigoNovo) { PrimaveraResultStructure result; try { _erpBs.Comercial.Clientes.AlteraCodigoCliente(codigoAntigo, codigoNovo); result = new PrimaveraResultStructure() { codigo = 0, descricao = string.Format("Foi actualizado o codigo do cliente {0} para {1}", codigoAntigo, codigoNovo) }; } catch { result = new PrimaveraResultStructure() { codigo = 3, subNivel = "303", descricao = string.Format("Erro na alteração do codigo do cliente {0} para {1}", codigoAntigo, codigoNovo), procedimento = "Consultar os técnicos do projecto" }; } return result; }
/// <summary> /// Metodo para a criação das Avenças com base no documento de venda /// </summary> /// <returns></returns> public PrimaveraResultStructure CriaAvenca() { PrimaveraResultStructure resultado = new PrimaveraResultStructure(); string source = "CriaAvenca"; try { DateTime dataInicio, dataFim, dataPrimeiraPropina; string entidade, semestre, semestreAntigo, str_avisos = ""; semestre = _erpBs.Comercial.Vendas.DaValorAtributo( _documentoVenda.get_Filial(), _documentoVenda.get_Tipodoc(), _documentoVenda.get_Serie(), _documentoVenda.get_NumDoc(), "CDU_Semestre" ).ToString(); var sql_query = String.Format("select * from tdu_semestre where CDU_IdSemestre ='{0}'", semestre); var objLista = _erpBs.Consulta(sql_query); if (!objLista.Vazia()) { dataInicio = (DateTime)objLista.Valor("CDU_DataInicio"); dataFim = (DateTime)objLista.Valor("CDU_DataUltimaPropina"); dataPrimeiraPropina = (DateTime)objLista.Valor("CDU_DataPrimeiraPropina"); entidade = _erpBs.Comercial.Vendas.DaValorAtributo( _documentoVenda.get_Filial(), _documentoVenda.get_Tipodoc(), _documentoVenda.get_Serie(), _documentoVenda.get_NumDoc(), "Entidade" ).ToString(); var _aluno = _erpBs.Comercial.Clientes.Edita(entidade); if (_aluno.get_TipoTerceiro() != "") { if (_erpBs.Comercial.Avencas.Existe(_documentoVenda.get_Filial(), entidade)) { documentoAvenca = _erpBs.Comercial.Avencas.Edita(_documentoVenda.get_Filial(), entidade); semestreAntigo = _erpBs.Comercial.Vendas.DaValorAtributo( documentoAvenca.get_FilialDocOriginal(), documentoAvenca.get_TipoDocOriginal(), documentoAvenca.get_SerieDocOriginal(), documentoAvenca.get_NumDocOriginal(), "CDU_Semestre" ).ToString(); if (semestreAntigo != semestre) { documentoAvenca.set_SerieDocOriginal(_documentoVenda.get_Serie()); documentoAvenca.set_TipoDocOriginal(_documentoVenda.get_Tipodoc()); documentoAvenca.set_NumDocOriginal(_documentoVenda.get_NumDoc()); documentoAvenca.set_DataInicio(dataInicio); documentoAvenca.set_DataFim(dataFim); documentoAvenca.set_DataProximoProcessamento(dataPrimeiraPropina); _erpBs.Comercial.Avencas.Actualiza(documentoAvenca, str_avisos); } else { documentoAvenca.set_SerieDocOriginal(_documentoVenda.get_Serie()); documentoAvenca.set_TipoDocOriginal(_documentoVenda.get_Tipodoc()); documentoAvenca.set_NumDocOriginal(_documentoVenda.get_NumDoc()); _erpBs.Comercial.Avencas.Actualiza(documentoAvenca, str_avisos); } resultado = new PrimaveraResultStructure() { codigo = 0, descricao = string.Format("Foi actualizado com sucesso o contrato {0} {1}/{2} do aluno {3} e a respectiva avença para o semestre {4}", _documentoVenda.get_Tipodoc(), _documentoVenda.get_NumDoc(), _documentoVenda.get_Serie(), _documentoVenda.get_Nome(), semestre) }; } else { documentoAvenca = new GcpBEAvenca(); //Dados da avença documentoAvenca.set_Descricao((semestre + " " + _documentoVenda.get_Nome()).Substring(0, 19)); documentoAvenca.set_Avenca(_documentoVenda.get_Entidade()); documentoAvenca.set_Entidade(_documentoVenda.get_Entidade()); documentoAvenca.set_TipoEntidade("C"); documentoAvenca.set_TipoEntidadeFac("C"); documentoAvenca.set_EntidadeFac(_documentoVenda.get_Entidade()); //Dados do documento base documentoAvenca.set_SerieDocOriginal(_documentoVenda.get_Serie()); documentoAvenca.set_TipoDocOriginal(_documentoVenda.get_Tipodoc()); documentoAvenca.set_NumDocOriginal(_documentoVenda.get_NumDoc()); documentoAvenca.set_FilialDocOriginal(_documentoVenda.get_Filial()); //Dados do documento Destino documentoAvenca.set_TipoDocDestino("FA"); documentoAvenca.set_SerieDocDestino(_documentoVenda.get_Serie()); //Dados do Processamento da Avença documentoAvenca.set_DataInicio(dataInicio); documentoAvenca.set_DataFim(dataFim); documentoAvenca.set_DataProximoProcessamento(dataPrimeiraPropina); documentoAvenca.set_Periodicidade("0"); _erpBs.Comercial.Avencas.Actualiza(documentoAvenca, str_avisos); resultado = new PrimaveraResultStructure() { codigo = 0, descricao = string.Format("Foi criado com sucesso o contrato {0} {1}/{2} do aluno {3} e a respectiva avença para o semestre {4}", _documentoVenda.get_Tipodoc(), _documentoVenda.get_NumDoc(), _documentoVenda.get_Serie(), _documentoVenda.get_Nome(), semestre) }; } } else { resultado = new PrimaveraResultStructure() { codigo = 3, tipoProblema = "Erro Logica Primavera", procedimento = "Consulte aos Tecnicos do Projecto", descricao = string.Format("Erro ao criar a avença porque o aluno {0} - {1} no ERP Primavera", _documentoVenda.get_Entidade(), _documentoVenda.get_Nome()) }; } } else { resultado = new PrimaveraResultStructure() { codigo = 3, tipoProblema = "Erro Logica Primavera", procedimento = "Consulte aos Tecnicos do Projecto", descricao = string.Format("Erro ao criar a avença do aluno {0} - {1} não existe o semestre {2}", _documentoVenda.get_Entidade(), _documentoVenda.get_Nome(), semestre) }; } } catch (Exception ex) { resultado.codigo = 3; resultado.descricao = ex.Message; PrimaveraWSLogger.escreveErro(string.Format("[{0}] Erro Logica Primavera na gravação da avença, devido ao: {1}", DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss"), ex.Message), source); } return resultado; }
/// <summary> /// Metodo para a gravação de um determinado documento de venda /// </summary> /// <param name="nomeUtilizador"></param> /// <param name="cdu_semestre"></param> /// <returns></returns> public PrimaveraResultStructure Gravar_DocumentoVenda(string nomeUtilizador = "", string cdu_semestre = "") { ErpBS objmotor = _erpBs; string source = "Gravar_DocumentoVenda"; PrimaveraResultStructure resultado = new PrimaveraResultStructure(); string str_avisos = ""; try { objmotor.Comercial.Vendas.Actualiza(_documentoVenda, str_avisos); objmotor.Comercial.Vendas.ActualizaValorAtributo(_documentoVenda.get_Filial(), _documentoVenda.get_Tipodoc(), _documentoVenda.get_Serie(), _documentoVenda.get_NumDoc(), "CDU_NOME_UTILIZADOR", nomeUtilizador); objmotor.Comercial.Vendas.ActualizaValorAtributo(_documentoVenda.get_Filial(), _documentoVenda.get_Tipodoc(), _documentoVenda.get_Serie(), _documentoVenda.get_NumDoc(), "CDU_Semestre", cdu_semestre); resultado.codigo = 0; resultado.tipoProblema = str_avisos; resultado.descricao = string.Format("Foi Gerado o documento: #{0} {1}/{2}#", _documentoVenda.get_Tipodoc(), _documentoVenda.get_NumDoc(), _documentoVenda.get_Serie()); } catch (Exception e) { resultado.codigo = 3; resultado.descricao = e.Message; PrimaveraWSLogger.escreveErro(string.Format("[{0}] Erro Logica Primavera devido ao: {1}", DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss"), e.Message), source); } return resultado; }
/// <summary> /// Metodo para adicionar-se linhas/produtos ao documento de venda /// </summary> /// <param name="artigo"></param> /// <param name="quantidade"></param> /// <returns></returns> public PrimaveraResultStructure Adiciona_Linhas_DocumentoVenda(string artigo, double quantidade, double desconto) { ErpBS objmotor = _erpBs; string source = "Adiciona_Linhas_DocumentoVenda"; PrimaveraResultStructure result = new PrimaveraResultStructure(); try { int tamanho = _documentoVenda.get_Linhas().NumItens; int contandor = 0; objmotor.Comercial.Vendas.AdicionaLinha(_documentoVenda, artigo, quantidade); foreach (GcpBELinhaDocumentoVenda linhas in _documentoVenda.get_Linhas()) { if (contandor == tamanho) { linhas.set_Quantidade(quantidade); linhas.set_Desconto1(float.Parse(desconto.ToString())); } contandor++; } result = new PrimaveraResultStructure() { codigo = 0 }; } catch (Exception e) { result = new PrimaveraResultStructure() { codigo = 3, descricao = "Erro Logica Primavera - Adiciona Linhas DocumentoVenda " + e.Message, procedimento = "Contacto os Responsaveis do Projecto" }; PrimaveraWSLogger.escreveErro(string.Format("[{0}] Erro Logica Primavera devido ao: {1}", DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss"), e.Message), source); } return result; }
/// <summary> /// Metodo para adicionar-se linhas/produtos nos documentos de venda /// </summary> /// <param name="artigo"></param> /// <param name="quantidade"></param> /// <param name="armazem"></param> /// <param name="localizacao"></param> /// <param name="precoUnitario"></param> /// <returns></returns> public PrimaveraResultStructure Adiciona_Linhas_DocumentoVenda(string artigo, double quantidade, ref string armazem, ref string localizacao, double precoUnitario) { PrimaveraResultStructure result = new PrimaveraResultStructure(); string source = "Adiciona_Linhas_DocumentoVenda"; try { _erpBs.Comercial.Vendas.AdicionaLinha(_documentoVenda, artigo, quantidade, armazem, localizacao, precoUnitario); result = new PrimaveraResultStructure() { codigo = 0 }; } catch (Exception e) { result = new PrimaveraResultStructure() { codigo = 3, descricao = "Erro Logica Primavera - Adiciona Linhas DocumentoVenda " + e.Message, procedimento = "Contacto os Responsaveis do Projecto" }; PrimaveraWSLogger.escreveErro(string.Format("[{0}] Erro Logica Primavera devido ao: {1}", DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss"), e.Message), source); } return result; }
public PrimaveraResultStructure GravaDocumentoTesouraria(string DocumentoTesouraria, string ContaBancaria, string MovimentoBancario, string Rubrica, double Valor, DateTime Data, string FicheiroBMEPS, string RefATM) { string strSerieDocTes, strErro = "", strAvisos = "", strSQL = ""; double dblValor; PrimaveraResultStructure result; GcpBEDocumentoTesouraria documentoTesouraria = new GcpBEDocumentoTesouraria(); StdBELista lstLista; strSerieDocTes = _erpBs.Comercial.Series.DaSerieDefeito("B", DocumentoTesouraria); // VERIFICA SE AS TAXAS DO FICHEIRO JÁ FORAM INTEGRADAS strSQL = "SELECT TIPODOC, SERIE, NUMDOC, CONTAORIGEM FROM CabecTesouraria WHERE CDU_FicheiroBMEPS = '" + FicheiroBMEPS + "'"; lstLista = _erpBs.Consulta(strSQL); //SE JÁ INTEGROU FICHEIRO, ENTÃO NÃO VOLTA A INTEGRAR if (lstLista.NumLinhas() > 0) { lstLista.Inicio(); return new PrimaveraResultStructure { codigo = 3, descricao = "Aviso: Doc. Tesouraria com Taxas já existia (Conta: " + lstLista.Valor("CONTAORIGEM") + ") - " + lstLista.Valor("TipoDoc") + " " + lstLista.Valor("SERIE") + "/" + lstLista.Valor("NUMDOC") + "" }; } //SE NÃO EXISTE DOCUMENTO, ENTÃO CRIA NOVO DOCUMENTO documentoTesouraria.set_EmModoEdicao(false); documentoTesouraria.set_ModuloOrigem("B"); documentoTesouraria.set_Filial("000"); documentoTesouraria.set_TipoLancamento("000"); documentoTesouraria.set_Tipodoc(DocumentoTesouraria); documentoTesouraria.set_Serie(strSerieDocTes); documentoTesouraria.set_Data(Data); documentoTesouraria.set_Moeda(_erpBs.Contexto.MoedaBase); documentoTesouraria.set_Cambio(_erpBs.Contexto.MBaseCambioCompra); documentoTesouraria.set_CambioMBase(_erpBs.Contexto.MBaseCambioCompra); documentoTesouraria.set_CambioMAlt(_erpBs.Contexto.MAltCambioCompra); documentoTesouraria.set_AgrupaMovimentos(false); documentoTesouraria.set_Observacoes("Criado na integração do Ficheiro BMEPS. " + Environment.NewLine + "Taxas do ficheiro '" + FicheiroBMEPS + "'."); documentoTesouraria.get_CamposUtil().get_Item("CDU_FicheiroBMEPS").Valor = FicheiroBMEPS; _erpBs.Comercial.Tesouraria.AdicionaLinha(documentoTesouraria, MovimentoBancario, ContaBancaria, documentoTesouraria.get_Moeda(), Valor, "", "", Rubrica); try { _erpBs.Comercial.Tesouraria.Actualiza(documentoTesouraria, strAvisos); return result = new PrimaveraResultStructure() { codigo = 0, descricao = string.Format("- Doc. Tesouraria criado com Sucesso (Taxas BMEPS) - {0} {1}/{2} {3}", documentoTesouraria.get_Tipodoc(), documentoTesouraria.get_NumDoc(), documentoTesouraria.get_Serie(), strAvisos == "" ? strAvisos : "-Aviso: " + strAvisos) }; } catch (Exception ex) { return result = new PrimaveraResultStructure() { codigo = 3, descricao = string.Format("- Erro ao gravar documento tesouraria: {0}", ex.Message) }; } }
/// <summary> /// Metodo para o preenchemento do documento de venda, prenche-se os campos por defeito do documento de venda e os campos enviados no metodo /// </summary> /// <param name="tipodoc"></param> /// <param name="dataDoc"></param> /// <param name="dataGravacao"></param> /// <param name="tipoEntidade"></param> /// <param name="codigoEntidade"></param> /// <returns></returns> public PrimaveraResultStructure PreencheCabecalho_DocumentoVenda(string tipodoc, DateTime dataDoc, DateTime dataGravacao, string tipoEntidade, string codigoEntidade, string referencia = "") { string sourceName = "PreencheCabecalho_DocumentoVenda"; PrimaveraResultStructure result = new PrimaveraResultStructure(); try { _documentoVenda = new GcpBEDocumentoVenda(); _documentoVenda.set_Tipodoc(tipodoc); _documentoVenda.set_Serie(_erpBs.Comercial.Series.DaSerieDefeito("V", tipodoc)); _documentoVenda.set_DataDoc(dataDoc); _documentoVenda.set_DataGravacao(dataGravacao); _documentoVenda.set_TipoEntidade(tipoEntidade); _documentoVenda.set_Entidade(codigoEntidade); _documentoVenda.set_Requisicao(referencia); _documentoVenda.set_Referencia(referencia); _erpBs.Comercial.Vendas.PreencheDadosRelacionados(_documentoVenda); result = new PrimaveraResultStructure() { codigo = 0 }; } catch (Exception e) { result = new PrimaveraResultStructure() { codigo = 3, descricao = "Erro Logica Primavera - Preenche Cabeçalho do Documento " + e.Message, procedimento = "Contacto os Responsaveis do Projecto" }; PrimaveraWSLogger.escreveErro(result.ToString(), sourceName); } return result; }
public PrimaveraResultStructure GravaLigacaoBancos(string TipoEntidade, string Entidade, string Moeda, double Valor, DateTime DataDoc, string IdDoc, string Instituto, string RefATM, string strTipoDocTes, string strContaBancaria, string strMovBancario, bool DocumentoAdiantamento = false) { PrimaveraResultStructure result; try { string strSerieDocTes, strErro = "", strAvisos = ""; GcpBEDocumentoTesouraria documentoTesouraria = new GcpBEDocumentoTesouraria(); strSerieDocTes = _erpBs.Comercial.Series.DaSerieDefeito("B", strTipoDocTes); //'SE O DOCUMENTO DE LOGISTICA FOR UMA ADIANTAMENTO if (DocumentoAdiantamento) Valor = Math.Abs(Valor); documentoTesouraria.set_EmModoEdicao(false); documentoTesouraria.set_ModuloOrigem("M"); documentoTesouraria.set_Filial("000"); documentoTesouraria.set_TipoLancamento("000"); documentoTesouraria.set_Tipodoc(strTipoDocTes); documentoTesouraria.set_Serie(strSerieDocTes); documentoTesouraria.set_Data(DataDoc); documentoTesouraria.set_TipoEntidade(TipoEntidade); documentoTesouraria.set_Entidade(Entidade); documentoTesouraria.set_ContaOrigem(strContaBancaria); documentoTesouraria.set_Moeda(Moeda); documentoTesouraria.set_Cambio(_erpBs.Contexto.MBaseCambioCompra); documentoTesouraria.set_CambioMBase(_erpBs.Contexto.MBaseCambioCompra); documentoTesouraria.set_CambioMAlt(_erpBs.Contexto.MAltCambioCompra); documentoTesouraria.set_IdDocOrigem(IdDoc); documentoTesouraria.set_AgrupaMovimentos(false); _erpBs.Comercial.Tesouraria.AdicionaLinha(documentoTesouraria, strMovBancario, strContaBancaria, _erpBs.Contexto.MoedaBase, Valor, TipoEntidade, Entidade); var linhas = documentoTesouraria.get_Linhas(); int count = 0; foreach (GcpBELinhaDocTesouraria linha in linhas) { if (count == 0) { linha.set_DataMovimento(DataDoc.ToString()); linha.set_DataValor(DataDoc.ToString()); linha.set_Cambio(_erpBs.Contexto.MBaseCambioCompra); linha.set_CambioMBase(_erpBs.Contexto.MBaseCambioCompra); linha.set_CambioMAlt(_erpBs.Contexto.MAltCambioCompra); linha.set_Descricao("Ref. ATM " + RefATM); } count++; } _erpBs.Comercial.Tesouraria.Actualiza(documentoTesouraria, strAvisos); return result = new PrimaveraResultStructure() { codigo = 0, descricao = string.Format("- Doc. Tesouraria criado com Sucesso (Entidade: {0} ) - {1} {2}/{3} {4}", documentoTesouraria.get_Entidade(), documentoTesouraria.get_Tipodoc(), documentoTesouraria.get_NumDoc(), documentoTesouraria.get_Serie(), strAvisos == "" ? strAvisos : "-Aviso: " + strAvisos) }; } catch (Exception ex) { return result = new PrimaveraResultStructure() { codigo = 3, descricao = string.Format("- Erro ao gravar documento tesouraria: {0}", ex.Message) }; } }
public PrimaveraResultStructure GravaDocumentoLiquidacao(GcpBEDocumentoLiq docLiquidacao) { string strErro = "", strAvisos = ""; PrimaveraResultStructure result; //Actualiza a Liquidação if (_erpBs.Comercial.Liquidacoes.ValidaActualizacao(docLiquidacao, strErro)) { _erpBs.Comercial.Liquidacoes.Actualiza(docLiquidacao, strAvisos); return result = new PrimaveraResultStructure() { codigo = 0, descricao = string.Format("- Doc. Liquidação criado com Sucesso (Entidade: {0} ) - {1} {2}/{3} {4}", docLiquidacao.get_Entidade(), docLiquidacao.get_Tipodoc(), docLiquidacao.get_NumDoc(), docLiquidacao.get_Serie(), strAvisos == "" ? strAvisos : "-Aviso: " + strAvisos) }; } else return result = new PrimaveraResultStructure() { codigo = 3, descricao = string.Format("Erro ao gravar documento Liquidação (Entidade: {0}) devido ao erro {1} ", docLiquidacao.get_Entidade(), strErro) }; }