Ejemplo n.º 1
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;
            }
        }
Ejemplo n.º 2
0
 public static CamadaDados.Faturamento.Pedido.TRegistro_Pedido ProcessarPedido(List <CamadaDados.Faturamento.PDV.TRegistro_NFCe> lCupom,
                                                                               string Cd_empresa,
                                                                               string Cd_cliente)
 {
     if ((lCupom != null) &&
         (!string.IsNullOrEmpty(Cd_empresa)) &&
         (!string.IsNullOrEmpty(Cd_cliente)))
     {
         //Buscar moeda padrao
         string moeda = CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVL_String_Empresa("CD_MOEDA_PADRAO", Cd_empresa);
         if (string.IsNullOrEmpty(moeda))
         {
             throw new Exception("Não existe moeda padrão configurada para a empresa " + Cd_empresa);
         }
         //Buscar Endereco clifor
         object obj_end = new CamadaDados.Financeiro.Cadastros.TCD_CadEndereco().BuscarEscalar(
             new Utils.TpBusca[]
         {
             new Utils.TpBusca()
             {
                 vNM_Campo = "a.cd_clifor",
                 vOperador = "=",
                 vVL_Busca = "'" + Cd_cliente.Trim() + "'"
             }
         }, "a.cd_endereco");
         if (obj_end == null)
         {
             throw new Exception("Cliente " + Cd_cliente + " não possui endereço cadastrado.");
         }
         //Buscar Configuracao cupom
         CamadaDados.Faturamento.Cadastros.TList_CFGCupomFiscal lCfgCupom =
             CamadaNegocio.Faturamento.Cadastros.TCN_CFGCupomFiscal.Buscar(Cd_empresa, null);
         if (lCfgCupom.Count < 1)
         {
             throw new Exception("Não existe configuração cupom fiscal para a empresa " + Cd_empresa);
         }
         if (string.IsNullOrEmpty(lCfgCupom[0].Cfg_pedidovinculado))
         {
             throw new Exception("Não existe tipo pedido vinculado configurado para a empresa " + Cd_empresa);
         }
         //Criar objeto pedido
         CamadaDados.Faturamento.Pedido.TRegistro_Pedido rPed = new CamadaDados.Faturamento.Pedido.TRegistro_Pedido();
         rPed.CD_Empresa   = Cd_empresa;
         rPed.CD_Clifor    = Cd_cliente;
         rPed.CD_Endereco  = obj_end.ToString();
         rPed.Cd_moeda     = moeda;
         rPed.CFG_Pedido   = lCfgCupom[0].Cfg_pedidovinculado;
         rPed.DT_Pedido    = CamadaDados.UtilData.Data_Servidor();
         rPed.TP_Movimento = "S"; //Pedido de saida
         rPed.ST_Pedido    = "F"; //Pedido fechado
         rPed.ST_Registro  = "F"; //Pedido fechado
         //Montar itens do pedido
         lCupom.ForEach(p =>
         {
             //Buscar itens do cupom
             p.lItem = CamadaNegocio.Faturamento.PDV.TCN_NFCe_Item.Buscar(p.Id_nfcestr, p.Cd_empresa, string.Empty, null);
             p.lItem.ForEach(v =>
             {
                 //Verificar se existe item no pedido
                 if (rPed.Pedido_Itens.Exists(x => x.Cd_produto.Trim().Equals(v.Cd_produto.Trim())) &&
                     (CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVL_Bool("AGRUPAR_ITENS_IGUAIS_NF_DIRETA", p.Cd_empresa, null) == "S"))
                 {
                     rPed.Pedido_Itens.Find(x => x.Cd_produto.Trim().Equals(v.Cd_produto.Trim())).Quantidade   += v.Quantidade;
                     rPed.Pedido_Itens.Find(x => x.Cd_produto.Trim().Equals(v.Cd_produto.Trim())).Vl_subtotal  += v.Vl_subtotal;
                     rPed.Pedido_Itens.Find(x => x.Cd_produto.Trim().Equals(v.Cd_produto.Trim())).Vl_descCupom += v.Vl_desconto;
                     rPed.Pedido_Itens.Find(x => x.Cd_produto.Trim().Equals(v.Cd_produto.Trim())).Vl_juroCupom += v.Vl_acrescimo;
                     rPed.Pedido_Itens.Find(x => x.Cd_produto.Trim().Equals(v.Cd_produto.Trim())).Vl_unitario   =
                         Math.Round(rPed.Pedido_Itens.Find(x => x.Cd_produto.Trim().Equals(v.Cd_produto.Trim())).Vl_subtotal /
                                    rPed.Pedido_Itens.Find(x => x.Cd_produto.Trim().Equals(v.Cd_produto.Trim())).Quantidade, 7);
                 }
                 else
                 {
                     rPed.Pedido_Itens.Add(new CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item()
                     {
                         Cd_Empresa            = p.Cd_empresa,
                         Cd_produto            = v.Cd_produto,
                         Ds_produto            = v.Ds_produto,
                         Cd_condfiscal_produto = v.Cd_condfiscal_produto,
                         Cd_unidade_est        = v.Cd_unidade,
                         Cd_unidade_valor      = string.Empty,
                         Quantidade            = v.Quantidade,
                         Vl_unitario           = v.Vl_unitario,
                         Vl_subtotal           = v.Vl_subtotal,
                         Vl_descCupom          = v.Vl_desconto,
                         Vl_juroCupom          = v.Vl_acrescimo
                     });
                 }
             });
         });
         rPed.Pedido_Itens.ForEach(p =>
         {
             p.Cd_unidade_valor = p.Cd_unidade_est;
             p.Vl_juro_fin      = p.Vl_juroCupom;
             p.Vl_desc          = p.Vl_descCupom;
         });
         return(rPed);
     }
     else
     {
         return(null);
     }
 }
Ejemplo n.º 3
0
        public static void GerarTransferencia(CamadaDados.Graos.TRegistro_Transferencia rTransf)
        {
            rTransf.Reg_Clifor_Destino = CamadaNegocio.Financeiro.Cadastros.TCN_CadClifor.Busca_Clifor_Codigo(rTransf.Transf_X_Contrato_Destino[0].CD_Clifor, null);
            rTransf.Reg_Clifor_Origem  = CamadaNegocio.Financeiro.Cadastros.TCN_CadClifor.Busca_Clifor_Codigo(rTransf.Transf_X_Contrato_Origem[0].CD_Clifor, null);

            using (TFLanCompDevol_NF fCompDevol = new TFLanCompDevol_NF())
            {
                fCompDevol.Cd_empresa = rTransf.Transf_X_Contrato_Origem[0].CD_Empresa;
                fCompDevol.Nr_pedido  = rTransf.Transf_X_Contrato_Origem[0].Nr_pedido.ToString();
                fCompDevol.Cd_produto = rTransf.Transf_X_Contrato_Origem[0].Cd_produto;
                fCompDevol.Cd_clifor  = rTransf.Transf_X_Contrato_Origem[0].CD_Clifor;

                fCompDevol.Tp_operacao  = "D";
                fCompDevol.Tp_movimento = "E";
                fCompDevol.Quantidade   = rTransf.QTD_Transf;
                fCompDevol.Valor        = rTransf.VL_Sub_Total_Origem;

                if (fCompDevol.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    rTransf.Complemento_Devolucao = fCompDevol.ListaCompDev;

                    #region Nota Fiscal Origem
                    //Buscar registro contrato de origem
                    rTransf.Contrato_Origem =
                        CamadaNegocio.Graos.TCN_CadContrato.BuscarContrato(string.Empty,
                                                                           rTransf.Transf_X_Contrato_Origem[0].NR_Contrato.ToString(),
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           null)[0];

                    rTransf.rNfOrigem = new CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento();
                    CamadaDados.Faturamento.Cadastros.TList_CadCFGPedidoFiscal lSerieOrigem =
                        new CamadaDados.Faturamento.Cadastros.TCD_CadCFGPedidoFiscal().Select(
                            new TpBusca[]
                    {
                        new TpBusca()
                        {
                            vNM_Campo = string.Empty,
                            vOperador = "exists",
                            vVL_Busca = "(select 1 from tb_fat_pedido x " +
                                        "where x.cfg_pedido = a.cfg_pedido " +
                                        "and x.nr_pedido = " + rTransf.Transf_X_Contrato_Origem[0].Nr_pedido.ToString() + ")"
                        },
                        new TpBusca()
                        {
                            vNM_Campo = "a.tp_fiscal",
                            vOperador = "=",
                            vVL_Busca = "'DF'"            //Devolução Fiscal, não movimenta estoque
                        }
                    }, 1, string.Empty);

                    if (lSerieOrigem.Count > 0)
                    {
                        rTransf.rNfOrigem.Nr_serie        = lSerieOrigem[0].Nr_serie;
                        rTransf.rNfOrigem.Ds_serienf      = lSerieOrigem[0].Ds_serienf;
                        rTransf.rNfOrigem.Cd_modelo       = lSerieOrigem[0].Cd_modelo;
                        rTransf.rNfOrigem.Cd_movimentacao = lSerieOrigem[0].Cd_movto;
                        rTransf.rNfOrigem.Cd_cmi          = lSerieOrigem[0].Cd_cmi;
                        rTransf.rNfOrigem.Tp_movimento    = "S";
                        rTransf.rNfOrigem.Tp_nota         = "P";
                        rTransf.rNfOrigem.Dt_emissao      = rTransf.DT_Lancto;
                        rTransf.rNfOrigem.Dt_saient       = rTransf.DT_Lancto;
                        using (TFNumero_Nota Numero_Nota = new TFNumero_Nota())
                        {
                            Numero_Nota.Text              = "Dados Nota Fiscal Devolução";
                            Numero_Nota.pCd_empresa       = rTransf.Transf_X_Contrato_Origem[0].CD_Empresa;
                            Numero_Nota.pNm_empresa       = rTransf.Transf_X_Contrato_Origem[0].NM_Empresa;
                            Numero_Nota.pCd_clifor        = rTransf.Transf_X_Contrato_Origem[0].CD_Clifor;
                            Numero_Nota.pNm_clifor        = rTransf.Transf_X_Contrato_Origem[0].NM_Clifor;
                            Numero_Nota.pNr_serie         = lSerieOrigem[0].Nr_serie;
                            Numero_Nota.pDs_serie         = lSerieOrigem[0].Ds_serienf;
                            Numero_Nota.pCd_modelo        = lSerieOrigem[0].Cd_modelo;
                            Numero_Nota.pTp_movimento     = "S";
                            Numero_Nota.pTp_nota          = "P";
                            Numero_Nota.pDt_emissao       = rTransf.DT_Lancto;
                            Numero_Nota.pDt_saient        = rTransf.DT_Lancto;
                            Numero_Nota.pSt_sequenciaauto = lSerieOrigem[0].ST_SequenciaAuto.Trim().ToUpper().Equals("S");
                            Numero_Nota.pTp_pessoa        = rTransf.Reg_Clifor_Origem.Tp_pessoa;
                            Numero_Nota.pCd_movto         = rTransf.rNfOrigem.Cd_movimentacaostring;
                            Numero_Nota.pCd_cmi           = rTransf.rNfOrigem.Cd_cmistring;
                            //Buscar insc. estadual origem
                            object obj_inscorigem = new CamadaDados.Financeiro.Cadastros.TCD_CadEndereco().BuscarEscalar(
                                new TpBusca[]
                            {
                                new TpBusca()
                                {
                                    vNM_Campo = "a.cd_clifor",
                                    vOperador = "=",
                                    vVL_Busca = "'" + rTransf.Contrato_Origem.Cd_clifor.Trim() + "'"
                                },
                                new TpBusca()
                                {
                                    vNM_Campo = "a.cd_endereco",
                                    vOperador = "=",
                                    vVL_Busca = "'" + rTransf.Contrato_Origem.Cd_endereco.Trim() + "'"
                                }
                            }, "a.insc_estadual");
                            if (obj_inscorigem != null)
                            {
                                Numero_Nota.pInsc_estadual = obj_inscorigem.ToString();
                            }
                            if (Numero_Nota.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                            {
                                rTransf.rNfOrigem.Nr_serie         = Numero_Nota.pNr_serie;
                                rTransf.rNfOrigem.Cd_modelo        = Numero_Nota.pCd_modelo;
                                rTransf.rNfOrigem.Tp_movimento     = Numero_Nota.pTp_movimento;
                                rTransf.rNfOrigem.Tp_nota          = Numero_Nota.pTp_nota;
                                rTransf.rNfOrigem.Dt_emissao       = Numero_Nota.pDt_emissao;
                                rTransf.rNfOrigem.Dt_saient        = Numero_Nota.pDt_saient;
                                rTransf.rNfOrigem.St_sequenciaauto = Numero_Nota.pSt_sequenciaauto;;
                                rTransf.rNfOrigem.Obsfiscal        = Numero_Nota.pDs_obsfiscal;
                                rTransf.rNfOrigem.Dadosadicionais  = Numero_Nota.pDs_dadosadic;
                                rTransf.rNfOrigem.Chave_acesso_nfe = Numero_Nota.pChave_Acesso_NFe;
                                if (!string.IsNullOrEmpty(Numero_Nota.pNr_notafiscal))
                                {
                                    rTransf.rNfOrigem.Nr_notafiscal = decimal.Parse(Numero_Nota.pNr_notafiscal);
                                }
                                else
                                {
                                    rTransf.rNfOrigem.Nr_notafiscal = null;
                                }
                                if (rTransf.rNfOrigem.Cd_cmistring.Trim() != Numero_Nota.pCd_cmi.Trim())
                                {
                                    CamadaDados.Fiscal.TRegistro_CadCMI rCmi =
                                        CamadaNegocio.Fiscal.TCN_CadCMI.Busca(Numero_Nota.pCd_cmi,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              false,
                                                                              false,
                                                                              false,
                                                                              false,
                                                                              false,
                                                                              false,
                                                                              false,
                                                                              null)[0];
                                    rTransf.rNfOrigem.Cminf.Add(new CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento_CMI()
                                    {
                                        St_compdevimposto = rCmi.St_compdevimposto,
                                        St_complementar   = rCmi.St_complementar,
                                        St_devolucao      = rCmi.St_devolucao,
                                        St_geraestoque    = rCmi.St_geraestoque,
                                        St_mestra         = rCmi.St_mestra,
                                        St_simplesremessa = rCmi.St_simplesremessa,
                                        St_retorno        = rCmi.St_retorno
                                    });
                                    rTransf.rNfOrigem.Cd_cmistring   = Numero_Nota.pCd_cmi;
                                    rTransf.rNfOrigem.Ds_cmi         = rCmi.Ds_cmi;
                                    rTransf.rNfOrigem.Tp_duplicata   = rCmi.Tp_duplicata;
                                    rTransf.rNfOrigem.Ds_tpduplicata = rCmi.ds_tpduplicata;
                                }
                            }
                            else
                            {
                                throw new Exception("Obrigatorio informar numero da nota fiscal de origem.");
                            }
                        }
                    }
                    else
                    {
                        throw new Exception("Não existe configuração fiscal de TRANSFERENCIA para o contrato de origem " +
                                            rTransf.Transf_X_Contrato_Origem[0].NR_Contrato.ToString() + ".");
                    }
                    #endregion

                    #region Nota Fiscal Destino
                    //Buscar pedido destino
                    rTransf.Contrato_Destino =
                        CamadaNegocio.Graos.TCN_CadContrato.BuscarContrato(string.Empty,
                                                                           rTransf.Transf_X_Contrato_Destino[0].Nr_contratostr,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           null)[0];

                    rTransf.rNfDestino = new CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento();
                    CamadaDados.Faturamento.Cadastros.TList_CadCFGPedidoFiscal lSerieDestino =
                        new CamadaDados.Faturamento.Cadastros.TCD_CadCFGPedidoFiscal().Select(
                            new TpBusca[]
                    {
                        new TpBusca()
                        {
                            vNM_Campo = string.Empty,
                            vOperador = "exists",
                            vVL_Busca = "(select 1 from tb_fat_pedido x " +
                                        "where x.cfg_pedido = a.cfg_pedido " +
                                        "and x.nr_pedido = " + rTransf.Transf_X_Contrato_Destino[0].Nr_pedido.ToString() + ")"
                        },
                        new TpBusca()
                        {
                            vNM_Campo = "a.tp_fiscal",
                            vOperador = "=",
                            vVL_Busca = "'TF'"
                        }
                    }, 1, string.Empty);

                    if (lSerieDestino.Count > 0)
                    {
                        rTransf.rNfDestino.Nr_serie        = lSerieDestino[0].Nr_serie;
                        rTransf.rNfDestino.Ds_serienf      = lSerieDestino[0].Ds_serienf;
                        rTransf.rNfDestino.Cd_modelo       = lSerieDestino[0].Cd_modelo;
                        rTransf.rNfDestino.Cd_movimentacao = lSerieDestino[0].Cd_movto;
                        rTransf.rNfDestino.Cd_cmi          = lSerieDestino[0].Cd_cmi;
                        rTransf.rNfDestino.Tp_movimento    = "E";
                        rTransf.rNfDestino.Dt_emissao      = rTransf.DT_Lancto;
                        rTransf.rNfDestino.Dt_saient       = rTransf.DT_Lancto;
                        using (TFNumero_Nota Numero_Nota_Destino = new TFNumero_Nota())
                        {
                            Numero_Nota_Destino.Text              = "Dados Nota Fiscal Entrada";
                            Numero_Nota_Destino.pCd_empresa       = rTransf.Transf_X_Contrato_Destino[0].CD_Empresa;
                            Numero_Nota_Destino.pNm_empresa       = rTransf.Transf_X_Contrato_Destino[0].NM_Empresa;
                            Numero_Nota_Destino.pCd_clifor        = rTransf.Transf_X_Contrato_Destino[0].CD_Clifor;
                            Numero_Nota_Destino.pNm_clifor        = rTransf.Transf_X_Contrato_Destino[0].NM_Clifor;
                            Numero_Nota_Destino.pNr_serie         = lSerieDestino[0].Nr_serie;
                            Numero_Nota_Destino.pDs_serie         = lSerieDestino[0].Ds_serienf;
                            Numero_Nota_Destino.pCd_modelo        = lSerieDestino[0].Cd_modelo;
                            Numero_Nota_Destino.pTp_movimento     = "E";
                            Numero_Nota_Destino.pDt_emissao       = rTransf.DT_Lancto;
                            Numero_Nota_Destino.pDt_saient        = rTransf.DT_Lancto;
                            Numero_Nota_Destino.pSt_sequenciaauto = lSerieDestino[0].ST_SequenciaAuto.Trim().ToUpper().Equals("S");
                            Numero_Nota_Destino.pTp_pessoa        = rTransf.Reg_Clifor_Destino.Tp_pessoa;
                            Numero_Nota_Destino.pCd_movto         = rTransf.rNfDestino.Cd_movimentacaostring;
                            Numero_Nota_Destino.pCd_cmi           = rTransf.rNfDestino.Cd_cmistring;
                            //Buscar insc. estadual origem
                            object obj_inscdestino = new CamadaDados.Financeiro.Cadastros.TCD_CadEndereco().BuscarEscalar(
                                new TpBusca[]
                            {
                                new TpBusca()
                                {
                                    vNM_Campo = "a.cd_clifor",
                                    vOperador = "=",
                                    vVL_Busca = "'" + rTransf.Contrato_Destino.Cd_clifor.Trim() + "'"
                                },
                                new TpBusca()
                                {
                                    vNM_Campo = "a.cd_endereco",
                                    vOperador = "=",
                                    vVL_Busca = "'" + rTransf.Contrato_Destino.Cd_endereco.Trim() + "'"
                                }
                            }, "a.insc_estadual");
                            if (obj_inscdestino != null)
                            {
                                Numero_Nota_Destino.pInsc_estadual = obj_inscdestino.ToString();
                            }
                            Numero_Nota_Destino.pTp_nota = (CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.validarST_Nota("E", Numero_Nota_Destino.pTp_pessoa, rTransf.Reg_Clifor_Destino.St_equiparado_pjbool, rTransf.Reg_Clifor_Destino.St_agropecuariabool).Equals(0) ? "P" : "T");
                            if (Numero_Nota_Destino.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                            {
                                rTransf.rNfDestino.Nr_serie         = Numero_Nota_Destino.pNr_serie;
                                rTransf.rNfDestino.Cd_modelo        = Numero_Nota_Destino.pCd_modelo;
                                rTransf.rNfDestino.Tp_movimento     = Numero_Nota_Destino.pTp_movimento;
                                rTransf.rNfDestino.Tp_nota          = Numero_Nota_Destino.pTp_nota;
                                rTransf.rNfDestino.Dt_emissao       = Numero_Nota_Destino.pDt_emissao;
                                rTransf.rNfDestino.Dt_saient        = Numero_Nota_Destino.pDt_saient;
                                rTransf.rNfDestino.Obsfiscal        = Numero_Nota_Destino.pDs_obsfiscal;
                                rTransf.rNfDestino.Dadosadicionais  = Numero_Nota_Destino.pDs_dadosadic;
                                rTransf.rNfDestino.Chave_acesso_nfe = Numero_Nota_Destino.pChave_Acesso_NFe;
                                if (!string.IsNullOrEmpty(Numero_Nota_Destino.pNr_notafiscal))
                                {
                                    rTransf.rNfDestino.Nr_notafiscal = decimal.Parse(Numero_Nota_Destino.pNr_notafiscal);
                                }
                                else
                                {
                                    rTransf.rNfDestino.Nr_notafiscal = null;
                                }
                                rTransf.rNfDestino.St_sequenciaauto = Numero_Nota_Destino.pSt_sequenciaauto;
                                if (rTransf.rNfDestino.Cd_cmistring.Trim() != Numero_Nota_Destino.pCd_cmi.Trim())
                                {
                                    CamadaDados.Fiscal.TRegistro_CadCMI rCmi =
                                        CamadaNegocio.Fiscal.TCN_CadCMI.Busca(Numero_Nota_Destino.pCd_cmi,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              false,
                                                                              false,
                                                                              false,
                                                                              false,
                                                                              false,
                                                                              false,
                                                                              false,
                                                                              null)[0];
                                    rTransf.rNfDestino.Cminf.Add(new CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento_CMI()
                                    {
                                        St_compdevimposto = rCmi.St_compdevimposto,
                                        St_complementar   = rCmi.St_complementar,
                                        St_devolucao      = rCmi.St_devolucao,
                                        St_geraestoque    = rCmi.St_geraestoque,
                                        St_mestra         = rCmi.St_mestra,
                                        St_simplesremessa = rCmi.St_simplesremessa,
                                        St_retorno        = rCmi.St_retorno
                                    });
                                    rTransf.rNfDestino.Cd_cmistring   = Numero_Nota_Destino.pCd_cmi;
                                    rTransf.rNfDestino.Ds_cmi         = rCmi.Ds_cmi;
                                    rTransf.rNfDestino.Tp_duplicata   = rCmi.Tp_duplicata;
                                    rTransf.rNfDestino.Ds_tpduplicata = rCmi.ds_tpduplicata;
                                }
                            }
                            else
                            {
                                throw new Exception("Obrigatorio informar numero da nota fiscal de destino.");
                            }
                        }
                    }
                    else
                    {
                        throw new Exception("Não existe configuração fiscal NORMAL para o contrato de destino " +
                                            rTransf.Transf_X_Contrato_Destino[0].NR_Contrato.ToString() + ".");
                    }
                    #endregion

                    rTransf.Duplicata_Origem = TProcessaDevAquisicao.Gera_Financeiro(rTransf.Transf_X_Contrato_Origem[0],
                                                                                     rTransf.VL_Sub_Total_Origem,
                                                                                     rTransf.DT_Lancto,
                                                                                     "O");
                    rTransf.Duplicata_Destino = TProcessaDevAquisicao.Gera_Financeiro(rTransf.Transf_X_Contrato_Destino[0],
                                                                                      rTransf.VL_Sub_Total_Destino,
                                                                                      rTransf.DT_Lancto,
                                                                                      "D");

                    if ((rTransf.Duplicata_Origem != null) && (rTransf.Duplicata_Destino != null))
                    {
                        rTransf.Contrato_Origem.Pedido_Fiscal = new CamadaDados.Faturamento.Cadastros.TCD_CadCFGPedidoFiscal().Select(
                            new TpBusca[]
                        {
                            new TpBusca()
                            {
                                vNM_Campo = string.Empty,
                                vOperador = "exists",
                                vVL_Busca = "(select 1 from tb_fat_pedido x " +
                                            "where x.cfg_pedido = a.cfg_pedido " +
                                            "and x.nr_pedido = " + rTransf.Contrato_Origem.Nr_pedido.ToString() + ")"
                            },
                            new TpBusca()
                            {
                                vNM_Campo = "a.tp_fiscal",
                                vOperador = "=",
                                vVL_Busca = "'DF'"
                            }
                        }, 1, string.Empty);
                        rTransf.Reg_Produto_Origem =
                            CamadaNegocio.Estoque.Cadastros.TCN_CadProduto.Busca_Produto_Codigo(rTransf.Transf_X_Contrato_Origem[0].Cd_produto, null);
                        rTransf.Reg_Empresa_Origem =
                            CamadaNegocio.Diversos.TCN_CadEmpresa.Busca(rTransf.Transf_X_Contrato_Origem[0].CD_Empresa,
                                                                        string.Empty,
                                                                        string.Empty,
                                                                        null)[0];
                        CamadaDados.Faturamento.Pedido.TList_Pedido List_Contrato_Destino = new CamadaDados.Faturamento.Pedido.TList_Pedido();

                        rTransf.Contrato_Destino.Pedido_Fiscal = new CamadaDados.Faturamento.Cadastros.TCD_CadCFGPedidoFiscal().Select(
                            new TpBusca[]
                        {
                            new TpBusca()
                            {
                                vNM_Campo = string.Empty,
                                vOperador = "exists",
                                vVL_Busca = "(select 1 from tb_fat_pedido x " +
                                            "where x.cfg_pedido = a.cfg_pedido " +
                                            "and x.nr_pedido = " + rTransf.Transf_X_Contrato_Destino[0].Nr_pedido.ToString() + ")"
                            },
                            new TpBusca()
                            {
                                vNM_Campo = "a.tp_fiscal",
                                vOperador = "=",
                                vVL_Busca = "'TF'"
                            }
                        }, 1, string.Empty);
                        rTransf.Reg_Produto_Destino =
                            CamadaNegocio.Estoque.Cadastros.TCN_CadProduto.Busca_Produto_Codigo(rTransf.Transf_X_Contrato_Destino[0].Cd_produto, null);
                        rTransf.Reg_Empresa_Destino =
                            CamadaNegocio.Diversos.TCN_CadEmpresa.Busca(rTransf.Transf_X_Contrato_Destino[0].CD_Empresa,
                                                                        string.Empty,
                                                                        string.Empty,
                                                                        null)[0];
                    }
                    else
                    {
                        throw new Exception("Verifique os dados das Duplicatas.");
                    }
                }
                else
                {
                    throw new Exception("Obrigatório informar as notas a serem Devolvidas.");
                }
            }
        }