01. DADOS GERAIS

Linha de Produto:Franquias e Redes
Segmento:Varejo
Módulo:Totvs PDV
Função:Cadastro de Clientes
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :

DVARLIVEPDV-8763


02. SITUAÇÃO/REQUISITO

Precisamos excluir da base de dados clientes que foram importados de forma errada na Central do Retaguarda, fazendo assim com que a rede recebesse clientes que possivelmente já estavam cadastrados.

A lista conta com mais de 180 mil clientes que precisam ser excluídos através do ObjectID e limpando o DBF da base de dados das lojas. 

03. SOLUÇÃO

Criado e cadastrado separadamente no BUS o aplicativo "CorretorDbfClientes".

O aplicativo será instalado em "C:\PDVARQ\CorretorDbfClientes\" e será executado de forma oculta durante o processo de instalação via BUS, lendo os ObjectID do arquivo "client exclude list.txt" e excluindo do CLIENTES.DBF.
Será feito a limpeza somente em DBF locais aonde existirem, "C:\PDVARQ\" ou "C:\SUPERDB\".

Caso ocorra algum erro durante a execução o BUS executara novamente, continuando de onde parou até que seja finalizado com sucesso.

No inicio e no final da execução é realizado o comando Pack no DBF, para que seja removido os registros marcados para exclusão.

Em testes o arquivo inicial de 372MB ficou com 11,5MB após a conclusão da limpeza e o processo levou cerca de 8min em cada DBF podendo variar dependendo do computador, neste exemplo foi utilizado uma máquina com SSD. Em máquinas com HDD o tempo pode variar entre 15 a 20 minutos.

Para visualizar o andamento execute diretamente o aplicativo


IMPORTANTE: Não execute o PDV durante o processo e aguarde que até que a execução no PDV SERVIDOR seja concluída, caso contrário o DBF da PDVARQ poderá ser importado, sobrescrevendo a correção.



<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}

.aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { 
	background: #FF9900; !important 
}

.menu-item.active-tab { 
	border-bottom: none !important; 
}

</style>