Exemplo n.º 1
0
        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)
                };
            }



        }
Exemplo n.º 2
0
        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)
                };
            }



        }