Fórum
Ver pergunta

O código que deveria dar um alerta apenas quando o artigo esta em promoção   

37 visualizações
0
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);
                }
        }
    }
}

 

 

Faça login para poder traduzir
V10
Geral
Marcado como spam
Criado há 7 meses e 1 dia marcotemtem
m
marcotemtem Iniciante
1 respostas
0
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;
    }
}

 

Faça login para poder traduzir
Marcado como spam
Criado há 7 meses e 23 horas manuelquelhas
manuelquelhas Responsiveness Member