コード例 #1
0
 private void VerificarGrade()
 {
     if (!string.IsNullOrEmpty(pId_caracteristica))
     {
         using (Proc_Commoditties.TFGradeProduto fGrade = new Proc_Commoditties.TFGradeProduto())
         {
             fGrade.pId_caracteristica = pId_caracteristica;
             fGrade.pCd_empresa        = cbEmpresa.SelectedValue.ToString();;
             fGrade.pCd_produto        = CD_Produto.Text;
             fGrade.pDs_produto        = ds_produto.Text;
             fGrade.pTp_movimento      = "E";
             fGrade.pQuantidade        = Quantidade.Value;
             if (fGrade.ShowDialog() == DialogResult.OK)
             {
                 fGrade.lGrade.ForEach(p => GerarCodBarra(p));
                 panelDados3.LimparRegistro();
                 bsCodBarra.ResetCurrentItem();
                 pId_caracteristica = string.Empty;
                 CD_Produto.Focus();
             }
             else
             {
                 MessageBox.Show("Obrigatório informar grade.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 return;
             }
         }
     }
 }
コード例 #2
0
 private void qtd_devolver_ValueChanged(object sender, EventArgs e)
 {
     if (bsItens.Current != null)
     {
         object obj = new CamadaDados.Estoque.Cadastros.TCD_CadProduto().BuscarEscalar(
             new Utils.TpBusca[]
         {
             new  Utils.TpBusca()
             {
                 vNM_Campo = "a.cd_produto",
                 vOperador = "=",
                 vVL_Busca = "'" + (bsItens.Current as CamadaDados.Faturamento.PDV.TRegistro_ItensCondicional).Cd_produto.Trim() + "'"
             }
         }, "a.id_caracteristicaH");
         if (obj == null ? false : !string.IsNullOrEmpty(obj.ToString()))
         {
             using (Proc_Commoditties.TFGradeProduto fGrade = new Proc_Commoditties.TFGradeProduto())
             {
                 fGrade.pId_caracteristica = obj.ToString();
                 fGrade.pCd_empresa        = (bsItens.Current as CamadaDados.Faturamento.PDV.TRegistro_ItensCondicional).Cd_empresa;
                 fGrade.pCd_produto        = (bsItens.Current as CamadaDados.Faturamento.PDV.TRegistro_ItensCondicional).Cd_produto;
                 fGrade.pDs_produto        = (bsItens.Current as CamadaDados.Faturamento.PDV.TRegistro_ItensCondicional).Ds_produto;
                 fGrade.pQuantidade        = (bsItens.Current as CamadaDados.Faturamento.PDV.TRegistro_ItensCondicional).Quantidade;
                 fGrade.pTp_movimento      = "E";
                 if (fGrade.ShowDialog() == DialogResult.OK)
                 {
                     fGrade.lGrade.ForEach(p => (bsItens.Current as CamadaDados.Faturamento.PDV.TRegistro_ItensCondicional).lGrade.Add(p));
                     qtd_devolver.Value = fGrade.lGrade.Sum(p => p.Vl_mov);
                     //   Quantidade.Enabled = false;
                     //if (vl_unitario.Enabled)
                     //    vl_unitario.Focus();
                     //else if (pc_desconto.Enabled)
                     //    pc_desconto.Focus();
                     //else pc_acrescimo.Focus();
                 }
                 else
                 {
                     MessageBox.Show("Obrigatório informar grade.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     bsItens.RemoveCurrent();
                 }
             }
         }
         //AddCarrinho();
         //LoginDesconto = string.Empty;
     }
 }
コード例 #3
0
 private void BB_Gravar_Click(object sender, EventArgs e)
 {
     if (Qtd_Saida.Focused)
     {
         Qtd_Saida_Leave(this, new EventArgs());
     }
     if (Qtd_Entrada.Focused)
     {
         Qtd_Entrada_Leave(this, new EventArgs());
     }
     if (VL_Unitario.Focused)
     {
         VL_Unitario_Leave(this, new EventArgs());
     }
     if (vl_subtotal.Focused)
     {
         vl_subtotal_Leave(this, new EventArgs());
     }
     if (pnl_Lan_Estoque.validarCampoObrigatorio())
     {
         if (!string.IsNullOrEmpty(pId_caracteristica))
         {
             using (Proc_Commoditties.TFGradeProduto fGrade = new Proc_Commoditties.TFGradeProduto())
             {
                 fGrade.pId_caracteristica = pId_caracteristica;
                 fGrade.pCd_empresa        = CD_Empresa.Text;
                 fGrade.pCd_produto        = CD_Produto.Text;
                 fGrade.pDs_produto        = DS_Produto.Text;
                 fGrade.pTp_movimento      = tp_movimento.SelectedValue.ToString();
                 fGrade.pQuantidade        = tp_movimento.SelectedValue.ToString().Trim().ToUpper().Equals("E") ? Qtd_Entrada.Value : Qtd_Saida.Value;
                 if (fGrade.ShowDialog() == DialogResult.OK)
                 {
                     fGrade.lGrade.ForEach(p => (BS_Lan_Estoque.Current as TRegistro_LanEstoque).lGrade.Add(p));
                 }
                 else
                 {
                     MessageBox.Show("Obrigatório informar grade.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     return;
                 }
             }
         }
         DialogResult = DialogResult.OK;
     }
 }
コード例 #4
0
 private void Quantidade_Leave(object sender, EventArgs e)
 {
     if (bsItens.Current != null)
     {
         (bsItens.Current as TRegistro_ItensCondicional).Quantidade = Quantidade.Value;
         if (lCfg[0].St_movestoquebool)
         {
             if ((!new CamadaDados.Estoque.Cadastros.TCD_CadProduto().ItemServico((bsItens.Current as TRegistro_ItensCondicional).Cd_produto)) &&
                 (!new CamadaDados.Estoque.Cadastros.TCD_CadProduto().ProdutoConsumoInterno((bsItens.Current as TRegistro_ItensCondicional).Cd_produto)))
             {
                 if (!new CamadaDados.Estoque.Cadastros.TCD_CadProduto().ProdutoComposto((bsItens.Current as TRegistro_ItensCondicional).Cd_produto))
                 {
                     decimal saldo = BuscarSaldoLocal((bsItens.Current as TRegistro_ItensCondicional).Cd_produto);
                     if (saldo < Quantidade.Value)
                     {
                         MessageBox.Show("Não existe saldo disponivel no estoque.\r\n" +
                                         "Empresa.........: " + cd_empresa.Text.Trim() + "-" + nm_empresa.Text.Trim() + "\r\n" +
                                         "Produto.........: " + (bsItens.Current as TRegistro_ItensCondicional).Cd_produto.Trim() + "-" +
                                         (bsItens.Current as TRegistro_ItensCondicional).Ds_produto.Trim() + "\r\n" +
                                         "Local Arm.......: " + lCfg[0].Cd_local.Trim() + "-" + lCfg[0].Ds_local + "\r\n" +
                                         "Saldo Disponivel: " + saldo.ToString("N3", new System.Globalization.CultureInfo("pt-BR", true)),
                                         "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         Quantidade.Focus();
                         Quantidade.Value = decimal.Zero;
                         (bsItens.Current as TRegistro_ItensCondicional).Quantidade = Quantidade.Value;
                         return;
                     }
                 }
                 else
                 {
                     //Buscar ficha tecnica produto composto
                     CamadaDados.Estoque.Cadastros.TList_FichaTecProduto lFicha =
                         CamadaNegocio.Estoque.Cadastros.TCN_FichaTecProduto.Buscar((bsItens.Current as TRegistro_ItensCondicional).Cd_produto, string.Empty, null);
                     lFicha.ForEach(p => p.Quantidade = p.Quantidade * Quantidade.Value);
                     CamadaNegocio.Estoque.Cadastros.TCN_FichaTecProduto.MontarFichaTec(string.Empty, string.Empty, lFicha, null);
                     //Buscar saldo itens da ficha tecnica
                     string msg = string.Empty;
                     lFicha.ForEach(p =>
                     {
                         //Buscar saldo estoque do item
                         decimal saldo = decimal.Zero;
                         CamadaNegocio.Estoque.TCN_LanEstoque.SaldoEstoqueLocal(cd_empresa.Text, p.Cd_item, lCfg[0].Cd_local, ref saldo, null);
                         if (saldo < p.Quantidade)
                         {
                             msg += "Produto.........: " + p.Cd_item.Trim() + "-" + p.Ds_item.Trim() + "\r\n" +
                                    "Saldo Disponivel: " + saldo.ToString("N3", new System.Globalization.CultureInfo("pt-BR", true)) + "\r\n";
                         }
                     });
                     if (!string.IsNullOrEmpty(msg))
                     {
                         msg = "Produto Composto contem itens da ficha tecnica sem saldo em estoque para concretizar a venda.\r\n" + msg.Trim();
                         MessageBox.Show(msg, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         Quantidade.Focus();
                         Quantidade.Value = decimal.Zero;
                         (bsItens.Current as TRegistro_ItensCondicional).Quantidade = Quantidade.Value;
                         return;
                     }
                 }
             }
         }
         bsItens.ResetCurrentItem();
         if (bsItens.Current != null)
         {
             object obj = new CamadaDados.Estoque.Cadastros.TCD_CadProduto().BuscarEscalar(
                 new TpBusca[]
             {
                 new TpBusca()
                 {
                     vNM_Campo = "a.cd_produto",
                     vOperador = "=",
                     vVL_Busca = "'" + (bsItens.Current as TRegistro_ItensCondicional).Cd_produto.Trim() + "'"
                 }
             }, "a.id_caracteristicaH");
             if (obj == null ? false : !string.IsNullOrEmpty(obj.ToString()))
             {
                 using (Proc_Commoditties.TFGradeProduto fGrade = new Proc_Commoditties.TFGradeProduto())
                 {
                     fGrade.pId_caracteristica = obj.ToString();
                     fGrade.pCd_empresa        = cd_empresa.Text;
                     fGrade.pCd_produto        = (bsItens.Current as TRegistro_ItensCondicional).Cd_produto;
                     fGrade.pDs_produto        = (bsItens.Current as TRegistro_ItensCondicional).Ds_produto;
                     fGrade.pQuantidade        = (bsItens.Current as TRegistro_ItensCondicional).Quantidade;
                     fGrade.pTp_movimento      = "S";
                     if (fGrade.ShowDialog() == DialogResult.OK)
                     {
                         fGrade.lGrade.ForEach(p => (bsItens.Current as TRegistro_ItensCondicional).lGrade.Add(p));
                         Quantidade.Value   = fGrade.lGrade.Sum(p => p.Vl_mov);
                         Quantidade.Enabled = false;
                     }
                     else
                     {
                         MessageBox.Show("Obrigatório informar grade.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         bsItens.RemoveCurrent();
                     }
                 }
             }
         }
         TotalizarVenda();
         if (!cd_produto.Focused)
         {
             vl_unit.Focus();
         }
         bsItens_PositionChanged(this, new EventArgs());
     }
 }
コード例 #5
0
        private void bbAjustarGrade_Click(object sender, EventArgs e)
        {
            if (bsSintetico.Current != null)
            {
                if (new CamadaDados.Estoque.Cadastros.TCD_CadProduto().BuscarEscalar(
                        new TpBusca[]
                {
                    new TpBusca()
                    {
                        vNM_Campo = "a.cd_produto",
                        vOperador = "=",
                        vVL_Busca = "'" + (bsSintetico.Current as DataRowView)["cd_produto"].ToString().Trim() + "'"
                    },
                    new TpBusca()
                    {
                        vNM_Campo = "a.id_caracteristicaH",
                        vOperador = "is not",
                        vVL_Busca = "null"
                    }
                }, "1") != null)
                {
                    //Buscar lançamentos de estoque que não estejam amarrados a grade
                    TList_RegLanEstoque lEst = new TCD_LanEstoque().Select(
                        new TpBusca[]
                    {
                        new TpBusca()
                        {
                            vNM_Campo = "isnull(a.st_registro, 'A')",
                            vOperador = "<>",
                            vVL_Busca = "'C'"
                        },
                        new TpBusca()
                        {
                            vNM_Campo = "a.cd_produto",
                            vOperador = "=",
                            vVL_Busca = "'" + (bsSintetico.Current as DataRowView)["cd_produto"].ToString().Trim() + "'"
                        }, new TpBusca()
                        {
                            vOperador = " not Exists",
                            vVL_Busca = "( select 1 from TB_EST_GradeEstoque x where x.Id_LanctoEstoque = a.Id_LanctoEstoque   )"
                        }
                    }, 0, string.Empty, string.Empty, string.Empty);
                    if (lEst.Count > 0)
                    {
                        lEst.ForEach(x =>
                        {
                            using (Proc_Commoditties.TFGradeProduto fGrade = new Proc_Commoditties.TFGradeProduto())
                            {
                                CamadaDados.Estoque.Cadastros.TRegistro_CadProduto prod = new CamadaDados.Estoque.Cadastros.TRegistro_CadProduto();
                                prod = CamadaNegocio.Estoque.Cadastros.TCN_CadProduto.Busca_Produto_Codigo((bsSintetico.Current as DataRowView)["cd_produto"].ToString(), null);

                                fGrade.pId_caracteristica = prod.Id_caracteristicaH.ToString();
                                fGrade.pCd_empresa        = (bsSintetico.Current as DataRowView)["cd_empresa"].ToString();
                                fGrade.pCd_produto        = (bsSintetico.Current as DataRowView)["cd_produto"].ToString();
                                fGrade.pDs_produto        = (bsSintetico.Current as DataRowView)["ds_produto"].ToString();
                                fGrade.pTp_movimento      = x.Tp_movimento;
                                fGrade.pQuantidade        = x.Tp_movimento.ToString().Trim().ToUpper().Equals("E") ? x.Qtd_entrada : x.Qtd_saida;
                                if (fGrade.ShowDialog() == DialogResult.OK)
                                {
                                    fGrade.lGrade.ForEach(p =>
                                    {
                                        TCN_GradeEstoque.Gravar(new TRegistro_GradeEstoque()
                                        {
                                            Cd_empresa        = (bsSintetico.Current as DataRowView)["cd_empresa"].ToString(),
                                            Cd_produto        = (bsSintetico.Current as DataRowView)["cd_produto"].ToString(),
                                            Id_lanctoestoque  = x.Id_lanctoestoque,
                                            Id_item           = p.Id_item,
                                            Id_caracteristica = p.Id_caracteristica,
                                            quantidade        = p.Vl_mov
                                        }, null);
                                    });
                                    bsSintetico_PositionChanged(this, new EventArgs());
                                }
                                else
                                {
                                    MessageBox.Show("Obrigatório informar grade.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    return;
                                }
                            }
                        });
                    }
                }
            }
        }