Fórum
Ver pergunta

Comunicação entre CustomTab e Editores/Motores   

130 visualizações
Categoria::
0
0

Tendo em conta a arquitectura do PEX, como podemos comunicar entre objectos tendo em conta que a instanciação é da responsabilidade do ERP?

Exemplo: tenho um separador de utilizador no editor de compras, onde preencho uma grelha com registos a associar ao documento. O objectivo é gravar esses registos numa TDU. Como posso passar a lista de registos a gravar (List<T>, por exemplo) para os eventos do editor de compras ou motores (AntesDeGravar para validações e DepoisDeGravar para guardar os registos na TDU)?

Faça login para poder traduzir
Integração
V10
Marcado como spam
Criado há 5 anos e 4 meses brunosantos
b
brunosantos Iniciante
2 respostas
1
Resposta privada

Olá Bruno.
Para conseguires fazer isso tem subscrever o evento “saving”. Neste caso a informação da tua grelha será gravada.

Faça login para poder traduzir
Marcado como spam
Criado há 5 anos e 4 meses sergiosereno
sergiosereno Most Valuable Professional
    Comentários
    O único problema é que todos os métodos, correm diversas vezes.
    4 anos e 10 meses
    tiagohenriquepsi
      -1
      Resposta privada

      Boa tarde @Brunosantos

      Isso não é possível fazer. O CustomTab disponibiliza 4 eventos (Initializing, Loading, Removing e Saving). Neste caso, para gravar, tinha de utilizar o evento Saving. Para utilizar os eventos AntesDeGravar e DepoisDeGravar, tinha que ter uma classe que herdasse do Editor de Compras e fazer essas validações. Aproveito para deixar um exemplo de utilização do CustomTab disponível no GitHub, caso ainda não tenha visto.

      Link:

      https://github.com/PrimaverabssDeveloper/Extensibility/tree/master/Custom%20Tabs

      Faça login para poder traduzir
      Marcado como spam
      Criado há 5 anos e 4 meses flavio-jardim
      f
      flavio-jardim Iniciante
        Comentários

        Obrigado Flávio, no entanto isso não vai de encontro à minha questão. Eu sei que não é possível comunicar directamente, já que se tratam de instâncias diferentes de objectos diferentes não existindo nenhum objecto nem contexto em comum que permita a comunicação.
        No VBA na V9 era possível ter variaveis globais, que embora sejam uma solução de recurso, permitiam contornar a limitação. Na V10, dado que a instanciação das classes é controlada pelo ERP, não tempos possibilidade de controlar qualquer tipo de contexto entre os nossos objectos. A menos que haja alguma forma de contornar que eu desconheça, trata-se de uma perda de funcionalidade crassa.
        Voltando à minha questão inicial, como faço para, por exemplo, ter uma grelha de registos num CustomTab que quero gravar para uma TDU, caso a gravação do documento termine com sucesso?
        Obrigado.

        5 anos e 4 meses
        brunosantos