Mostrando postagens com marcador CorporeRM; MDI. Mostrar todas as postagens
Mostrando postagens com marcador CorporeRM; MDI. Mostrar todas as postagens

segunda-feira, 7 de novembro de 2016

TOTVS RM - CONVERTENDO CAMPO HORA (PFFINANC) PARA FORMATO DE TELA


select   
        codcoligada,
        chapa,
        anocomp,
        mescomp,
        nroperiodo,
        ref,
        hora,
        valor,

        (hora/60.0) hora_base_calc,

        floor(hora/(60.0)) hora_oficial,

        (hora/60.0) - floor(hora/(60.0)) minutos_base_calc,

        (((hora/60.0) - floor(hora/(60.0))) * 60) minutos_base_calc2,

        round((((hora/60.0) - floor(hora/(60.0))) * 60),1) minutos_oficial,

        floor(hora/(60.0)) +
        (round((((hora/60.0) - floor(hora/(60.0))) * 60),1))/100 HORA_TELA

from pffinanc
where hora > 0

sexta-feira, 11 de março de 2016

TOTVS RM - Falha na verificação da base de dados! A base de dados está bloqueada para uso em razão de erros no processo de atualização das versões a seguir:...

 Falha na verificação da base de dados! A base de dados está bloqueada para uso em razão de erros no processo de atualização das versões a seguir:...

Causa: Este erro é apresentado no momento de acesso ao sistema, pois durante o processo de conversão de versão foram apresentados erros e não foram corrigidos.

Solução:

Não existe um processo de solução.

Para analisar o log da conversão:

Análise o log de erros normalmente encontrado no diretório \TOTVS\CORPORERM\RM.NET\ATUALIZADOR\LOG.
Este arquivo é criptografado, e você pode analisá-lo com o programa "RM.Atualizador.LogViewer.exe", localizado em \TOTVS\CORPORERM\RM.NET

Verifique o erro apresentado, corrija a base de dados, e refaça a conversão.

Tabela GUPGATUALIZACAO.

Esta tabela armazena os resultados dos logs de conversão e faz a restrição do acesso ao sistema.



sábado, 29 de agosto de 2015

RM - Dias Úteis

Dias Uteis (SQL)

-DROP FUNCTION DIASUTEISMES

--CREATE FUNCTION DIASUTEISMES (@MES INT, @ANO INT, @CODCOLIGADA DCODCOLIGADA, @CHAPA DCHAPA)
--RETURNS INT

--AS BEGIN

DECLARE @CODCOLIGADA DCODCOLIGADA
DECLARE @CHAPA DCHAPA
DECLARE @MES INT
DECLARE @ANO INT
DECLARE @MESPROX INT
DECLARE @ANOPROX INT
DECLARE @DIATEMP INT
DECLARE @DATATEMP DATETIME
DECLARE @STATUSDATA DATETIME
DECLARE @FERIADO INT
DECLARE @COMPDESC INT
DECLARE @DIASUTEIS INT
DECLARE @DATASTRING VARCHAR(10)

SET @MES = 10
SET @ANO = 2003
SET @CODCOLIGADA = 1
SET @CHAPA = '931.00595'

-----------------------------------------------------------------------------------------
-- PROXIMO MÊS E ANO
-----------------------------------------------------------------------------------------
IF @MES = 12
BEGIN
  SET @MESPROX = 1
  SET @ANOPROX = @ANO+1
END
ELSE
BEGIN
  SET @MESPROX = @MES+1
  SET @ANOPROX = @ANO 
END

PRINT 'MÊS E ANO PARA QUAL SERÁ COMPRADO O BENEFÍCIO'
PRINT 'PRÓXIMO MÊS: '+CAST(@MESPROX AS VARCHAR)
PRINT 'PRÓXIMO ANO: '+CAST(@ANOPROX AS VARCHAR)
PRINT '----------------------------------------'

-----------------------------------------------------------------------------------------
-- DIA COMPENSADO E DIA DE DESCANSO (SÁBADO E DOMINGO)
-----------------------------------------------------------------------------------------

-- ULTIMO DIA DO MES PROXIMO (SEJA 31, 30 OU 28)
SET @DATASTRING = (SELECT  CAST(@MESPROX AS VARCHAR) + '/1/'+ CAST(@ANOPROX AS VARCHAR))
SET @DATATEMP = (SELECT DATEADD(MONTH,1,(CAST(@DATASTRING AS DATETIME))))-1
PRINT 'DATA LIMITE DA COMPRA DO BENEFÍCIO : '+ CAST(@DATATEMP AS VARCHAR)
PRINT '----------------------------------------'

-- CÁLCULO DE SÁBADOS E DOMINGOS

SET @DIATEMP = 0
SET @COMPDESC = 0

WHILE @DIATEMP < DATEPART(DD, @DATATEMP)
BEGIN
  SET @DATASTRING = (SELECT CAST(@MESPROX AS VARCHAR) + '/'+ CAST(DATEPART(DD,@DIATEMP)AS VARCHAR) + '/'+CAST(@ANOPROX AS VARCHAR))
  --PRINT 'DATA STRING 2: ' + @DATASTRING
  SET @STATUSDATA = CAST(@DATASTRING AS DATETIME)
  --PRINT 'DATA DATETIME 2: ' + CAST(@STATUSDATA AS VARCHAR)
  --PRINT '----------------------------------------'
  IF (DATENAME(WEEKDAY,@STATUSDATA) = 'Saturday') OR (DATENAME(WEEKDAY,@STATUSDATA) = 'Sunday')
  BEGIN
    SET @COMPDESC = @COMPDESC+1
  END
  SET @DIATEMP = @DIATEMP+1
END

-----------------------------------------------------------------------------------------
-- FERIADOS
-----------------------------------------------------------------------------------------
SET @FERIADO = 0
SET @FERIADO = (SELECT COUNT(*)
                FROM GFERIADO
                WHERE CODCALENDARIO = (SELECT CODCALENDARIO
                                       FROM PSECAO
                                       WHERE CODCOLIGADA = @CODCOLIGADA
                                       AND CODIGO = (SELECT CODSECAO
                                                     FROM PFUNC
                                                     WHERE CODCOLIGADA = @CODCOLIGADA
                                                     AND CHAPA = @CHAPA))
                AND DATEPART(MM,DIAFERIADO) = @MESPROX
                AND DATEPART(YYYY,DIAFERIADO) = @ANOPROX)

-----------------------------------------------------------------------------------------
-- DIAS UTEIS
-----------------------------------------------------------------------------------------
SET @DIATEMP = 0
SET @DIATEMP = CAST(DATEPART(DD,@DATATEMP)AS INT)
PRINT 'QTD DE DIAS DO MES DE COMPRA BENEFICIO: ' + CAST(DATEPART(DD, @DATATEMP) AS VARCHAR)
PRINT 'QTD DE DIAS DE FERIADO DE COMPRA BENEFICIO: ' + CAST(@FERIADO AS VARCHAR)
PRINT 'QTD DE DIAS DE COMPENSADOS DE COMPRA DE BENEFICIO: ' + CAST(@COMPDESC AS VARCHAR)
SET @DIASUTEIS = (@DIATEMP - @FERIADO - @COMPDESC)
PRINT 'QTD DE DIAS UTEIS DO MES DE COMPRA DE BENEFICIO: ' + CAST(@DIASUTEIS AS VARCHAR)

--RETURN @DIASUTEIS

--END

SQL / RM - Erros C#

-- Script para remoção dos erros do C# como por exemplo
-- Couldn't perform the edit because another user changed the record.

-- ATENÇÃO: ESTE NÃO DEVE SER EXECUTADO SE O BANCO FIZER BACKUP DE LOG

set nocount on
declare @comando varchar(255)
declare @comando1 varchar(255)
declare @comando2 varchar(255)
declare @comando3 varchar(255)
declare @comando4 varchar(255)
declare @database varchar(100)
declare @datab varchar(50)
set @datab = (select distinct table_catalog from information_schema.tables)
if (select count(*) from master.dbo.sysprocesses where dbid in ( select dbid from master.dbo.sysdatabases where name = @datab )) <= 1
begin
    print ' '
    print 'Acertando permissões do banco.'
    exec sp_dboption @datab, 'single', 'true'
    exec sp_dboption @datab, 'trunc. log on chkpt.', 'true'
    exec sp_dboption @datab, 'auto create statistics', 'false'
    exec sp_dboption @datab, 'auto update statistics', 'false'
    exec sp_dboption @datab, 'ansi null default', 'true'
    print ' '
    print 'Verificando base de dados.'
    set @comando1 ='dbcc checkdb ('+@datab+')'
    exec (@comando1)
    print ' '
    print 'Acertando fragmentação na base de dados.'
    set @comando3= 'dbcc newalloc ('+@datab+')'
    exec (@comando3)
    declare @tabela varchar (100)
    declare @comando5 varchar (255)
    declare tabela cursor for
        select name from sysobjects where type = 'u' order by name
    open tabela
    fetch next from tabela into @tabela
    while @@fetch_status = 0
    begin
        print ''
        print 'Verificando tabela '+@tabela
        print ''
        set @comando5 = 'dbcc checktable ('+@tabela +', repair_allow_data_loss)'
        exec (@comando5)
        set @comando = 'dbcc dbreindex ('+@tabela+')'
        exec (@comando5)
        set @comando5= 'dbcc checkconstraints ('+@tabela+')'
        exec (@comando5)
        fetch next from tabela into @tabela
    end
    close tabela
    deallocate tabela
    exec sp_dboption @datab, 'single', 'false'
    declare @tab_nome varchar(255)
    declare @tab_statistic varchar(255)
    declare @sql_str varchar(255)
    declare @db_nome varchar(255)
    select @db_nome=name from master..sysdatabases where dbid=(select dbid from master..sysprocesses where spid=@@spid)
    checkpoint
    declare cur cursor for
        select object_name(id),name from sysindexes where name like '_wa_sys%'
    set nocount on
    open cur
    fetch next from cur into @tab_nome,@tab_statistic
    while(@@fetch_status=0)
    begin
        set @sql_str='drop statistics ' + @tab_nome + '.' + @tab_statistic
        exec (@sql_str)
        fetch next from cur into @tab_nome,@tab_statistic
    end   
    close cur
    deallocate cur
    exec sp_updatestats
    print '*******************************************************************************************'
    print 'FINAL DA MANUNTENCAO'
    print '*******************************************************************************************'
end
else
    begin
    print '****** A T E N Ç Â O *******'
    print 'A BASE ESTÁ SENDO USADA. ESTE SCRIPT SÓ PODE SER EXECUTADO EM MONOUSUÁRIO !!!'
    print '***********************************************************************************************************************'
    print 'Seguintes estações/número de conexões estão acessado a base de dados:'
    declare @tab varchar(20)
    declare @num varchar(2)
    declare tabs cursor for select hostname,count(*) from master.dbo.sysprocesses where dbid in ( select dbid from master.dbo.sysdatabases where name = @datab ) group by hostname
    open tabs
    fetch next from tabs into @tab,@num
    while(@@fetch_status=0)
    begin
        print @tab +'/'+@num
        fetch next from tabs into @tab,@num
    end
    close tabs
    deallocate tabs
end

quarta-feira, 4 de setembro de 2013

Totvs - Variáveis

Variáveis dinâmicas

A consulta SQL permite o uso de variáveis dinâmicas que podem ser usadas como parâmetros. Essa variáveis trazem dados de datas atuais ou dados sobre o contexto do sistema. Confira quais são elas:

Variáveis de Data

$Hoje: Compara com a data de Hoje.
$NaSemana: Compara se a data está entre o início e fim desta semana.
$NoMes: Compara se a data  está entre o início e fim deste mês.
$NoAno: Compara se a data está entre o início e fim deste ano.

Variáveis de Contexto

$CHAPAFUNCIONARIO: chapa do funcionário logado.
$CODCOLIGADA: código da coligada do contexto.
$CODFILIAL: código da filial do contexto.
$CODIGOEXTERNO: código externo da filial do contexto.
$CODLOCPRT: código da localidade do portal do contexto.
$CODSISTEMA: código do sistema que o usuário está logado.
$CODTIPOCURSO: código do tipo de curso do contexto.
$CODUSUARIO: código do usuário logado.
$CODUNIDADEBIB: código da unidade bibliotecária do contexto.
$CODUSUARIOSERVICO: código do usuário rodando o serviço RM.Host.Service.exe
$EDUTIPOUSR: código do tipo de usuário do Educacional.
$EXERCICIOFISCAL: código do exercício fiscal do contexto.
$IDPRJ: ID do projeto do contexto.
$RHTIPOUSR: tipo de usuário de RH do contexto.

quinta-feira, 3 de janeiro de 2013

Totvs - Sped / NFe

Após realizar as instalações do "Totvs TSS" e "Top Connect", e o mesmo estiver apresentado erros durante o envio da nota.. é preciso verificar:

1) Qual o IP do servidor? Ex: 192.168.0.13

2) Qual a porta utilizada pelo TSS? Para saber qual a porta está sendo usada, você deve parar o serviço TSS e iniciar o programa Totvs TSS Server. Exemplo: 8083



3) Verificar no RMNucleus (Opções - Parâmetros - RMNucleus - Integrações - Fiscal - Parâmetros por Filial (duplo clique na Filial) - Conexão NFE) se o campo "URL do Servidor Totvs Services" possuem o IP e Porta (conforme itens 1 e 2):



4) Verificar se o arquivo APPSERVER.INI (localizado em C:\TOTVSSPED\BIN\APPSERVER) está com o IP e portas configurados (conforme itens 1 e 2).
Localize no arquivo entre colchetes, o IP e a Porta do servidor. Se os mesmos estiver diferentes do item 1 e 2, será preciso alterar no arquivo.


Ex: [192.168.0.13:8883]

5) Após realizar os procedimentos acima, feche o "Totvs TSS Server", e execute novamente. Caso não apresente erros, continue os procedimentos abaixo.



6) Execute o Internet Explorer no servidor e verifique se a comunicação está sendo realizada com sucesso (conforme tela abaixo):


Apresentando a tela acima, o Totvs Sped está se comunicando com o servidor.
Você pode realizar este mesmo procedimento nas estações. Caso a tela não seja apresentada com informações dos serviços, repita os itens 1 a 6.

7) Verifique a comunicação com o SEFAZ.  No RMNucleus, menu "Utilitários - Sped - NF-e (estadual) - Processos - Monitor Sefaz". Selecione a Filial, e clique em Executar.
Com o status do serviço "SERVIÇO EM OPERAÇÃO" apresentado, não existe problemas de comunicação com a Secretaria da Fazenda. Caso contrário pode haver alguma inconsistência com a conexão da internet, firewall, etc, ou alguma inconsistência com o site da Secretaria da Fazenda.


8) Analise também a conexão do TOP Connect.

Execute o Top Connect, e na aba "Assistentes", clique em "Validação de Conexão".
Será aberto um assistente!
Clique em AVANÇAR, e selecione a base de dados a ser analisada.
Entre com o nome do ambiente a ser testado. O nome deste ambiente dever o mesmo da conexão criada na instalação do Top Connect em Fonte de Dados do Usuário no ODBC.

Conexão ODBC (TOTVSSPED)




Conexão Top Connect / ODBC



Dica: O serviço TSS e o programa Totvs TSS Server não podem ser executados ao mesmo tempo.







quarta-feira, 2 de janeiro de 2013

RMLabore - Sefip / Delphi

Habilitar o menu "SEFIP" em Delphi no RMLabore:

UPDATE PPARAMADICIONAIS SET VALORINT = 1 WHERE NOMECOLUNA = 'EXIBEMENUSEFIPDELPHI'

SELECT * FROM PPARAMADICIONAIS WHERE NOMECOLUNA LIKE 'EXIBE%'

quarta-feira, 29 de dezembro de 2010

domingo, 26 de dezembro de 2010

Totvs

http://tecnologiarm.tech.officelive.com/

Site não oficial, destinado a apresentar um pouco da solução .NET da TOTVS

domingo, 7 de novembro de 2010

Function - Calcula Dias/Quantidade

Function que a partir de uma Data Inicial e a quantidade de dias, calcula o próximo dia útil desconsiderando feriados. (Baseado nas tabelas do CorporeRM)

CREATE FUNCTION dbo.FNC_CALCULADIASQTDADE ( @DATAINICIAL DATETIME,
@QUANTIDADE INT)
RETURNS DATETIME
AS
BEGIN

DECLARE @DATATMP DATETIME,
@CONTADOR INT

SET @DATATMP = @DATAINICIAL
SET @CONTADOR = 1

WHILE @CONTADOR < @QUANTIDADE
BEGIN
IF (DATENAME(DW,@DATATMP) NOT IN ('SATURDAY','SUNDAY')
AND NOT EXISTS (SELECT *
FROM GFERIADO
WHERE YEAR(DIAFERIADO) = YEAR(@DATATMP)
AND MONTH(DIAFERIADO) = MONTH(@DATATMP)
AND DAY(DIAFERIADO) = DAY(@DATATMP)))
BEGIN
SET @CONTADOR = @CONTADOR+1
END
SET @DATATMP = @DATATMP+1
END
RETURN (@DATATMP)
END

sexta-feira, 2 de julho de 2010

Road Show - CorporeRM versão 11

Road Show - CorporeRM - versão 11

- 01/07/2010
- Leandro Silvestre e André Bretas

- Todas as versões serão anuais

- Nova MDI
- Aplicativo único
- Os aplicativos continuarão separados poréem o MDI agrupará todos os módulos
- Funcionalidade legal a prinicipio não será migrada para o MDI, e ficará no módulo. Ex: Fiscal
- Rotinas Legais novas estarão no modelo MDI.
- Gerador de Relatório respeitará o perfil do usuário. Ex: Salário

- Rotinas:
- Executar - Chama qq tela dos módulos
- Totvs Share - procurará por recursos gerenciais de acordo com a palavra solicitada
Ex: Salário
Digitando uma palavra que não existe, clique no mundo "Totvs", que ele irá pesquisar por recursos gerenciais ja desenvolvidos pela Totvs, no servidor da Totvs.
- Tela Principal - é um RSS, e será possível publicar noticias internas
- Central de Recursos - pesquisa o texto na base de dados inteira.
Não está fazendo like em todos os campos, evitando assim a queda de performance.
É necessário ter a opção Full Text Engine do SQL habilitado
- Gráficos - A partir de uma select
- Gráficos Anexo - pode ser associado a uma visão de cadastro
Ex: Produto - na própria tela vc pode associar o gráfico
- Gráfico de Gauge - Relógio/Medidor
Ele pode tomar uma ação, enviando um email por exemplo
É um job no banco de dados
Não precisa estar em execução
O tempo de monitoramento é configurável
Possui um histórico, para análise da variação
- Consultas SQL - virou um cubo, pois vc pode arrastar/agrupar os campos de dentro das consultas SQL
A sentença é a mesma, porém a foram de visualizar é por usuário
Pode fixar a coluna e arrastar as demais (congelar do Excel)
Formatação Condicional para mudar de cor
Ex: Aging List
- Pendência: Estudar recurso para copiar/disponibilizar a mesma formatação definida pelo usuário X ao usuário Y
- Consultas SQL em BD Externo - Conexão ODBC - Sistemas de Terceiros
- Grids.Net - vc pode agrupar qualquer tela de cadastro e movimento como o excel e exportar neste formato
- Cenário - juntar várias informações para o usuário
Gráfico, cubo,sql, agenda.
Atualização é parametrizável
- Agilis é o novo workflow de todos os processos/módulos
- 3 camadas - Até a 10.76 só é permitido duas camadas
Servidor BD - Estação (2 camadas)
Servidor BD - Servidor Processamento - Estação (só requisita) - (3 camadas)
- Painel de Metas - Simulação de Valores
Junção de gráfico de Gauge
Ex: Turn Over - RH
- Workflow - customização dentro do sistema
Não tem relação com o Agilis
É ponto de Entrada de outros ERPs (ABAP, ADVPL)
Orquestração de objeto do negócio
- Diagnóstico do Sistema - Versão de todos os softwares da máquina, memória, HD, etc...
- LDAP - Protocolo de rede
Usuários / Permissão do Windows
Login do Windows com Login do aplicativo
Atualmente é o "Logon Unificado"
Usuário + Dominio
Portal não tem Logon unificado
LDAP + Logon Unificado - será uma evolução
- Integração Google - Google Maps
Endereço, CEP, Rua
Integra com o Google Maps
Google Docs
Consegue exportar SQLs no disco
Futuramente, exportará ao Shared Point
- Planilha.net - Integrado ao Excel
Utiliza o Excel como ferramente de exportação
Precisa ter o Excel instalado na estação
- RMBis.net - Histórico
- RM Reports - Novo gerador
Não haverá migração
O antigo continuará existindo
Ver no Youtubeos videos explicativos