Fórum
Ver pergunta

Validação se existem anexos no Editor de Compras   

37 visualizações
1
0

Boa tarde,

Com a nova funcionalidade do ERP nos editores Venda/Compras, etc.. de podermos adicionar os anexos no acto da gravação do documento pela primeira vez, gostaria de perguntar se existe alguma possibilidade de validação no Evento Antes de Gravar se o utilizador adicionou algum anexo?

Obrigado

Faça login para poder traduzir
V10
Marcado como spam
Criado há 3 meses e 2 semanas paulofaria
p
paulofaria Paulo Faria Iniciante
2 respostas
0
Resposta privada

Boas,

pode utilizar as capacidades do BSO de transacções para isso. Se estiver familiarizado com as transactions em SQL por exemplo, funciona da mesma forma. Pode iniciar uma transacção, fazer CRUD nos documentos ou outras entidades, e se estiver contente com o resultado pode terminar a transacção, ou se não estiver do seu agrado pode desfazer. 

Dessa forma é possível gravar um documento, ver os seus conteúdos e agir de acordo.

 

EDIT:
Basta utilizar os métodos com Transaccao no nome presentes no BSO (Motores/ErpBS).
IniciaTransaccao() faz o que diz. Qualquer código após esta transacção que manipule objectos do BSO, por exemplo criações ou edições de documentos, ficam dentro da transacção. Pode depois usar o TerminaTransaccao() para efectivar as alterações ou DesfazTransacção() para anular tudo o que foi feito; por exemplo:

  1. IniciaTransaccao()
  2. Preenche um documento de venda no seu código, com os anexos que precisar inseridos.
  3. Corre o Actualiza() que efectiva a criação esse documento, mas neste caso fica só dentro da transacção iniciada anteriormente. Agarre o ID do documento para uma variável.
  4. Os anexos não estão dentro dos documentos em si, tem de ir buscar uma lista dos anexos por outro lado, utilizando o StdPlatBS100.StdBSAnexos. Vai precisar tambem do enum dos Tipos de Tabela de Anexos. Por conveniência deixo aqui que anexos em documentos de vendas são 41 e em compras são 40.
    O campo Chave de um anexo é o ID do documento no qual foi inserido. Se a lista não tiver o anexo que quer, então é porque o anexo não ficou registado no documento.

Dependendo do resultado, pode usar o TerminaTransaccao e está OK ou o DesfazTransaccao e mostra um erro ao utilizador por exemplo.

Faça login para poder traduzir
Marcado como spam
Criado há 3 meses e 1 semana ricardogiro
ricardogiro Ricardo Giro Loyal Contributor
    Comentários
    Bom dia, Obrigado pela resposta, não estou familiarizado. Seria possivel colocar um exemplo se fizesse favor? Obrigado.
    2 meses e 1 semana
    paulofaria
      Actualizei a minha resposta original com esclarecimentos. Se mesmo assim não conseguir, posso tentar criar um exemplo em código.
      2 meses e 1 semana
      ricardogiro
        Bom dia, Ricardo Giro, Estou a usar extensibilidade no Editor de Compras. A ideia era detectar se o utilizador adicionou algum anexo(s) antes de gravar o documento. Caso não tenha colocado, aparecer uma mensagem e não deixar gravar o documento. É possivel colocar um exemplo. Obrigado.
        2 meses e 1 semana
        paulofaria
          2
          Resposta privada

          Bom dia,

          Tanto quanto sei, não existe atualmente nenhuma forma de validar se foram adicionados anexos antes de gravar o documento.

          Faça login para poder traduzir
          Marcado como spam
          Criado há 3 meses e 2 semanas gonalocarrasco-2