Esempio n. 1
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)
                };
            }



        }