terça-feira, 31 de janeiro de 2012

Como Fazer - Parametrizar o movimento de saída para emissão de NF-e

Produto: NF-e Versão: 11.40

Processo do Sistema: Como Parametrizar o movimento de saída para emissão de NF-e

Introdução

Este documento tem como objetivo orientar os parâmetros específicos do movimento para correta emissão de NF-e, caso deseje criar um novo movimento entre em contato com o suporte do RM Nucleus e após a criação siga este Como Fazer.

Procedimentos

Acesse o RM Nucleus no seguinte menu: Opções | Parâmetros | RMNucleus | Outras Movimentações ou Vendas (dependendo da classificação do movimento) | Selecione o Tipo de movimento e clique em Parametrizar.

Observação: Para emissão de NF-e de Saída é obrigatório que o código do tipo de movimento seja iniciado por 2.2.xx

Etapa Mov – Identificação:

Nesta Etapa Selecione a Serie para emissão de NF-e, lembrando que a serie obrigatoriamente deve ser numérica, maiores informações sobre o cadastro da serie.

clip_image002[4]

Etapa Mov – Emitente/Destinatário 1/2:

Nesta Etapa o Emitente deverá ser “Empresa” e o destinatário “Cliente” ou “Fornecedor”.

clip_image004[4]

Mov – Datas 1/2:

Nesta etapa deverá ser selecionado “Edita” no campo “Edição da Data de Emissão”. clip_image006[4]

Etapa Mov – Datas 2/2:

Nesta etapa deverá ser selecionado “Edita” no campo “Edição da Data de Saída”.

clip_image008[4]

Etapa Mov – Transporte 2/3:

Nesta Etapa deverá ser selecionado o tipo de frete que será praticado no movimento.

O campo é obrigatório pela SEFAZ e não poderá ficar como “Não Edita”.

clip_image010[4]

Etapa Mov – Campos Livres 2/2:

Nesta Etapa pode ser selecionado a Edição do Histórico para Edita, este campo ira preencher a TAG infCpl do XML da NF-e com as informações preenchidas no movimento.

clip_image012[4]

Etapa Item – Campos Livres 2/2:

Nesta Etapa pode ser selecionado a Editar Histórico para Edita, este campo ira preencher a TAG infAdProd do XML da NF-e com as informações preenchidas no movimento.

clip_image014[4]

Etapa Fis – Natureza:

No Campo “Edição” do grupo “Natureza” deve ser selecionado “Edita”, no campo “Seleção Automática de Natureza” deve ser selecionado “Seleciona por Item”.

clip_image016[4]

Etapa Fis – Escrituração 1/2:

Nesta Etapa deverá ser marcada a opção “Gerar Escrituração” e no campo “Tipo Documento Escrituração” deverá ser selecionado o tipo de documento cadastrado para emissão de NF-e, maiores informações sobre o cadastro do tipo de documento.

clip_image018[4]

Etapa Fis – Tributação – Item:

Nesta Etapa deverão ser selecionados os tributos incidentes em cada item do movimento. Exemplo: ICMS, PIS, COFINS, ISS etc.

Etapa Fis – Tributação – Movimento:

Nesta Etapa deverão ser selecionados os tributos retidos incidentes na NF-e. Exemplo: COFINS RF, CONTRIBUIÇÃO SOCIAL RF, CSLLRF, IRPF, IRPJ, IRRFPJ etc.

Etapa Fis - NF-e:

Nesta Etapa deverá ser selecionado o Tipo de Envio da NF-e Manual ou Automático.

Nos Campos DANFE e DANFE.net deverão ser selecionados os respectivos relatórios DANFE, caso não os tenha entre em contato com nosso Help Desk.

Clique aqui para o campo Envio de email.

clip_image020[4]

segunda-feira, 30 de janeiro de 2012

Como Fazer – Nova Tela de Login

Produto: TODOS Versão: 11.50.10 (ou superiores)

Processo: Acesso ao Sistema

Subprocesso: Login

Introdução

Foi criada uma nova interface de login do Smart Client RM e do RM Portal, adaptando-se ao modelo de interface única do byYou. Esta novidade está disponível a partir da versão 11.50.10.

 

O que é o byYou?

clip_image002

O byYou é uma rede social corporativa desenvolvida pela TOTVS que permite a comunicação e a colaboração entre seus membros.

A TOTVS acredita que os sistemas de gestão serão acessados a partir de processos integrados a uma rede social corporativa. Por isso o primeiro passo é tornar a tela de login do ERP TOTVS (sistema de gestão) a mesma para acessar o byYou.

 

Desenvolvimento

Nesta primeira fase da integração, os processos do usuário não serão afetados, pois somente a aparência visual do login foi alterada. Posteriormente a rede social será integrada ao sistema, tornando-o porta de entrada para os serviços da rede social, do ERP e de outros serviços TOTVS.

 

Nova tela de Login

imagem2

 

quinta-feira, 26 de janeiro de 2012

Como Fazer – Configurações Avançadas para Potencializar o Desempenho das Aplicações da Linha RM

Produto: Todos

Processo: Análise de Performance

 

Introdução

O ERP da TOTVS é preparado para trabalhar com diversos usuários e requisições simultâneas, ele é capaz de executar vários processos ao mesmo tempo.

Neste documento apresentaremos  informações avançadas sobre a configuração do ambiente e do produto, antes recomendamos a leitura e aplicação das recomendações do Guia “Configurações básicas para potencializar o desempenho das aplicações Linha RM”.

Inicialmente iremos realizar uma introdução sobre alguns itens referente à arquitetura e Framework, Portal, Banco de Dados, ERP e na segunda parte do documento apresentaremos instruções que visam melhorar a performance do sistema e garantir que ele trabalhe sempre com os melhores resultados.

Arquivos de configuração do ERP (Host.exe)

Algumas alterações nos arquivos com a extensão config deverão ser realizadas com objetivo de melhora de perfomance, estes arquivos serão encontrados na pasta RMNET no diretório de instalação da aplicação, veja nos links abaixo como configurar:

Compressão de Dados

Protocolos de Comunicação

Garbage Collector MultiThread

Separação Job Server / App Server

Um Host é responsável por duas tarefas principais:

  • Processar Jobs;
  • Responder a requisições de telas.

Em alguns momentos, quando o Host está executando um número alto de Jobs, as aberturas de telas podem levar um tempo excessivo para responder. Isto acontece porque Jobs e telas dividem os mesmos recursos, sendo o número de threads dos Jobs muito maior. A demora na abertura causa a impressão de que o sistema apresenta lentidão, quando na verdade ele está trabalhando corretamente, contudo precisa executar as threads dos processos, que são em número maior que as threads de telas.

Temos como principais vantagens:

  • Telas respondem mais rapidamente, uma vez que não têm que dividir processamento.
  • As duas funcionalidades ficam completamente isoladas, podendo sofrer manutenção e tratamentos separadamente, sem ônus para a outra.

clip_image001 A separação do Job Server e do App Server somente se aplica a clientes que utilizam o ambiente 3 camadas.

clip_image001[1] Solução: separar Job Server e App Server em hosts diferentes, para orientação acesse o item

Job Server / App Server.

Banco de Dados

O banco de dados é muito importante no que se diz respeito à performance no produto, por isto é muito importante que a empresa tenha um banco de dados com excelente desempenho para que não seja prejudicada a comunicação entre o produto e o banco de dados.

Abaixo algumas verificações que deverão ser realizadas com objetivo de melhorar a perfomance do ERP :

Triggers

Atualização das estatísticas do banco de dados

Auto create statistics" e "Auto update statistics"

Limpeza de objetos temporários na base de dados

Monitoramento do log do banco de dados

Reindexação periódica das tabelas

Virtualização

Paralelismo

Avaliação de índices

Memória SQL Server

Processos bloqueados no banco de dados

Antivírus

BDE

TSS

Portal RM

Algumas ações poderão ser realizadas para que o portal tenha um melhor desempenho, abaixo citaremos duas destas ações:

Utilizar cache para objetos estáticos

Compressão de Páginas

Instruções

1 – Compressão de dados

A partir da versão 11.20, o ERP possui a opção de comprimir os dados trafegados entre server e cliente com isto temos ganho na velocidade de comunicação, aumento de segurança, uma vez que os dados não estão mais diretamente expostos via Sniffer.

A Compressão é habilitada por padrão, sempre garantir que, se presente, a tag abaixo esteja setada como true, tanto no server e no client, no arquivo RM.HOST.EXE.Config que fica localizado no diretório de instalação dos aplicativos RM, dentro da pasta RM.NET:

<add key="EnableCompression" value="true"/>

Retornar para Compressão de Dados.

2 – Protocolos de Comunicação

A partir da versão 11.20, o ERP possui as seguintes opções de protocolo de comunicação de dados:

  • TCP;
  • HTTP;
  • NamedPipe;

Para comunicações na mesma máquina, o protocolo mais rápido é o NamedPipe, para comunicações entre Host e Client em máquinas diferentes, a melhor opção é o TCP, por padrão, estas são as configurações default. Contudo, sempre checar se a configuração não está errada a partir da chave de config, que aceita os valores citados acima, o arquivo a ser alterado é o RM.HOST.EXE.Config, este arquivo fica localizado no diretório de instalação dos aplicativos RM, dentro da pasta RM.NET, abaixo linha a ser verificada no arquivo citado acima:

<add key=“WcfProtocol" value=“XXXXXX"/>

Retornar para Protocolos de Comunicação.

3 - Garbage Collector MultiThread

Quando operando em ServerMode, o Garbage Collector proporciona desempenho otimizado para hosts que contém múltiplos núcleos, pois a infraestrutura do .net framework cria uma thread de coleta para cada núcleo, temos como principais vantagens a melhor utilização de recursos da máquina, diminuição do tempo em que a aplicação fica sobrecarregada pela execução da coleta

Para utilização deste recurso devemos acrescentar a tag abaixo no config do Host, o arquivo a ser alterado é o RM.HOST.EXE.Config fica localizado no diretório de instalação dos aplicativos RM, dentro da pasta RM.NET:

<configuration>

<appSettings>

...

</appSettings>

<Configuration>

<runtime>

<gcServer enabled=“true” />

</runtime>

</Configuration>

</configuration>

Retornar para Garbage Collector MultiThread.

4 - Job Server / App Server

clip_image003

Configuração:

1. Configure um ou mais Hosts trabalhando em conjunto.

Sete a propriedade “Habilitar Processamento de Job” para false no Host que trabalhará como AppServer;

2. Sete a propriedade “Habilitar Processamento de Job” para true no Host que trabalhará como JobServer;

3. Configure todas as máquinas clientes para apontarem seus configs para a máquina que trabalhará como AppServer, para selecionar a opção "Habilitar Processamento de Job" deverá acessar a pasta RM.NET no diretório de instalação dos aplicativos RM e localizar o aplicativo RM.AliasManager e na aba Serviços deverá marcar a opção Habilitar Processamento de Job:

clip_image005

Para inclusão da tag referente ao AppServer deverá acessar os arquivos RM.Host.exe.config, RM.exe.config, RM.Host.Service.exe.config,RM.AliasManager.exe.config que ficam localizados na pasta RM.NET, dentro da pasta de cada um dos aplicativos a tag também deverá ser incluida, por exemplo, para o RMLabore deverá acessar o arquivo RMLabore.exe.config.

clip_image007

Retornar para Job Server / App Server.

5 - Caching

O browser tem a capacidade de manter objetos em cache para diminuir o tempo gasto com a transferência destes objetos até o cliente. Isto permite um melhor desempenho no tempo de resposta das páginas.

Configurando o cache de saída do IIS

Aplica-se a: Windows 7, Windows Server 2008, Windows Server 2008 R2, Windows Vista.

No IIS 7, você pode configurar o cache de saída para aprimorar o desempenho no servidor Web e no web site. Quando um usuário solicitar uma página da Web, o IIS processará a solicitação e retornará uma página ao navegador cliente. Se você habilitar o cache de saída, uma cópia dessa página da Web processada será armazenada na memória no servidor Web e retornada aos navegadores cliente nas solicitações subsequentes para esse mesmo recurso. Isso elimina a necessidade de reprocessar a página sempre que ela for solicitada. Isso é útil quando o seu conteúdo depender de um programa externo para processamento, como com um programa CGI, ou incluir dados de uma fonte externa, como de um compartilhamento ou banco de dados remoto.

Para criar uma regra de cache de saída.

É possível realizar este procedimento usando a UI (interface de usuário) ou uma linha de comando.

Para usar a UI.

1 - Abra o Gerenciador do IIS e navegue até o nível que deseja gerenciar.

Para obter mais informações sobre como abrir o Gerenciador do IIS, consulte IIS 7.0: Abrir o gerenciador do IIS.

Para obter informações sobre como navegar até locais na interface do usuário, consulte IIS 7.0: Navegação no gerenciador do IIS.

2 - Em Exibição de Recursos, clique duas vezes em Cache de Saída.

3 - No painel Ações, clique em Adicionar.

4 - Na caixa de diálogo Adicionar Regra de Cache, na caixa Extensão de nome de arquivo, insira a extensão de nome de arquivo, como .aspx, para a qual deseja criar uma regra de cache.

5 - Marque a caixa de seleção Cache de modo de usuário para habilitar o cache de saída e selecione uma das seguintes opções:

Usando notificações de alteração de arquivo: se quiser que um item seja removido do cache quando for atualizado.

Em intervalos (hh:mm:ss): se quiser que um item seja removido do cache depois que determinado tempo decorrer. Em seguida, digite uma hora no formato de hh:mm:ss (onde h são horas, m são minutos e s são segundos) na caixa correspondente.

Retornar para Caching.

6 - Compressão de páginas

A compressão de páginas HTTP aumenta a velocidade de transmissão entre browsers com a compressão ativada no IIS. É possível comprimir apenas pastas estáticas ou arquivos estáticos e aplicações.

Fazendo uma analogia, compactar objetos da página via server é semelhante a zipar um arquivo grande para enviar por e-mail: você (servidor web) zipa um grande da família (o componente da página)retrato e envia por e-mail para seu amigo (o browser) que, por sua vez, descompacta o arquivo zip para ver a imagem.

Os métodos de compressão mais comuns são Deflate e gzip.

Para ativar o IIS a comprimir páginas .aspx, siga estes passos:

1. Abra uma linha de comandos (CMD).

2. Execute o comando: net stop iisadmin (pressioneENTER)

3. Acesse o diretório C:\InetPub\adminscripts

Comando: cd C:\InetPub\adminscripts

4. Execute o seguinte comando, pressionando ENTER ao final:

Dll "exe cscript.exe ADSUTIL.VBS SET W3SVC/Filters/compressão/GZIP/HcScriptFileExtensions"asp"" "aspx"

5. Execute o seguinte comando, pressionando ENTER ao final:

aspx"cscript.exe ADSUTIL.VBS SET W3SVC/Filters/compressão/DEFLATE/HcScriptFileExtensions"asp""dll""exe""

6. Execute o comando: net start w3svc e na linha de comando para iniciar o IIS.

Retornar para Compressão de páginas.

7 – Triggers

A existência de triggers na base de dados podem evidenciar overheads nos processamentos de tarefas do banco de dados que interferem na performance das aplicações. Abaixo disponibilizamos comandos para desabilitar e habilitar triggers no banco de dados para realização e testes de performance.

  • Sentença para verificação da existência de triggers na base de dados:

SQL Server:

SELECT NAME FROM SYSOBJECTS WHERE XTYPE = 'TR' AND NAME NOT LIKE 'Log%';

Oracle:

SELECT TRIGGER_NAME FROM USER_TRIGGERS WHERE TRIGGER_NAME NOT LIKE 'Log%';

GO

 

  • Desabilitando as triggers para avaliação do desempenho das rotinas:

SQL Server:

exec sp_MSforeachtable 'ALTER TABLE ? DISABLE TRIGGER ALL'

Oracle:

DECLARE

V_TRIGGER VARCHAR2 (200);

CID INTEGER ;

CURSOR OBJ IS

SELECT TRIGGER_NAME FROM USER_TRIGGERS ORDER BY TRIGGER_NAME;

BEGIN

OPEN OBJ;

FETCH OBJ INTO V_TRIGGER;

LOOP EXIT WHEN OBJ%NOTFOUND;

CID := DBMS_SQL.OPEN_CURSOR;

Dbms_Output.Enable (30000);

Dbms_Output.Put_Line ('Eliminando trigger ' || V_TRIGGER || '...');

DBMS_SQL.PARSE(cid, 'ALTER TABLE ' || TABLE_NAME || ' DISABLE TRIGGER ALL' , dbms_sql.v7);

FETCH OBJ INTO V_TRIGGER;

DBMS_SQL.CLOSE_CURSOR(CID);

END LOOP;

CLOSE OBJ;

END;

 

  • Para habilitar novamente as triggers:

SQL Server:

exec sp_MSforeachtable 'ALTER TABLE ? ENABLE TRIGGER ALL'

Oracle:

DECLARE

V_TRIGGER VARCHAR2 (200);

CID INTEGER ;

CURSOR OBJ IS

SELECT TRIGGER_NAME FROM USER_TRIGGERS ORDER BY TRIGGER_NAME;

BEGIN

OPEN OBJ;

FETCH OBJ INTO V_TRIGGER;

LOOP EXIT WHEN OBJ%NOTFOUND;

CID := DBMS_SQL.OPEN_CURSOR;

Dbms_Output.Enable (30000);

Dbms_Output.Put_Line ('Eliminando trigger ' || V_TRIGGER || '...');

DBMS_SQL.PARSE(cid, 'ALTER TABLE ' || TABLE_NAME || ' ENABLE TRIGGER ALL' , dbms_sql.v7);

FETCH OBJ INTO V_TRIGGER;

DBMS_SQL.CLOSE_CURSOR(CID);

END LOOP;

CLOSE OBJ;

END;

Retornar para Triggers.

8 - Atualização das estatísticas do banco de dados

As estatísticas coletadas pelo banco de dados propiciam um melhor desempenho para realizar pesquisas nas tabelas, através de um plano de execução mais eficiente, estatísticas desatualizadas podem degradar a performance do banco de dados.

Retornar para Atualização das estatísticas do banco de dados.

9 - "Auto create statistics" e "Auto update statistics"

As opções do database "Auto create statistics" e Auto update statistics podem levar a geração automática de um número grande de objetos de estatísticas, e o tempo necessário para sua atualização pelo banco de dados provavelmente implicará em perda de performance.

Retornar para "Auto create statistics" e "Auto update statistics".

10 - Limpeza de objetos temporários na base de dados

A limpeza periódica de registro de log e arquivo morto pode beneficiar bastante a execução de consultas e manipulação de dados nestas tabelas.

Retornar para Limpeza de objetos temporários na base de dados.

11 - Monitoramento do log do banco de dados

Problemas com a performance podem ter origem em eventos que são registrados no log do banco de dados, como por exemplo falhas na leitura de páginas do banco, deadlocks, etc, por isto recomendamos o monitoramento do log do banco de dados.

Retornar para Monitoramento do log do banco de dados.

12 - Reindexação periódica das tabelas

A reindexação periódica das tabelas é sumariamente necessária para o bom desempenho das aplicações, uma vez que este procedimento desfragmenta os índices das tabelas, proporcionando uma maior eficácia no processo de pesquisa no índice.

Retornar para Reindexação periódica das tabelas.

13 - Virtualização

A virtualização tem como objetivo ampliar a escabilidade do ambiente, mas pode gerar overhead no processamento dos dados, há duas maneiras de separar as aplicações SQL Server em unidades lógicas de isolamento. Um deles é para executar o SQL Server em várias instâncias dentro de um ambiente físico.

Outra maneira é executar o SQL Server dentro de um ambiente virtual, executando várias instâncias do SQL Server em um ambiente físico isolando cada instância no nível do aplicativo, em outras palavras, cabe a cada instância do SQL Server isolar os recursos do sistema, dados e segurança dos outros.

É importante notar que um dos benefícios de um ambiente virtual é que ele pode executar qualquer sistema operacional suportado pela aplicação da tecnologia virtual. Por exemplo, um ambiente virtual pode estar executando o Windows Server 2003, outro pode executar o Windows NT ® 4.0, e ainda um outro pode executar o Windows Server 2000. Um ambiente virtual consiste em uma ou mais máquinas virtuais.

O responsável pelo banco de dados da empresa deverá ficar atento ao virtualizar o servidor de banco de dados para não comprometer a performance do hardware, ou seja, sobrecarregar este servidor com vários ambientes virtualizados.

Retornar para Virtualização.

14 - Paralelismo

Atualmente, vivemos em uma era em que os microprocessadores são dominados por múltiplos núcleos, é recomendável sempre procurar explorar o paralelismo em banco de dados, a exploração de paralelismo deve ser considerada quando for necessário otimizar instruções SQL.

O SQL Server detecta automaticamente o melhor grau de paralelismo para cada instância de uma execução de consulta paralela operação DDL (linguagem de definição de dados) do índice. Isso é feito baseado nos seguintes critérios:

1 - Se o SQL Server estiver sendo executado em um computador que tenha mais de um microprocessador ou mais de uma CPU, como um computador SMP (multiprocessamento simétrico). Apenas computadores que têm mais de uma CPU podem usar consultas paralelas.

2 -Se houver threads suficientes disponíveis.

Cada operação de consulta ou índice exige um determinado número de threads para execução. A execução de um plano paralelo exige mais threads que um plano consecutivo, e o número de threads exigidos aumentam com o grau de paralelismo.

Quando o requisito de thread do plano paralelo de um grau específico de paralelismo não puder ser atendido, o Mecanismo de Banco de Dados diminuirá automaticamente o grau de paralelismo ou abandonará completamente o plano paralelo no contexto de carga de trabalho especificado. Depois, ele executará o plano consecutivo (um thread).

3 - O tipo de operação de consulta ou de índice executada.

As operações de índice que criam ou reconstroem um índice, ou descartam um índice cluster e as consultas que usam ciclos de CPU frequentemente são as melhores opções para um plano paralelo. Por exemplo, junções de tabelas grandes, agregações grandes e classificação de conjuntos de resultados grandes são boas alternativas. As consultas simples, frequentemente encontradas em aplicativos de processamento de transações, localizam a coordenação adicional exigida para executar consulta em paralelo que supera o aumento de desempenho potencial. Para distinguir as consultas que se beneficiam de paralelismo das que não se beneficia, o Mecanismo de Banco de Dados compara o custo estimado da execução da operação de consulta ou índice com o valor cost threshold for parallelism. Embora não recomendado, os usuários podem alterar o valor padrão 5 usando sp_configure.

4 - Se houver um número suficiente de linhas para processar.

Se o otimizador de consulta determinar que o número de linhas é muito baixo, não apresentará os operadores de troca para distribuir as linhas. Por conseguinte, os operadores serão executados em série. A execução dos operadores em um plano consecutivo evita cenários quando os custos de inicialização, distribuição e coordenação excedem os ganhos alcançados pela execução de operador paralela.

5 - Se as estatísticas de distribuição atuais estiverem disponíveis.

Se o grau mais alto de paralelismo não for possível, os graus inferiores serão considerados antes de o plano paralelo ser abandonado. Por exemplo, quando você criar um índice cluster em uma exibição, não poderão ser avaliadas estatísticas de distribuição, porque o índice cluster ainda não existirá. Nesse caso, o Mecanismo de Banco de Dados não poderá fornecer o grau mais alto de paralelismo para a operação de índice. Porém, alguns operadores, como de classificação e verificação, ainda poderão se beneficiar da execução paralela.

Retornar para Paralelismo.

15 - Avaliação de índices

Auditar e usar índices não é uma tarefa fácil, mas é fundamental para elevar a performance no banco de dados.

Tipos de avaliação:

Ø Indexes (Clustered)

Ø Indexes (Composição)

Ø Indexes (Covering)

Ø Indexes (Non-clustered)

Ø Indexes (Rebuild)

Ø Index Tuning Wizard

Retornar para Avaliação de Índices.

16 - Memória SQL

Deixar disponível o máximo de memória que poderá ser utilizada pelo SQL Server sem que isto atrapalhe outros processos que estiverem rodando no servidor, esta análise deverá ser feita pelo DBA da empresa.

1 - Acessar o Microsoft SQL Server conectando ao servidor, em seguida clicar com o botão direito sobre a instância e clicar em “Properties”:

clip_image009

2 - Clicar na opção “Memory” e nos campos referente a Server memory options deverá preencher os campos Minimum server memory(in MB),este campo com o mínimo de memória que o Server irá utilizar e preencha também o campo Maximum server memory (in MB) com o máximo de memória que o Server poderá utilizar do servidor.

clip_image011

Retornar para Memória SQL.

17 - Processos bloqueados no banco de dados

O procedimento sp_who serve para ter uma visão geral sobre as conexões existentes e verificar se existe alguma conexão bloqueada (Block), está é uma tarefa que deverá ser executada pelo responsável pelo banco de dados na empresa.

Retornar para Processos bloqueados no banco de dados.

18 - Antivírus

Algumas rotinas nas aplicações utilizam-se de recursos temporários gravados em disco que são frequentemente recriados, gerando um número muito grande de acessos ao disco, e o monitoramento por um antivírus durante esta tarefa gera atrasos no processamento da aplicação.

Retornar para Antivírus.

19 - BDE

O BDE pode ser otimizado para beneficiar algumas rotinas da aplicação, mas uma vez que isto seja feito sem algum critério poderá incorrer na perda de performance para alocação e gerenciamento dos recursos de memória e CPU.

A utilização de valores muito altos para BLOB SIZE, BLOBS TO CACHE e MAXFILEHANDLES pode leva uma menor performance de algumas rotinas.

A necessidade de incrementar estes parâmetros se dar pelo volume de informações processadas em cache nestas rotinas.

No ambiente do DataCenter foi ajustado o parâmetro BLOB SIZE de 3000 para 512. Este parâmetro pode ser configurado com valores > 32 e < 1000, portanto o valor antigo era inválido.

Sugerimos as seguintes configurações:

Database:

BLOB SIZE = 512

BLOBS TO CHACHE = 1024

Configuration – Native – MSSQL:

TIMEOUT = 7200

Configuration – System – Init:

MAXFILEHANDLES = 2048

MEMSIZE = 205

Retornar para BDE.

20– TSS

TSS é o aplicativo que faz a intermediação do TOTVSSped com os vários tipos de banco de dados com os quais ele pode trabalhar.

São eles: DB2, MSSQL, Oracle, Informix, PostGres, MySQL.

O TopConnect deve ser instalado somente em uma estação. Por poder trabalhar com vários tipos de banco de dados não é necessário que o mesmo seja para a base do Corpore RM e apontado também não é necessário que o mesmo seja instalado em seu servidor de banco de dados. É aconselhada a criação de uma base de dados exclusiva para o SPED devido ao fato do processo gerar muitos registros e do serviço de consulta de autorização das notas ser executado com muita frequência nas suas tabelas.

Caso deseje ele pode apontar o TopConnect para sua base do Corpore RM. A escolha da base de dados e do banco para o SPED fica a cargo do cliente.

Uma vez definido o banco e a base a ser utilizada isto não poderá ser refeito sem a perda de dados da base do SPED.

Através do endereço www.suporte.totvs.com na área de download, para localizar o arquivo para download será necessário parametrizar o filtro da seguinte forma:

Linha : RM

Ambiente: RM-99.x

No campo Filtrar deverá digitar TSS.

Para orientação na configuração do TSS acesse nosso blog:

http://www.totvsconnect.blogspot.com/2010/12/dica-configuracao-tss.html

Retornar para TSS.

Como Fazer – Configurações Básicas para Potencializar o Desempenho das Aplicações da Linha RM

Produto: Todos

Processo: Análise de Performance



Introdução

O ERP da TOTVS é preparado para trabalhar com diversos usuários e requisições simultâneas, ele é capaz de executar vários processos ao mesmo tempo.

Inicialmente iremos realizar uma introdução sobre alguns itens referente à arquitetura e ERP (Aplicativos CorporeRM) e na segunda parte do documento apresentaremos instruções que visam melhorar a performance do sistema e garantir que ele trabalhe sempre com os melhores resultados.

A seguir apresentaremos algumas informações sobre a configuração do ambiente onde o ERP da TOTVS está instalado, é necessário verificar sempre o documento de Portabilidade e Arquitetura evitando utilização e/ou aquisição de hardware e softwares não homologados pela TOTVS, manter o ambiente atualizado com as últimas versões disponibilizadas pela TOTVS e também optar pela melhor configuração, de acordo com o perfil da empresa, local ou 3 camadas e configurações do ERP.

Ambiente 3 camadas

O ERP da TOTVS poderá ser configurado de duas maneiras, 3 camadas ou local, configurando o ambiente para trabalhar local a instalação dos aplicativos será realizada de forma completa no computador do usuário, ou seja, o computador do usuário exercerá os papéis de cliente e servidor de aplicação.

Ao optar por utilizar o ambiente 3 camadas o computador do usuário irá acessar um servidor para logar na aplicação, ou seja teremos a figura do cliente (computador do usuário) e servidor de aplicação, ao utilizar esta arquitetura o cliente terá muitas vantagens, dentre elas:

Ø Redução de custos com hardware – os computadores dos usuários poderão ter menor poder de processamento sendo necessária somente uma máquina robusta que terá o papel de Servidor de Aplicação.

Ø Agilidade de atualização – utilizando a arquitetura 3 camadas será necessário realizar a atualização do ambiente uma única vez no servidor de aplicação.

Ø Controle de versão – nesta arquitetura é assegurada a utilização de uma única versão do software por todos os usuários.

Ø Outras melhorias operacionais – Agendamento e Paralelismo de tarefas, Balanceamento de carga entre servidores de aplicação. 

Para instruções de como configurar a arquitetura 3 camadas veja o documento no link abaixo : http://totvsconnect.blogspot.com/2010/11/totvs-linha-rm-voce-pode-instalar-o-rm.html

Portabilidade e Arquitetura

A TOTVS disponibiliza em todas as versões lançadas no mercado o documento de Portabilidade e Arquitetura com as informações sobre configuração mínima para que o sistema tenha pleno funcionamento, o download deste documento poderá ser realizado através do site http://suporte.totvs.com/download , após realizar o login a tela de download será apresentada.

clip_image001 Deverá ser verificado através do documento de portabilidade se o hardware e o software estão de acordo com as especificações contidas no documento.

Atualização do ambiente

Manter o ambiente atualizado sempre com as últimas versões disponibilizadas pela TOTVS através do link http://suporte.totvs.com/download , após realizar o login a tela de download será apresentada bastando parametrizar o filtro para busca da versão necessária, clientes que atualmente estão utilizando a versão 11.40 favor verificar o item Versão 11.40 neste documento.

clip_image001[1] Um ambiente atualizado evita desgaste de usuários em problemas já corrigidos e liberados em versões atuais dos aplicativos da TOTVS.

Configurações do ERP (Aplicativos CorporeRM)

Nos aplicativos da linha RM da TOTVS podemos tomar algumas ações para melhorar a performance do aplicativo, citarei algumas que podem ser executadas pelo próprio usuário do sistema, estas ações farão diferença no dia a dia.

Limitação do número de registros por visão

As aplicações da TOTVS possui uma funcionalidade que limita o número de registros por visão garantindo que usuários desavisados não onerem o sistema com sentenças SQL (queries) muito grandes, o padrão é mil registros.

Vantagens:

Ø Reduzir a quantidade de registros que trafega entre o servidor de banco de dados e o host;

Ø Diminuir o tempo de execução das consultas SQL (queries) em banco;

Ø Reduzir a quantidade de registros que trafega entre host e client.

clip_image001[2] A TOTVS recomenda a limitação do número de registros por visão, para orientações na parametrização da limitação de registros acesse o link http://totvsconnect.blogspot.com/2010/12/como-fazer-alterando-o-numero-de.html .

Filtro nas visões

Outra funcionalidade nas aplicações da TOTVS são os filtros nas visões como forma de restringir os dados a serem exibidos para o usuário. Criando filtros você diminui o número de registros que serão mostrados em tela trazendo somente o que realmente será necessário.

Vantagens:

Ø Filtros criados de acordo com a necessidade específica da situação diminui o tráfego de dados na rede.

Ø Evita a visualização de dados desnecessário poluindo a visão do usuário.

Se falarmos de um único usuário buscando todos os registros de um determinado cadastro em uma base de dados pequena ou média isto pode ser desnecessário, mas se tivermos vários usuários realizando consultas no banco de dados ao mesmo tempo sem nenhuma restrição de busca aos dados podemos ter uma degradação da performance do produto, da rede e do banco de dados, para orientação de como criar um filtro de visão acesse o item Filtro de Visões neste documento.

Log de Auditoria

A utilização do log de auditoria permite o monitoramento das alterações realizadas na base de dados, com a finalidade de garantir o controle sobre dados importantes para a empresa, ao utilizarmos o log de auditoria tornamos os processos auditados mais lentos isto porque toda a alteração é registrada na base de dados para análise posterior.

Preço que pagamos ao usar o LOG

  • Quanto mais campos e tabelas forem auditados, mais recursos de hardware (servidor) são necessários.
  • Se o LOG for usado com critério, não haverá degradação de performance. 
  • A perda de performance vai depender de dois fatores inversamente proporcionais:

O quanto de nossos processos estamos auditando X  O quanto de Recursos de Máquina temos disponível . 

clip_image001[3] O mais importante ao parametrizar o log de auditoria é ter critério e selecionar para Log somente tabelas e campos realmente necessários.

Para informações sobre a parametrização do Log de Auditoria acesse o help do aplicativo após a instalação.

Fórmulas

As fórmulas utilizadas nos processos do sistema poderão degradar a performance dependendo de como foram montadas, como por exemplo fórmulas recursivas. Para entendimento sobre fórmulas recursivas acesse o item Fórmulas neste documento.

Sentenças SQL

As sentenças SQL criadas no sistema pelo usuário poderão degradar a performance se algumas considerações não forem feitas durante sua criação, por exemplo o uso do (NOLOCK) nas sentenças cadastradas no ERP é muito importante. Outro ponto importante ao cadastrar uma consulta SQL é a marcação ou não do parâmetro "Visível a todas as coligadas", a marcação pode ser desnecessária no caso em que esta consulta SQL não será utilizada nas demais coligadas, então como boa prática se a consulta SQL será utilizada somente na coligada onde está sendo cadastrada, não marque o parâmetro "Visível a todas as coligadas", ou se a consulta SQL for necessária a todas as coligadas e for viável, faça a criação da consulta em uma única coligada procedendo com a cópia entre coligadas para as demais coligadas.

Existe no sistema um parâmetro global referente à segurança de Consultas SQL que esta ligado indiretamente a performance, "Ativa segurança na execução de Consultas SQL (segurança de campos e filtro por usuário)", com este parâmetro marcado ao executar qualquer processo do sistema será feita a verificação da permissão do usuário que está executando o processo acarretando um tempo maior na finalização do processo, então temos que avaliar se algum usuário realmente tem restrição ao executar consultas SQL e caso não tenha, deixar o parâmetro desmarcado. Para mais informações sobre consultas SQL acesse o item Sentenças SQL (Queries).

Cadastro de Usuários

Salientamos também a questão do usuário cadastrado nos aplicativos da TOTVS, é importante que cada usuário tenha um único perfil associado, somente tenha perfil associado nos sistemas que realmente irá utilizar e também nas coligadas que irá utilizar, por exemplo, o usuário utiliza somente o RM Labore mas possui perfil associado ao seu usuário no RM Chronus e RM Vitae, o ideal então é acessar o RM Chronus e RM Vitae e retirar o perfil associado ao usuário nestes dois sistemas permanecendo então somente no RM Labore o usuário com um único perfil associado, para maiores informações sobre o cadastro e manutenção de usuários acesse o item Usuários neste documento.

Tabelas de execução de JOBS (GJOBX, GJOBXEXECUCAO, GJOBLOG)

Deverá ser realizada a limpeza periódica das tabelas GJOBX, GJOBXEXECUCAO, GJOBLOG para melhorar a performance dos processos do sistema, para instruções acesse o item Tabelas GJOBX, GJOBXEXECUCAO, GJOBLOG neste documento.

Histórico de Gráficos, Alerta de Gráfico e Envio de RSS por e-mail

Em casos onde o cliente não utiliza os serviços de Histórico de Gráficos, Alerta de Gráfico e Envio de RSS por e-mail poderá desabilitar estes recursos, para instruções acesse o item Gráficos e RSS.

Instruções

1 - Filtro de Visões

A criação de um filtro de visão deve levar em consideração qual a real necessidade do usuário e realizar todas as restrições possíveis para evitar tráfego desnecessário na rede.

Abaixo iremos criar um filtro de visões para o cadastro de funcionários:

1 - Iremos configurar o filtro da visão de funcionários para restringir o número de registros a serem visualizados, para isto acesse o TOTVS Folha de Pagamento (RM Labore) no menu abaixo:

clip_image003

2 - A seguir clicaremos na opção “NOVO”:

clip_image005

3 - Utilizaremos a opção Situação, no campo Operador informaremos a opção '=' e no campo valor a letra A para selecionarmos somente os funcionários ativos da base de dados:

clip_image007 clip_image009

4 - A seguir clicar no botão 'Adicionar', 'Salvar' e 'OK':

clip_image011 clip_image013

5 - A seguir selecionar o filtro criado no passo anterior e clicar em 'Executar':

clip_image015

Serão demonstrados somente os funcionários ativos cadastrados na base de dados:

clip_image017

Retornar para Filtro de Visões.

2 - Fórmulas

Fórmulas recursivas

Abaixo temos o exemplo de uma fórmula recursiva cadastrada com o código F001 que durante sua execução chama a fórmula F001, conforme exemplo abaixo:

Código: F001

Título: Fórmula recursiva

Texto:

SE CHAPA ='00006' ENTAO FOR('F001')

SENAO FALSO FIMSE

Como vemos no destaque em vermelho o código da fórmula é F001 e no texto da fórmula é solicitado o resultado desta mesma fórmula (F001), fórmulas com esta particularidade utilizadas na base de dados podem provocar um loop infinito (o sistema entra em processo de repetição tentando encontrar o resultado da fórmula até consumir toda a memória disponível e fechar) isto causa a queda do host culminando no fechamento do aplicativo.

Para localizar fórmulas recursivas cadastradas na base de dados, basta utilizar a sentença SQL abaixo, para orientações sobre o cadastro de sentenças SQL acesse a aba Sentenças SQL (Queries).

Fórmulas com data de edição mais recente têm maiores chances de terem introduzido problemas:

SELECT ULTALTDATA, * FROM GFORMULA (NOLOCK)

WHERE TEXTO LIKE '%FOR%(''' + CODIGO + ''')%'

OR TEXTO LIKE '%FOR%(''' + CODIGO + ''')%'

ORDER BY ULTALTDATA DESC

Abaixo temos os passos para alteração de uma fórmula recursiva:

1 - Para acessar o cadastro de fórmulas acesse o menu "Cadastros->Fórmulas .Net":

clip_image019

2 - Selecionar o filtro que retorne o menor número de registros que serão necessários para execução da tarefa que será realizada:

clip_image021

3 - Para análise selecionei a fórmula 00006 e editei clicando no botão 'Editar':

clip_image023

5 - Neste caso a recursividade será retirada informando no lugar da expressão FOR ('00006') a expressão CHAPA:

clip_image025

Fórmulas que chamam outras fórmulas durante a execução

Várias vezes necessitamos realizar cálculos e comparações entre fórmulas do sistema, neste caso a forma ideal é atribuir o resultado das fórmulas que serão necessárias a variáveis que iremos criar, abaixo iremos demonstrar como realizar esta alteração:

1 - Acessaremos o menu "Cadastros->Fórmulas .Net" e criadas as 3 fórmulas abaixo: clip_image027

clip_image029

clip_image031

2 - Para melhorar a perfomance no momento da execução desta fórmula iremos atribuir o resultado das fórmulas chamadas na execução da fórmula F003 a variáveis conforme exemplo abaixo:

clip_image033

Retornar para Fórmulas.

3 - Sentenças SQL (Queries)

1 - Para cadastrar uma sentença SQL devemos acessar o menu "Utilitários->Consultas SQL':

clip_image035

2 - Para visualizar o texto da consulta SQL deverá clicar em 'Editar':

clip_image037

3 - A consulta SQL abaixo foi criada para demonstrar a utilização do NOLOCK, a sentença abaixo ira retornar como resultado os funcionários ativos na base de dados e que recebem salário entre R$ 1.000,00 e R$ 5.000,00:

clip_image039

OBS.: Devemos sempre fazer uso do NOLOCK para evitar que o sistema fique esperando que determinada tabela do banco de dados seja liberada, isto pode ocorrer quando mais de um processo está sendo executado e dois ou mais processos necessitam dos dados de uma mesma tabela do banco de dados.

Parâmetro de segurança em Consultas SQL

Para verificar o parâmetro referente a segurança em Consultas SQL deverá acessar o menu "Opções->Parâmetros->Globais":

clip_image041

Em seguida acessar a aba "Consultas SQL":

clip_image043

Retornar para Sentenças SQL (Queries).

4 - Usuários

1 - Para criar ou dar manutenção no Cadastro de usuários devemos acessar o menu "Cadastros->Segurança->Usuários':

clip_image045

2 - Para alterar as configurações do usuário clique em 'Editar', para incluir um novo usuário clique em 'Novo':

clip_image047 clip_image049

3 - Acesse a aba Segurança e verifique se existe perfil associado:

clip_image051

OBS.: É importante que o usuário somente tenha perfil associado nos sistemas e coligadas que realmente utilizará, também ressaltamos que cada usuário deverá ter somente um perfil associado, isto evita gasto de tempo em verificações de segurança desnecessárias.

Retornar para Usuários.

5 - Tabelas GJOBX, GJOBXEXECUCAO e GJOBLOG

Através de todos os aplicativos da linha RM consegue-se limpar as tabelas acima, abaixo os passos para realizar esta tarefa:

1 - Neste exemplo acessei o RM Labore no menu “Sistema->Server->Gerenciamento de Jobs”:

clip_image053

2 - Deverá agora acessar o menu “Processos->Limpar Log de Execução de Processos”:

clip_image055

3 - Poderá selecionar os processos que serão excluídos da base de dados e ainda parametrizar quantos dias os processos ficaram gravados na base de dados antes da exclusão neste exemplo foram selecionados todos os processos e informei que os processos deverão ficar 5 dias na base antes da exclusão:

clip_image057

Retornar para Tabelas GJOBX, GJOBXEXECUCAO e GJOBLOG.

6 - Versão 11.40

Para clientes que utilizam a versão 11.40 do TOTVS Folha de Pagamento será necessário atualizar para a Biblioteca 11.40.30.100 ou superior e executável do TOTVS Folha de Pagamento 11.40.28_04.

Para realizar o download dos arquivos citados acima deverá acessar site http://suporte.totvs.com/download , após realizar o login a tela de download será apresentada.

Retornar para Versão 11.40.

7 - Gráficos e RSS

1 - Para desabilitar os Histórico de Gráficos, Alerta de Gráfico e Envio de RSS por e-mail deverá acessar o diretório onde estão instalados os aplicativos da TOTVS linha RM na pasta RM.NET, localizar o aplicativo RM.AliasManager e executar, a seguinte tela será apresentada:

clip_image059

2 - Deverá então desmarcar as opções Histórico de Gráficos, Alerta de Gráfico e Envio de RSS por

e-mail:

clip_image061

Retornar para Gráficos e RSS.

RSS Reader