示例#1
0
        private void bb_contrato_destino_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(nr_contrato_origem.Text))
            {
                string vParamFixo =
                    // O Tipo De pedido tem que permitir transferência
                    "a.NR_contrato|<>|" + nr_contrato_origem.Text.Trim() + ";" +
                    "a.TP_Movimento|=|'" + TP_Movimento.Text.Trim() + "';" +
                    "isnull(a.st_registro, 'A')|=|'A';" +                 //Contrato Aberto
                    "a.cd_produto|=|'" + CD_Produto.Text + "';" +
                    //Usuario tem que ter acesso a empresa
                    "|EXISTS|(select 1 from Tb_div_usuario_X_empresa  x where x.cd_empresa = a.cd_empresa " +
                    "and ((x.login = '******') or " +
                    "(exists(select 1 from tb_div_usuario_x_grupos y " +
                    "       where y.logingrp = x.login and y.loginusr = '******'))))" +
                    //Usuario tem que ter acesso ao tipo de pedido
                    "|EXISTS|(select 1 from tb_div_usuario_x_cfgpedido x " +
                    "where x.cfg_pedido = cfgped.cfg_pedido " +
                    "and ((x.login = '******') or " +
                    "(exists(select 1 from tb_div_usuario_x_grupos y " +
                    "       where y.logingrp = x.login and y.loginusr = '******'))))";
                //Verificar se o usuario tem acesso a transferencia entre empresas diferentes
                if (!CamadaNegocio.Diversos.TCN_Usuario_RegraEspecial.ValidaRegra(Utils.Parametros.pubLogin.Trim(), "PERMITIR TRANSF. ENTRE CONTRATOS DE EMPRESAS DIFERENTES", null))
                {
                    vParamFixo += ";a.cd_empresa|=|'" + CD_Empresa.Text.Trim() + "'";
                }

                DataRowView linha = UtilPesquisa.BTN_BuscaContratoGRO(new Componentes.EditDefault[]
                                                                      { nr_contrato_destino,
                                                                        DT_Contrato_Destino,
                                                                        TP_Movimento_Destino,
                                                                        CD_Empresa_Destino,
                                                                        NM_Empresa_Destino,
                                                                        CD_Clifor_Destino,
                                                                        NM_Clifor_Destino,
                                                                        CPF_Destino,
                                                                        DS_Endereco_Destino,
                                                                        DS_Cidade_Destino,
                                                                        UF_Destino,
                                                                        CD_Produto_Destino,
                                                                        DS_Produto_Destino,
                                                                        VL_Unitario_Destino,
                                                                        QTD_Destino }, vParamFixo);
                if (linha != null)
                {
                    CD_Unidade_Destino_Est.Text = linha["cd_unid_produto"].ToString();
                    CD_Unidade_Destino_VL.Text  = linha["CD_Unidade"].ToString();
                    Unidade_Destino_Est.Text    = linha["sigla_unid_produto"].ToString();
                    Unidade_Destino_VL.Text     = linha["Sigla_Unidade"].ToString();
                    (BS_Transf_Destino.Current as CamadaDados.Graos.TRegistro_Transf_X_Contrato).Nr_pedido             = decimal.Parse(linha["nr_pedido"].ToString());
                    (BS_Transf_Destino.Current as CamadaDados.Graos.TRegistro_Transf_X_Contrato).Id_pedidoitem         = decimal.Parse(linha["id_pedidoitem"].ToString());
                    (BS_Transf_Destino.Current as CamadaDados.Graos.TRegistro_Transf_X_Contrato).Cd_condfiscal_produto = linha["cd_condfiscal_produto"].ToString();
                }

                if (string.IsNullOrEmpty(nr_contrato_destino.Text))
                {
                    nr_contrato_destino.Clear();
                    DT_Contrato_Destino.Clear();
                    TP_Movimento_Destino.Clear();
                    CD_Empresa_Destino.Clear();
                    NM_Empresa_Destino.Clear();
                    CD_Clifor_Destino.Clear();
                    NM_Clifor_Destino.Clear();
                    CPF_Destino.Clear();
                    DS_Endereco_Destino.Clear();
                    DS_Cidade_Destino.Clear();
                    UF_Destino.Clear();
                    CD_Produto_Destino.Clear();
                    DS_Produto_Destino.Clear();
                    VL_Unitario_Destino.Clear();

                    VL_Sub_Total_Destino.Value       = decimal.Zero;
                    VL_Unitario_Destino_Transf.Value = decimal.Zero;

                    QTD_Destino.Clear();
                    CD_Unidade_Destino_Est.Clear();
                    CD_Unidade_Destino_VL.Clear();
                    Unidade_Destino_Est.Clear();
                    Unidade_Destino_VL.Clear();
                }
                else
                {
                    Busca_Saldo_Contrato_Destino();

                    if (TCN_Transferencia.Confere_Saldo(nr_contrato_destino.Text, null))
                    {
                        QTD_Transferir.Value = (Convert.ToDecimal(QTD_Destino.Text) - Convert.ToDecimal(Saldo_Contrato_Destino.Text));
                        if (QTD_Transferir.Value > Convert.ToDecimal(Saldo_Contrato_Origem.Text))
                        {
                            QTD_Transferir.Value = Convert.ToDecimal(Saldo_Contrato_Origem.Text);
                        }
                    }

                    if ((!string.IsNullOrEmpty(VL_Unitario_Destino.Text)) && (VL_Unitario_Destino.Text.Trim() != "0"))
                    {
                        try
                        {
                            VL_Unitario_Destino_Transf.Value = Convert.ToDecimal(VL_Unitario_Destino.Text);

                            if (CD_Unidade_Destino_Est.Text.Trim() != CD_Unidade_Destino_VL.Text.Trim())
                            {
                                VL_Sub_Total_Destino.Value = CamadaNegocio.Estoque.Cadastros.TCN_CadConvUnidade.ConvertUnid(CD_Unidade_Destino_Est.Text, CD_Unidade_Destino_VL.Text, QTD_Transferir.Value * VL_Unitario_Destino_Transf.Value, 2, null);
                            }
                            else
                            {
                                VL_Sub_Total_Destino.Value = (QTD_Transferir.Value * VL_Unitario_Destino_Transf.Value);
                            }

                            if (CD_Unidade_Origem_Est.Text.Trim() != CD_Unidade_Origem_VL.Text.Trim())
                            {
                                VL_Sub_Total_Origem.Value = CamadaNegocio.Estoque.Cadastros.TCN_CadConvUnidade.ConvertUnid(CD_Unidade_Origem_Est.Text, CD_Unidade_Origem_VL.Text, QTD_Transferir.Value * VL_Unitario_Transf.Value, 2, null);
                            }
                            else
                            {
                                VL_Sub_Total_Origem.Value = (QTD_Transferir.Value * VL_Unitario_Transf.Value);
                            }
                        }
                        catch { }
                    }
                }
            }
            else
            {
                MessageBox.Show("É necessário informar o Contrato de Origem com seu respectivo Produto!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
            }
        }
示例#2
0
        private void bb_contrato_origem_Click(object sender, EventArgs e)
        {
            string vParamFixo =
                // O Tipo De pedido tem que permitir transferência
                "cfgped.ST_PermiteTransf|=|'S';" +
                "isnull(a.st_registro, 'A')|=|'A';" +                 //Contrato Aberto
                //Contrato de Deposito ou a Fixar
                "||isnull(cfgped.ST_Deposito, 'N') = 'S' or isnull(cfgped.ST_ValoresFixos, 'N') <> 'S';" +
                //Usuario tem que ter acesso a empresa
                "|EXISTS|(select 1 from Tb_div_usuario_X_empresa  x where x.cd_empresa = a.cd_empresa " +
                "and ((x.login = '******') or " +
                "(exists(select 1 from tb_div_usuario_x_grupos y " +
                "       where y.logingrp = x.login and y.loginusr = '******'))));" +
                //Usuario tem que ter acesso ao tipo de pedido
                "|EXISTS|(select 1 from tb_div_usuario_x_cfgpedido x " +
                "where x.cfg_pedido = a.cfg_pedido " +
                "and ((x.login = '******') or " +
                "(exists(select 1 from tb_div_usuario_x_grupos y " +
                "       where y.logingrp = x.login and y.loginusr = '******'))));" +
                // Configuracao fiscal de devolucao
                "|EXISTS|(select 1 from TB_FAT_CFG_PedFiscal x " +
                "where x.cfg_pedido = cfgped.cfg_pedido and x.TP_Fiscal = 'TF') ";
            DataRowView linha = UtilPesquisa.BTN_BuscaContratoGRO(new Componentes.EditDefault[]
                                                                  { nr_contrato_origem,
                                                                    dt_contrato_origem,
                                                                    TP_Movimento,
                                                                    CD_Empresa,
                                                                    NM_Empresa,
                                                                    CD_Clifor,
                                                                    NM_Clifor,
                                                                    CPF,
                                                                    DS_Endereco,
                                                                    DS_Cidade,
                                                                    UF,
                                                                    CD_Produto,
                                                                    DS_Produto,
                                                                    VL_Unitario,
                                                                    QTD_Origem }, vParamFixo);

            if (linha != null)
            {
                CD_Unidade_Origem_Est.Text = linha["cd_unid_produto"].ToString();
                CD_Unidade_Origem_VL.Text  = linha["CD_Unidade"].ToString();
                Unidade_Origem_Est.Text    = linha["sigla_unid_produto"].ToString();
                Unidade_Origem_VL.Text     = linha["Sigla_Unidade"].ToString();
                (BS_Transf_Origem.Current as CamadaDados.Graos.TRegistro_Transf_X_Contrato).Nr_pedido             = decimal.Parse(linha["nr_pedido"].ToString());
                (BS_Transf_Origem.Current as CamadaDados.Graos.TRegistro_Transf_X_Contrato).Id_pedidoitem         = decimal.Parse(linha["id_pedidoitem"].ToString());
                (BS_Transf_Origem.Current as CamadaDados.Graos.TRegistro_Transf_X_Contrato).Cd_condfiscal_produto = linha["cd_condfiscal_produto"].ToString();
            }

            if (string.IsNullOrEmpty(nr_contrato_origem.Text))
            {
                nr_contrato_origem.Clear();
                dt_contrato_origem.Clear();
                TP_Movimento.Clear();
                CD_Empresa.Clear();
                NM_Empresa.Clear();
                CD_Clifor.Clear();
                NM_Clifor.Clear();
                CPF.Clear();
                DS_Endereco.Clear();
                DS_Cidade.Clear();
                UF.Clear();
                CD_Produto.Clear();
                DS_Produto.Clear();
                VL_Unitario.Clear();
                VL_Sub_Total_Origem.Value = decimal.Zero;
                VL_Unitario_Transf.Value  = decimal.Zero;
                QTD_Transferir.Value      = decimal.Zero;
                QTD_Origem.Clear();
                CD_Unidade_Origem_Est.Clear();
                CD_Unidade_Origem_VL.Clear();
                Unidade_Origem_Est.Clear();
                Unidade_Origem_VL.Clear();
            }
            else
            {
                Busca_Saldo_Contrato_Origem();
                if (string.IsNullOrEmpty(Saldo_Contrato_Origem.Text) ? false : decimal.Parse(Saldo_Contrato_Origem.Text) > decimal.Zero)
                {
                    try
                    {
                        QTD_Transferir.Value = decimal.Parse(Saldo_Contrato_Origem.Text);
                    }
                    catch { }
                }
                else
                {
                    MessageBox.Show("Contrato origem não possui saldo disponivel para realizar transferência.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    nr_contrato_origem.Clear();
                    nr_contrato_origem.Focus();
                }

                if (string.IsNullOrEmpty(VL_Unitario.Text) ? false : decimal.Parse(VL_Unitario.Text) > decimal.Zero)
                {
                    try
                    {
                        VL_Unitario_Transf.Value = decimal.Parse(VL_Unitario.Text);

                        if (CD_Unidade_Origem_Est.Text.Trim() != CD_Unidade_Origem_VL.Text.Trim())
                        {
                            VL_Sub_Total_Origem.Value = CamadaNegocio.Estoque.Cadastros.TCN_CadConvUnidade.ConvertUnid(CD_Unidade_Origem_Est.Text, CD_Unidade_Origem_VL.Text, QTD_Transferir.Value * VL_Unitario_Transf.Value, 2, null);
                        }
                        else
                        {
                            VL_Sub_Total_Origem.Value = (QTD_Transferir.Value * VL_Unitario_Transf.Value);
                        }
                    }
                    catch { }
                }

                nr_contrato_destino.Clear();
                DT_Contrato_Destino.Clear();
                TP_Movimento_Destino.Clear();
                CD_Empresa_Destino.Clear();
                NM_Empresa_Destino.Clear();
                CD_Clifor_Destino.Clear();
                NM_Clifor_Destino.Clear();
                CPF_Destino.Clear();
                DS_Endereco_Destino.Clear();
                DS_Cidade_Destino.Clear();
                UF_Destino.Clear();
                CD_Produto_Destino.Clear();
                DS_Produto_Destino.Clear();
                VL_Unitario_Destino.Clear();

                VL_Sub_Total_Destino.Value       = decimal.Zero;
                VL_Unitario_Destino_Transf.Value = decimal.Zero;

                QTD_Destino.Clear();
                CD_Unidade_Destino_Est.Clear();
                CD_Unidade_Destino_VL.Clear();
                Unidade_Destino_Est.Clear();
                Unidade_Destino_VL.Clear();
            }
        }