Fórum
Ver pergunta

Invocação camada VndBSVendas a partir de aplicação externa   

93 visualizações
1
0

Bom dia,

Pretende-se que executando uma aplicação externa via API (motores de integração), que por exemplo regista um documento de venda, seja executado um determinado fragmento de código registado na camada VndBSVendas. Quais são as configurações técnicas que têm que ser garantidas para que o evento public override void DepoisDeGravar(VndBEDocumentoVenda clsDocumentoVenda, ref string strAvisos, ref string IdDocLiqRet, ref string IdDocLiqRetGar, ExtensibilityEventArgs e) seja disparado na classe public class ExtVendasBS : VndBSVendas?

A ideia é ter um fragmento de código que seja sempre executado independentemente se o documento de venda é gravado pelo Editor de Vendas ou por uma aplicação externa (desde que use a API Standard ou a WEBAPI).

Obrigado.

Faça login para poder traduzir
Integração
Marcado como spam
Criado há 1 ano e 7 meses carlospereira
c
carlospereira Iniciante
Comentários
Olá. Já andei com a mesma ideia em tempos e olhei para "BSO.DSO.Plat.Extensibility.TriggerEvent(...)", apesar de nunca ter implementado porque depois não foi necessário.
1 ano e 7 meses
ricardorodrigues
    1 respostas
    0
    Resposta privada

    Olá @carlospereira não tens de fazer nada de especial para que isso aconteça apenas tens de subscrever o evento no VndBSVendas e está feito.
    Se queres forçar que as extensões sejam carregadas podes sempre na abertura da Plataforma forçar isso. Vê o exemplo aqui no GitHub https://github.com/PrimaverabssDeveloper/ERP10Integration/blob/master/ERP/Engine/PriEngine.cs

    Faça login para poder traduzir
    Marcado como spam
    Criado há 1 ano e 7 meses sergiosereno
    sergiosereno Most Valuable Professional
      Comentários
      @sergiosereno por acaso também estou agora mesmo de volta de uma situação muito parecida - Código que tenho de correr antes de gravar um movimento da contabilidade, independentemente de como este esteja a ser criado - pelo que ia usar a CblBSDocumentos. Deparei-me foi com um problema, os métodos aqui não tem a propriedade Cancel pelo que é impossível impedir a gravação do documento? Se eu precisar de correr uma serie de validações antes de gravar um documento que opções tenho? (sem ser usar Código nos Editores visto que o documento pode estar a ser criado via motores por exemplo)
      1 ano e 7 meses
      uwusolutionslda