private void afterGrava() { if (pnl_Origem.validarCampoObrigatorio() && pnl_Destino.validarCampoObrigatorio() && pDados.validarCampoObrigatorio()) { if (Convert.ToDecimal(Saldo_Contrato_Origem.Text) < QTD_Transferir.Value) { MessageBox.Show("A quantidade transferida não pode ser maior que Saldo do Contrato de Origem.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (!string.IsNullOrEmpty(cd_autoriz.Text)) { if (CamadaNegocio.Estoque.Cadastros.TCN_CadConvUnidade.ConvertUnid(Cd_unid_autoriz, CD_Unidade_Origem_Est.Text, qtd_sdautoriz.Value, 3, null) < QTD_Transferir.Value) { MessageBox.Show("A quantidade transferida não pode ser maior que Saldo da autorização retirada.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } //Verificar se o contrato de origem exige autorizacao retida if (string.IsNullOrEmpty(cd_autoriz.Text)) { object obj = new CamadaDados.Graos.TCD_CadContrato().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.nr_contrato", vOperador = "=", vVL_Busca = nr_contrato_origem.Text }, new Utils.TpBusca() { vNM_Campo = "isnull(a.st_exigirautorizretirada, 'N')", vOperador = "=", vVL_Busca = "'S'" } }, "1"); if (obj != null) { MessageBox.Show("Contrato Origem exige Autorização retirada.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); cd_autoriz.Focus(); return; } } if (TCN_Transferencia.Confere_Saldo(nr_contrato_destino.Text, null)) { if (QTD_Transferir.Value > (Convert.ToDecimal(QTD_Destino.Text) - Convert.ToDecimal(Saldo_Contrato_Destino.Text))) { MessageBox.Show("A quantidade transferida deve ser igual ou menor ao Saldo do Pedido de Destino.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } this.DialogResult = DialogResult.OK; } }
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 Busca_Saldo_Contrato_Destino() { Saldo_Contrato_Destino.Text = TCN_Transferencia.Saldo_Contrato(nr_contrato_destino.Text, CD_Produto_Destino.Text, false).ToString(); }
private void Busca_Saldo_Contrato_Origem() { Saldo_Contrato_Origem.Text = TCN_Transferencia.Saldo_Contrato(nr_contrato_origem.Text, CD_Produto.Text, true).ToString(); }