예제 #1
0
 private void BB_Empresa_Click(object sender, EventArgs e)
 {
     FormBusca.UtilPesquisa.BTN_BuscaEmpresa(new Componentes.EditDefault[] { CD_Empresa, NM_Empresa }, string.Empty);
     if (!string.IsNullOrEmpty(CD_Empresa.Text))
     {
         //Buscar config pdv para a empresa
         CamadaDados.Faturamento.Cadastros.TList_CFGCupomFiscal lCfg = CamadaNegocio.Faturamento.Cadastros.TCN_CFGCupomFiscal.Buscar(CD_Empresa.Text, null);
         if (lCfg.Count > 0)
         {
             rCfg = lCfg[0];
             //cd_produto.ST_Int = lCfg[0].St_produtocodigobool;
             CD_Clifor.Text      = rCfg.Cd_clifor;
             NM_Clifor.Text      = rCfg.Nm_clifor;
             cd_endereco.Text    = rCfg.Cd_endereco;
             ds_endereco.Text    = rCfg.Ds_endereco;
             CD_TabelaPreco.Text = rCfg.Cd_tabelapreco;
         }
         else
         {
             MessageBox.Show("Não existe configuração frente caixa para a empresa.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
             CD_Empresa.Clear();
             CD_Empresa.Focus();
             return;
         }
     }
 }
예제 #2
0
        public override int buscarRegistros()
        {
            CamadaDados.Faturamento.Cadastros.TList_CFGCupomFiscal lista =
                CamadaNegocio.Faturamento.Cadastros.TCN_CFGCupomFiscal.Buscar(cd_empresa.Text,
                                                                              null);

            if (lista != null)
            {
                if (lista.Count > 0)
                {
                    this.Lista            = lista;
                    bsCfGCupom.DataSource = lista;
                }
                else
                if ((vTP_Modo == Utils.TTpModo.tm_Standby) || (vTP_Modo == Utils.TTpModo.tm_busca))
                {
                    bsCfGCupom.Clear();
                }
                return(lista.Count);
            }
            else
            {
                return(0);
            }
        }
예제 #3
0
 private void TFAssistenteVenda_Load(object sender, EventArgs e)
 {
     this.Icon = Utils.ResourcesUtils.TecnoAliance_ICO;
     Utils.ShapeGrid.RestoreShape(this, gAssistente);
     bsAssistente.DataSource = lassistente;
     //Buscar CFG
     lCfg =
         CamadaNegocio.Faturamento.Cadastros.TCN_CFGCupomFiscal.Buscar(Cd_empresa, null);
 }
예제 #4
0
 private void TFItensEntrega_Load(object sender, EventArgs e)
 {
     this.Icon = Utils.ResourcesUtils.TecnoAliance_ICO;
     Utils.ShapeGrid.RestoreShape(this, gItensEntrega);
     lCfg = CamadaNegocio.Faturamento.Cadastros.TCN_CFGCupomFiscal.Buscar(rPrevenda != null ? rPrevenda.Cd_empresa : rPedido.CD_Empresa, null);
     //Itens Entrega
     this.afterEntrega();
     //Data romaneio
     Dt_romaneio.Text = CamadaDados.UtilData.Data_Servidor().ToString();
 }
예제 #5
0
 private void bb_empresa_Click(object sender, EventArgs e)
 {
     FormBusca.UtilPesquisa.BTN_BuscaEmpresa(new Componentes.EditDefault[] { cd_empresa, nm_empresa }, string.Empty);
     if (!string.IsNullOrEmpty(cd_empresa.Text))
     {
         //Buscar config pdv para a empresa
         lCfg = CamadaNegocio.Faturamento.Cadastros.TCN_CFGCupomFiscal.Buscar(cd_empresa.Text, null);
         if (lCfg.Count > 0)
         {
             cd_clifor.Text      = lCfg[0].Cd_clifor;
             nm_clifor.Text      = lCfg[0].Nm_clifor;
             cd_endereco.Text    = lCfg[0].Cd_endereco;
             ds_endereco.Text    = lCfg[0].Ds_endereco;
             CD_TabelaPreco.Text = lCfg[0].Cd_tabelapreco;
         }
     }
 }
예제 #6
0
 private void TFCondicional_Load(object sender, EventArgs e)
 {
     ShapeGrid.RestoreShape(this, gItens);
     Icon = ResourcesUtils.TecnoAliance_ICO;
     pDados.set_FormatZero();
     //Buscar config pdv para a empresa
     lCfg = CamadaNegocio.Faturamento.Cadastros.TCN_CFGCupomFiscal.Buscar(Cd_empresa, null);
     if (lCfg.Count > 0)
     {
         if (rcond == null)
         {
             bsCondicional.AddNew();
             if (Tp_movimento.Trim().ToUpper().Equals("E"))
             {
                 tp_movimento.SelectedIndex = 0;
             }
             else if (Tp_movimento.Trim().ToUpper().Equals("S"))
             {
                 tp_movimento.SelectedIndex = 1;
             }
             cd_empresa.Text  = Cd_empresa;
             nm_empresa.Text  = Nm_empresa;
             cd_clifor.Text   = lCfg[0].Cd_clifor;
             nm_clifor.Text   = lCfg[0].Nm_clifor;
             cd_endereco.Text = lCfg[0].Cd_endereco;
             ds_endereco.Text = lCfg[0].Ds_endereco;
         }
         else
         {
             bsCondicional.DataSource = new TList_Condicional()
             {
                 rcond
             };
             cd_clifor.Enabled   = false;
             bb_clifor.Enabled   = false;
             cd_endereco.Enabled = false;
             bb_endereco.Enabled = false;
         }
         CD_TabelaPreco.Text = lCfg[0].Cd_tabelapreco;
     }
     else
     {
         MessageBox.Show("Não existe configuração de PDV para a empresa " + Cd_empresa.Trim(), "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         Close();
     }
 }
예제 #7
0
 private void cd_empresa_Leave(object sender, EventArgs e)
 {
     FormBusca.UtilPesquisa.EDIT_LeaveEmpresa("a.cd_empresa|=|'" + cd_empresa.Text.Trim() + "'",
                                              new Componentes.EditDefault[] { cd_empresa, nm_empresa });
     if (!string.IsNullOrEmpty(cd_empresa.Text))
     {
         //Buscar config pdv para a empresa
         lCfg = CamadaNegocio.Faturamento.Cadastros.TCN_CFGCupomFiscal.Buscar(cd_empresa.Text, null);
         if (lCfg.Count > 0)
         {
             cd_clifor.Text      = lCfg[0].Cd_clifor;
             nm_clifor.Text      = lCfg[0].Nm_clifor;
             cd_endereco.Text    = lCfg[0].Cd_endereco;
             ds_endereco.Text    = lCfg[0].Ds_endereco;
             CD_TabelaPreco.Text = lCfg[0].Cd_tabelapreco;
         }
     }
 }
예제 #8
0
 private void BuscarConfigPDV()
 {
     CamadaDados.Faturamento.Cadastros.TList_CFGCupomFiscal lCfg =
         CamadaNegocio.Faturamento.Cadastros.TCN_CFGCupomFiscal.Buscar(cd_empresa.Text, null);
     if (lCfg.Count > 0)
     {
         cd_contaorig.Text = lCfg[0].Cd_contacaixa;
         ds_contaorig.Text = lCfg[0].Ds_contacaixa;
         cd_contadest.Text = lCfg[0].Cd_contaoperacional;
         ds_contadest.Text = lCfg[0].Ds_contaoperacional;
         cd_historico.Text = lCfg[0].Cd_historicocaixa;
         ds_historico.Text = lCfg[0].Ds_historicocaixa;
     }
     else
     {
         MessageBox.Show("Não existe configuração frente caixa para a empresa " + cd_empresa.Text.Trim(), "Mensagem",
                         MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
 }
예제 #9
0
 private void BB_Empresa_Click(object sender, EventArgs e)
 {
     FormBusca.UtilPesquisa.BTN_BuscaEmpresa(new Componentes.EditDefault[] { CD_Empresa, NM_Empresa }, string.Empty);
     if (!string.IsNullOrEmpty(CD_Empresa.Text))
     {
         //Buscar CFG Cupom
         lCfg = CamadaNegocio.Faturamento.Cadastros.TCN_CFGCupomFiscal.Buscar(CD_Empresa.Text, null);
         if (lCfg.Count < 1)
         {
             MessageBox.Show("Não existe configuração para emitir venda rapida na empresa " + CD_Empresa.Text,
                             "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
             CD_Empresa.Clear();
             NM_Empresa.Clear();
             CD_Empresa.Focus();
         }
         else
         {
             CD_TabelaPreco.Text = lCfg[0].Cd_tabelapreco;
         }
     }
 }
예제 #10
0
        private void Imprimir()
        {
            if (bsVenda.Current != null)
            {
                (bsVenda.Current as TRegistro_VendaRapida).lItem =
                    CamadaNegocio.Faturamento.PDV.TCN_VendaRapida_Item.Buscar((bsVenda.Current as TRegistro_VendaRapida).Id_vendarapidastr,
                                                                              (bsVenda.Current as TRegistro_VendaRapida).Cd_empresa,
                                                                              false,
                                                                              string.Empty,
                                                                              null);
                (bsVenda.Current as TRegistro_VendaRapida).lItem.ForEach(v => v.lGradeEstoque = new CamadaDados.Estoque.TCD_GradeEstoque().Select(
                                                                             new TpBusca[]
                {
                    new TpBusca
                    {
                        vNM_Campo = string.Empty,
                        vOperador = "exists",
                        vVL_Busca = "(select 1 from tb_pdv_cupomfiscal_item_x_estoque x " +
                                    "where x.cd_empresa = a.cd_empresa " +
                                    "and x.cd_produto = a.cd_produto " +
                                    "and x.id_lanctoestoque = a.id_lanctoestoque " +
                                    "and x.cd_empresa = '" + v.Cd_empresa.Trim() + "' " +
                                    "and x.id_cupom = " + v.Id_vendarapida.ToString() + " " +
                                    "and x.id_lancto = " + v.Id_lanctovenda.ToString() + ")"
                    }
                }, 0, string.Empty));

                object obj = new CamadaDados.Diversos.TCD_CadTerminal().BuscarEscalar(
                    new TpBusca[]
                {
                    new TpBusca()
                    {
                        vNM_Campo = "a.cd_terminal",
                        vOperador = "=",
                        vVL_Busca = "'" + Utils.Parametros.pubTerminal.Trim() + "'"
                    }
                }, "a.tp_imporcamento");


                if ((obj == null ? false : obj.ToString().Trim().ToUpper().Equals("T")))
                {
                    CamadaNegocio.Faturamento.PDV.TCN_VendaRapida.ImprimirVendaRapida(rVenda);
                    return;
                }
                else if ((obj == null ? false : obj.ToString().Trim().ToUpper().Equals("F")))
                {
                    ImprimirGraficoReduzido(rVenda);
                }
                else if ((obj == null ? false : obj.ToString().Trim().ToUpper().Equals("R")))
                {
                    object obj1 = new CamadaDados.Diversos.TCD_CadTerminal().BuscarEscalar(
                        new TpBusca[]
                    {
                        new TpBusca()
                        {
                            vNM_Campo = "a.cd_terminal",
                            vOperador = "=",
                            vVL_Busca = "'" + Utils.Parametros.pubTerminal.Trim() + "'"
                        }
                    }, "a.porta_imptick");
                    if (obj1 == null)
                    {
                        throw new Exception("Não existe porta de impressão configurada para o terminal " + Utils.Parametros.pubTerminal.Trim());
                    }
                    lCfg = CamadaNegocio.Faturamento.Cadastros.TCN_CFGCupomFiscal.Buscar(rVenda.Cd_empresa, null);
                    if (lCfg.Count > 0)
                    {
                        CamadaNegocio.Faturamento.PDV.TCN_VendaRapida.ImprimirReduzido(rVenda, lCfg[0].Cd_clifor, lCfg[0].St_impcpfcnpjbool, obj1.ToString());
                    }
                }
                else
                {
                    ImprimirGrafico(rVenda);
                }
            }
        }
예제 #11
0
        private void InformarValor(string portador)
        {
            if (lPortador.Count > 0)
            {
                if (Math.Round(pVl_receber, 2) > Math.Round(lPortador.Sum(p => p.Vl_pagtoPDV), 2))
                {
                    if (portador.ToUpper().Trim().Equals("CH"))//Cheque
                    {
                        using (Financeiro.TFLanListaCheques fListaCheques = new Financeiro.TFLanListaCheques())
                        {
                            fListaCheques.Tp_mov     = "R";
                            fListaCheques.Cd_empresa = pCd_empresa;
                            fListaCheques.St_pdv     = true;
                            //Buscar Config PDV Empresa
                            CamadaDados.Faturamento.Cadastros.TList_CFGCupomFiscal lCfg =
                                CamadaNegocio.Faturamento.Cadastros.TCN_CFGCupomFiscal.Buscar(pCd_empresa, null);
                            if (lCfg.Count > 0)
                            {
                                fListaCheques.Cd_contager = lCfg[0].Cd_contaoperacional;
                                fListaCheques.Ds_contager = lCfg[0].Ds_contaoperacional;
                            }
                            fListaCheques.Cd_clifor        = pCd_clifor;
                            fListaCheques.Cd_historico     = rCfg.Cd_historicocaixa;
                            fListaCheques.Ds_historico     = rCfg.Ds_historicocaixa;
                            fListaCheques.Cd_portador      = lPortador.Find(p => p.St_controletitulobool).Cd_portador;
                            fListaCheques.Ds_portador      = lPortador.Find(p => p.St_controletitulobool).Ds_portador;
                            fListaCheques.Nm_clifor        = pNm_clifor;
                            fListaCheques.Dt_emissao       = CamadaDados.UtilData.Data_Servidor();
                            fListaCheques.Vl_totaltitulo   = pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV);
                            fListaCheques.St_bloquearTroco = St_ReprocessaFin;
                            if (fListaCheques.ShowDialog() == DialogResult.OK)
                            {
                                lPortador.Find(p => p.St_controletitulobool).lCheque      = fListaCheques.lCheques;
                                lPortador.Find(p => p.St_controletitulobool).Vl_pagtoPDV +=
                                    fListaCheques.lCheques.Sum(p => p.Vl_titulo);
                                CalcularTroco(portador);
                                ConfirmarFin();
                            }
                            else
                            {
                                MessageBox.Show("Cheque não foi lançado... Liquidação não será efetivada! ");
                                return;
                            }
                        }
                    }
                    else if (portador.ToUpper().Trim().Equals("CC"))//Cartao Credito
                    {
                        //Buscar dados fatura cartao credito
                        using (TFLanCartaoPDV fCartao = new TFLanCartaoPDV())
                        {
                            fCartao.pCd_empresa      = pCd_empresa;
                            fCartao.D_C              = "C";
                            fCartao.Vl_saldofaturar  = pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV);
                            fCartao.St_bloquearTroco = St_ReprocessaFin;
                            if (fCartao.ShowDialog() == DialogResult.OK)
                            {
                                fCartao.lFatura.ForEach(p => lPortador.Find(x => x.St_cartaocreditobool).lFatura.Add(p));
                                lPortador.Find(p => p.St_cartaocreditobool).Vl_pagtoPDV += fCartao.lFatura.Sum(p => p.Vl_fatura);
                                CalcularTroco(portador);
                                ConfirmarFin();
                            }
                        }
                    }
                    else if (portador.ToUpper().Trim().Equals("CD"))//Cartao Debito
                    {
                        //Buscar dados fatura cartao credito
                        using (TFLanCartaoPDV fCartao = new TFLanCartaoPDV())
                        {
                            fCartao.pCd_empresa      = pCd_empresa;
                            fCartao.D_C              = "D";
                            fCartao.Vl_saldofaturar  = pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV);
                            fCartao.St_bloquearTroco = St_ReprocessaFin;
                            if (fCartao.ShowDialog() == DialogResult.OK)
                            {
                                fCartao.lFatura.ForEach(p => lPortador.Find(x => x.St_cartaocreditobool).lFatura.Add(p));
                                lPortador.Find(p => p.St_cartaocreditobool).Vl_pagtoPDV += fCartao.lFatura.Sum(p => p.Vl_fatura);
                                CalcularTroco(portador);
                                ConfirmarFin();
                            }
                        }
                    }
                    else if (portador.ToUpper().Trim().Equals("DU"))//Duplicata
                    {
                        //Buscar portador duplicata
                        CamadaDados.Financeiro.Cadastros.TList_CadPortador lDup =
                            new CamadaDados.Financeiro.Cadastros.TCD_CadPortador().Select(
                                new Utils.TpBusca[]
                        {
                            new Utils.TpBusca()
                            {
                                vNM_Campo = "isnull(a.tp_portadorPDV, '')",
                                vOperador = "=",
                                vVL_Busca = "'P'"
                            }
                        }, 1, string.Empty, string.Empty);
                        if (lDup.Count.Equals(0))
                        {
                            MessageBox.Show("Não existe portador duplicata configurado no sistema.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                        if (string.IsNullOrEmpty(pCd_clifor))
                        {
                            MessageBox.Show("Não é permitido venda a prazo sem identificar cliente.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                        //Abrir tela Duplicata
                        if (pCd_clifor == rCfg.Cd_clifor)
                        {
                            Componentes.EditDefault CD_Clifor = new Componentes.EditDefault();
                            CD_Clifor.NM_Campo      = "CD_Clifor";
                            CD_Clifor.NM_CampoBusca = "CD_Clifor";
                            DataRowView linha = FormBusca.UtilPesquisa.BTN_BuscaClifor(new Componentes.EditDefault[] { CD_Clifor }, string.Empty);
                            if (linha != null)
                            {
                                pCd_clifor = linha["cd_clifor"].ToString();
                                pNm_clifor = linha["Nm_clifor"].ToString();
                            }
                            else
                            {
                                MessageBox.Show("Obrigatório informar cliente para gerar duplicata!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                return;
                            }
                        }
                        //Verificar credito
                        CamadaDados.Financeiro.Duplicata.TRegistro_DadosBloqueio rDados =
                            new CamadaDados.Financeiro.Duplicata.TRegistro_DadosBloqueio();
                        if (CamadaNegocio.Financeiro.Duplicata.TCN_DadosBloqueio.VerificarBloqueioCredito(pCd_clifor,
                                                                                                          pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV),
                                                                                                          true,
                                                                                                          ref rDados,
                                                                                                          null))
                        {
                            using (Financeiro.TFLan_BloqueioCredito fBloq = new Financeiro.TFLan_BloqueioCredito())
                            {
                                fBloq.rDados    = rDados;
                                fBloq.Vl_fatura = pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV);
                                fBloq.ShowDialog();
                                if (!fBloq.St_desbloqueado)
                                {
                                    MessageBox.Show("Não é permitido realizar venda para cliente com restrição crédito.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    return;
                                }
                            }
                        }
                        //Abrir tela Duplicata
                        CamadaDados.Financeiro.Duplicata.TRegistro_LanDuplicata rDup = new CamadaDados.Financeiro.Duplicata.TRegistro_LanDuplicata();
                        rDup.Cd_empresa = pCd_empresa;
                        rDup.Nm_empresa = pNm_empresa;
                        rDup.Cd_clifor  = pCd_clifor;
                        rDup.Nm_clifor  = pNm_clifor;
                        //Buscar cond pagamento
                        CamadaDados.Financeiro.Cadastros.TList_CadCondPgto lCond =
                            CamadaNegocio.Financeiro.Cadastros.TCN_CadCondPgto.Buscar(string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      1,
                                                                                      decimal.Zero,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      1,
                                                                                      string.Empty,
                                                                                      null);
                        if (lCond.Count > 0)
                        {
                            rDup.Cd_condpgto      = lCond[0].Cd_condpgto;
                            rDup.Qt_parcelas      = lCond[0].Qt_parcelas;
                            rDup.Qt_dias_desdobro = lCond[0].Qt_diasdesdobro;
                        }
                        //Buscar endereco clifor
                        if (!string.IsNullOrEmpty(pCd_clifor))
                        {
                            CamadaDados.Financeiro.Cadastros.TList_CadEndereco lEnd =
                                CamadaNegocio.Financeiro.Cadastros.TCN_CadEndereco.Buscar(pCd_clifor,
                                                                                          string.Empty,
                                                                                          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);
                            if (lEnd.Count > 0)
                            {
                                pCd_endereco = rDup.Cd_endereco = lEnd[0].Cd_endereco;
                                pDs_endereco = rDup.Ds_endereco = lEnd[0].Ds_endereco;
                            }
                        }
                        rDup.Tp_docto       = rCfg.Tp_docto;
                        rDup.Ds_tpdocto     = rCfg.Ds_tpdocto;
                        rDup.Tp_duplicata   = rCfg.Tp_duplicata;
                        rDup.Ds_tpduplicata = rCfg.Ds_tpduplicata;
                        rDup.Tp_mov         = "R";
                        rDup.Cd_historico   = rCfg.Cd_historico;
                        rDup.Ds_historico   = rCfg.Ds_historico;
                        //Buscar Moeda Padrao
                        CamadaDados.Financeiro.Cadastros.TList_Moeda tabela =
                            CamadaNegocio.ConfigGer.TCN_CadParamGer_X_Empresa.BuscarMoedaPadrao(pCd_empresa, null);
                        if (tabela != null)
                        {
                            if (tabela.Count > 0)
                            {
                                rDup.Cd_moeda    = tabela[0].Cd_moeda;
                                rDup.Ds_moeda    = tabela[0].Ds_moeda_singular;
                                rDup.Sigla_moeda = tabela[0].Sigla;
                            }
                        }
                        rDup.Id_configBoleto     = rCfg.Id_config;
                        rDup.Nr_docto            = "PDC123";//pNr_cupom; //Numero Cupom
                        rDup.Dt_emissaostring    = CamadaDados.UtilData.Data_Servidor().ToString("dd/MM/yyyy");
                        rDup.Vl_documento        = pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV);
                        rDup.Vl_documento_padrao = pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV);

                        rDup.Parcelas.Add(new CamadaDados.Financeiro.Duplicata.TRegistro_LanParcela()
                        {
                            Cd_parcela        = 1,
                            Dt_vencto         = lCond.Count > 0 ? rDup.Dt_emissao.Value.AddDays(double.Parse(lCond[0].Qt_diasdesdobro.ToString())) : rDup.Dt_emissao,
                            Vl_parcela        = pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV),
                            Vl_parcela_padrao = pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV)
                        });
                        lPortador.Find(p => p.Tp_portadorpdv.ToUpper().Equals("P")).lDup.Add(rDup);
                        lPortador.Find(p => p.Tp_portadorpdv.ToUpper().Equals("P")).Vl_pagtoPDV = rDup.Vl_documento_padrao;
                        ConfirmarFin();
                    }
                    else if (portador.ToUpper().Trim().Equals("DV"))//Devolucao Credito
                    {
                        //Devolucao de credito
                        using (Financeiro.TFSaldoCreditos fSaldo = new Financeiro.TFSaldoCreditos())
                        {
                            fSaldo.Cd_empresa    = pCd_empresa;
                            fSaldo.Cd_clifor     = pCd_clifor;
                            fSaldo.Vl_financeiro = pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV);
                            fSaldo.Tp_mov        = "'R'";
                            if (fSaldo.ShowDialog() == DialogResult.OK)
                            {
                                if (fSaldo.lSaldo != null)
                                {
                                    lPortador.Find(p => p.St_devcreditobool).lCred       = fSaldo.lSaldo;
                                    lPortador.Find(p => p.St_devcreditobool).Vl_pagtoPDV =
                                        fSaldo.lSaldo.Sum(p => p.Vl_processar);
                                    CalcularTroco(portador);
                                    ConfirmarFin();
                                }
                            }
                            else
                            {
                                return;
                            }
                        }
                    }
                    else
                    {
                        //Portador Dinheiro
                        using (Componentes.TFQuantidade fQtde = new Componentes.TFQuantidade())
                        {
                            fQtde.Casas_decimais = 2;
                            fQtde.Vl_default     = pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV);
                            fQtde.Vl_saldo       = St_ReprocessaFin ? pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV) : decimal.Zero;
                            fQtde.Ds_label       = "Valor Recebido";
                            if (fQtde.ShowDialog() == DialogResult.OK)
                            {
                                lPortador.Find(p => !p.St_devcreditobool &&
                                               !p.St_entregafuturabool &&
                                               !p.St_controletitulobool &&
                                               !p.St_cartaocreditobool &&
                                               !p.St_cartafretebool &&
                                               !p.Tp_portadorpdv.Equals("P")).Vl_pagtoPDV += fQtde.Quantidade;
                                CalcularTroco(portador);
                                ConfirmarFin();
                            }
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Não existe mais saldo para receber.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
예제 #12
0
        public static string TransferirContaCartao(TList_FaturaCartao lFatura, string Cd_empresa, BancoDados.TObjetoBanco banco)
        {
            bool             st_transacao = false;
            TCD_FaturaCartao qtb_fatura   = new TCD_FaturaCartao();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_fatura.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_fatura.Banco_Dados = banco;
                }
                //Buscar conta gerencial
                CamadaDados.Faturamento.Cadastros.TList_CFGCupomFiscal lCfg =
                    CamadaNegocio.Faturamento.Cadastros.TCN_CFGCupomFiscal.Buscar(Cd_empresa, qtb_fatura.Banco_Dados);
                if (lCfg.Count < 1)
                {
                    throw new Exception("Não existe configuração ECF para a empresa: " + Cd_empresa.Trim());
                }
                if (string.IsNullOrEmpty(lCfg[0].Cd_contacartao))
                {
                    throw new Exception("Não existe conta gerencial cartão para processar fechamento do portador cartão!");
                }

                lFatura.ForEach(v =>
                {
                    //Buscar lancamento de caixa da fatura
                    new CamadaDados.Financeiro.Caixa.TCD_LanCaixa(qtb_fatura.Banco_Dados).Select(
                        new Utils.TpBusca[]
                    {
                        new Utils.TpBusca()
                        {
                            vNM_Campo = string.Empty,
                            vOperador = "exists",
                            vVL_Busca = "(select 1 from tb_fin_faturacartao_x_caixa x " +
                                        "where x.cd_contager = a.cd_contager " +
                                        "and x.cd_lanctocaixa = a.cd_lanctocaixa " +
                                        "and x.cd_contager <> '" + lCfg[0].Cd_contacartao.Trim() + "' " +
                                        "and x.id_fatura = " + v.Id_fatura.Value.ToString() + ")"
                        }
                    }, 0, string.Empty).ForEach(c =>
                    {
                        //Gravar transferencia de caixa
                        CamadaDados.Financeiro.Caixa.TRegistro_Lan_Transfere_Caixa rTransf = new CamadaDados.Financeiro.Caixa.TRegistro_Lan_Transfere_Caixa();
                        rTransf.CD_ContaGer_Entrada = c.Vl_RECEBER > decimal.Zero ? lCfg[0].Cd_contacartao : lCfg[0].Cd_contaoperacional;
                        rTransf.CD_ContaGer_Saida   = c.Vl_RECEBER > decimal.Zero ? lCfg[0].Cd_contaoperacional : lCfg[0].Cd_contacartao;
                        rTransf.CD_Empresa          = lCfg[0].Cd_empresa;
                        rTransf.CD_Historico        = lCfg[0].Cd_historico_transf;
                        rTransf.Complemento         = "TRANSFERENCIA PARA CONTA CARTÃO";
                        rTransf.Valor_Transferencia = c.Vl_RECEBER > decimal.Zero ? c.Vl_RECEBER : c.Vl_PAGAR;
                        rTransf.DT_Lancto           = CamadaDados.UtilData.Data_Servidor();
                        rTransf.NR_Docto            = "TRANSFERENCIA PARA CONTA CARTÃO";
                        CamadaNegocio.Financeiro.Caixa.TCN_Lan_Transfere_Caixa.Transfere_Caixa(rTransf, qtb_fatura.Banco_Dados);
                        //Gravar fatura cartao x novo lancamento caixa
                        CamadaNegocio.Financeiro.Cartao.TCN_FaturaCartao_X_Caixa.Gravar(
                            new CamadaDados.Financeiro.Cartao.TRegistro_FaturaCartao_X_Caixa()
                        {
                            Cd_contager    = c.Vl_RECEBER > decimal.Zero ? lCfg[0].Cd_contaoperacional : lCfg[0].Cd_contacartao,
                            Cd_lanctocaixa = rTransf.CD_LANCTOCAIXA_SAI,
                            Id_fatura      = v.Id_fatura
                        }, qtb_fatura.Banco_Dados);

                        CamadaNegocio.Financeiro.Cartao.TCN_FaturaCartao_X_Caixa.Gravar(
                            new CamadaDados.Financeiro.Cartao.TRegistro_FaturaCartao_X_Caixa()
                        {
                            Cd_contager    = c.Vl_RECEBER > decimal.Zero ? lCfg[0].Cd_contacartao : lCfg[0].Cd_contaoperacional,
                            Cd_lanctocaixa = rTransf.CD_LANCTOCAIXA_ENT,
                            Id_fatura      = v.Id_fatura
                        }, qtb_fatura.Banco_Dados);
                    });
                });
                if (st_transacao)
                {
                    qtb_fatura.Banco_Dados.Commit_Tran();
                }
                return("OK");
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_fatura.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar fatura: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_fatura.deletarBanco_Dados();
                }
            }
        }
예제 #13
0
 public static CamadaDados.Faturamento.Pedido.TRegistro_Pedido ProcessarPedido(List <CamadaDados.Faturamento.PDV.TRegistro_NFCe> lCupom,
                                                                               string Cd_empresa,
                                                                               string Cd_cliente)
 {
     if ((lCupom != null) &&
         (!string.IsNullOrEmpty(Cd_empresa)) &&
         (!string.IsNullOrEmpty(Cd_cliente)))
     {
         //Buscar moeda padrao
         string moeda = CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVL_String_Empresa("CD_MOEDA_PADRAO", Cd_empresa);
         if (string.IsNullOrEmpty(moeda))
         {
             throw new Exception("Não existe moeda padrão configurada para a empresa " + Cd_empresa);
         }
         //Buscar Endereco clifor
         object obj_end = new CamadaDados.Financeiro.Cadastros.TCD_CadEndereco().BuscarEscalar(
             new Utils.TpBusca[]
         {
             new Utils.TpBusca()
             {
                 vNM_Campo = "a.cd_clifor",
                 vOperador = "=",
                 vVL_Busca = "'" + Cd_cliente.Trim() + "'"
             }
         }, "a.cd_endereco");
         if (obj_end == null)
         {
             throw new Exception("Cliente " + Cd_cliente + " não possui endereço cadastrado.");
         }
         //Buscar Configuracao cupom
         CamadaDados.Faturamento.Cadastros.TList_CFGCupomFiscal lCfgCupom =
             CamadaNegocio.Faturamento.Cadastros.TCN_CFGCupomFiscal.Buscar(Cd_empresa, null);
         if (lCfgCupom.Count < 1)
         {
             throw new Exception("Não existe configuração cupom fiscal para a empresa " + Cd_empresa);
         }
         if (string.IsNullOrEmpty(lCfgCupom[0].Cfg_pedidovinculado))
         {
             throw new Exception("Não existe tipo pedido vinculado configurado para a empresa " + Cd_empresa);
         }
         //Criar objeto pedido
         CamadaDados.Faturamento.Pedido.TRegistro_Pedido rPed = new CamadaDados.Faturamento.Pedido.TRegistro_Pedido();
         rPed.CD_Empresa   = Cd_empresa;
         rPed.CD_Clifor    = Cd_cliente;
         rPed.CD_Endereco  = obj_end.ToString();
         rPed.Cd_moeda     = moeda;
         rPed.CFG_Pedido   = lCfgCupom[0].Cfg_pedidovinculado;
         rPed.DT_Pedido    = CamadaDados.UtilData.Data_Servidor();
         rPed.TP_Movimento = "S"; //Pedido de saida
         rPed.ST_Pedido    = "F"; //Pedido fechado
         rPed.ST_Registro  = "F"; //Pedido fechado
         //Montar itens do pedido
         lCupom.ForEach(p =>
         {
             //Buscar itens do cupom
             p.lItem = CamadaNegocio.Faturamento.PDV.TCN_NFCe_Item.Buscar(p.Id_nfcestr, p.Cd_empresa, string.Empty, null);
             p.lItem.ForEach(v =>
             {
                 //Verificar se existe item no pedido
                 if (rPed.Pedido_Itens.Exists(x => x.Cd_produto.Trim().Equals(v.Cd_produto.Trim())) &&
                     (CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVL_Bool("AGRUPAR_ITENS_IGUAIS_NF_DIRETA", p.Cd_empresa, null) == "S"))
                 {
                     rPed.Pedido_Itens.Find(x => x.Cd_produto.Trim().Equals(v.Cd_produto.Trim())).Quantidade   += v.Quantidade;
                     rPed.Pedido_Itens.Find(x => x.Cd_produto.Trim().Equals(v.Cd_produto.Trim())).Vl_subtotal  += v.Vl_subtotal;
                     rPed.Pedido_Itens.Find(x => x.Cd_produto.Trim().Equals(v.Cd_produto.Trim())).Vl_descCupom += v.Vl_desconto;
                     rPed.Pedido_Itens.Find(x => x.Cd_produto.Trim().Equals(v.Cd_produto.Trim())).Vl_juroCupom += v.Vl_acrescimo;
                     rPed.Pedido_Itens.Find(x => x.Cd_produto.Trim().Equals(v.Cd_produto.Trim())).Vl_unitario   =
                         Math.Round(rPed.Pedido_Itens.Find(x => x.Cd_produto.Trim().Equals(v.Cd_produto.Trim())).Vl_subtotal /
                                    rPed.Pedido_Itens.Find(x => x.Cd_produto.Trim().Equals(v.Cd_produto.Trim())).Quantidade, 7);
                 }
                 else
                 {
                     rPed.Pedido_Itens.Add(new CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item()
                     {
                         Cd_Empresa            = p.Cd_empresa,
                         Cd_produto            = v.Cd_produto,
                         Ds_produto            = v.Ds_produto,
                         Cd_condfiscal_produto = v.Cd_condfiscal_produto,
                         Cd_unidade_est        = v.Cd_unidade,
                         Cd_unidade_valor      = string.Empty,
                         Quantidade            = v.Quantidade,
                         Vl_unitario           = v.Vl_unitario,
                         Vl_subtotal           = v.Vl_subtotal,
                         Vl_descCupom          = v.Vl_desconto,
                         Vl_juroCupom          = v.Vl_acrescimo
                     });
                 }
             });
         });
         rPed.Pedido_Itens.ForEach(p =>
         {
             p.Cd_unidade_valor = p.Cd_unidade_est;
             p.Vl_juro_fin      = p.Vl_juroCupom;
             p.Vl_desc          = p.Vl_descCupom;
         });
         return(rPed);
     }
     else
     {
         return(null);
     }
 }