Esempio n. 1
0
        public string Gera_ModeloNF(TRegistro_CFGImpNF RegCfgImpNf)
        {
            TList_RegLanFaturamento listNF = new TList_RegLanFaturamento();

            this.reportManager.DataSources.Add("DTS", listNF);

            return(DefineDesigner(RegCfgImpNf));
        }
Esempio n. 2
0
        public static void ProcessarAplicacaoPedido(TList_RegLanFaturamento lNotas,
                                                    decimal Qtd_saldoAplicar,
                                                    TObjetoBanco banco)
        {
            bool st_transacao = false;
            TCD_LanAplicacaoPedido qtb_aplic = new TCD_LanAplicacaoPedido();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_aplic.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_aplic.Banco_Dados = banco;
                }
                lNotas.ForEach(p => p.lTicketAplicar.ForEach(v =>
                                                             GravarAplicacaoPedido(v.Cd_empresa,
                                                                                   Qtd_saldoAplicar,
                                                                                   p,
                                                                                   qtb_aplic.Banco_Dados)));
                if (st_transacao)
                {
                    qtb_aplic.Banco_Dados.Commit_Tran();
                }
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_aplic.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro processar aplicação: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_aplic.deletarBanco_Dados();
                }
            }
        }
Esempio n. 3
0
        public static TRegistro_LanFaturamento existeNumeroNota(string vNR_NotaFiscal,
                                                                string vNR_Serie,
                                                                string vCD_Empresa,
                                                                string vCD_Clifor,
                                                                string vInsc_estadual,
                                                                string vTP_Nota,
                                                                BancoDados.TObjetoBanco banco)
        {
            if (vNR_NotaFiscal.Equals(0))
            {
                return(null);
            }
            TList_RegLanFaturamento lista = new TList_RegLanFaturamento();

            if (vTP_Nota.Trim().Equals("P"))
            {
                lista = CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.Busca(vCD_Empresa,
                                                                                      vNR_NotaFiscal,
                                                                                      vNR_Serie,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      decimal.Zero,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      false,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      decimal.Zero,
                                                                                      decimal.Zero,
                                                                                      string.Empty,
                                                                                      "'P'",//Propria
                                                                                      string.Empty,
                                                                                      false,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      1,
                                                                                      string.Empty,
                                                                                      banco);
            }
            else if (vTP_Nota.Trim().Equals("T"))
            {
                lista = CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.Busca(vCD_Empresa,
                                                                                      vNR_NotaFiscal,
                                                                                      vNR_Serie,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      decimal.Zero,
                                                                                      vCD_Clifor,
                                                                                      string.Empty,
                                                                                      vInsc_estadual,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      false,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      decimal.Zero,
                                                                                      decimal.Zero,
                                                                                      string.Empty,
                                                                                      "'T'",//Terceiro
                                                                                      string.Empty,
                                                                                      false,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      1,
                                                                                      string.Empty,
                                                                                      banco);
            }

            if ((vTP_Nota.Trim() == "P") || (vTP_Nota.Trim() == "T"))
            {
                if (lista.Count > 0)
                {
                    return(lista[0]);
                }
                else
                {
                    return(null);
                }
            }
            else
            {
                return(null);
            }
        }
Esempio n. 4
0
        public static void Cancela_Transferencia(TRegistro_Transferencia val, TObjetoBanco banco)
        {
            string            Retorno           = string.Empty;
            bool              st_transacao      = false;
            TCD_Transferencia qtb_Transferencia = new TCD_Transferencia();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_Transferencia.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_Transferencia.Banco_Dados = banco;
                }

                //Verificar se o usuario tem permissão para cancelar nota fiscal
                if (!CamadaNegocio.Diversos.TCN_Usuario_RegraEspecial.ValidaRegra(Utils.Parametros.pubLogin, "PERMITIR CANCELAR NOTAS FISCAIS", qtb_Transferencia.Banco_Dados))
                {
                    throw new Exception("Usuario não tem permissão para cancelar nota fiscal.");
                }
                //Cancelar transferencia
                val.St_registro = "C";
                Altera_Transferencia(val, qtb_Transferencia.Banco_Dados);
                //Cancelar nota fiscal de origem
                TList_RegLanFaturamento lFatOrigem = TCN_LanFaturamento.Busca(val.Transf_X_Contrato_Origem[0].CD_Empresa,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              val.Transf_X_Contrato_Origem[0].NR_LanctoFiscal.ToString(),
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              decimal.Zero,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              false,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              decimal.Zero,
                                                                              decimal.Zero,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              false,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              0,
                                                                              string.Empty,
                                                                              qtb_Transferencia.Banco_Dados);
                if (lFatOrigem.Count > 0)
                {
                    TCN_LanFaturamento.CancelarFaturamento(lFatOrigem[0], qtb_Transferencia.Banco_Dados);
                }
                else
                {
                    throw new Exception("Nota Fiscal de Origem não encontrada!");
                }

                //Cancelar nota fiscal de destino
                TList_RegLanFaturamento lFatDestino = TCN_LanFaturamento.Busca(val.Transf_X_Contrato_Destino[0].CD_Empresa,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               val.Transf_X_Contrato_Destino[0].NR_LanctoFiscal.ToString(),
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               decimal.Zero,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               false,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               decimal.Zero,
                                                                               decimal.Zero,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               false,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               0,
                                                                               string.Empty,
                                                                               qtb_Transferencia.Banco_Dados);
                if (lFatDestino.Count > 0)
                {
                    TCN_LanFaturamento.CancelarFaturamento(lFatDestino[0], qtb_Transferencia.Banco_Dados);
                }
                else
                {
                    throw new Exception("Nota Fiscal de destino não encontrada!");
                }


                if (st_transacao)
                {
                    qtb_Transferencia.Banco_Dados.Commit_Tran();
                }
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_Transferencia.Banco_Dados.RollBack_Tran();
                }
                //Retornar o status da transferencia para ativo novamente
                val.St_registro = "A";
                throw new Exception(ex.Message);
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_Transferencia.deletarBanco_Dados();
                }
            }
        }
Esempio n. 5
0
        public static List <TRegistro_SaldoContratoGMO> processaFinanceiroGMO(string Nr_contrato,
                                                                              decimal id_LanctoGmo,
                                                                              TObjetoBanco banco)
        {
            //Buscar saldo pedido GMO
            List <TRegistro_SaldoContratoGMO> lSaldoContrato =
                new TCD_LanRoyaltiesGMO(banco).SelectSaldoContratoGMO(
                    new TpBusca[]
            {
                new TpBusca()
                {
                    vNM_Campo = "p.nr_contrato",
                    vOperador = "=",
                    vVL_Busca = Nr_contrato
                }
            }, 0);
            //Buscar Saldo NF GMO
            List <TRegistro_SaldoNFGMO> lSaldoNf =
                new TCD_LanRoyaltiesGMO(banco).SelectSaldoNFGMO(
                    new TpBusca[]
            {
                new TpBusca()
                {
                    vNM_Campo = "contrato.nr_contrato",
                    vOperador = "=",
                    vVL_Busca = Nr_contrato
                }
            }, 0);

            decimal pc_gmo_declarado = ConfigGer.TCN_CadParamGer.BuscaVlNumerico("PC_GMO_DECLARADO", banco);
            decimal pc_gmo_testado   = ConfigGer.TCN_CadParamGer.BuscaVlNumerico("PC_GMO_TESTADO", banco);

            TList_RegLanLiquidacao liq = new TList_RegLanLiquidacao();

            //credito/debito de todas as notas fiscais do pedido
            lSaldoContrato.ForEach(p =>
            {
                if ((p.Saldo_debito - p.Saldo_credito) > 0)
                {
                    //Credito/Debito da nota fiscal atual
                    lSaldoNf.ForEach(v =>
                    {
                        if ((v.Saldo_debito - v.Saldo_credito) > 0)
                        {
                            if (v.Tp_gmo.Trim().ToUpper().Equals("D") && pc_gmo_declarado.Equals(decimal.Zero))
                            {
                                throw new Exception("Não existe configuração percentual de GMO declarado configurado.\r\n" +
                                                    "Va em PARAMETROS->CONFIGURAÇÕES->CONFIGURAÇÕES GERAIS  e configure o percentual GMO declarado.");
                            }
                            if (v.Tp_gmo.Trim().ToUpper().Equals("T") && pc_gmo_testado.Equals(decimal.Zero))
                            {
                                throw new Exception("Não existe configuração percentual de GMO testado configurado.\r\n" +
                                                    "Va em PARAMETROS->CONFIGURAÇÕES->CONFIGURAÇÕES GERAIS  e configure o percentual GMO testado.");
                            }
                            decimal qtd_lancto = decimal.Zero;
                            if ((p.Saldo_debito - p.Saldo_credito) >= (v.Saldo_debito - v.Saldo_credito))
                            {
                                qtd_lancto = v.Saldo_debito - v.Saldo_credito;
                            }
                            else
                            {
                                qtd_lancto = p.Saldo_debito - p.Saldo_credito;
                            }
                            //Calcular impostos Retidos da Nota
                            TList_RegLanFaturamento lNf =
                                TCN_LanFaturamento.Busca(v.Cd_empresa,
                                                         string.Empty,
                                                         string.Empty,
                                                         v.Nr_lanctofiscal.ToString(),
                                                         string.Empty,
                                                         string.Empty,
                                                         decimal.Zero,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         false,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         decimal.Zero,
                                                         decimal.Zero,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         false,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         1,
                                                         string.Empty,
                                                         banco);
                            decimal vl_liquidar = decimal.Zero;
                            if (lNf.Count > 0)
                            {
                                //Buscar Item da Nota
                                TList_RegLanFaturamento_Item lItem =
                                    TCN_LanFaturamento_Item.Busca(v.Cd_empresa,
                                                                  v.Nr_lanctofiscal.Value.ToString(),
                                                                  v.Id_nfitem.Value.ToString(),
                                                                  banco);
                                if (lItem.Count > 0)
                                {
                                    //Calcular Impostos Retidos
                                    TCN_LanFaturamento_Item.PreencherOutrosImpostos(
                                        TCN_LanFaturamento_Item.procuraCondicaoFiscalImpostos(lNf[0].Cd_condfiscal_clifor,
                                                                                              lItem[0].Cd_condfiscal_produto,
                                                                                              lNf[0].Cd_movimentacaostring,
                                                                                              lNf[0].Tp_movimento,
                                                                                              lNf[0].Tp_pessoa,
                                                                                              lNf[0].Cd_empresa,
                                                                                              lNf[0].Nr_serie,
                                                                                              lNf[0].Cd_clifor,
                                                                                              lItem[0].Cd_unidEst,
                                                                                              lNf[0].Dt_emissao,
                                                                                              qtd_lancto,
                                                                                              TCN_CadConvUnidade.ConvertUnid(p.Cd_unidade,
                                                                                                                             p.Cd_unidade_valor,
                                                                                                                             (qtd_lancto * v.Vl_unitario),
                                                                                                                             2,
                                                                                                                             banco),
                                                                                              lNf[0].Tp_nota,
                                                                                              lNf[0].Cd_municipioexecservico,
                                                                                              banco), lItem[0], lNf[0].Tp_movimento);
                                    lNf[0].ItensNota = lItem;
                                }
                                TCN_LanFaturamento.CalcTotalNota(lNf[0]);
                                vl_liquidar = lNf[0].Vl_totalnota * ((v.Tp_gmo.Trim().ToUpper().Equals("D") ? pc_gmo_declarado : pc_gmo_testado) / 100);
                            }
                            else
                            {
                                //Valor liquidar
                                vl_liquidar = TCN_CadConvUnidade.ConvertUnid(p.Cd_unidade,
                                                                             p.Cd_unidade_valor,
                                                                             (qtd_lancto * v.Vl_unitario),
                                                                             2,
                                                                             banco) *
                                              ((v.Tp_gmo.Trim().ToUpper().Equals("D") ? pc_gmo_declarado : pc_gmo_testado) / 100);
                            }
                            //Liquidar duplicata
                            liquidaDuplicatas(v,
                                              p,
                                              vl_liquidar,
                                              qtd_lancto,
                                              banco);
                        }
                    });
                }
            });

            return(lSaldoContrato);
        }