- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Bloquear Cad. Funcionario ao incluir
×
Linguagem de Programação ADVPL
Perguntas Bloquear Cad. Funcionario ao incluir
- Rei da TI
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 81
- Obrigados Recebidos: 0
11 anos 1 mês atrás #18289
por Rei da TI
Bloquear Cad. Funcionario ao incluir foi criado por Rei da TI
HELLLP
Pessoal, preciso de uma ajuda, estou querendo criar um bloqueio no cadastro do funcionário, que ao incluir um novo o mesmo nasça bloqueado, para depois outro usuário desbloquear.
o que já tentei:
1- ativei o campo RA_MSBLQL
2- Mudei o campo para poder alterar
3- coloquei no inicializador padrao para iniciar com 1 (significa registro não liberado)
Desta forma ele Não NASCE bloqueado, analisando um fonte padrão observei que é alterado para 2 no fonte na inclusão.
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Inicializa o conteudo do campo RA_MSBLQL ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ/*/
IF SRA->( RecLock( "SRA" , .F. ) )
SRA->RA_MSBLQL := "2"
SRA->( MsUnLock() )
EndIF
4- existe um ponto de entrada GP010VALPE (Ponto de Entrada para checar os dados de inclusão/alteração de funcionários.)
Tentei colocar a função acima no ponto de entrada alterando o valor para 1
mais ele da um erro.
tentativa de reservar registro no alias SRA em EOF stack de chamadas em MSRLOCK.eof controle.....
Pessoal, preciso de uma ajuda, estou querendo criar um bloqueio no cadastro do funcionário, que ao incluir um novo o mesmo nasça bloqueado, para depois outro usuário desbloquear.
o que já tentei:
1- ativei o campo RA_MSBLQL
2- Mudei o campo para poder alterar
3- coloquei no inicializador padrao para iniciar com 1 (significa registro não liberado)
Desta forma ele Não NASCE bloqueado, analisando um fonte padrão observei que é alterado para 2 no fonte na inclusão.
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Inicializa o conteudo do campo RA_MSBLQL ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ/*/
IF SRA->( RecLock( "SRA" , .F. ) )
SRA->RA_MSBLQL := "2"
SRA->( MsUnLock() )
EndIF
4- existe um ponto de entrada GP010VALPE (Ponto de Entrada para checar os dados de inclusão/alteração de funcionários.)
Tentei colocar a função acima no ponto de entrada alterando o valor para 1
mais ele da um erro.
tentativa de reservar registro no alias SRA em EOF stack de chamadas em MSRLOCK.eof controle.....
Por favor Acessar ou Registrar para participar da conversa.
- Hugo_Silva
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 63
- Obrigados Recebidos: 0
11 anos 1 mês atrás #18297
por Hugo_Silva
Respondido por Hugo_Silva no tópico Bloquear Cad. Funcionario ao incluir
Reinaldo,
Seguinte se esse ponto verifica os dados apos gravação? Tenta usar um ponto de entrada que valida as informações após a gravação...tenta fazer algo desse tipo..
If SRA->RA_MSBLQL := "1"
RecLock("SRA", .F.)
SRA->SRA_MSBLQL := "2" // bloqueio
MsUnlock()
EndIf
Return
Caso não funcione coloca um dbseek no para posicionar no final no ultimo registro gravado...Se nao me engano existe outro ponto de entrada acho que e GPEA010GRV.
Abçs!
Seguinte se esse ponto verifica os dados apos gravação? Tenta usar um ponto de entrada que valida as informações após a gravação...tenta fazer algo desse tipo..
If SRA->RA_MSBLQL := "1"
RecLock("SRA", .F.)
SRA->SRA_MSBLQL := "2" // bloqueio
MsUnlock()
EndIf
Return
Caso não funcione coloca um dbseek no para posicionar no final no ultimo registro gravado...Se nao me engano existe outro ponto de entrada acho que e GPEA010GRV.
Abçs!
Por favor Acessar ou Registrar para participar da conversa.
- Rei da TI
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 81
- Obrigados Recebidos: 0
11 anos 1 mês atrás #18298
por Rei da TI
Respondido por Rei da TI no tópico Bloquear Cad. Funcionario ao incluir
fiz teste que pediu e deu este erro:
THREAD ERROR (Reinaldo.Mauricio, MMTNBKDTI60CTA) 06/11/2013 13:49:12
Update error - File is in EOF - SRA010 in file .\advplfile.cpp at line 58
on U_GP010VALPE(GP010VALPE .PRW) 06/11/2013 13:42:18 line : 23
[TOTVS build: 7.00.120420A-20120726]
Called from EXECBLOCK(APLIB190.PRW) 05/02/2013 10:53:40 line : 160
Called from GPEA010VALPE(GPEA010.PRX) 24/10/2012 17:42:08 line : 2770
a linha 23 é esta aqui --- If SRA->RA_MSBLQL := "1"
THREAD ERROR (Reinaldo.Mauricio, MMTNBKDTI60CTA) 06/11/2013 13:49:12
Update error - File is in EOF - SRA010 in file .\advplfile.cpp at line 58
on U_GP010VALPE(GP010VALPE .PRW) 06/11/2013 13:42:18 line : 23
[TOTVS build: 7.00.120420A-20120726]
Called from EXECBLOCK(APLIB190.PRW) 05/02/2013 10:53:40 line : 160
Called from GPEA010VALPE(GPEA010.PRX) 24/10/2012 17:42:08 line : 2770
a linha 23 é esta aqui --- If SRA->RA_MSBLQL := "1"
Por favor Acessar ou Registrar para participar da conversa.
- Hugo_Silva
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 63
- Obrigados Recebidos: 0
11 anos 1 mês atrás - 11 anos 1 mês atrás #18301
por Hugo_Silva
Respondido por Hugo_Silva no tópico Bloquear Cad. Funcionario ao incluir
Passei coisa errada aí..
Coloca assim...
User Function GP010VALPE()
Local cBloqueio := SRA->RA_MSBLQL
If (cBloqueio = "2")
RecLock("SRA", .F.)
SRA->RA_MSBLQL := "1" // bloqueio
MsUnlock()
EndIf
Return
Qualquer coisa da um debug no fonte e veja se ele está alimentando a variável cBloqueio
Abraços!
Coloca assim...
User Function GP010VALPE()
Local cBloqueio := SRA->RA_MSBLQL
If (cBloqueio = "2")
RecLock("SRA", .F.)
SRA->RA_MSBLQL := "1" // bloqueio
MsUnlock()
EndIf
Return
Qualquer coisa da um debug no fonte e veja se ele está alimentando a variável cBloqueio
Abraços!
Ultima edição: 11 anos 1 mês atrás por Hugo_Silva.
Por favor Acessar ou Registrar para participar da conversa.
- Rei da TI
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 81
- Obrigados Recebidos: 0
11 anos 1 mês atrás #18304
por Rei da TI
Respondido por Rei da TI no tópico Bloquear Cad. Funcionario ao incluir
Não Funciono...
Assim coloquei o incio padrão para 1 = que é bloqueado
Durante o processo do PE GP010VALPE o valor da variável RA_MSBLQL é 1 (Bloqueado), debugando eu consigo ver isso.
O problema é que depois que sair do ponto de entrada ele altera pra 2 e grava no banco. 2 = Liberado.
TA dificillll
Assim coloquei o incio padrão para 1 = que é bloqueado
Durante o processo do PE GP010VALPE o valor da variável RA_MSBLQL é 1 (Bloqueado), debugando eu consigo ver isso.
O problema é que depois que sair do ponto de entrada ele altera pra 2 e grava no banco. 2 = Liberado.
TA dificillll
Por favor Acessar ou Registrar para participar da conversa.
- Rei da TI
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 81
- Obrigados Recebidos: 0
11 anos 1 mês atrás #18308
por Rei da TI
Respondido por Rei da TI no tópico Bloquear Cad. Funcionario ao incluir
RESOLVIDOOOOOOO
Galera achei outro ponto de entrada
GP010FIMPE() =Ponto de entrada utilizado para tratamento específico após a conclusão da gravação de todos os dados.
fiz da seguinte maneira..........
User Function GP010FIMPE()
//Varaiavel recebe valor do campo 1= Bloqueado ou 2= Liberado
Local cBloqueio := SRA->RA_MSBLQL
//verifica se é inclusão
if inclui
//Valida (se for usuarios especificos e o campo estiver liberado)
If !__cUserId $ GetNewPar("MV_ALTSRA","000000") .AND. (cBloqueio = "2")
RecLock("SRA", .F.)
SRA->RA_MSBLQL := "1" // bloqueio
MsUnlock()
EndIf
Endif
Return
Deu certoooo
Obrigado a todos pela ajuda....
Galera achei outro ponto de entrada
GP010FIMPE() =Ponto de entrada utilizado para tratamento específico após a conclusão da gravação de todos os dados.
fiz da seguinte maneira..........
User Function GP010FIMPE()
//Varaiavel recebe valor do campo 1= Bloqueado ou 2= Liberado
Local cBloqueio := SRA->RA_MSBLQL
//verifica se é inclusão
if inclui
//Valida (se for usuarios especificos e o campo estiver liberado)
If !__cUserId $ GetNewPar("MV_ALTSRA","000000") .AND. (cBloqueio = "2")
RecLock("SRA", .F.)
SRA->RA_MSBLQL := "1" // bloqueio
MsUnlock()
EndIf
Endif
Return
Deu certoooo
Obrigado a todos pela ajuda....
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Bloquear Cad. Funcionario ao incluir
Tempo para a criação da página:0.125 segundos