private void bb_ModeloNF_Click(object sender, EventArgs e) { FormRelPadrao.LayoutNotaFiscal Relatorio = new FormRelPadrao.LayoutNotaFiscal(); (bsCfgImpNf.Current as CamadaDados.Faturamento.Cadastros.TRegistro_CFGImpNF).Modelorst = Relatorio.Gera_ModeloNF(bsCfgImpNf.Current as CamadaDados.Faturamento.Cadastros.TRegistro_CFGImpNF); bsCfgImpNf.ResetCurrentItem(); }
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); } } }