+6 votos
78 visitas
Há uma demanda para exclusão de arquivos do BDOC sem a necessidade de remoção do registro na tabela.
por (52 pontos)
editado por | 78 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 (865 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 (865 pontos)

Perguntas relacionadas

+9 votos
1 resposta
0 votos
1 resposta
+1 voto
1 resposta
perguntado 28 Jul, 2023 por Jeferson Stecklein (9 pontos) | 2 visitas
Melhores Aug 2026
    200 pontos
    Melhores 2026 Jul 27 - Aug 02
    1. Larson

      165 Pontos

    2. danilo.pereira

      96 Pontos

    3. danilo.pereira

      96 Pontos

    4. danilo.pereira

      96 Pontos

    5. luciano.fronza

      61 Pontos

    6. luciano.fronza

      61 Pontos

    7. luciano.fronza

      61 Pontos

    8. diuari.molinari

      52 Pontos

    9. diuari.molinari

      51 Pontos

    10. diuari.molinari

      51 Pontos

    518 perguntas
    568 respostas
    389 comentários
    801 usuários