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