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); } }
public static string Gravar(TRegistro_CadProduto val, TObjetoBanco banco) { bool st_transacao = false; TCD_CadProduto qtb_produto = new TCD_CadProduto(); try { if (banco == null) { st_transacao = qtb_produto.CriarBanco_Dados(true); } else { qtb_produto.Banco_Dados = banco; } TList_CFG cfg = TCN_CFG.Buscar(string.Empty, qtb_produto.Banco_Dados); val.CD_Produto = CamadaDados.TDataQuery.getPubVariavel(qtb_produto.Grava(val), "@P_CD_PRODUTO"); //monta objeto CamadaDados.Estoque.TRegistro_LanPrecoItem preco = new CamadaDados.Estoque.TRegistro_LanPrecoItem(); preco.CD_Empresa = cfg[0].cd_empresa; preco.CD_TabelaPreco = cfg[0].cd_tabelapreco; preco.CD_Produto = val.CD_Produto; preco.VL_PrecoVenda = val.Vl_precovenda; CamadaDados.Estoque.TList_LanPrecoItem lista = new CamadaDados.Estoque.TList_LanPrecoItem(); lista.Add(preco); TCN_LanPrecoItem.Grava_LanPrecoItem(lista, qtb_produto.Banco_Dados); if (st_transacao) { qtb_produto.Banco_Dados.Commit_Tran(); } return(val.CD_Produto); } catch (Exception ex) { if (st_transacao) { qtb_produto.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar produto: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_produto.deletarBanco_Dados(); } } }
private void btn_Aplicar_Indice_Click(object sender, EventArgs e) { try { if (VL_Indice.Value > 0) { DataTable DT_Precos = (g_Itens.DataSource as DataTable); if (DT_Precos.Rows.Count > 0) { TCN_LanPrecoItem.Grava_Lista_LanPrecoItem(DT_Precos, CD_Empresa.Text, DT_Preco.Text, CD_TabelaPreco.Text, VL_Indice.Value, null); } } } catch { } }
private void TFLan_Pecas_Ordem_Servico_Load(object sender, EventArgs e) { if (!string.IsNullOrEmpty(Utils.Parametros.pubCultura)) { Idioma.TIdioma.AjustaCultura(this); } pnl_Pecas.set_FormatZero(); Icon = ResourcesUtils.TecnoAliance_ICO; Height = 456; St_obrigaCusto = CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVlBool("ST_OBRIGAR_CUSTO_UNIT_ORC", null).Equals(true); if (!St_alterar) { BS_Pecas.AddNew(); } else { if (rpeca.lFichaTecOS.Count > 0) { Height = 600; (BS_Pecas.Current as TRegistro_LanServicosPecas).lFichaTecOS.ForEach(p => { p.Vl_unitario = TCN_LanPrecoItem.Busca_ConsultaPreco(CD_Empresa, p.Cd_item, CD_TabelaPreco, null); }); if (Vl_Unitario.Enabled) { Vl_Unitario.Value = (BS_Pecas.Current as TRegistro_LanServicosPecas).lFichaTecOS.Sum(p => p.Vl_Subtotal); vl_custo.Value = (BS_Pecas.Current as TRegistro_LanServicosPecas).lFichaTecOS.Sum(p => p.Vl_TotCusto); } vl_custo.Enabled = vl_custo.Value.Equals(decimal.Zero) && St_obrigaCusto; tot_itensFichaTec.Text = (BS_Pecas.Current as TRegistro_LanServicosPecas).lFichaTecOS.Sum(p => p.Vl_Subtotal). ToString("N2", new System.Globalization.CultureInfo("pt-BR")); } if (rpeca.Vl_acrescimo > decimal.Zero && rpeca.Pc_acrescimo.Equals(decimal.Zero)) { rpeca.Pc_acrescimo = Math.Round(decimal.Divide(decimal.Multiply(rpeca.Vl_acrescimo, 100), rpeca.Vl_subtotal), 5, MidpointRounding.AwayFromZero); } if (rpeca.Vl_desconto > decimal.Zero && rpeca.Pc_desconto.Equals(decimal.Zero)) { rpeca.Pc_desconto = Math.Round(decimal.Divide(decimal.Multiply(rpeca.Vl_desconto, 100), rpeca.Vl_subtotal), 5, MidpointRounding.AwayFromZero); } BS_Pecas.DataSource = rpeca; CD_Produto.Enabled = false; DS_Produto.Enabled = false; CD_Local.Enabled = !pSt_servico && !St_consumoInterno; BB_Local.Enabled = !pSt_servico && !St_consumoInterno; ID_Tecnico.Enabled = pSt_servico; BB_Tecnico.Enabled = pSt_servico; if (!string.IsNullOrEmpty(Cd_clifor)) { rProg = CamadaNegocio.Faturamento.ProgEspecialVenda.TCN_ProgEspecialVenda.BuscarProg(CD_Empresa, Cd_clifor, CD_Produto.Text, CD_TabelaPreco, null); } } if (!St_alterar) { ID_Tecnico.Text = Cd_tecnico; DS_Funcao.Text = Nm_tecnico; } vl_custo.Enabled = vl_custo.Value.Equals(decimal.Zero) && St_obrigaCusto; Vl_Unitario.Enabled = string.IsNullOrEmpty(CD_TabelaPreco) || CamadaNegocio.Diversos.TCN_Usuario_RegraEspecial.ValidaRegra(Utils.Parametros.pubLogin, "PERMITIR INFORMAR PREÇO VENDA", null); vl_custo.Visible = St_obrigaCusto; lbCusto.Visible = St_obrigaCusto; CD_Local.Enabled = !pSt_servico; BB_Local.Enabled = !pSt_servico; st_servico.Checked = pSt_servico; if (pSt_servico) { BB_NovoProduto.Text = "(F8)\r\nServiço"; } if (St_consumoInterno) { CD_Local.Enabled = false; BB_Local.Enabled = false; } }
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); } }
private void BuscarProduto() { if (!string.IsNullOrEmpty(cd_empresa.Text)) { //Prencher variavel codigo de barra codigoBarra = cd_produto.Text; TpBusca[] filtro = new TpBusca[0]; if (string.IsNullOrEmpty(cd_produto.Text)) { rProd = UtilPesquisa.BuscarProduto(string.Empty, cd_empresa.Text, nm_empresa.Text, cd_tabelapreco.Text, new Componentes.EditDefault[] { cd_produto, DS_Produto }, null); } else if (cd_produto.Text.SoNumero().Trim().Length != cd_produto.Text.Trim().Length) { rProd = UtilPesquisa.BuscarProduto(cd_produto.Text, cd_empresa.Text, nm_empresa.Text, cd_tabelapreco.Text, new Componentes.EditDefault[] { cd_produto, DS_Produto }, null); } 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 = '" + (!string.IsNullOrWhiteSpace(cd_produto.TextOld) ? cd_produto.TextOld : 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; cd_local.Enabled = !rProd.St_composto; bb_local.Enabled = !rProd.St_composto; qtd_entrada.Enabled = !rProd.St_composto; vl_entrada.Enabled = !rProd.St_composto; codBarra.Text = BuscarCodBarra(); //Buscar Preço Venda if (!string.IsNullOrEmpty(cd_produto.Text) && !string.IsNullOrEmpty(cd_tabelapreco.Text)) { vl_precovenda.Value = TCN_LanPrecoItem.Busca_ConsultaPreco(cd_empresa.Text, cd_produto.Text, cd_tabelapreco.Text, null); } if (!rProd.St_composto) { //Buscar Preço Custo if (!string.IsNullOrEmpty(cd_produto.Text) && !string.IsNullOrEmpty(cd_local.Text)) { vl_custo.Value = TCN_LanEstoque.Vl_MedioLocal(cd_empresa.Text, cd_produto.Text, cd_local.Text, null); vl_entrada.Value = vl_custo.Value; } //Buscar Saldo quantidade.Value = BuscarSaldoLocal(); //Total Custo Estoque if (quantidade.Value > 0 && vl_custo.Value > 0) { vl_subtotal.Value = quantidade.Value * vl_custo.Value; } } } else { cd_produto.Clear(); cd_produto.Focus(); //se o produto nao existir com o codigo add ao campo para cadastrar if (!string.IsNullOrEmpty(codigoBarra)) { codBarra.Text = codigoBarra; if (InputBox("Pergunta", "Produto não encontrado com o código de barras!\r\n" + "Deseja incluir código ao novo produto ou relacionar ao existente?") == DialogResult.Yes) { bb_novoProd_Click(this, new EventArgs()); } else { BuscarProduto(); } } } if (!string.IsNullOrEmpty(cd_local.Text)) { qtd_entrada.Focus(); } } else { MessageBox.Show("Obrigatório selecionar empresa para Buscar o Produto!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); cd_empresa.Focus(); } }