+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 2025
    200 pontos
    Melhores 2025 Jul 28 - Aug 03
    1. Larson

      156 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

    517 perguntas
    566 respostas
    389 comentários
    704 usuários