Beispiel #1
0
 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);
     }
 }
Beispiel #2
0
 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();
         }
     }
 }
Beispiel #3
0
        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();
        }
Beispiel #4
0
        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);
            }
        }