예제 #1
0
        private void nr_contrato_destino_Leave(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(nr_contrato_origem.Text))
            {
                string vParam = "a.NR_Contrato|=|" + nr_contrato_destino.Text + ";" +
                                "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))
                {
                    vParam += ";a.cd_empresa|=|'" + CD_Empresa.Text.Trim() + "'";
                }

                DataRow linha = UtilPesquisa.EDIT_LEAVE(vParam, 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
                }, new CamadaDados.Graos.TCD_CadContrato());
                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
            {
                nr_contrato_destino.Clear();
            }
        }
예제 #2
0
        private void nr_contrato_origem_Leave(object sender, EventArgs e)
        {
            DataRow linha = UtilPesquisa.EDIT_LEAVE("a.nr_contrato|=|" + nr_contrato_origem.Text + ";" +
                                                                                          // O Tipo De pedido tem que permitir transferência
                                                    "cfgped.ST_PermiteTransf|=|'S';" +
                                                                                          //Contrato de Deposito ou a Fixar
                                                    "||isnull(cfgped.ST_Deposito, 'N') = 'S' or isnull(cfgped.ST_ValoresFixos, 'N') <> 'S';" +
                                                    "isnull(a.st_registro, 'A')|=|'A';" + //Contrato Aberto
                                                                                          //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') "

                                                    , 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
            }, new CamadaDados.Graos.TCD_CadContrato());

            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();
            }
        }