Esempio n. 1
0
        private bool BuscarItens()
        {
            if (!string.IsNullOrEmpty(cd_produto.Text))
            {
                string pCd_codbarra = cd_produto.Text;
                //Buscar lengt cd_produto
                CamadaDados.Diversos.TList_CadParamSys lParam =
                    CamadaNegocio.Diversos.TCN_CadParamSys.Busca("CD_PRODUTO",
                                                                 string.Empty,
                                                                 decimal.Zero,
                                                                 null);
                if (lParam.Count > 0)
                {
                    if (cd_produto.Text.Trim().Length < lParam[0].Tamanho)
                    {
                        cd_produto.Text = cd_produto.Text.Trim().PadLeft(Convert.ToInt32(lParam[0].Tamanho), '0');
                    }
                }
                //Buscar produto
                CamadaDados.Estoque.Cadastros.TList_CadProduto lProduto =
                    CamadaNegocio.Estoque.Cadastros.TCN_CadProduto.BuscarProdutoVendaRapida(cd_produto.Text,
                                                                                            pCd_codbarra,
                                                                                            null);

                if (lProduto.Count > 0)
                {
                    //Cria novo item
                    bsItens.AddNew();
                    (bsItens.Current as CamadaDados.PostoCombustivel.TRegistro_ItensOrdemServico).Cd_produto    = lProduto[0].CD_Produto;
                    (bsItens.Current as CamadaDados.PostoCombustivel.TRegistro_ItensOrdemServico).Ds_produto    = lProduto[0].DS_Produto;
                    (bsItens.Current as CamadaDados.PostoCombustivel.TRegistro_ItensOrdemServico).Cd_unidade    = lProduto[0].CD_Unidade;
                    (bsItens.Current as CamadaDados.PostoCombustivel.TRegistro_ItensOrdemServico).Cd_local      = lCfg[0].Cd_local;
                    (bsItens.Current as CamadaDados.PostoCombustivel.TRegistro_ItensOrdemServico).Sigla_unidade = lProduto[0].Sigla_unidade;
                    (bsItens.Current as CamadaDados.PostoCombustivel.TRegistro_ItensOrdemServico).Quantidade    = Quantidade.Value;
                    (bsItens.Current as CamadaDados.PostoCombustivel.TRegistro_ItensOrdemServico).Vl_unitario   = this.ConsultaPreco(lProduto[0].CD_Produto);
                    if ((bsItens.Current as CamadaDados.PostoCombustivel.TRegistro_ItensOrdemServico).Vl_unitario > decimal.Zero)
                    {
                        decimal SUBTOTAL =
                            Quantidade.Value * (bsItens.Current as CamadaDados.PostoCombustivel.TRegistro_ItensOrdemServico).Vl_unitario;
                        lblVlSubTotal.Text = SUBTOTAL.ToString();
                    }
                    vl_unitario.Enabled = vl_unitario.Value.Equals(decimal.Zero) ||
                                          CamadaNegocio.Diversos.TCN_Usuario_RegraEspecial.ValidaRegra(Utils.Parametros.pubLogin,
                                                                                                       "PERMITIR INFORMAR PREÇO VENDA",
                                                                                                       null);

                    bsItens.ResetCurrentItem();
                    bsItens_PositionChanged(this, new EventArgs());
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
Esempio n. 2
0
        private bool BuscarItens()
        {
            if (!string.IsNullOrEmpty(cd_item.Text))
            {
                string pCd_codbarra = cd_item.Text;
                //Buscar lengt cd_produto
                CamadaDados.Diversos.TList_CadParamSys lParam =
                    CamadaNegocio.Diversos.TCN_CadParamSys.Busca("CD_PRODUTO",
                                                                 string.Empty,
                                                                 decimal.Zero,
                                                                 null);
                if (lParam.Count > 0)
                {
                    if (cd_item.Text.Trim().Length < lParam[0].Tamanho)
                    {
                        cd_item.Text = cd_item.Text.Trim().PadLeft(Convert.ToInt32(lParam[0].Tamanho), '0');
                    }
                }
                //Buscar produto
                CamadaDados.Estoque.Cadastros.TList_CadProduto lProduto =
                    CamadaNegocio.Estoque.Cadastros.TCN_CadProduto.BuscarProdutoVendaRapida(cd_item.Text,
                                                                                            pCd_codbarra,
                                                                                            null);

                if (lProduto.Count > 0)
                {
                    //Cria novo item
                    bsFichaTec.AddNew();
                    (bsFichaTec.Current as CamadaDados.Faturamento.Locacao.TRegistro_FichaTecItensLoc).Cd_item    = lProduto[0].CD_Produto;
                    (bsFichaTec.Current as CamadaDados.Faturamento.Locacao.TRegistro_FichaTecItensLoc).Ds_item    = lProduto[0].DS_Produto;
                    (bsFichaTec.Current as CamadaDados.Faturamento.Locacao.TRegistro_FichaTecItensLoc).Sigla_item = lProduto[0].Sigla_unidade;
                    (bsFichaTec.Current as CamadaDados.Faturamento.Locacao.TRegistro_FichaTecItensLoc).Quantidade = qtd_item.Value;
                    (bsFichaTec.Current as CamadaDados.Faturamento.Locacao.TRegistro_FichaTecItensLoc).Vl_custo   = CamadaNegocio.Estoque.TCN_LanEstoque.Valor_Medio_Est_Produto(rItem.Cd_empresa, lProduto[0].CD_Produto, null);
                    bsItens.ResetCurrentItem();
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
Esempio n. 3
0
        private void gProduto_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            if (gProduto.Columns[e.ColumnIndex].SortMode == DataGridViewColumnSortMode.NotSortable)
            {
                return;
            }
            if (bsProduto.Count < 1)
            {
                return;
            }
            PropertyDescriptorCollection lP = TypeDescriptor.GetProperties(new CamadaDados.Estoque.Cadastros.TRegistro_CadProduto());

            CamadaDados.Estoque.Cadastros.TList_CadProduto lComparer;
            SortOrder direcao = SortOrder.None;

            if ((gProduto.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == SortOrder.None) ||
                (gProduto.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == SortOrder.Descending))
            {
                lComparer = new CamadaDados.Estoque.Cadastros.TList_CadProduto(lP.Find(gProduto.Columns[e.ColumnIndex].DataPropertyName, true), SortOrder.Ascending);
                foreach (DataGridViewColumn c in gProduto.Columns)
                {
                    c.HeaderCell.SortGlyphDirection = SortOrder.None;
                }
                direcao = SortOrder.Ascending;
            }
            else
            {
                lComparer = new CamadaDados.Estoque.Cadastros.TList_CadProduto(lP.Find(gProduto.Columns[e.ColumnIndex].DataPropertyName, true), SortOrder.Descending);
                foreach (DataGridViewColumn c in gProduto.Columns)
                {
                    c.HeaderCell.SortGlyphDirection = SortOrder.None;
                }
                direcao = SortOrder.Descending;
            }
            (bsProduto.List as CamadaDados.Estoque.Cadastros.TList_CadProduto).Sort(lComparer);
            bsProduto.ResetBindings(false);
            gProduto.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection = direcao;
        }
Esempio n. 4
0
        private bool BuscarItens()
        {
            if (!string.IsNullOrEmpty(cd_produto.Text))
            {
                string pCd_codbarra = cd_produto.Text;
                //Buscar lengt cd_produto
                CamadaDados.Diversos.TList_CadParamSys lParam =
                    CamadaNegocio.Diversos.TCN_CadParamSys.Busca("CD_PRODUTO",
                                                                 string.Empty,
                                                                 decimal.Zero,
                                                                 null);
                if (lParam.Count > 0)
                {
                    if (cd_produto.Text.Trim().Length < lParam[0].Tamanho)
                    {
                        cd_produto.Text = cd_produto.Text.Trim().PadLeft(Convert.ToInt32(lParam[0].Tamanho), '0');
                    }
                }
                //Buscar produto
                CamadaDados.Estoque.Cadastros.TList_CadProduto lProduto =
                    CamadaNegocio.Estoque.Cadastros.TCN_CadProduto.BuscarProdutoVendaRapida(cd_produto.Text,
                                                                                            pCd_codbarra,
                                                                                            null);

                if (lProduto.Count > 0)
                {
                    if (lCfg[0].St_movestoquebool)
                    {
                        if ((!new CamadaDados.Estoque.Cadastros.TCD_CadProduto().ItemServico(lProduto[0].CD_Produto)) &&
                            (!new CamadaDados.Estoque.Cadastros.TCD_CadProduto().ProdutoConsumoInterno(lProduto[0].CD_Produto)))
                        {
                            if (!new CamadaDados.Estoque.Cadastros.TCD_CadProduto().ProdutoComposto(lProduto[0].CD_Produto))
                            {
                                decimal saldo = BuscarSaldoLocal(lProduto[0].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.........: " + lProduto[0].CD_Produto.Trim() + "-" + lProduto[0].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);
                                    return(false);
                                }
                            }
                            else
                            {
                                //Buscar ficha tecnica produto composto
                                CamadaDados.Estoque.Cadastros.TList_FichaTecProduto lFicha =
                                    CamadaNegocio.Estoque.Cadastros.TCN_FichaTecProduto.Buscar(lProduto[0].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);
                                    return(false);
                                }
                            }
                        }
                    }
                    //Cria novo item
                    bsItens.AddNew();
                    (bsItens.Current as TRegistro_ItensCondicional).Cd_produto            = lProduto[0].CD_Produto;
                    (bsItens.Current as TRegistro_ItensCondicional).Ds_produto            = lProduto[0].DS_Produto;
                    (bsItens.Current as TRegistro_ItensCondicional).Cd_condfiscal_produto = lProduto[0].CD_CondFiscal_Produto;
                    (bsItens.Current as TRegistro_ItensCondicional).Cd_unidade            = lProduto[0].CD_Unidade;
                    (bsItens.Current as TRegistro_ItensCondicional).Sigla_unidade         = lProduto[0].Sigla_unidade;
                    (bsItens.Current as TRegistro_ItensCondicional).Cd_local    = lCfg[0].Cd_local;
                    (bsItens.Current as TRegistro_ItensCondicional).Quantidade  = Quantidade.Value;
                    (bsItens.Current as TRegistro_ItensCondicional).Vl_unitario = ConsultaPreco(lProduto[0].CD_Produto);
                    vl_unit.Enabled = vl_unit.Value.Equals(decimal.Zero) ||
                                      CamadaNegocio.Diversos.TCN_Usuario_RegraEspecial.ValidaRegra(Utils.Parametros.pubLogin,
                                                                                                   "PERMITIR INFORMAR PREÇO VENDA",
                                                                                                   null);
                    bsItens.ResetCurrentItem();
                    bsItens_PositionChanged(this, new EventArgs());
                    TotalizarVenda();
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
Esempio n. 5
0
        private bool BuscarItens()
        {
            if (!string.IsNullOrEmpty(CD_Produto.Text))
            {
                string pCd_codbarra = CD_Produto.Text;
                //Buscar lengt cd_produto
                CamadaDados.Diversos.TList_CadParamSys lParam =
                    CamadaNegocio.Diversos.TCN_CadParamSys.Busca("CD_PRODUTO",
                                                                 string.Empty,
                                                                 decimal.Zero,
                                                                 null);
                if (lParam.Count > 0)
                {
                    if (CD_Produto.Text.Trim().Length < lParam[0].Tamanho)
                    {
                        CD_Produto.Text = CD_Produto.Text.Trim().PadLeft(Convert.ToInt32(lParam[0].Tamanho), '0');
                    }
                }
                //Buscar produto
                CamadaDados.Estoque.Cadastros.TList_CadProduto lProduto =
                    CamadaNegocio.Estoque.Cadastros.TCN_CadProduto.BuscarProdutoVendaRapida(CD_Produto.Text,
                                                                                            pCd_codbarra,
                                                                                            null);

                if (lProduto.Count > 0)
                {
                    //Cria novo item
                    bsItensFat.AddNew();
                    (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Cd_produto       = lProduto[0].CD_Produto;
                    (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Ds_produto       = lProduto[0].DS_Produto;
                    (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Cd_unidade_valor = lProduto[0].CD_Unidade;
                    (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Ds_unidade_valor = lProduto[0].DS_Unidade;
                    (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Sg_unidade_valor = lProduto[0].Sigla_unidade;
                    (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Cd_unidade_est   = lProduto[0].CD_Unidade;
                    (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Ds_unidade_est   = lProduto[0].DS_Unidade;
                    (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Sg_unidade_est   = lProduto[0].Sigla_unidade;
                    (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Cd_grupo         = lProduto[0].CD_Grupo;
                    (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).ncm = lProduto[0].Ncm;
                    (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Cd_condfiscal_produto = lProduto[0].CD_CondFiscal_Produto;
                    (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Quantidade            = Quantidade.Value;
                    (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Vl_unitario           = this.ConsultaPreco(lProduto[0].CD_Produto);
                    if ((bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Vl_unitario > decimal.Zero)
                    {
                        (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Vl_subtotal =
                            Quantidade.Value * (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Vl_unitario;
                    }
                    //Verificar se usuario´pode informar preço de Venda
                    Vl_Unitario.Enabled = (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Vl_unitario.Equals(decimal.Zero) ||
                                          CamadaNegocio.Diversos.TCN_Usuario_RegraEspecial.ValidaRegra(Utils.Parametros.pubLogin,
                                                                                                       "PERMITIR INFORMAR PREÇO VENDA",
                                                                                                       null);
                    bsItensFat.ResetCurrentItem();
                    bsItensFat_PositionChanged(this, new EventArgs());
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
Esempio n. 6
0
        private void BuscarItens()
        {
            if (!string.IsNullOrEmpty(cd_produto.Text))
            {
                if (Quantidade.Value.Equals(decimal.Zero))
                {
                    MessageBox.Show("Obrigatorio informar quantidade.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                string pCd_codbarra = cd_produto.Text;
                //Buscar lengt cd_produto
                CamadaDados.Diversos.TList_CadParamSys lParam =
                    CamadaNegocio.Diversos.TCN_CadParamSys.Busca("CD_PRODUTO",
                                                                 string.Empty,
                                                                 decimal.Zero,
                                                                 null);
                if (lParam.Count > 0)
                {
                    if (cd_produto.Text.Trim().Length < lParam[0].Tamanho)
                    {
                        cd_produto.Text = cd_produto.Text.Trim().PadLeft(Convert.ToInt32(lParam[0].Tamanho), '0');
                    }
                }
                //Buscar produto
                CamadaDados.Estoque.Cadastros.TList_CadProduto lProduto =
                    CamadaNegocio.Estoque.Cadastros.TCN_CadProduto.BuscarProdutoVendaRapida(cd_produto.Text, pCd_codbarra, null);

                if (lProduto.Count > 0)
                {
                    if ((!new CamadaDados.Estoque.Cadastros.TCD_CadProduto().ItemServico(lProduto[0].CD_Produto)) &&
                        (!new CamadaDados.Estoque.Cadastros.TCD_CadProduto().ProdutoConsumoInterno(lProduto[0].CD_Produto)))
                    {
                        decimal saldo = BuscarSaldoLocal(lProduto[0].CD_Produto);
                        if (saldo < 1)
                        {
                            MessageBox.Show("Não existe saldo disponivel no estoque.\r\n" +
                                            "Empresa.........: " + Cd_empresa.Trim() + "\r\n" +
                                            "Produto.........: " + lProduto[0].CD_Produto.Trim() + "-" + lProduto[0].DS_Produto.Trim() + "\r\n" +
                                            "Local Arm.......: " + Cd_local + "\r\n" +
                                            "Saldo Disponivel: " + saldo.ToString("N3", new System.Globalization.CultureInfo("pt-BR", true)),
                                            "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                    }
                    //Buscar preco venda produto
                    decimal vl_unit = ConsultaPreco(lProduto[0].CD_Produto);
                    if (vl_unit <= decimal.Zero)
                    {
                        using (Componentes.TFQuantidade fValor = new Componentes.TFQuantidade())
                        {
                            fValor.Casas_decimais = 2;
                            fValor.Ds_label       = "Valor Unitario";
                            if (fValor.ShowDialog() == DialogResult.OK)
                            {
                                vl_unit = fValor.Quantidade;
                            }
                        }
                    }
                    if (vl_unit > decimal.Zero)
                    {
                        try
                        {
                            CamadaNegocio.PostoCombustivel.TCN_ItensVendaMesaConv.Gravar(
                                new CamadaDados.PostoCombustivel.TRegistro_ItensVendaMesaConv()
                            {
                                Cd_empresa  = Cd_empresa,
                                Cd_local    = Cd_local,
                                Cd_produto  = lProduto[0].CD_Produto,
                                Id_vendastr = (bsVenda.Current as CamadaDados.PostoCombustivel.TRegistro_VendaMesaConv).Id_vendastr,
                                Quantidade  = Quantidade.Value,
                                Vl_unitario = vl_unit
                            }, null);
                            //Buscar Itens Venda
                            bsVenda_PositionChanged(this, new EventArgs());
                            //Quantidade Padrao
                            Quantidade.Value = 1;
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            cd_produto.Clear();
                            cd_produto.Focus();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Obrigatorio informar preço venda item.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        cd_produto.Clear();
                        cd_produto.Focus();
                    }
                }
            }
        }
Esempio n. 7
0
        private void BuscarItens()
        {
            if (!string.IsNullOrEmpty(cd_produto.Text))
            {
                if (Quantidade.Value.Equals(decimal.Zero))
                {
                    MessageBox.Show("Obrigatorio informar quantidade.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                string pCd_codbarra = cd_produto.Text;
                //Buscar lengt cd_produto
                CamadaDados.Diversos.TList_CadParamSys lParam =
                    CamadaNegocio.Diversos.TCN_CadParamSys.Busca("CD_PRODUTO",
                                                                 string.Empty,
                                                                 decimal.Zero,
                                                                 null);
                if (lParam.Count > 0)
                {
                    if (cd_produto.Text.Trim().Length < lParam[0].Tamanho)
                    {
                        cd_produto.Text = cd_produto.Text.Trim().PadLeft(Convert.ToInt32(lParam[0].Tamanho), '0');
                    }
                }
                //Buscar produto
                CamadaDados.Estoque.Cadastros.TList_CadProduto lProduto =
                    CamadaNegocio.Estoque.Cadastros.TCN_CadProduto.BuscarProdutoVendaRapida(cd_produto.Text, pCd_codbarra, null);

                if (lProduto.Count > 0)
                {
                    if (new CamadaDados.Faturamento.Cadastros.TCD_CFGCupomFiscal().BuscarEscalar(
                            new Utils.TpBusca[]
                    {
                        new Utils.TpBusca()
                        {
                            vNM_Campo = "a.cd_empresa",
                            vOperador = "=",
                            vVL_Busca = "'" + Cd_empresa.Trim() + "'"
                        },
                        new Utils.TpBusca()
                        {
                            vNM_Campo = "isnull(a.st_movestoque, 'N')",
                            vOperador = "=",
                            vVL_Busca = "'S'"
                        }
                    }, "1") != null)
                    {
                        if ((!new CamadaDados.Estoque.Cadastros.TCD_CadProduto().ItemServico(lProduto[0].CD_Produto)) &&
                            (!new CamadaDados.Estoque.Cadastros.TCD_CadProduto().ProdutoConsumoInterno(lProduto[0].CD_Produto)))
                        {
                            if (!new CamadaDados.Estoque.Cadastros.TCD_CadProduto().ProdutoComposto(lProduto[0].CD_Produto))
                            {
                                decimal saldo = this.BuscarSaldoLocal(lProduto[0].CD_Produto);
                                if (saldo < 1)
                                {
                                    MessageBox.Show("Não existe saldo disponivel no estoque.\r\n" +
                                                    "Empresa.........: " + Cd_empresa.Trim() + "\r\n" +
                                                    "Produto.........: " + lProduto[0].CD_Produto.Trim() + "-" + lProduto[0].DS_Produto.Trim() + "\r\n" +
                                                    "Local Arm.......: " + Cd_local + "\r\n" +
                                                    "Saldo Disponivel: " + saldo.ToString("N3", new System.Globalization.CultureInfo("pt-BR", true)),
                                                    "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    return;
                                }
                            }
                            else
                            {
                                //Buscar ficha tecnica produto composto
                                CamadaDados.Estoque.Cadastros.TList_FichaTecProduto lFicha =
                                    CamadaNegocio.Estoque.Cadastros.TCN_FichaTecProduto.Buscar(lProduto[0].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.Trim(), p.Cd_item, Cd_local.Trim(), 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);
                                    return;
                                }
                            }
                        }
                    }
                    //Buscar preco venda produto
                    decimal vl_unit = this.ConsultaPreco(lProduto[0].CD_Produto);
                    if (vl_unit <= decimal.Zero)
                    {
                        using (Componentes.TFQuantidade fValor = new Componentes.TFQuantidade())
                        {
                            fValor.Casas_decimais = 2;
                            fValor.Ds_label       = "Valor Unitario";
                            if (fValor.ShowDialog() == DialogResult.OK)
                            {
                                vl_unit = fValor.Quantidade;
                            }
                        }
                    }
                    if (vl_unit > decimal.Zero)
                    {
                        try
                        {
                            CamadaNegocio.PostoCombustivel.TCN_ItensVendaMesaConv.Gravar(
                                new CamadaDados.PostoCombustivel.TRegistro_ItensVendaMesaConv()
                            {
                                Cd_empresa  = Cd_empresa,
                                Cd_local    = Cd_local,
                                Cd_produto  = lProduto[0].CD_Produto,
                                Id_vendastr = Id_venda,
                                Quantidade  = Quantidade.Value,
                                Vl_unitario = vl_unit
                            }, null);
                            //Buscar Itens Venda
                            bsItensVenda.DataSource = CamadaNegocio.PostoCombustivel.TCN_ItensVendaMesaConv.Buscar(Id_venda,
                                                                                                                   Cd_empresa,
                                                                                                                   string.Empty,
                                                                                                                   string.Empty,
                                                                                                                   false,
                                                                                                                   null);
                            //Totalizar Venda
                            this.TotalizarVenda();
                            //Quantidade Padrao
                            Quantidade.Value = 1;
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            cd_produto.Clear();
                            cd_produto.Focus();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Obrigatorio informar preço venda item.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        cd_produto.Clear();
                        cd_produto.Focus();
                    }
                }
            }
        }