public PrimaveraResultStructure CriaDocumentoAdiantamento(string TipoEntidade, string Entidade, string TipoDoc, DateTime Data, double Valor, string ReferenciaMB, string IdTransBMEPS, string FicheiroBMEPS) { GCPBELinhaPendente objLinhaPendente; string strAvisos = "", strErros = "", strCondPag = ""; DocAdiantamento = new GcpBEPendente(); objLinhaPendente = new GCPBELinhaPendente(); DocAdiantamento.set_Tipodoc(TipoDoc); DocAdiantamento.set_Serie(_erpBs.Comercial.Series.DaSerieDefeito("M", TipoDoc, Data)); DocAdiantamento.set_TipoEntidade(TipoEntidade); DocAdiantamento.set_Entidade(Entidade); DocAdiantamento.set_Moeda(_erpBs.Contexto.MoedaBase); DocAdiantamento.set_Utilizador(_erpBs.Contexto.UtilizadorActual); DocAdiantamento.set_DataIntroducao(DateTime.Now); //DocAdiantamento.set_IDHistorico(); _erpBs.Comercial.Pendentes.PreencheDadosRelacionados(DocAdiantamento); DocAdiantamento.set_DataDoc(Data); objLinhaPendente.set_Descricao("Ref. Banc.: " + ReferenciaMB); objLinhaPendente.set_Incidencia(Valor); objLinhaPendente.set_Total(objLinhaPendente.get_Incidencia()); objLinhaPendente.set_PercIvaDedutivel(100); DocAdiantamento.set_ValorTotal(objLinhaPendente.get_Incidencia()); DocAdiantamento.set_TotalIva(objLinhaPendente.get_ValorIva()); DocAdiantamento.set_ValorPendente(objLinhaPendente.get_Incidencia()); DocAdiantamento.get_CamposUtil().get_Item("CDU_Referencia").Valor = ReferenciaMB; DocAdiantamento.get_CamposUtil().get_Item("CDU_IDTransBMEPS").Valor = IdTransBMEPS; DocAdiantamento.get_CamposUtil().get_Item("CDU_FicheiroBMEPS").Valor = FicheiroBMEPS; try { _erpBs.Comercial.Pendentes.Actualiza(DocAdiantamento, strAvisos); return new PrimaveraResultStructure() { codigo = 0, descricao = string.Format("- Doc. Adiantamento Criado Com Sucesso (Entidade: {0} ) - {1} {2}/{3} {4}", DocAdiantamento.get_Entidade(), DocAdiantamento.get_Tipodoc(), DocAdiantamento.get_NumDoc(), DocAdiantamento.get_Serie(), strAvisos == "" ? strAvisos : "-Aviso: " + strAvisos) }; } catch (Exception ex) { return new PrimaveraResultStructure() { codigo = 3, descricao = string.Format("Erro ao gravar documento Liquidação (Entidade {0}) devido ao erro {1} ", DocAdiantamento.get_Entidade(), ex.Message) }; } }
public bool AdiccionaPendente(GcpBEDocumentoLiq docLiquidacao, GcpBEPendente pendente, double valorLiq) { string strEstadoLiq; if (docLiquidacao != null && valorLiq > 0) { strEstadoLiq = _erpBs.Comercial.TabVendas.DaValorAtributo(pendente.get_Tipodoc(), "Estado").ToString(); //Adiciona o documento de compra ao documento de liquidação _erpBs.Comercial.Liquidacoes.AdicionaLinha(docLiquidacao, pendente.get_Filial() , pendente.get_Modulo(), pendente.get_Tipodoc(), pendente.get_Serie(), pendente.get_NumDocInt(), pendente.get_NumPrestacao(), strEstadoLiq, pendente.get_NumTransferencia(), valorLiq); return true; } else return false; }