コード例 #1
0
        private void Imprime_Danfe()
        {
            FormRelPadrao.Relatorio Danfe = new FormRelPadrao.Relatorio();
            Danfe.Altera_Relatorio = Altera_Relatorio;
            //Buscar NFe
            TRegistro_LanFaturamento rNfe = TCN_LanFaturamento.BuscarNF((bsNotaFiscal.Current as TRegistro_LanFaturamento).Cd_empresa,
                                                                        (bsNotaFiscal.Current as TRegistro_LanFaturamento).Nr_lanctofiscalstr,
                                                                        null);

            //Buscar Itens NFe
            rNfe.ItensNota = TCN_LanFaturamento_Item.Busca(rNfe.Cd_empresa,
                                                           rNfe.Nr_lanctofiscalstr,
                                                           string.Empty,
                                                           null);
            Danfe.Parametros_Relatorio.Add("VL_IPI", rNfe.ItensNota.Sum(v => v.Vl_ipi));
            Danfe.Parametros_Relatorio.Add("VL_ICMS", rNfe.ItensNota.Sum(v => v.Vl_icms + v.Vl_FCP));
            Danfe.Parametros_Relatorio.Add("VL_BASEICMS", rNfe.ItensNota.Sum(v => v.Vl_basecalcICMS));
            Danfe.Parametros_Relatorio.Add("VL_BASEICMSSUBST", rNfe.ItensNota.Sum(v => v.Vl_basecalcSTICMS));
            Danfe.Parametros_Relatorio.Add("VL_ICMSSUBST", rNfe.ItensNota.Sum(v => v.Vl_ICMSST + v.Vl_FCPST));

            BindingSource Bin = new BindingSource();

            Bin.DataSource = new TList_RegLanFaturamento()
            {
                rNfe
            };
            Danfe.Nome_Relatorio = "TFLanFaturamento_Danfe";
            Danfe.NM_Classe      = "TFLanConsultaNFe";
            Danfe.Modulo         = "FAT";
            Danfe.Ident          = "TFLanFaturamento_Danfe";
            Danfe.DTS_Relatorio  = Bin;
            //Buscar financeiro da DANFE
            CamadaDados.Financeiro.Duplicata.TList_RegLanParcela lParc =
                new CamadaDados.Financeiro.Duplicata.TCD_LanParcela().Select(
                    new Utils.TpBusca[]
            {
                new Utils.TpBusca()
                {
                    vNM_Campo = "isnull(a.st_registro, 'A')",
                    vOperador = "<>",
                    vVL_Busca = "'L'"
                },
                new Utils.TpBusca()
                {
                    vNM_Campo = string.Empty,
                    vOperador = "exists",
                    vVL_Busca = "(select 1 from tb_fin_duplicata x " +
                                "inner join tb_fat_notafiscal_x_duplicata y " +
                                "on x.cd_empresa = y.cd_empresa " +
                                "and x.nr_lancto = y.nr_lanctoduplicata " +
                                "where isnull(x.st_registro, 'A') <> 'C' " +
                                "and x.cd_empresa = a.cd_empresa " +
                                "and x.nr_lancto = a.nr_lancto " +
                                "and y.cd_empresa = '" + (bsNotaFiscal.Current as TRegistro_LanFaturamento).Cd_empresa.Trim() + "' " +
                                "and y.nr_lanctofiscal = " + (bsNotaFiscal.Current as TRegistro_LanFaturamento).Nr_lanctofiscal + ")"
                }
            }, 0, string.Empty, "a.dt_vencto, c.nm_clifor", string.Empty);
            if (lParc.Count == 0)
            {
                //Verificar se Nota a nota foi vinculada de um cupom e buscar o Financeiro
                lParc =
                    new CamadaDados.Financeiro.Duplicata.TCD_LanParcela().Select(
                        new Utils.TpBusca[]
                {
                    new Utils.TpBusca()
                    {
                        vNM_Campo = "isnull(a.st_registro, 'A')",
                        vOperador = "<>",
                        vVL_Busca = "'L'"
                    },
                    new Utils.TpBusca()
                    {
                        vNM_Campo = string.Empty,
                        vOperador = "exists",
                        vVL_Busca = "(select 1 from tb_fin_duplicata x " +
                                    "inner join TB_PDV_CupomFiscal_X_Duplicata y " +
                                    "on x.cd_empresa = y.cd_empresa " +
                                    "and x.nr_lancto = y.nr_lancto " +
                                    "inner join TB_PDV_Cupom_X_VendaRapida k " +
                                    "on y.cd_empresa = k.cd_empresa " +
                                    "and y.id_cupom = k.id_vendarapida " +
                                    "inner join TB_FAT_ECFVinculadoNF z " +
                                    "on k.cd_empresa = z.cd_empresa " +
                                    "and k.id_cupom = z.id_cupom " +
                                    "where isnull(x.st_registro, 'A') <> 'C' " +
                                    "and x.cd_empresa = a.cd_empresa " +
                                    "and x.nr_lancto = a.nr_lancto " +
                                    "and z.cd_empresa = '" + (bsNotaFiscal.Current as TRegistro_LanFaturamento).Cd_empresa.Trim() + "' " +
                                    "and z.nr_lanctofiscal = " + (bsNotaFiscal.Current as TRegistro_LanFaturamento).Nr_lanctofiscal + ")"
                    }
                }, 0, string.Empty, "a.dt_vencto, c.nm_clifor", string.Empty);
                if (lParc.Count == 0)
                {
                    //Verificar se Nota foi gerada de uma venda rapida e buscar o Financeiro
                    lParc =
                        new CamadaDados.Financeiro.Duplicata.TCD_LanParcela().Select(
                            new Utils.TpBusca[]
                    {
                        new Utils.TpBusca()
                        {
                            vNM_Campo = "isnull(a.st_registro, 'A')",
                            vOperador = "<>",
                            vVL_Busca = "'L'"
                        },
                        new Utils.TpBusca()
                        {
                            vNM_Campo = string.Empty,
                            vOperador = "exists",
                            vVL_Busca = "(select 1 from tb_fin_duplicata x " +
                                        "inner join TB_PDV_CupomFiscal_X_Duplicata y " +
                                        "on x.cd_empresa = y.cd_empresa " +
                                        "and x.nr_lancto = y.nr_lancto " +
                                        "inner join TB_PDV_Pedido_X_VendaRapida k " +
                                        "on k.cd_empresa = y.cd_empresa " +
                                        "and k.id_vendarapida = y.id_cupom " +
                                        "inner join TB_FAT_NotaFiscal z " +
                                        "on z.cd_empresa = k.cd_empresa " +
                                        "and z.nr_pedido = k.nr_pedido " +
                                        "where isnull(x.st_registro, 'A') <> 'C' " +
                                        "and x.cd_empresa = a.cd_empresa " +
                                        "and x.nr_lancto = a.nr_lancto " +
                                        "and z.cd_empresa = '" + (bsNotaFiscal.Current as TRegistro_LanFaturamento).Cd_empresa.Trim() + "' " +
                                        "and z.nr_lanctofiscal = " + (bsNotaFiscal.Current as TRegistro_LanFaturamento).Nr_lanctofiscal + ")"
                        }
                    }, 0, string.Empty, "a.dt_vencto, c.nm_clifor", string.Empty);
                }
            }
            if (lParc.Count > 0)
            {
                for (int i = 0; i < lParc.Count; i++)
                {
                    if (i < 12)
                    {
                        Danfe.Parametros_Relatorio.Add("DT_VENCTO" + i.ToString(), lParc[i].Dt_venctostring);
                        Danfe.Parametros_Relatorio.Add("VL_DUP" + i.ToString(), lParc[i].Vl_parcela_padrao);
                    }
                    else
                    {
                        break;
                    }
                }
            }
            //Verificar se existe logo configurada para a empresa
            object log = new CamadaDados.Diversos.TCD_CadEmpresa().BuscarEscalar(
                new Utils.TpBusca[]
            {
                new Utils.TpBusca()
                {
                    vNM_Campo = "a.cd_empresa",
                    vOperador = "=",
                    vVL_Busca = "'" + (bsNotaFiscal.Current as TRegistro_LanFaturamento).Cd_empresa.Trim() + "'"
                }
            }, "a.logoEmpresa");

            if (log != null)
            {
                Danfe.Parametros_Relatorio.Add("IMAGEM_RELATORIO", log);
            }
            Danfe.Gera_Relatorio();
        }
コード例 #2
0
        private void ImprimirDanfe()
        {
            //Verificar status NFe
            object obj = new CamadaDados.Faturamento.NFE.TCD_LanLoteNFE_X_NotaFiscal().BuscarEscalar(
                new Utils.TpBusca[]
            {
                new Utils.TpBusca()
                {
                    vNM_Campo = "a.cd_empresa",
                    vOperador = "=",
                    vVL_Busca = "'" + rNfe.Cd_empresa.Trim() + "'"
                },
                new Utils.TpBusca()
                {
                    vNM_Campo = "a.nr_lanctofiscal",
                    vOperador = "=",
                    vVL_Busca = rNfe.Nr_lanctofiscal.ToString()
                },
                new Utils.TpBusca()
                {
                    vNM_Campo = string.Empty,
                    vOperador = "exists",
                    vVL_Busca = "(select 1 from TB_FAT_LoteNFE x " +
                                "where x.id_lote = a.id_lote " +
                                "and x.st_registro = 'P' " +
                                "and x.status = '104')"
                }
            }, "a.status");

            if (obj != null)
            {
                if (obj.ToString().Trim().Equals("100"))
                {
                    try
                    {
                        using (FormRelPadrao.TFGerenciadorImpressao fImp = new FormRelPadrao.TFGerenciadorImpressao())
                        {
                            FormRelPadrao.Relatorio Rel = new FormRelPadrao.Relatorio();
                            Rel.Altera_Relatorio = Altera_Relatorio;

                            BindingSource BinDados = new BindingSource();
                            if (rNfe != null)
                            {
                                //Buscar registro nfe x nota fiscal
                                CamadaDados.Faturamento.NFE.TList_LanLoteNFE_X_NotaFiscal lLoteNfe =
                                    new CamadaDados.Faturamento.NFE.TCD_LanLoteNFE_X_NotaFiscal().Select(
                                        new Utils.TpBusca[]
                                {
                                    new Utils.TpBusca()
                                    {
                                        vNM_Campo = "a.cd_empresa",
                                        vOperador = "=",
                                        vVL_Busca = "'" + rNfe.Cd_empresa.Trim() + "'"
                                    },
                                    new Utils.TpBusca()
                                    {
                                        vNM_Campo = "a.nr_lanctofiscal",
                                        vOperador = "=",
                                        vVL_Busca = rNfe.Nr_lanctofiscalstr
                                    },
                                    new Utils.TpBusca()
                                    {
                                        vNM_Campo = "a.status",
                                        vOperador = "=",
                                        vVL_Busca = "'100'"
                                    }
                                }, 1, string.Empty);
                                if (lLoteNfe.Count > 0)
                                {
                                    rNfe.Dt_processamento = lLoteNfe[0].Dt_processamento;
                                    rNfe.Nr_protocolo     = lLoteNfe[0].Nr_protocolo.HasValue ? lLoteNfe[0].Nr_protocolo.Value.ToString() : string.Empty;
                                }
                                Rel.Parametros_Relatorio.Add("VL_IPI", rNfe.ItensNota.Sum(v => v.Vl_ipi));
                                Rel.Parametros_Relatorio.Add("VL_ICMS", rNfe.ItensNota.Sum(v => v.Vl_icms + v.Vl_FCP));
                                Rel.Parametros_Relatorio.Add("VL_BASEICMS", rNfe.ItensNota.Sum(v => v.Vl_basecalcICMS));
                                Rel.Parametros_Relatorio.Add("VL_BASEICMSSUBST", rNfe.ItensNota.Sum(v => v.Vl_basecalcSTICMS));
                                Rel.Parametros_Relatorio.Add("VL_ICMSSUBST", rNfe.ItensNota.Sum(v => v.Vl_ICMSST + v.Vl_FCPST));

                                //Buscar conf impressao da nota fiscal
                                obj = new CamadaDados.Faturamento.Cadastros.TCD_CFGImpNF().BuscarEscalar(
                                    new Utils.TpBusca[]
                                {
                                    new Utils.TpBusca()
                                    {
                                        vNM_Campo = "a.cd_empresa",
                                        vOperador = "=",
                                        vVL_Busca = "'" + rNfe.Cd_empresa.Trim() + "'"
                                    },
                                    new Utils.TpBusca()
                                    {
                                        vNM_Campo = "a.nr_serie",
                                        vOperador = "=",
                                        vVL_Busca = "'" + rNfe.Nr_serie.Trim() + "'"
                                    }
                                }, "a.QT_ItensNota");
                                if (obj != null)
                                {
                                    if (rNfe.ItensNota.Count < Convert.ToDecimal(obj.ToString()))
                                    {
                                        while (rNfe.ItensNota.Count < Convert.ToDecimal(obj.ToString()))
                                        {
                                            rNfe.ItensNota.Add(new CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento_Item());
                                        }
                                    }
                                }
                            }
                            BinDados.DataSource = new CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento()
                            {
                                rNfe
                            };
                            Rel.DTS_Relatorio = BinDados;
                            //Buscar financeiro da DANFE
                            CamadaDados.Financeiro.Duplicata.TList_RegLanParcela lParc =
                                new CamadaDados.Financeiro.Duplicata.TCD_LanParcela().Select(
                                    new Utils.TpBusca[]
                            {
                                new Utils.TpBusca()
                                {
                                    vNM_Campo = "isnull(a.st_registro, 'A')",
                                    vOperador = "<>",
                                    vVL_Busca = "'L'"
                                },
                                new Utils.TpBusca()
                                {
                                    vNM_Campo = string.Empty,
                                    vOperador = "exists",
                                    vVL_Busca = "(select 1 from tb_fin_duplicata x " +
                                                "inner join tb_fat_notafiscal_x_duplicata y " +
                                                "on x.cd_empresa = y.cd_empresa " +
                                                "and x.nr_lancto = y.nr_lanctoduplicata " +
                                                "where isnull(x.st_registro, 'A') <> 'C' " +
                                                "and x.cd_empresa = a.cd_empresa " +
                                                "and x.nr_lancto = a.nr_lancto " +
                                                "and y.cd_empresa = '" + rNfe.Cd_empresa.Trim() + "' " +
                                                "and y.nr_lanctofiscal = " + rNfe.Nr_lanctofiscal.ToString() + ")"
                                }
                            }, 0, string.Empty, "a.dt_vencto, c.nm_clifor", string.Empty);

                            if (lParc.Count == 0)
                            {
                                //Verificar se a nota foi vinculada de um cupom e buscar o Financeiro
                                lParc =
                                    new CamadaDados.Financeiro.Duplicata.TCD_LanParcela().Select(
                                        new Utils.TpBusca[]
                                {
                                    new Utils.TpBusca()
                                    {
                                        vNM_Campo = "isnull(a.st_registro, 'A')",
                                        vOperador = "<>",
                                        vVL_Busca = "'L'"
                                    },
                                    new Utils.TpBusca()
                                    {
                                        vNM_Campo = string.Empty,
                                        vOperador = "exists",
                                        vVL_Busca = "(select 1 from tb_fin_duplicata x " +
                                                    "inner join TB_PDV_CupomFiscal_X_Duplicata y " +
                                                    "on x.cd_empresa = y.cd_empresa " +
                                                    "and x.nr_lancto = y.nr_lancto " +
                                                    "inner join TB_PDV_Cupom_X_VendaRapida k " +
                                                    "on y.cd_empresa = k.cd_empresa " +
                                                    "and y.id_cupom = k.id_vendarapida " +
                                                    "inner join TB_FAT_ECFVinculadoNF z " +
                                                    "on k.cd_empresa = z.cd_empresa " +
                                                    "and k.id_cupom = z.id_cupom " +
                                                    "where isnull(x.st_registro, 'A') <> 'C' " +
                                                    "and x.cd_empresa = a.cd_empresa " +
                                                    "and x.nr_lancto = a.nr_lancto " +
                                                    "and z.cd_empresa = '" + rNfe.Cd_empresa.Trim() + "' " +
                                                    "and z.nr_lanctofiscal = " + rNfe.Nr_lanctofiscal + ")"
                                    }
                                }, 0, string.Empty, "a.dt_vencto, c.nm_clifor", string.Empty);
                                if (lParc.Count == 0)
                                {
                                    //Verificar se Nota foi gerada de uma venda rapida e buscar o Financeiro
                                    lParc =
                                        new CamadaDados.Financeiro.Duplicata.TCD_LanParcela().Select(
                                            new Utils.TpBusca[]
                                    {
                                        new Utils.TpBusca()
                                        {
                                            vNM_Campo = "isnull(a.st_registro, 'A')",
                                            vOperador = "<>",
                                            vVL_Busca = "'L'",
                                        },
                                        new Utils.TpBusca()
                                        {
                                            vNM_Campo = string.Empty,
                                            vOperador = "exists",
                                            vVL_Busca = "(select 1 from tb_fin_duplicata x " +
                                                        "inner join TB_PDV_CupomFiscal_X_Duplicata y " +
                                                        "on x.cd_empresa = y.cd_empresa " +
                                                        "and x.nr_lancto = y.nr_lancto " +
                                                        "inner join TB_PDV_Pedido_X_VendaRapida k " +
                                                        "on k.cd_empresa = y.cd_empresa " +
                                                        "and k.id_vendarapida = y.id_cupom " +
                                                        "inner join TB_FAT_NotaFiscal z " +
                                                        "on z.cd_empresa = k.cd_empresa " +
                                                        "and z.nr_pedido = k.nr_pedido " +
                                                        "where isnull(x.st_registro, 'A') <> 'C' " +
                                                        "and x.cd_empresa = a.cd_empresa " +
                                                        "and x.nr_lancto = a.nr_lancto " +
                                                        "and z.cd_empresa = '" + rNfe.Cd_empresa.Trim() + "' " +
                                                        "and z.nr_lanctofiscal = " + rNfe.Nr_lanctofiscal + ")"
                                        }
                                    }, 0, string.Empty, "a.dt_vencto, c.nm_clifor", string.Empty);
                                }
                            }
                            if (lParc.Count > 0)
                            {
                                for (int i = 0; i < lParc.Count; i++)
                                {
                                    if (i < 12)
                                    {
                                        Rel.Parametros_Relatorio.Add("DT_VENCTO" + i.ToString(), lParc[i].Dt_venctostring);
                                        Rel.Parametros_Relatorio.Add("VL_DUP" + i.ToString(), lParc[i].cVl_atual);
                                    }
                                    else
                                    {
                                        break;
                                    }
                                }
                            }
                            Rel.Nome_Relatorio          = "TFLanFaturamento_Danfe";
                            Rel.NM_Classe               = "TFLanConsultaNFe";
                            Rel.Modulo                  = "FAT";
                            Rel.Ident                   = "TFLanFaturamento_Danfe";
                            fImp.St_enabled_enviaremail = true;
                            fImp.pCd_clifor             = rNfe.Cd_clifor;
                            fImp.pMensagem              = "DANFE Nº" + rNfe.Nr_notafiscal.ToString();
                            fImp.St_danfe               = true;
                            //Verificar se existe logo configurada para a empresa
                            object log = new CamadaDados.Diversos.TCD_CadEmpresa().BuscarEscalar(
                                new Utils.TpBusca[]
                            {
                                new Utils.TpBusca()
                                {
                                    vNM_Campo = "a.cd_empresa",
                                    vOperador = "=",
                                    vVL_Busca = "'" + rNfe.Cd_empresa.Trim() + "'"
                                }
                            }, "a.logoEmpresa");
                            if (log != null)
                            {
                                Rel.Parametros_Relatorio.Add("IMAGEM_RELATORIO", log);
                            }
                            if (Altera_Relatorio)
                            {
                                Rel.Gera_Relatorio(string.Empty,
                                                   fImp.pSt_imprimir,
                                                   fImp.pSt_visualizar,
                                                   fImp.pSt_enviaremail,
                                                   fImp.pSt_exportPdf,
                                                   fImp.Path_exportPdf,
                                                   fImp.pDestinatarios,
                                                   null,
                                                   "DANFE",
                                                   fImp.pDs_mensagem);
                                Altera_Relatorio = false;
                            }
                            else if ((fImp.ShowDialog() == DialogResult.OK) || (fImp.pSt_enviaremail))
                            {
                                List <string> Anexo = null;
                                if (fImp.St_receberXmlNfe)
                                {
                                    string path_anexo = CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVlString("PATH_ANEXO_EMAIL", null);
                                    if (!string.IsNullOrEmpty(path_anexo))
                                    {
                                        if (!System.IO.Directory.Exists(path_anexo))
                                        {
                                            System.IO.Directory.CreateDirectory(path_anexo);
                                        }
                                        if (!path_anexo.EndsWith("\\"))
                                        {
                                            path_anexo += System.IO.Path.DirectorySeparatorChar.ToString();
                                        }

                                        //Limpar diretorio path arquivo
                                        string[] arq = System.IO.Directory.GetFiles(path_anexo.Trim(), "*.xml");
                                        try
                                        {
                                            srvNFE.GerarArq.TGerarArq2.GerarArqXmlPeriodo(path_anexo,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          rNfe.Cd_empresa,
                                                                                          rNfe.Nr_notafiscal.ToString(),
                                                                                          rNfe.rCfgNfe);
                                        }
                                        catch { }
                                        //Ler arquivo gerado
                                        Anexo = new List <string>();
                                        Anexo.Add(path_anexo + rNfe.Chave_acesso_nfe.Trim() + "-nfe.xml");
                                    }
                                }
                                Rel.Gera_Relatorio(string.Empty,
                                                   fImp.pSt_imprimir,
                                                   fImp.pSt_visualizar,
                                                   fImp.pSt_enviaremail,
                                                   fImp.pSt_exportPdf,
                                                   fImp.Path_exportPdf,
                                                   fImp.pDestinatarios,
                                                   Anexo,
                                                   "DANFE",
                                                   fImp.pDs_mensagem);
                            }
                        }
                    }
                    catch { }
                }
                else
                {
                    MessageBox.Show("Lote Processado com Sucesso.\r\nNota Fiscal não foi aceita pela receita.\r\n" +
                                    "Verifique o erro na tela de controle de NFe.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            else
            {
                MessageBox.Show("Erro ao processar Lote NFe.\r\n" +
                                "Verifique o erro na tela de controle de NFe.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
コード例 #3
0
        private void TFReceberConvenio_Load(object sender, EventArgs e)
        {
            ShapeGrid.RestoreShape(this, dataGridDefault1);
            ShapeGrid.RestoreShape(this, dataGridDefault2);
            ShapeGrid.RestoreShape(this, gPortador);
            this.Icon = ResourcesUtils.TecnoAliance_ICO;
            this.pDados.set_FormatZero();
            cd_clifor.Text   = Cd_clifor;
            nm_clifor.Text   = Nm_clifor;
            cd_endereco.Text = Cd_endereco;
            object obj = new CamadaDados.Financeiro.Cadastros.TCD_CadEndereco().BuscarEscalar(
                new TpBusca[]
            {
                new TpBusca()
                {
                    vNM_Campo = "a.cd_clifor",
                    vOperador = "=",
                    vVL_Busca = "'" + cd_clifor.Text.Trim() + "'"
                },
                new TpBusca()
                {
                    vNM_Campo = "a.cd_endereco",
                    vOperador = "=",
                    vVL_Busca = "'" + cd_endereco.Text.Trim() + "'"
                }
            }, "a.ds_endereco");

            if (obj != null)
            {
                ds_endereco.Text = obj.ToString();
            }

            //Buscar listagem de convenios do cliente
            bsConvenio.DataSource    = lConv;
            bsVenda.DataSource       = lItemVenda;
            bsCombustivel.DataSource = lVenda;
            tot_outrasvenda.Value    = lItemVenda.Sum(p => p.Vl_subtotalliquido);
            total_receber.Value      = tot_liquido.Value + tot_outrasvenda.Value;
            //Buscar duplicatas vencidas
            obj = new CamadaDados.Financeiro.Duplicata.TCD_LanParcela().BuscarEscalar(
                new TpBusca[]
            {
                new TpBusca()
                {
                    vNM_Campo = "a.cd_empresa",
                    vOperador = "=",
                    vVL_Busca = "'" + lConv[0].Cd_empresa.Trim() + "'"
                },
                new TpBusca()
                {
                    vNM_Campo = "a.cd_clifor",
                    vOperador = "=",
                    vVL_Busca = "'" + cd_clifor.Text.Trim() + "'"
                },
                new TpBusca()
                {
                    vNM_Campo = "a.tp_mov",
                    vOperador = "=",
                    vVL_Busca = "'R'"
                },
                new TpBusca()
                {
                    vNM_Campo = "isnull(dup.st_registro, 'A')",
                    vOperador = "<>",
                    vVL_Busca = "'C'"
                },
                new TpBusca()
                {
                    vNM_Campo = "CONVERT(datetime, floor(convert(decimal(30,10), DATEADD(day, isnull(c.diascarenciadebvencto, 0), a.DT_Vencto))))",
                    vOperador = "<",
                    vVL_Busca = "convert(datetime, floor(convert(decimal(30,10), getdate())))"
                }
            }, "isnull(sum(a.Vl_Atual), 0)");
            if (obj != null)
            {
                vl_dupvencidas.Value = decimal.Parse(obj.ToString());
            }
            if ((!string.IsNullOrEmpty(this.pplaca)) && (this.pplaca.Trim() != "-"))
            {
                placa.Text       = this.pplaca;
                placa.Enabled    = !this.St_placacadastrada;
                bb_placa.Enabled = !this.St_placacadastrada;
            }
        }
コード例 #4
0
        public static void EstornarLote(TRegistro_LoteBloqueto val, BancoDados.TObjetoBanco banco)
        {
            bool             st_transacao = false;
            TCD_LoteBloqueto qtb_lote     = new TCD_LoteBloqueto();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_lote.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_lote.Banco_Dados = banco;
                }
                //Inicio do processo de estornar lote
                if (val.St_registro.Trim().ToUpper().Equals("P"))
                {
                    if (val.ListaCaixa.Count > 0)
                    {
                        //Verificar se nao existe alguma parcela que originou bloqueto ja liquidada
                        foreach (var p in val.ListaBloqueto)
                        {
                            CamadaDados.Financeiro.Duplicata.TList_RegLanParcela lParcela =
                                new CamadaDados.Financeiro.Duplicata.TCD_LanParcela(qtb_lote.Banco_Dados).Select(
                                    new TpBusca[]
                            {
                                new TpBusca()
                                {
                                    vNM_Campo = "isnull(a.st_registro, 'A')",
                                    vOperador = "in",
                                    vVL_Busca = "('L', 'P')"
                                },
                                new TpBusca()
                                {
                                    vNM_Campo = "isnull(d.st_registro, 'A')",
                                    vOperador = "=",
                                    vVL_Busca = "'A'"
                                },
                                new TpBusca()
                                {
                                    vNM_Campo = string.Empty,
                                    vOperador = "exists",
                                    vVL_Busca = "(select 1 from tb_cob_titulo x " +
                                                "where x.cd_empresa = a.cd_empresa " +
                                                "and x.nr_lancto = a.nr_lancto " +
                                                "and x.cd_parcela = a.cd_parcela " +
                                                "and x.cd_empresa = '" + p.Cd_empresa.Trim() + "'" +
                                                "and x.nr_lancto = " + p.Nr_lancto.ToString() +
                                                "and x.cd_parcela = " + p.Cd_parcela.ToString() + ")"
                                }
                            }, 0, string.Empty, "a.dt_vencto, c.nm_clifor", string.Empty);
                            if (lParcela.Count > 0)
                            {
                                throw new Exception("Lote não podera ser estornado, existe parcela com liquidação.\r\n\r\n" +
                                                    "Empresa: " + p.Cd_empresa.Trim() + "\r\n" +
                                                    "Duplicata: " + p.Nr_lancto.ToString() + "/" + p.Cd_parcela.ToString() + "\r\n\r\n" +
                                                    "Obrigatorio estornar primeiro a liquidação.");
                            }
                        }

                        val.ListaCaixa.ForEach(p =>
                        {
                            //Excluir registro Lote X Caixa
                            TCN_Bloqueto_X_Caixa.Excluir(new TRegistro_Lote_X_Caixa()
                            {
                                Cd_contager    = p.Cd_ContaGer,
                                Cd_lanctocaixa = p.Cd_LanctoCaixa,
                                Id_lote        = val.Id_lote.Value
                            }, qtb_lote.Banco_Dados);
                            //Chamar metodo estorno de caixa
                            Caixa.TCN_LanCaixa.EstornarCaixa(p, null, qtb_lote.Banco_Dados);
                        });
                        //Alterar o valor da taxa no bloquetos
                        val.ListaBloqueto.ForEach(p => TCN_Lote_X_Titulo.Gravar(new TRegistro_Lote_X_Titulo()
                        {
                            Cd_empresa  = p.Cd_empresa,
                            Cd_parcela  = p.Cd_parcela,
                            Id_cobranca = p.Id_cobranca,
                            Id_lote     = val.Id_lote.Value,
                            Nr_lancto   = p.Nr_lancto,
                            Vl_taxa     = 0
                        }, qtb_lote.Banco_Dados));
                        //Alterar o lote
                        val.St_registro = "A";
                        val.Vl_taxa     = 0;
                        qtb_lote.Gravar(val);
                        if (st_transacao)
                        {
                            qtb_lote.Banco_Dados.Commit_Tran();
                        }
                    }
                    else
                    {
                        throw new Exception("Não existe lançamento de caixa para ser estornado.");
                    }
                }
                else
                {
                    throw new Exception("Lote não se encontra processado.");
                }
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_lote.Banco_Dados.RollBack_Tran();
                }
                throw new Exception(ex.Message);
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_lote.deletarBanco_Dados();
                }
            }
        }