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? ×
AVISO AOS MEMBROS:

Fizemos uma atualização em 18/06/2023, e a forma de acesso ao Fórum mudou. Não mais está sendo aceito o login pelo Nome de Exibição cadastrado. Agora, apenas pelo email e pelos integradores de Login do Facebook, Google e Microsoft. O Facebook estava com uma validação pendente e já foi normalizado o acesso, já o Google, ainda estamos verificando o que está ocorrendo que não está funcionando.
Caso precisem de ajuda para o login pelo email acesse o link << Esqueci minha senha de acesso>> ou nos envie um pedido de ajuda pelo email admin@forumrm.com.br

Administração
ForumRM

Ranking

Conteúdo Popular

Mostrando conteúdos com maior reputação desde 20-11-2018 em todas as áreas

  1. Curso de TOTVS RM Reports: Acelere seu Crescimento Profissional. Deseja impulsionar sua carreira e conquistar novas oportunidades no mercado de trabalho? O curso de TOTVS RM Reports é a chave para alcançar o sucesso profissional que você tanto almeja. Descubra como extrair o máximo potencial do sistema RM Reports da TOTVS e destaque-se como um especialista na geração de relatórios eficientes e estratégicos. Por que escolher nosso curso de TOTVS RM Reports? Crescimento Profissional: Nossa formação é cuidadosamente elaborada para impulsionar seu crescimento profissional. Ao dominar o RM Reports, você estará preparado para assumir projetos desafiadores, agregar valor às empresas e destacar-se em sua área de atuação. Conhecimento Abrangente: Através de conteúdo teórico e prático, você aprenderá desde conceitos básicos até técnicas avançadas de criação e personalização de relatórios no RM Reports. Amplie suas habilidades e se torne um profissional completo, apto a atender às demandas do mercado. Aplicabilidade no Mercado: O sistema TOTVS RM Reports é amplamente utilizado por empresas de diversos setores. Ao se tornar um especialista nessa ferramenta, suas chances de inserção e ascensão no mercado de trabalho aumentam consideravelmente. Destaque-se perante os empregadores e esteja à frente da concorrência. Facilidade de Aprendizado: Nossa metodologia de ensino é dinâmica e voltada para a prática. Com instrutores experientes e didática eficiente, garantimos um aprendizado fluido e acessível para todos os alunos, independentemente do nível de conhecimento prévio. As aulas serão todas ao vivo, e serão gravadas para você poder assistir depois com tranquilidade e no tempo que desejar. 40 horas de treinamento | Tire dúvidas ao vivo | Bônus especial no final do curso! Não perca tempo, invista em você! Inscreva-se Mais informações nos links abaixo: Página de Inscrição: https://aldemir-fernandes.herospark.co/curso-totvs-rm-reports Grupo Whatsapp: https://chat.whatsapp.com/GZnjJuF0G0iDmbRBjzZDl2 Mais sobre o Autor: https://www.instagram.com/aldemirsf/ https://www.youtube.com/@Aldemirsf972
    5 pontos
  2. Boa tarde @Lucas Schulze, alguns meses atrás eu tinha feito uma query parecida para usar em um relatório, adicionei as colunas que tinha dito. Assim como o @Jair - Fórmula falou, tem que ficar de olho na clausula Where, porque é preciso indicar o mês, o ano e o período para que a query possa trazer os dados. Neste exemplo eu já deixei preenchido. SELECT CHAPA, NOME,DATAADMISSAO,CODTIPO,FUNCAO,[SALARIO BRUTO], PROVENTOS,DESCONTOS = DESCONTOS * -1, DESCRICAO FROM (SELECT PFUNC.CHAPA, PFUNC.NOME, PFUNC.DATAADMISSAO, PFUNC.CODTIPO, PFUNCAO.NOME AS FUNCAO, PFUNC.SALARIO AS [SALARIO BRUTO], PEVENTO.DESCRICAO, CASE WHEN PEVENTO.PROVDESCBASE ='P' THEN PFFINANC.VALOR ELSE 0 END PROVENTOS, CASE WHEN PEVENTO.PROVDESCBASE ='D' THEN PFFINANC.VALOR ELSE 0 END DESCONTOS FROM PFUNC LEFT OUTER JOIN PFUNCAO ON PFUNC.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND PFUNC.CODFUNCAO = PFUNCAO.CODIGO LEFT OUTER JOIN PFFINANC ON PFUNC.CODCOLIGADA = PFFINANC.CODCOLIGADA AND PFUNC.CHAPA = PFFINANC.CHAPA LEFT OUTER JOIN PEVENTO ON PFFINANC.CODCOLIGADA = PEVENTO.CODCOLIGADA AND PFFINANC.CODEVENTO = PEVENTO.CODIGO WHERE PFUNC.CODCOLIGADA ='1' AND PFUNC.CODSITUACAO= 'A' AND PFFINANC.MESCOMP ='12' AND PFFINANC.ANOCOMP ='2023' AND PFFINANC.NROPERIODO IN ('02') GROUP BY PFUNC.CHAPA, PFUNC.NOME, PFUNC.DATAADMISSAO, PFUNC.CODTIPO, PFUNCAO.NOME, PFUNC.SALARIO, PEVENTO.PROVDESCBASE, PFFINANC.VALOR, PEVENTO.DESCRICAO )AAA GROUP BY CHAPA, NOME,DATAADMISSAO,CODTIPO,FUNCAO,[SALARIO BRUTO],PROVENTOS,DESCONTOS, DESCRICAO ORDER BY NOME Espero ter ajudado, qualquer coisa estou a disposição.
    4 pontos
  3. Que tal uma campanha aqui no fórum, para usuários que mais postarem, para ganhar acesso VIP ? A partir de hoje, até o final deste mês, todos os usuários que postarem por aqui no fórum, colaborarem com os amigos ajudando, apoiando, etc., e enviarem arquivos para downloads, etc. irão pontuar para participar. Os 8 primeiros membros que mais pontuarem ganharão um cupom de acesso VIP, que poderá ser usado pelo próprio membro ou doado para outro membro, a seu critério. Premiação: 5 Cupons no valor de R$ 35,00 - Equivalente ao VIP Mensal 2 Cupons no valor de R$ 70,00 - Equivalente ao VIP Semestral 1 Cupom no valor de R$ 100,00 - Equivalente ao VIP Anual Observações Gerais / Regras: Período de validade da promoção: 24/06/2023 as 00:01 até o dia 30/06/2023 as 23:59; Cada post valerá 1 (um) ponto na contagem geral; Postagem de arquivos de relatórios, scripts, manuais, e outros que sejam úteis aos membros, seja como anexos ou na área de arquivos/downloads valerão 2 (dois) pontos; Os cupons são válidos para adquirir um acesso VIP, para renovação, em caso de membros que já possuam, ou para doação para terceiros. Não serão pagos em dinheiro em hipótese alguma. 5 cupons serão doados como prêmios da promoção aos membros da 4a. a 8a. colocações na contagem geral de posts/pontos deste período; 2 cupons serão doados aos membros da 2a. e 3a. colocação na contagem geral de posts/pontos do período; 1 cupom será doado como premiação ao membro com mais pontuação na contagem de posts/posts; Como critério de desempate, se necessário, serão considerados os posts com mais agradecimentos/reações (qualquer tipo de agradecimento, com exceção de avaliação negativa); A divulgação dos ganhadores será feita no dia 03/07/2023; Posts em quaisquer áreas podem ser considerados; Não façam posts apenas por postar, para contar e participar. Posts simples demais, com por exemplo apenas um agradecimento, pode não valer... Faça posts que sejam construtivos, com pedidos, ajuda, e colaborações em geral, senão, podemos não considerar como válido algum post na sua contagem, então o mesmo pode ser deletado e não contará para o resultado geral; Até o final da promoção, novas regras poderão ser adicionadas ou alteradas se julgarmos necessários; Vamos lá... boa sorte, e bons posts!!
    4 pontos
  4. Esse manual irá te ajudar a identificar: - uma tabela a partir de uma tela de cadastro. - entender como foi criada a tabela GLINKSREL - a executar comandos em SQL e outros. treinamentodesql.pptx
    4 pontos
  5. Se você nunca fez uma fórmula visual (FV) mas tem vontade de aprender, não perde esse video por nada. #totvsrm #formulavisual #chamaosbruxo
    4 pontos
  6. Versão 1.0.0

    38 downloads

    Boa tarde pessoal. Estou compartilhando um material dos geradores de RM Reports/Cubos.Net/Planilhas.Net Espero que seja útil a vocês!
    4 pontos
  7. Pessoal, boa tarde!! Fiz um script para consultar esses dados via banco, acho que fica mais fácil e da até para montar alguns joins !! Tabela: ZTABELASTAF ZTABELASTAF.rar
    4 pontos
  8. A TOTVS está atualmente com vários aplicativos que nos ajudam pra diversas coisas. Mas são tantos aplicativos, que as vezes até esquecemos os nomes deles. Vou postar aqui uma lista com todos os mais usados, e suas siglas. Se eu esquecer de algum, ajuda ai, e manda pra nós respondendo no tópico, ok? TAE - TOTVS Assinatura Eletrônica TAF - TOTVS Automação Fiscal TAS - TOTVS API Services TBC - TOTVS Business Connect TPF - TOTVS Processos Fiscais TSS - TOTVS Service SOA ou TOTVS SERVICE SPED -------------------------------------------------- TAE - TOTVS Assinatura Eletrônica TAF - TOTVS Automação Fiscal O Automação Fiscal na versão Full (completa) é a plataforma da TOTVS especializada na consolidação dos movimentos fiscais de forma +Compacta, +Simples e +Segura para atender as obrigações acessórias impostas pelo Governo atendendo aos mais diversos cenários sistêmicos/tributários existentes. Trata-se de uma plataforma segregada com controles próprios e funcionalidades importantes para conferir as informações e agilizar entregas, reduzindo complexidades, removendo e unificando a carga de manutenção das informações, além de possuir um repositório segregado para histórico das movimentações declaradas. Quais as principais obrigações que o TAF Full atende ? Dentre várias destacamos a seguir as obrigações federais que o produto atende, são elas: eSocial, EFD REINF, ECF, apuração do LALUR, dentre outras. O sistema permite ao cliente consolidar as informações de múltiplas origens sistêmicas para simplificar a conferência, controle, transmissão e armazenamento de dados fiscais de forma rápida, simples e segura. Possui instalador e atualizador próprio, com expedições periódicas contendo todas as legislações, ajustes e inovações liberadas pelo produto. Mais informações: https://tdn.totvs.com/pages/releaseview.action?pageId=528452003 TAS - TOTVS API Services O TOTVS API Services facilita o serviço de consulta automática à bases de dados públicas e automatiza o preenchimento de registros a partir dessas bases externas. As consultas são realizadas por meio de webservice e não demandam alta infraestrutura. Esse aplicativo substituiu o TOTVS MASHUPS, que era usado anteriormente para essas consultas. https://totvs.store/br/produto/totvs-api-services.html Mais informações de como configurar o recurso: https://centraldeatendimento.totvs.com/hc/pt-br/articles/360004093711-Cross-Segmentos-Backoffice-RM-Integração-TAS-Como-configurar-uma-consulta-no-TOTVS-API-Service TBC - TOTVS Business Connect O TOTVS Business Connect permite a conexão de arquivos textos, XML, Data Servers (RM.Net), Banco de Dados (SQL), Transformações e Operações, Agendamento de execução de conceito e WebServices. Em geral, podemos dizer que funciona para extração, transformação, carga de dados e integrações. Lista de serviços web do TBC (endereço não oficial) --> http://181.41.178.115:444/ Aviso de substituição da Integração do TBC via IIS para TBC via Host TPF - TOTVS Processos Fiscais O TOTVS Processos Fiscais é um sistema on-line que assegura a transmissão e o armazenamento de documentos fiscais eletrônicos emitidos e recebidos pela empresa. A ferramenta possibilita a gestão centralizada de documentos eletrônicos e Certificados Digitais, e ações fiscais como: Manifestação do Destinatário Monitoramento do CNPJ Carta de Correção Custódia e validação dos XMLs Recuperação de arquivo XML LINK Oficial: https://totvs.store/br/produto/totvs-processos-fiscais-1.html TSS - TOTVS Service SOA ou TOTVS SERVICE SPED Consiste em um servidor (appserver) que responderá e realizará requisições de serviços via WebService. Este servidor tem o objetivo de realizar a comunicação entre os serviços disponibilizados pelo fisco e prefeituras, especialmente os serviços de Nota Fiscal Eletrônica de Produtos e de Serviço, SPED Contábil e Fiscal, e-Social, REINF, entre outros. ----- Eu sei que tem mais... quem pode ajudar por aqui??
    3 pontos
  9. @Carlos Rogerio Das Dores, boa tarde! Para fazer isso, você utilizara o conceito de PIVOT na estrutura da query para montá-la... No SQLServer existe duas formas, fixa, ou seja, você saber quantas colunas irá criar e/ou dinâmica que precisa executar de instruções de procedures, logo para utilizar dentro na aplicação, tens que tratar com uma criação de tabela, utilizando uma PROC anexo a consulta SQL. Deixo meus exemplos T-SQL/QUERIES/PIVOT.sql at master · luisgustavogomes/T-SQL · GitHub T-SQL/QUERIES/PIVOT DINAMICO.sql at master · luisgustavogomes/T-SQL · GitHub Caso não consigas, pode nos informar que lhe ajudamos. Abraços.
    3 pontos
  10. Bom dia pessoal, tudo bem? Depois de tanto apanhar consegui! Vou compartilhar aqui como eu consegui: https://centraldeatendimento.totvs.com/hc/pt-br/articles/360007049912-Cross-Segmentos-Backoffice-RM-BI-Não-imprimir-se-SubDetalhes-forem-vazios-RMREPORTS isso me ajudou bastante!
    3 pontos
  11. Bom dia @samuel.jnascimento É possível via fórmula visual, e para ter um melhor desempenho sugiro utilizar a atividade código fonte Segue em anexo um exemplo da FV, o gatilho será "Após a Leitura da Visão" da FopFuncData Coluna Grau de Instrução.TotvsWF
    3 pontos
  12. Em alguns processos, o sistema mantem a tela bloqueada não permitindo ao usuário fazer nada, até que seja finalizado o processo solicitado. É em possível em alguns casos, colocar o processo para rodar em seguindo plano liberando assim a tela para continuar efetuando outros trabalhos. Se você precisa usar essa dica, veja nessa parte abaixo, na primeira tela do processo que vai executar, se tem essa opção habilitada. Caso tenha, marque e siga normalmente, que não ficará bloqueado ai pra você. Veja que, por padrão, não vem com esse TICK indicando para "Aguardar Execução do Processo". Marque, e siga normalmente clicando no botão AVANÇAR...
    3 pontos
  13. Boa tarde, o conversor de Gerador Delphi para RM Reports foi retirado há algumas versões o que complicou para muitos, já que agilizava a tarefa e não convertia tudo de forma 100%. A TOTVS acabou retirando pois tinha um retorno de que não funcionava, e que não adiantava ter, etc., e após uma conversa com o pessoal do desenvolvimento do produto, conseguimos que o mesmo fosse reinserido no sistema, mas agora, passa a se chamar Acelerador (pois não converte tudo) e está novamente disponível à partir dos patches abaixo: 12.1.2306.104 12.1.2302.160 12.1.2209.237 Mais informações, acesse: https://centraldeatendimento.totvs.com/hc/pt-br/articles/360008951631-Cross-Segmentos-Backoffice-RM-BI-Conversão-de-relatórios-Delphi-para-NET-Reports- Fonte: TOTVS.com.br
    3 pontos
  14. @Yalison, bom dia Seu problema está no rmsSendEmailActivity ?, se sim, vou deixar uma sequencia de prints para lhe explicar. Vou começar pelo final o objeto rmsSendEmailActivity precisa passar uma sequencia de bytes para conseguir acessar o arquivo gerado. Para obter o relatório você previamente já gerou o process do relatório e o mesmo está armazenado na tabela GRELBATCH, portanto, deves retornar essa informação, no meu exemplo, utilizei o objeto rmsConsSQLActivity, vide exemplo: A consulta "query" que utilizo no SQLSERVER para capturar o dado na tabela é a seguinte: Desta forma, conseguimos enviar somente um anexo via e-mail, existem diversas formas de chegar ao mesmo resultado, sendo assim, segue o exemplo e espero que lhe ajude! Ficamos no seu aguardo. Abraços.
    3 pontos
  15. Olha esse campo que está como leitura ,pode ser perfil. Você já tentou realizar o processo com um usuário com perfil DBA nos dois módulos? Tive um problema parecido num cliente e o perfil do Liber tinha alguns acessos sem permissão na parte Delphi. Tenta postar sua FV que fica mais fácil para alguém avaliar o erro e te ajudar pois só o print sem estar no ambiente do cliente fica complicado ajudar... Abraços!
    3 pontos
  16. Bom dia. Eu crio views no banco de dados e puxo destas views para o Power BI. Alguns abaixo: 1. Absenteismo: SELECT DISTINCT dbo.PFUNC.CODCOLIGADA, dbo.GCOLIGADA.NOME AS COLIGADA, dbo.PFUNC.NOME AS FUNCIONARIO, RIGHT(LEFT(dbo.PFUNC.CODSECAO, 6), 3) AS CODSECAO, dbo.PSECAO.DESCRICAO AS SECAO, dbo.PFFINANC.REF AS FALTAS, dbo.PFFINANC.MESCOMP AS MES, dbo.PFFINANC.ANOCOMP AS ANO, dbo.PFFINANC.DTPAGTO, UPPER(dbo.PSECAO.CIDADE) AS FILIAL, dbo.PFUNCAO.NOME AS FUNCAO FROM dbo.PFUNC WITH (NOLOCK) INNER JOIN dbo.GCOLIGADA WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.GCOLIGADA.CODCOLIGADA INNER JOIN dbo.GFILIAL WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.GFILIAL.CODCOLIGADA INNER JOIN dbo.PSECAO WITH (NOLOCK) ON dbo.GFILIAL.CODCOLIGADA = dbo.PSECAO.CODCOLIGADA AND dbo.PFUNC.CODSECAO = dbo.PSECAO.CODIGO AND dbo.PFUNC.CODSECAO = dbo.PSECAO.CODIGO AND dbo.GFILIAL.CODFILIAL = dbo.PSECAO.CODFILIAL INNER JOIN dbo.PFFINANC WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.PFFINANC.CODCOLIGADA AND dbo.PFUNC.CHAPA = dbo.PFFINANC.CHAPA INNER JOIN dbo.PEVENTO WITH (NOLOCK) ON dbo.PFFINANC.CODEVENTO = dbo.PEVENTO.CODIGO INNER JOIN dbo.PFUNCAO WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.PFUNCAO.CODCOLIGADA AND dbo.PFUNC.CODFUNCAO = dbo.PFUNCAO.CODIGO AND dbo.GCOLIGADA.CODCOLIGADA = dbo.PFUNCAO.CODCOLIGADA WHERE ( dbo.PEVENTO.CODIGOCALCULO = 8 ) 2. Saida Funcionários: SELECT TOP (100) PERCENT dbo.GCOLIGADA.NOME AS COLIGADA, dbo.PSECAO.DESCRICAO AS SECAO, dbo.PFUNCAO.NOME AS FUNCAO, COUNT(dbo.PFUNC.CHAPA) AS QUANTIDADE_DEMISSOES, DATEPART(MM, dbo.PFUNC.DATADEMISSAO) AS MES, DATEPART(YEAR, dbo.PFUNC.DATADEMISSAO) AS ANO, dbo.PSECAO.CIDADE AS FILIAL, dbo.PFUNC.DATADEMISSAO, dbo.PFUNC.CODSECAO FROM dbo.PFUNC WITH (NOLOCK) INNER JOIN dbo.GCOLIGADA WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.GCOLIGADA.CODCOLIGADA INNER JOIN dbo.PSECAO WITH (NOLOCK) ON dbo.GCOLIGADA.CODCOLIGADA = dbo.PSECAO.CODCOLIGADA AND dbo.PFUNC.CODSECAO = dbo.PSECAO.CODIGO INNER JOIN dbo.PFUNCAO WITH (NOLOCK) ON dbo.GCOLIGADA.CODCOLIGADA = dbo.PFUNCAO.CODCOLIGADA AND dbo.PFUNC.CODFUNCAO = dbo.PFUNCAO.CODIGO WHERE (dbo.PFUNC.DATADEMISSAO IS NOT NULL) GROUP BY dbo.GCOLIGADA.NOME, dbo.PSECAO.DESCRICAO, dbo.PFUNCAO.NOME, DATEPART(MM, dbo.PFUNC.DATADEMISSAO), DATEPART(YEAR, dbo.PFUNC.DATADEMISSAO), dbo.PSECAO.CIDADE, dbo.PFUNC.DATADEMISSAO, dbo.PFUNC.CODSECAO ORDER BY DATEPART(MONTH, dbo.PFUNC.DATADEMISSAO) 3. Entrada Funcionário: SELECT dbo.FN_FORMATAR_TEXTO(REPLACE(dbo.GCOLIGADA.NOME, '/', '')) AS COLIGADA, dbo.PFUNC.CODSECAO, dbo.PSECAO.DESCRICAO AS SECAO, dbo.PFUNCAO.NOME AS FUNCAO, COUNT(DISTINCT dbo.PFUNC.CHAPA) AS QUANTIDADE_ADMISSOES, DATEPART(MM, dbo.PFUNC.DATAADMISSAO) AS MES, DATEPART(YEAR, dbo.PFUNC.DATAADMISSAO) AS ANO, dbo.PSECAO.CIDADE AS FILIAL, dbo.PFUNC.DATAADMISSAO, dbo.GCOLIGADA.CODCOLIGADA FROM dbo.PFUNC WITH (NOLOCK) INNER JOIN dbo.GCOLIGADA WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.GCOLIGADA.CODCOLIGADA INNER JOIN dbo.PSECAO WITH (NOLOCK) ON dbo.GCOLIGADA.CODCOLIGADA = dbo.PSECAO.CODCOLIGADA AND dbo.PFUNC.CODSECAO = dbo.PSECAO.CODIGO INNER JOIN dbo.PFUNCAO WITH (NOLOCK) ON dbo.PSECAO.CODCOLIGADA = dbo.PFUNCAO.CODCOLIGADA AND dbo.PFUNC.CODFUNCAO = dbo.PFUNCAO.CODIGO GROUP BY dbo.GCOLIGADA.NOME, dbo.PFUNC.CODSECAO, dbo.PSECAO.DESCRICAO, dbo.PFUNCAO.NOME, DATEPART(MM, dbo.PFUNC.DATAADMISSAO), DATEPART(YEAR, dbo.PFUNC.DATAADMISSAO), dbo.PSECAO.CIDADE, dbo.PFUNC.DATAADMISSAO, dbo.GCOLIGADA.CODCOLIGADA 4. Folha Completa: SELECT dbo.GCOLIGADA.NOME AS COLIGADA, dbo.PFUNC.CODCOLIGADA, dbo.PFUNC.CHAPA, dbo.PFUNC.CODFILIAL, dbo.PFUNC.NOME AS NOMEFUNCIONARIO, dbo.PFUNC.SALARIO, RIGHT(LEFT(dbo.PFUNC.CODSECAO, 6), 3) AS CODSECAO, dbo.PFUNC.CODHORARIO, dbo.AHORARIO.DESCRICAO, dbo.PSECAO.DESCRICAO AS SECAO, dbo.PFUNC.CODSITUACAO, dbo.PFUNCAO.NOME AS FUNCAO, dbo.PEVENTO.PROVDESCBASE AS PDB, dbo.PEVENTO.DESCRICAO AS EVENTO, dbo.PFFINANC.ANOCOMP AS ANO, dbo.PFFINANC.MESCOMP AS MES, dbo.PFFINANC.HORA, dbo.PFFINANC.NROPERIODO, CASE WHEN PEVENTO.PROVDESCBASE = 'B' THEN PFFINANC.VALOR * 0 WHEN PEVENTO.PROVDESCBASE = 'D' THEN PFFINANC.VALOR * - 1 WHEN PEVENTO.PROVDESCBASE = 'P' THEN PFFINANC.VALOR END AS VALOR, dbo.PFCOMPL.ADM, dbo.PFCOMPL.ADOB, dbo.PFFINANC.DTPAGTO, dbo.PSECAO.CIDADE AS FILIAL, dbo.PFFINANC.CODEVENTO FROM dbo.PEVENTO WITH (NOLOCK) INNER JOIN dbo.PFFINANC WITH (NOLOCK) ON dbo.PEVENTO.CODCOLIGADA = dbo.PFFINANC.CODCOLIGADA AND dbo.PEVENTO.CODIGO = dbo.PFFINANC.CODEVENTO INNER JOIN dbo.PFUNC WITH (NOLOCK) INNER JOIN dbo.PSECAO WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.PSECAO.CODCOLIGADA AND dbo.PFUNC.CODSECAO = dbo.PSECAO.CODIGO INNER JOIN dbo.PFUNCAO WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.PFUNCAO.CODCOLIGADA AND dbo.PFUNC.CODFUNCAO = dbo.PFUNCAO.CODIGO INNER JOIN dbo.GCOLIGADA WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.GCOLIGADA.CODCOLIGADA AND dbo.PFUNCAO.CODCOLIGADA = dbo.GCOLIGADA.CODCOLIGADA AND dbo.PSECAO.CODCOLIGADA = dbo.GCOLIGADA.CODCOLIGADA ON dbo.PFFINANC.CODCOLIGADA = dbo.PFUNC.CODCOLIGADA AND dbo.PFFINANC.CHAPA = dbo.PFUNC.CHAPA AND dbo.PFFINANC.CODCOLIGADA = dbo.GCOLIGADA.CODCOLIGADA AND dbo.PEVENTO.CODCOLIGADA = dbo.GCOLIGADA.CODCOLIGADA INNER JOIN dbo.AHORARIO WITH (NOLOCK) ON dbo.PFUNC.CODHORARIO = dbo.AHORARIO.CODIGO AND dbo.GCOLIGADA.CODCOLIGADA = dbo.AHORARIO.CODCOLIGADA INNER JOIN dbo.PFCOMPL WITH (NOLOCK) ON dbo.PFUNC.CHAPA = dbo.PFCOMPL.CHAPA AND dbo.PFUNC.CODCOLIGADA = dbo.PFCOMPL.CODCOLIGADA WHERE (dbo.AHORARIO.CODCOLIGADA = dbo.AHORARIO.CODCOLIGADA) AND (dbo.PFFINANC.ANOCOMP >= 2015) AND (dbo.PEVENTO.PROVDESCBASE <> 'B') 5. Hora Extra: SELECT DISTINCT dbo.GCOLIGADA.NOME AS COLIGADA, dbo.PFUNC.NOME AS FUNCIONARIO, RIGHT(LEFT(dbo.PFUNC.CODSECAO, 6), 3) AS CODSECAO, dbo.PSECAO.DESCRICAO AS SECAO, dbo.PFFINANC.REF AS EXTRA, dbo.PFFINANC.MESCOMP AS MES, dbo.PFFINANC.ANOCOMP AS ANO, dbo.PFFINANC.DTPAGTO, dbo.PSECAO.CIDADE AS FILIAL, dbo.PFUNCAO.NOME AS FUNCAO FROM dbo.PFUNC WITH (NOLOCK) INNER JOIN dbo.GCOLIGADA WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.GCOLIGADA.CODCOLIGADA INNER JOIN dbo.GFILIAL WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.GFILIAL.CODCOLIGADA INNER JOIN dbo.PSECAO WITH (NOLOCK) ON dbo.GFILIAL.CODCOLIGADA = dbo.PSECAO.CODCOLIGADA AND dbo.PFUNC.CODSECAO = dbo.PSECAO.CODIGO AND dbo.PFUNC.CODSECAO = dbo.PSECAO.CODIGO AND dbo.GFILIAL.CODFILIAL = dbo.PSECAO.CODFILIAL INNER JOIN dbo.PFFINANC WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.PFFINANC.CODCOLIGADA AND dbo.PFUNC.CHAPA = dbo.PFFINANC.CHAPA INNER JOIN dbo.PEVENTO WITH (NOLOCK) ON dbo.PFFINANC.CODEVENTO = dbo.PEVENTO.CODIGO INNER JOIN dbo.PFUNCAO ON dbo.PFUNC.CODCOLIGADA = dbo.PFUNCAO.CODCOLIGADA AND dbo.PFUNC.CODFUNCAO = dbo.PFUNCAO.CODIGO AND dbo.GCOLIGADA.CODCOLIGADA = dbo.PFUNCAO.CODCOLIGADA WHERE (dbo.PEVENTO.CODIGO = '0054') OR (dbo.PEVENTO.CODIGO = '0055') OR (dbo.PEVENTO.CODIGO = '0191') OR (dbo.PEVENTO.CODIGO = '0372') 6. Faixas Salariais: SELECT TOP (100) PERCENT A.CHAPA, A.NOME, B.NOME AS funcao, A.SALARIO, CASE WHEN SALARIO < 1000 THEN '< 1000' WHEN SALARIO >= 1000 AND salario < 2000 THEN 'De 1000 a 2000' WHEN SALARIO >= 2000 AND salario < 3000 THEN 'De 2000 a 3000' WHEN SALARIO >= 3000 AND salario < 5000 THEN 'De 3000 a 5000' WHEN SALARIO >= 5000 AND salario < 10000 THEN 'De 5000 a 10000' ELSE '> 10000' END AS [Faixa Salarial] FROM dbo.PFUNC AS A INNER JOIN dbo.PFUNCAO AS B ON A.CODCOLIGADA = B.CODCOLIGADA AND A.CODFUNCAO = B.CODIGO WHERE (A.CODSITUACAO <> 'D') AND (A.CODSITUACAO <> 'I') ORDER BY A.SALARIO
    3 pontos
  17. [RESOLVIDO] Consegui encontrar a solução: Acessar "Opções - Parâmetros - RM Nucleus - Gestão de compras - Cotação - Definição de Escopo Filial" selecione a filial em que a cotação esta sendo inserida e de um duplo clique na mesma. Acesse a etapa Fornecedores e informe um numeral para o numero máximo e número mínimo de fornecedores para a cotação.
    3 pontos
  18. Boa noite @luisgustavogomes cheguei sim, consegui corrigir, o problema estava no .config do serviços, na tag do service hostname
    2 pontos
  19. Bom dia @Johel Santos Dentro do Totalizador, a opção valor inicial está marcado o campo das horas extras, por isso ele está somando o valor. Mude essa opção para personalizado e coloque o valor zero, acredito que com essa mudança o totalizador vai funcionar corretamente.
    2 pontos
  20. Show, agradeço o apoio aí pessoal! Fiz e ja deu certo o CUBO! Quanto as instruções do SQL, vou testar ainda, mas acredito que vai dar certo também! Valeu pessoal!
    2 pontos
  21. Boa tarde Carlos, tudo bem ? Se você conseguir trazer esses dados linha a linha em uma consulta SQL, pode usar o próprio cubo colocando os campos como "Coluna"
    2 pontos
  22. Os sistemas TOTVS RM tem um recurso de Fórmulas muito importante, o qual utiliza funções para buscar dados no próprio sistema, em tabelas, relacionadas a cálculos, e diversas formas de tratar as informações para relatórios, para calcular eventos, impostos, etc. Segue neste tópico todas as funções apresentadas nos sistemas, com exemplos, e juntando todas as diversas páginas em uma única. Cadastro de Fórmulas O Cadastro de Fórmulas nos aplicativos RM terá, basicamente, três principais objetivos, dentre eles: Seleção (restrição da aplicabilidade de alguma operação). Definição da forma de cálculo de eventos específicos, inclusive do tipo "base de cálculo", que servem de referência para outros cálculos. Relacionamento de valores entre os eventos. O editor de fórmulas possui um campo de texto para que você monte as estruturas das fórmulas. Usando o editor de fórmulas, as funções e comandos desejados para a criação da fórmula serão movidos para o campo de texto, bastando clicar duas vezes sobre as opções função, comando ou parâmetro. Observação Funções podem ser escritas com letras maiúsculas e/ou minúsculas. Na fórmula só poderão ser incluídas até 50 constantes. O parâmetro crítica global permite que uma fórmula possa ser usada em uma crítica global dos sistemas, a fim de fazer a validação ou cálculo necessário para o processo que a usar. Exemplo No sistema de Folha de Pagamento esta opção é marcada para indicar que a fórmula deverá ser processada para todos os funcionários selecionados durante o processo de Crítica da Folha (Rotinas | Crítica da Folha). Fórmulas de crítica servem para verificar se determinado evento foi ou não calculado para um funcionário ou grupo de funcionários. O parâmetro Fórmula de Seleção deverá ser marcada para distinguir todas as fórmulas que são usadas como seleção. Exemplo Nos módulos dos relatórios internos do módulo Automação de Ponto, como relatório do Espelho de Cartão de Ponto, pode-se utilizar uma fórmula para selecionar alguns funcionários. No campo de Fórmula de seleção só serão listadas as fórmulas que estiverem com o parâmetro "Fórmula de seleção" marcado. Para testar as fórmulas, é preciso definir um “Contexto”, ou seja, Clique no ícone para selecionar o contexto da execução da fórmula, isto é, para qual ou quem a fórmula será executada. Exemplo: Para qual produto (Gestão de Estoque) ou para que funcionário (Folha de Pagamento) a fórmula será executada. A caixa de diálogo Seleção de Contexto será apresentada. Clique no ícone para testar a fórmula. Caso o contexto ainda não tenha sido selecionado, a caixa de diálogo Seleção de Contexto será apresentada automaticamente. Gerar LOG para fórmulas No módulo Serviços Globais é possível gerar arquivos de LOG de fórmulas, que tem como finalidade registrar em um arquivo informações sobre a execução da fórmula. Para gerar um arquivo de LOG de fórmula é necessário clicar duas vezes sobre um registro de fórmula na tela de visão das fórmulas. O parâmetro ‘Acompanhar execução e salvar no arquivo:’ permite exibir o arquivo com os dados da LOG após o término do Resultado da fórmula. Abaixo deste campo o sistema apresenta o campo de texto onde é apresentado o nome e extensão do arquivo onde os dados do LOG serão gravados. Ao acionar o botão Resultado, o sistema executa o cálculo da fórmula e apresenta seu valor. Para testar Fórmula Automaticamente ao Salvar, Marque esta opção para que o sistema automaticamente teste a fórmula quando esta for salva. O resultado da fórmula será apresentado no campo resultado. No cadastro de fórmulas também são exibidas a data e hora da última alteração realizada na fórmula, bem como o Usuário responsável, que exibe o usuário que realizou a última alteração na fórmula. Observação A fórmula não precisa ser gravada para que o teste seja executado. O resultado de uma fórmula será apresentado com N casas decimais, conforme o produto que o usuário estiver utilizando. Exemplo Caso o usuário esteja utilizando o módulo Folha de Pagamento, o resultado será exibido com 4 (quatro) casas decimais. Aplicação das fórmulas Uma aplicação para as fórmulas são os campos complementares, onde têm a função de validar um determinado valor, como por exemplo, a utilização de fórmula para validação de pré-requisito de disciplinas, cálculo de insumos. Para validar o campo complementar basta associar a fórmula desejada ao campo complementar, para que esta valide o conteúdo do campo complementar quando você incluir um valor para ele. Outra finalidade é o seu uso em consultas SQL e relatórios do sistema. Pelos relatórios você inclui as fórmulas deslocando o componente de fórmulas e associando-o a uma fórmula cadastrada no sistema. Já nas Consultas SQL as fórmulas devem ser incluídas passando um comando específico para informar que você está utilizando uma fórmula do sistema. Exemplo SELECT CHAPA, SALARIO FROM PFUNC WHERE CHAPA = :FRM_CHAPA; Fórmulas em VB.NET No módulo Globais é possível criar e executar fórmulas em VB.Net. Esta funcionalidade tem como objetivo permitir que usuários também utilizem da linguagem VB.net para elaborar e executar fórmulas no RM.exe, além das Fórmulas RM. Na aba administração, selecione a action Fórmulas. Após definir e executar um filtro, selecione agora um Sistema e logo após a opção Novo, para que o a janela para inserção de uma nova Fórmula seja exibida. Preencha os campos Código e Título. No campo Linguagem, selecione a opção VB. NET. Insira no campo destinado a elaboração das fórmulas, uma fórmula válida elaborada na linguagem VB.NET . Acione o botão Contexto, informe um contexto para execução e execute-o. Ao acionar o botão Resultado, o sistema irá exibir o resultado da fórmula inserida na linguagem VB.NET. Selecione a opção Salvar e o sistema registrará a fórmula em VB.NET, exibindo a mesma na listagem de fórmulas do sistema. Fórmulas Globais As fórmulas globais são aquelas apresentadas para todos os módulos do sistema, e são passíveis de uso em qualquer um deles. Conheça as fórmulas globais: EXECSQL Executa uma consulta SQL. Caso a execução tenha pelo menos uma linha de resultado, está variável retorna VERDADE. Sua sintaxe é: EXECSQL(‘código da consulta SQL’). Exemplo: EXECSQL('Codigo_Consulta_SQL') PROXREGSQL Avança um registro na Consulta SQL executada. Sua sintaxe é: PROXREGSQL('código da consulta sql') Exemplo: PROXREGSQL('Codigo_Consulta_SQL') RESULTSQL Esta função lê uma linha do resultado da execução da SQL. Sua sintaxe é: RESULTSQL('código da consulta sql', 'nome do campo') Exemplo: RESULTSQL('Codigo_Consulta_SQL', 'SALARIO') Fórmulas específicas para o RM Labore - Gestão de Folha de Pagamento A utilização de fórmulas no RMLabore se faz necessário, por exemplo, em situações em que o código de cálculo nos eventos do Labore, em sua forma nativa, não possuem o comportamento desejado perante as regras de negocio da empresa. Fórmulas / Funções - A Função A = Retorna valor de um acumulador Sintaxe = A (‘CÓD. DO ACUMULADOR) Tipo de Retorno = Valor Exemplo: Código da fórmula: AC01 = Retorna valor do acumulador de código 01 (Comissão). Texto da fórmula: A(‘01’) Observação: O código do acumulador deve ser informado entre aspas. Os acumuladores são incluídos ou editados no cadastro de tabelas dinâmicas. No cadastro de eventos, você define se valores deste serão guardados em determinado acumulador. Atenção: As variáveis de fórmula que são relativas à movimentação do funcionário, como a A, não devem ser utilizados para fórmula de seleção. Porque no momento da seleção, o sistema ainda não executou a movimentação do funcionário. Desta forma, estas funções/variáveis irão retornar sempre "zero". Função ABS = Valor Absoluto Sintaxe = ABS (VALOR) Tipo de Retorno = Valor Função ACUMFF = Acumulador de ficha financeira Sintaxe = ACUMFF(MÊS, ANO, 'CÓD. DO ACUMULADOR') Tipo de Retorno = Valor Observação: Este acumulador deverá ser criado em TABELAS DINÂMICAS - INT34 Função ADIANT = Retorna percentual de adiantamento Sintaxe = ADIANT Tipo de Retorno = Valor Exemplo: ADIANT Supondo que o funcionário Antônio tem um percentual de adiantamento de 40%, o retorno da fórmula, para esse funcionário, seria 40. Função ADMDEM = Retorna admitido ou demitido no mês Sintaxe = ADMDEM Tipo de Retorno = Valor Exemplo: ADMDEM Supondo que o funcionário Itamar foi admitido ou demitido no mês de competência, o retorno será 1. Se houvesse sido admitido ou demitido em outros meses, retornará 0. Função ALTEROUCADASTRO = Retorna 1 se houver alteração no cadastro do funcionário e 0 se não houver alteração. Sintaxe = ALTEROUCADASTRO(‘string’) Tipo de Retorno = Valor Observação: Na sintaxe, o campo string deverá ser informado com qual campo do cadastro será validado. Exemplo: ALTEROUCADASTRO ('FUNCAO') ALTEROUCADASTRO ('SECAO') Esta função está contemplando se houve alteração no cadastro dos campos: FUNCAO e SECAO. Dica: Esta função poderá ser utilizada no campo Fórmula para Criticar o Cadastro de Funcionários no parametrizador em Folha de Pagamento | Funcionário | Restrições Cadastrais. Função ANO = Retorna ano de competência. Sintaxe = ANO Tipo de Retorno = Valor Função ANOCX = Retorna ano-caixa. Sintaxe = ANOCX Tipo de Retorno = Valor Função ANODT = Retorna ano de uma data. Sintaxe = ANODT (‘DATA’) Tipo de Retorno = Valor Exemplo: ANODT(‘23/01/1997’) Retorna: 1997 ANODT (DNASCIM) Supondo que a data de nascimento de um funcionário seja 10/09/1961, retorna 1961. Dica: No parâmetro DATA da sintaxe pode ser uma função que retorna data no lugar da data específica. Função ARRED = Arredonda um valor sem casas decimais. Sintaxe = ARRED (VALOR) Tipo de Retorno = Valor Função ARREDONDA = Arredonda um valor com casas decimais. Sintaxe = ARREDONDA (VALOR, VALOR) Tipo de Retorno = Valor Exemplo: Quando há várias casas decimais e o arredondamento será apenas para duas casas decimais: ARREDONDA(777.7784,2) = 777,78 Função ARREDVALOR = Arredonda um valor com casas decimais. Sintaxe = ARRED (VALOR, VALOR) Tipo de Retorno = Valor Função ASCII = Retorna o código ASCII de um caractere. Sintaxe = ASCII (‘STRING’) Tipo de Retorno = Valor Função ATRIBUI = Atribui valor a uma memória. Sintaxe = ATRIBUI(NÚMERO DA MEMÓRIA, INDEFINIDO) Tipo de Retorno = De acordo com o que for atribuído à memória Exemplo: ATRIBUI (1, RC) Memória de nº 1 guardará valor do salário nominal.
    2 pontos
  23. Rachel, Temos aqui um filtro semelhante a este em uma ficha financeira, fiz um exemplo no arquivo anexo para te demonstrar. Usa apenas 1 digito para mês e numero de período, quando for menor que 10. Usa também o filtro de data de admissão <'01/08/2023' para o filtro de funcionário, no nosso existe 2 filtros de funcionário, na terceira imagem do arquivo anexo você pode ver. Usar BETWEEN também é interessante como o colega mencionou, quando vc for ver mais de um mês ou mais de um período. De resto inclua os outros filtros que você precisa, qualquer coisa fala. Filtro.docx
    2 pontos
  24. Boa tarde @Alexsandro Santos Acho que "nativamente" no reports não existe isso... Mas talvez uma solução seria você pensar em uma lógica para retornar mais uma coluna na sua consulta SQL e usar ela como validação para a "linha" que desejar mudar a cor, ai no reports com a formatação condicional você consegue destacar a informação
    2 pontos
  25. É... o conceito das FVs é esse mesmo. Não usar para dar alertas (POP UP) ao usuário. O que poderia ser feito, é abrir um chamado na TOTVS pedindo isso. Reforçando, pois, com certeza muita gente já pediu isso.
    2 pontos
  26. Obrigado por testarem e pelo retorno, @luisgustavogomes e @Jair - Fórmula ! Na próxima segunda-feira, tenho uma agenda com o pessoal da Totvs sobre um projeto que estamos tocando aqui, aí vamos falar sobre essa importação. Da solução que me derem, eu volto aqui e compartilho.
    2 pontos
  27. Como são controladas no banco de dados as SQL Anexas no Sistema RM? Ao incluir uma SQL como um anexo de uma tela, o sistema cria um registro na tabela GBKDETAILACTION com o campo GROUPNAME = 'Consultas SQL'. Já o campo IDACTION desta tabela, será associado ao ID da Action da tela que se está inserindo essa SQL anexa. Se ao criar a consulta Anexa, for configurado para que esta consulta seja específica para um Grupo de Usuários (PERFIS), ela ficará associada na tabela GBKDETAILACTIONPREFPERF conforme o(s) perfil(s) que foi configurado. Agora se a consulta SQL Anexa for associada para uso para um ou mais usuários, será preenchido então registro(s) na tabela GBKDETAILACTIONPREFUSR Se não tiver nenhum registro nestas duas tabelas que indicam é não é para todos, então, a SQL Anexa será visível a todos os usuários que tenham acesso a Action que ela foi associada. E sempre que for incluída uma nova SQL Anexa será atribuído um ID a ela, e atualizado com o ID novo na GAUTOINC com o CODAUTOINC 'IDBKDETAILACTION'. A coluna CODCOLIGADA é '0' e o sistema é 'G', pois, as SQL Anexas são globais. A não ser que já exista para um usuário, grupo (perfil) ou mesmo para todos, e esteja sendo reimportada para outra situação. Neste caso, é aproveitado o mesmo ID.
    2 pontos
  28. Boa tarde @Paulo Rocha Para validar somente as contas contábeis iniciadas em código 1 utilize a expressão this.Tables["CCONTA"]["CODCONTA"].AsString.Substring(0, 1) == "1" E na mesma condição você pode validar o segundo campo Natureza "Devedora"
    2 pontos
  29. A premiação com relação aos posts no período de 24/06/23 a 07/07/23 teve empate com 2 posts para algumas pessoas, mas ajustado com os critérios de desempate, estes são os ganhadores. 5 Cupons no valor de R$ 35,00 - Equivalente ao VIP Mensal ( 4a. a 8a. colocação ) @Bruno Gasparetto com 3 posts no período @Raphael Gomes com 3 posts no período @Mônica Alves com 2 posts e um agradecimento em um deles @Frederico com 2 posts e um like em um deles. É um moderador, e já tem acesso VIP, então, pode doar a quem desejar @andre.souzaa29 com 2 posts e por ser um membro com cadastro mais antigo entre os demais com 2 posts 2 Cupons no valor de R$ 70,00 - Equivalente ao VIP Semestral ( 2a. e 3a. colocação ) @Guilherme José Silva com 07 posts no período @seva com 5 posts no período 1 Cupom no valor de R$ 100,00 - Equivalente ao VIP Anual ( 1o. colocado ) @luisgustavogomes com 12 posts. O Luis já é VIP por aqui, faz tempo, e acabei de mudar a sua identificação para moderador, já que ele me ajuda e muito por aqui, e já aceitou colaborar com a moderação ha algum tempo. Então, ele poderá doar o seu VIP a quem ele quiser... Não tínhamos colocado qualquer regra que alguém da equipe não pudesse participar, então, os membros @Fórum RM (Moderador) e @Jair - Fórmula, claro, que postamos nesses últimos dias, não participamos, mas não vamos retirar esse direito dele de ganhar!! Já quem encontrou com o @Jair - Fórmula no Universo TOTVS e participou do sorteio para os dois outros ingressos, são: @seva e @Rayanne ... Cada um de vocês receberá o cupom conforme a sua premiação, para que faça o seu Pedido VIP. Então é só usar o cupom para finalizar o cadastro, e pronto!!! Parabéns a todos os envolvidos!!! Todos serão contatados por mensagem privada e/ou email para receber os seus cupons da promoção
    2 pontos
  30. Deu certo irmão. Muito obrigado pela ajuda!
    2 pontos
  31. Somente alerta não existe mesmo. O que você pode fazer é montar a msg desejada numa tratativa dentro da FV e ao final gerar um log, mas isso se aplica apenas no caso de processo. Para FV normal não creio que tenha nada.
    2 pontos
  32. Boa tarde @luisgustavogomes ! Consegui resolver meu problema com a seguinte linha na consulta... AND REPLACE((',' + :TIPOCURSO + ','), ' ', '') LIKE ('%,' + CAST(SCURSO.CODTIPOCURSO AS VARCHAR)+ ',%') Com isso, consigo executar consultas SQL no RM Resports que usam parâmetros com múltiplos valores. Atenciosamente, Lucas Guimarães.
    2 pontos
  33. Versão 12.1.2306

    5 downloads

    Script para acerto de usuários necessário sempre que é baixado um backup, onde é ajustado no banco de dados os acessos ao usuário RM e SYSDBA. Este script deve ser rodado no Microsoft SQL Server Management Studio, e deve ser rodado pelo usuário SA ou um usuário administrador do banco de dados. LEMBRE-SE os scripts para acerto de usuários para o SQL Server são diferentes para o SQL 2000, SQL 2005 e SQL 2008. Se precisar das versões anteriores, acesse neste tópico do Fórum: http://www.forumrm.com.br/index.php?showtopic=1249 Mais informações sobre este Script para SQL Server, acesse: https://centraldeatendimento.totvs.com/hc/pt-br/articles/360007385351-Framework-Framework-RM-BD-Acerta-usuário-SQL ou para o Script em Oracle: https://centraldeatendimento.totvs.com/hc/pt-br/articles/360007137092-Framework-Framework-RM-BD-Acerta-usuário-ORACLE
    2 pontos
  34. Boa tarde, senhores! Muito obrigado pelos conteúdos. A documentação enviada pelo @caiiomonteiro atendeu minha necessidade. Abraços!
    2 pontos
  35. As vezes quando precisamos mudar a data de fechamento do estoque no Nucleus (Gestão de Compras, Faturamento e Estoque) o sistema retorna uma mensagem não permitindo a mudança, e mesmo regerando saldos não consegue seguir e ajustar a data. "Antes de alterar a Data de Fechamento do Estoque é necessário regerar saldos e custos dos produtos movimentados desde a última regeração. Se a data anterior for nula então a data de fechamento deve ser menor ou igual a data da primeira movimentação no sistema." Esse erro ocorre porque há algum produto que está com a regeração pendente no sistema, onde é gerada a tabela da movimentação e controle detalhado dos saldos e custos (Ficha Kardex). Ou mesmo se nunca foi gerada a rotina de regeração, como é citado na mensagem. Geralmente a execução do processo de Regerar Saldos e Custos, de forma completa resolve essa questão. Basta ir no menu Estoque/Processos/Regerar Saldos e Custos, e escolher a opção de Gerar para Todos os Produtos. você também tem outras opções, como "Gerar Apenas para os Movimentados", "Produtos com Custo Desatualizado", entre outras opções, mas esta completa é a mais eficiente para sanar o erro acima. Após, avançar escolha a opção de "Forçar a Regeração Total". A opção Garantir Exclusividade durante execução é importante também estar marcada. Selecionadas as opções, avance e confirme a execução do processo. Se a sua base for muito grande, em produtos e/ou movimentações, pode demorar um pouco para finalizar, e enquanto isso não finaliza, ninguém poderá entrar com movimentações que afetem saldo no sistema, movimentar estoque, etc. Caso tenha rodado, de forma completa e mesmo assim a mensagem persista, segue uma sentença SQL para ajudar a localizar o ítem que provavelmente está gerando o erro em questão: Select DEF.CODCOLIGADA, P.IDPRD, P.CODIGOPRD, P.NOMEFANTASIA, P.INATIVO, ULTIMONIVEL, DEF.RECALCCUSTOMEDIO, RECALCSALDO1, RECALCSALDO2, RECALCSALDO3, RECALCSALDO4, RECALCSALDO5, RECALCSALDO6, RECALCSALDO7, RECALCSALDO8, RECALCSALDO9, RECALCSALDO10 From TPRODUTODEF DEF join TPRODUTO P on P.IDPRD = DEF.IDPRD Where DEF.CODCOLIGADA = '1' AND ULTIMONIVEL = '1' AND ( RECALCCUSTOMEDIO = 1 OR RECALCSALDO1=1 OR RECALCSALDO2=1 OR RECALCSALDO3=1 OR RECALCSALDO4=1 OR RECALCSALDO5=1 OR RECALCSALDO6=1 OR RECALCSALDO7=1 OR RECALCSALDO8=1 OR RECALCSALDO9=1 OR RECALCSALDO10=1 ) Bem, é isso ai. Espero ter ajudado...
    2 pontos
  36. Boa tarde. Segue contato por whatsapp: Alvaro Athaco +55 85 9614-9771
    2 pontos
  37. @luisgustavogomes Obrigado pela dica, funcionou perfeitamente.
    2 pontos
  38. @jhonnwest, Bom dia! A imagem do patrimônio está na tabela GIMAGEM que utiliza a FKIPATRIMONIO_GIMAGEM (REFERENCES CORPORERM.dbo.GIMAGEM (ID)), podes utilizar esse exemplo para verificar na aplicação. O campo na base é o DBO.GIMAGEM.IMAGEM do tipo image no SQLSERVER ntext, text, and image (Transact-SQL) - SQL Server | Microsoft Docs, como irás consumir esse dado via WebServer, acredito que possa utilizar o DATASERVER passando a chave e/ou utilizar o wsConsultaSQL para consumir uma query da aplicação. Espero ajudar! Abraços
    2 pontos
  39. Nelson, Jair, hoje vcs me ajudaram muito com essa orintação que deram ao colega em fevereiro de 2009. Deus abençoe vcs meus irmãos!
    2 pontos
  40. Alessandro olha se é isso que você precisa, fiz rápido aqui. Tem um arquivo com o script do select e um com a descrição dos campos de incidência da tabela. Se faltou algum campo você buscar no link abaixo e incluir no script: https://tdn.totvs.com/pages/releaseview.action?pageId=452719308 Se você for colocar isso em uma visão SQL (dentro do sistema) tem que mudar a passagem do parâmetro, no lugar de "codcoligada=2" você deve colocar "codcoligada =: coligada" Campos Incidência Eventos.xlsx Incidencias Eventos por Coligada.txt
    2 pontos
  41. "Não foi definido um período em que o usuário tem permissão para inserir Lançamentos na Coligada" Já se deparou com essa mensagem de erro ao tentar gerar lançamentos contábeis na baixa do financeiro?? Isso se dá quando o usuário não tem acesso a inclusão de contabilizações na data que está tentando gerar essa contabilização, e pode ser corrigido com as dicas do vídeo a seguir. Colaboração do amigo @Brilhante que gerou o vídeo e nos permitiu compartilhar aqui. Obrigado!!
    2 pontos
  42. Abri um chamado e entrou em contato o Rafael do suporte... ele acessou remoto, não incluiu aquele bloco, só alguns pequenos ajustes no WebConfig., no RM.Host.exe.config e no RM.Host.Service.exe, mas o que estava "pegando mesmo" era os bloqueios do Proxy. Questão resolvida!
    2 pontos
  43. Sim, a expressão está correta e aconteceu juntamente o erro do FOREACH, assim sendo, abri um chamado com a TOTVS e o pessoal do framework ajudou.... Logo, em anexo, o seu exemplo com loop na tabela dos parâmetros da execução do JOB... p/s nesse exemplo, efetuei o teste efetuando o envio do IDMOV via e-Mail. Agora é só alterar para a sua regra de negócio e testar, eu testei via formulário - ok , vou testar via WS e depois lhe informo abraços Resposta da TOTVS FV.CMP.08.TotvsWF
    2 pontos
  44. Olá! 1 - Na guia "Currículo e oferta", clique em "Alunos" - Assim terá acesso aos cadastros dos alunos 2 - Clique 2x no cadastro de um ex-aluno. A tela de cadastro desse aluno será exibida. Nesta mesma tela há um campo específico para o usuário de acesso do aluno (print1 em anexo). Você deve clicar sobre o nome do aluno, conforme o print mencionado. Feito isso, a janela do usuário de acesso desse mesmo aluno será apresentada. 3 - Na janela de usuário do aluno, no campo "expiração de validade", marque a flag "sempre é válido" (print2 em anexo). Após esses passos, peço que faça um teste de acesso. Espero que ajude a resolver o seu problema.
    2 pontos
  45. Bom dia! Tenho uma consulta onde trago o ultimo aso realizado pelo exame "0001 - exame clinico", pois no meu caso aqui na empresa é padrão todos os colaboradores possuem exame clinico no ASO , assim facilita puxar por ele, também estou filtrando por código de filial, acredito que você terá que ajustar só os nomes campos do banco, pois o seu deve ser diferente! Se der certo dê um joinha, espero ter ajudado;Segue: SELECT PFUNC.CHAPA, PPESSOA.NOME, PSECAO.DESCRICAO AS SETOR, PSECAO.CODIGO AS CODIGO_SECAO, VEXAMESPRONT.CODEXAME,VEXAMESPRONT.DATAEXAME FROM PFUNC,PSECAO,PPESSOA,VEXAMESPRONT INNER JOIN (SELECT CODPESSOA, MAX(DATAEXAME) As UltimaData FROM VEXAMESPRONT GROUP BY CODPESSOA) As Z ON VEXAMESPRONT.CODPESSOA = Z.CODPESSOA AND VEXAMESPRONT.DATAEXAME = Z.UltimaData WHERE PFUNC.CODCOLIGADA = PSECAO.CODCOLIGADA AND PFUNC.CODSECAO = PSECAO.CODIGO AND PPESSOA.CODIGO=PFUNC.CODPESSOA AND VEXAMESPRONT.CODPESSOA = PPESSOA.CODIGO AND PFUNC.CODSITUACAO <> 'D' AND PSECAO.CODFILIAL =:CODSECAO AND VEXAMESPRONT.DATAEXAME =(SELECT MAX (DATAEXAME) FROM VEXAMESPRONT M2 WHERE M2.DATAEXAME=VEXAMESPRONT.DATAEXAME ) ORDER BY DATAEXAME DESC /*Autor: Raquel Rodrigues da Costa*/
    2 pontos
  46. Uma outra dica é encontrar o nome da tabela e o campo, usando a montagem do filtro. Exemplo: Quero saber o nome da tabela que armazena o cadastro de funções. Ao abrir o cadastro, o sistema pede para que eu informe um filtro. Ao montar o filtro, basta posicionar o mouse em cima do campo e aguardar para que você visualize a TABELA.NOMEDOCAMPO:
    2 pontos
  47. Eu tenho uma dica para ajudar nesta busca de encontrar a tabela e o campo que você precisa. É manjada mais alguém pode precisar: Edita o cadastro que você quiser, clica com o botão direito em qualquer lugar da tela (desde de que não seja um campo) e ai habilita a opção Visualizar nome do campo: Depois disso é so ir com o cursor do mouse em cima do campo e você verá a TABELA.NOMEDOCAMPO. Exemplo abaixo:
    2 pontos
  48. Olá pessoal, O Backup Virada Mês é um dos backups mais importantes, principalmente para o RH pois é onde se faz a virada de um mês para outro. É claro que existem formas diferentes de se fazer este procedimento mas, na empresa em que trabalho, mesmo com todas as políticas de backup, guardamos backups específicos para o RH sempre o setor nos pede. Volto a dizer que essas práticas dependem muito de cada empresa, sendo assim, talvez este post não atenda a todos mas achei interessante publicá-lo pois possui funções que talvez ajude alguém no fórum. Bom, vamos ao que interessa. O que este script faz? 1. Verifica se a base definida pelo usuário na variável existe. Se não existir informa que o nome da base pode ter sido digitada errada (embora você possa mudar o script para deixar o nome da base fixo); 2. Encontrando a base, ele verifica nos históricos de backup se o backup da base definido na variável foi feito naquele mês e ano. Caso já tenha sido feito, é enviado uma mensagem dizendo que o backup do mês e ano definido pelo usuário já foi realizado. 3. Em caso de erro no backup, é retornado um select mostrando o(s) possível(is) erro(s) com uma coluna chamada CONSIDERAÇÕES que orienta como fazer o script CHECKDB para aqueles que não têm experiência com banco de dados. MODO DE USO: USE master GO EXEC BACKUP_VIRADA_MES 'NOME_DA_BASE', 4, 2020 Espero que este script seja útil e que impulsione a outros para melhoria desta rotina e outras rotinas de backup que estarei disponibilizando aqui. Ilano caldas BACKUP_VIRADA_MES.sql
    2 pontos
  49. Olá pessoal, Aqui na empresa, sempre trabalhamos com bases de testes pois alguns setores se utilizam delas para realizar testes de processos, resgatar informações antigas, enfim. Sendo que estas bases de teste geralmente ficam disponíveis apenas para alguns poucos usuários do sistema TOTVS RM, principalmente quando se tem portal, muito embora isso possa ser resolvido dentro ou dos arquivos do portal ou em suas configurações. Bom, mas o fato é que não queremos perder tempo em fazer estas tarefas. Baseado nisso estou postando mais uma procedure que ajuda em muito a executar estes processos sempre buscando agilizar nosso trabalho. O que o script faz? Identifica em variável o nome lógico do arquivo de dados: sua_base_Data Identifica em variável o nome lógico do arquivo de log: sua_base_Log Identifica em variável o caminho do arquivo MDF: E:\DATA\sua_base.mdf Identifica em variável o caminho do arquivo LDF: E:\LOG\sua_base.mdf Testa quais bases podem ser restauradas, pois sabemos que existem casos em que determinadas bases não podem ser restauradas como uma base de teste. Assegura que o nome do arquivo definido em variável pelo usuário possui a extensão .bak Assegura que o comando não será executado caso os parâmetros forem vazios Coloca a base em modo Offline antes de iniciar o restore Realiza o restore Retorna a base para Online Desabilita todos os usuário da tabela GUSUARIO, exceto aqueles que estão especificados na lista Altera o RECOVERY da base para SIMPLE Realiza a redução dos arquivos de log - SHRINKFILE Retorna o RECOVERY da base para FULL Retorna um select com os possíveis erros que tenha ocorrido durante o processo acima. MODO DE USO: USE master GO EXEC RESTAURA_BASE 'corpore_teste', 'SEU_ARQUIVO_DE_BACKUP.bak' Espero que este script seja útil e que impulsione a outros para melhoria desta e outras rotinas de banco de dados. Ilano Caldas RESTAURA_BASE.sql
    2 pontos
  50. Boa tarde Emanuel, Para a marcação de ponto via Meu RH é necessário Autorização via Convenção ou Acordo Coletivo de Trabalho. O link abaixo tem o passo a passo de como liberar o acesso. Para restringir basta desfazer esses passos. https://centraldeatendimento.totvs.com/hc/pt-br/articles/360020815391-RM-PTO-Meu-RH-Como-realizar-a-inserção-de-batidas-por-geolocalização
    2 pontos
Este Ranking está setada para São Paulo/GMT-03:00
×
×
  • Criar Novo...

Informação Importante

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