+6 votos
53 visitas
Há uma demanda para exclusão de arquivos do BDOC sem a necessidade de remoção do registro na tabela.
por (50 pontos)
editado por | 53 visitas

2 Respostas

+3 votos
Melhor resposta

A função de macro ClearFieldDocument permite excluir o arquivo fisicamente no BDoc sem alterar o registro: 

Public Sub EXCLUIRFISICAMENTE_OnClick()

ClearFieldDocument("NOME_DA_TABELA", "NOME_DO_CAMPO", CurrentQuery.FieldByName("HANDLE").AsInteger, False)

End Sub

O segredo é informar o último parâmetro False, que informa para não limpar o valor do campo arquivo na tabela.

É muito mais simples que utilizar o cliente do BDoc.

Lembrando que ao tentar visualizar o arquivo após a exclusão física, será exibido o erro "Não foi possível obter o documento do servidor".

por (861 pontos)
selecionada por
+1 voto

Para excluir arquivos diretamente no BDOC sem qualquer alteração no registro da tabela que contém o campo arquivo, basta acessar o BDOC diretamente via o cliente BDoc disponível na macro:

 

Public Sub EXCLUIRFISICAMENTE_OnClick()

Dim dc As Doc
Set dc = SuperServerClient("DOC")

' Seleciona a pasta onde se encontra o arquivo
dc.Select(GetFieldDocumentGroup("NOME_DA_TABELA"))

' Apaga o arquivo diretamente no BDoc
dc.Delete(GetFieldDocumentFile("NOME_DO_CAMPO", CurrentQuery.FieldByName("HANDLE").AsInteger))

Set dc = Nothing

End Sub

Lembrando que ao tentar visualizar o arquivo após a exclusão física, será exibido o erro "Não foi possível obter o documento do servidor".

por (861 pontos)

Perguntas relacionadas

Melhores May 2020
  1. henrique.muller

    18 Pontos

  2. joao.melo

    14 Pontos

  3. joseglauber

    11 Pontos

  4. SlimShady

    7 Pontos

  5. willian.metalsystem

    6 Pontos

  6. lucas.melo

    3 Pontos

  7. fluipress.luciano

    2 Pontos

  8. pajucara.wallacef

    2 Pontos

  9. jean.filho

    2 Pontos

  10. maicon.pereira

    2 Pontos

200 pontos
Melhores 2020 May 25 - 31
    433 perguntas
    476 respostas
    346 comentários
    466 usuários