Example #1
0
 private decimal ConsultaPreco(string vCd_produto)
 {
     rProg = null;
     //Vefiricar se existe programacao especial de venda
     rProg = CamadaNegocio.Faturamento.ProgEspecialVenda.TCN_ProgEspecialVenda.BuscarProg((bsOrcamento.Current as CamadaDados.Faturamento.Orcamento.TRegistro_Orcamento).Cd_empresa,
                                                                                          (bsOrcamento.Current as CamadaDados.Faturamento.Orcamento.TRegistro_Orcamento).Cd_clifor,
                                                                                          vCd_produto,
                                                                                          string.Empty,
                                                                                          null);
     if (rProg != null)
     {
         if (rProg.Tp_preco.Trim().ToUpper().Equals("C"))//Preco de Custo
         {
             return(CamadaNegocio.Estoque.TCN_LanEstoque.BuscarVlEstoqueUltimaCompra((bsOrcamento.Current as CamadaDados.Faturamento.Orcamento.TRegistro_Orcamento).Cd_empresa,
                                                                                     vCd_produto,
                                                                                     null));
         }
     }
     if (!string.IsNullOrEmpty((bsOrcamento.Current as CamadaDados.Faturamento.Orcamento.TRegistro_Orcamento).Cd_tabelapreco))
     {
         return(CamadaNegocio.Estoque.Cadastros.TCN_LanPrecoItem.Busca_ConsultaPreco((bsOrcamento.Current as CamadaDados.Faturamento.Orcamento.TRegistro_Orcamento).Cd_empresa,
                                                                                     vCd_produto,
                                                                                     (bsOrcamento.Current as CamadaDados.Faturamento.Orcamento.TRegistro_Orcamento).Cd_tabelapreco,
                                                                                     null));
     }
     else
     {
         return(decimal.Zero);
     }
 }
Example #2
0
 private void TFServicosSalao_Load(object sender, EventArgs e)
 {
     pnl_Pecas.set_FormatZero();
     this.Icon = Utils.ResourcesUtils.TecnoAliance_ICO;
     if (rpeca == null)
     {
         BS_Pecas.AddNew();
         (BS_Pecas.Current as CamadaDados.Servicos.TRegistro_LanServicosPecas).Quantidade = 1;
     }
     else
     {
         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;
         if (!string.IsNullOrEmpty(Cd_clifor))
         {
             rProg = CamadaNegocio.Faturamento.ProgEspecialVenda.TCN_ProgEspecialVenda.BuscarProg(CD_Empresa,
                                                                                                  Cd_clifor,
                                                                                                  CD_Produto.Text,
                                                                                                  CD_TabelaPreco,
                                                                                                  null);
         }
     }
 }
Example #3
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);
     }
 }
Example #4
0
 private decimal ConsultaPreco(string vCd_produto)
 {
     rProg = null;
     if ((!string.IsNullOrEmpty(CD_Empresa.Text)) &&
         (!string.IsNullOrEmpty(vCd_produto)))
     {
         if (!string.IsNullOrEmpty(cd_clifor.Text))
         {
             //Vefiricar se existe programacao especial de venda
             rProg = CamadaNegocio.Faturamento.ProgEspecialVenda.TCN_ProgEspecialVenda.BuscarProg(CD_Empresa.Text,
                                                                                                  cd_clifor.Text,
                                                                                                  vCd_produto,
                                                                                                  CD_TabelaPreco.Text,
                                                                                                  null);
             if (rProg != null)
             {
                 if (rProg.Tp_preco.Trim().ToUpper().Equals("C"))//Preco de Custo
                 {
                     return(CamadaNegocio.Estoque.TCN_LanEstoque.BuscarVlEstoqueUltimaCompra(CD_Empresa.Text,
                                                                                             vCd_produto,
                                                                                             null));
                 }
             }
         }
         if (!string.IsNullOrEmpty(CD_TabelaPreco.Text))
         {
             return(CamadaNegocio.Estoque.Cadastros.TCN_LanPrecoItem.Busca_ConsultaPreco(CD_Empresa.Text,
                                                                                         vCd_produto,
                                                                                         CD_TabelaPreco.Text,
                                                                                         null));
         }
         else
         {
             return(decimal.Zero);
         }
     }
     else
     {
         return(decimal.Zero);
     }
 }
Example #5
0
 private decimal BuscarPreco()
 {
     //Verificar se existe programacao especial de venda
     rProg = CamadaNegocio.Faturamento.ProgEspecialVenda.TCN_ProgEspecialVenda.BuscarProg(rOrc.Cd_empresa,
                                                                                          rOrc.Cd_clifor,
                                                                                          cd_produto.Text,
                                                                                          rOrc.Cd_tabelapreco,
                                                                                          null);
     if (rProg != null)
     {
         if (rProg.Tp_preco.Trim().ToUpper().Equals("C"))//Preco de Custo
         {
             return(CamadaNegocio.Estoque.TCN_LanEstoque.BuscarVlEstoqueUltimaCompra(rOrc.Cd_empresa,
                                                                                     (bsItens.Current as TRegistro_Orcamento_Item).Cd_produto, null));
         }
         else
         {
             return(CamadaNegocio.Estoque.Cadastros.TCN_LanPrecoItem.Busca_ConsultaPreco(rOrc.Cd_empresa,
                                                                                         (bsItens.Current as TRegistro_Orcamento_Item).Cd_produto,
                                                                                         rOrc.Cd_tabelapreco,
                                                                                         null));
         }
     }
     else if ((!string.IsNullOrEmpty((bsItens.Current as TRegistro_Orcamento_Item).Cd_produto)) &&
              (!string.IsNullOrEmpty(rOrc.Cd_empresa)) &&
              (!string.IsNullOrEmpty(rOrc.Cd_tabelapreco)))
     {
         return(CamadaNegocio.Estoque.Cadastros.TCN_LanPrecoItem.Busca_ConsultaPreco(rOrc.Cd_empresa,
                                                                                     (bsItens.Current as TRegistro_Orcamento_Item).Cd_produto,
                                                                                     rOrc.Cd_tabelapreco,
                                                                                     null));
     }
     else
     {
         return(decimal.Zero);
     }
 }
Example #6
0
        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;
            }
        }
Example #7
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);
            }
        }
Example #8
0
        public static TRegistro_Promocao_X_Grupo BuscarPromocaoGrupo(string Cd_empresa,
                                                                     string Cd_produto,
                                                                     string Cd_grupo,
                                                                     CamadaDados.Faturamento.ProgEspecialVenda.TRegistro_ProgEspecialVenda rProg,
                                                                     decimal Vl_total,
                                                                     BancoDados.TObjetoBanco banco)
        {
            if ((!string.IsNullOrEmpty(Cd_grupo)) && (!string.IsNullOrEmpty(Cd_empresa)))
            {
                Utils.TpBusca[] filtro = new Utils.TpBusca[4];

                if (Cd_grupo.Trim().Length.Equals(2))
                {
                    filtro[0].vNM_Campo = string.Empty;
                    filtro[0].vOperador = string.Empty;
                    filtro[0].vVL_Busca = "(a.cd_grupo = '" + Cd_grupo.Trim() + "') or (a.cd_produto = '" + Cd_produto.Trim() + "'";
                }
                else if (Cd_grupo.Trim().Length.Equals(4))
                {
                    filtro[0].vNM_Campo = string.Empty;
                    filtro[0].vOperador = string.Empty;
                    filtro[0].vVL_Busca = "(a.cd_grupo = '" + Cd_grupo.Trim() + "') or " +
                                          "(a.cd_grupo = '" + Cd_grupo.Trim().Substring(0, 2) + "') or " +
                                          "(a.cd_produto = '" + Cd_produto.Trim() + "')";
                }
                else if (Cd_grupo.Trim().Length.Equals(6))
                {
                    filtro[0].vNM_Campo = string.Empty;
                    filtro[0].vOperador = string.Empty;
                    filtro[0].vVL_Busca = "(a.cd_grupo = '" + Cd_grupo.Trim() + "') or " +
                                          "(a.cd_grupo = '" + Cd_grupo.Trim().Substring(0, 2) + "') or " +
                                          "(a.cd_grupo = '" + Cd_grupo.Trim().Substring(0, 4) + "') or " +
                                          "(a.cd_produto = '" + Cd_produto.Trim() + "')";
                }
                else if (Cd_grupo.Trim().Length.Equals(8))
                {
                    filtro[0].vNM_Campo = string.Empty;
                    filtro[0].vOperador = string.Empty;
                    filtro[0].vVL_Busca = "(a.cd_grupo = '" + Cd_grupo.Trim() + "') or " +
                                          "(a.cd_grupo = '" + Cd_grupo.Trim().Substring(0, 2) + "') or " +
                                          "(a.cd_grupo = '" + Cd_grupo.Trim().Substring(0, 4) + "') or " +
                                          "(a.cd_grupo = '" + Cd_grupo.Trim().Substring(0, 6) + "') or " +
                                          "(a.cd_produto = '" + Cd_produto.Trim() + "')";
                }
                //Empresa
                filtro[1].vNM_Campo = "b.cd_empresa";
                filtro[1].vOperador = "=";
                filtro[1].vVL_Busca = "'" + Cd_empresa.Trim() + "'";
                //Status
                filtro[2].vNM_Campo = "isnull(b.st_registro, 'A')";
                filtro[2].vOperador = "<>";
                filtro[2].vVL_Busca = "'F'";
                //Vigente
                filtro[3].vNM_Campo = "CONVERT(DATETIME,FLOOR(CONVERT(NUMERIC(30,10),getdate())))";
                filtro[3].vOperador = "between";
                filtro[3].vVL_Busca = "CONVERT(DATETIME,FLOOR(CONVERT(NUMERIC(30,10), b.dt_ini))) and CONVERT(DATETIME,FLOOR(CONVERT(NUMERIC(30,10), b.dt_fin)))";

                TList_Promocao_X_Grupo lGrupo = new TCD_Promocao_X_Grupo(banco).Select(filtro, 1, string.Empty, "a.cd_produto desc, a.cd_grupo desc");
                if (lGrupo.Count > 0)
                {
                    if (rProg != null)
                    {
                        if ((lGrupo[0].Tp_promocao.ToUpper().Equals("V") && rProg.Tp_valor.ToUpper().Equals("V")) ||
                            (lGrupo[0].Tp_promocao.ToUpper().Equals("P") && rProg.Tp_valor.ToUpper().Equals("P")))
                        {
                            if (lGrupo[0].Vl_promocao > rProg.Valor)
                            {
                                return(lGrupo[0]);
                            }
                            else
                            {
                                return(null);
                            }
                        }
                        else if ((lGrupo[0].Tp_promocao.ToUpper().Equals("P") && rProg.Tp_valor.ToUpper().Equals("V")))
                        {
                            if ((Vl_total * (lGrupo[0].Vl_promocao / 100) > rProg.Valor))
                            {
                                return(lGrupo[0]);
                            }
                            else
                            {
                                return(null);
                            }
                        }
                        else if ((lGrupo[0].Tp_promocao.ToUpper().Equals("P") && rProg.Tp_valor.ToUpper().Equals("V")))
                        {
                            if ((lGrupo[0].Vl_promocao > (Vl_total * (rProg.Valor / 100))))
                            {
                                return(lGrupo[0]);
                            }
                            else
                            {
                                return(null);
                            }
                        }
                        else
                        {
                            return(lGrupo[0]);
                        }
                    }
                    else
                    {
                        return(lGrupo[0]);
                    }
                }
                else
                {
                    return(null);
                }
            }
            else
            {
                return(null);
            }
        }
Example #9
0
 private void DuplicatarProg()
 {
     if (bsProgEspecialVenda.Current != null)
     {
         using (TFProgEspecialVenda fProg = new TFProgEspecialVenda())
         {
             CamadaDados.Faturamento.ProgEspecialVenda.TRegistro_ProgEspecialVenda rProg = new CamadaDados.Faturamento.ProgEspecialVenda.TRegistro_ProgEspecialVenda();
             rProg.Cd_clifor          = (bsProgEspecialVenda.Current as CamadaDados.Faturamento.ProgEspecialVenda.TRegistro_ProgEspecialVenda).Cd_clifor;
             rProg.Cd_empresa         = (bsProgEspecialVenda.Current as CamadaDados.Faturamento.ProgEspecialVenda.TRegistro_ProgEspecialVenda).Cd_empresa;
             rProg.Cd_grupo           = (bsProgEspecialVenda.Current as CamadaDados.Faturamento.ProgEspecialVenda.TRegistro_ProgEspecialVenda).Cd_grupo;
             rProg.Cd_produto         = (bsProgEspecialVenda.Current as CamadaDados.Faturamento.ProgEspecialVenda.TRegistro_ProgEspecialVenda).Cd_produto;
             rProg.Cd_tabelapreco     = (bsProgEspecialVenda.Current as CamadaDados.Faturamento.ProgEspecialVenda.TRegistro_ProgEspecialVenda).Cd_tabelapreco;
             rProg.Ds_categoriaclifor = (bsProgEspecialVenda.Current as CamadaDados.Faturamento.ProgEspecialVenda.TRegistro_ProgEspecialVenda).Ds_categoriaclifor;
             rProg.Ds_grupo           = (bsProgEspecialVenda.Current as CamadaDados.Faturamento.ProgEspecialVenda.TRegistro_ProgEspecialVenda).Ds_grupo;
             rProg.Ds_produto         = (bsProgEspecialVenda.Current as CamadaDados.Faturamento.ProgEspecialVenda.TRegistro_ProgEspecialVenda).Ds_produto;
             rProg.Ds_tabelapreco     = (bsProgEspecialVenda.Current as CamadaDados.Faturamento.ProgEspecialVenda.TRegistro_ProgEspecialVenda).Ds_tabelapreco;
             rProg.Id_categoriaclifor = (bsProgEspecialVenda.Current as CamadaDados.Faturamento.ProgEspecialVenda.TRegistro_ProgEspecialVenda).Id_categoriaclifor;
             rProg.Nm_clifor          = (bsProgEspecialVenda.Current as CamadaDados.Faturamento.ProgEspecialVenda.TRegistro_ProgEspecialVenda).Nm_clifor;
             rProg.Nm_empresa         = (bsProgEspecialVenda.Current as CamadaDados.Faturamento.ProgEspecialVenda.TRegistro_ProgEspecialVenda).Nm_empresa;
             rProg.Tp_acresdesc       = (bsProgEspecialVenda.Current as CamadaDados.Faturamento.ProgEspecialVenda.TRegistro_ProgEspecialVenda).Tp_acresdesc;
             rProg.Tp_preco           = (bsProgEspecialVenda.Current as CamadaDados.Faturamento.ProgEspecialVenda.TRegistro_ProgEspecialVenda).Tp_preco;
             rProg.Tp_valor           = (bsProgEspecialVenda.Current as CamadaDados.Faturamento.ProgEspecialVenda.TRegistro_ProgEspecialVenda).Tp_valor;
             rProg.Valor = (bsProgEspecialVenda.Current as CamadaDados.Faturamento.ProgEspecialVenda.TRegistro_ProgEspecialVenda).Valor;
             fProg.rProg = rProg;
             if (fProg.ShowDialog() == DialogResult.OK)
             {
                 try
                 {
                     CamadaNegocio.Faturamento.ProgEspecialVenda.TCN_ProgEspecialVenda.Gravar(fProg.rProg, null, null);
                     MessageBox.Show("Programação especial venda gravada com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     afterBusca();
                 }
                 catch (Exception ex)
                 { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
             }
         }
     }
     else
     {
         MessageBox.Show("Obrigatório selecionar programação especial venda para duplicar.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
 }