Пример #1
0
        public static void GravarCupom(TList_PreVenda_Item val, TRegistro_Cartao cartao)
        {
            TRegistro_VendaRapida rVenda = new TRegistro_VendaRapida();

            val.ForEach(p =>
            {
                rVenda.lItem.Add(new TRegistro_VendaRapida_Item
                {
                    Cd_produto  = p.cd_produto,
                    Quantidade  = p.quantidade_agregar,
                    Vl_unitario = p.vl_unitario,
                    Vl_subtotal = p.vl_subtotal
                });
            });
            rVenda.rCliente = new CamadaDados.Financeiro.Cadastros.TCD_CadClifor().Select(
                new TpBusca[]
            {
                new TpBusca()
                {
                    vNM_Campo = "a.cd_clifor",
                    vOperador = "=",
                    vVL_Busca = cartao.Cd_Clifor
                }
            }, 1, string.Empty)[0];
            rVenda.rEndCli = new CamadaDados.Financeiro.Cadastros.TCD_CadEndereco().Select(
                new TpBusca[]
            {
                new TpBusca()
                {
                    vNM_Campo = "a.cd_clifor",
                    vOperador = "=",
                    vVL_Busca = cartao.Cd_Clifor
                }
            }, 1, string.Empty)[0];

            Faturamento.PDV.TCN_VendaRapida.GravarVendaRapida(rVenda,
                                                              null,
                                                              null,
                                                              null);
        }
Пример #2
0
        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;
        }
Пример #3
0
        private void ImprimirGrafico(TRegistro_VendaRapida val)
        {
            FormRelPadrao.Relatorio Relatorio = new FormRelPadrao.Relatorio();
            Relatorio.Nome_Relatorio   = "TFLanVendaRapida";
            Relatorio.NM_Classe        = "TFLanVendaRapida";
            Relatorio.Modulo           = string.Empty;
            Relatorio.Ident            = "Orcamento_VendaRapida";
            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((bsVenda.Current as TRegistro_VendaRapida).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 = '" + (bsVenda.Current as TRegistro_VendaRapida).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());
                (bsVenda.Current as TRegistro_VendaRapida).ObsOS = obsOS.ToString();
            }
            //Adicionar itens devolvidos
            Relatorio.Adiciona_DataSource("DTS_DEV", bsItensDev);
            if (!Altera_Relatorio)
            {
                //Chamar tela de gerenciamento de impressao
                using (FormRelPadrao.TFGerenciadorImpressao fImp = new FormRelPadrao.TFGerenciadorImpressao())
                {
                    fImp.St_enabled_enviaremail = true;
                    fImp.pCd_clifor             = val.Cd_clifor;
                    fImp.pMensagem = "ORÇAMENTO Nº " + val.Id_vendarapidastr;
                    if ((fImp.ShowDialog() == DialogResult.OK) || (fImp.pSt_enviaremail))
                    {
                        Relatorio.Gera_Relatorio(val.Id_vendarapidastr,
                                                 fImp.pSt_imprimir,
                                                 fImp.pSt_visualizar,
                                                 fImp.pSt_enviaremail,
                                                 fImp.pSt_exportPdf,
                                                 fImp.Path_exportPdf,
                                                 fImp.pDestinatarios,
                                                 null,
                                                 "ORÇAMENTO Nº " + val.Id_vendarapidastr,
                                                 fImp.pDs_mensagem);
                    }
                }
            }
            else
            {
                Relatorio.Gera_Relatorio();
                Altera_Relatorio = false;
            }
        }
Пример #4
0
        public static void CancelarCF(TRegistro_NFCe val, TRegistro_VendaRapida venda, BancoDados.TObjetoBanco banco)
        {
            bool     st_transacao = false;
            TCD_NFCe qtb_cupom    = new TCD_NFCe();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_cupom.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_cupom.Banco_Dados = banco;
                }
                if (val.Cd_modelo.Trim().Equals("65") &&
                    !val.Nr_protocolo.HasValue &&
                    !val.Id_contingencia.HasValue)
                {
                    qtb_cupom.ExcluirNFCe(val);
                }
                else
                {
                    TList_ItensCupom itens = new TList_ItensCupom();
                    itens = Buscar(val.Cd_empresa, string.Empty, string.Empty, venda.Id_vendarapidastr, string.Empty, qtb_cupom.Banco_Dados);
                    itens.ForEach(p => Excluir(p, qtb_cupom.Banco_Dados));
                    Faturamento.PDV.TCN_VendaRapida.ExcluirVendaRapida(new List <TRegistro_VendaRapida> {
                        venda
                    }, qtb_cupom.Banco_Dados);
                    //Cancelar cupom
                    qtb_cupom.executarSql("update tb_pdv_nfce set st_registro = 'C', dt_alt = getdate() where cd_empresa = '" + val.Cd_empresa.Trim() + "' and id_nfce = " + val.Id_nfcestr, null);
                    //Cancelar Itens do Cupom
                    Faturamento.PDV.TCN_NFCe_Item.Buscar(val.Id_nfcestr,
                                                         val.Cd_empresa,
                                                         string.Empty,
                                                         qtb_cupom.Banco_Dados)
                    .ForEach(p => Faturamento.PDV.TCN_NFCe_Item.CancelarItemCF(p, qtb_cupom.Banco_Dados));
                    //Excluir Venda Rapida de Origem somente se o caixa estiver aberto
                    if (val.Cd_modelo.Trim().Equals("65"))
                    {
                        Faturamento.PDV.TCN_VendaRapida.ExcluirVendaRapida(new TCD_VendaRapida(qtb_cupom.Banco_Dados).Select(
                                                                               new TpBusca[]
                        {
                            new TpBusca()
                            {
                                vNM_Campo = string.Empty,
                                vOperador = "exists",
                                vVL_Busca = "(select 1 from TB_PDV_Cupom_X_VendaRapida x " +
                                            "inner join tb_pdv_cupom_x_movcaixa y " +
                                            "on x.cd_empresa = y.cd_empresa " +
                                            "and x.id_vendarapida = y.id_cupom " +
                                            "inner join VTB_PDV_Caixa k " +
                                            "on y.id_caixa = k.id_caixa " +
                                            "where x.cd_empresa = a.cd_empresa " +
                                            "and x.id_vendarapida = a.id_cupom " +
                                            "and isnull(k.st_registro, 'A') in ('A', 'F') " +
                                            "and x.cd_empresa = '" + val.Cd_empresa.Trim() + "' " +
                                            "and x.id_cupom = " + val.Id_nfcestr + ")"
                            }
                        }, 0, string.Empty, string.Empty), qtb_cupom.Banco_Dados);
                    }
                }
                if (st_transacao)
                {
                    qtb_cupom.Banco_Dados.Commit_Tran();
                }
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_cupom.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro cancelar CF/NFCe: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_cupom.deletarBanco_Dados();
                }
            }
        }