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; } } }
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); } }
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); }
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(); }
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; } } }
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(); } }
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; } } }
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); } }
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; } } }
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); } } }
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); } } }
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(); } } }
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); } }