O Monitor de Comanda é um serviço que deve ser executado em máquinas com Windows Server, porém é possível instalar em Windows 10 para homologação em ambiente de testes.


Apoio: Ricardo Galbo

Pré requisito para instalar o Acruxmonitor service no Windows.

1) A máquina deve estar com os pré requisitos solicitados conforme TDN Restaurante.

2) Nesta versão da instalação do comanda o banco Oracle XE21C há uma exigência do sistema operacional Windows ser igual ou acima do Windows 8.

3) Uma nota importante para o processo de instalação, é que o Acrux Monitor Service, não pode ser instalado junto ao comanda, ou seja, o Comanda deve ser instalado numa máquina separada do Monitor de PDVs, pois ambos usam versões do Oracle diferentes. OBS.: A versão instalada do Comanda NÃO pode ser superior a versão do Monitor principal.

4) A máquina não pode conter qualquer versão do Oracle ou Oracle Client instalada previamente, caso contrário apresentará erro na instalação. 

5) Primeiramente atualize a o Windows para a última versão disponível através do Windows Update. Caso tenha alguma atualização, aplique antes de continuar, como no exemplo abaixo:



6) Caso a máquina seja Windows Desktop, acesse o painel de controle e entre em Ativar ou Desativar Recursos do Windows

Procure por .NET Framework 3.5, .NET Framework 4.8 Advanced Services, Cliente Telnet e Serviços de informação da Internet (ative todos os serviços, inclusive os que estiverem ocultos dentro do ícone "+"). Ignore o Servidor FTP, pois não é necessário.


O Windows irá realizar a instalação, conforme print abaixo:


Caso a máquina seja Windows Server, a instalação dos aplicativos deve ser feita pelo app Gerenciamento do Servidor(Server Manager). Exemplo de tela(pode variar conforme o Windows):


Após as instalações, faça uma verificação das atualizações novamente e reinicie a máquina.


Quando a instalação do Servidor de Comanda ocorrer em um ambiente TOTVS Cloud, é necessário garantir que o IP público do link de internet da loja esteja devidamente liberado no firewall do banco de dados hospedado na infraestrutura TOTVS Cloud.

A ausência dessa liberação pode impedir a comunicação entre o servidor local da loja e o ambiente de banco de dados na nuvem, ocasionando falhas de conexão.


Procedimento de Verificação

  1. Solicitar o IP público: Contate o cliente e solicite o(s) IP(s) público(s) do link de internet utilizado pela loja.

  2. Registrar solicitação: Abra um ticket direcionado ao time de Cloud Supermercados (para clientes da linha Consinco).

  3. Encaminhar informação: Informe no ticket os IPs coletados, solicitando a verificação e liberação no firewall do ambiente TOTVS Cloud.

  4. Aguardar confirmação: O time de Cloud realizará a validação e informará se os IPs estão devidamente liberados.


Observações

  • Essa verificação é obrigatória em instalações novas e migrações para o ambiente TOTVS Cloud.

  • Recomenda-se manter o registro dos IPs liberados para futuras conferências ou auditorias técnicas.

Instalação

1. Baixe os executáveis Oracle Database 21c x64 Express, Oracle Client 21c 32-Bits, Pasta DLL, Pasta Devart através do link : https://drive.google.com/drive/folders/1rpDu4vrMbN5-Q892-AORDhRZOrqrwMNv?usp=sharing

2. Realize o download do Install TOTVS Varejo Supermercados PDV - Monitor Comanda na mesma versão que o Monitor de PDVs principal (Não pode ser acima do Monitor Principal, pois pode causar problema de objeto inválido) através do portal Totvs https://suporte.totvs.com/portal/p/10098/download#company/.

3. Abra o CMD como permissão administrador, entre no diretório do instalador do Oracle Database 21c x64 Express (o caminho dependerá de onde está a pasta, então utilize a imagem abaixo como exemplo) e execute o comando:  setup.exe /v"CHAR_SET=WE8MSWIN1252"

Obs.: Caso o comando acima não abra a janela, basta executá-lo outra vez.


Prossiga com o instalador até a indicação do caminho: C:\Oracle\database\21c\ 


Informe a senha do SYS como monitorpdv.



No ponto abaixo, pode ser que haja uma demora excessiva no tempo, algo acima de 30 minutos. Vai depender da capacidade de processamento da máquina, porém NÃO interrompa o serviço.




4. Execute o instalador do Oracle Client Oracle 21c 32 Bits e selecione a opção Runtime


Selecione a opção Usar Conta Incorporada do Windows


Preencha o diretório do Oracle Base e do Local do Software exatamente conforme print abaixo:

Oracle Base: C:\Oracle\Client

Local do Software: C:\Oracle\client\32bits\21.0.0\client_1





5. Crie o diretório C:\Oracle\admin


6. Pare todos os serviços do Oracle no painel services.msc


7. Mova todos os aquivos de: C:\Oracle\database\21c\homes\OraDB21Home1\network\admin



E cole dentro do diretório admin em: C:\Oracle\admin


8. Exclua todos os arquivos de: C:\Oracle\client\32bits\21.0.0\client_1\network\admin


9. Acesse as variáveis do ambiente da máquina (windows+R > SystemPropertiesAdvanced).



E adicione a variável de ambiente TNS_ADMIN e coloque o caminho C:\Oracle\admin


Importante!!!

A variável deve ser feita na sessão Variáveis do Sistema e NÃO na sessão variáveis para usuário.


10. Adicione a variável de ambiente NLS_LANG com valor AMERICAN_AMERICA.WE8ISO8859P1


11. Abra o Regedit (Windows+R > regedit) e informe AMERICAN_AMERICA.WE8ISO8859P1 na chave HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDB21Home1

Em NLS_LANG, altere os dados do valor para: AMERICAN_AMERICA.WE8ISO8859P1 


12. Ainda no Editor de Registro, acesse o caminho a seguir: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ORACLE\KEY_OraClient21

Em NLS_LANG, altere os dados do valor para: AMERICAN_AMERICA.WE8ISO8859P1 


13. Abra o CMD como administrador e execute a junção de diretório 32 e 64 Bits do Oracle:
       mklink /j c:\windows\system32\oracle C:\Oracle\database\21c\dbhomeXE
       mklink /j c:\windows\syswow64\oracle C:\Oracle\client\32bits\21.0.0\client_1


14. Adicione a variável de ambiente ORACLE_HOME e coloque o caminho c:\windows\system32\oracle


15. No arquivo C:\Oracle\admin\sqlnet.ora altere a autenticação NTS para NONE


16. Altere o valor de HOST no grupo LISTENER para localhost em C:\Oracle\admin\listener.ora


17. Troque valor de HOST nos grupos XE e LISTENER_XE para localhost em C:\Oracle\admin\tnsnames.ora


18. Reinicie o servidor para aplicar as configurações

19. Teste a conexão com o PL/SQL 32 Bits com o usuário SYS e senha definida no tópico 3, confira o CHARSET NLS_CHARACTERSET=WE8MSWIN1252 com o comando select * from nls_database_parameters where parameter = 'NLS_CHARACTERSET';

Obs: Caso ocorra o erro "ORA-12514:TNS: listener does not currently know of service requested in connect descriptor" ao tentar conectar com o banco via PLSQL ou SQLPlus, ajuste o "listener.ora" e inclua o SID_DESC, deixando a entrada "SID_LIST_LISTENER" da forma abaixo:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\Oracle\database\21c\dbhomeXE)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\Oracle\database\21c\dbhomeXE\bin\oraclr.dll")
    )
    (SID_DESC = 
        (GLOBAL_DBNAME = XE)
        (ORACLE_HOME = C:\Oracle\database\21c\dbhomeXE)
        (SID_NAME = XE)
    )
  )

Ficando da seguinte forma o "listener.ora":

Após ajustar, acessar o MS-DOS e reinicializar o listener:

> lsnrctl stop
> lsnrctl start

Caso tenha realizado os ajustes no "listener.ora", reinicializar o terminal e retomar o teste do Passo 22 antes de realizar os ajustes do Passo 23.


20. Copie o executável IMP.EXE em C:\Oracle\database\21c\dbhomeXE\bin

E cole em: C:\Oracle\client\32bits\21.0.0\client_1\bin



21. Instale o Devart que foi baixado no tópico número 1 através do link https://drive.google.com/drive/folders/1rpDu4vrMbN5-Q892-AORDhRZOrqrwMNv?usp=sharing, next next finish.


22. Acesse a pasta de pré-requisitos do instalador do Monitor e rode o "CRRuntime_32bit_13_0", ignorando os erros. 



Obs.: Caso inicie a instalação do Monitor antes desse processo, a mensagem de erro abaixo será apresentada e você deverá cancelar a instalação para realizar a instalação acima.



23. Acesse o IIS (Windows+R > inetmgr) Gerenciador de Serviços de Informações da Internet e altere a opção "Habilitar Aplicativos de 32 Bits" para "True" ou "Verdadeiro"



24. Ainda no IIS, acesso o menu Default Web Site > Configurações Básicas > Testar Configurações, caso não apresente o check nas 2 autenticações, selecione Conectar como e adicione um usuário com permissão de administrador. Em seguida, teste as configurações novamente e valide as  autenticações conforme a imagem abaixo:



25. Execute a instalação do Monitor PDV Comanda.





Agora a instalação entrará na etapa de parametrização, onde ligaremos o Monitor de Comandas, ao sistema do Monitor de PDVs.

Selecione o ambiente OnPremise

Para isso, precisaremos ter colhido as informações do TNSNAMES do Monitor de PDVs principal. Normalmente, o caminho dele fica no diretório C:\Oracle\app\Administrator\product\11.2.0\client_1\network\admin, mas pode variar conforme a instalação.

Perceba, que as informações básicas solicitadas nesta tela, são:





Exemplo de como fica após o preenchimento das informações:


Feito isso, na próxima tela, vamos inserir as informações as informações de conexão com o Banco XE Local, que foi instalado no início do passo a passo.


Agora iremos configurar o TNSNAMES local, para configurar a conexão local do Oracle XE.


Nesta etapa, as informações são relacionadas não ao Monitor de PDVs, mas ao Monitor de Comandas.

Ao clicar em aplicar, podem ver que a conexão é testada automaticamente, e se ocorrer tudo certo, apresentará a mensagem de conexão bem sucedida.

Informe o número da empresa a qual está instalando o Monitor de Comandas. É muito importante que seja informado o número correto, para que as primeiras cargas sejam efetivadas corretamente. Então, se você está configurando a loja 12, por exemplo, informe o número correspondente a loja 12.

Marque algum Segmento caso queira que as informações dele não subam. Por padrão, opte por não marcar nada e siga para a próxima tela:

Marque alguma Divisão caso queira que as informações dela não subam. Por padrão, opte por não marcar nada e siga para a próxima tela:


26. Ao término da instalação será aberta a tela do Monitor de Comandas, porém feche-a e dê permissão de controle total na pasta C5client:

Abra o IIS (Windows+R > inetmgr) e altere para leitura e escrita todos os serviços que estiverem como "Apenas Leitura(Read Only)" no menu Delegação de Recursos:


Reinicie o serviço do IIS


27.  Substitua as dlls pelas dlls que você baixou no início do passo a passo. A localização delas fica no diretório C:\C5Client\AcruxMonitor\Services e também no diretório C:\C5Client\AcruxMonitor\NET\acruxcomanda\oraclient. Substitua as dlls baixadas nos 2 diretórios.


28. Realize um teste de abertura das URLs http://localhost/acruxmonitor e http://localhost/acruxcomanda, caso tenha sucesso na abertura e no login nos 2 aplicativos, Pauta encerrada. Caso as aplicações não carreguem a loja, é necessario alterar a string de conexão do Webconfig para o modo Direct False. Segue abaixo, o passo a passo para correção de cada um dos 2, pois cada um utiliza um método de conexão diferente:

Webconfig do Monitor

Diretório do Webconfig do Monitor: C:\C5Client\AcruxMonitor\NET\acruxmonitor

Dentro do webconfig, localize a sessão <connectionStrings>. Ela deve estar conforme abaixo:

<connectionStrings>
    <add name="AcruxMonitor" connectionString="user id=monitorpdv;password=monitorpdv;server=127.0.0.1;service name=ORCL;direct=true;" providerName="Oracle" />
  </connectionStrings>

Substitua por:

<connectionStrings>

   <add name="AcruxMonitor"

   connectionString="user id=monitorpdv;

   password=monitorpdv;

   server=XE;

   direct=false;"

   providerName="Oracle"/>

  </connectionStrings>

Salve e reinicie o IIS (Windows+R > inetmgr)


Webconfig do Acrux Comanda

Diretório do Webconfig do Acrux Comanda: C:\C5Client\AcruxMonitor\NET\acruxcomanda

Dentro do webconfig do comanda, localize a sessão <connectionStrings>. Ela deve estar conforme abaixo:

<connectionStrings>
    <add name="acruxmonitor" connectionString="user id=monitorpdv;password=monitorpdv;data source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ORCL)))" />
  </connectionStrings>

Substitua por:

<connectionStrings>

   <add name="acruxmonitor"

   connectionString="user id=monitorpdv;

   password=monitorpdv;

   server=XE;

   direct=false;"

   providerName="Oracle"/>

  </connectionStrings>

Salve e reinicie o IIS (Windows+R > inetmgr)


29. Realize o acesso via browser com o link: http://localhost/acruxcomanda.

OBS.: Se tudo ocorrer bem e a conexão do Webconfig for feita corretamente, a tela de entrada do Acrux Comanda, deverá carregar a informação da loja, mesmo que não seja inserido o usuário e senha. Caso não carregue, volte ao tópico número 28 e realize o ajuste.


30. Acesse o Monitor de Comandas pelo link http://localhost/acruxmonitor verifique o parâmetro a seguir: Configurações > Configurações do AcruxMonitor > Gerais > Modo de Operação > Gestor de comandas. Este parâmetro deve ser configurado automaticamente durante a instalação. Apenas realize a checagem se ele está como Gestor de Comandas. Este parâmetro SOMENTE deve ser configurado no Monitor de Comandas. JAMAIS, configure o Monitor Principal como Gestor de Comandas.



31. Realizadas as configurações, é necessário apontar o PDV para este novo Monitor de Comandas, para que as comandas passem a ser gerenciadas por ele. Acesse o Monitor de PDVs Principal (não é o de comanda) e aponte o IP do Monitor de Comandas no parâmetro a seguir:

Configurações > Configurações de PDVs > Pré-Venda > Restaurante e bares > Servidor de comanda



Link vídeo demonstrativo do passo a passo informado acima (Este vídeo foi gravado pelo Roman nas primeiras instalações do Comanda. Não serve totalmente para configuração, mas ele explica algumas coisas que podem ser úteis durante o novo procedimento)

Vídeo da Instalação da Comanda 22.7.0.3