4D v17.4entity.lock( ) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v17.4
entity.lock( )
|
Propriedade | Tipo | Descrição | |
success | booleano | true se a ação de salvar tiver sucesso (ou se a entidade já estiver bloqueada no processo atual), do contrário false. | |
Disponível só se for utilizada a opção dk reload if stamp changed: | |||
wasReloaded | booleano | true se a entidade foi recarregada com êxito, do contrário false. | |
Disponível só em caso de erro: | |||
status(*) | número | Código de erro, ver abaixo | |
statusText(*) | texto | Descrição do erro, ver abaixo | |
Disponível só no caso de erro de bloqueio pessimista: | |||
lockKindText | texto | "Bloqueado por registro" | |
lockInfo | objeto | Informação sobre a origem do bloqueio | |
task_id | número | ID do processo | |
user_name | texto | Nome de usuário de sessão na máquina | |
user4d_id | texto | Nome de usuário no diretório do banco de dados 4D | |
host_name | texto | Nome da máquina | |
task_name | texto | Nome do processo | |
client_version | texto | ||
Disponível só em caso de erro grave (chave primária já existe, disco cheio...): | |||
errors | coleção de objetos | ||
message | texto | Mensagem de erro | |
component signature | texto | Assinatura do componente interno (por exemplo, "dmbg" representa o componente do banco de dados) | |
errCode | number | Código de erro |
(*) Os valores abaixo podem ser devolvidos nas propriedades status e statusText do objeto Resultado em caso de erro:
Constante | Valor | Comentário |
dk status entity does not exist anymore | 5 | A entidade não existe mais nos dados. Esse erro pode ocorrer nos casos abaixo:
Texto de estado associado: "Entity does not exist anymore" - (a entidade não existe mais) |
dk status locked | 3 | A entidade é bloqueada por um bloqueio pessimista Texto de estado associado: "Already locked" - já bloqueado |
dk status serious error | 4 | Um erro sério é um erro de baixo nível de banco de dados (por exemplo, chave duplicada), um erro de hardware, etc Texto associado de estado: "Other error" - outro erro |
dk status stamp has changed | 2 | O valor do stamp (carimbo marcador) da entidade não corresponde ao da entidade armazenada nos dados (bloqueio otimista).
|
Exemplo com erro:
C_OBJECT($employee;$status)
$employee:=ds.Employee.get(716)
$status:=$employee.lock()
Case of
:($status.success)
ALERT("You have locked "+$employee.firstName+" "+$employee.lastName)
:($status.status=dk status stamp has changed)
ALERT($status.statusText)
End case
Exemplo com a opção dk reload if stamp changed :
C_OBJECT($employee;$status)
$employee:=ds.Employee.get(717)
$status:=$employee.lock(dk reload if stamp changed)
Case of
:($status.success)
ALERT("You have locked "+$employee.firstName+" "+$employee.lastName)
:($status.status=dk status entity does not exist anymore)
ALERT($status.statusText)
End case
Produto: 4D
Tema: ORDA - Entidade
Manual de linguagem 4D ( 4D v17)
Manual de linguagem 4D ( 4D v17.1)
Manual de linguagem 4D ( 4D v17.2)
Manual de linguagem 4D ( 4D v17.3)
Manual de linguagem 4D ( 4D v17.4)