private void ConsultaPreco() { rProg = null; if ((CD_Produto.Text.Trim() != string.Empty) && (CD_Empresa.Trim() != string.Empty) && (CD_TabelaPreco.Trim() != string.Empty)) { if (!string.IsNullOrEmpty(Cd_clifor)) { //Vefiricar se existe programacao especial de venda rProg = CamadaNegocio.Faturamento.ProgEspecialVenda.TCN_ProgEspecialVenda.BuscarProg(CD_Empresa, Cd_clifor, CD_Produto.Text, CD_TabelaPreco, null); if (rProg != null) { if (rProg.Tp_preco.Trim().ToUpper().Equals("C"))//Preco de Custo { Vl_Unitario.Value = CamadaNegocio.Estoque.TCN_LanEstoque.BuscarVlEstoqueUltimaCompra(CD_Empresa, CD_Produto.Text, null); Vl_Unitario.Enabled = CD_TabelaPreco.Trim().Equals(string.Empty) || Vl_Unitario.Value.Equals(decimal.Zero); return; } } } Vl_Unitario.Value = TCN_LanPrecoItem.Busca_ConsultaPreco(CD_Empresa, CD_Produto.Text, CD_TabelaPreco, null); VL_Total.Value = Vl_Unitario.Value - VL_Desconto.Value + vl_acrescimo.Value; Vl_Unitario.Enabled = CD_TabelaPreco.Trim().Equals(string.Empty) || Vl_Unitario.Value.Equals(decimal.Zero); } }
private void Quantidade_Leave(object sender, EventArgs e) { Sub_Total.Value = Quantidade.Value * Vl_Unitario.Value; VL_Desconto.Value = CalcularDescEspecial(); VL_Total.Value = Sub_Total.Value - VL_Desconto.Value + vl_acrescimo.Value; if (Sub_Total.Value > decimal.Zero) { Pc_DescontoItem.Value = Math.Round(decimal.Divide(decimal.Multiply(VL_Desconto.Value, 100), Sub_Total.Value), 5, MidpointRounding.AwayFromZero); pc_acrescimo.Value = Math.Round(decimal.Divide(decimal.Multiply(vl_acrescimo.Value, 100), Sub_Total.Value), 5, MidpointRounding.AwayFromZero); } if (St_consumoInterno) { //Buscar Almoxarifado object obj = new CamadaDados.Almoxarifado.TCD_CadAlmoxarifado().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_amx_almox_x_empresa x " + "where x.id_almox = a.id_almox " + "and x.cd_empresa = '" + CD_Empresa.Trim() + "')" } }, "a.id_almox"); if (obj == null && string.IsNullOrEmpty(obj.ToString())) { throw new Exception("Não existe almoxarifado cadastrado para empresa " + CD_Empresa.Trim()); } //Buscar Saldo Almoxarifado decimal saldo = CamadaNegocio.Almoxarifado.TCN_SaldoAlmoxarifado.ConsultaSaldoAlmox(CD_Empresa, obj.ToString(), CD_Produto.Text, null); if (saldo < Quantidade.Value) { MessageBox.Show("Não existe saldo suficiente para gravar movimentação.\r\n" + "Item: " + CD_Produto.Text.Trim() + "\r\n" + "Saldo Atual: " + saldo.ToString("N3", new System.Globalization.CultureInfo("pt-BR")) + "\r\n" + "Qtde Requerida: " + Quantidade.Value.ToString("N3", new System.Globalization.CultureInfo("pt-BR")), "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); Quantidade.Value = saldo; Quantidade.Focus(); } } }
private void BuscarProduto() { TpBusca[] filtro = new TpBusca[1]; filtro[0].vNM_Campo = "isnull(e.ST_Servico, 'N')"; filtro[0].vOperador = pSt_servico ? "=" : "<>"; filtro[0].vVL_Busca = "'S'"; if (St_consumoInterno) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "isnull(e.ST_consumointerno, 'N')"; filtro[filtro.Length - 1].vOperador = "="; filtro[filtro.Length - 1].vVL_Busca = "'S'"; } TRegistro_CadProduto rProd = null; if (string.IsNullOrEmpty(CD_Produto.Text)) { rProd = UtilPesquisa.BuscarProduto(string.Empty, CD_Empresa, Nm_empresa, CD_TabelaPreco, new Componentes.EditDefault[] { CD_Produto, DS_Produto }, filtro); } else if (CD_Produto.Text.SoNumero().Trim().Length != CD_Produto.Text.Trim().Length) { rProd = UtilPesquisa.BuscarProduto(CD_Produto.Text, CD_Empresa, Nm_empresa, CD_TabelaPreco, new Componentes.EditDefault[] { CD_Produto, DS_Produto }, filtro); } else { Array.Resize(ref filtro, filtro.Length + 2); filtro[filtro.Length - 2].vNM_Campo = "isnull(a.st_registro, 'A')"; filtro[filtro.Length - 2].vOperador = "<>"; filtro[filtro.Length - 2].vVL_Busca = "'C'"; filtro[filtro.Length - 1].vNM_Campo = string.Empty; filtro[filtro.Length - 1].vOperador = string.Empty; filtro[filtro.Length - 1].vVL_Busca = "(a.cd_produto like '%" + CD_Produto.Text.Trim() + "') or " + "(a.Codigo_Alternativo = '" + (CD_Produto.TextOld != null ? CD_Produto.TextOld.ToString() : CD_Produto.Text.Trim()) + "') or " + "(exists(select 1 from tb_est_codbarra x " + " where x.cd_produto = a.cd_produto " + " and x.cd_codbarra = '" + CD_Produto.Text.Trim() + "'))"; TList_CadProduto lProd = new TCD_CadProduto().Select(filtro, 0, string.Empty, string.Empty, string.Empty); if (lProd.Count > 0) { rProd = lProd[0]; } } if (rProd != null) { CD_Produto.Text = rProd.CD_Produto; DS_Produto.Text = rProd.DS_Produto; sigla_unidade.Text = rProd.Sigla_unidade; DS_Observacao.Text = rProd.DS_Tecnica; st_kit.Checked = rProd.St_composto; if ((!st_servico.Checked)) { //Buscar local armazenagem object obj = new TCD_CadLocalArm().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_est_empresa_x_localarm x " + "where x.cd_local = a.cd_local " + "and x.cd_empresa = '" + CD_Empresa.Trim() + "')" }, new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_est_localarm_x_produto x " + "where x.cd_local = a.cd_local " + "and x.cd_produto = '" + CD_Produto.Text.Trim() + "')" } }, "a.cd_local"); if (obj != null) { CD_Local.Text = obj.ToString(); CD_Local_Leave(this, new EventArgs()); Quantidade.Focus(); } else { if (string.IsNullOrEmpty(CD_Local.Text)) { CD_Local.Focus(); } else { Quantidade.Focus(); } } } if (st_kit.Checked) { Height = 900; Quantidade.Value = 1; try { (BS_Pecas.Current as TRegistro_LanServicosPecas).lFichaTecOS = TCN_LanServicoPecas.MontarFichaTecOS(CD_Produto.Text, CD_Empresa, Quantidade.Value, null); BS_Pecas.ResetCurrentItem(); } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { Height = 456; (BS_Pecas.Current as TRegistro_LanServicosPecas).lFichaTecOS.Clear(); BS_Pecas.ResetCurrentItem(); } } ConsultaPreco(); }
private void ConsultaPreco() { rProg = null; if ((CD_Produto.Text.Trim() != string.Empty) && (CD_Empresa.Trim() != string.Empty) && (CD_TabelaPreco.Trim() != string.Empty) && !St_consumoInterno) { if (!string.IsNullOrEmpty(Cd_clifor)) { //Verificar se existe programacao especial de venda rProg = CamadaNegocio.Faturamento.ProgEspecialVenda.TCN_ProgEspecialVenda.BuscarProg(CD_Empresa, Cd_clifor, CD_Produto.Text, CD_TabelaPreco, null); if (rProg != null) { if (rProg.Tp_preco.Trim().ToUpper().Equals("C"))//Preco de Custo { Vl_Unitario.Value = CamadaNegocio.Estoque.TCN_LanEstoque.BuscarVlEstoqueUltimaCompra(CD_Empresa, CD_Produto.Text, null); Vl_Unitario.Enabled = CD_TabelaPreco.Trim().Equals(string.Empty) || Vl_Unitario.Value.Equals(decimal.Zero); return; } } } //Buscar Valor de Venda Vl_Unitario.Value = St_alterar ? Vl_Unitario.Value : TCN_LanPrecoItem.Busca_ConsultaPreco(CD_Empresa, CD_Produto.Text, CD_TabelaPreco, null); //Buscar custo produto vl_custo.Value = CamadaNegocio.Estoque.TCN_LanEstoque.BuscarVlEstoqueUltimaCompra(CD_Empresa, CD_Produto.Text, null); vl_custo.Enabled = vl_custo.Value.Equals(decimal.Zero) && St_obrigaCusto; Vl_Unitario.Enabled = CD_TabelaPreco.Trim().Equals(string.Empty) || Vl_Unitario.Value.Equals(decimal.Zero) || CamadaNegocio.Diversos.TCN_Usuario_RegraEspecial.ValidaRegra(Utils.Parametros.pubLogin, "PERMITIR INFORMAR PREÇO VENDA", null); } else { //Buscar Almoxarifado CamadaDados.Almoxarifado.TList_CadAlmoxarifado lAlmox = new CamadaDados.Almoxarifado.TCD_CadAlmoxarifado().Select( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_amx_almox_x_empresa x " + "where x.id_almox = a.id_almox " + "and x.cd_empresa = '" + CD_Empresa.Trim() + "')" } }, 0, string.Empty); if (lAlmox.Count > 0) { //Buscar Vl.Custo Almoxarifado Vl_Unitario.Value = CamadaNegocio.Almoxarifado.TCN_SaldoAlmoxarifado.Vl_Custo_Almox_Prod(CD_Empresa, lAlmox[0].Id_almoxString, CD_Produto.Text, null); } Vl_Unitario.Enabled = Vl_Unitario.Value.Equals(decimal.Zero); } }