private void GerarRemessa(TRegistro_CargaAvulsa rCarga) { CamadaDados.Diversos.TList_CfgEmpresa lCfgEmpresa = CamadaNegocio.Diversos.TCN_CfgEmpresa.Buscar(rCarga.Cd_empresa, null); if (lCfgEmpresa.Count.Equals(0)) { MessageBox.Show("Não existe configuração parâmetro Empresa: " + rCarga.Cd_empresa, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } CamadaDados.Faturamento.Pedido.TRegistro_Pedido rPed = null; try { Proc_Commoditties.TProcessaPedidoCargaAvulsa.GerarPedidoCarga(ref rPed, rCarga, lCfgEmpresa[0]); CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Grava_Pedido(rPed, null); //Buscar pedido rPed = CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Busca_Registro_Pedido(rPed.Nr_pedido.ToString(), null); //Buscar itens pedido CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Busca_Pedido_Itens(rPed, false, null); for (int i = 0; i < rCarga.lItens.Count; i++) { rPed.Pedido_Itens[i].lItensCargaAvulsa.Add(rCarga.lItens[i]); } //Gerar Nota Fiscal TRegistro_LanFaturamento rFat = Proc_Commoditties.TProcessaPedFaturar.ProcessaPedFaturar(rPed, false, decimal.Zero); //Gravar Nota Fiscal TCN_LanFaturamento.GravarFaturamento(rFat, null, null); using (srvNFE.TFGerenciarNFe fGerNfe = new srvNFE.TFGerenciarNFe()) { fGerNfe.rNfe = CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.BuscarNF(rFat.Cd_empresa, rFat.Nr_lanctofiscalstr, null); fGerNfe.ShowDialog(); } } catch (Exception ex) { if (rPed != null) { CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Deleta_Pedido(rPed, null); } MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public static void DevolverNF(TRegistro_LanFaturamento val) { if (val != null) { //Verificar se Nf é de devolução if (new TCD_LanFat_ComplementoDevolucao().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.NR_LanctoFiscal_Destino", vOperador = "=", vVL_Busca = val.Nr_lanctofiscalstr } }, "1") != null) { MessageBox.Show("Não é possivel devolver NF Devolução!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } using (TFDevolverNF fDev = new TFDevolverNF()) { fDev.rNf = val; if (fDev.ShowDialog() == DialogResult.OK) { if (fDev.rNf != null) { try { TRegistro_LanFaturamento rFat = GerarDevolucao(fDev.rNf); TCN_LanFaturamento.GravarFaturamento(rFat, null, null); //Enviar NFe Destino if (rFat != null) { //Buscar nota fiscal de destino TRegistro_LanFaturamento rNf = TCN_LanFaturamento.BuscarNF(rFat.Cd_empresa, rFat.Nr_lanctofiscalstr, null); //Se for nota propria e NF-e if (rNf.Tp_nota.Trim().ToUpper().Equals("P") && rNf.Cd_modelo.Trim().Equals("55")) { if (MessageBox.Show("Deseja enviar NF-e Devolução para a receita agora?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { try { using (srvNFE.TFGerenciarNFe fGerNfe = new srvNFE.TFGerenciarNFe()) { fGerNfe.rNfe = rNf; fGerNfe.ShowDialog(); } } catch (Exception ex) { MessageBox.Show("Erro enviar NF-e: " + ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } } }
private void VincularCfNFe() { using (Proc_Commoditties.TFVincularECFNF fVincular = new Proc_Commoditties.TFVincularECFNF()) { if (fVincular.ShowDialog() == DialogResult.OK) { if (fVincular.lCupom != null) { if (fVincular.lCupom.Count > 0) { CamadaDados.Faturamento.Pedido.TRegistro_Pedido rPed = null; try { rPed = Proc_Commoditties.TProcessaCFVinculadoNF.ProcessarPedido(fVincular.lCupom, fVincular.pCd_empresa, fVincular.pCd_cliente); //Gravar Pedido CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Grava_Pedido(rPed, null); //Buscar pedido rPed = CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Busca_Registro_Pedido(rPed.Nr_pedido.ToString(), null); //Buscar itens pedido CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Busca_Pedido_Itens(rPed, false, null); //Se o CMI do pedido gerar financeiro CamadaDados.Financeiro.Duplicata.TList_RegLanParcela lParcVinculado = new CamadaDados.Financeiro.Duplicata.TList_RegLanParcela(); //Buscar parcelas em aberto dos cupons que estao sendo vinculados fVincular.lCupom.ForEach(p => { new CamadaDados.Financeiro.Duplicata.TCD_LanParcela().Select( new TpBusca[] { new TpBusca() { vNM_Campo = "isnull(dup.st_registro, 'A')", vOperador = "<>", vVL_Busca = "'C'" }, new TpBusca() { vNM_Campo = "isnull(a.st_registro, 'A')", vOperador = "in", vVL_Busca = "('A', 'P')" }, new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_pdv_cupom_x_vendarapida x " + "inner join tb_pdv_cupomfiscal_x_duplicata y " + "on x.cd_empresa = y.cd_empresa " + "and x.id_vendarapida = y.id_cupom " + "where y.cd_empresa = a.cd_empresa " + "and y.nr_lancto = a.nr_lancto " + "and x.cd_empresa = '" + p.Cd_empresa.Trim() + "' " + "and x.id_cupom = " + p.Id_nfcestr + ")" } }, 0, string.Empty, "a.dt_vencto, c.nm_clifor", string.Empty).ForEach(v => lParcVinculado.Add(v)); }); //Gerar Nota Fiscal CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento rFat = Proc_Commoditties.TProcessaPedFaturar.ProcessaPedFaturar(rPed, true, lParcVinculado.Sum(p => p.Vl_atual)); //Vincular Cupom a Nota Fiscal string Obs = string.Empty; string virg = string.Empty; fVincular.lCupom.ForEach(p => { rFat.lCupom.Add(p); string Placa_km = TCN_NFCe.BuscarPlacaKM(p.Cd_empresa, p.Id_nfcestr, null); Obs += virg + p.NR_NFCestr.Trim() + "-" + (string.IsNullOrEmpty(Placa_km) ? p.Placa : Placa_km.Trim()) + (!string.IsNullOrEmpty(p.Nr_requisicao) ? "/" + p.Nr_requisicao.Trim() : string.Empty); virg = ","; }); //Vincular financeiro a Nota Fiscal rFat.lParcAgrupar = lParcVinculado; if (!string.IsNullOrEmpty(Obs)) { rFat.Dadosadicionais = (!string.IsNullOrEmpty(rFat.Dadosadicionais) ? "\r\n" : string.Empty) + "Ref. CF-Placa/KM/Frota/Requisicao " + Obs.Trim(); } //Gravar Nota Fiscal CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.GravarFaturamento(rFat, null, null); if (rFat.Cd_modelo.Trim().Equals("55")) { if (MessageBox.Show("NFe gerada com sucesso.\r\n" + "Deseja enviar para receita?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { using (srvNFE.TFGerenciarNFe fGerNfe = new srvNFE.TFGerenciarNFe()) { fGerNfe.rNfe = CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.BuscarNF(rFat.Cd_empresa, rFat.Nr_lanctofiscalstr, null); fGerNfe.ShowDialog(); } } } } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Deleta_Pedido(rPed, null); } } else { MessageBox.Show("Não existe cupom fiscal selecionado para vincular a Nota Fiscal.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } } }
private void bb_inutilizar_Click(object sender, EventArgs e) { bool flag = false, semvalor = false; try { if (bsOrcamento.Current == null) { MessageBox.Show("Selecione um projeto!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else if ((bsFicha.List as List <TRegistro_FichaTec>).Where(p => p.st_agregar).ToList().FindAll(c => string.IsNullOrEmpty(c.Cd_produto)).Count > 0) { MessageBox.Show("Obrigatório informar código de produto para gerar a remessa", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } (bsFicha.List as List <TRegistro_FichaTec>).Where(p => p.st_agregar && p.quantidade_agregar > decimal.Zero).ToList().ForEach(p => { flag = true; if (vTp_Fat.Equals("Normal")) { decimal saldo = BuscarSaldoLocal(vCD_Empresa, p.Cd_produto); if (saldo.Equals(decimal.Zero)) { MessageBox.Show("Não existe saldo disponivel no estoque.\r\n" + "Produto.........: " + p.Cd_produto.Trim() + "-" + p.Ds_produto.Trim() + "\r\n" + "Local Arm.......: " + vCd_Local.Trim() + "-" + vDs_Local + "\r\n" + "Saldo Disponivel: " + saldo.ToString("N3", new System.Globalization.CultureInfo("pt-BR", true)), "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); semvalor = true; } } }); if (!semvalor) { if (flag) { if (vTp_Fat.Equals("Normal")) { List <TRegistro_FichaTec> lficha = new List <TRegistro_FichaTec>(); (bsFicha.List as List <TRegistro_FichaTec>).Where(p => p.st_agregar && p.quantidade_agregar > decimal.Zero).ToList() .ForEach(x => lficha.Add(x)); bsCFGEmpreendimento.DataSource = TCN_CadCFGEmpreendimento.Busca((bsOrcamento.Current as TRegistro_Orcamento).Cd_empresa, string.Empty, null); bsCFGEmpreendimento.ResetCurrentItem(); TList_CadCFGEmpreendimento lcfg = TCN_CadCFGEmpreendimento.Busca(string.Empty, string.Empty, null); if (lcfg[0].tp_precoitem.Trim().Equals("0")) { lficha.ForEach(p => { p.Vl_unitario = CamadaNegocio.Estoque.TCN_LanEstoque.Valor_Medio_Est_Produto(p.Cd_empresa, p.Cd_produto, null); if (p.Vl_unitario <= decimal.Zero) { throw new Exception("Produto " + p.Cd_produto.Trim() + "-" + p.Ds_produto.Trim() + " esta com valor medio negativo no estoque."); } }); } CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento rNf = Proc_Commoditties.ProcessaEmpreendimento.ProcessarEmpreendimento("N", (bsOrcamento.Current as TRegistro_Orcamento).Cd_clifor, rorcamento, lficha); TCN_Orcamento.ProcessarNFEmpreendimento(rNf, bsCFGEmpreendimento.Current as TRegistro_CadCFGEmpreendimento, bsOrcamento.Current as TRegistro_Orcamento, null); if (rNf.Tp_nota.Trim().ToUpper().Equals("P") && rNf.Cd_modelo.Trim().Equals("55")) { if (MessageBox.Show("Deseja enviar NF-e para a receita agora?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { //Verificar se é nota de produto ou mista object obj = new CamadaDados.Faturamento.Cadastros.TCD_CadSerieNF().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.nr_serie", vOperador = "=", vVL_Busca = "'" + rNf.Nr_serie + "'" } }, "a.tp_serie"); if (obj != null) { if (obj.ToString().Trim().ToUpper().Equals("P") || obj.ToString().Trim().ToUpper().Equals("M")) { try { using (srvNFE.TFGerenciarNFe fGerNfe = new srvNFE.TFGerenciarNFe()) { fGerNfe.rNfe = CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.BuscarNF(rNf.Cd_empresa, rNf.Nr_lanctofiscalstr, null); fGerNfe.ShowDialog(); } } catch (Exception ex) { MessageBox.Show("Erro enviar NF-e: " + ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else if (obj.ToString().Trim().ToUpper().Equals("S")) { try { CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento rNfs = CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.BuscarNF(rNf.Cd_empresa, rNf.Nr_lanctofiscalstr, null); NFES.TGerarRPS.CriarArquivoRPS(rNfs.rCfgNfe, new List <CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento>() { rNfs }); MessageBox.Show("NFS-e enviada com sucesso. Aguarde alguns segundos e consulte o status do lote.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show("Erro enviar NFS-e: " + ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } } } DialogResult = DialogResult.OK; } else { MessageBox.Show("Para confirmar deve selecionar algum item.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } catch (Exception ex) { MessageBox.Show("" + ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void afterGrava() { if (bsOS.Count > 0) { if (vl_minimopedido.Value > 0) { if (st_gerarpedidoservicoseparado.Checked) { if (vl_totalpecas.Value < vl_minimopedido.Value) { MessageBox.Show("Valor total das peças a ser faturado é menor que o valor minimo configurado para gerar pedido.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (vl_totalservicos.Value < vl_minimopedido.Value) { MessageBox.Show("Valor total dos serviços a ser faturado é menor que o valor minimo configurado para gerar pedido.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } else if ((vl_totalservicos.Value + vl_totalpecas.Value) < vl_minimopedido.Value) { MessageBox.Show("Valor total das peças e/ou serviços é menor que o valor minimo configurado para gerar pedido.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } if (BS_Pecas.Count < 1) { if (!(MessageBox.Show("Não existe peças/serviços para processar Ordem(s) de Serviço(s).\r\n" + "Confirma processamento mesmo assim?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)) { return; } } try { //Buscar evoluções (bsOS.Current as TRegistro_LanServico).lEvolucao = new CamadaDados.Servicos.TCD_LanServicoEvolucao().Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.id_os", vOperador = "=", vVL_Busca = (bsOS.Current as CamadaDados.Servicos.TRegistro_LanServico).Id_osstr }, new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + (bsOS.Current as CamadaDados.Servicos.TRegistro_LanServico).Cd_empresa.Trim() + "'" } }, 0, string.Empty, "a.dt_inicio"); object obj = new CamadaDados.Servicos.Cadastros.TCD_TpOrdem().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.tp_ordem", vOperador = "=", vVL_Busca = (bsOS.Current as TRegistro_LanServico).Tp_ordemstr } }, "a.tp_faturamento"); if (obj == null ? false : obj.ToString().ToString().Equals("V")) { if (BS_Pecas.Current != null) { (bsOS.Current as TRegistro_LanServico).lPecas = (BS_Pecas.List as CamadaDados.Servicos.TList_LanServicosPecas); } CamadaDados.Faturamento.Pedido.TRegistro_Pedido rPedGarantia = null; CamadaDados.Faturamento.PDV.TRegistro_PreVenda rPreVenda = Proc_Commoditties.TProcessarOS.ProcessarOSPeca(bsOS.Current as TRegistro_LanServico, ref rPedGarantia); CamadaNegocio.Servicos.TCN_LanServico.ProcessarOSPreVenda(bsOS.Current as TRegistro_LanServico, rPreVenda, rPedGarantia, null); MessageBox.Show("Ordem serviço processada com sucesso.", "Pergunta", MessageBoxButtons.OK, MessageBoxIcon.Information); if (rPedGarantia != null) { //Buscar pedido rPedGarantia = CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Busca_Registro_Pedido(rPedGarantia.Nr_pedido.ToString(), null); //Buscar itens pedido CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Busca_Pedido_Itens(rPedGarantia, false, null); //Gerar Nota Fiscal CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento rFat = Proc_Commoditties.TProcessaPedFaturar.ProcessaPedFaturar(rPedGarantia, false, decimal.Zero); //Gravar Nota Fiscal CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.GravarFaturamento(rFat, null, null); if (rFat.Cd_modelo.Trim().Equals("55")) { if (MessageBox.Show("Deseja enviar NF-e para a receita agora?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { try { using (srvNFE.TFGerenciarNFe fGerNfe = new srvNFE.TFGerenciarNFe()) { fGerNfe.rNfe = CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.BuscarNF(rFat.Cd_empresa, rFat.Nr_lanctofiscalstr, null); fGerNfe.ShowDialog(); } } catch (Exception ex) { MessageBox.Show("Erro enviar NF-e: " + ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } } else { CamadaNegocio.Servicos.TCN_LanServico.ProcessarServico((bsOS.List as CamadaDados.Servicos.TList_LanServico).FindAll(p => p.St_processarOS), St_osinterna ? null : Proc_Commoditties.TProcessaPedidoOS.ProcessarOS((bsOS.List as CamadaDados.Servicos.TList_LanServico).FindAll(p => p.St_processarOS)), null); MessageBox.Show("Ordem(s) de Serviço(s) processada(s) com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } this.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message.Trim()); } } else { MessageBox.Show("Não existe ordem de serviço marcada para processar.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
private void ProcessarOs() { if (bsOrdemServico.Current != null) { if ((bsOrdemServico.Current as CamadaDados.Servicos.TRegistro_LanServico).St_os.Trim().ToUpper().Equals("FE")) { if (MessageBox.Show("Confirma processamento OS Nº" + (bsOrdemServico.Current as CamadaDados.Servicos.TRegistro_LanServico).Id_osstr + "?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { try { List <CamadaDados.Faturamento.Pedido.TRegistro_Pedido> lPed = Proc_Commoditties.TProcessaPedidoOS.ProcessarOS(new List <CamadaDados.Servicos.TRegistro_LanServico> { bsOrdemServico.Current as CamadaDados.Servicos.TRegistro_LanServico }); CamadaNegocio.Servicos.TCN_LanServico.ProcessarServico(new List <TRegistro_LanServico>() { bsOrdemServico.Current as CamadaDados.Servicos.TRegistro_LanServico }, lPed, null); if (MessageBox.Show("Ordem serviço processada com sucesso.\r\n" + "Deseja gerar faturamento agora?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { try { ////Gerar nota fiscal dos pedidos lPed.ForEach(p => { p = CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Busca_Registro_Pedido(p.Nr_pedido.ToString(), null); //Buscar itens pedido CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Busca_Pedido_Itens(p, false, null); //Buscar financeiro pedido p.Pedidos_DT_Vencto = CamadaNegocio.Faturamento.Pedido.TCN_LanPedido_DT_Vencto.Busca(p.Nr_pedido, null); CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento rNf = Proc_Commoditties.TProcessaPedFaturar.ProcessaPedFaturar(p, false, decimal.Zero); //Gravar Nota Fiscal CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.GravarFaturamento(rNf, null, null); //Imprimir Nota Fiscal //Se for nota propria e NF-e if (rNf.Tp_nota.Trim().ToUpper().Equals("P")) { if (rNf.Cd_modelo.Trim().Equals("55")) { if (MessageBox.Show("Deseja enviar NF-e para a receita agora?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { //Verificar se é nota de produto ou mista object obj = new CamadaDados.Faturamento.Cadastros.TCD_CadSerieNF().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.nr_serie", vOperador = "=", vVL_Busca = "'" + rNf.Nr_serie.Trim() + "'" } }, "a.tp_serie"); if (obj != null) { if (obj.ToString().Trim().ToUpper().Equals("P") || obj.ToString().Trim().ToUpper().Equals("M")) { try { using (srvNFE.TFGerenciarNFe fGerNfe = new srvNFE.TFGerenciarNFe()) { fGerNfe.rNfe = CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.BuscarNF(rNf.Cd_empresa, rNf.Nr_lanctofiscalstr, null); fGerNfe.ShowDialog(); } } catch (Exception ex) { MessageBox.Show("Erro enviar NF-e: " + ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else if (obj.ToString().Trim().ToUpper().Equals("S")) { try { CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento rNfs = CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.BuscarNF(rNf.Cd_empresa, rNf.Nr_lanctofiscalstr, null); NFES.TGerarRPS.CriarArquivoRPS(rNfs.rCfgNfe, new List <CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento>() { rNfs }); MessageBox.Show("NFS-e enviada com sucesso. Aguarde alguns segundos e consulte o status do lote.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show("Erro enviar NFS-e: " + ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } } else { //Chamar tela de impressao para a nota fiscal //somente se for nota propria using (FormRelPadrao.TFGerenciadorImpressao fImp = new FormRelPadrao.TFGerenciadorImpressao()) { fImp.St_enabled_enviaremail = true; fImp.pCd_clifor = rNf.Cd_clifor; fImp.pMensagem = "NOTA FISCAL Nº" + rNf.Nr_notafiscal.ToString(); if ((fImp.ShowDialog() == DialogResult.OK) || (fImp.pSt_enviaremail)) { FormRelPadrao.LayoutNotaFiscal Relatorio = new FormRelPadrao.LayoutNotaFiscal(); Relatorio.Imprime_NF(rNf, fImp.pSt_imprimir, fImp.pSt_visualizar, fImp.pSt_enviaremail, fImp.pDestinatarios, "NOTA FISCAL Nº " + rNf.Nr_notafiscal.ToString(), fImp.pMensagem); } } } } }); } catch (Exception ex) { throw new Exception("Erro gerar Nota Fiscal.\r\n" + ex.Message.Trim() + "\r\n" + "Efetue as correções necessarias e proceda ao faturamento\r\n" + "dos pedidos gerados pelo processamento da OS"); } } this.LimparFiltros(); id_osbusca.Text = (bsOrdemServico.Current as CamadaDados.Servicos.TRegistro_LanServico).Id_osstr; this.afterBusca(); } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else { MessageBox.Show("Permitido processar somente OS FINALIZADA.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } } }