O Reclock é uma funcionalidade essencial no sistema Protheus, desenvolvido pela TOTVS, que permite ajustar os eventos e processos do sistema com base nos fusos horários e horários de verão. Essa ferramenta desempenha um papel fundamental na garantia da integridade e precisão dos registros temporais, o que é crucial para as operações diárias de uma empresa.
Neste exemplo prático de Reclock Protheus, exploraremos a configuração e utilização dessa funcionalidade para assegurar que os dados do sistema estejam sempre sincronizados com a hora local correta, independentemente das mudanças no fuso horário ou durante o horário de verão. Com isso, minimizamos erros e inconsistências nos processos que dependem do tempo, contribuindo para uma gestão mais eficiente e confiável dos recursos empresariais.
Acompanhe este tutorial passo a passo para aprender a configurar o Reclock no Protheus e entender como essa funcionalidade pode otimizar as operações do seu negócio, garantindo a exatidão das informações e facilitando o cumprimento de prazos e cronogramas. Vamos mergulhar nessa importante funcionalidade do Protheus e explorar todas as vantagens que o Reclock oferece para aprimorar a sua experiência com o sistema ERP líder no mercado.
Exemplo da Rotina:
1 |
RecLock([Alias], [.T. = Inclusão, .F. = Atualização]) |
1º Ex – Incluir registro:
1 2 3 4 5 |
RecLock("ABC", .T.) ABC->ABC_FILIAL := FWxFilial('ABC') ABC->ABC_CAMP01 := "111" ABC->ABC_CAMP02 := "222" ABC->(MsUnlock()) |
Exemplo 2- Alterando um registro via DbSeek:
1 2 3 4 5 6 7 8 9 |
dbSelectArea('SA1') SA1->(DbSetOrder(1)) //Se posiciona no produto If SA1->(DbSeek(FWxFilial('SA1') + "CODIGO")) RecLock('SA1', .F.) SA1->A1_X_CAMPO := "111" SA1->(MsUnlock()) EndIf |
Exemplo 3- Alterando um registro via DbGoTo:
1 2 3 4 5 6 7 8 9 10 11 |
//Pegando o RecNo desejado nRecno := 41574 //Posicionando no registro DbSelectArea('SB1') SB1->(DbGoTo(nRecno)) //Alterando o registro RecLock('SB1', .F.) SB1->B1_X_CAMPO := "CCC" SB1->(MsUnlock()) |
Exemplo 4- Excluindo um registro de uma tabela customizada:
1 2 3 |
RecLock("ZZZ", .F.) DbDelete() ZZZ->(MsUnlock()) |
Exemplo 5- Verificando se pode ser feita uma manipulação:
1 2 3 4 5 6 |
If RecLock("ZZZ", .F.) //comandos ZZZ->(MsUnlock()) Else MsgStop("Não foi possível travar o registro para manipulação!", "Atenção") EndIf |

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
insere os dados do lote de entrada na DTP / Static Function salvarLoteEntrada( aFiles, cLote ) Default aFiles := {} Default cLote := "" conOut('Inicio salvarLoteEntrada ') RecLock( "DTP", .T. ) DTP->DTP_FILIAL := FWxFilial("DTP") DTP->DTP_FILORI := cFilAnt DTP->DTP_LOTNFC := cLote DTP->DTP_DATLOT := Date() DTP->DTP_HORLOT := strTran( Time(), ":", "" ) DTP->DTP_QTDLOT := Len( aFiles ) DTP->DTP_QTDDIG := Len( aFiles ) DTP->DTP_STATUS := '2' DTP->DTP_TIPLOT := '3' DTP->DTP_RATEIO := '2' DTP->( msUnLock() ) conOut('FIM salvarLoteEntrada ') |
Soluções para ERP/Power BI/CRM/Fabrica de Software/Infra
Temos uma equipe de analistas e desenvolvedores que pode efetivamente realizar todas as suas aspirações em relação ao seu ERP.
Últimos posts por Soluções para ERP/Power BI/CRM/Fabrica de Software/Infra (exibir todos)
- Como Compartilhar Relatórios com Power BI - 21 de setembro de 2022
- Como Importar Dados do Excel para o Power BI - 20 de setembro de 2022
- O que é Power BI, Power Query e Power Pivot? - 19 de setembro de 2022