private void ImprimirVale(List <string> texto) { FormRelPadrao.Relatorio Relatorio = new FormRelPadrao.Relatorio(); Relatorio.Nome_Relatorio = "TFEmiteValePontosFid"; Relatorio.NM_Classe = "TFEmiteValePontosFid"; Relatorio.Modulo = "PDV"; Relatorio.Ident = "TFEmiteValePontosFid"; Relatorio.Altera_Relatorio = Altera_Relatorio; string text = string.Join(Environment.NewLine, texto.ToArray()); Relatorio.Parametros_Relatorio.Add("TEXTO", text); //Verificar se existe Impressora padrão para o PDV object obj = new CamadaDados.Faturamento.Cadastros.TCD_PontoVenda().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_terminal", vOperador = "=", vVL_Busca = "'" + Utils.Parametros.pubTerminal.Trim() + "'" } }, "a.impressorapadrao"); string print = string.Empty; print = obj == null ? string.Empty : obj.ToString(); if (string.IsNullOrEmpty(print)) { using (Parametros.Diversos.TFListaImpressoras fLista = new Parametros.Diversos.TFListaImpressoras()) { if (fLista.ShowDialog() == DialogResult.OK) { if (!string.IsNullOrEmpty(fLista.Impressora)) { print = fLista.Impressora; } } } } //Imprimir if (!string.IsNullOrEmpty(print)) { Relatorio.ImprimiGraficoReduzida(print, true, false, null, string.Empty, string.Empty, 1); } Altera_Relatorio = false; }
private void ImprimirGraficoReduzido(TRegistro_VendaRapida val) { FormRelPadrao.Relatorio Relatorio = new FormRelPadrao.Relatorio(); Relatorio.Nome_Relatorio = "TFLanVendaRapida"; Relatorio.NM_Classe = "TFLanVendaRapida"; Relatorio.Modulo = "FAT"; Relatorio.Ident = "Orcamento_VendaGraficaReduzido"; Relatorio.Altera_Relatorio = Altera_Relatorio; BindingSource BinEmpresa = new BindingSource(); BinEmpresa.DataSource = CamadaNegocio.Diversos.TCN_CadEmpresa.Busca(val.Cd_empresa, string.Empty, string.Empty, null); Relatorio.Adiciona_DataSource("EMPRESA", BinEmpresa); if (!string.IsNullOrEmpty(val.Cd_clifor)) { BindingSource BinClifor = new BindingSource(); BinClifor.DataSource = CamadaNegocio.Financeiro.Cadastros.TCN_CadClifor.Busca_Clifor(val.Cd_clifor, string.Empty, 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, 1, null); Relatorio.Adiciona_DataSource("CLIENTE", BinClifor); BindingSource BinEndereco = new BindingSource(); BinEndereco.DataSource = CamadaNegocio.Financeiro.Cadastros.TCN_CadEndereco.Buscar(val.Cd_clifor, val.Cd_endereco, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, 1, null); Relatorio.Adiciona_DataSource("ENDCLIENTE", BinEndereco); } //Financeiro Venda BindingSource BinPortador = new BindingSource(); BinPortador.DataSource = new TCD_CaixaPDV().SelectMovCaixa( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.id_cupom", vOperador = "=", vVL_Busca = val.Id_vendarapidastr } }, string.Empty); Relatorio.Adiciona_DataSource("FINPORTADOR", BinPortador); //Duplicata Venda BindingSource BinDup = new BindingSource(); BinDup.DataSource = 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 = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_pdv_cupomfiscal_x_duplicata x " + "where x.cd_empresa = a.cd_empresa " + "and x.nr_lancto = a.nr_lancto " + "and x.cd_empresa = '" + val.Cd_empresa.Trim() + "' " + "and x.id_cupom = " + val.Id_vendarapidastr + ")" } }, 0, string.Empty, string.Empty, string.Empty); Relatorio.Adiciona_DataSource("FINDUP", BinDup); //Fatura Cartao Venda BindingSource BinFat = new BindingSource(); BinFat.DataSource = new CamadaDados.Financeiro.Cartao.TCD_FaturaCartao().Select( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from TB_FIN_FaturaCartao_X_Caixa x " + "inner join TB_PDV_Cupom_X_MovCaixa y " + "on y.cd_contager = x.cd_contager " + "and y.cd_lanctocaixa = x.cd_lanctocaixa " + "where x.id_fatura = a.id_fatura " + "and y.cd_empresa = '" + val.Cd_empresa.Trim() + "' " + "and y.id_cupom = " + val.Id_vendarapidastr + ")" } }, 0, string.Empty, string.Empty); Relatorio.Adiciona_DataSource("FATCARTAO", BinFat); BindingSource meu_bind = new BindingSource(); meu_bind.DataSource = val; Relatorio.DTS_Relatorio = meu_bind; //Verificar se Venda possui OS faturada StringBuilder obsOS = new StringBuilder(); CamadaDados.Servicos.TList_LanServico lOS = new CamadaDados.Servicos.TCD_LanServico().Select( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from TB_OSE_Pecas_X_PreVenda x " + "inner join TB_PDV_PreVenda_X_VendaRapida y " + "on x.CD_Empresa = y.CD_Empresa " + "and x.ID_PreVenda = y.ID_PreVenda " + "and x.ID_ItemPreVenda = y.ID_ItemPreVenda " + "where x.ID_OS = a.ID_OS " + "and y.Id_Cupom = '" + val.Id_vendarapidastr.Trim() + "')" } }, 0, string.Empty, string.Empty); if (lOS.Count > 0) { obsOS.AppendLine("Pré-Venda Referente a OS:" + lOS[0].Id_osstr.Trim() + " Placa: " + lOS[0].Placaveiculo.Trim() + " Modelo: " + lOS[0].Ds_veiculo.Trim()); val.ObsOS = obsOS.ToString(); } //Verificar se existe Impressora padrão para o PDV object obj = new CamadaDados.Faturamento.Cadastros.TCD_PontoVenda().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_terminal", vOperador = "=", vVL_Busca = "'" + Utils.Parametros.pubTerminal.Trim() + "'" } }, "a.impressorapadrao"); string print = string.Empty; print = obj == null ? string.Empty : obj.ToString(); if (string.IsNullOrEmpty(print)) { using (Parametros.Diversos.TFListaImpressoras fLista = new Parametros.Diversos.TFListaImpressoras()) { if (fLista.ShowDialog() == DialogResult.OK) { if (!string.IsNullOrEmpty(fLista.Impressora)) { print = fLista.Impressora; } } } } //Imprimir if (!string.IsNullOrEmpty(print)) { Relatorio.ImprimiGraficoReduzida(print, true, false, null, string.Empty, string.Empty, 1); } Altera_Relatorio = false; }
private void GerarNFCe() { using (TFVendaItensCargaAvulsa fGerar = new TFVendaItensCargaAvulsa()) { if (fGerar.ShowDialog() == DialogResult.OK) { if (fGerar.lItens != null) { if (fGerar.lItens.Count > 0) { try { //Processar cupom fiscal PDV.TDadosCupom dados = new PDV.TDadosCupom(); //Buscar dados PDV object obj = new CamadaDados.Faturamento.Cadastros.TCD_PontoVenda().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_terminal", vOperador = "=", vVL_Busca = "'" + Utils.Parametros.pubTerminal.Trim() + "'" } }, "a.id_pdv"); if (obj == null) { MessageBox.Show("Não existe PDV cadastrado para o terminal " + Utils.Parametros.pubTerminal, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (new TCD_Sessao().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "isnull(a.st_registro, 'A')", vOperador = "=", vVL_Busca = "'A'" }, new TpBusca() { vNM_Campo = "a.id_pdv", vOperador = "=", vVL_Busca = obj.ToString() }, new TpBusca() { vNM_Campo = "a.login", vOperador = "=", vVL_Busca = "'" + Utils.Parametros.pubLogin + "'" } }, "1") == null) { CamadaNegocio.Faturamento.PDV.TCN_Sessao.AbrirSessao( new TRegistro_Sessao() { Id_pdvstr = obj.ToString(), Login = Utils.Parametros.pubLogin }, null); } //Buscar sessao aberta dados.rSessao = CamadaNegocio.Faturamento.PDV.TCN_Sessao.Buscar(obj.ToString(), string.Empty, Utils.Parametros.pubLogin, string.Empty, string.Empty, string.Empty, "'A'", 1, null)[0]; //Buscar Local Arm object LocalArm = new CamadaDados.Estoque.Cadastros.TCD_CadLocalArm_X_Empresa().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + fGerar.Cd_empresa.Trim() + "'" } }, "a.CD_Local"); if (LocalArm == null) { throw new Exception("Não existe Local de armazenagem configurado para Empresa" + fGerar.Cd_empresa.Trim() + "!"); } //Montar Itens Cupom dados.lItens = new List <TRegistro_VendaRapida_Item>(); fGerar.lItens.ForEach(p => dados.lItens.Add(new TRegistro_VendaRapida_Item { Cd_empresa = p.Cd_empresa, Cd_local = LocalArm.ToString(), Cd_produto = p.Cd_produto, Ds_produto = p.Ds_produto, Cd_unidade = p.Cd_unidade, Ds_unidade = p.Ds_unidade, Sigla_unidade = p.Sigla, Cd_condfiscal_produto = p.Cd_condfiscal_produto, Quantidade = p.Quantidade, Vl_subtotal = p.Vl_subtotal, Vl_unitario = p.Vl_unitario, lAbastItens = new CamadaDados.Locacao.TList_AbastItens() { p } })); dados.Cd_clifor = string.Empty; dados.Nm_clifor = string.Empty; dados.CpfCgc = string.Empty; dados.Endereco = string.Empty; dados.Mensagem = string.Empty; dados.lPortador = new List <CamadaDados.Financeiro.Cadastros.TRegistro_CadPortador>(); dados.St_vendacombustivel = false; dados.St_cupomavulso = true; dados.St_agruparProduto = false; dados.St_abastItens = true; TRegistro_NFCe rNFCe = new PDV.TGerenciarCupom().GerarNFCe(dados, false); if (rNFCe != null) { if (!rNFCe.St_contingencia) { using (NFCe.TFGerenciarNFCe fGerNfe = new NFCe.TFGerenciarNFCe()) { fGerNfe.rNFCe = CamadaNegocio.Faturamento.PDV.TCN_NFCe.BuscarNFCe(rNFCe.Cd_empresa, rNFCe.Id_nfcestr, null); fGerNfe.ShowDialog(); } } else { FormRelPadrao.Relatorio Rel = new FormRelPadrao.Relatorio(); Rel.Altera_Relatorio = Altera_Relatorio; BindingSource dts = new BindingSource(); dts.DataSource = new TList_NFCe_Item(); Rel.DTS_Relatorio = dts; // bsItens; //DTS Cupom BindingSource bsNFCe = new BindingSource(); bsNFCe.DataSource = CamadaNegocio.Faturamento.PDV.TCN_NFCe.Buscar(rNFCe.Id_nfcestr, string.Empty, rNFCe.Cd_empresa, string.Empty, string.Empty, string.Empty, string.Empty, decimal.Zero, decimal.Zero, string.Empty, string.Empty, string.Empty, string.Empty, false, string.Empty, string.Empty, 1, null); (bsNFCe.Current as TRegistro_NFCe).lItem = CamadaNegocio.Faturamento.PDV.TCN_NFCe_Item.Buscar((bsNFCe.Current as TRegistro_NFCe).Id_nfcestr, (bsNFCe.Current as TRegistro_NFCe).Cd_empresa, string.Empty, null); NFCe.TGerarQRCode.GerarQRCode2(bsNFCe.Current as TRegistro_NFCe); Rel.Adiciona_DataSource("DTS_NFCE", bsNFCe); //Buscar Empresa BindingSource bsEmpresa = new BindingSource(); bsEmpresa.DataSource = CamadaNegocio.Diversos.TCN_CadEmpresa.Busca(rNFCe.Cd_empresa, string.Empty, string.Empty, null); Rel.Adiciona_DataSource("DTS_EMP", bsEmpresa); //Forma Pagamento BindingSource bsPagto = new BindingSource(); List <TRegistro_MovCaixa> lPagto = new List <TRegistro_MovCaixa>(); new TCD_CaixaPDV().SelectMovCaixa( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_pdv_cupom_x_vendarapida x " + "where x.cd_empresa = a.cd_empresa " + "and x.id_vendarapida = a.id_cupom " + "and x.cd_empresa = '" + (bsNFCe.Current as TRegistro_NFCe).Cd_empresa.Trim() + "' " + "and x.id_cupom = " + (bsNFCe.Current as TRegistro_NFCe).Id_nfcestr + ")" } }, string.Empty).GroupBy(v => v.Tp_portador, (aux, venda) => new { tp_portador = aux, Vl_recebido = venda.Sum(x => x.Vl_recebido), Vl_troco_ch = venda.Sum(x => x.Vl_troco_ch), Vl_troco_dh = venda.Sum(x => x.Vl_troco_dh) }).ToList().ForEach(x => lPagto.Add(new TRegistro_MovCaixa() { Tp_portador = x.tp_portador, Vl_recebido = x.Vl_recebido, Vl_troco_ch = x.Vl_troco_ch, Vl_troco_dh = x.Vl_troco_dh })); CamadaDados.Financeiro.Duplicata.TList_RegLanDuplicata lDup = new CamadaDados.Financeiro.Duplicata.TCD_LanDuplicata().Select( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from TB_PDV_CupomFiscal_X_Duplicata x " + "inner join TB_PDV_Cupom_X_VendaRapida y " + "on x.cd_empresa = y.cd_empresa " + "and x.id_cupom = y.id_vendarapida " + "where x.cd_empresa = a.cd_empresa " + "and x.Nr_Lancto = a.Nr_Lancto " + "and y.cd_empresa = '" + (bsNFCe.Current as TRegistro_NFCe).Cd_empresa.Trim() + "' " + "and y.id_cupom = " + (bsNFCe.Current as TRegistro_NFCe).Id_nfcestr + ")" } }, 1, string.Empty); if (lDup.Count > 0) { lPagto.Add(new TRegistro_MovCaixa() { Tp_portador = "05", Vl_recebido = lDup[0].Vl_documento }); } bsPagto.DataSource = lPagto; Rel.Adiciona_DataSource("DTS_PAGTO", bsPagto); //Parametros Rel.Parametros_Relatorio.Add("TOT_IMP_APROX", (bsNFCe.Current as TRegistro_NFCe).lItem.Sum(p => p.Vl_imposto_Aprox)); Rel.Parametros_Relatorio.Add("QTD_ITENS", (bsNFCe.Current as TRegistro_NFCe).lItem.Count); Rel.Parametros_Relatorio.Add("TOT_SUBTOTAL", (bsNFCe.Current as TRegistro_NFCe).lItem.Sum(p => p.Vl_subtotal)); Rel.Parametros_Relatorio.Add("TOT_ACRESCIMO", (bsNFCe.Current as TRegistro_NFCe).lItem.Sum(p => p.Vl_acrescimo)); Rel.Parametros_Relatorio.Add("TOT_DESCONTO", (bsNFCe.Current as TRegistro_NFCe).lItem.Sum(p => p.Vl_desconto)); Rel.Parametros_Relatorio.Add("ST_VIAEMPRESA", "N"); obj = new CamadaDados.Faturamento.NFCe.TCD_LoteNFCe().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from TB_FAT_Lote_X_NFCe x " + "where x.cd_empresa = a.cd_empresa " + "and x.id_lote = a.id_lote " + "and x.status = '100')" } }, "a.tp_ambiente"); Rel.Parametros_Relatorio.Add("TP_AMBIENTE", obj == null ? string.Empty : obj.ToString()); string dadoscf = CamadaNegocio.Faturamento.PDV.TCN_NFCe.BuscarPlacaKM((bsNFCe.Current as TRegistro_NFCe).Cd_empresa, (bsNFCe.Current as TRegistro_NFCe).Id_nfcestr, null); if (!string.IsNullOrEmpty(dadoscf)) { string[] linhas = dadoscf.Split(new char[] { ':' }); string placa = string.Empty; string km = string.Empty; string frota = string.Empty; string requisicao = string.Empty; string nm_motorista = string.Empty; string cpf_motorista = string.Empty; string media = string.Empty; string virg = string.Empty; foreach (string s in linhas) { string[] colunas = s.Split(new char[] { '/' }); placa += virg + colunas[0]; km += virg + colunas[1]; frota += virg + colunas[2]; requisicao += virg + colunas[3]; nm_motorista += virg + colunas[4]; cpf_motorista += virg + colunas[5]; media += virg + colunas[6]; virg = ","; } if (!string.IsNullOrEmpty(placa)) { Rel.Parametros_Relatorio.Add("PLACA", placa); } if (!string.IsNullOrEmpty(km)) { Rel.Parametros_Relatorio.Add("KM", km); } if (!string.IsNullOrEmpty(media)) { Rel.Parametros_Relatorio.Add("MEDIA", media + " KM/LT"); } if (!string.IsNullOrEmpty(frota)) { Rel.Parametros_Relatorio.Add("FROTA", frota); } if (!string.IsNullOrEmpty(requisicao)) { Rel.Parametros_Relatorio.Add("REQUISICAO", requisicao); } if (!string.IsNullOrEmpty(nm_motorista)) { Rel.Parametros_Relatorio.Add("NM_MOTORISTA", nm_motorista); } if (!string.IsNullOrEmpty(cpf_motorista)) { Rel.Parametros_Relatorio.Add("CPF_MOTORISTA", cpf_motorista); } } Rel.Nome_Relatorio = "DANFE_NFCE"; Rel.NM_Classe = "TFConsultaFrenteCaixa"; Rel.Modulo = "FAT"; Rel.Ident = "DANFE_NFCE"; if (CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVlBool("ST_IMP_DANFE_NFCE_DETALHADA", null)) { BindingSource bsItens = new BindingSource(); bsItens.DataSource = (bsNFCe.Current as TRegistro_NFCe).lItem; Rel.DTS_Relatorio = bsItens; } if (rNFCe.Id_contingencia.HasValue) { if (Rel.Parametros_Relatorio.ContainsKey("ST_VIAEMPRESA")) { Rel.Parametros_Relatorio["ST_VIAEMPRESA"] = "S"; } else { Rel.Parametros_Relatorio.Add("ST_VIAEMPRESA", "S"); } } //Verificar se existe Impressora padrão para o PDV obj = new CamadaDados.Faturamento.Cadastros.TCD_PontoVenda().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_terminal", vOperador = "=", vVL_Busca = "'" + Utils.Parametros.pubTerminal.Trim() + "'" } }, "a.impressorapadrao"); string print = obj == null ? string.Empty : obj.ToString(); if (string.IsNullOrEmpty(print)) { using (Parametros.Diversos.TFListaImpressoras fLista = new Parametros.Diversos.TFListaImpressoras()) { if (fLista.ShowDialog() == DialogResult.OK) { if (!string.IsNullOrEmpty(fLista.Impressora)) { print = fLista.Impressora; } } } } //Imprimir if (!string.IsNullOrEmpty(print)) { Rel.ImprimiGraficoReduzida(print, true, false, null, string.Empty, string.Empty, 1); if ((bsNFCe.Current as TRegistro_NFCe).Id_contingencia.HasValue && (bsNFCe.Current as TRegistro_NFCe).rCfgNFCe.Tp_ambiente_nfce.Equals(1)) { Rel.ImprimiGraficoReduzida(print, true, false, null, string.Empty, string.Empty, 1); } } } } return; } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } else { MessageBox.Show("Não existe venda selecionada para gerar cupom.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } } }
private void print() { if (BsPreVenda.Current != null) { if (!(BsPreVenda.Current as TRegistro_PreVenda).St_registro.Trim().ToUpper().Equals("C")) { CamadaDados.Diversos.TList_CadTerminal lTerminal = new CamadaDados.Diversos.TCD_CadTerminal().Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_terminal", vOperador = "=", vVL_Busca = "'" + Utils.Parametros.pubTerminal.Trim() + "'" } }, 1, string.Empty); if (lTerminal.Count.Equals(0) ? false : lTerminal[0].Tp_imporcamento.Trim().ToUpper().Equals("R")) { object obj = new CamadaDados.Faturamento.Cadastros.TCD_PontoVenda().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_terminal", vOperador = "=", vVL_Busca = "'" + lTerminal[0].Cd_Terminal.Trim() + "'" } }, "a.tp_impnaofiscal"); if (string.IsNullOrEmpty(lTerminal[0].Porta_imptick)) { throw new Exception("Não existe porta de impressão configurada para o terminal " + Utils.Parametros.pubTerminal.Trim()); } //Imprimir ImprimirReduzido(BsPreVenda.Current as TRegistro_PreVenda, lTerminal[0].Porta_imptick, obj == null ? string.Empty : obj.ToString()); } else if (lTerminal.Count.Equals(0) ? false : lTerminal[0].Tp_imporcamento.Trim().ToUpper().Equals("F")) { FormRelPadrao.Relatorio Relatorio = new FormRelPadrao.Relatorio(); Relatorio.Altera_Relatorio = Altera_Relatorio; //DADOS PERTINENTES PARA A GERAÇÂO DO RELATORIO Relatorio.Nome_Relatorio = "TFLanPreVendaGraficoReduzido"; Relatorio.NM_Classe = "TFLanPreVendaGraficoReduzido"; Relatorio.Modulo = string.Empty; BindingSource BinEmpresa = new BindingSource(); BinEmpresa.DataSource = CamadaNegocio.Diversos.TCN_CadEmpresa.Busca( (BsPreVenda.Current as TRegistro_PreVenda).Cd_empresa, string.Empty, string.Empty, null); BindingSource BinClifor = new BindingSource(); BinClifor.DataSource = CamadaNegocio.Financeiro.Cadastros.TCN_CadClifor.Busca_Clifor((BsPreVenda.Current as TRegistro_PreVenda).Cd_clifor, string.Empty, 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, 1, null); BindingSource meu_bind = new BindingSource(); meu_bind.DataSource = new TList_PreVenda() { BsPreVenda.Current as TRegistro_PreVenda }; Relatorio.Adiciona_DataSource("CLIFOR", BinClifor); Relatorio.DTS_Relatorio = meu_bind; Relatorio.Ident = "FLanPreVendaGraficoReduzido"; if (BinEmpresa.Current != null) { if ((BinEmpresa.Current as CamadaDados.Diversos.TRegistro_CadEmpresa).Img != null) { Relatorio.Parametros_Relatorio.Add("IMAGEM_RELATORIO", (BinEmpresa.Current as CamadaDados.Diversos.TRegistro_CadEmpresa).Img); } } //Verificar se existe Impressora padrão para o PDV object obj = new CamadaDados.Faturamento.Cadastros.TCD_PontoVenda().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_terminal", vOperador = "=", vVL_Busca = "'" + Utils.Parametros.pubTerminal.Trim() + "'" } }, "a.impressorapadrao"); string print = string.Empty; print = obj == null ? string.Empty : obj.ToString(); if (string.IsNullOrEmpty(print)) { using (Parametros.Diversos.TFListaImpressoras fLista = new Parametros.Diversos.TFListaImpressoras()) { if (fLista.ShowDialog() == DialogResult.OK) { if (!string.IsNullOrEmpty(fLista.Impressora)) { print = fLista.Impressora; } } } } //Imprimir if (!string.IsNullOrEmpty(print)) { Relatorio.ImprimiGraficoReduzida(print, true, false, null, string.Empty, string.Empty, 1); } Altera_Relatorio = false; } else { FormRelPadrao.Relatorio Relatorio = new FormRelPadrao.Relatorio(); Relatorio.Altera_Relatorio = Altera_Relatorio; //DADOS PERTINENTES PARA A GERAÇÂO DO RELATORIO Relatorio.Nome_Relatorio = "TFLanPreVenda"; Relatorio.NM_Classe = "TFLanPreVenda"; Relatorio.Modulo = string.Empty; BindingSource BinEmpresa = new BindingSource(); BinEmpresa.DataSource = CamadaNegocio.Diversos.TCN_CadEmpresa.Busca( (BsPreVenda.Current as TRegistro_PreVenda).Cd_empresa, string.Empty, string.Empty, null); BindingSource BinClifor = new BindingSource(); BinClifor.DataSource = CamadaNegocio.Financeiro.Cadastros.TCN_CadClifor.Busca_Clifor((BsPreVenda.Current as TRegistro_PreVenda).Cd_clifor, string.Empty, 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, 1, null); BindingSource meu_bind = new BindingSource(); meu_bind.DataSource = new TList_PreVenda() { BsPreVenda.Current as TRegistro_PreVenda }; Relatorio.Adiciona_DataSource("CLIFOR", BinClifor); Relatorio.DTS_Relatorio = meu_bind; Relatorio.Ident = "FLanPreVenda"; if (BinEmpresa.Current != null) { if ((BinEmpresa.Current as CamadaDados.Diversos.TRegistro_CadEmpresa).Img != null) { Relatorio.Parametros_Relatorio.Add("IMAGEM_RELATORIO", (BinEmpresa.Current as CamadaDados.Diversos.TRegistro_CadEmpresa).Img); } } if (!Altera_Relatorio) { //Chamar tela de gerenciamento de impressao using (FormRelPadrao.TFGerenciadorImpressao fImp = new FormRelPadrao.TFGerenciadorImpressao()) { fImp.St_enabled_enviaremail = true; fImp.pCd_clifor = (BsPreVenda.Current as TRegistro_PreVenda).Cd_clifor; fImp.pMensagem = "ORÇAMENTO Nº " + (BsPreVenda.Current as TRegistro_PreVenda).Id_prevendastr; if ((fImp.ShowDialog() == DialogResult.OK) || (fImp.pSt_enviaremail)) { Relatorio.Gera_Relatorio((BsPreVenda.Current as TRegistro_PreVenda).Id_prevendastr, fImp.pSt_imprimir, fImp.pSt_visualizar, fImp.pSt_enviaremail, fImp.pSt_exportPdf, fImp.Path_exportPdf, fImp.pDestinatarios, null, "ORÇAMENTO Nº " + (BsPreVenda.Current as TRegistro_PreVenda).Id_prevendastr, fImp.pDs_mensagem); } } } else { Relatorio.Gera_Relatorio(); Altera_Relatorio = false; } } } } else { MessageBox.Show("Obrigatório buscar Pré-Venda para imprimir!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } }
private void ImprimirDanfe() { //Verificar status NFe object obj = new CamadaDados.Faturamento.NFCe.TCD_Lote_X_NFCe().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + rNFCe.Cd_empresa.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "a.id_cupom", vOperador = "=", vVL_Busca = rNFCe.Id_nfcestr }, new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from TB_FAT_LoteNFCe x " + "where x.id_lote = a.id_lote " + "and x.cd_empresa = a.cd_empresa " + "and x.st_registro = 'P' " + "and x.status = '104')" } }, "a.status"); if (obj != null) { if (obj.ToString().Trim().Equals("100")) { try { FormRelPadrao.Relatorio Rel = new FormRelPadrao.Relatorio(); Rel.Altera_Relatorio = Altera_Relatorio; BindingSource dts = new BindingSource(); dts.DataSource = new CamadaDados.Faturamento.PDV.TList_NFCe_Item(); Rel.DTS_Relatorio = dts;// bsItens; //DTS Cupom BindingSource bsNFCe = new BindingSource(); bsNFCe.DataSource = new CamadaDados.Faturamento.PDV.TList_NFCe() { rNFCe }; TGerarQRCode.GerarQRCode2(rNFCe); Rel.Adiciona_DataSource("DTS_NFCE", bsNFCe); //Buscar Empresa BindingSource bsEmpresa = new BindingSource(); bsEmpresa.DataSource = CamadaNegocio.Diversos.TCN_CadEmpresa.Busca(rNFCe.Cd_empresa, string.Empty, string.Empty, null); Rel.Adiciona_DataSource("DTS_EMP", bsEmpresa); //Forma Pagamento BindingSource bsPagto = new BindingSource(); if (rNFCe.lDup.Count > 0) { rNFCe.lPagto.Add(new CamadaDados.Faturamento.PDV.TRegistro_MovCaixa() { Tp_portador = "05", Vl_recebido = rNFCe.lDup[0].Vl_documento }); } //Ocorre quando cupom emitido pelo delivery //logo não informando condição de pagamento if (rNFCe.lPagto.Count.Equals(0)) { rNFCe.lPagto.Add(new CamadaDados.Faturamento.PDV.TRegistro_MovCaixa() { Tp_portador = "01", Vl_recebido = rNFCe.lItem.Sum(p => p.Vl_subtotal) }); } bsPagto.DataSource = rNFCe.lPagto; Rel.Adiciona_DataSource("DTS_PAGTO", bsPagto); //Parametros Rel.Parametros_Relatorio.Add("TOT_IMP_APROX", rNFCe.lItem.Sum(p => p.Vl_imposto_Aprox)); Rel.Parametros_Relatorio.Add("QTD_ITENS", rNFCe.lItem.Count); Rel.Parametros_Relatorio.Add("TOT_SUBTOTAL", rNFCe.lItem.Sum(p => p.Vl_subtotal)); Rel.Parametros_Relatorio.Add("TOT_ACRESCIMO", rNFCe.lItem.Sum(p => p.Vl_acrescimo)); Rel.Parametros_Relatorio.Add("TOT_DESCONTO", rNFCe.lItem.Sum(p => p.Vl_desconto)); Rel.Parametros_Relatorio.Add("ST_VIAEMPRESA", "N"); obj = new CamadaDados.Faturamento.NFCe.TCD_LoteNFCe().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from TB_FAT_Lote_X_NFCe x " + "where x.cd_empresa = a.cd_empresa " + "and x.id_lote = a.id_lote " + "and x.status = '100')" } }, "a.tp_ambiente"); Rel.Parametros_Relatorio.Add("TP_AMBIENTE", obj == null ? string.Empty : obj.ToString()); string dadoscf = CamadaNegocio.Faturamento.PDV.TCN_NFCe.BuscarPlacaKM(rNFCe.Cd_empresa, rNFCe.Id_nfcestr, null); if (!string.IsNullOrEmpty(dadoscf)) { string[] linhas = dadoscf.Split(new char[] { ':' }); string placa = string.Empty; string km = string.Empty; string frota = string.Empty; string requisicao = string.Empty; string nm_motorista = string.Empty; string cpf_motorista = string.Empty; string media = string.Empty; string virg = string.Empty; foreach (string s in linhas) { string[] colunas = s.Split(new char[] { '/' }); placa += virg + colunas[0]; km += virg + colunas[1]; frota += virg + colunas[2]; requisicao += virg + colunas[3]; nm_motorista += virg + colunas[4]; cpf_motorista += virg + colunas[5]; media += virg + colunas[6]; virg = ","; } if (!string.IsNullOrEmpty(placa)) { Rel.Parametros_Relatorio.Add("PLACA", placa); } if (!string.IsNullOrEmpty(km)) { Rel.Parametros_Relatorio.Add("KM", km); } if (!string.IsNullOrEmpty(media)) { Rel.Parametros_Relatorio.Add("MEDIA", media + " KM/LT"); } if (!string.IsNullOrEmpty(frota)) { Rel.Parametros_Relatorio.Add("FROTA", frota); } if (!string.IsNullOrEmpty(requisicao)) { Rel.Parametros_Relatorio.Add("REQUISICAO", requisicao); } if (!string.IsNullOrEmpty(nm_motorista)) { Rel.Parametros_Relatorio.Add("NM_MOTORISTA", nm_motorista); } if (!string.IsNullOrEmpty(cpf_motorista)) { Rel.Parametros_Relatorio.Add("CPF_MOTORISTA", cpf_motorista); } } Rel.Nome_Relatorio = "DANFE_NFCE"; Rel.NM_Classe = "TFConsultaFrenteCaixa"; Rel.Modulo = "FAT"; Rel.Ident = "DANFE_NFCE"; if (CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVlBool("ST_IMP_DANFE_NFCE_DETALHADA", null)) { BindingSource bsItens = new BindingSource(); bsItens.DataSource = CamadaNegocio.Faturamento.PDV.TCN_NFCe_Item.Buscar(rNFCe.Id_nfcestr, rNFCe.Cd_empresa, string.Empty, null); //Buscar Encerrantes das Abastecidas (bsItens.List as CamadaDados.Faturamento.PDV.TList_NFCe_Item).Where(p => p.St_combustivel).ToList().ForEach(p => { CamadaDados.PostoCombustivel.TList_VendaCombustivel lVComp = new CamadaDados.PostoCombustivel.TCD_VendaCombustivel().Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_pdv_cupom_x_vendarapida x " + "where x.cd_empresa = a.cd_empresa " + "and x.id_vendarapida = a.id_cupom " + "and x.id_lanctovenda = a.id_lancto " + "and x.cd_empresa = '" + p.Cd_empresa.Trim() + "' " + "and x.id_cupom = " + p.ID_NFCe.Value.ToString() + " " + "and x.id_lancto = " + p.Id_lancto.Value.ToString() + ")" } }, 0, string.Empty, string.Empty); if (lVComp.Count > 0) { p.NR_Bico = lVComp[0].Id_bicostr; p.EncerranteFin = lVComp[0].Encerrantebico; } }); Rel.DTS_Relatorio = bsItens; } if (rNFCe.Id_contingencia.HasValue) { if (Rel.Parametros_Relatorio.ContainsKey("ST_VIAEMPRESA")) { Rel.Parametros_Relatorio["ST_VIAEMPRESA"] = "S"; } else { Rel.Parametros_Relatorio.Add("ST_VIAEMPRESA", "S"); } } //Verificar se existe Impressora padrão para o PDV obj = new CamadaDados.Faturamento.Cadastros.TCD_PontoVenda().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_terminal", vOperador = "=", vVL_Busca = "'" + Utils.Parametros.pubTerminal.Trim() + "'" } }, "a.impressorapadrao"); string print = obj == null ? string.Empty : obj.ToString(); if (string.IsNullOrEmpty(print)) { using (Parametros.Diversos.TFListaImpressoras fLista = new Parametros.Diversos.TFListaImpressoras()) { if (fLista.ShowDialog() == DialogResult.OK) { if (!string.IsNullOrEmpty(fLista.Impressora)) { print = fLista.Impressora; } } } } //Verificar se cliente possui email obj = new CamadaDados.Financeiro.Cadastros.TCD_CadClifor().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca { vNM_Campo = "a.cd_clifor", vOperador = "=", vVL_Busca = "'" + rNFCe.Cd_clifor.Trim() + "'" } }, "a.email"); //Imprimir if (!string.IsNullOrEmpty(print) || obj != null) { Rel.ImprimiGraficoReduzida(print, !string.IsNullOrEmpty(print), false, obj == null ? null : string.IsNullOrEmpty(obj.ToString()) ? null : new List <string> { obj.ToString() }, "NFC-e " + rNFCe.Nm_empresa.Trim(), "Segue em anexo arquivo da NFC-e no formato .PDF", 1); if (rNFCe.Id_contingencia.HasValue && rNFCe.rCfgNFCe.Tp_ambiente_nfce.Equals(1) && !string.IsNullOrEmpty(print)) { Rel.ImprimiGraficoReduzida(print, true, false, null, string.Empty, string.Empty, 1); } } } catch { } } else { MessageBox.Show("Lote Processado com Sucesso.\r\nNFCe não foi aceita pela receita.\r\n" + "Verifique o erro na tela de controle de NFCe.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("Erro ao processar Lote NFCe.\r\n" + "Verifique o erro na tela de controle de NFCe.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } }