Nesse vídeo demonstraremos a utilização das funções MsUnlock, RecLock e SoftLock, que servem para travar / destravar registros para atualização ou inclusão de informações.
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas
#Include "TOTVS.ch"
/*/{Protheus.doc} User Function zExe365
Trava uma tabela para atualizações de informações
@type Function
@author Atilio
@since 27/03/2023
@see https://tdn.totvs.com/pages/releaseview.action?pageId=24347005 e https://tdn.totvs.com/pages/releaseview.action?pageId=24347041 e https://tdn.totvs.com/pages/releaseview.action?pageId=24347081
@obs
Função MsUnlock
Parâmetros
Função não tem parâmetros
Retorno
Função não tem retorno
Função SoftLock
Parâmetros
+ cAlias , Caractere , Indica o alias que será verificado
Retorno
Retorna .T. ou .F. se conseguiu encontrar e travar
Função RecLock
Parâmetros
+ cAlias , Caractere , Indica o alias que será verificado
+ lAdd , Lógico , .T. se será inclusão ou .F. se será alteração
+ l1 , Lógico , Compatibilidade
+ lSoft , Lógico , Pergunta para o usuário se deseja lockar novamente
+ lInJob , Lógico , Indica se ta rodando dentro de um Job
Retorno
+ lRet , Lógico , Retorna .T. ou .F. se conseguiu encontrar e travar
**** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/
User Function zExe365()
Local aArea := FWGetArea()
Local cCodProd := "F0001"
DbSelectArea("SB1")
SB1->(DbSetOrder(1)) // B1_FILIAL + B1_COD
//Posiciona no produto
If SB1->(MsSeek(FWxFilial("SB1") + cCodProd))
If SoftLock("SB1")
Alert("Aqui pode ser feito validações antes do reclock...")
RecLock("SB1", .F.)
//SB1->B1_X_CAMPO := 'aaaa'
SB1->(MsUnlock())
EndIf
EndIf
FWRestArea(aArea)
Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Gostei, mas esse cachorro ao fundo é chato hein.
Bom dia José, tudo joia?
Opa, obrigado pelo comentário e feedback.
Infelizmente na rua, onde moramos atualmente, existem muitos vizinhos com cachorros e acabam às vezes escapando os áudios. Talvez no futuro quando tivermos condição de nos mudar, tentaremos criar um ambiente mais isolado para não afetar a qualidade dos vídeos.
De antemão, estamos tentando gravar os conteúdos por volta das 5h da manhã, mais cedo do que o habitual, para que não ocorra esses problemas (pois quando começa a ficar mais tarde, os cachorros começam a latir para pedestres).
Pedimos desculpa pelo transtorno causado.
Um grande abraço.