Exemple #1
0
        private void Gera_Faturamento()
        {
            try
            {
                if ((BS_Comissao != null) && (BS_Comissao.Count > 0))
                {
                    if ((BS_Fechamento_Comissao != null) && (BS_Fechamento_Comissao.Count > 0) && (g_Fechamento_Comissao.Rows.Count > 0))
                    {
                        try
                        {
                            if (VL_Com_Liberada.Text.Trim() == "")
                            {
                                VL_Com_Liberada.Text = "0";
                            }

                            if (Convert.ToDecimal(VL_Com_Liberada.Text) == 0)
                            {
                                throw new Exception("Não existe Valores Liberados para se Faturar!");
                            }
                        }
                        catch
                        {
                            throw new Exception("Problemas com o Valores Liberados para Faturar!");
                        }

                        if (Existe_Empresas_Diferentes() == true)
                        {
                            throw new Exception("Você deve Faturar somente Comissões de E!");
                        }

                        // Cria a Lista com os selecionados
                        TList_Lan_Comissao List_Comissao = new TList_Lan_Comissao();
                        for (int i = 0; i < g_Fechamento_Comissao.SelectedRows.Count; i++)
                        {
                            TRegistro_Lan_Comissao Reg_Lan_Comissao = BS_Fechamento_Comissao[g_Fechamento_Comissao.SelectedRows[i].Index] as TRegistro_Lan_Comissao;
                            List_Comissao.Add(Reg_Lan_Comissao);
                        }

                        TList_CadVendedor     List_Vendedor = TCN_CadVendedor.Busca((BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).CD_Vendedor.ToString(), "", "", "", "", "", "", "", "", "", "");
                        TRegistro_CadVendedor Reg_Vendedor  = List_Vendedor[0];
                        if (List_Vendedor.Count == 0)
                        {
                            throw new Exception("Vendedor: " + (BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).CD_Vendedor.ToString() + " - " + (BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).NM_Vendedor + "não encontrado.");
                        }

                        if (List_Vendedor[0].CD_condpgto_comissao == "")
                        {
                            throw new Exception("Vendedor: " + (BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).CD_Vendedor.ToString() + " - " + (BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).NM_Vendedor + "\r\n sem condição de Pagamento configurada. Verifique cadastro de Vendedor.");
                        }

                        string Moeda_Padrao = TCN_CadParamGer.BuscaVlString("CD_MOEDA_PADRAO");
                        if (Moeda_Padrao == "")
                        {
                            throw new Exception("Moeda Padrão não encontrado. Verificar configurações Gerais");
                        }

                        string Produto_Comissao = TCN_CadParamGer.BuscaVlString("CD_PRODUTO_COMISSAO");
                        if (Produto_Comissao == "")
                        {
                            throw new Exception("Produto Comissão não encontrado. Verificar configurações Gerais");
                        }
                        TRegistro_CadProduto Reg_Produto = TCN_CadProduto.Busca_Produto_Codigo(Produto_Comissao);
                        if ((Reg_Produto == null) || (Reg_Produto.CD_Unidade == ""))
                        {
                            throw new Exception("Unidade da Comissão não encontrado. Verificar configurações Gerais");
                        }

                        string CFG_Pedido_Comissao = TCN_CadParamGer.BuscaVlString("CFG_Pedido_Comissao");
                        if (CFG_Pedido_Comissao == "")
                        {
                            throw new Exception("Configuração de Pedido de Comissão não encontrado. Verificar configurações Gerais");
                        }

                        TRegistro_CadClifor Reg_Clifor_Vendedor = new TRegistro_CadClifor();
                        Reg_Clifor_Vendedor = TCN_CadClifor.Busca_Clifor_Codigo(List_Vendedor[0].Cd_clifor);

                        TList_CadEmpresa     List_Empresa = new TList_CadEmpresa();
                        TRegistro_CadEmpresa Reg_Empresa  = new TRegistro_CadEmpresa();
                        List_Empresa = TCN_CadEmpresa.Busca((BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).CD_Empresa, "", "", null);
                        Reg_Empresa  = List_Empresa[0];

                        TList_CadEndereco     List_Endereco = new TList_CadEndereco();
                        TRegistro_CadEndereco Reg_Endereco  = new TRegistro_CadEndereco();
                        List_Endereco = TCN_CadEndereco.Buscar(List_Vendedor[0].Cd_clifor, List_Vendedor[0].Cd_endereco, "", "", "", "", "", "",
                                                               "", "", "", "", "", "", "", 0, null);
                        Reg_Endereco = List_Endereco[0];


                        TList_RegLanDuplicata Duplicata = new TList_RegLanDuplicata();
                        Duplicata = Gera_Financeiro(CFG_Pedido_Comissao, List_Vendedor[0].CD_condpgto_comissao, Moeda_Padrao, Reg_Empresa, Reg_Clifor_Vendedor, Reg_Endereco);

                        if (Duplicata == null)
                        {
                            throw new Exception("Por favor! \r\n  - Verifique os dados das Duplicatas");
                        }

                        decimal Total_Faturar = Convert.ToDecimal(VL_Com_Liberada.Text);

                        bool    Pode_Gravar    = false;
                        bool    ST_SequenciaNF = false;
                        decimal NR_Nota        = 0;

                        TCD_CadCFGPedidoFiscal Pedido_Fiscal = new TCD_CadCFGPedidoFiscal();
                        TpBusca[] vBusca = new TpBusca[0];
                        Array.Resize(ref vBusca, vBusca.Length + 1);
                        vBusca[vBusca.Length - 1].vNM_Campo = "a.cfg_pedido";
                        vBusca[vBusca.Length - 1].vVL_Busca = "'" + CFG_Pedido_Comissao + "'";
                        vBusca[vBusca.Length - 1].vOperador = "=";

                        Array.Resize(ref vBusca, vBusca.Length + 1);
                        vBusca[vBusca.Length - 1].vNM_Campo = "a.TP_FISCAL";
                        vBusca[vBusca.Length - 1].vVL_Busca = "'N'";
                        vBusca[vBusca.Length - 1].vOperador = "=";

                        DataTable DT_Pedido_Fiscal = Pedido_Fiscal.Buscar(vBusca, 0);

                        if (DT_Pedido_Fiscal.Rows.Count > 0)
                        {
                            if (DT_Pedido_Fiscal.Rows[0]["nr_serie"].ToString().Trim() != string.Empty)
                            {
                                TList_CadSerieNF List_SerieNF = TCN_CadSerieNF.Busca(DT_Pedido_Fiscal.Rows[0]["nr_serie"].ToString().Trim(),
                                                                                     string.Empty,
                                                                                     decimal.Zero,
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     null);
                                if (List_SerieNF.Count > 0)
                                {
                                    if (List_SerieNF[0].ST_SequenciaAutoBool == false)
                                    {
                                        TFNumero_Nota Numero_Nota = new TFNumero_Nota();
                                        Numero_Nota.pCd_empresa = Reg_Empresa.Cd_empresa;
                                        Numero_Nota.pNm_empresa = Reg_Empresa.Nm_empresa;
                                        Numero_Nota.pCd_clifor  = Reg_Clifor_Vendedor.Cd_clifor;
                                        Numero_Nota.pNm_clifor  = Reg_Clifor_Vendedor.Nm_clifor;
                                        Numero_Nota.pNr_serie   = DT_Pedido_Fiscal.Rows[0]["nr_serie"].ToString().Trim();
                                        Numero_Nota.pDs_serie   = DT_Pedido_Fiscal.Rows[0]["ds_serie"].ToString().Trim();
                                        Numero_Nota.pTp_nota    = "P";
                                        if (Numero_Nota.ShowDialog() == DialogResult.OK)
                                        {
                                            NR_Nota     = Numero_Nota.pNr_notafiscal;
                                            Pode_Gravar = true;
                                        }
                                        else
                                        {
                                            Pode_Gravar = false;
                                        }
                                    }
                                    else
                                    {
                                        ST_SequenciaNF = true;
                                        Pode_Gravar    = true;
                                    }
                                }
                                else
                                {
                                    throw new Exception("A Configuração do Pedido:" + CFG_Pedido_Comissao + "não está correta. Vefrificar numero de série!");
                                }
                            }
                        }
                        else
                        {
                            throw new Exception("A Configuração do Pedido:" + CFG_Pedido_Comissao + "não está correta");
                        }


                        if (Pode_Gravar == true)
                        {
                            TCN_Lan_Fechamento_Comissao.Gera_Faturamento(List_Comissao, NR_Nota, ST_SequenciaNF, Duplicata, Reg_Vendedor, Moeda_Padrao, Produto_Comissao, Reg_Produto, CFG_Pedido_Comissao,
                                                                         Reg_Clifor_Vendedor, Reg_Empresa, Reg_Endereco, Total_Faturar, null);
                            MessageBox.Show("Comissão Faturada com Sucesso!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            afterNovo();
                        }
                        else
                        {
                            throw new Exception("De Alguma forma o processo foi cancelado!");
                        }
                    }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show("Erro: \r\n\r\n" + e.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
            }
        }
Exemple #2
0
        public static TRegistro_LanFaturamento GerarDevolucao(TRegistro_LanFaturamento rNf)
        {
            CamadaDados.Financeiro.Cadastros.TRegistro_CadClifor Reg_Clifor =
                CamadaNegocio.Financeiro.Cadastros.TCN_CadClifor.Busca_Clifor_Codigo(rNf.Cd_clifor, null);
            #region Nota Fiscal Devolução
            TRegistro_LanFaturamento rNfDev = new TRegistro_LanFaturamento();
            CamadaDados.Faturamento.Cadastros.TList_CadCFGPedidoFiscal lCfgPedido =
                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 = " + rNf.Nr_pedido.ToString() + ")"
                },
                new TpBusca()
                {
                    vNM_Campo = "a.tp_fiscal",
                    vOperador = "=",
                    vVL_Busca = "'DV'"
                }
            }, 1, string.Empty);

            if (lCfgPedido.Count > 0)
            {
                rNfDev.Cd_empresa           = rNf.Cd_empresa;
                rNfDev.Nr_serie             = lCfgPedido[0].Nr_serie;
                rNfDev.Ds_serienf           = lCfgPedido[0].Ds_serienf;
                rNfDev.Cd_modelo            = lCfgPedido[0].Cd_modelo;
                rNfDev.Cd_movimentacao      = lCfgPedido[0].Cd_movto;
                rNfDev.Cd_cmi               = lCfgPedido[0].Cd_cmi;
                rNfDev.Tp_movimento         = lCfgPedido[0].Tp_movimento.ToUpper().Equals("S") ? "E" : "S";
                rNfDev.Dt_emissao           = CamadaDados.UtilData.Data_Servidor();
                rNfDev.Dt_saient            = CamadaDados.UtilData.Data_Servidor();
                rNfDev.Cd_uf_clifor         = rNf.Cd_uf_clifor;
                rNfDev.Cd_uf_empresa        = rNf.Cd_uf_empresa;
                rNfDev.Cd_condfiscal_clifor = rNf.Cd_condfiscal_clifor;
                rNfDev.rEndereco            = rNf.rEndereco;
                rNfDev.Cd_clifor            = rNf.Cd_clifor;
                rNfDev.Cd_endereco          = rNf.Cd_endereco;
                rNfDev.Nr_pedido            = rNf.Nr_pedido;
                using (TFNumero_Nota fNumero = new TFNumero_Nota())
                {
                    fNumero.Text              = "Dados Nota Fiscal Devolução";
                    fNumero.pCd_empresa       = rNf.Cd_empresa;
                    fNumero.pNm_empresa       = rNf.Nm_empresa;
                    fNumero.pCd_clifor        = rNf.Cd_clifor;
                    fNumero.pNm_clifor        = rNf.Nm_clifor;
                    fNumero.pTp_pessoa        = rNf.Tp_pessoa;
                    fNumero.pNr_serie         = lCfgPedido[0].Nr_serie;
                    fNumero.pDs_serie         = lCfgPedido[0].Ds_serienf;
                    fNumero.pCd_modelo        = lCfgPedido[0].Cd_modelo;
                    fNumero.pTp_movimento     = lCfgPedido[0].Tp_movimento.ToUpper().Equals("S") ? "E" : "S";
                    fNumero.pNr_notafiscal    = string.Empty;
                    fNumero.pDt_emissao       = rNfDev.Dt_emissao;
                    fNumero.pDt_saient        = rNfDev.Dt_saient;
                    fNumero.pSt_sequenciaauto = lCfgPedido[0].ST_SequenciaAuto.Trim().ToUpper().Equals("S");
                    fNumero.pCd_movto         = rNfDev.Cd_movimentacaostring;
                    fNumero.pCd_cmi           = rNfDev.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 = "'" + rNf.Cd_clifor.Trim() + "'"
                        },
                        new TpBusca()
                        {
                            vNM_Campo = "a.cd_endereco",
                            vOperador = "=",
                            vVL_Busca = "'" + rNf.Cd_endereco.Trim() + "'"
                        }
                    }, "a.insc_estadual");
                    if (obj_inscdestino != null)
                    {
                        fNumero.pInsc_estadual = obj_inscdestino.ToString();
                    }
                    fNumero.pTp_nota = (TCN_LanFaturamento.validarST_Nota(fNumero.pTp_movimento, fNumero.pTp_pessoa, Reg_Clifor.St_equiparado_pjbool, Reg_Clifor.St_agropecuariabool).Equals(0) ? "P" : "T");
                    if (fNumero.ShowDialog() == DialogResult.OK)
                    {
                        rNfDev.Nr_serie         = fNumero.pNr_serie;
                        rNfDev.Tp_pessoa        = fNumero.pTp_pessoa;
                        rNfDev.Cd_modelo        = fNumero.pCd_modelo;
                        rNfDev.Tp_movimento     = fNumero.pTp_movimento;
                        rNfDev.Tp_nota          = fNumero.pTp_nota;
                        rNfDev.Dt_emissao       = fNumero.pDt_emissao;
                        rNfDev.Dt_saient        = fNumero.pDt_saient;
                        rNfDev.Obsfiscal        = fNumero.pDs_obsfiscal;
                        rNfDev.Dadosadicionais  = fNumero.pDs_dadosadic;
                        rNfDev.Chave_acesso_nfe = fNumero.pChave_Acesso_NFe;
                        if (!string.IsNullOrEmpty(fNumero.pNr_notafiscal))
                        {
                            rNfDev.Nr_notafiscal = decimal.Parse(fNumero.pNr_notafiscal);
                        }
                        else
                        {
                            rNfDev.Nr_notafiscal = null;
                        }
                        rNfDev.St_sequenciaauto = fNumero.pSt_sequenciaauto;
                        if (rNfDev.Cd_cmistring.Trim() != fNumero.pCd_cmi.Trim())
                        {
                            CamadaDados.Fiscal.TRegistro_CadCMI rCmi =
                                CamadaNegocio.Fiscal.TCN_CadCMI.Busca(fNumero.pCd_cmi,
                                                                      string.Empty,
                                                                      string.Empty,
                                                                      string.Empty,
                                                                      string.Empty,
                                                                      string.Empty,
                                                                      false,
                                                                      false,
                                                                      false,
                                                                      false,
                                                                      false,
                                                                      false,
                                                                      false,
                                                                      null)[0];
                            rNfDev.Cminf.Add(new 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
                            });
                            rNfDev.Cd_cmistring   = fNumero.pCd_cmi;
                            rNfDev.Ds_cmi         = rCmi.Ds_cmi;
                            rNfDev.Tp_duplicata   = rCmi.Tp_duplicata;
                            rNfDev.Ds_tpduplicata = rCmi.ds_tpduplicata;
                        }
                        //Dados Frete
                        rNfDev.Cd_transportadora    = fNumero.pCd_transportadora;
                        rNfDev.Nm_razaosocialtransp = fNumero.pNm_transportadora;
                        rNfDev.Cpf_transp           = fNumero.pCnpjCpfTransp;
                        rNfDev.Cd_enderecotransp    = fNumero.pCd_endtransportadora;
                        rNfDev.Especie       = fNumero.pEspecie;
                        rNfDev.Placaveiculo  = fNumero.pPlacaVeiculo;
                        rNfDev.Freteporconta = fNumero.pTp_frete;
                        rNfDev.Vl_frete      = fNumero.pVl_frete;
                        rNfDev.Quantidade    = fNumero.pQuantidade;
                        rNfDev.Pesobruto     = fNumero.pPsbruto;
                        rNfDev.Pesoliquido   = fNumero.pPsliquido;
                        //Dados Exportacao
                        rNfDev.Cd_ufsaidaex = fNumero.pCd_ufsaidaex;
                        rNfDev.Ds_ufsaidaex = fNumero.pDs_ufsaidaex;
                        rNfDev.Uf_saidaex   = fNumero.pUf_saidaex;
                        rNfDev.Ds_localex   = fNumero.pDs_localex;
                    }
                    else
                    {
                        throw new Exception("Obrigatorio informar numero da nota fiscal de destino.");
                    }
                }
            }
            else
            {
                throw new Exception("Não existe configuração fiscal Devolução para tipo de pedido!");
            }
            //Itens da Nota
            rNf.ItensNota.FindAll(p => p.St_processar).ForEach(item =>
            {
                //Item da nota fiscal
                TRegistro_LanFaturamento_Item rItem = new TRegistro_LanFaturamento_Item();
                rItem.Cd_empresa            = item.Cd_empresa;
                rItem.Nr_pedido             = item.Nr_pedido;
                rItem.Id_pedidoitem         = item.Id_pedidoitem;
                rItem.Cd_produto            = item.Cd_produto;
                rItem.Cd_local              = item.Cd_local;
                rItem.Cd_condfiscal_produto = item.Cd_condfiscal_produto;
                rItem.Cd_unidade            = item.Cd_unidade;
                rItem.Cd_unidEst            = item.Cd_unidade;
                rItem.Quantidade            = item.Qtd_devolver;
                rItem.Quantidade_estoque    = item.Qtd_devolver;
                rItem.Vl_subtotal           = item.Qtd_devolver * item.Vl_unitario;
                rItem.Vl_subtotal_estoque   = item.Qtd_devolver * item.Vl_unitario;
                rItem.Vl_unitario           = item.Vl_unitario;
                rItem.Vl_desconto           = (item.Vl_desconto / item.Quantidade) * item.Qtd_devolver;
                rItem.Vl_juro_fin           = (item.Vl_juro_fin / item.Quantidade) * item.Qtd_devolver;

                //Buscar cfop do item
                CamadaDados.Fiscal.TRegistro_CadCFOP rCfop = null;
                if (CamadaNegocio.Fiscal.TCN_Mov_X_CFOP.BuscarCFOP(rNfDev.Cd_movimentacaostring,
                                                                   item.Cd_condfiscal_produto,
                                                                   rNfDev.rEndereco.Cd_uf.Trim().Equals("99") ? "I" : rNfDev.Cd_uf_clifor.Trim().Equals(rNfDev.Cd_uf_empresa.Trim()) ? "D" : "F",
                                                                   (rNfDev.Tp_movimento.Trim().ToUpper().Equals("E") ? rNfDev.Cd_uf_clifor : rNfDev.Cd_uf_empresa),
                                                                   (rNfDev.Tp_movimento.Trim().ToUpper().Equals("E") ? rNfDev.Cd_uf_empresa : rNfDev.Cd_uf_clifor),
                                                                   rNfDev.Tp_movimento,
                                                                   rNfDev.Cd_condfiscal_clifor,
                                                                   rItem.Cd_empresa,
                                                                   ref rCfop,
                                                                   null))
                {
                    rItem.Cd_cfop        = rCfop.CD_CFOP;
                    rItem.Ds_cfop        = rCfop.DS_CFOP;
                    rItem.St_bonificacao = rCfop.St_bonificacaobool;
                }
                else
                {
                    throw new Exception("Não existe CFOP " + (rNf.rEndereco.Cd_uf.Trim().Equals("99") ? "internacional" : rNf.rEndereco.Cd_uf.Trim().Equals(rNf.rEndereco.Cd_uf.Trim()) ? "dentro estado" : "fora estado") + " configurado para a Movimentação " + rNf.Cd_movimentacaostring + " condição fiscal do produto " + item.Cd_condfiscal_produto);
                }
                //Procurar Impostos Estaduais para o Item
                string vObsFiscal       = string.Empty;
                TList_ImpostosNF lImpUf = TCN_LanFaturamento_Item.procuraImpostosPorUf(rItem.Cd_empresa,
                                                                                       (rNfDev.Tp_movimento.Trim().ToUpper().Equals("E") ? rNf.Cd_uf_clifor : rNf.Cd_uf_empresa),
                                                                                       (rNfDev.Tp_movimento.Trim().ToUpper().Equals("E") ? rNf.Cd_uf_empresa : rNf.Cd_uf_clifor),
                                                                                       rNfDev.Cd_movimentacaostring,
                                                                                       rNfDev.Tp_movimento,
                                                                                       rNfDev.Cd_condfiscal_clifor,
                                                                                       rItem.Cd_condfiscal_produto,
                                                                                       rItem.Vl_subtotal,
                                                                                       rItem.Quantidade,
                                                                                       ref vObsFiscal,
                                                                                       rNfDev.Dt_emissao,
                                                                                       rItem.Cd_produto,
                                                                                       rNfDev.Tp_nota,
                                                                                       rNfDev.Nr_serie,
                                                                                       null);
                if (lImpUf.Exists(v => v.Imposto.St_ICMS))
                {
                    TCN_LanFaturamento_Item.PreencherICMS(lImpUf.Find(v => v.Imposto.St_ICMS), rItem);
                    rNf.Obsfiscal += vObsFiscal.Trim();
                }
                else if (TCN_LanFaturamento_Item.ObrigImformarICMS(rItem.Cd_produto, rNf.Nr_serie, null))
                {
                    throw new Exception("Erro: Não existe condição fiscal do ICMS.\r\n" +
                                        "Tipo Movimento: " + rNfDev.Tp_movimento + "\r\n" +
                                        "Movimentação: " + rNfDev.Cd_movimentacao.ToString() + "\r\n" +
                                        "Cond. Fiscal Clifor: " + rNfDev.Cd_condfiscal_clifor.Trim() + "\r\n" +
                                        "Cond. Fiscal Produto: " + rItem.Cd_condfiscal_produto.Trim() + "\r\n" +
                                        "UF Origem: " + (rNfDev.Tp_movimento.Trim().ToUpper().Equals("E") ? rNf.Uf_clifor.Trim() : rNf.Uf_empresa.Trim()) + "\r\n" +
                                        "UF Destino: " + (rNfDev.Tp_movimento.Trim().ToUpper().Equals("E") ? rNf.Uf_empresa.Trim() : rNf.Uf_clifor.Trim()));
                }

                //Procurar impostos sobre os itens da nota fiscal de destino
                TCN_LanFaturamento_Item.PreencherOutrosImpostos(
                    TCN_LanFaturamento_Item.procuraCondicaoFiscalImpostos(rNf.Cd_condfiscal_clifor,
                                                                          rItem.Cd_condfiscal_produto,
                                                                          rNfDev.Cd_movimentacaostring,
                                                                          rNfDev.Tp_movimento,
                                                                          rNfDev.Tp_pessoa,
                                                                          rNfDev.Cd_empresa,
                                                                          rNfDev.Nr_serie,
                                                                          rNfDev.Cd_clifor,
                                                                          rItem.Cd_unidEst,
                                                                          rNfDev.Dt_emissao,
                                                                          rItem.Quantidade,
                                                                          rItem.Vl_subtotal,
                                                                          rNfDev.Tp_nota,
                                                                          rNf.Cd_municipioexecservico,
                                                                          null), rItem, rNfDev.Tp_movimento);
                // Formar Itens a devolver
                rItem.lNfcompdev.Add(new TRegistro_LanFat_ComplementoDevolucao()
                {
                    Cd_empresa             = item.Cd_empresa,
                    Nr_notafiscal_origem   = rNf.Nr_notafiscal,
                    Nr_serie_origem        = rNf.Nr_serie,
                    Nr_lanctofiscal_origem = rNf.Nr_lanctofiscal,
                    Id_nfitem_origem       = item.Id_nfitem,
                    Qtd_lancto             = item.Qtd_devolver,
                    Vl_lancto   = item.Quantidade * item.Vl_unitario,
                    Tp_operacao = "D"
                });
                //Observação do Item com os dados das notas de orig
                rItem.Observacao_item += "NF/Serie Origem      Quantidade     Valor(R$)\r\n" +
                                         (rNf.Nr_notafiscalstr + rNf.Nr_serie).FormatStringDireita(21, ' ') +
                                         item.Qtd_devolver.ToString("N3", new System.Globalization.CultureInfo("en-US", true)) +
                                         rItem.Sigla_unidade_estoque.Trim().FormatStringDireita(15, ' ') +
                                         decimal.Multiply(item.Quantidade, item.Vl_unitario).ToString("N2", new System.Globalization.CultureInfo("en-US", true)).FormatStringDireita(12, ' ') + "\r\n";
                rNfDev.ItensNota.Add(rItem);
            });
            return(rNfDev);

            #endregion
        }
Exemple #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.");
                }
            }
        }