Página 1 de 2
retornar ip que bloqueou o registro/arquivo
Enviado: 19 Jun 2023 11:12
por Cavalo Marinho
Bom dia Pessoal
Existe alguma função ou método em harbour/minigui ou outra biblioteca compatível que retorne o ip/usuário que efetuou o bloqueio de um registro/arquivo e não desbloqueou.
exemplo: vou atualizar um determinado registro e este está bloqueado, queria saber pelo qual ip na rede foi bloqueado.
retornar ip que bloqueou o registro/arquivo
Enviado: 19 Jun 2023 16:24
por JoséQuintas
Deixar registro bloqueado é coisa de antigamente, é bem coisa de DBF e poucos usuários.
Mesmo assim já usei.
Na época eu tinha um campo pro nome do usuário.
Código: Selecionar todos
LOCAL lOk := .F., nKey := 0
DO WHILE ! Rlock() .AND. nKey != K_ESC
Mensagem( "Aguardando liberacao pelo usuario " + field->Usuario + ", ESC desiste" )
nKey := Inkey(60)
ENDDO
IF nKey != K_ESC .AND. RLock()
REPLACE field->Usuario WITH AppUserName()
SKIP 0
lOk := .T.
ENDIF
RETURN lOk
retornar ip que bloqueou o registro/arquivo
Enviado: 20 Jun 2023 13:59
por carlaoonline
Boa tarde!
JoséQuintas escreveu:é bem coisa de DBF e poucos usuários.
Que DBF é coisa antiga e de poucos usuários isso eu concordo!!
JoséQuintas escreveu:Deixar registro bloqueado é coisa de antigamente
Isso não, isso depende do projeto, cada caso é um caso.
Em uma empresa onde várias pessoas trabalham em uma carteira única de clientes eu acredito que é mais interessante bloquear o pedido assim que um operador se apropriar do cliente naquele instante, caso contrário corre o risco de um deles perder parte ou todo do seu trabalho, sem contar que mais de um operador pode ligar para o cliente que acabou de ser contatado por outro usuário que ainda está digitando seu texto do ocorrido na ligação.
retornar ip que bloqueou o registro/arquivo
Enviado: 20 Jun 2023 15:24
por Itamar M. Lins Jr.
Olá!
Bloqueio é essencial tem em todos os BONS SGBD.
DBF é tecnologia APROVADA INDISCUTÍVEL funciona muito bem por isso é usada até hoje.
MYSQL, PostGree... é melhor ? Sim se você for a pessoa que for usar, pq vc sabe o quê o DBF lhe dá e o que vc quer melhorar saindo do DBF, usando SGBD.
Tenho visto programas usando PostGree que faz a baixa do estoque usando orçamento... É mole ? Ou telas mal feitas, faltando campos de dados primordiais.
Enfim para que não sabe onde quer chegar qualquer lado é caminho.
Quem usa DBF pode usar o LETODBf que te dar o IP da maquina o usuário e os DBFs abertos.
Só não tem os comandos SQL o resto ou as principais características do SGBD tem. SGBD(Sistemas Gerenciadores de Bancos de Dados -> Mysql, Oracle, etc)
Tem coisa que o MySQL antigo não tem que é a CRIPTOGRAFIA dos DADOS. E sim MUITO MAIS SIMPLES de usar a criptografia.
Saudações,
Itamar M. Lins Jr.
retornar ip que bloqueou o registro/arquivo
Enviado: 20 Jun 2023 17:34
por JoséQuintas
Itamar M. Lins Jr. escreveu:Tenho visto programas usando PostGree que faz a baixa do estoque usando orçamento...
Normal, também faço.
No meu caso tudo é PEDIDO.
A transação pode ser configurada pra baixar pela confirmação do pedido, ou pela nota emitida, ou nem mexer no estoque.
Nesse caso, uma nota fake impede "desconfirmar".
Tudo depende da transação utilizada, e da configuração existente.
O consumo próprio de combustível, por exemplo, antigamente emitia nota, mas proibiram de fazer isso, agora é sem nota mesmo, e isso é oficial.
retornar ip que bloqueou o registro/arquivo
Enviado: 20 Jun 2023 17:43
por JoséQuintas
Voltando ao caso do bloqueio.
Sim, tem poucas exceções.
Mas pense bem:
Um usuário altera.
Outro altera.
A diferença se isso é um ano depois, um mês depois, um dia depois, ou um segundo depois é..... nenhuma, a consequência é a mesma.
Se o telemarketing está ligando pra pessoa.... com certeza a pessoa tem duas orelhas, mas não vai atender os dois ao mesmo tempo.
Se outra pessoa está ligando em seguida.... não é bloqueando o registro que vai resolver isso.
O atendente vai ligar: olá bom dia..... não é nada não, a tela aqui avisou que já ligaram.... kkkkkk
retornar ip que bloqueou o registro/arquivo
Enviado: 20 Jun 2023 18:21
por Itamar M. Lins Jr.
Olá!
Sua visão é de posto de gasolina.
Prá vc é normal baixar estoque com orçamento, mas para os normais é absurdo.
Pedido é uma coisa, orçamento outra. Orçamento é tomada de preço de até centenas de itens, pregos, telhas, cimento, parafusos... talvez 70% das lojas de materiais para construção sejam orçamento, que podem ou não ser transformados em vendas(baixa do estoque) para depois tirar uma NFCe ou NFe conforme desejo do cliente.
Não sei quem é que faz orçamento de gasolina...Enfim por essas e outras coisas que estou sem PIQUE para ficar explicando...
Sobre o LOCK do registro nem vou comentar... mais bobagens.... pega um exemplo para tentar com esse exemplo explicar TODAS as possibilidades.
Saudações,
Itamar M. Lins Jr.
retornar ip que bloqueou o registro/arquivo
Enviado: 22 Jun 2023 15:46
por JoséQuintas
Itamar M. Lins Jr. escreveu:Olá!
Sua visão é de posto de gasolina.
Prá vc é normal baixar estoque com orçamento, mas para os normais é absurdo.
Pedido é uma coisa, orçamento outra. Orçamento é tomada de preço de até centenas de itens, pregos, telhas, cimento, parafusos... talvez 70% das lojas de materiais para construção sejam orçamento, que podem ou não ser transformados em vendas(baixa do estoque) para depois tirar uma NFCe ou NFe conforme desejo do cliente.
Não sei quem é que faz orçamento de gasolina...Enfim por essas e outras coisas que estou sem PIQUE para ficar explicando...
Sobre o LOCK do registro nem vou comentar... mais bobagens.... pega um exemplo para tentar com esse exemplo explicar TODAS as possibilidades.
Pera aí.... o assunto do tópico é justamente o RLOCK, e justamente sobre isso não vai comentar?
Vamos lá...
O usuário pede pra alterar, e aperta o botão do computador pra entrar em modo de espera, vai almoçar, tem um imprevisto e não volta mais.
E aí ? vai parar tudo até o dia seguinte?
E mais: aqui virou fórum científico? precisa ficar provando tudo científicamente?
É coisa da idade, tudo velhinho gagá teimando com as coisas e pedindo provas de tudo?
Se continuar assim, podem me excluir do fórum, estou farto, está sendo muito tempo perdido com isso, atrapalhando até quem procurou ajuda.
E se o fórum não é mais pra ajudar.... então não tem mais sentido participar.
retornar ip que bloqueou o registro/arquivo
Enviado: 22 Jun 2023 17:16
por Itamar M. Lins Jr.
Olá!
O usuário pede pra alterar, e aperta o botão do computador pra entrar em modo de espera, vai almoçar, tem um imprevisto e não volta mais.
No seu sistema com DBF é assim.
No sistema dos normais, nada acontece. O rlock apenas quando for GRAVAR e mesmo assim seguido de unlock...Milésimos de segundos... Vai continuar inventando doidices ?
E se o fórum não é mais pra ajudar.... então não tem mais sentido participar.
Aprenda a ajudar sem menosprezar, sem diminuir, já temos muitas dificuldades.
Saudações,
Itamar M. Lins Jr.
retornar ip que bloqueou o registro/arquivo
Enviado: 22 Jun 2023 17:21
por JoséQuintas
Itamar M. Lins Jr. escreveu:Bloqueio é essencial tem em todos os BONS SGBD.
Vamos a pergunta mais importante:
O que interessa é: VOCÊ, NO SEU APLICATIVO EM DBF, deixa o registro bloqueado até o usuário terminar de alterar?
Ou vai dizer... O LETTO libera automático se o usuário sumir.
Porque aí não é DBF, e não tem nada a ver com o assunto do tópico.
retornar ip que bloqueou o registro/arquivo
Enviado: 22 Jun 2023 17:45
por JoséQuintas
Itamar M. Lins Jr. escreveu:Quem usa DBF pode usar o LETODBf que te dar o IP da maquina o usuário e os DBFs abertos.
Só não tem os comandos SQL o resto ou as principais características do SGBD tem. SGBD(Sistemas Gerenciadores de Bancos de Dados -> Mysql, Oracle, etc)
Tem coisa que o MySQL antigo não tem que é a CRIPTOGRAFIA dos DADOS. E sim MUITO MAIS SIMPLES de usar a criptografia.
Vamos a essa superioridade do LetTODBF....
Você vai saber o usuário, IP, e tudo mais.
Então, o usuário tá lá na outra cidade, você vai, pega o telefone, liga lá pro usuário, pra pedir pra ele liberar.
Talvez antes da ligação completar, o usuário já tenha liberado.
No final do mês:
A conta de telefone baixou muito depois que trocamos DBF pra Lettodbf.
Graças à informação disponível no Lettodbf, não precisamos fazer ligações pra todo mundo, ligamos diretamente pra pessoa que está bloqueando o registro.
Não precisar ligar mais fica pra uma versão futura kkkkk
retornar ip que bloqueou o registro/arquivo
Enviado: 22 Jun 2023 17:49
por Itamar M. Lins Jr.
Olá!
Esquece LetoDb.
Usando DBF em rede, a TRAVA(LOCK) só ocorre durante a GRAVAÇÃO(REPLACE) seguido do UNLOCK, não fica a cargo do usuário decidir isso.
ISSO É BÁSICO DO BÁSICO EM REDES.
Qual é a UTILIDADE de APLICAR LOCK em um registro e deixar isso a vontade do usuário de DESBLOQUEAR ?
Quando o usuário CLICA no BOTÃO GRAVAR, vai mudar todos os FIELDS do DBF que precisam ser ALTERADOS.
LEITURA para ALTERAR registro, jogar na tela os dados para serem modificados não precisa de LOCK/TRAVA.
Pode pedir para alterar/incluir ir para casa e voltar na semana seguinte... Não afetou nada...Não usamos rlock/flock para isso.
Esqueceu ?
Saudações,
Itamar M. Lins Jr.
retornar ip que bloqueou o registro/arquivo
Enviado: 22 Jun 2023 17:53
por Itamar M. Lins Jr.
Olá!
Você vai saber o usuário, IP, e tudo mais.
Então, o usuário tá lá na outra cidade, você vai, pega o telefone, liga lá pro usuário, pra pedir pra ele liberar.
Talvez antes da ligação completar, o usuário já tenha liberado.
Aproveita que amanhã é comemorado o São João e compra uns fogos de artifício, compra algo para beber do seu gosto... Aqui na minha cidade temos até fogueiras. Vai se divertir.
Saudações,
Itamar M. Lins Jr.
retornar ip que bloqueou o registro/arquivo
Enviado: 22 Jun 2023 18:41
por Fernando queiroz
KKKKKKKKK, quando comecei a mudar par MARIADB tinha essa de LOCK mais depois de um tempo vi que é uma baita besteira
taca o pau e grava somente o necessário,
ontem depois dessa query,
cSQL:="SELECT "
cSQ+="IF(fornecedores.DESCONTO_MAX IS NULL,0.00, fornecedores.DESCONTO_MAX) AS DESCONTO_MAX, "
cSQ+="SUM(pedidositens.VLRTOT) AS SUB_TOTAL "
cSQ+="FROM pedidositens "
cSQ+="INNER JOIN pedidos ON pedidos.PEDIDOS_Id = pedidositens.PEDIDOS_ID "
cSQ+="LEFT JOIN fornecedores ON fornecedores.FORNECEDORES_Id = pedidos.CLIENTE_ID "
cSQ+="WHERE pedidositens.PEDIDOS_ID = '" + strzero(::nPedidos_Id,11,0) + "' "
NO CASO eu somo os itens do pedido que esta na tabela (pedidositens) , com o join eu pego o código do cliente na tabela de pedido
e com o código do cliente (pedidos.CLIENTE_ID ) eu verifico se ele tem um desconto especial na tabela de clientes(fornecedores.FORNECEDORES_Id)
o NULL no "IF(fornecedores.DESCONTO_MAX IS NULL,0.00, fornecedores.DESCONTO_MAX) AS DESCONTO_MAX, "
é para caso do pedido nao ter um cliente cadastrado
quero ver o LETODB fazer isso em milesimos de segundos
obs: minha tabela de clientes se chama fornecedores pois engloba tudo, clientes, fornecedores, funcionarios, transportadoras
retornar ip que bloqueou o registro/arquivo
Enviado: 22 Jun 2023 19:08
por Itamar M. Lins Jr.
Olá!
quero ver o LETODB fazer isso em milesimos de segundos
DBF faz isso sem LetoDB.
Já leu a discussão ? O rapaz quer saber IP/Usuario/DBF aberto. Não tem nada com performance.
Só disse que o LetoDB tem isso.
retorne o ip/usuário que efetuou o bloqueio de um registro/arquivo e não desbloqueou.
O DBF (DELE) está com registro TRAVADO sabe lá pq, provavelmente o UNLOCK não foi feito.
Eu sei que o MariaDB é SUPERIOR ao LetoDBf... Não estamos discutindo isso.
Dai sabe-se lá como inventou-se essa TRAVA DE REGISTRO PELO SISTEMA e que fica a MERCÊ do usuário.
Ele deve procurar essa FALHA (se tem) no sistema dele e colocar o UNLOCK lá para impedir isso.
Saudações,
Itamar M. Lins Jr.