# Manual Painel de Pedidos Desktop

#### 📘 Manual – Painel de Pedidos (ERP Cronos)

---

#### 📥 **Instalação do Painel**

1. Acesse o **Atualizador** do sistema;
2. Vá até a seção **Outros**;
3. Baixe o executável: **`CST_PainelPedidos.exe`**.

##### ****![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXdLe_0ZW-IR7zuLQCA2sliG8WPczc3MpwuJoLlIjlrVsrWF6tZ5Sli7GLzcm95VvU3r_1CmMxZrK7FMX2uh-9gwjt0aHY-Y3w7a6u_fGlc-Fs-Z7_hS84f5hJL-EFrsb6gAxJUO1j-qqIF6Nx40QNu2MrKgjeQqd7Ub1RT1gGu--cKjbSQRuVk?key=q4lHiYztl1KekV9ZCk-Uog)****

#### ⚙️ **Tela de Configuração**

#### 🔧 Campos de Parâmetro

- **Servidor**: Caminho do servidor de dados do cliente.
- **Banco**: Nome do banco de dados do cliente.
- **Conectar**: Botão para teste de conexão com os dados informados.

******![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeKe8vp5nKWQUHDhrOMEk5_JfwpawtExjpO7WSmbevPGMcYYGv0c6SA3yLAul9UIsTg_XtAm95C7oNE9QzuoFaw1smU03A5aVBmaH1yz2WhXvykfjL0-XUA6UYG04SgshgDS9kUNDI-lGDi525YTkTWZgnXAMXy4MXmGsMYVKeMveR3Dy86Kao?key=q4lHiYztl1KekV9ZCk-Uog)******


#### 🧩 Opções de Parâmetro

- **Ativar Propaganda**: Se marcado, o sistema exibirá telas com propagandas pré-definidas.
    
    
    - As imagens devem estar na subpasta `IMG`, dentro da pasta `C:\CRONOS\img`.
    - Devem seguir a nomenclatura: `PnlPedidoP1.jpg`, `PnlPedidoP2.jpg`, ..., até `PnlPedidoP20.jpg`.
- **Filial**: Define de qual filial os pedidos serão mostrados.
- **Faturado | Em Separação | Concluído**: Define as cores exibidas no painel conforme o status dos pedidos.
- **Tempo Exibir Imagem**: Tempo (em segundos) que cada propaganda ficará visível na tela.
- **Tempo Exibir Propaganda**: Tempo (em segundos) entre a exibição dos pedidos e o início da propaganda.
- **Tam. Fonte**: Define o tamanho da fonte exibida no painel (ajustar para evitar corte ou ilegibilidade).
- **Tempo Espera Limite**: Tempo máximo (em segundos) estimado para separação dos pedidos.
    
    > Após esse tempo, o pedido será sinalizado como “atrasado” (🔧 *Em desenvolvimento*).
- **Salvar Configurações**: As configurações serão salvas diretamente no **Registro do Windows**.
- **Ativar Painel**: Inicia a tela de exibição do painel.

- ##### **![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXdUhq6--q2pW5stV98oj8q3KuSXhcNlcYZHoZhq2xqJtXwIUsh3e-wD06jKRI6kPRULgi5Fc6NXh_tsntBzbCJYZK74xMGTsosMSIxYCEDrccRRPxOij_vCQWXJvgorCKMFQ_12Keh6sTTJzNI6DYwmc8PhuqxlOYqSflBTX4X76spnjXgBcw?key=q4lHiYztl1KekV9ZCk-Uog)**

- #### 🖱️ **Atalhos Úteis**
    
    
    - **F11**: Ativar/desativar tela cheia
    - **ENTER**: Voltar à tela principal
    - **ESC**: Sair do sistema

#####   


#### 🔧 **Rotinas Técnicas**

#### 1️⃣ **Conexão ao Banco de Dados**

- Conectar ao SQL Server utilizando o usuário **`SA`**.
- Apontar o mesmo **banco e servidor** configurado no painel.

---

#### 2️⃣ **Criar Função de Diferença de Datas**

Execute o script SQL abaixo no banco configurado:

#####   


```sql
CREATE FUNCTION [dbo].[fn_DiferencaDatas] 
(@dtinicio DATETIME, @dtﬁm DATETIME )


RETURNS varchar(100) AS BEGIN
DECLARE @years INT, @months INT, @days INT, @result VARCHAR(100), @hours INT, @minutes INT, @seconds INT, @milliseconds INT;
SELECT @years = DATEDIFF(yy, @dtinicio, @dtﬁm) IF DATEADD(yy, -@years, @dtﬁm) < @dtinicio SELECT @years = @years-1
SET @dtﬁm = DATEADD(yy, -@years, @dtﬁm)


SELECT @months = DATEDIFF(mm, @dtinicio, @dtﬁm) IF DATEADD(mm, -@months, @dtﬁm) < @dtinicio SELECT @months=@months-1
SET @dtﬁm= DATEADD(mm, -@months, @dtﬁm) SELECT @days=DATEDIFF(dd, @dtinicio, @dtﬁm) IF DATEADD(dd, -@days, @dtﬁm) < @dtinicio SELECT @days=@days-1
SET @dtﬁm= DATEADD(dd, -@days, @dtﬁm) SELECT @hours=DATEDIFF(hh, @dtinicio, @dtﬁm) IF DATEADD(hh, -@hours, @dtﬁm) < @dtinicio SELECT @hours=@hours-1
SET @dtﬁm= DATEADD(hh, -@hours, @dtﬁm) SELECT @minutes=DATEDIFF(mi, @dtinicio, @dtﬁm) IF DATEADD(mi, -@minutes, @dtﬁm) < @dtinicio SELECT @minutes=@minutes-1
SET @dtﬁm= DATEADD(mi, -@minutes, @dtﬁm)


set @result = (SELECT ISNULL(CAST(NULLIF(@years,0) AS VARCHAR(10)) + ' anos,','')
+ ISNULL(' ' + CAST(NULLIF(@months,0) AS VARCHAR(10)) + ' meses,','')
+ ISNULL(' ' + CAST(NULLIF(@days,0) AS VARCHAR(10)) + ' dias,','')
+ ISNULL(' ' + CAST(NULLIF(@hours,0) AS VARCHAR(10)) + ' horas e','')
+ ISNULL(' ' + CAST(@minutes AS VARCHAR(10)) + ' min',''))
RETURN (select @result) END
```


#####   


##### 3️⃣ **Criar a View de Pedidos**

#####   


```sql
CREATE VIEW [dbo].[vw_painel_pedidos] AS select
tipomov, M.NumMov,
Cliente = ISNULL(CF.NomeCliFor, CF.RazaoSocial), M.DataOperacao,
Status = case M.statusseparacao when 'E' then 'EM SEPARAÇÃO' when 'S' then 'SEPARADO' when 'F' then 'FINALIZADO' end,


TempoEspera = dbo.fn_DiferencaDatas(M.DataOperacao, GETDATE()), M.CodFilial,
StatusSeparacao from Movimento M
INNER JOIN Cli_For CF ON CF.CodCliFor=M.CodCliFor where StatusSeparacao in ('E', 'S', 'F')
and TipoMov in ('2.1', '2.4')
and M.DataOperacao between GETDATE()-2 and GETDATE()
```