Fórum
Ver pergunta

Como abrir um formulário no POS no evento tecla pressionada?   

148 visualizações
-1
0

Estou a efectuar um desenvolvimento que necessito de um form de apoio para apresentar alguns dados e estou a utilizar o código seguinte:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Forms;
using ErpBS100;
using Primavera.Extensibility.BusinessEntities;
using Primavera.Extensibility.BusinessEntities.ExtensibilityService.EventArgs;
using Primavera.Extensibility.Extensions;
using Primavera.Extensibility.POS.Editors;
using StdPlatBS100;

namespace POS.POS
{
    public class UiEditorVendas : EditorVendas
    {
        public static StdBSInterfPub Plataforma;
        public static ErpBS MotorLE = new ErpBS();
        public override void TeclaPressionada(int KeyCode, int Shift, ExtensibilityEventArgs e)
        {
            if (KeyCode == Convert.ToInt32( Keys.F11.ToString()))
            {                 
                try
                {
                    using (var instance = this.BSO.Extensibility.CreateCustomFormInstance(typeof(FichaDeArtigo)))
                    {
                        if (instance.IsSuccess())
                        {
                            FichaDeArtigo frm = new FichaDeArtigo();
                            FichaDeArtigo.Plataforma = PSO;
                            FichaDeArtigo.MotorLE = BSO;
                            (instance.Result as FichaDeArtigo).Show();
                        }
                    }
                }
                catch (Exception ex)
                {
                    System.Windows.MessageBox.Show(ex.Message);
                }
            }
            else
            {

            }
        }

 

Mas nada funciona, nem sequer ao efetuar debug chega a entrar no evento de tecla pressionada.

Faça login para poder traduzir
V10
Geral
Base Dados
Marcado como spam
Criado há 6 anos e 2 meses andralves
a
andralves Iniciante
Comentários
A sua questão está confusa, qual é duvida em concreto, o que quer fazer? Sugiro que edite a sua questão e a melhore para ter possibildiade em obter ajuda. Isto é uma extensão?
6 anos e 2 meses
sergiosereno
    No POS através do evento de tecla pressionada do editor de vendas quero abrir um custom form no entanto esse evento não é chamado.
    6 anos e 2 meses
    andralves
      1 respostas
      0
      Resposta privada

      Bem olhado ao seu código alguma coisa enão está bem, porque se quer o teclapressionada do editor do POS tem de extender essa classe,e pelo que vejo está a extender a plataforma.

      Para isso tem de extender a classe do POS.

      Não necessitas de criar instancias do ERPBS nem do StdPlatBS porque eles já estão prontos no contexto da aplicação.

      Tens também de registar a tua extensão no ERP, ve este artigo COMO REGISTAR PROJETOS DE EXTENSIBILIDADE

      using System;
      using System.Windows.Forms;
      using ErpBS100;
      using Primavera.Extensibility.BusinessEntities.ExtensibilityService.EventArgs;
      using Primavera.Extensibility.POS.Editors;
      using StdPlatBS100;
      
      namespace POS.POS
      {
          public class UiEditorVendas : EditorVendas
          {
      
              public override void TeclaPressionada(int KeyCode, int Shift, ExtensibilityEventArgs e)
              {
                  if (KeyCode == Convert.ToInt32(Keys.F11))
                  {
                      try
                      {
      
                      }
                      catch (Exception ex)
                      {
                          PSO.Dialogos.MostraMensagem(StdBSTipos.TipoMsg.PRI_SimplesOk, ex.Message.ToString());
                      }
                  }
                  else
                  {
      
                  }
              }
          }
      }

      Recomendo para acelerar que instale a extensão para visual studio disponiel através da zona de ferramentas aqui do site ou directamente na galeria do VS aqui.

      Podes também ver aqui como fazer debug aqui neste artigo COMO FAZER DEBUG A PROJETOS DE EXTENSIBILIDADE COM VISUAL STUDIO

      Faça login para poder traduzir
      Marcado como spam
      Criado há 6 anos e 2 meses sergiosereno
      sergiosereno Most Valuable Professional
        Comentários
        O código em cima não estava completo, agora sim já foi alterado....
        6 anos e 2 meses
        andralves
          Completei a minha resposta e usei o teu código e funcionou bem, vê agora as outras dicas que dei a ver se te ajuda.
          6 anos e 2 meses
          sergiosereno
            Detectei que apenas com combinação de teclas o evento é activado, por exemplo shift+F11, caso clique apenas F11 nada acontece.
            6 anos e 2 meses
            andralves
              Estou com o mesmo problema em relação à combinação de teclas. Se fizer Shift ou Ctrl + F2 (neste caso) funciona. Se carregar apenas em F2 não funciona. É mesmo assim ? Na V9 não era.
              6 anos e 1 mês
              pedro-2
                Se não era é uma situação a reportar a PRIMAVERA.
                6 anos e 1 mês
                sergiosereno