Árvore de páginas
Ir para o final dos metadados
Ir para o início dos metadados

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Versão 1.0.0.0

 

 

 

 

 

 

MAXICON BALANÇA

 


Histórico da Revisão

 

Histórico de Alterações

 

Data

Responsável

 

Alterações

20/08/2012

Alexandre Tiago Flach

 

Criação do Manual


ÍNDICE

 

 

Manual Extensão Câmera ...................................................................................................................................................

Maxicon Balança ..................................................................................................................................................................

ÍNDICE ..................................................................................................................................................................................

Programas .............................................................................................................................................................................

Câmera ...............................................................................................................................................................................

Painel de Instrumentos .................................................................................................................................................

Ações .............................................................................................................................................................................

Configurar Relatório ....................................................................................................................................................

Observadores ........................................................................................................................................................................

Imagem Câmera .................................................................................................................................................................


 

 

Programas

 

 

Câmera

 

Incluído programa para cadastrar as Câmeras através dos recursos disponíveis no HRF.

Na inclusão de uma nova câmera é necessário informar o recurso do HRF, informar o ID (um identificador para a câmera) e clicar em Carregar para carregar os parâmetros de configuração. Informe o valor dos parâmetros e salve as configurações (ao salvar são enviadas às configurações ao HRF).

 

Painel de Instrumentos

 

As Câmeras cadastradas são automaticamente identificadas e listadas no painel de instrumentos .

 

Ações

 

A extensão possui uma interface para inclusão de ações. Ao cadastrar uma nova Ação na lista de comandos irá aparecer o comando ‘CLP’. Ao seleciona-la irá abrir uma janela para realizar a configuração do comando.

Há dois campos um com a lista de câmeras cadastradas e o outro deverá ser informado uma chave que servirá como uma identificação da imagem capturada.

 

Configurar Relatório

 

No botão ‘Configurar Relatório’ da janela de consulta de Câmeras é possível configurar a banda das imagens de câmera tiradas no processo. Altura e largura da imagem, e as chaves cadastradas nas ações que irão aparecer no romaneio.

 

 

Observadores

 

Imagem Câmera

 


Incluído ‘observer’ para a tela de visualização de fluxos que ao carregar incluí o botão ‘Imagem Câmera’.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Versão 1.0.0.3

 

 

 

 

 

 

MAXICON BALANÇA

 


Histórico da Revisão

 

Histórico de Alterações

 

Data

Responsável

 

Alterações

20/08/2012

Alexandre Tiago Flach

 

Criação do Manual


ÍNDICE

 

 

Manual Extensão CLP .........................................................................................................................................................

Maxicon Balança ..................................................................................................................................................................

ÍNDICE ..................................................................................................................................................................................

Programas .............................................................................................................................................................................

CLP ....................................................................................................................................................................................

Painel de Instrumentos .................................................................................................................................................

Ações .............................................................................................................................................................................

Observadores ........................................................................................................................................................................

Gravar TAG .......................................................................................................................................................................

Comandos ..............................................................................................................................................................................

Comandos de Programa .....................................................................................................................................................

DADOS_RFID ..............................................................................................................................................................

ESCREVER_DADOS_RFID .........................................................................................................................................


 

 

Programas

 

 

CLP

 

Incluído programa para cadastrar as CLP’s através dos recursos disponíveis no HRF.

Na inclusão de uma nova CLP é necessário informar o recurso do HRF e clicar em Carregar para carregar as instâncias disponíveis. Ao selecionar a instância são carregados todos os dispositivos em um lista abaixo, para navegar nesta lista baste dar dois cliques no dispositivo, que irá listar as ações para aquele dispositivo, mais dois cliques irá para a lista dos parâmetros das ações, para voltar pressione ‘backspace’. Informe o IP e a porta e confirme.

 

Painel de Instrumentos

 

As CLP’s cadastradas são automaticamente listadas no painel de instrumentos com seus dispositivos.

 

Ações

 

A extensão possui uma interface para inclusão de ações. Ao cadastrar uma nova Ação na lista de comandos irá aparecer o comando ‘CLP’. Ao seleciona-la irá abrir uma janela para realizar a configuração do comando.

Observadores

 

Gravar TAG

Incluído ‘observer’ para a tela de controle de pátio, que ao carregar incluí o botão ‘Regravar  Tag’ .

 

Comandos

 

Comandos de Programa

 

DADOS_RFID

 

Este comando apenas compõe o contexto com as informações necessárias para realizar a gravação dos dados de identificação no RFID (específico da BsBios).

 

ESCREVER_DADOS_RFID

 

Abre a janela para escolher a antena que será gravado o RFID ( ver tópico ).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Versão 1.0.0.0

 

 

 

 

 

 

MAXICON BALANÇA

 


Histórico da Revisão

 

Histórico de Alterações

 

Data

Responsável

 

Alterações

21/08/2012

Alexandre Tiago Flach

 

Criação do Manual


ÍNDICE

 

 

Manual Extensão DataBase .................................................................................................................................................

Maxicon Balança ..................................................................................................................................................................

ÍNDICE ..................................................................................................................................................................................

Programas .............................................................................................................................................................................

Sequenciais do Banco ........................................................................................................................................................

SQL Relatórios ..................................................................................................................................................................

Visão Relatórios .................................................................................................................................................................

Relatório Visão ..................................................................................................................................................................

Observadores ........................................................................................................................................................................

Visão Programa .................................................................................................................................................................


 

 

Programas

 

Sequenciais do Banco

 

Janela para realizar a manutenção dos sequenciais do banco. Exibe uma lista com todos os sequenciais com seus respectivos valores.

No botão alterar é possível definir o valor do sequencial, este valor é validado sobre as tabelas que á utilizam, verificando se o número informado é maior que o maior ID encontrado nas tabelas.

No botão ‘Atualiza Valor Sequenciais’ o sistema passa todas as sequências atualizando com o maior ID encontrado nas tabelas.

 

SQL Relatórios

 

Janela simples para cadastro das sql’s que serão utilizadas nas visões. Define-se a descrição e a sql da consulta no campo Script. Para realizar quebra de linha dentro do campo Script é necessário pressionar a seguinte combinação de teclas: Shift+Enter.

Abaixo do campo script existem os campos auxiliares para inclusão de parâmetros na consulta. Para utilizar basta deixar posicionado o cursor no local desejado no script, no campo parâmetro informe um identificador (chave/descrição) e o tipo do parâmetro na lista, clicando em inserir os parâmetros serão incluídos no local posicionado no script. Ao salvar é verificado se SQL é válida, não são permitidos comandos que precisem de transação ou que realizam alteração de estrutura.

 

Visão Relatórios

 

As visões serão à base do layout do relatório. No cadastro são informados os seguintes dados:

  • SQL : a base SQL cadastrada na tela SQL Relatório ; no momento da escolha é feito uma cópia da SQL para a visão, as futuras alterações na base da SQL não refletiram na visão;
  • Descrição : a descrição da visão, deverá ser única pois o seu nome será usado para liberação de acesso;
  • Ativo : se a visão está ativa para uso;
  • Colunas : ao informar a SQL os colunas são dispostas nesta lista, podendo alterar o título na coluna ‘Display Name’;
  • Ordenação/Agrupamento : a ordem da ordenação e as colunas que serão agrupadas. Para adicionar uma coluna basta dar dois cliques na lista de colunas ou selecionar a coluna e arrastar até a lista de ordenação. Para mover os itens pressione a tecla Ctrl+Up para cima e Ctrl+Down para baixo. Para remover baste pressionar a tecla Delete no item desejado ou arrastar o item para fora da lista.
  • Linha Vertical : marcar se deseja mostrar as linhas verticais no relatório;
  • Linha Horizontal : marcar se deseja mostras as linhas horizontais no relatório;
  • Paisagem: marcar se o relatório será impresso no modo paisagem;
  • Carregar: ao pressionar o botão os dados serão listados na grid abaixo, se houver parâmetros abrira uma tela para informa-los;
  • Grid: nesta grid será possível personalizar a disposição das colunas e totalizadores.

 

Relatório Visão

 

A janela de visualização da visão contém um botão para informar os parâmetros da consulta, se conter os parâmetros está janela já é aberta ao abrir a visão (não é obrigatório informar, poderá ser cancelado). Há também um quadro para realizar filtros mais complexos com a consulta.

Se o usuário possuir liberado o recurso de customização, a grid estará liberada para personalização.

Para realizar a impressão pressionar o botão Visualizar (Shift+F8).

Observadores

 

Visão Programa

 

Incluído ‘observer’ ao carregar a lista de programas da aplicação, realiza a inclusão dos programas das visões dos relatórios ativos. Os programas ficaram disponíveis para liberação de acesso como o seguinte nome: Relatório [nome visão], com os recursos de visualização e customização.

Outro ‘observer’ fará a inclusão das visões no menu da aplicação na categoria ‘Relatórios’. As visões são agrupadas pela base SQL. Ao clicar no botão serão listadas todas as visões disponíveis para aquela SQL.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MAXICON BALANÇA

 

 

 

 


Histórico da Revisão

 

Histórico de Alterações

 

Data

Responsável

Solicitação

Alterações

28/11/2011

Alexandre Tiago Flach

37719

Criação do Manual

23/02/2012

Alexandre Tiago Flach

37719

Alteração do Manual

15/08/2012

Alexandre Tiago Flach

 

Atualização do Manual


ÍNDICE

 

 

Manual Instalação .........................................................................................................................................................

Maxicon Balança ...........................................................................................................................................................

ÍNDICE ..........................................................................................................................................................................

INSTALAÇÃO ..............................................................................................................................................................

PostgreSQL 8.4 ...........................................................................................................................................................

Java JRE .....................................................................................................................................................................

Maxicon Balança ........................................................................................................................................................

Instalar ...................................................................................................................................................................

Remover .................................................................................................................................................................

ASSISTENTE DE CONFIGURAÇÃO .......................................................................................................................

Conexão ......................................................................................................................................................................

Nova Base de Dados ...................................................................................................................................................

Atualização .................................................................................................................................................................

Serviço de Integração .................................................................................................................................................

AJUDA ...........................................................................................................................................................................

Nova Base de Dados no PostgreSQL 8.4 ...................................................................................................................


 

 

INSTALAÇÃO

 

PostgreSQL 8.4

 

Execute o instalador do PostgreSQL 8.4 com permissões de administrador.

 

 

Clique em Next.

 

Informe o diretório da instalação (recomendado deixar padrão) e clique em Next.

 

Informe o diretório onde ficarão armazenadas as base de dados do PostgreSQL (recomendado deixar padrão) e clique em Next.

 

 

Informe a senha da conta do serviço para o usuário postgres (senha será necessária posteriormente para configuração da conexão) e clique em Next.

 

Clique em Next para iniciar a instalação.

 

 

Aguarde o fim da instalação.

 

Desmarque o checkbox do Launch Stack Builder e clique Finish para concluir

 

 

Java JRE

 

Realizar a instalação do Java JRE que está disponível no link http://www.java.com/pt_BR/download/ compatível com a versão do sistema operacional a ser instalado.

 

Maxicon Balança

 

Instalar

 

Execute o instalador do Maxicon Balança disponibilizado pela Maxicon, certifique-se que seja executado como administrador.

 

Informe o local da instalação (manter padrão) e clique em Avançar.

 

Clique em Avançar para iniciar a instalação.

 

Aguarde o fim da instalação.

 

 

 

Clique em Fechar para concluir.

 

Remover

 

Antes de remover certifique que o serviço de integração não esteja em execução na máquina (ver tópico 2.4 ).

Abra o desinstalador (Iniciar/Programas/Maxicon Balança/Desinstalador ou remova pelo painel de controle através do Adicionar ou Remover Programas).

 

Aguarde a remoção.

 

 

 

 

ASSISTENTE DE CONFIGURAÇÃO

 

O assistente está disponível em Iniciar/Programas/Maxicon Balança/Assistente de Configuração.

Conexão

 

Este assistente irá auxiliar na configuração da conexão com a base de dados e da integração.

Com a janela do assistente de configuração aberta pressiona o botão Conexão.

 

 

Irá abrir o assistente de configuração das conexões, clique em Próximo.

 

Na coluna esquerda estarão disponíveis as informações de conexão com a base de dados:

Servidor : ip do computador que possui a base de dados;

Porta : porta de conexão com o PostgreSQL, por padrão a porta do postgreSQL é a 5432 (ver tópico 1.1 );

Usuário : usuário de conexão do banco de dados (padrão postgres);

Senha : senha do usuário do banco de dados;

 

Confirmar Senha : confirmar senha informada para o usuário;

Base de Dados : nome da base de dados (ver no tópico 3.1 como criar uma nova base de dados).

 

Na coluna da direita estão disponíveis as configuração para integração (provenientes do MCA):

Alias : nome/apelido da fila da filial;

Queue Name : nome da fila no JBoss;

Alias Integração : nome/apelido da fila d matriz, onde será destinado as requisições (padrão: MAXYSBalanca);

Servidor : ip do servidor JBoss;

Porta : porta de conexão do Stomp (padrão 61613).

Usuário : usuário para autenticação na fila do JBoss;

Senha : senha do usuário de autenticação da fila.

 

 

Clique em Próximo para salvar as alterações.

 

 

Para finalizar clique em Concluir.

 

Nova Base de Dados

 

Este assistente irá auxiliar na configuração de uma nova base de dados para o Maxicon Balança.

 

Com a janela do assistente de configuração aberta pressione o botão Nova Base.

 

Ao abrir o assistente, clique em Próximo.

 

Verifique se o serviço de integração está instalado na máquina, antes de prosseguir.

-  Se o serviço não estiver instalado ir até o tópico 2.4 , que irá auxiliar na instalação do serviço.

- Recomendado que o serviço esteja ‘Parado’, e que tenha sido executado o assistente de configuração como administrador no computador que está instalado o serviço. Que após finalizar as atualizações de banco é feita uma tentativa de iniciar o serviço para que as integrações iniciem.

 

Para configurar a nova base de dados será necessário informar o código da empresa que se deseja fazer a integração e sincronização dos dados. O código do usuário administrador, e o usuário e senha da conexão com o banco de dados (por segurança).

 

Após informar os dados pressione Próximo.

 

 

Aguarde próxima instrução.

 

Após realizar a inclusão das tabelas, configurações iniciais e as requisições de integração necessárias, irá uma janela para inclusão de configuração de balança.


Para incluir uma nova configuração pressione F6, informe a descrição, endereço do HRF, o fluxo e o restante das configurações necessárias para conexão com a balança, após concluir pressione F10 para salvar.

Em seguida é aberta a janela de configuração da pesagem. Configure e salve as alterações.

 

Para acompanhar a fila de integração ficará disponível um botão na janela de conclusão do assistente.

Atenção : para garantir que a integração esteja ocorrendo acompanhe a fila, pra ver se os dados estão sendo recebidos através da coluna Status. Se os dados não forem sincronizados não será possível acessar a
aplicação.

 

 

Se não listar nenhum registro, o serviço de integração não está configurado corretamente ou não está em execução.

 

 

Atualização

 

A atualização da base de dados é feita automaticamente pelo sistema ao iniciar.

Quando o sistema é iniciado verifica-se se a versão do aplicativo corresponde a base de dados. Se houver divergências é realizado a atualização, fazendo um backup da base de dados e em seguida aplicando a configuração. Durante está atualização é enviado um parâmetro para o serviço de integração para que ele pare a execução, em seguida verifica-se se existem conexões ativas na base, isto é, não deve existir usuários conectados.

Uma atualização poderá ser ‘forçada’ no Assistente de Configuração no botão Atualizar Base.

A arquivo (base_data_hora.backup) de backup da base se encontra na pasta Backup no local onde foi instalado o aplicativo.

Atenção: ao finalizar a atualização o sistema é liberado para execução e o serviço deverá ser iniciado manualmente .

Serviço de Integração

 

Este assistente irá auxiliar na instalação e remoção do serviço de integração da balança.

Com a janela do Assistente de Configuração (executar como administrador) aberta pressione o botão Serviço Integração.

Ao clicar no botão Instalar Serviço, será realizado a instalação do serviço no computador.

Para remover o serviço clique em Remover Serviço.

 

 

 

Para acompanhar o status de execução do serviço, poderá acessar os serviços do Windows no Painel de Controle/Ferramentas Administrativas/Serviços. Procure pelo serviço ‘Integrador Balança Cliente’.

 

 

 

AJUDA

 

Nova Base de Dados no PostgreSQL 8.4

 

Após ter instalado o PostgreSQl 8.4 (ver tópico 1.1 ), procure no iniciar pelo PgAdmin III (Iniciar/Programas/PostgreSQL 8.4/PgAdmin III) e abra-o.

No lado esquerdo localize a conexão onde ficará a base de dados e conecte informando a senha do usuário postgres.

 

Clique com o botão direito do mouse em Banco de Dados, e selecione a opção Nova Base de Dados.

 

Na janela que abrir informe o nome da base de dados e clique em OK para criar o banco.

Base criada com sucesso.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MAXICON BALANÇA

 

 

 

 


Histórico da Revisão

 

Histórico de Alterações

 

Data

Responsável

Solicitação

Alterações

28 /11/2011

Alexandre Tiago Flach

37719

Criação do Manual


ÍNDICE

 

 

Manual Padronização ..........................................................................................................................................................

Maxicon Balança ..................................................................................................................................................................

ÍNDICE ..................................................................................................................................................................................

1 PADRONIZAÇÃO DE TELAS .................................................................................................................................

1.1 Cores ........................................................................................................................................................................

1.2 Programa ..................................................................................................................................................................

1.2.1 Resolução .......................................................................................................................................................

1.2.2 Ícones ..............................................................................................................................................................

1.3 Prompt ......................................................................................................................................................................

1.4 Campos .....................................................................................................................................................................

1.5 Grid ..........................................................................................................................................................................

1.6 Barra de Rolagem .....................................................................................................................................................

1.7 Tela de Consulta .......................................................................................................................................................

1.7.1 Propriedades ..................................................................................................................................................

1.7.2 Consulta de Registros .....................................................................................................................................

1.7.3 Seleção de Registro ........................................................................................................................................

1.7.4 Carregar Controles ........................................................................................................................................

1.7.5 Botões da Barra ..............................................................................................................................................

1.8 Tela Matriz Consulta ................................................................................................................................................

1.8.1 NovoRegistro ..................................................................................................................................................

1.8.2 AlterarRegistro ...............................................................................................................................................

1.8.3 RemoverRegistro ............................................................................................................................................

1.8.4 Novo ................................................................................................................................................................

1.8.5 Alterar .............................................................................................................................................................

1.8.6 Remover ..........................................................................................................................................................

1.9 Tela de Cadastro .......................................................................................................................................................

1.9.1 Carregar Controles ........................................................................................................................................

1.9.2 Carregar Dados ..............................................................................................................................................

1.9.3 Validar ............................................................................................................................................................

1.9.4 Persistir Dados ...............................................................................................................................................

1.9.5 Aplicar ............................................................................................................................................................

1.9.6 Salvar ..............................................................................................................................................................

1.9.7 Habilitar Botões .............................................................................................................................................

1.9.8 Adicionar Botões ............................................................................................................................................

1.10 Campo de Pesquisa ..............................................................................................................................................

1.10.1 Tag de Pesquisa .........................................................................................................................................

1.11 Campo Descrição ................................................................................................................................................

1.12 Campo Data .........................................................................................................................................................

1.13 Campo Hora ........................................................................................................................................................

1.14 Campo Numérico ................................................................................................................................................

1.15 Botões ..................................................................................................................................................................

1.16 Listas ...................................................................................................................................................................

1.17 RadioGroup .........................................................................................................................................................

1.18 Memorando .........................................................................................................................................................

2 PADRONIZAÇÃO DE PROGRAMAÇÃO .............................................................................................................

2.1 Mensagens ................................................................................................................................................................

2.2 Exceções ...................................................................................................................................................................

2.3 Log ...........................................................................................................................................................................

2.4 Comentários .............................................................................................................................................................

2.5 Estrutura Código ......................................................................................................................................................

2.5.1 Endentação do código ....................................................................................................................................

2.6 Declaração e atribuição de variáveis ........................................................................................................................

2.6.1 Variáveis privadas de classe ..........................................................................................................................

2.6.2 Variáveis locais ..............................................................................................................................................

2.6.3 Namespace ......................................................................................................................................................

2.6.4 Interface ..........................................................................................................................................................

2.6.5 Métodos ..........................................................................................................................................................

2.6.6 Enumerações ..................................................................................................................................................

2.6.7 Eventos ...........................................................................................................................................................

2.6.8 Constantes ......................................................................................................................................................

2.6.9 Exceções .........................................................................................................................................................

2.6.10 Propriedades públicas ...............................................................................................................................

2.7 InfoApp ....................................................................................................................................................................

2.7.1 Log ..................................................................................................................................................................

2.7.2 Nome da Aplicação .........................................................................................................................................

2.7.3 Pasta Executável ............................................................................................................................................

2.7.4 Pasta AppData ................................................................................................................................................

2.7.5 Pasta Imagens ................................................................................................................................................

2.7.6 Empresa ..........................................................................................................................................................

2.7.7 Usuário ...........................................................................................................................................................

2.8 Protocolos de Integração ..........................................................................................................................................

2.9 Wizard ......................................................................................................................................................................

2.9.1 Configuração Conexão ...................................................................................................................................

2.9.2 Instalação Nova Base .....................................................................................................................................

2.9.3 Atualização da Base de Dados .......................................................................................................................

2.9.4 Serviço de Integração .....................................................................................................................................

2.10 Setup ....................................................................................................................................................................

2.11 Tradução DevExpress .........................................................................................................................................

2.12 Integrador da Balança ..........................................................................................................................................

3 Referências ..................................................................................................................................................................


 

 

1          PADRONIZAÇÃO DE TELAS

 

1.1       Cores

 

Seguirá o padrão das cores do skin “Office 2010 Silver” do DevExpress, que poderá ser registrado no início da execução do programa:

(Incluir em References do projeto a DLL DevExpress.OfficeSkins.v..)

 

            DevExpress.UserSkins. OfficeSkins .Register();

            DevExpress.LookAndFeel. UserLookAndFeel .Default.SetSkinStyle( "Office 2010 Silver" );

 

 

1.2       Programa

 

Os programas inicialmente serão registrados no MenuPrincipal .cs na função RetornaProgramas, onde conterá os Módulos com o seu tipo de módulo (Maxicon.Balanca.Model.Interface.TModulo) , que será dispostos no menu principal da seguinte forma:

 

Módulo:

descricao : descrição do módulo (evitar de criar módulos com nomes iguais para um mesmo tipo de módulo);

tipoModelo : tipo do módulo.

Programa:

nome : nome do programa, geralmente o nome da classe que o implementa;

descrição : descrição do programa, exibido no menu principal;

modulo : módulo no qual o programa pertence;

escopo : escopo onde conterá as janelas, poderá estar em projetos distintos;

protocolo : protocolo no qual o programa implementa;

tipoPrograma : tipo de programa (Consulta, Cadastro), nas chamadas do menu principal será de extrema importância, pois identificará o assembly e o type das janelas.

 

      Atenção: os nomes das telas deverão seguir o padrão do nome do programa e o tipo do programa. Exemplo: CliforConsulta (para janela de consulta) e CliforCadastro (para janela de cadastro), ControlePatioConsulta .

 

 

Tipo de Módulos:

 

Módulos

Programas

Barra com programas em execução

 

1.2.1    Resolução

 

A resolução do sistema deverá se adequar a resolução do computador.

 

 

 

 

1.2.2    Ícones

 

Os ícones deverão estar dentro da pasta /Icones, com o nome “[modulo]_[nome_classe].png”. Exemplo da tela Controle de Pátio: “Pesagens_ControlePatio.png”.

 

Modulo pesagensBalanca = new Modulo () { descricao = "Pesagens" , tipoModelo = TModulo .BALANCA };

Programa controlePatio = new Programa () { nome = "ControlePatio" , descricao = "Controle Pátio" , modulo = pesagensBalanca, escopo = "MaxiconBalanca.Interface.Balanca" };


Observação: os ícones deveram estar no projeto Maxicon.Balanca.View na pasta Icones, com a propriedade Copy to Output Directory com o valor Copy Always. Os novos ícones deverão ser inclusos manualmente no instalador na pasta Icones.

 

 

 

 

1.3       Prompt

 

Fonte: Tahoma

Tamanho: 8

Estilo de Fonte: Regular

 

1.4       Campos

 

Fonte: Tahoma

Tamanho: 8

Estilo de Fonte: Regular

 

1.5       Grid

 

Deverá ser utilizado o componente GridControl utilizando um GridView para listar os dados (Tamanhos e cores são definidos no skin).

 

Para outras definições poderá ser chamado o procedimento ComponenteBehavior .AplicaConfiguracoesGrid no namespace Maxicon.Balanca.View.Pattern.

 

1.6       Barra de Rolagem

 

Automática, controlada pelo componente.

 

1.7       Tela de Consulta

 

Herdar da tela ConsultaPadrao , onde poderão ser preenchidas as seguintes propriedades no construtor.

 

 

Exemplo da tela consulta de municípios:

Construtor:

 

public MunicipioConsulta(): base (Model.Interface. TProtocolo .GET_MUNICIPIOIBGE)

        {

            InitializeComponent();

 

            base . gridConsulta = gridView1;

 

            base . bindingSourceConsulta = municipioIBGEBindingSource;

 

            base . classePesquisa = typeof ( MunicipioIBGE );

 

            base . ordenacao = new Order [] { new Order ( "codigo" , true ) };

        }

 

 

1.7.1    Propriedades

gridConsulta : gridView que será listado a consulta;

bindingSourceConsulta : bindingSource onde conterá o resultado da consulta;

classePesquisa : type da classe que está sendo realizado a consulta (para que funcione corretamente a classe deverá ser herdada pela classe ActiveRecordBase);

ordenacao : ordenação dos registros aplicado sobre a consulta;

protocolo: protocolo específico que a janela de consulta está implementando, com está propriedade informada evitará que o janela seja aberta mais de uma vez no menu principal;

filtroSelecao : onde conterá o filtro vindo de uma outra tela (utilizado no componente PesquisaControle, onde já se tem um critério de pesquisa e janela de consulta abrirá a tela já com os dados que são necessários);

filtroInterno: conterá um filtro interno, por exemplo: registros que não poderão ser mostrados naquela janela ou a utilização de filtros internos como campos para o usuário informar critérios de pesquisa (abaixo onde fala sobre o método ConsultarRegistros há exemplos práticos);

registroInicial: número do registro inicial que será utilizado no pesquisa (utilizado em paginações), seu valor padrão é 0 (zero);

registroFinal: número do registro final que deverá trazer na consulta, utilizado para limitar quantidade de registros pesquisados (poderá ser utilizado em paginações), seu valor padrão é 100, para que retorna todos os registros seu valor deverá ser 0 (zero);

totalRegistros: armazenara o total de registros da consulta, isto é, o total de registros sem aplicação de paginação;

 

 

A tela de consulta padrão possui um construtor que recebe como parâmetro um TProtocolo , se a tela que será herdade possuir um protocolo próprio poderá ser passado no construtor como o exemplo acima. Com está propriedade definida, ao abrir um programa no menu principal será verificado se o programa já se encontra aberto, se encontrar direcionará o foco para o programa que foi solicitado, chamando o procedimento ConsultarRegistros para atualizar a lista de registros. O método poderá ser sobrescrito e adequado caso necessário. Veja exemplo:

 

Janela de consulta de clifor, onde possui campo em tela para filtro com chamada do método base:

 

public override void ConsultarRegistros()

        {

            if (filtroInterno == null )

               filtroInterno = new List < ICriterion >();

            else

                filtroInterno.Clear();

 

            if (! string .IsNullOrEmpty(edNomeClifor.Text))

                filtroInterno.Add( Expression .InsensitiveLike( "nome" , edNomeClifor.Text, MatchMode .Anywhere));

 

            base .ConsultarRegistros();

        }

 

Exemplo do filtro no controle de pátio sem a chamada do método base:

 

public override void ConsultarRegistros()

        {

            controlePatioBindingSource.Clear();

 

            var filtrosAnd = Expression .Conjunction();

            filtrosAnd.Add( Expression .Eq( "cancelado" , false ));

            filtrosAnd.Add( Expression .Eq( "status" , TStatusProcessamento .NãoEnviado));

 

            if (! string .IsNullOrEmpty(placaTextEdit.Text))

                filtrosAnd.Add( Expression .Eq( "placaCavalo" , placaTextEdit.Text));

            if (produtoPesquisaControl.Entidade != null )

                filtrosAnd.Add( Expression .Eq( "itemBalanca" , produtoPesquisaControl.Entidade));

            if (fluxoLookUpEdit.EditValue != null )

                filtrosAnd.Add( Expression .Eq( "fluxo" , fluxoLookUpEdit.EditValue));

 

            controlePatioBindingSource.DataSource = ControlePatio .FindAll( new Order ( "placaCavalo" , true ), filtrosAnd);

        }

 

 

Existe um propriedade isLiberaSelecao que se for marcada como true , no momento de exibir a tela ao usuário o botão de seleção será liberado para visualização. Ao clicar no botão ou pressionar F10 para selecionar, a propriedade isSelecionado será marcado como true e a propriedade idSelecionado armazenara o id do registro selecionado. Exemplo de utilização:

 

     DispositivoBalancaConsulta consultaBalanca = new DispositivoBalancaConsulta ();

            consultaBalanca. isLiberaSelecao = true ;

            consultaBalanca.ShowDialog();

            if (consultaBalanca. isSelecionado )

            {

               Dispositivo balanca = DispositivoBalanca .Find(consultaBalanca. idSelecionado );

            }

 

O método SelecionarRegistro chamado na ação da seleção poderá ser sobrescrito, caso não atender a definição padrão.

 

 

 

O procedimento CarregarControles poderá ser sobrescrito, para que possam ser incluídos botões, definir algumas propriedades ao exibir a janela para o usuário, inicializar componentes, carregamento de dados, etc. Função é chamada no evento Load da janela. Abaixo segue exemplo na janela de controle de pátio, onde são incluído botões, aplicado e carregado configurações, além de realizar carregamento de dados para os campos de filtro.

 

 

public override void CarregarControles()

        {

            UtilComponente .AplicaConfiguracoesGrid(controlePatioGridView);

            UtilComponente .AddBotaoLimparLookUpEdit(fluxoLookUpEdit);

            fluxoLookUpEdit.Properties.DataSource = Enum .GetValues( typeof ( TFluxoPesagem ));

 

            PesquisaControl .InserirEventos( this .dxError,

               produtoPesquisaControl,

               codigoProdutoTextEdit,

               typeof ( ItemBalanca ),

               typeof ( ItemBalancaConsulta ),

               null ,

               false ,

               true ,

               null );

 

            var buttonProximaEtapa = new DevExpress.XtraBars. BarButtonItem ();

            buttonProximaEtapa.Caption = "Próxima Etapa (F8)" ;

            buttonProximaEtapa.Hint = "Próxima Etapa" ;

            buttonProximaEtapa.ShortcutKeyDisplayString = " " ;

            buttonProximaEtapa.Name = "buttonProximaEtapa" ;

            buttonProximaEtapa.Visibility = DevExpress.XtraBars. BarItemVisibility .Always;

            buttonProximaEtapa.ItemShortcut = new DevExpress.XtraBars. BarShortcut ( Shortcut .F8);

            buttonProximaEtapa.Glyph = Properties. Resources .proximo_24;

            buttonProximaEtapa.ItemClick += new ItemClickEventHandler (buttonProximaEtapa_ItemClick);

            this .InserirBotaoBarraFerramentas(buttonProximaEtapa, 0, 0, false , true , true );

 

            var buttonProcessamento = new DevExpress.XtraBars. BarButtonItem ();

            buttonProcessamento.Caption = "Processamento (F11)" ;

            buttonProcessamento.Hint = "Procesamento" ;

            buttonProcessamento.ShortcutKeyDisplayString = " " ;

            buttonProcessamento.Name = "buttonProcessamento" ;

            buttonProcessamento.Visibility = DevExpress.XtraBars. BarItemVisibility .Always;

            buttonProcessamento.ItemShortcut = new DevExpress.XtraBars. BarShortcut ( Shortcut .F11);

            buttonProcessamento.Glyph = Properties. Resources .process_24;

            buttonProcessamento.ItemClick += new ItemClickEventHandler (buttonProcessamento_ItemClick);

            this .InserirBotaoBarraFerramentas(buttonProcessamento, 1, 0, false , true , false );

 

            configPesagem = ConfiguracaoPesagem .FindOne( Expression .Eq( "empresa" , InfoApp .empresa));

 

            cancelarButtonItem.Caption = "Fechar (F4)" ;

            cancelarButtonItem.Caption = "Fechar" ;

 

            CarregaOrdemPesagem();

        }

 

 

 

A janela de consulta possui duas barras (toolbar e statubar) onde poderão ser inclusos novos botões.

Por padrão da janela existem os botões:

Selecionar (F10): seleção de registro (ver tópico 1.7.3 );

Atualizar (F5): consulta de registros (ver tópico 1.7.2 );

Cancelar(F4): irá fechar a janela chamando o procedimento Fechar.

Novos botões poderão ser inclusos nas barras através do procedimento:

InserirBotaoBarraFerramentas( BarItem item, int index, int userWidht, bool incluirSeparador, bool incluirMenuBar = true , bool incluirStatusBar = false )

 

item : item a ser incluído na barra;

index : índice da posição do item na barra (iniciando em 0 (zero));

userWidht : definir tamanho do item (itens específicos implementam por padrão é zero);

incluirSeparador : caso o botão não possui a mesma característica de funcionalidade que o botão ao lado esquerdo, será possível incluir um separador informando true ;

incluirMenuBar : se true o item será incluso na barra superior;

incluirStatusBar : se true o item será incluso na barra inferior.

 

Exemplo de utilização no tópico 1.7.4 .

 

 

1.8       Tela Matriz Consulta

 

 

A tela matriz de consulta (ConsultaMatrizPadrao) poderá ser herdada por janelas que irão fazer chamadas  de inserção, alteração e remoção de registros. Está janela implementa a janela de consulta padrão (ver tópico 1.7 com as propriedades necessárias para implementação), adicionando os botões:

Adicionar (F6): inclusão de novo registro, realizando chamada no procedimento NovoRegistro();

Alterar (F7): alteração do registro selecionado, realizando chamada no procedimento AlterarRegistro();

Remover (Del): remoção do registro selecionado, realizando chamada no procedimento RemoverRegistro();

 

Atenção: ao herdar de ConsultaMatrizPadrao e sobrescrever o procedimento CarregarControles manter chamada ao método base , pois é ele quem adiciona os botões implementados nesta tela.

 

public override void CarregarControles()

        {

            base .CarregarControles();

 

            UtilComponente .AplicaConfiguracoesGrid(gridView1);

        }

 

 

1.8.1    NovoRegistro

 

Procedimento virtual, que realiza chamada ao procedimento Novo . Possui tratamento de erro e, finalizada com a chamada no procedimento ConsultarRegistros atualizando a lista de registros.

 

 

Procedimento virtual, que verifica se há um registro válido (implementado pela interface IEntidade ) selecionado e realiza a chamada ao procedimento Alterar . Se não encontrar um registro selecionado exibe mensagem ( UtilMensagem .SELECIONE_REGISTRO ). Possui tratamento de erro e, finalizada com a chamada no procedimento ConsultarRegistros atualizando a lista de registros;

 

 

Procedimento virtual, que verifica se há um registro válido (implementada pela interface IEntidade ) selecionado e realiza a chamada ao procedimento Remover . Se não encontrar um registro selecionado exibe mensagem ( UtilMensagem .SELECIONE_REGISTRO ). Possui tratamento de erro e, finalizada com a chamada no procedimento ConsultarRegistros atualizando a lista de registros;

 

 

1.8.4    Novo

 

Procedimento virtual, que deverá ser implementado pela tela que há herda. Método chamado por NovoRegistro .

 

1.8.5    Alterar

 

Procedimento virtual, que recebe como parâmetro de entrada o id do objeto selecionado, que deverá ser implementado pela tela que há herda. Método chamado por AlterarRegistro .

 

 

1.8.6    Remover

 

Procedimento virtual, que recebe como parâmetro de entrada o id do objeto selecionado, poderá ser implementado pela tela que há herda ou como padrão irá fazer a deleção da entidade selecionada caso entidade de pesquisa tiver sido informada na construção da tela ( ActiveRecordMediator .Delete(gridConsulta.GetFocusedRow()) ). Método chamado por RemoverRegistro .

 

 

1.9       Tela de Cadastro

 

As janelas de cadastro poderão ser herdadas de CadastroPadrao na biblioteca Maxicon.Balanca.Lib.

 

 

O procedimento CarregarControles poderá ser sobrescrito, para que possam ser incluídos botões, definir algumas propriedades ao exibir a janela para o usuário, inicializar componentes, carregamento de dados, etc. Função é chamada no evento Load da janela (ver exemplo no tópico 1.7.4 ).

 

1.9.2    Carregar Dados

 

O método CarregarDados é chamado logo após o método CarregarControles no evento Load da janela. Deverá ser sobrescrito se herdado, sua principal função é realizar o carregamento dos dados para edição na janela.

 

protected override void CarregaDados()

        {

            fluxoBalancaLookUpEdit.Properties.DataSource = Enum .GetValues( typeof ( TFluxoBalanca ));

 

            if (configuracao == null )

            {

                configuracao = new DispositivoBalanca ();

                configuracao.descricao = "Balança " + configuracao.fluxoBalanca.ToString();

                configuracao.endereco = "http://localhost:8084/service" ;

                configuracao.delimiter = "13" ;

                configuracao.length = "5" ;

                configuracao.port = "COM1" ;

                configuracao.initialPos = "4" ;

                configuracao.securityReads = "4" ;

                configuracao.baudrate = "9600" ;

                configuracao.databits = "8" ;

                configuracao.stopbits = "1" ;

                configuracao.parit = "0" ;

            }

            else

                descricaoTextEdit.Properties.ReadOnly = true ;

 

            dispositivoBalancaBindingSource.DataSource = configuracao;

            dataLayoutControl1.Refresh();

        }

 

1.9.3    Validar

 

O método Validar é invocado ao tentar persistir as informações da janela. Recebe como parâmetro um booleano que define se o campo com erro deverá receber o foco. Deverá retornar também um booleano se os dados foram validados com sucesso.

O janela possui o componente dxErrorProvider é através deles que os campos são validados, ou seja, toda e qualquer mensagem de validação para um campo deverá passar por este componente. Ele deixará um ícone no campo, isto quer dizer que o campo não está valido, para visualizar o motivo da visualização será necessário ir com o mouse em cima do ícone. Para facilitar a visualização do usuário foi implementado um procedimento para forçar a exibição da mensagem ao receber o foco. Veja exemplo:

 

if (foco)

                ComponenteBehavior .MostrarFocoPrimeiroItemErro(dxErrorProvider, defaultToolTipController.DefaultController);

 

Segue exemplo da utilização do procedimento:

 

protected override bool Validar( bool foco = true )

        {

            bool valido = true ;

            try

            {

                if ( ValidacaoHelper .ControleNulo(dxErrorProvider, depositoPesquisaControl))

                    valido = false ;

                else

                    pesagem.deposito = depositoPesquisaControl.Entidade as Deposito ;

 

                if ( ValidacaoHelper .ControleNulo(dxErrorProvider, tabelaDescontoPesquisaControl))

                    valido = false ;

                else

                    pesagem.tabelaDesconto = tabelaDescontoPesquisaControl.Entidade as TabelaDescontoGrao ;

 

                pesagem.embarque.motorista = motoristaTextEdit.Text;

 

                if (viaTransproteLookUpEdit.EditValue == null )

                {

                    pesagem.embarque.viaTransporte = null ;

                    dxErrorProvider.SetError(viaTransproteLookUpEdit, "Informe um registro" , ErrorType .Information);

                    valido = false ;

                }

                else

                {

                    dxErrorProvider.SetError(viaTransproteLookUpEdit, string .Empty);

                    pesagem.embarque.viaTransporte = viaTransproteLookUpEdit.EditValue as ViaTransporte ;

                }

 

                if (! string .IsNullOrEmpty(transportadorPesquisaControl.Text))

                    pesagem.embarque.transportador = Clifor .FindOne( new ICriterion [] { Expression .Eq( "id" , Int64 .Parse(transportadorPesquisaControl.Text)) });

                else

                    pesagem.embarque.transportador = null ;

            }

            catch ( Exception ex)

            {

                valido = false ;

                InfoApp .Log.Error( "falha validar dados da pesagem." , ex);

                MensagemHelper .Show(ex, MessageBoxIcon .Information, string .Empty, "Falha validar dados da pesagem." );

            }

 

            if (foco)

                ComponenteBehavior .MostrarFocoPrimeiroItemErro(dxErrorProvider, defaultToolTipController.DefaultController);

 

            return valido;

        }

 

A classe ValidacaoHelper poderá ser usada para auxiliar em validações simples, como verificação de campos vazios que são obrigatórios, número máximos e mínimos, conforme necessário validações comuns poderão ser implementadas nesta classe.

 

 

O método PersistirDados irá fazer a persistência e/ou processamento das informações, retornando um booleano com valor true se executar com sucesso.

 

 

  protected override bool PersistirDados()

        {

            configuracao.Save();

 

            return true ;

        }

 

1.9.5    Aplicar

 

O método Aplicar irá validar e persistir os dados e retorna um booleano true se executou com sucesso. Sua chamada é realizada quando pressionado o botão Aplicar (F11) da tela que chama o método Salvar passando o parâmetro como false . Consiste em aplicar as alterações sem fechar a janela.

 

1.9.6    Salvar

 

O método Salvar recebe como parâmetro um booleano que ao retornar true na chamada do método Aplicar e se o parâmetro de entrada for true irá chamar o método Fechar que irá fechar a janela. Para realizar a chamada poderá ser utilizado o botão Salvar (F10) que invoca o método Salvar passando o parâmetro como true .

 

 

O método HabilitarBotões é utilizada para desativar ou ativar os botões Salvar , Aplicar e Cancelar da janela de cadastro.

 

 

 

O método InserirBotaoBarraFerramentas tem a mesma funcionalidade que o método da janela de consulta (tópico 1.7.5 ), mas com a opção de adicionar apenas na barra de status.

 

 

Dentro da biblioteca Maxicon.Balanca.Lib foi desenvolvido um componente chamado PesquisaControl , seu principal objetivo é auxiliar em pesquisas de modelos da biblioteca Maxicon.Balanca.Model.

Para utilizar o componente é possível arrastar a partir do ToolBox do visual studio.

As configurações são carregadas a partir do procedimento estático do componente InserirEventos que irá incluir todos os eventos e configurações necessárias para que o componente realize a pesquisa.

 

Parâmetros de entrada:

dxError : componente dxErroProvider que irá gerenciar os erros ocorridos na validação caso não encontrar um registro;

controle : PesquisaControl que irá ser configurado;

descricaoBaseEdit : componente que irá receber a descrição auxiliar através dos atributos de tag definidos no modelo;

camposPesquisa : quando houver mais de um componente que irá receber descrições/resultados da pesquisa poderá ser passado uma lista com todos estes componentes;

model : Type da classe que irá servir como base das pesquisas;

janelaConsulta : Type da janela de consulta do modelo, que será invocada quando encontrar mais de um registro na pesquisa (deverá ser um Type que possua herança com a ConsultaPadrao );

filtros: lista de filtros que será aplicado juntamente com a consulta, utilizado pra restringir registros que não poderão ser retornados na consulta;

enableDescricaoBaseEdit : irá desabilitar os componentes de descrição se definido o parâmetro como true ;

descricaoEmpty : se este parâmetro estiver definido como true , os componentes de descrição auxiliar não serão limpados quando o controle principal (PesquisaControl) estiver sem informação para pesquisa;

validaControle : delegate auxiliar de validação, que se informado será invocado depois de encontrar o registro.

 

Exemplo de utilização do método com um componente auxiliar e com validação auxiliar:

 

PesquisaControl .InserirEventos( this .dxErrorProvider,

                depositoPesquisaControl,

                numeroDepositoTextEdit,

                typeof ( Deposito ),

                typeof ( DepositoConsulta ),

                null ,

                false ,

                true ,

                new PesquisaControl . ValidaControleEventHandler ( this .ValidaDeposito));

 

Exemplo de utilização do método passando uma lista de componentes:

 

PesquisaControl .InserirEventos( this .dxErrorProvider,

                fornecedorPesquisaControl,

                new List < AuxiliarPesquisaControl >()

                {

                    new AuxiliarPesquisaControl ()

                    {

                        nivel = 1,

                        tagPesquisa = TTagPesquisa .Tag,

                        principal = true ,

                        pesquisa = true

                    },

                    new AuxiliarPesquisaControl ()

                    {

                        nivel = 1,

                        tagPesquisa = TTagPesquisa .Proxy,

                        descricaoTextEdit = nomeFornecedorTextEdit,

                        pesquisa = true ,

                    },

                    new AuxiliarPesquisaControl ()

                    {

                        nivel = 2,

                        tagPesquisa = TTagPesquisa .Proxy,

                        descricaoTextEdit = cpfCnpjFornecedorTextEdit,

                        pesquisa = true ,

                    }

                },

                typeof ( Clifor ), typeof ( CliforConsulta ), null , false , false );

 

 

1.10.1                        Tag de Pesquisa

 

As tags de pesquisa são definidas nos modelos através do atributo TagPesquisaAttribute da própria biblioteca de modelos Maxicon.Balanca.Model. Este atributo é necessário para que o PesquisaControl consiga mapear as propriedades do modelo e realizar a consulta na base de dados.

O atributo possui as seguintes propriedades:

nível : qual o nível da pesquisa, apenas definir níveis de prioridade das propriedades dos modelos;

tipoTag : tipo da tag se for Tag (espécie de chave do modelo) ou Proxy (descrição);

descrição : descrição da tag de pesquisa.

 

Exemplo de utilização no modelo Deposito:

 

    [ ActiveRecord ( "deposito" )]

    public class Deposito : ActiveRecordBase < Deposito >, IModel

    {

        #region Propriedades

        /// <summary>

        /// Chave Primária (automatico)

        /// </summary>

        [ PrimaryKey ( "id" , Generator = PrimaryKeyType .Sequence)]

        public virtual long id { get ; set ; }

 

        /// <summary>

        /// Número do deposito

        /// </summary>

        [ Property ( "nr_deposito" , NotNull = true , UniqueKey = "unique_deposito_idx" )]

        [ TagPesquisaAttibute ( TTagPesquisa .Tag, 1, "Depósito" )]

        public virtual int numero { get ; set ; }

 

        /// <summary>

        /// Empresa

        /// </summary>

        [ BelongsTo ( "cd_empresa" , NotNull = true , UniqueKey = "unique_deposito_idx" )]

        public virtual Empresa empresa { get ; set ; }

 

        /// <summary>

        /// Descrição do depósito

        /// </summary>

        [ Property ( "ds_deposito" , NotNull = true )]

        [ TagPesquisaAttibute ( TTagPesquisa .Proxy, 1, "Descrição" )]

        public virtual string descricao { get ; set ; }

 

        #endregion

    }

 

Exemplo de utilização no modelo Clifor com vários níveis:

 

     [ ActiveRecord ( "clifor" )]

    public class Clifor : ActiveRecordBase < Clifor >, IModel

    {

        #region Propriedades

        /// <summary>

        /// Chave Primária (automatico)

        /// </summary>

        [ PrimaryKey ( "id" , Generator = PrimaryKeyType .Assigned)]

        [ TagPesquisaAttibute ( TTagPesquisa .Tag, 1)]

        public virtual long id { get ; set ; }

 

        /// <summary>

        /// Número do CPF/CNPJ

        /// </summary>

        [ Property ( "nr_cpfcnpj" , NotNull = true , Length = 14)]

        [ TagPesquisaAttibute ( TTagPesquisa .Proxy, 2)]

        public virtual string cpfcnpj { get ; set ; }

 

        /// <summary>

        /// Nome do Clifor

        /// </summary>

        [ Property ( "nm_clifor" , NotNull = true )]

        [ TagPesquisaAttibute ( TTagPesquisa .Proxy, 1)]

        public virtual string nome { get ; set ; }

 

        /// <summary>

        /// Nome Fantasia

        /// </summary>

        [ Property ( "nm_fantasia" )]

        [ TagPesquisaAttibute ( TTagPesquisa .Proxy, 3)]

        public virtual string nomeFantasia { get ; set ; }

 

        /// <summary>

        /// Data Nascimento

        /// </summary>

        [ Property ( "dt_nascimento" )]

        public virtual DateTime dataNascimento { get ; set ; }

 

        #endregion

    }

 

 

 

Utilizar o componente TextEdit do DevExpress.

 

 

Utilizar o componente DateEdit do DevExpress.

 

 

Utilizar o componente TimeEdit do DevExpress.

 

 

Utilizar o componente SpinEdit do DevExpress, e chamando o procedimento ComponenteBehavior .PadronizaSpindEdit, para padronizar o componente.

 

 

Utilizar os métodos de inserção de botões explicados nos tópicos 1.7.5 e 1.9.8 das janelas padrões.

 

 

Utilizar o componente LookUpEdit do DevExpress.

 

 

Utilizar o componente RadioGroup do DevExpress.

 

 

Utilizar a chamada ao procedimento Memorando .Mostrar da biblioteca Maxicon.Balanca.Lib.

 

 

 

2.1       Mensagens

 

A classe MensagemHelper do namespace Maxicon.Balanca.Lib.Helper, contém dois métodos principais que poderão ser utilizados para exibir as mensagens do sistema, retornando um DialogResult , isto é, o resultado do diálogo, se clicou em algum botão disponível.

Principais parâmetros primeiro procedimento:

 

owner : formulário que fez a chamada da mensagem;

mensagem : mensagem que irá ser exibida para o usuário;

titulo : título da mensagem (padrão nome do produto);

botão : botões a serem exibidos para o usuário (padrão botão OK);

ícone : ícone da mensagem (padrão nenhum);

botaoPadrao : principal botão que irá receber o foco (padrão primeiro);

 

MensagemHelper .Show( this , "Mensagem de teste!" );

 

 

Principais parâmetros segundo procedimento:

 

owner : formulário que fez a chamada da mensagem;

exception : erro ocorrido durante a execução;

ícone : ícone da mensagem (padrão erro);

titulo : título da mensagem (padrão nome do produto);

mensagem : mensagem que irá ser exibida para o usuário(padrão mensagem da e

Exception );

 

  Exception ex = new Exception ( "Teste de Exception" );

         MensagemHelper .Show( this , ex);

 

 

2.2       Exceções

 

Para tratamento de exceções utilizar try-catch , e se a instrução no qual o código faz uma chamada no método Dispose utilize um using .

Utilizando try-catch:

static string GetValueFromArray( string [] array, int index)

{

    try

    {

        return array[index];

    }

    catch (System.IndexOutOfRangeException ex)

    {

        Console.WriteLine( "Index is out of range: {0}" , index);

        throw ;

    }

}

 

Utilizando using:

 

// You can do the same thing with a using statement.

using (Font font2 = new Font( "Arial" , 10.0f))

{

    byte charset = font2.GdiCharSet;

}

 

 

As exceções que não forem tratadas irão cair no evento ThreadExceptionEventHandler

da aplicação que está tratado para estourar em Mensagem no segundo procedimento com exceção que ocorreu.

 

2.3       Log

 

Os logs serão feitos através da biblioteca log4net, a chamada pra inclusão de log deverá ser realizada pela classe InfoApp na propriedade Log.

As configurações de onde serão gravados os logs ficaram no arquivo app.config que deverá estar com o executável (para mais detalhes de configuração e utilização verificar documentação do projeto http://logging.apache.org/log4net/ ).

 

           try

            {

                InicioSistema();

            }

            catch ( Exception ex)

            {

                InfoApp .Log.Error(ex.Message, ex);

                MensagemHelper .Show( null , ex, MessageBoxIcon .Exclamation);

            }

 

2.4       Comentários

 

Os comentários são realizados no subversion a cada commit realizado, onde deverão ser comentadas todas as alterações realizadas. Como o subversion possui controle de acesso, e data/hora de revisão, nos commits do subversion apenas serão importantes os comentários que ilustram o motivo da alteração e sua fonte de origem (solicitação).

 

 

 

2.5       Estrutura Código

 

 

Um bom layout usa formatação para enfatizar a estrutura do seu código e facilitar a leitura do código.   Utilizando as seguintes convenções:

  • Use as configurações padrão do Editor de código (recuo inteligente, recuos de quatro caracteres, tabulações, salvas como espaços).   Para obter mais informações, consulte   A formatação, C#, editor de texto, caixa de diálogo Opções .
  • Grave apenas uma instrução por linha.
  • Grave somente uma declaração por linha.
  • Se as linhas de continuação não são recuadas automaticamente, recue a eles uma parada de tabulação (quatro espaços).
  • Adicione pelo menos uma linha em branco entre as definições de método e propriedade.
  • Use parênteses para tornar as cláusulas em uma expressão aparente, conforme mostrado no código a seguir.

 

if ((val1 > val2) && (val1 > val3))

{

    // ação.

}

 

 

Use   digitação implícita   por variáveis locais quando o tipo da variável é óbvio do lado direito da atribuição ou o tipo exato não é importante.

 

var var1 = "This is clearly a string." ;

var var2 = 27;

var var3 = Convert.ToInt32(Console.ReadLine());

 

Não use   var   quando o tipo não está aparente no lado direito da atribuição.

 

int var4 = ExampleClass.ResultSoFar()

 

Use a digitação implícita para determinar o tipo da variável de loop em para e foreach loops.

O exemplo a seguir usa a digitação implícita em uma for instrução.

 

 

var syllable = "ha" ;

var laugh = "" ;

for ( var i = 0; i < 10; i++)

{

    laugh += syllable;

    Console.WriteLine(laugh);

}

 

O exemplo a seguir usa a digitação implícita em uma   foreach   instrução.

 

foreach ( var ch in laugh)

{

    if (ch == 'h' )

        Console.Write( "H" );

    else

        Console.Write(ch);

}

Console.WriteLine();

 

 

 

Utilizar a definição CamelCase (a primeira letra do identificador é minúscula e a primeira letra de cada identificador subseqüente concatenado é maiúscula).

 

Exemplo:

  http://www.juliobattisti.com.br/tutoriais/mauricioborges/padraocodificacao001_clip_image009.gif

 

 

Utilizar a definição CamelCase.

 

2.6.3    Namespace

 

Utiliza-se o nome da empresa seguido pelo nome do projeto, camada de negocio e o modulo que está sendo desenvolvido.

 

Exemplo:

 

http://www.juliobattisti.com.br/tutoriais/mauricioborges/padraocodificacao001_clip_image010.gif

 

2.6.4    Interface

 

O nome de interface deve ser PascalCase (a primeira letra do identificador é maiúscula e a primeira letra de cada identificador subseqüente concatenado é maiúscula), e começar com o prefixo “I”, para indicar que o tipo é uma interface.

 

Exemplo:

 

http://www.juliobattisti.com.br/tutoriais/mauricioborges/padraocodificacao001_clip_image011.gif

 

2.6.5    Métodos

 

Utilizar a definição PascalCase.

 

2.6.6    Enumerações

 

Utilizar a definição PascalCase.

 

2.6.7    Eventos

 

Utilizar a definição PascalCase para o nome do evento.

Utilizar o sufixo EventHandler para o nome do delegate associado ao evento. Especificar dois parâmetros “sender” e “e”. O parâmetro “sender” representa o objeto que disparou o evento e deve ser sempre do tipo Object, mesmo sendo possível utilizar um tipo especifico. O estado associado com o evento é encapsulado em uma instancia de um evento de classe chamado “e”.

 

Exemplos:

 

http://www.juliobattisti.com.br/tutoriais/mauricioborges/padraocodificacao001_clip_image012.gif

 

2.6.8    Constantes

 

Nomes de constantes deverão ser todos maiúsculos com as palavras separadas por um underscore.

 

Exemplo:

 

http://www.juliobattisti.com.br/tutoriais/mauricioborges/padraocodificacao001_clip_image013.gif

 

2.6.9    Exceções

 

O nome de uma classe de exceção deve utilizar a definição PascalCase,  e finalizar com a expressão Exception , para indicar que o tipo é uma exceção.

 

Exemplo:

 

  http://www.juliobattisti.com.br/tutoriais/mauricioborges/padraocodificacao001_clip_image014.gif

 

2.6.10                        Propriedades públicas

 

Utilizar a definição PascalCase para o nome de propriedades.

 

Exemplo:

http://www.juliobattisti.com.br/tutoriais/mauricioborges/padraocodificacao001_clip_image015.gif

 

 

2.7       InfoApp

 

A classe InfoApp no namespace Maxicon.Balanca.Controle, conterá informações pertinentes a aplicação.

 

2.7.1    Log

 

Conterá a propriedade Log de log do log4net instanciada (ver tópico 2.3 ).

 

 

O procedimento NomeAplicacao retornará o nome do aplicativo (definido no assembly em execução).

 

 

Procedimento PastaExecutavel irá retornar a pasta de onde a aplicação está sendo executada, ou seja, local do arquivos da aplicação.

 

2.7.4    Pasta AppData

 

O procedimento PastaAppData irá retornar o diretório para gravação de dados locais (informações específicas, arquivos que ficaram gravados para o usuário do Windows).

 

2.7.5    Pasta Imagens

O procedimento PastaImagens irá retornar o diretório de onde ficaram armazenados as imagens da aplicação.

 

2.7.6    Empresa

 

A propriedade Empresa armazenara o modelo Empresa , no qual o usuário efetuou login. Servirá de apoio para gravação de dados e busca de configurações específicas da empresa.

 

2.7.7    Usuário

 

A propriedade Usuario armazenara o modelo Usuario , usuário que efetuou login. Servirá de apoio para gravação de dados e controle dentro da aplicação.

 

 

 

Os principais métodos estão nos namespaces:

 

Maxicon.Balanca.Controller.Recursos: conterá todos os recursos (protocolos) de integração, que deverão ser implementadas pela interface IRecurso , deverá possuir o sufixo ‘Recurso’. Nestes recursos que serão processados as requisições e respostas da integração.

Maxicon.Balanca.Controller.Schema: terá as classes auxiliares para os recursos que são implementadas pelo IRequest (classes com o sufixo ‘Request’), e IResponse (sufixo ‘Response’). As requisições terão as informações necessárias para realizar as requisições através dos recursos e as respostas (utilizado para serializar o xml da resposta em um IResponse , para que seja processado no recurso).

Maxicon.Balanca.Controller.Util: contém classes de apoio para o processamento dos recursos, dentre eles o processamento das mensagens, a interpretação dos protocolos, monitoramento de fila de integração, controle de versão.

 

2.9       Wizard

O projeto Maxicon.Balanca.Wizard contém os assistentes necessários para configuração de conexão, criação da base de dados, atualização e instalação do serviço de integração.

 

 

 

O assistente de configuração de conexão irá auxiliar na parametrização da conexão com a base de dados e a fila de integração (janela TelaConexao ). Estes dados serão gravados no arquivo app.config que ficará na mesma pasta do executável. O arquivo será acessado tanto pela balança como o integrador através da classe ConexaoHelper do namespace Maxicon.Balanca.Controller.

 

 

Para que o sistema seja instalado, será necessário configurar a base de dados, é onde serão criadas todas as tabelas, sequências e inserção dos protocolos necessários para integração, além das configurações iniciais (janela TelaNovaBase ).

 

 

[em implementação]

 

 

Este assistente será utilizado para auxiliar ao realizar a instalação do serviço de integração da balança, além de realizar sua remoção (janela TelaServicoIntegracao ).

 

 

O instalador está no projeto Maxicon.Balanca.Setup, é a partir deste projeto que será gerado o instalador da balança. O instalador foi configurado para que crie três ícones no menu de programas do usuário (assistente de configuração, aplicação e desinstalador da balança) e o ícone da aplicação na área de trabalho do usuário. Contém duas pastas com as traduções do DevExpress (pastas pt e pt-BR, ver tópico 2.11 ) e com os ícones (ver tópico 1.2.2 ) que estão no projeto Maxicon.Balanca.View mas que precisam ser atualizados manualmente a cada inserção ou remoção de arquivos.

 

 

Para que os componentes do DevExpress estejam devidamente traduzidos é necessário alguns arquivos e parametrizações:

- Inclusão do trecho de código na inicialização da aplicação ( Program );

       System.Threading. Thread .CurrentThread.CurrentCulture = new System.Globalization. CultureInfo ( "pt-BR" );

       System.Threading. Thread .CurrentThread.CurrentUICulture = new System.Globalization. CultureInfo ( "pt" );

- E as pastas pt e pt-BR do projeto Maxicon.Balanca.View ( ver tópico 2.10 ).

 

O integrador está em um projeto à parte chamado Maxicon.Balanca.Integrador.Client .

(verificar necessidade de documentação a parte também)

 

 

3          Referências

 

http://www.juliobattisti.com.br/tutoriais/mauricioborges/padraocodificacao001.asp

 

http://msdn.microsoft.com/pt-br/library/ff926074.aspx

 

http://msdn.microsoft.com/pt-br/library/03864tbz.aspx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Versão 1.6.4

 

 

 

 

 

 

MAXICON BALANÇA

 


Histórico da Revisão

 

Histórico de Alterações

 

Data

Responsável

Solicitação

Alterações

29/11/2011

Alexandre Tiago Flach

37719

Criação do Manual

23/03/2012

20/08/2012

Alexandre Tiago Flach

Alexandre Tiago Flach

 

Alteração do Manual

Atualização do Manual

04/09/2012

Alexandre Tiago Flach

 

Atualização Ações do Agendamento de Tarefas


ÍNDICE

 

 

Manual de Utilização ............................................................................................................................................................

Maxicon Balança ..................................................................................................................................................................

ÍNDICE ..................................................................................................................................................................................

JANELAS PRINCIPAIS ......................................................................................................................................................

Login ..................................................................................................................................................................................

Menu Principal ...................................................................................................................................................................

Usuário .........................................................................................................................................................................

Logoff ........................................................................................................................................................................

Papéis .................................................................................................................................................................................

Usuários .............................................................................................................................................................................

Acesso/Recursos ................................................................................................................................................................

Configuração ......................................................................................................................................................................

Pesagem ........................................................................................................................................................................

Integração ..........................................................................................................................................................................

Protocolos .....................................................................................................................................................................

Status Fila .....................................................................................................................................................................

Cadastros ............................................................................................................................................................................

Motivo de Cancelamento ..............................................................................................................................................

Via de Transporte .........................................................................................................................................................

Classificador .................................................................................................................................................................

Motoristas .....................................................................................................................................................................

Agendamento de Tarefas ..............................................................................................................................................

Ações .........................................................................................................................................................................

Protocolo de Integração ..........................................................................................................................................

Verificação de Pesagem ..........................................................................................................................................

HRF ...................................................................................................................................................................................

Hub de Recursos Físicos ...............................................................................................................................................

Balança .........................................................................................................................................................................

Painel de Instrumentos .................................................................................................................................................

Pátio .......................................................................................................................................................................................

Quiosque ............................................................................................................................................................................

Ação ...................................................................................................................................................................................

Rota ....................................................................................................................................................................................

Comando ............................................................................................................................................................................

Comandos de Programa ...............................................................................................................................................

PRE_CADASTRO ......................................................................................................................................................

COMPOSICAO_EMBARQUE ....................................................................................................................................

Utilizando Composição ...........................................................................................................................................

Composição Rodoviária ..........................................................................................................................................

Composição Ferroviária ..........................................................................................................................................

Alterar Composição de Placas .................................................................................................................................

DADOS_ENTRADA ..................................................................................................................................................

Peso Origem ..........................................................................................................................................................

Cálculo Automático Desdobro .................................................................................................................................

CLASSIFICACAO .....................................................................................................................................................

CLASSIFICACAO_ORIGEM .....................................................................................................................................

ROMANEIO ..............................................................................................................................................................

SELECIONAR_PLACA_QUIOSQUE .........................................................................................................................

AGENDAMENTO ......................................................................................................................................................

FINALIZA_PESAGEM ..............................................................................................................................................

SELECAO_AMOSTRA_POR_DEPOSITO ..................................................................................................................

Utilizando Depósito definido pelas amostras da Classificação .....................................................................................

FLUXO_PATIO .........................................................................................................................................................

APLICAR_DESDOBRO (DEFASADO) .......................................................................................................................

Comando de Balança ....................................................................................................................................................

Controle de Pátio ...............................................................................................................................................................

Visualizar Fluxos ..........................................................................................................................................................

Reiniciar Fluxo ...........................................................................................................................................................

Concluir Fluxo ............................................................................................................................................................

Reenviar Post Fluxo ....................................................................................................................................................

Auditoria na Execução de Fluxo ...................................................................................................................................

Processamento ..............................................................................................................................................................

Cancelamento Pesagem ................................................................................................................................................

Agendamento .....................................................................................................................................................................

Status Processamento .........................................................................................................................................................

Consulta Status .............................................................................................................................................................

Execução de Fluxo .............................................................................................................................................................

Execução Automática ...................................................................................................................................................

Execução Manual .........................................................................................................................................................

Relatórios ...............................................................................................................................................................................

Auditoria ............................................................................................................................................................................

Agendamento .....................................................................................................................................................................

Movimento de Produtos .....................................................................................................................................................

Pesagens .............................................................................................................................................................................

Visão de Fluxo ...................................................................................................................................................................

Classificação ......................................................................................................................................................................


 

 

JANELAS PRINCIPAIS

 

Login

 

Ao iniciar a aplicação será requisitado usuário e senha e a empresa que será feito o login.

 

Menu Principal

 

Ao efetuar o Login , abrirá um janela onde terá acesso a todos os programas disponíveis no aplicativo através do menu superior. Este menu é divido em categorias (tipo módulo), subcategorias (módulo) e os programas (janelas).

Os programas serão abertos no container abaixo do menu em estilo abas. Janelas que exijam atenção do usuário serão exibidas a frente da janela principal (cadastros, configurações, mensagens).

 

 

Para esconder o menu dê um duplo clique sobre a categoria.

No ícone superior esquerdo há mais opções disponíveis.

 

Usuário

 

Para visualizar o usuário que efetuou o login no sistema, verifique na barra de status do menu principal.

 

Logoff

 

Para efetuar logoff, acesse o ícone no menu superior esquerdo no botão Efetuar Logoff.

 

 

Papéis

 

Cadastro simples, visa agrupar usuários com as mesmas funções dentro do sistema. Facilita o controle de acesso as permissões dos programas e recursos ( ).

 

Usuários

 

Listagem de usuários ( ) do sistema, necessário para entrar na aplicação. É possível alterar a definição de administrador do usuário e quais os perfis que estão vinculados aos usuários. Os usuários listados são provenientes de uma requisição ao MCA.

 

Acesso/Recursos

 

No programa Acesso/Recursos ( ) é possível liberar ou bloquear acesso aos programas e seus recursos. Cadastro é simples, informa-se a empresa e o programa. Poderá ser informado um perfil ou um usuário em específico. Ao marcar Permitir irá liberar acesso às permissões dos recursos dos programas. Os recursos são específicos de cada programa sua permissão é configurada na coluna Acesso com as seguintes opções:

- Herdado: herda permissão de outra regra que esteja definida como permitido ou negado. Para administradores com está opção fica verdadeira se não houver outra regra, para os outros usuários fica falsa se não houver outra regra;

- Permitido: libera o acesso ao recurso;

- Negado: nega o acesso ao recurso. Se uma regra estiver como negado, qualquer outra regra se torna negado, mesmo sendo administrador.

No menu a uma janela Visão Acesso/Recursos ( ) que poderá ser acessada para consultar as regras através de um filtro. Nela é possível identificar todas as regras que o sistema encontra para o programa em um determinado usuário.

Configuração

 

Pesagem

 

Ao informar o tipo de cálculo e via de transporte o sistema irá trazer automaticamente o valor nos dados de entrada ( ).

Ao marcar a opção ‘Envia Post Fluxo Pátio’ ao finalizar a execução de fluxo é postado na integração informações da pesagem e estado em que ela se encontra.

 

Integração

 

Protocolos

 

Nos protocolos de integração ( ) será possível verificar todos os protocolos (recursos) disponíveis para integração, além de sua versão atual, última data de atualização, e se possui dependência com outros protocolos. Existe ainda um status se o protocolo está aguardando integração e qual foi à última data de requisição.

Ao selecionar um protocolo, ficará disponível a opção de remoção de versão ( ) e integração de recurso ( ). A primeira irá remover a versão do protocolo, deixando o protocolo como se não houvesse sido integrado (versão -1). Já a integração irá deixar o protocolo aguardando integração juntamente com suas dependências.

 

Status Fila

 

Nesta janela ( ) será possível acompanhar o status da fila de integração, todas as requisições e respostas dos recursos poderão ser visualizadas nesta janela. Cada requisição de protocolo terá um identificador único (ID) que será possível acompanhar toda a trajetória da requisição, além de monitorar todos os logs.

A cada registro terá um status do andamento, além da quantidade de registros do protocolo com o total e quantidade páginas recebidas. Caso houver alguma falha na integração verificar a coluna mensagem ou pressionar F8 para visualizar o histórico da integração ( ) que conterá todos os detalhes do fluxo.

Cadastros

 

Motivo de Cancelamento

 

Janela para consulta e cadastro dos motivos de cancelamento ( ) utilizados no cancelamento de um pesagem/veículo do pátio.

 

Via de Transporte

 

Janela para consulta das vias de transporte ( ) cadastradas no sistema. Sua carga de dados vem a partir da integração. Nesta janela de consulta é possível alterar o registro para definir a máscara utilizada na validação da placa durante o fluxo, máscara é baseada em uma expressão regular (Regular Expression – RegEx), possui um campo para realizar os testes com a máscara informada.

 

Classificador

 

Cadastro necessário pra definir o tipo de classificador ( ) na classificação da pesagem. Normalmente se cadastra um classificador padrão utilizado para as classificações locais, classificador externos (Embrapa, terceiros), classificador de origem.

 

Motoristas

 

Consulta dos motoristas ( ) cadastrados no sistema, podendo realizar inclusão, alteração e remoção.

 

Agendamento de Tarefas

 

As tarefas ( ) são executadas pelo serviço. Como o nome já diz são tarefas e são acionadas por disparadores para realizar determinadas ações.

Em seu cadastro é possível definir uma identificação (nome, descrição) e se a tarefa está habilitada. Na aba Disparadores são definidos os intervalos de execução dos disparadores. E na aba ação, as ações que serão executadas pelos disparadores.

 

Ações

 
Protocolo de Integração

 

Está ação realiza a requisição de protocolos de integração. Nela é possível definir o protocolo e a empresa que será feita a requisição.

Obs.: as dependências do protocolo também serão requisitadas.

 

Verificação de Pesagem

 

Ação responsável por enviar pesagens não processadas e verificar pesagens que não tenham sido processadas. Com as seguintes parametrizações:

- Checar pesagens anteriores: informar as horas anteriores das pesagens que serão verificadas. Por exemplo, ao informar 2 (duas) horas ao disparar a ação serão pegas todas as pesagens que tiveram saída à 2 horas atrás até a hora da verificação, o que seria o intervalo de pesagens a serem filtradas;

- Tentativas de verificação de status: quantidade de verificação que vai ser realizada para a pesagem através do protocolo GET_STATUS_PESAGEM;

- Enviar processamento pesagens com fluxo concluído: é o envio de pesagens que já tiveram seu fluxo concluído para processamento;

- Consultar status de pesagens não processadas: tentativa de consulta de status de pesagens que estejam com o status ‘Não Processada’.

 

 

HRF

 

Hub de Recursos Físicos

 

Para se comunicar com hardware o sistema possui integração com o HRF ( ), que provém de um comunicação TCP/IP. O HRF retorna de forma abstrata todas as interfaces que estão disponíveis para uso. O seu cadastro é simples, apenas deve-se informar um nome e o seu endereço; ao salvar o sistema já irá fazer uma leitura dos seus recursos disponíveis.

 

Balança

 

O cadastro de balança ( ) dispõe de uma configuração de balanças seriais.

No seu cadastro informa-se o HRF já cadastrado, o sistema irá listar os recursos disponíveis para comunicação com balanças seriais, informa-se todas as configurações necessárias para comunicação. Ao salvar é enviado estás configurações para o HRF e salvo no base para possíveis alterações.

 

Painel de Instrumentos

 

Todo dispositivo de hardware no sistema possui uma interface de manipulação, o painel de instrumentos ( ) apena lista todas estás interfaces cadastradas no sistema para realizar a manipulação destes dispositivos.

Pátio

 

Quiosque

 

Os quiosques ( ) são os pontos de parada e/ou locais específicos onde são executadas operações conjuntas. Segue alguns exemplos:

- Pedidos : realizar entrada da placa no pátio, agendamento, gravação (RFID, código de barra) da identificação da placa no pátio;

- Classificação : realiza operações de classificação de amostra de grãos;

- Balança : realiza pesagem de entrada, pesagem de saída e conferência de dados;

- Faturamento : vincular pesagem a uma ordem de carregamento, realiza faturamento (emissão da nota).

O cadastro do quiosque é simples, apenas deverá ser informado a descrição e o papel de usuário vinculado ao quiosque (controle para liberação da execução de fluxo).

 

Ação

 

As ações ( ) são definidas por quiosques, ou seja, são as operações que poderão ser realizadas no quiosque.

Em seu cadastro é informado o quiosque, uma descrição e os comandos (ver sessão sobre Comando ) ordenados que deverão ser executados na ação. Entre outras opções:

- Permitir cancelamento de Fluxo : se está opção estiver verdadeira na execução de fluxo irá liberar uma botão para realizar o cancelamento da pesagem;

- Permitir Somente Execução de Fluxo Manual: define se a execução da ação será apenas manual;

- Status Final: defini o status dá pesagem no final da execução da ação.

 

Rota

 

A rota ( ) define qual o trajeto/fluxo que o veículo deverá seguir dentro do pátio.

Em seu cadastro informa-se:

- Empresa: a empresa que a rota se refere;

- Rota: descrição da rota;

- Fluxo: fluxo permitido para a rota;

- Via Transporte: tipo de via de transporte permitido na rota;

- Quiosque: nesta lista deverão ser listadas os quiosques na ordem correta da sua execução, existe a opção de marcar a passagem pelo quiosque como não obrigatório, ou seja, opcional. Para cada quiosque adicionado na lista, deverá ser incluso uma ação no quadro ao lado; ao selecionar o quiosque da lista já são listados as ações disponíveis para aquele quiosque que poderão ser inclusos na lista de ação. Apenas uma ação poderá ser executada para cada quiosque, mas poderá ser adicionado mais de uma ação; isso quer dizer que ao executar uma das ações a outras ações serão ignoradas. Um exemplo prático é haver duas filas de classificação.

- Produtos: poderá ser inclusos os produtos que poderão usar a rota, se não houver nenhum listado o sistema não usará o produto como uma restrição.

 

Comando

 

Os comando são usados na execução das ações, por padrão existem os comandos de programas e de balança. Estes comandos podem ser extensíveis, ou seja, poderão ser adicionados através de extensões (para isso consulte a documentação da extensão). Abaixo serão listados os principais comandos que vêm por padrão no sistema.

 

Comandos de Programa

 

Os comandos de programa geralmente são interações com o usuário, como exibição de janelas ou mensagens de confirmação. Abaixo serão listados os principais comandos.

 

PRE_CADASTRO

 

O pré-cadastro é o primeiro passo para a inclusão do veículo no pátio. Neste comando irá abrir uma janela para informar:

- Placa: principal placa do veículo, que será utilizada para identificação no pátio, sua validação é realizada através da via de transporte informada na rota selecionada;

- UF: unidade federativa da principal placa do veículo (2 letras);

- Rota: rota na qual o veículo deverá seguir no pátio;

- Produto: produto/item que será feito recebimento/expedição.

 

COMPOSICAO_EMBARQUE

 

Na composição de embarque é possível vincular todas as placas do veículo, com o motorista e a transportadora.

Na execução do comando, é verificado se a placa principal possui composições existentes. Se possuir é aberto uma janela de consulta destas composições, nesta janela é possível realizar a inclusão de novas composições e/ou seleção da composição existente. Quando não é encontrado uma composição é aberta a tela de cadastro de composição, está tela é baseada no tipo de via de transporte do veículo.

 

Utilizando Composição

 

Ao informar a placa em nova entrada ela será utilizada para verificar se já existem composições, assim se existirem abrirá uma janela de consulta com todas as composições existentes, onde poderão ser selecionadas ou se não possuir na lista poderá ser feita a inclusão da composição.

Figura 1 Janela de seleção de composição

 

Composição Rodoviária

 

A janela de cadastro possuirá informações do motorista, transportadora, cavalo e se tiver as carretas.  Ao informar o CNH, CPF ou RG será feita uma consulta na base e verificar se há um registro do motorista, caso encontrar os dados serão carregados.  O mesmo acontecerá para a placa se estiver cadastrada irá trazer os demais dados referentes em tela. O checkbox ao lado esquerdo da placa deverá ser marcado para a placa principal, ou seja, a placa que identificará dentro do pátio e que será utilizada para pesquisa.

Figura 2 Janela de cadastro de Composição Rodoviária

 

Composição Ferroviária

 

Figura 3 Cadastro de composição ferroviária

 

Alterar Composição de Placas

 

No Controle de pátio foi incluído no clique do botão direito um menu para acessar as principais funções da tela. No sub-menu “Edição”  foi incluído a opção para alterar a composição de placas.

Para que se tenha acesso, a liberação deverá ser feita para o programa “ControlePatio” o recurso “Composição Placa”.

 

DADOS_ENTRADA

 

Nos dados de entrada irá abrir uma janela para informar o depósito, tabela de desconto, dados do embarque, os parceiros que serão incluídos através de botão de adição da janela, entre outras informações.

 

Há uma verificação do valor unitário ao informar o valor total. Se o valor divergir do calculado é exibido uma mensagem se deseja utilizar o valor calculado, se usuário pressionar “Não” é salvo uma auditoria da tela (FornecedorPesagemCadastro) no campo ‘ValorUnitario’ com os valores exibidos para confirmação.

Se a pesagem possuir composição de placas na janela dos Dados de Entrada o campo do motorista virá bloqueado sendo apenas para visualização.

 

Peso Origem

 


Há um campo com o Peso Oficial que poderá ser de ‘Origem’ ou ‘Destino’.

 

 

O Peso de Origem provém da escolha do contrato nos parceiros, este contrato deverá ter o tipo de peso de origem. E este peso é composto pela soma dos peso de origem das notas informados no parceiro.

O Peso de Destino é o peso líquido da pesagem realizada na balança.

 

Cálculo Automático Desdobro

 

Em desdobros estará disponível um checkbox ‘Percentual Peso Origem’ na tela do parceiro nos Dados de Entrada.

Ao marcar este campo bloqueará os campos de Percentual e Peso do desdobro, assim obrigando o usuário a informar o campo ‘Peso Origem’ da nota. Ao salvar nos dados de entrada é feito o cálculo automático do percentual de desdobro com base no peso total de origem das notas.

 

CLASSIFICACAO

 

É aberta uma janela que tem o mesmo funcionamento da classificação do Maxys, exibindo as amostras padrão para o produto ao carregar a primeira classificação para o classificador selecionado, podendo ser incluído novas amostras através da tecla F6 e removidas na tecla Shift+F6. Para salvar pressione F10.

A classificação também possui uma interface para controle, onde no cadastro da ação quando selecionada é liberado os campos Finalidade (finalidade da classificação) e Classificador (no caso de haver múltiplas classificações, contraprovas). Na execução do fluxo ou abertura da janela se não definido o classificador, serão listados os classificadores disponíveis, havendo a seleção é exibida a janela para informar os resultados das amostras.

Toda primeira classificação realizada será a oficial, ou seja, a classificação que será utilizada para os cálculos de desconto e que será exibida no romaneio. Para alterar a classificação oficial há um botão ‘Oficial’ na janela que poderá ser pressionado, será exibido uma mensagem de confirmação, se confirmado ainda será necessário informar o motivo da classificação ser a oficial.

 

CLASSIFICACAO_ORIGEM

 

Este comando faz uma verificação no contrato informado nos parceiros, se o tipo de classificação no contrato estiver definido como sendo de origem é aberta a janela para informar a classificação de origem.

Se os parceiros forem informados e não for informado contrato, verifica-se se o produto vinculado possui amostras de classificação. Se possuir é exibida uma mensagem ao usuário pedindo uma confirmação para abertura da janela de classificação, caso ignorar o fluxo segue normalmente.

 

ROMANEIO

 

O romaneio é abertura de sua visualização. Para que a sua impressão seja automática, apenas deverá ser informada a impressora na inclusão do comando no cadastro da ação. O romaneio aberto é configurado nas Configurações de Pesagem .

 

 

SELECIONAR_PLACA_QUIOSQUE

 

Este comando abre uma janela com as placas que estão em espera na ação do quiosque em execução. Ele apenas inclui no contexto o veículo para que possa ser identificado, validado e incluído na execução. Utilizado quando não há uma integração com hardware que faça essa identificação, assim sendo feita manualmente.

 

AGENDAMENTO

 

Este comando abre uma janela para inclusão de informações adicionais referentes a um agendamento. A janela aberta é a mesma da janela de consulta de agendamentos.

Há um campo ‘Autorizado’ se este campo não estiver verdadeiro na execução do fluxo, aquele ponto da execução é deixado com o status de BLOQUEADO. A liberação da execução é autorizando novamente o agendamento.

 

FINALIZA_PESAGEM

Utilizado em rotas que não necessitam realizar a pesagem de entrada e saída. Este comando informa data e usuário de entrada e saída da pesagem para que possa ser enviada pra processamento.              

 

SELECAO_AMOSTRA_POR_DEPOSITO

 

Este comando verifica as regras configuradas na tela de deposito com base na classificação da pesagem e seta o depósito para a pesagem caso encontrar.

 

Utilizando Depósito definido pelas amostras da Classificação

 

Na janela de consulta de depósito foi incluída a ação de alteração. Ao selecionar o depósito e clicar em alterar irá abrir uma janela para selecionar o produto. Ao selecionar o produto irá abrir uma janela para cadastrar as amostras da regra, onde deverá ser informado o valor mínimo e máximo da amostra, se é obrigatória na entrada (recebimento) ou na saída (expedição).

Inclusão de um programa nos comandos da ação.

Ao passar por este comando a classificação já deverá ter sido realizada. Este comando irá verificar as regras cadastradas para os depósitos, com a seguinte ordem:

  • Amostras obrigatórias na classificação para o fluxo (recebimento/expedição);
  • Quantidade de amostras dentro da faixa (valor mínimo e máximo);
  • Quantidade de amostras existentes correspondentes;

Com base nesta regra irá trazer o depósito, realizando as devidas alterações no cadastro da pesagem, para que saia no romaneio.

 

FLUXO_PATIO

 

Este comando envia um post de fluxo de pátio com base na pesagem em execução para o MCA.

 

APLICAR_DESDOBRO (DEFASADO)

 

Faz um desdobro da pesagem, gerando uma cópia da nova pesagem com o peso informado.

 

Comando de Balança

 

O comando de balança é flexível através de uma interface, para que tenha interação com hardware de balança através do HRF. A seleção desta interface fará com que disponibilize dois campos Fluxo (Entrada/Saída) e Peso Manual na tela de cadastro de ações. Na execução deste comando se for automático o sistema ficará aguardando em um tempo de 45 segundos a estabilização do peso, se a estabilização não ocorrer neste tempo ou houver alguma exceção na captura automática será feita a pesagem manual.

A pesagem manual é abertura de uma janela. Nesta janela logo abaixo ficará disponível o estado da balança e peso indicado. A balança será detectada automaticamente através do seu fluxo. O peso é capturado através da tecla F8. Para concluir a pesagem pressione F10.

Ainda nesta janela possui os recursos de seleção de balança (F9) e a possibilidade de informar o peso manualmente nos campos de peso de Entrada e Saída, isto se possuir as devidas permissões.

 

 

Controle de Pátio

 

No controle de pátio ( ) poderá ser realizado o acompanhamento dos veículos ativos no pátio.

 

Visualizar Fluxos

 

Nesta janela será possível visualizar os fluxos do veículo, na coluna status indica os quiosques que foram executados ou não através dos status: AGUARDANDO, EXECUTANDO, CONCLUIDO, IGNORADO e BLOQUEADO. Para que o fluxo ocorra corretamente deverá seguir a ordem do índice, ou seja, a ordem entre os quiosques definidos na rota.

A seguir segue os passos para abrir a janela de fluxos:

Abrir a janela Controle de Pátio ( ) em Balança\Pesagens.

Informar o número do romaneio no campo “Número” ou a placa no campo “Placa” pressionando a tecla “Enter” para pesquisar.

Selecione o registro e clique sobre o botão “Visualizar Fluxos” ( ).

Irá abrir uma tela com os fluxos da placa.

 

Reiniciar Fluxo

Selecione o fluxo do seu quiosque, em seguida clicando no botão “Reiniciar Fluxo” ( ).

Atenção: apenas administrador e usuários do quiosque que poderão reiniciar fluxo.

 

Concluir Fluxo

 

Selecione o fluxo do seu quiosque, em seguida clicando no botão “Concluir Fluxo” ( ).

Atenção: apenas administrador e usuários do quiosque que poderão concluir o fluxo.

 

Reenviar Post Fluxo

 

Casos que não houve o post de fluxo de pátio da quiosque será necessário reenviar clicando no botão “Reenviar Fluxo Pátio” ( ).

 

Auditoria na Execução de Fluxo

 

Na tabela (execução_fluxo_historico) armazenará as execuções de comandos da execução, servirá como auditoria para saber se foi feito manual ou automática as execuções e/ou até cancelados durante a execução.

Para acessar é necessário liberar o recurso “Histórico Fluxo” no programa “ExecucaoFluxo”.

 

Processamento

 

Ao concluir uma pesagem, ela poderá ser enviada para processamento ( ) na matriz através da tecla (F11), deixando de ficar disponível no controle de pátio (ver status do processamento ). O envio pra processamento e automático na finalização do fluxo no pátio.

 

Cancelamento Pesagem

 

As pesagens poderão ser canceladas assim que necessárias através da tecla Shift+F6 ( ), deixando de ficar visível no controle de pátio.

 

Agendamento

 

Tela para consulta de pesagens que possuem agendamento ( ). É possível realizar as alterações das informações referentes ao agendamento, assim como realizar a liberação do veículo no pátio.

 

Status Processamento

 

Nesta janela poderá ser acompanhado o andamento do processamento da pesagem na matriz ( ).

 

Consulta Status

 

Para se obter o status atualizado da pesagem será necessário realizar uma consulta de status da pesagem pressionando F11 ( ) sobre a pesagem selecionada. Se ao realizar a consulta à pesagem não for identificada na matriz a pesagem será automaticamente enviada ao controle de pátio, onde ficará aguardando uma próxima ação ( cancelamento , processamento ).

 

Execução de Fluxo

 

Abra a Execução de Fluxo no menu principal (Balança\Fluxo) ( ). Irá abrir uma tela para selecionar o quiosque. Os quiosques são listados conforme os papéis que o usuário está habilitado, no caso de administradores todos os quiosques são listados.

 

 

Ao selecionar o quiosque, irá abrir a janela de execução de fluxo com todas as ações disponíveis para ela.

Há um botão chamado “Fila Espera” que irá listar todos os veículos que estão na fila para o quiosque selecionado.

As ações poderão ser tanto manual ou automática, como descrito a seguir.

 

Execução Automática

 

Se a ação puder operar no modo automático irá aparecer uma caixa de escolha Automático ou Manual. Selecionando modo automático clique no “Play” ( ) para iniciar a execução.

O modo automático irá executar os comandos na sequência como foram definidas na ação. Assim como há comandos “automáticos” e “manuais”. Os comandos automáticos geralmente são interações com hardware e os manuais são os com interação com o usuário (inclusão ou confirmação de informações).

 

Execução Manual

 

A execução manual já poderá ser definida no cadastro da ação, caso ela opere somente em manual não irá mostrar a caixa de escolha, do contrário irá mostrar a caixa para seleção.

Como o nome já diz todo o processo é feito manualmente, desde o início do fluxo (botão com círculo verde), passando pelos comandos na ordem da esquerda para direita até o final do fluxo (botão com círculo azul). Todo este processo de clicar para iniciar, interagir com os comandos (comandos de hardware e/ou programas), e finalizar fluxo deverá ser feito pelo usuário que está operando.

Para que um veículo entre no fluxo (seja identificado dentro do fluxo/contexto de execução) existem comandos de programa ou comandos com hardware que fazem está identificação. No caso de leitura do RFID, e senão for feita a leitura via hardware poderá ser usado um outro comando que irá exibir uma lista com as placas disponíveis para realizar a ação naquele quiosque.

Quando todos os comandos foram executados, deverá ser finalizado o fluxo no botão Azul ( ) no final da ação executada.

 


Relatórios

 

Auditoria

 

O relatório de auditoria ( ) mostra uma listagem de todas as alterações realizadas nos registros. Essencialmente dividas em ‘Entidades’ (tabelas) e o seus campos com os valores.

Na janela inicial é possível definir filtros como:

  • Data e hora inicial;
  • Data e hora final;
  • ID (identificador único do registro);
  • Ação (Insert, Update, Delete, Acao);
  • Usuário (sistema balança);
  • Usuário Sistema (usuário da conexão na máquina);
  • Entidade (tabela);
  • Campo (campos disponíveis através da Entidade selecionada);
  • Valor (valor do campo).

Logo abaixo há um filtro mais completo, onde é possível realizar várias combinações entre os campos.

Como há muitos registros de auditoria, foi disponibilizado o botão ‘Remover Antigos’ que irá deixar apenas os registros dos últimos 30 dias disponíveis para consulta.

 

Agendamento

 

Relatório com uma lista dos agendamentos, possui apenas os filtros básicos necessários para realizar a consulta.

 

Movimento de Produtos

 

Realizar a listagem de produtos movimentadas dentro pátio no período informado. Traz informações do parceiro, embarque e os pesos com seus totalizadores. E possui opção para relatório analítico e sintético.

 

Pesagens

 

Traz uma lista de todos veículos que foram realizadas pesagem, mostrando produto, o peso e a classificação oficial quando houver. No final do relatório há uma média do resultado das amostras do relatório.

 

Visão de Fluxo

 

O relatório de visão de fluxo traz um resumo do pátio com a quantidade de execuções e o tempo (mínimo, máximo e a média do tempo execução), tanto para os quiosques ou rotas.

 

Classificação

 

O relatório de classificação traz uma listagem da classificação oficial realizada nas pesagens (BRE010 do Maxys), tanto para pesagens ativas, canceladas ou ambas no período informado. O relatório poderá ser personalizado através de uma grid abaixo dos filtros. O botão Carregar já faz uma consulta dos registros e dispõe n a grid para personalização. O layout é salvo automaticamente por usuário. Mais colunas poderão ser encontradas na lista de colunas da grid.







  • Sem rótulos