| ♥ 0 | Bom dia tenho o seguinte código que deveria dar um alerta apenas quando o artigo esta em promoção, no entanto o alerta da sempre em todos os artigos mesmo não estando em promoção, o que esta mal, será que alguém pode ajudar, não sou developer obrigado.
using Primavera.Extensibility; using Primavera.Extensibility.BusinessEntities; using Primavera.Extensibility.BusinessEntities.ExtensibilityService.EventArgs; using Primavera.Extensibility.Sales.Editors; using StdPlatBS100; using static StdPlatBS100.StdBSTipos; using System; namespace Primavera.Logistics.Extensibility.Alerta.Sales { public class EditorVendas : Primavera.Extensibility.Sales.Editors.EditorVendas { public override void ArtigoIdentificado(string Artigo, int NumLinha, ref bool Cancel, ExtensibilityEventArgs e) { base.ArtigoIdentificado(Artigo, NumLinha, ref Cancel, e); //string Artigoavalidar = Artigo ; string query = $”SELECT Artigo.Artigo FROM Artigo(nolock) JOIN RegrasDescPrec (NOLOCK) ON artigo.artigo = RegrasDescPrec.campo1 and artigo.unidadebase =RegrasDescPrec.unidade WHERE RegrasDescPrec.TipoRegra=1 and RegrasDescPrec.tiposugestao=0 and RegrasDescPrec.moeda=’EUR’ AND getdate() BETWEEN RegrasDescPrec.DataInicial and RegrasDescPrec.DataFinal AND Artigo.Artigo= ‘{Artigo}’ “; try { BSO.DSO.ExecuteSQL(query); // Execute a consulta e verifique se alguma linha foi retornada object result = BSO.DSO.ExecuteSQL(query); if (result != null) { PSO.MensagensDialogos.MostraMensagem(StdPlatBS100.StdBSTipos.TipoMsg.PRI_SimplesOk, $”Atenção! O Artigo {Artigo} na linha {NumLinha} esta em Promoção!”); } } catch (Exception ex) { throw(ex); } } } }
Marcado como spam |
1 respostas
| Resposta privada Boas, aqui vai: public override void ArtigoIdentificado(string Artigo, int NumLinha, ref bool Cancel, ExtensibilityEventArgs e)
{
try
{
string query = $"SELECT Artigo.Artigo FROM Artigo (nolock) JOIN RegrasDescPrec (NOLOCK) ON Artigo.artigo = RegrasDescPrec.campo1 and rtigo.unidadebase = RegrasDescPrec.unidade WHERE RegrasDescPrec.TipoRegra = 1 and RegrasDescPrec.tiposugestao = 0 and RegrasDescPrec.moeda ='EUR' AND (getdate() BETWEEN RegrasDescPrec.DataInicial and RegrasDescPrec.DataFinal) AND Artigo.Artigo = '{Artigo}'";
// Execute a consulta e verifique se alguma linha foi retornada
var lista = BSO.Consulta(query);
if (!lista.Vazia())
{
PSO.MensagensDialogos.MostraMensagem(StdPlatBS100.StdBSTipos.TipoMsg.PRI_SimplesOk, $"Atenção! O Artigo { Artigo} na linha { NumLinha} esta em Promoção!");
//Cancel = true;
}
lista = null;
base.ArtigoIdentificado(Artigo, NumLinha, ref Cancel, e);
}
catch (Exception ex)
{
e.Handled = false;
e.HandleExceptions = false;
throw ex;
}
}
Marcado como spam |