Beispiel #1
0
 public TRegistro_MovRastreabilidade()
 {
     this.id_lote            = null;
     this.id_lotestr         = string.Empty;
     this.Nr_lote            = string.Empty;
     this.Cd_empresa         = string.Empty;
     this.Nm_empresa         = string.Empty;
     this.id_mov             = null;
     this.id_movstr          = string.Empty;
     this.nr_lanctofiscal    = null;
     this.nr_lanctofiscalstr = string.Empty;
     this.id_nfitem          = null;
     this.id_nfitemstr       = string.Empty;
     this.Cd_produto         = string.Empty;
     this.Ds_produto         = string.Empty;
     this.id_apontamento     = null;
     this.id_apontamentostr  = string.Empty;
     this.tp_mov             = string.Empty;
     this.Tipo_mov           = string.Empty;
     this.dt_fabric          = null;
     this.dt_fabricstr       = string.Empty;
     this.dt_validade        = null;
     this.dt_validadestr     = string.Empty;
     this.Quantidade         = decimal.Zero;
     this.lNfOrigem          = new CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento();
 }
Beispiel #2
0
        private void gNotaFiscal_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            if (gNotaFiscal.Columns[e.ColumnIndex].SortMode == DataGridViewColumnSortMode.NotSortable)
            {
                return;
            }
            if (bsNotaFiscal.Count < 1)
            {
                return;
            }
            PropertyDescriptorCollection lP = TypeDescriptor.GetProperties(new CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento());

            CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento lComparer;
            SortOrder direcao = SortOrder.None;

            if ((gNotaFiscal.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == SortOrder.None) ||
                (gNotaFiscal.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == SortOrder.Descending))
            {
                lComparer = new CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento(lP.Find(gNotaFiscal.Columns[e.ColumnIndex].DataPropertyName, true), SortOrder.Ascending);
                foreach (DataGridViewColumn c in gNotaFiscal.Columns)
                {
                    c.HeaderCell.SortGlyphDirection = SortOrder.None;
                }
                direcao = SortOrder.Ascending;
            }
            else
            {
                lComparer = new CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento(lP.Find(gNotaFiscal.Columns[e.ColumnIndex].DataPropertyName, true), SortOrder.Descending);
                foreach (DataGridViewColumn c in gNotaFiscal.Columns)
                {
                    c.HeaderCell.SortGlyphDirection = SortOrder.None;
                }
                direcao = SortOrder.Descending;
            }
            (bsNotaFiscal.List as CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento).Sort(lComparer);
            bsNotaFiscal.ResetBindings(false);
            gNotaFiscal.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection = direcao;
        }
Beispiel #3
0
 public TRegistro_LanRoyaltiesGMO()
 {
     id_lanctoGMO             = null;
     id_lanctoGMOstr          = string.Empty;
     Nr_Contratostr           = string.Empty;
     CD_Produto               = string.Empty;
     DS_Produto               = string.Empty;
     DS_Observacao            = string.Empty;
     QTD_Credito              = decimal.Zero;
     QTD_Debito               = decimal.Zero;
     TP_Lancto                = "A";
     tp_gmo                   = "D";
     tipo_gmo                 = "INTACTA DECLARADA";
     Cd_clifor                = string.Empty;
     nm_Clifor                = string.Empty;
     Cd_unidade               = string.Empty;
     Ds_unidade               = string.Empty;
     Sigla_unidade            = string.Empty;
     this.Vl_royalties_retido = decimal.Zero;
     lPesagem                 = new CamadaDados.Balanca.TList_RegLanPesagemGraos();
     lNf        = new CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento();
     lDuplicata = new CamadaDados.Financeiro.Duplicata.TList_RegLanDuplicata();
     lCaixa     = new CamadaDados.Financeiro.Caixa.TList_LanCaixa();
 }
Beispiel #4
0
 private void FaturarLote()
 {
     using (TFProcLoteContrato fProc = new TFProcLoteContrato())
     {
         if (fProc.ShowDialog() == DialogResult.OK)
         {
             if (fProc.lContratos != null)
             {
                 Utils.ThreadEspera tEspera = new Utils.ThreadEspera("Inicio processamento lote.");
                 string             ret     = string.Empty;
                 try
                 {
                     ret = CamadaNegocio.Servicos.TCN_Contrato.ProcessarLote(fProc.lContratos, fProc.Dt_referencia, tEspera, null);
                 }
                 finally
                 {
                     tEspera.Fechar();
                     tEspera = null;
                 }
                 MessageBox.Show("Lote processado com sucesso." + (string.IsNullOrEmpty(ret) ? string.Empty : "\r\nOs seguintes contratos não foram processados:\r\n" + ret.Trim()), "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento lLote = new CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento();
                 //Buscar CfgNfe para a empresa
                 CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfgNfe =
                     CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar(fProc.lContratos[0].Cd_empresa,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           null);
                 if (lCfgNfe.Count.Equals(0))
                 {
                     MessageBox.Show("Não existe configuração para envio de NFS-e para a empresa " + fProc.lContratos[0].Cd_empresa.Trim() + ".",
                                     "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 }
                 else
                 {
                     fProc.lContratos.ForEach(p =>
                     {
                         if (p.lNF.Count > 0)
                         {
                             if (p.lNF[0].Cd_modelo.Trim().Equals("55"))
                             {
                                 lLote.Add(CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.BuscarNF(p.lNF[0].Cd_empresa, p.lNF[0].Nr_lanctofiscalstr, null));
                             }
                         }
                         if (lLote.Count.Equals(50))
                         {
                             NFES.TGerarRPS.CriarArquivoRPS(lCfgNfe[0], lLote);
                             MessageBox.Show("Lote RPS enviado com sucesso. Aguarde alguns segundos e consulte o status do lote.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             lLote.Clear();
                         }
                     });
                     if (lLote.Count > 0)
                     {
                         NFES.TGerarRPS.CriarArquivoRPS(lCfgNfe[0], lLote);
                         MessageBox.Show("Lote RPS enviado com sucesso. Aguarde alguns segundos e consulte o status do lote.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     }
                 }
                 //Imprimir boletos
                 CamadaDados.Financeiro.Bloqueto.blListaTitulo lBloq = new CamadaDados.Financeiro.Bloqueto.blListaTitulo();
                 fProc.lContratos.ForEach(p =>
                 {
                     if (p.lNF.Count > 0)
                     {
                         if (p.lNF[0].Duplicata.Count > 0)
                         {
                             CamadaNegocio.Financeiro.Bloqueto.TCN_Titulo.Buscar(p.lNF[0].Cd_empresa,
                                                                                 p.lNF[0].Duplicata[0].Nr_lancto,
                                                                                 decimal.Zero,
                                                                                 decimal.Zero,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 decimal.Zero,
                                                                                 decimal.Zero,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 false,
                                                                                 0,
                                                                                 null).ForEach(v => lBloq.Add(v));
                         }
                     }
                 });
                 if (lBloq.Count > 0)
                 {
                     FormRelPadrao.TCN_LayoutBloqueto.Imprime_Bloqueto(false,
                                                                       lBloq,
                                                                       false,
                                                                       true,
                                                                       false,
                                                                       false,
                                                                       string.Empty,
                                                                       null,
                                                                       "BLOQUETO(S) CONTRATO SERVIÇO",
                                                                       string.Empty,
                                                                       false);
                 }
             }
         }
     }
 }
Beispiel #5
0
 private void CorrigirNota(bool St_saida)
 {
     if (St_saida)
     {
         if (bsImpostoSaida.Current != null)
         {
             if ((bsImpostoSaida.Current as CamadaDados.Faturamento.NotaFiscal.TRegistro_ImpostosNF).Tp_docto.Trim().ToUpper().Equals("NFF"))
             {
                 using (TFCorrecaoNota fCorrecao = new TFCorrecaoNota())
                 {
                     //Buscar registro nota fiscal para corrigir
                     CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento lNf =
                         CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.Busca((bsImpostoSaida.Current as CamadaDados.Faturamento.NotaFiscal.TRegistro_ImpostosNF).Cd_empresa,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       decimal.Zero,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       false,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       decimal.Zero,
                                                                                       decimal.Zero,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       false,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       0,
                                                                                       string.Empty,
                                                                                       null);
                     if (lNf.Count > 0)
                     {
                         if (lNf[0].Tp_nota.Trim().ToUpper().Equals("P") &&
                             lNf[0].Cd_modelo.Trim().Equals("55") &&
                             lNf[0].St_transmitidoNFe)
                         {
                             MessageBox.Show("Não é permitido fazer correção NF-e enviada para receita.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             return;
                         }
                         fCorrecao.rfaturamento = lNf[0];
                         if (fCorrecao.ShowDialog() == DialogResult.OK)
                         {
                             if (fCorrecao.rfaturamento != null)
                             {
                                 //Processar alteracao nota
                                 CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.AlterarFaturamento(fCorrecao.rfaturamento, null);
                                 MessageBox.Show("Documento Fiscal Alterado com Sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                 this.afterBusca();
                             }
                         }
                     }
                 }
             }
         }
     }
     else
     {
         if (bsImpostosEntrada.Current != null)
         {
             if ((bsImpostosEntrada.Current as CamadaDados.Faturamento.NotaFiscal.TRegistro_ImpostosNF).Tp_docto.Trim().ToUpper().Equals("NFF"))
             {
                 using (TFCorrecaoNota fCorrecao = new TFCorrecaoNota())
                 {
                     //Buscar registro nota fiscal para corrigir
                     CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento lNf =
                         CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.Busca((bsImpostosEntrada.Current as CamadaDados.Faturamento.NotaFiscal.TRegistro_ImpostosNF).Cd_empresa,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       decimal.Zero,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       false,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       decimal.Zero,
                                                                                       decimal.Zero,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       false,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       0,
                                                                                       string.Empty,
                                                                                       null);
                     if (lNf.Count > 0)
                     {
                         if (lNf[0].Tp_nota.Trim().ToUpper().Equals("P") &&
                             lNf[0].Cd_modelo.Trim().Equals("55") &&
                             lNf[0].St_transmitidoNFe)
                         {
                             MessageBox.Show("Não é permitido fazer correção NF-e enviada para receita.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             return;
                         }
                         fCorrecao.rfaturamento = lNf[0];
                         if (fCorrecao.ShowDialog() == DialogResult.OK)
                         {
                             if (fCorrecao.rfaturamento != null)
                             {
                                 //Processar alteracao nota
                                 CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.AlterarFaturamento(fCorrecao.rfaturamento, null);
                                 MessageBox.Show("Documento Fiscal Alterado com Sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                 this.afterBusca();
                             }
                         }
                     }
                 }
             }
         }
     }
 }
Beispiel #6
0
        public static void CorrigirNumeroNFSe(TRegistro_LoteRPS_X_NFES val, BancoDados.TObjetoBanco banco)
        {
            bool st_transacao           = false;
            TCD_LoteRPS_X_NFES qtb_lote = new TCD_LoteRPS_X_NFES();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_lote.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_lote.Banco_Dados = banco;
                }
                if (val.Nr_notafiscal.HasValue && val.Nr_nfse.HasValue)
                {
                    if (val.Nr_notafiscal.Value != val.Nr_nfse.Value)
                    {
                        //Verificar se existe NF-e utilizando numero nota
                        CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento lFat =
                            CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.Busca(val.Cd_empresa,
                                                                                          val.Nr_nfse.Value.ToString(),
                                                                                          val.Nr_serie,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          decimal.Zero,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          false,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          decimal.Zero,
                                                                                          decimal.Zero,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          false,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          1,
                                                                                          string.Empty,
                                                                                          qtb_lote.Banco_Dados);
                        if (lFat.Count > 0)
                        {
                            if (lFat[0].St_registro.Trim().ToUpper().Equals("C"))
                            {
                                throw new Exception("Nº de NFS-e <" + val.Nr_nfse.Value.ToString() + "> já esta em uso no sistema.");
                            }
                            else if (new TCD_LoteRPS(qtb_lote.Banco_Dados).BuscarEscalar(
                                         new Utils.TpBusca[]
                            {
                                new Utils.TpBusca()
                                {
                                    vNM_Campo = "a.st_lote",
                                    vOperador = "=",
                                    vVL_Busca = "3"
                                },
                                new Utils.TpBusca()
                                {
                                    vNM_Campo = string.Empty,
                                    vOperador = "exists",
                                    vVL_Busca = "(select 1 from TB_FAT_LoteRPS_X_NFES x " +
                                                "where x.cd_empresa = a.cd_empresa " +
                                                "and x.id_lote = a.id_lote " +
                                                "and x.cd_empresa = '" + lFat[0].Cd_empresa.Trim() + "' " +
                                                "and x.nr_lanctofiscal = " + lFat[0].Nr_lanctofiscalstr + ")"
                                }
                            }, "1") != null)
                            {
                                throw new Exception("Nº de NFS-e <" + val.Nr_nfse.Value.ToString() + "> já esta em uso no sistema.");
                            }
                            else
                            {
                                CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.CancelarFaturamento(lFat[0], qtb_lote.Banco_Dados);
                            }
                        }
                        //Buscar Nota Fiscal para alterar numero
                        lFat =
                            CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.Busca(val.Cd_empresa,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          val.Nr_lanctofiscal.Value.ToString(),
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          decimal.Zero,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          false,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          "A",
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          decimal.Zero,
                                                                                          decimal.Zero,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          false,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          1,
                                                                                          string.Empty,
                                                                                          qtb_lote.Banco_Dados);
                        if (lFat.Count > 0)
                        {
                            lFat[0].Nr_notafiscal = val.Nr_nfse;
                            CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.AlterarFaturamento(lFat[0], qtb_lote.Banco_Dados);
                            //Buscar sequencia NFSe
                            CamadaDados.Faturamento.Cadastros.TList_CadSequenciaNF lSeq =
                                new CamadaDados.Faturamento.Cadastros.TCD_CadSequenciaNF(qtb_lote.Banco_Dados).Select(
                                    new Utils.TpBusca[]
                            {
                                new Utils.TpBusca()
                                {
                                    vNM_Campo = "a.cd_empresa",
                                    vOperador = "=",
                                    vVL_Busca = "'" + lFat[0].Cd_empresa.Trim() + "'"
                                },
                                new Utils.TpBusca()
                                {
                                    vNM_Campo = "a.nr_serie",
                                    vOperador = "=",
                                    vVL_Busca = "'" + lFat[0].Nr_serie.Trim() + "'"
                                },
                                new Utils.TpBusca()
                                {
                                    vNM_Campo = "a.cd_modelo",
                                    vOperador = "=",
                                    vVL_Busca = "'" + lFat[0].Cd_modelo.Trim() + "'"
                                }
                            }, 1, string.Empty);
                            if (lSeq.Count > 0)
                            {
                                if (lSeq[0].Seq_NotaFiscal < val.Nr_nfse.Value)
                                {
                                    lSeq[0].Seq_NotaFiscal = val.Nr_nfse.Value;
                                    CamadaNegocio.Faturamento.Cadastros.TCN_CadSequenciaNF.Gravar(lSeq[0], qtb_lote.Banco_Dados);
                                }
                            }
                            //Se possuir duplicata alterar Nº Docto
                            CamadaDados.Financeiro.Duplicata.TList_RegLanDuplicata lDup =
                                new CamadaDados.Financeiro.Duplicata.TCD_LanDuplicata(qtb_lote.Banco_Dados).Select(
                                    new TpBusca[]
                            {
                                new TpBusca()
                                {
                                    vNM_Campo = "isnull(a.st_registro, 'A')",
                                    vOperador = "<>",
                                    vVL_Busca = "'C'"
                                },
                                new TpBusca()
                                {
                                    vNM_Campo = string.Empty,
                                    vOperador = "exists",
                                    vVL_Busca = "(select 1 from tb_fat_notafiscal_x_duplicata x " +
                                                "where x.cd_empresa = a.cd_empresa " +
                                                "and x.Nr_LanctoDuplicata = a.nr_lancto " +
                                                "and x.cd_empresa = '" + val.Cd_empresa.Trim() + "'" +
                                                "and x.nr_lanctofiscal = " + val.Nr_lanctofiscal + ") "
                                }
                            }, 1, string.Empty);
                            if (lDup.Count > 0)
                            {
                                qtb_lote.executarSql("update TB_FIN_Duplicata set Nr_docto = '" + val.Nr_nfse.Value.ToString() + "' " +
                                                     "where cd_empresa = '" + lDup[0].Cd_empresa.Trim() + "' " +
                                                     "and nr_lancto = " + lDup[0].Nr_lancto.ToString(), null);
                            }
                        }
                    }
                }
                if (st_transacao)
                {
                    qtb_lote.Banco_Dados.Commit_Tran();
                }
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_lote.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro corrigir numero NFS-e: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_lote.deletarBanco_Dados();
                }
            }
        }
Beispiel #7
0
 private void CancelarNFe()
 {
     if (string.IsNullOrEmpty(cd_empresa.Text))
     {
         MessageBox.Show("Obrigatorio informar empresa.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         return;
     }
     if (cbSerie.SelectedItem == null)
     {
         MessageBox.Show("Obrigatorio informar serie.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         cbSerie.Focus();
         return;
     }
     if (string.IsNullOrEmpty(nr_notafiscal.Text))
     {
         MessageBox.Show("Obrigatorio informar " + (St_nfce ? "NFCe" : "NFe") + ".", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         nr_notafiscal.Focus();
         return;
     }
     if (St_nfce)
     {
         CamadaDados.Faturamento.PDV.TList_NFCe lNFCe =
             CamadaNegocio.Faturamento.PDV.TCN_NFCe.Buscar(string.Empty,
                                                           nr_notafiscal.Text,
                                                           cd_empresa.Text,
                                                           string.Empty,
                                                           string.Empty,
                                                           string.Empty,
                                                           string.Empty,
                                                           decimal.Zero,
                                                           decimal.Zero,
                                                           string.Empty,
                                                           string.Empty,
                                                           cbSerie.SelectedValue.ToString(),
                                                           string.Empty,
                                                           false,
                                                           string.Empty,
                                                           string.Empty,
                                                           1,
                                                           null);
         if (lNFCe.Count > 0)
         {
             List <CamadaDados.Faturamento.PDV.TRegistro_VendaRapida> lVenda = null;
             if (lNFCe[0].St_registro.Trim().ToUpper().Equals("C"))
             {
                 MessageBox.Show("NFCe ja se encontra CANCELADA.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 return;
             }
             string msg = string.Empty;
             if (lNFCe[0].Id_contingencia.HasValue &&
                 !lNFCe[0].Nr_protocolo.HasValue)
             {
                 msg = "NFCe emitida em CONTINGÊNCIA OFFLINE e ainda não transmitida para a receita.\r\n" +
                       "O cancelamento desta NFCe somente ocorrerá após o envio da mesma para receita.";
             }
             if (MessageBox.Show((string.IsNullOrEmpty(msg) ? string.Empty : msg + "\r\n") + "Confirma cancelamento NFCe?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)
                 == DialogResult.Yes)
             {
                 try
                 {
                     bool st_cancelar = true;
                     //Verificar se o NFCe esta vinculado a NFe
                     object obj = new CamadaDados.Faturamento.NotaFiscal.TCD_LanFaturamento().BuscarEscalar(
                         new TpBusca[]
                     {
                         new TpBusca()
                         {
                             vNM_Campo = "isnull(a.st_registro, 'A')",
                             vOperador = "<>",
                             vVL_Busca = "'C'"
                         },
                         new TpBusca()
                         {
                             vNM_Campo = string.Empty,
                             vOperador = "exists",
                             vVL_Busca = "(select 1 from tb_fat_ecfvinculadoNF x " +
                                         "where x.cd_empresa = a.cd_empresa " +
                                         "and x.nr_lanctofiscal = a.nr_lanctofiscal " +
                                         "and x.cd_empresa = '" + lNFCe[0].Cd_empresa.Trim() + "' " +
                                         "and x.id_cupom = " + lNFCe[0].Id_nfcestr + ")"
                         }
                     }, "a.nr_notafiscal");
                     if (obj != null)
                     {
                         MessageBox.Show("NFCe Nº" + lNFCe[0].Id_nfcestr + " esta vinculado a NFe Nº" + obj.ToString() + ".\r\n" +
                                         "Para cancelar NFCe obrigatório antes cancelar NFe.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         return;
                     }
                     if (lNFCe[0].Nr_protocolo.HasValue ||
                         lNFCe[0].Id_contingencia.HasValue)
                     {
                         string motivo = string.Empty;
                         CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfg = null;
                         CamadaDados.Faturamento.Cadastros.TList_Evento lEv  = null;
                         //Verificar evento
                         CamadaDados.Faturamento.PDV.TList_EventoNFCe lEvento =
                             CamadaNegocio.Faturamento.PDV.TCN_EventoNFCe.Buscar(lNFCe[0].Cd_empresa,
                                                                                 lNFCe[0].Id_nfcestr,
                                                                                 string.Empty,
                                                                                 null);
                         if (lEvento.Count.Equals(0))
                         {
                             if (string.IsNullOrEmpty(motivo))
                             {
                                 InputBox ibp = new InputBox();
                                 ibp.Text = "Motivo Cancelamento NFCe";
                                 motivo   = ibp.ShowDialog();
                                 if (string.IsNullOrEmpty(motivo))
                                 {
                                     MessageBox.Show("Obrigatorio informar motivo de cancelamento da NFCe.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                     return;
                                 }
                                 if (motivo.Trim().Length < 15)
                                 {
                                     MessageBox.Show("Motivo de cancelamento deve ter mais que 15 caracteres.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                     return;
                                 }
                             }
                             //Buscar evento Cancelamento
                             if (lEv == null)
                             {
                                 lEv = CamadaNegocio.Faturamento.Cadastros.TCN_Evento.Buscar(string.Empty, string.Empty, "CA", null);
                             }
                             if (lEv.Count.Equals(0))
                             {
                                 MessageBox.Show("Não existe evento de CANCELAMENTO NFE cadastrado.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                 return;
                             }
                             //Cancelar NFe Receita
                             CamadaDados.Faturamento.PDV.TRegistro_EventoNFCe rEvento = new CamadaDados.Faturamento.PDV.TRegistro_EventoNFCe();
                             rEvento.Cd_empresa        = lNFCe[0].Cd_empresa;
                             rEvento.Id_cupom          = lNFCe[0].Id_nfce;
                             rEvento.Chave_acesso_nfce = lNFCe[0].Chave_acesso;
                             rEvento.Nr_protocoloNFCe  = lNFCe[0].Nr_protocolo;
                             rEvento.Dt_evento         = CamadaDados.UtilData.Data_Servidor();
                             rEvento.Justificativa     = motivo;
                             rEvento.Cd_eventostr      = lEv[0].Cd_eventostr;
                             rEvento.Tp_evento         = lEv[0].Tp_evento;
                             rEvento.Ds_evento         = lEv[0].Ds_evento;
                             rEvento.St_registro       = "A";
                             CamadaNegocio.Faturamento.PDV.TCN_EventoNFCe.Gravar(rEvento, null);
                             lEvento.Add(rEvento);
                         }
                         if (!lEvento[0].St_registro.Trim().ToUpper().Equals("T") &&
                             lNFCe[0].Nr_protocolo.HasValue)
                         {
                             //Buscar CfgNfe para a empresa
                             if (lCfg == null)
                             {
                                 lCfg = CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar(lNFCe[0].Cd_empresa,
                                                                                              string.Empty,
                                                                                              string.Empty,
                                                                                              null);
                             }
                             if (lCfg.Count.Equals(0))
                             {
                                 MessageBox.Show("Não existe configuração para envio de evento para a empresa " + lNFCe[0].Cd_empresa.Trim() + ".",
                                                 "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             }
                             else
                             {
                                 msg = NFCe.EventoNFCe.TEventoNFCe.EnviarEvento(lEvento[0], lCfg[0]);
                                 if (!string.IsNullOrEmpty(msg))
                                 {
                                     MessageBox.Show("Erro ao enviar evento CANCELAMENTO para a receita.\r\n" +
                                                     "Aguarde um tempo e tente novamente.\r\n" +
                                                     "Erro: " + msg.Trim() + ".",
                                                     "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                     st_cancelar = false;
                                 }
                             }
                         }
                     }
                     if (st_cancelar)
                     {
                         if (!lNFCe[0].Nr_protocolo.HasValue &&
                             !lNFCe[0].Id_contingencia.HasValue)
                         {
                             //Buscar CfgNfe para a empresa
                             CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfgNfCe =
                                 CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar(lNFCe[0].Cd_empresa,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       null);
                             if (lCfgNfCe.Count.Equals(0))
                             {
                                 MessageBox.Show("Não existe configuração NFC-e para a empresa " + lNFCe[0].Cd_empresa.Trim() + ".",
                                                 "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             }
                             else
                             {
                                 //Consultar Chave
                                 string ret = NFCe.ConsultaChave.TConsultaChave.ConsultaChave(lNFCe[0].Chave_acesso,
                                                                                              "1",
                                                                                              lCfgNfCe[0]);
                                 if (!string.IsNullOrEmpty(ret))
                                 {
                                     MessageBox.Show("Não é permtido excluir cupom com chave de acesso existente na receita.\r\n" + ret, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                     return;
                                 }
                             }
                         }
                         CamadaNegocio.Faturamento.PDV.TCN_NFCe.CancelarCF(lNFCe[0], null);
                         MessageBox.Show("NFCe cancelada com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         if (!lNFCe[0].Nr_protocolo.HasValue &&
                             !lNFCe[0].Id_contingencia.HasValue)
                         {
                             CamadaDados.Faturamento.Cadastros.TList_CadSequenciaNF lSeq =
                                 CamadaNegocio.Faturamento.Cadastros.TCN_CadSequenciaNF.Busca(lNFCe[0].Nr_serie,
                                                                                              lNFCe[0].Cd_modelo,
                                                                                              lNFCe[0].Cd_empresa,
                                                                                              null);
                             if (lSeq.Count > 0)
                             {
                                 if (lSeq[0].Seq_NotaFiscal.Equals(lNFCe[0].NR_NFCe))
                                 {
                                     lSeq[0].Seq_NotaFiscal--;
                                     CamadaNegocio.Faturamento.Cadastros.TCN_CadSequenciaNF.Gravar(lSeq[0], null);
                                     MessageBox.Show("Sequencia de numeração da serie voltada com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                 }
                                 else
                                 {
                                     //Buscar configuracao nfe
                                     CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfgNfe =
                                         CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar(lNFCe[0].Cd_empresa,
                                                                                               string.Empty,
                                                                                               string.Empty,
                                                                                               null);
                                     if (lCfgNfe.Count > 0)
                                     {
                                         try
                                         {
                                             //Inutilizar numero nota
                                             NFCe.InutilizaNFCe.TInutilizaNFCe.InutilizarNFCe(lCfgNfe[0].Cd_uf_empresa,
                                                                                              lCfgNfe[0].Cnpj_empresa,
                                                                                              lNFCe[0].Nr_serie,
                                                                                              lNFCe[0].Cd_modelo,
                                                                                              DateTime.Now.Year.ToString(),
                                                                                              lNFCe[0].NR_NFCe.Value,
                                                                                              lNFCe[0].NR_NFCe.Value,
                                                                                              "NUMERO INUTILIZADO DEVIDO A ERRO NA EMISSAO DA NFCe",
                                                                                              lCfgNfe[0]);
                                             MessageBox.Show("Numero INUTILIZADO com sucesso na receita.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                         }
                                         catch (Exception ex)
                                         { MessageBox.Show("Erro: " + ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
                                     }
                                 }
                             }
                         }
                         Close();
                     }
                 }
                 catch (Exception ex)
                 { MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
             }
         }
     }
     else
     {
         CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento lNf =
             CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.Busca(cd_empresa.Text,
                                                                           nr_notafiscal.Text,
                                                                           cbSerie.SelectedValue.ToString(),
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           decimal.Zero,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           true,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           "S",
                                                                           string.Empty,
                                                                           "A",
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           decimal.Zero,
                                                                           decimal.Zero,
                                                                           string.Empty,
                                                                           "'P'",
                                                                           string.Empty,
                                                                           false,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           1,
                                                                           string.Empty,
                                                                           null);
         if (lNf.Count > 0)
         {
             try
             {
                 //Verificar se NFe ja nao foi cancelada junto a receita
                 CamadaDados.Faturamento.NFE.TList_EventoNFe lEvento =
                     CamadaNegocio.Faturamento.NFE.TCN_EventoNFe.Buscar(string.Empty,
                                                                        lNf[0].Cd_empresa,
                                                                        lNf[0].Nr_lanctofiscal.ToString(),
                                                                        string.Empty,
                                                                        string.Empty,
                                                                        "CA",
                                                                        string.Empty,
                                                                        null);
                 if (lEvento.Count.Equals(0) ? false : lEvento[0].St_registro.Trim().ToUpper().Equals("T"))
                 {
                     //Cancelar somente NFe no Aliance.NET
                     CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.CancelarFaturamento(lNf[0], null);
                     MessageBox.Show("NF-e cancelada com sucesso no sistema Aliance.NET", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     //Cancelar pedido
                     CamadaDados.Faturamento.Pedido.TList_Pedido lPed =
                         CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Busca(lNf[0].Cd_empresa,
                                                                           string.Empty,
                                                                           lNf[0].Nr_pedidostring,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           false,
                                                                           false,
                                                                           false,
                                                                           false,
                                                                           false,
                                                                           false,
                                                                           false,
                                                                           false,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           decimal.Zero,
                                                                           decimal.Zero,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           false,
                                                                           1,
                                                                           string.Empty,
                                                                           null);
                     CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Deleta_Pedido(lPed[0], null);
                     //Cancelar venda rapida
                     CamadaDados.Faturamento.PDV.TList_VendaRapida lVenda =
                         new CamadaDados.Faturamento.PDV.TCD_VendaRapida().Select(
                             new TpBusca[]
                     {
                         new TpBusca()
                         {
                             vNM_Campo = string.Empty,
                             vOperador = "exists",
                             vVL_Busca = "(select 1 from tb_pdv_pedido_x_vendarapida x " +
                                         "where x.cd_empresa = a.cd_empresa " +
                                         "and x.id_vendarapida = a.id_cupom  " +
                                         "and x.nr_pedido = " + lNf[0].Nr_pedidostring + ")"
                         }
                     }, 0, string.Empty, string.Empty);
                     CamadaNegocio.Faturamento.PDV.TCN_VendaRapida.ExcluirVendaRapida(lVenda, null);
                     Close();
                 }
                 else
                 {
                     if (lEvento.Count.Equals(0))
                     {
                         InputBox ibp = new InputBox();
                         ibp.Text = "Motivo Cancelamento Nota Fiscal";
                         string motivo = ibp.ShowDialog();
                         if (string.IsNullOrEmpty(motivo))
                         {
                             MessageBox.Show("Obrigatorio informar motivo de cancelamento da nota fiscal.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             return;
                         }
                         if (motivo.Trim().Length < 15)
                         {
                             MessageBox.Show("Motivo de cancelamento deve ter mais que 15 caracteres.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             return;
                         }
                         //Buscar evento Carta Correcao
                         CamadaDados.Faturamento.Cadastros.TList_Evento lEv =
                             CamadaNegocio.Faturamento.Cadastros.TCN_Evento.Buscar(string.Empty, string.Empty, "CA", null);
                         if (lEv.Count.Equals(0))
                         {
                             MessageBox.Show("Não existe evento de CANCELAMENTO NFE cadastrado.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             return;
                         }
                         //Cancelar NFe Receita
                         CamadaDados.Faturamento.NFE.TRegistro_EventoNFe rEvento = new CamadaDados.Faturamento.NFE.TRegistro_EventoNFe();
                         rEvento.Cd_empresa       = lNf[0].Cd_empresa;
                         rEvento.Nr_lanctofiscal  = lNf[0].Nr_lanctofiscal;
                         rEvento.Chave_acesso_nfe = lNf[0].Chave_acesso_nfe;
                         rEvento.Nr_protocoloNfe  = lNf[0].Nr_protocolo;
                         rEvento.Dt_evento        = CamadaDados.UtilData.Data_Servidor();
                         rEvento.Ds_evento        = motivo;
                         rEvento.Cd_eventostr     = lEv[0].Cd_eventostr;
                         rEvento.Descricao_evento = lEv[0].Ds_evento;
                         rEvento.Tp_evento        = lEv[0].Tp_evento;
                         rEvento.St_registro      = "A";
                         CamadaNegocio.Faturamento.NFE.TCN_EventoNFe.Gravar(rEvento, null);
                         if (MessageBox.Show("Evento de CANCELAMENTO gravado com sucesso.\r\n" +
                                             "Deseja enviar o mesmo para a receita?", "Pergunta",
                                             MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)
                             == DialogResult.Yes)
                         {
                             //Buscar CfgNfe para a empresa
                             CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfg =
                                 CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar(lNf[0].Cd_empresa,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       null);
                             if (lCfg.Count.Equals(0))
                             {
                                 MessageBox.Show("Não existe configuração para envio de evento para a empresa " + lNf[0].Cd_empresa.Trim() + ".",
                                                 "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             }
                             else
                             {
                                 string msg = srvNFE.Evento.TEventoNFe.EnviarEvento(rEvento, lCfg[0]);
                                 if (!string.IsNullOrEmpty(msg))
                                 {
                                     MessageBox.Show("Erro ao enviar evento CANCELAMENTO para a receita.\r\n" +
                                                     "Aguarde um tempo e tente novamente.\r\n" +
                                                     "Erro: " + msg.Trim() + "\r\n" +
                                                     "Obs.: A NFe não será cancelada no sistema Aliance.NET enquanto a mesma não for cancelada junto a receita.",
                                                     "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                 }
                                 else
                                 {
                                     MessageBox.Show("Evento registrado e vinculado a NF-e.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                     CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.CancelarFaturamento(lNf[0], null);
                                     MessageBox.Show("NF-e cancelada com sucesso no sistema Aliance.NET", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                     //Cancelar pedido
                                     CamadaDados.Faturamento.Pedido.TList_Pedido lPed =
                                         new CamadaDados.Faturamento.Pedido.TCD_Pedido().Select(
                                             new TpBusca[]
                                     {
                                         new TpBusca()
                                         {
                                             vNM_Campo = "a.nr_pedido",
                                             vOperador = "=",
                                             vVL_Busca = lNf[0].Nr_pedidostring
                                         },
                                         new TpBusca()
                                         {
                                             vNM_Campo = string.Empty,
                                             vOperador = "exists",
                                             vVL_Busca = "(select 1 from tb_pdv_pedido_x_vendarapida x " +
                                                         "where x.nr_pedido = a.nr_pedido)"
                                         }
                                     }, 1, string.Empty);
                                     if (lPed.Count > 0)
                                     {
                                         CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Deleta_Pedido(lPed[0], null);
                                         //Cancelar venda rapida
                                         CamadaDados.Faturamento.PDV.TList_VendaRapida lVenda =
                                             new CamadaDados.Faturamento.PDV.TCD_VendaRapida().Select(
                                                 new TpBusca[]
                                         {
                                             new TpBusca()
                                             {
                                                 vNM_Campo = string.Empty,
                                                 vOperador = "exists",
                                                 vVL_Busca = "(select 1 from tb_pdv_pedido_x_vendarapida x " +
                                                             "where x.cd_empresa = a.cd_empresa " +
                                                             "and x.id_vendarapida = a.id_cupom  " +
                                                             "and x.nr_pedido = " + lNf[0].Nr_pedidostring + ")"
                                             }
                                         }, 0, string.Empty, string.Empty);
                                         CamadaNegocio.Faturamento.PDV.TCN_VendaRapida.ExcluirVendaRapida(lVenda, null);
                                     }
                                     //Cancelar venda rapida nota entrega futura
                                     CamadaDados.Faturamento.PDV.TList_VendaRapida lVendaEF =
                                         new CamadaDados.Faturamento.PDV.TCD_VendaRapida().Select(
                                             new TpBusca[]
                                     {
                                         new TpBusca()
                                         {
                                             vNM_Campo = string.Empty,
                                             vOperador = "exists",
                                             vVL_Busca = "(select 1 from tb_pdv_vendarapida_x_entregafutura x " +
                                                         "where x.cd_empresa = a.cd_empresa " +
                                                         "and x.id_cupom = a.id_cupom " +
                                                         "and x.cd_empresa = '" + lNf[0].Cd_empresa.Trim() + "' " +
                                                         "and x.nr_lanctofiscal = " + lNf[0].Nr_lanctofiscalstr + ")"
                                         }
                                     }, 0, string.Empty, string.Empty);
                                     CamadaNegocio.Faturamento.PDV.TCN_VendaRapida.ExcluirVendaRapida(lVendaEF, null);
                                     Close();
                                 }
                             }
                         }
                     }
                     else
                     {
                         //Buscar CfgNfe para a empresa
                         CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfg =
                             CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar(lNf[0].Cd_empresa,
                                                                                   string.Empty,
                                                                                   string.Empty,
                                                                                   null);
                         if (lCfg.Count.Equals(0))
                         {
                             MessageBox.Show("Não existe configuração para envio de evento para a empresa " + lNf[0].Cd_empresa.Trim() + ".",
                                             "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         }
                         else
                         {
                             string msg = srvNFE.Evento.TEventoNFe.EnviarEvento(lEvento[0], lCfg[0]);
                             if (!string.IsNullOrEmpty(msg))
                             {
                                 MessageBox.Show("Erro ao enviar evento CANCELAMENTO para a receita.\r\n" +
                                                 "Aguarde um tempo e tente novamente.\r\n" +
                                                 "Erro: " + msg.Trim() + "\r\n" +
                                                 "Obs.: A NFe não será cancelada no sistema Aliance.NET enquanto a mesma não for cancelada junto a receita.",
                                                 "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                             }
                             else
                             {
                                 MessageBox.Show("Evento registrado e vinculado a NF-e.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                 CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.CancelarFaturamento(lNf[0], null);
                                 MessageBox.Show("NF-e cancelada com sucesso no sistema Aliance.NET", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                 //Cancelar pedido
                                 CamadaDados.Faturamento.Pedido.TList_Pedido lPed =
                                     CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Busca(lNf[0].Cd_empresa,
                                                                                       string.Empty,
                                                                                       lNf[0].Nr_pedidostring,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       false,
                                                                                       false,
                                                                                       false,
                                                                                       false,
                                                                                       false,
                                                                                       false,
                                                                                       false,
                                                                                       false,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       decimal.Zero,
                                                                                       decimal.Zero,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       false,
                                                                                       1,
                                                                                       string.Empty,
                                                                                       null);
                                 CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Deleta_Pedido(lPed[0], null);
                                 //Cancelar venda rapida
                                 CamadaDados.Faturamento.PDV.TList_VendaRapida lVenda =
                                     new CamadaDados.Faturamento.PDV.TCD_VendaRapida().Select(
                                         new TpBusca[]
                                 {
                                     new TpBusca()
                                     {
                                         vNM_Campo = string.Empty,
                                         vOperador = "exists",
                                         vVL_Busca = "(select 1 from tb_pdv_pedido_x_vendarapida x " +
                                                     "where x.cd_empresa = a.cd_empresa " +
                                                     "and x.id_vendarapida = a.id_cupom  " +
                                                     "and x.nr_pedido = " + lNf[0].Nr_pedidostring + ")"
                                     }
                                 }, 0, string.Empty, string.Empty);
                                 CamadaNegocio.Faturamento.PDV.TCN_VendaRapida.ExcluirVendaRapida(lVenda, null);
                                 Close();
                             }
                         }
                     }
                 }
             }
             catch (Exception ex)
             { MessageBox.Show("Erro: " + ex.Message.Trim()); }
         }
     }
 }