Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×

seva

Membros
  • Total de itens

    8
  • Registro em

  • Última visita

  • Dias Ganho

    3

seva ganhou pela última vez em 19 de julho 2023

seva teve o conteúdo mais curtido!

Sobre seva

  • Data de Nascimento 03-03-1989

Últimos Visitantes

696 visualizações

Conquistas de seva

Novato

Novato (2/10)

  • Primeiro Post
  • Iniciador de Conversa
  • Um Ano se Passou
  • Primeiro Mês Completo
  • Primeira Semana Concluída

Distintivos Recentes

7

Reputação

  1. Pablo, Também uso Oracle aqui (o Jair sql server), e ao baixar e executar a SQL que o jair anexou, também ocorre o mesmo erro para mim. Acho que isso ocorre por um conjunto de coisas (adequando elas, consegui rodar aqui - então deixo a dica para vocês): . tem uns caracteres de 'espaço' (não sei se é um 'tab' ou o que) que esta dando erro.. então eu aconselho apagar todos os espaços da sql e colocar de novo aqueles que forem necessários . tirar os colchedes do nome das colunas (ex: ali no 'as [ACUMULADOR3]') . substituir o substring por substr . substituir o isnull por nlv . arrumar em um local no arquivo veio escrito 'VALOREND' enquanto deveria ser 'VALOR END' Acho que é isso...
  2. Bom dia, Vi que já foi solucionado e resolvido, mas complementando com outra possível solução (pensando que em futuros casos parecidos possa ser resolvido assim)... Digamos que o RM tivesse limitação e não aceitasse mais de um email de uma vez só.. a solução nesses casos seria alterar a lógica da tua formula visual para que envie só para um email só por vez. Exemplo: se até então tu tinha um loop pelas cobranças, e para cada cobrança buscava e enviada os emails... Teria que mudar para um loop pelos emails dos fornecedores que tem cobranças (aí aquele fornecedor que tem 2 emails, iria trazer 2 registros) e consequentemente iria enviar o email 1 a 1 corretamente.
  3. Bom dia, Vou deixar uma outra solução abaixo (funciona tão bem quanto a que o Jair enviou na última mensagem, é só uma outra forma de fazer), e já aproveito para deixar outra dica... Não sei até que ponto você conhece SQL, ou recebeu essa consulta já pronta e precisava adicionar o nome da mãe... Conforme tiver demandas desse tipo, nas telas do RM é sempre possível identificar qual a tabela e o campo do banco de dados que guarda as informações. Para isso você precisa ir na tela (ness exemplo vá na tela que grava os dependentes de um funcionario), clique com o botão direito do mouse em uma área vazia, e selecione 'visualizar nome dos campos', após, ao passar o mouse em cima de um campo, será exibido o nome da tabela . nome do campo (nesse exemplo verá que os dados são da PFDEPEND, que é a tabela que você precisa adicionar no relacionamento/join do seu sql). A maioria das tabelas ligadas ao funcionário tem relacionamento por codcoligada e chapa, e nesse caso precisa filtrar pelo grau de parentesco para pegar só o do tipo 'mãe'. Se tiver dificuldades com join, sugiro procurar algum material sobre join para aprender (aqui no forum ou pelo google mesmo vai achar). Outra solução (tirei os campos do select e o order by, para ficar mais curto e facilitar): SELECT * FROM PFUNC LEFT OUTER JOIN AHORARIO ON (((PFUNC.CODCOLIGADA = AHORARIO.CODCOLIGADA) AND (PFUNC.CODHORARIO = AHORARIO.CODIGO))) LEFT OUTER JOIN PCODSITUACAO ON (((PFUNC.CODSITUACAO = PCODSITUACAO.CODCLIENTE))) LEFT OUTER JOIN PFUNCAO ON (((PFUNC.CODCOLIGADA = PFUNCAO.CODCOLIGADA) AND (PFUNC.CODFUNCAO = PFUNCAO.CODIGO)) OR ((PFUNC.CODCOLIGADA = PFUNCAO.CODCOLIGADA) AND (PFUNC.CODFUNCAOCONF = PFUNCAO.CODIGO))) LEFT OUTER JOIN PPESSOA ON (((PFUNC.CODPESSOA = PPESSOA.CODIGO))) LEFT OUTER JOIN PSECAO ON (((PFUNC.CODCOLIGADA = PSECAO.CODCOLIGADA) AND (PFUNC.CODSECAO = PSECAO.CODIGO))) LEFT OUTER JOIN PFDEPEND ON (PFUNC.CODCOLIGADA = PFDEPEND.CODCOLIGADA AND PFUNC.CHAPA = PFDEPEND.CHAPA AND PFDEPEND.GRAUPARENTESCO = '7') WHERE PFUNC.CODSITUACAO <> 'D' AND PFUNC.CODCOLIGADA = :PLN_H2_S AND PFUNC.CODFILIAL = :PLN_H3_S
  4. Bom dia Não sei se entendi exatamente o que você precisa (qualquer coisa responde aí e vamos ajudando.. trabalho com Oracle, talvez consiga ajudar). Você quer ver as conexões ativas no banco de dados? Tenta dar um select na tabela v$session e aí tem um campo com o status indicando ativo ou inativo, que você pode filtrar. As conexoes a partir do RM, normalmente na colunas colunas Program ou module vai ter RM.host ou RM.algumaCoisa
  5. Bom dia amigo, Se for para bloquear o campo para todos os usuários, eu particularmente prefiro bloquear via Formula Visual, pois se bloquear no perfil de acesso, sempre que criar um perfil de acesso novo, vai ter que 'lembrar' de bloquear esse campo. Dica extra: aqui tenho várias FV que bloqueiam acesso a campo do módulo da Folha de pagto, por exemplo. Aí tenho usuários chave desse módulo que manjam mais desse módulo e tem um perfil com mais acesos... Aí eu deixo liberado pra eles, faço um if na fórmula visual deixando o perfil deles liberado (futuramente vou criar um metqdados para cadastrar os perfis de usuários chave e facilitar a manutenção).
  6. Boa tarde Galera, A solução via FV acho que é viável e funciona bem, porém deixo uma outra solução que acho que seria mais simples, ou para quem não 'domina' FV: Indo no parametrizador da Folha (Menu Ambiente > Parametros > Folha de Pagto), ir no item Rescisão , e lá tem um campo 'Formula para mensagem ao calcular rescisão'. Lá deve ser informada uma fórmula. Se essa fórmula retornar um texto, esse texto será exibido em uma popup quando abrir a tela de rescisão para um funcionário (visão de funcionário, icone 'rescisão'). Se a formula retornar em branco, não ocorre nada. Na fórmula pode ser implementada uma lógica para avaliar se o funcionário preenche cota PCD (pode usar SQL caso necessário).. e caso ele preenche, retorna uma mensagem informando isso. Inclusive pode ser útil para outras validações no momento da resisão. Aqui temos uma fórmula que valida algumas situações, e alerta sobre todas elas (PCD, estabilidades que o RM não trata por padrão, etc).
  7. Boa tarde Galera, Acho que a maioria já teve 'contato' com essa ferramenta (reforçando que antigamente era um 'migrador' e hoje em dia renomearam de melhor forma para se chamar 'acelerador'), mas de qualquer forma fica o aviso... Não deixem pra última hora migrar os relatórios do delphi esperando que essa ferramente vá fazer tudo (ou quase tudo) sozinho. Na minha experiencia não gostei de usa-lo, achei mais prático recriar os relatórios do zero (porém já vi pessoas dando feedback positivo sobre usar o aceleador e depois só adequar o que não ficou ok). PS: Aproveitei o momento de migrar os relatórios do delphi para o reports, e fiz toda uma revisão e estruturação dos relatórios. Padronizamos o funcionamento, os filtros, migramos tudo que deu para gerar em csv (maioria antes era pdf), já unificamos alguns relatórios parecidos (fica a dica para quem é funcionário - ou para quem é consultor fechar um projetinho).
  8. Olá pessoal, Sou novo no fórum, então desculpem qualquer deslize. Aqui onde trabalho temos uma necessidade de gerar um relatório das permissões que cada perfil de acesso tem, (mesmas informações encontradas em 'Serviços Globais > Segurança > Perfis > Dois cliques em um perfil > Processos > Relatório de Permissões aos Itens de Menu.'). Como temos aproximadamente 150 combinações de módulo x perfis, é um pouco inviável fazer manualmente, além disso a idéia é periodicamente enviar estas informações por email aos gerentes, para que possam revisar as permissões que cada usuário possui, portanto seria bastante interessante conseguir extrair isso diretamente do banco de dados. Pelo que pude perceber, a tabela GAUTZMENU armazena os menus liberados para cada funcionário, e o campo TAGMENU é o código do menu, porém não tem a descrição do nome do menu, e além disso acredito que nessa tabela não esteja quebrado pelas opções de permissão para consultar, incluir, editar, dentro outros. Abri chamado para a TOTVS, mas se negaram a passar esta informação, pois disseram que ela é propositalmente maquiada por questões de segurança. Estou na versão 11.42.82.113, no banco de dados Oracle. Obrigado desde já!
×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.