Vous êtes sur la page 1sur 478

Software de Manutenção

CMMS/EAM

Versão 7.1.0.0
++5537 3249-2700

http://www.engeman.com.br

Página 1 de 478
Índice

Introdução ao Engeman® ............................................................................... Erro! Indicador não definido.


Multiempresa .......................................................................................................................................... 11
Vantagens da Informatização .......................................................................... Erro! Indicador não definido.
Redução de Custo .......................................................................................... Erro! Indicador não definido.
Automação da Manutenção ............................................................................. Erro! Indicador não definido.
Planejamento e Controle ................................................................................ Erro! Indicador não definido.
Manutenção Eficaz ......................................................................................... Erro! Indicador não definido.
Tutorial .................................................................................................................................................. 15
01 - Instalação .............................................................................................. Erro! Indicador não definido.
02 - Cadastro de Empresas e Filiais ................................................................. Erro! Indicador não definido.
03 - Cadastro de Usuários .............................................................................. Erro! Indicador não definido.
04 - Configuração de Máscaras ........................................................................ Erro! Indicador não definido.
05 - Configurações Gerais ............................................................................... Erro! Indicador não definido.
06 - Aplicações (Equipamentos) ...................................................................... Erro! Indicador não definido.
07 - Solicitação de Serviço .............................................................................. Erro! Indicador não definido.
08 - Planos de Manutenção ............................................................................. Erro! Indicador não definido.
09 - Programação da Manutenção .................................................................... Erro! Indicador não definido.
10 - Geração de O.S. ..................................................................................... Erro! Indicador não definido.
11 - Nivelamento de Recursos ......................................................................... Erro! Indicador não definido.
12 - Impressão de O.S. .................................................................................. Erro! Indicador não definido.
13 - Coleta de Dados ..................................................................................... Erro! Indicador não definido.
14 - Fechamento de O.S. ................................................................................ Erro! Indicador não definido.
15 - Emissão de Relatórios ............................................................................. Erro! Indicador não definido.
Operações Básicas ......................................................................................... Erro! Indicador não definido.
Edição .................................................................................................................................................... 26
Pesquisar................................................................................................................................................ 29
KPI (Indicador Chave de Performance) ............................................................. Erro! Indicador não definido.
Tarefas................................................................................................................................................... 31
Erros de Atualização ...................................................................................... Erro! Indicador não definido.
Configuração de Gráficos ................................................................................ Erro! Indicador não definido.
Propriedades do Gráfico.................................................................................. Erro! Indicador não definido.
Configuração de Textos .................................................................................. Erro! Indicador não definido.
Calculadora ............................................................................................................................................. 34
Pesquisa ................................................................................................................................................. 34
Pesquisa de Chaves Estrangeiras ..................................................................... Erro! Indicador não definido.
Pesquisa po Agrupamento............................................................................... Erro! Indicador não definido.
Teclas Especiais............................................................................................. Erro! Indicador não definido.
Exportação/Importação de Tabelas .................................................................. Erro! Indicador não definido.
Atualização Automática dos Terminais .............................................................. Erro! Indicador não definido.
Documentos............................................................................................................................................ 39
Estrutura de outra Operação ........................................................................... Erro! Indicador não definido.
Estrutura de Setor ......................................................................................... Erro! Indicador não definido.
Estrutura de outro plano ................................................................................. Erro! Indicador não definido.
Historico de Localização de Aplicação ............................................................. Erro! Indicador não definido.
Histórico de Aplicação .................................................................................... Erro! Indicador não definido.
Histórico de Geração ...................................................................................... Erro! Indicador não definido.
Coleta Rápida - ACUMULATIVA ........................................................................ Erro! Indicador não definido.
Coleta Rápida - TENDÊNCIA ............................................................................ Erro! Indicador não definido.
Personalização do Sistema .............................................................................. Erro! Indicador não definido.
Barra de Ferramentas .................................................................................... Erro! Indicador não definido.
Menu Personalizado ....................................................................................... Erro! Indicador não definido.
Personalização das Máscaras ........................................................................... Erro! Indicador não definido.
Personalização dos Agrupamentos ................................................................... Erro! Indicador não definido.
Menus do Sistema ......................................................................................... Erro! Indicador não definido.
Arquivo .................................................................................................................................................. 48
Cadastro de Empresas.................................................................................... Erro! Indicador não definido.
Cadastro de Usuários ..................................................................................... Erro! Indicador não definido.
Controle Acesso por Usuário ........................................................................... Erro! Indicador não definido.
Senha .................................................................................................................................................... 70
Preferências do Usuário .................................................................................. Erro! Indicador não definido.
Preferência Gerais ......................................................................................... Erro! Indicador não definido.
Filtros para alarme de Solicitação de Serviço ..................................................... Erro! Indicador não definido.
Configurações Gerais ..................................................................................... Erro! Indicador não definido.
Alterar Empresa ............................................................................................ Erro! Indicador não definido.
Alterar Usuário .............................................................................................. Erro! Indicador não definido.
Alterar Senha ................................................................................................ Erro! Indicador não definido.
Calendário .............................................................................................................................................. 79
Gerenciador de E-mails .................................................................................. Erro! Indicador não definido.
Catálago de Endereço .................................................................................... Erro! Indicador não definido.
E-mail .................................................................................................................................................... 81
Enviar Mensagem .......................................................................................... Erro! Indicador não definido.
Tabelas .................................................................................................................................................. 83
Ocorrências ............................................................................................................................................ 83
Causas ................................................................................................................................................... 83
Serviços ................................................................................................................................................. 84
Eventos .................................................................................................................................................. 84
Sindicato ................................................................................................................................................ 84
Fornecedores .......................................................................................................................................... 84
Classificação de Fonecimento .......................................................................... Erro! Indicador não definido.
Clientes .................................................................................................................................................. 85
Unidades ................................................................................................................................................ 85
Horários para Escala ...................................................................................... Erro! Indicador não definido.
Feriados ................................................................................................................................................. 86
Setores Executantes e Feriados ....................................................................... Erro! Indicador não definido.
Tipo de Aplicação XFeriado ............................................................................. Erro! Indicador não definido.
Aplicação X Feriado ........................................................................................ Erro! Indicador não definido.
Índices Financeiros ........................................................................................ Erro! Indicador não definido.
Tipos de Documentos ..................................................................................... Erro! Indicador não definido.
Motivo Atraso O.S. ......................................................................................... Erro! Indicador não definido.
Motivo Cancelamento O.S. .............................................................................. Erro! Indicador não definido.
Desenhos ............................................................................................................................................... 89
Desenho X Aplicação ...................................................................................... Erro! Indicador não definido.
Desenho X Tipo de Aplicação ........................................................................... Erro! Indicador não definido.
Desenho X Material ........................................................................................ Erro! Indicador não definido.
Desenho X Setor Executante ........................................................................... Erro! Indicador não definido.
Tabelas Roteiro de Viagem.............................................................................. Erro! Indicador não definido.
País ....................................................................................................................................................... 91
Estados .................................................................................................................................................. 91
Cidades .................................................................................................................................................. 91
Tipos de Despesa .......................................................................................... Erro! Indicador não definido.
Transação ............................................................................................................................................... 91
Cadastro ................................................................................................................................................ 92
Centro de Custo ............................................................................................ Erro! Indicador não definido.
Conta Contábil .............................................................................................. Erro! Indicador não definido.
Produtos ................................................................................................................................................. 93
Aplicações do Produto .................................................................................... Erro! Indicador não definido.
Setor Executante ........................................................................................... Erro! Indicador não definido.
Coleta .................................................................................................................................................... 94
Acumulativa ............................................................................................................................................ 94
Tendência de Variáveis ................................................................................... Erro! Indicador não definido.
Viagem .................................................................................................................................................. 95
Reordenação de Viagem ................................................................................. Erro! Indicador não definido.
Roteiro de Viagem ......................................................................................... Erro! Indicador não definido.
Rota de Coleta .............................................................................................. Erro! Indicador não definido.
Registro de Funcionários................................................................................. Erro! Indicador não definido.
Aplicação .............................................................................................................................................. 106
Especificação de Aplicação .............................................................................. Erro! Indicador não definido.
Tipos de Aplicações ........................................................................................ Erro! Indicador não definido.
Localização de Aplicações ............................................................................... Erro! Indicador não definido.
Tipos de Ponto de Controle ............................................................................. Erro! Indicador não definido.
Movimentação de Aplicação ............................................................................ Erro! Indicador não definido.
Movimentação Visual ..................................................................................... Erro! Indicador não definido.
Propriedades ......................................................................................................................................... 112
Detalhes da Movimentação ............................................................................. Erro! Indicador não definido.
Log detalhado de Movimentações de Aplicação .................................................. Erro! Indicador não definido.
Valores Aplicação........................................................................................... Erro! Indicador não definido.
Aplicação X Produto ....................................................................................... Erro! Indicador não definido.
Aplicação X Material ....................................................................................... Erro! Indicador não definido.
Ponto de Controle Acumulativo ........................................................................ Erro! Indicador não definido.
Correção de Coletas Acumulativas ................................................................... Erro! Indicador não definido.
Aplicações com Valores Acumulado Incorreto .................................................... Erro! Indicador não definido.
Ponto de Controle Tendência de Variáveis ......................................................... Erro! Indicador não definido.
Aplicação x Escala Manual............................................................................... Erro! Indicador não definido.
Coleta de Eventos .......................................................................................... Erro! Indicador não definido.
Eventual Ciclica ............................................................................................. Erro! Indicador não definido.
Escala de Trabalho Automática de Aplicação ..................................................... Erro! Indicador não definido.
Modelo Visual ................................................................................................ Erro! Indicador não definido.
Curvas de Regressão ..................................................................................... Erro! Indicador não definido.
Material ................................................................................................................................................ 131
Cadastro de Materiais..................................................................................... Erro! Indicador não definido.
Material X Aplicação ....................................................................................... Erro! Indicador não definido.
Material X Fornecedor .................................................................................... Erro! Indicador não definido.
Distribuição da Escala .................................................................................... Erro! Indicador não definido.
Requisiçao/Devolução X Material ..................................................................... Erro! Indicador não definido.
Lançamento X Material ................................................................................... Erro! Indicador não definido.
Almoxarifado......................................................................................................................................... 135

Página 3 de 478
Estoque ................................................................................................................................................ 136
Requisição de Materiais .................................................................................. Erro! Indicador não definido.
Requisição de Materiais - Padrão ..................................................................... Erro! Indicador não definido.
Requisição de Materiais - Avançado ................................................................. Erro! Indicador não definido.
Lançamento de Entrada .................................................................................. Erro! Indicador não definido.
Lançamento de Entrada - Padrão ..................................................................... Erro! Indicador não definido.
Lançamento de Entrada - Avançado ................................................................. Erro! Indicador não definido.
Consumo Direto ............................................................................................ Erro! Indicador não definido.
Inventário de Materiais................................................................................... Erro! Indicador não definido.
Grupo de Materiais ........................................................................................ Erro! Indicador não definido.
Localização de Materiais ................................................................................. Erro! Indicador não definido.
Classe de Materiais ........................................................................................ Erro! Indicador não definido.
Solicitação de Materiais .................................................................................. Erro! Indicador não definido.
Kit de Materiais ............................................................................................. Erro! Indicador não definido.
Estoque Avançado ......................................................................................... Erro! Indicador não definido.
Movimentação ....................................................................................................................................... 145
Estoque por Filial ........................................................................................... Erro! Indicador não definido.
Transferência de Materiais .............................................................................. Erro! Indicador não definido.
Fechamento de Estoque ................................................................................. Erro! Indicador não definido.
Funcionário ........................................................................................................................................... 149
Escala de Trabalho ......................................................................................... Erro! Indicador não definido.
Cargo de Funcionários .................................................................................... Erro! Indicador não definido.
Movimentações de Funcionários ...................................................................... Erro! Indicador não definido.
Movimentação de Funcionário ......................................................................... Erro! Indicador não definido.
Replicar Movimentação ................................................................................... Erro! Indicador não definido.
Qualificações ......................................................................................................................................... 152
Qualificação por Funcionários .......................................................................... Erro! Indicador não definido.
Qualificações de Funcionário ........................................................................... Erro! Indicador não definido.
Replicar Qualificações..................................................................................... Erro! Indicador não definido.
Tipos de Manutenção ..................................................................................... Erro! Indicador não definido.
Data Específica .............................................................................................. Erro! Indicador não definido.
Acumulativo .......................................................................................................................................... 154
Tendência ............................................................................................................................................. 156
Sem Programação ......................................................................................... Erro! Indicador não definido.
Concorrentes ........................................................................................................................................ 158
Recursos Humanos ........................................................................................ Erro! Indicador não definido.
Materiais Adicionais do Plano .......................................................................... Erro! Indicador não definido.
Planos de Manutenção .................................................................................... Erro! Indicador não definido.
Periódicas ............................................................................................................................................. 163
Eventual ............................................................................................................................................... 165
Eventual/Serviço ................................................................................................................................... 166
Procedimentos ...................................................................................................................................... 168
Planejamento de Mão-de-Obra ........................................................................ Erro! Indicador não definido.
Ordem de Serviço .......................................................................................... Erro! Indicador não definido.
Planejamento de Serviço ................................................................................ Erro! Indicador não definido.
Solicitação de Serviço X Material ..................................................................... Erro! Indicador não definido.
Fechamento de O.S. ...................................................................................... Erro! Indicador não definido.
Atualização de Estoque................................................................................... Erro! Indicador não definido.
Registro de Serviço ........................................................................................ Erro! Indicador não definido.
Registro de Serviço X Material ......................................................................... Erro! Indicador não definido.
Registro Funcionário ...................................................................................... Erro! Indicador não definido.
Cancelamento de O.S. .................................................................................... Erro! Indicador não definido.
Pesquisa Ordem de Serviço ............................................................................. Erro! Indicador não definido.
Solicitação de Serviços ................................................................................... Erro! Indicador não definido.
Dados com a Web .......................................................................................... Erro! Indicador não definido.
Reconhecimento de Nova Solicitação ................................................................ Erro! Indicador não definido.
Pesquisa Solicitação de Serviços ...................................................................... Erro! Indicador não definido.
Correção de Inconsistências ............................................................................ Erro! Indicador não definido.
Processos ............................................................................................................................................. 186
Relatórios ............................................................................................................................................. 186
Filtros do Relatório......................................................................................... Erro! Indicador não definido.
Personalização de Menu.................................................................................. Erro! Indicador não definido.
Editor de Relatórios ....................................................................................... Erro! Indicador não definido.
Menu Relatórios/Opções ................................................................................. Erro! Indicador não definido.
Criando um Novo Relatório com o Assistente..................................................... Erro! Indicador não definido.
Manipulação da Base de Dados ........................................................................ Erro! Indicador não definido.
Propriedades da Query ................................................................................... Erro! Indicador não definido.
Parâmetros SQL ............................................................................................ Erro! Indicador não definido.
Banda de Grupo ............................................................................................ Erro! Indicador não definido.
Labels (Etiquetas) .......................................................................................... Erro! Indicador não definido.
Campo do Sistema......................................................................................... Erro! Indicador não definido.
RichText ............................................................................................................................................... 205
Código de Barras ........................................................................................... Erro! Indicador não definido.
Gráficos................................................................................................................................................ 206
Tópicos Básicos ............................................................................................. Erro! Indicador não definido.
Definição dos Termos ..................................................................................... Erro! Indicador não definido.
Seções do Relatório ....................................................................................... Erro! Indicador não definido.
Elemento do Relatório .................................................................................... Erro! Indicador não definido.
Menu Exibir/Opções ....................................................................................... Erro! Indicador não definido.
Configurando Molduras do Elemento ................................................................ Erro! Indicador não definido.
Bandas do Relatório ....................................................................................... Erro! Indicador não definido.
Bandas Básicas ............................................................................................. Erro! Indicador não definido.
Banda de SubDetalhe ..................................................................................... Erro! Indicador não definido.
Banda Filha ................................................................................................... Erro! Indicador não definido.
Elementos do Relatório................................................................................... Erro! Indicador não definido.
Campo de Dados ........................................................................................... Erro! Indicador não definido.
Memo .................................................................................................................................................. 219
Imagem ............................................................................................................................................... 220
Imagem do Campo de Dados .......................................................................... Erro! Indicador não definido.
Campo de Expressão ...................................................................................... Erro! Indicador não definido.
Figura .................................................................................................................................................. 222
RichText de Campos de Dados ........................................................................ Erro! Indicador não definido.
Tópicos Avançados ........................................................................................ Erro! Indicador não definido.
Formatação de Campos .................................................................................. Erro! Indicador não definido.
Sintaxe das Expressões .................................................................................. Erro! Indicador não definido.
Editando as Propriedades de um Elemento ........................................................ Erro! Indicador não definido.
Usando o Mouse e o Teclado ........................................................................... Erro! Indicador não definido.
Filtros .................................................................................................................................................. 229
Relatório Hierárquico...................................................................................... Erro! Indicador não definido.
Geração de O.S. ............................................................................................ Erro! Indicador não definido.
Personalização ...................................................................................................................................... 232
Programas Externos ....................................................................................... Erro! Indicador não definido.
Gerenciador de KPI ........................................................................................ Erro! Indicador não definido.
Alterar Nomenclatura ..................................................................................... Erro! Indicador não definido.
Assistente de Edição de Tela ........................................................................... Erro! Indicador não definido.
Gerenciador de Regras ................................................................................... Erro! Indicador não definido.
Características do Editor ................................................................................. Erro! Indicador não definido.
Como Acessar o Gerenciador de Regras ............................................................ Erro! Indicador não definido.
Inspetor de Objetos ....................................................................................... Erro! Indicador não definido.
Tipos.................................................................................................................................................... 240
Integer ................................................................................................................................................. 240
TField Type ................................................................................................... Erro! Indicador não definido.
TAggregateField .................................................................................................................................... 241
String .................................................................................................................................................. 242
Double ................................................................................................................................................. 242
Word.................................................................................................................................................... 242
TDateTime ............................................................................................................................................ 242
TQuery ................................................................................................................................................. 242
Boolean ................................................................................................................................................ 242
Variant ................................................................................................................................................. 242
Array ................................................................................................................................................... 242
Diretivas Condicionais .................................................................................... Erro! Indicador não definido.
if - else ........................................................................................................ Erro! Indicador não definido.
case ..................................................................................................................................................... 243
Estruturas de Repetição.................................................................................. Erro! Indicador não definido.
for ....................................................................................................................................................... 244
while .................................................................................................................................................... 245
repeat .................................................................................................................................................. 246
break ................................................................................................................................................... 246
inc ....................................................................................................................................................... 247
dec ...................................................................................................................................................... 248
Funções do Sistema ....................................................................................... Erro! Indicador não definido.
addLog ................................................................................................................................................. 249
beep .................................................................................................................................................... 250
calculaAcu ............................................................................................................................................ 251
calcTempEfetParApl ............................................................................................................................... 251
changePassword .................................................................................................................................... 252
encrypt ................................................................................................................................................ 253
EngemanClient ...................................................................................................................................... 253
exceptUsers .......................................................................................................................................... 254
exportReport ......................................................................................................................................... 255
fileExists............................................................................................................................................... 256
genTag ................................................................................................................................................. 256
genTagGru............................................................................................................................................ 257
genTagOrd............................................................................................................................................ 258
getAccess ............................................................................................................................................. 258
getComputerIP ...................................................................................................................................... 259
getComputerName................................................................................................................................. 260

Página 5 de 478
getSysUserName ................................................................................................................................... 260
getCurrentEmp ...................................................................................................................................... 261
getCurrentFil ......................................................................................................................................... 262
getCurrentUser...................................................................................................................................... 262
getFileDate ........................................................................................................................................... 263
getRegIni ............................................................................................................................................. 263
getTempPath ........................................................................................................................................ 264
getVersion ............................................................................................................................................ 264
netSend ............................................................................................................................................... 265
isInteger .............................................................................................................................................. 265
isNumeric ............................................................................................................................................. 266
loadFromFile ......................................................................................................................................... 267
predX ................................................................................................................................................... 267
predXAccum ......................................................................................................................................... 268
predY ................................................................................................................................................... 269
predYAccum .......................................................................................................................................... 270
printReport ........................................................................................................................................... 271
putAccess ............................................................................................................................................. 272
putRegIni ............................................................................................................................................. 273
RefreshAccess ....................................................................................................................................... 274
regression ............................................................................................................................................ 275
regAccum ............................................................................................................................................. 276
TRegType ............................................................................................................................................. 277
saveToFile ............................................................................................................................................ 277
sendMail ............................................................................................................................................... 278
sendReport ........................................................................................................................................... 279
sleep .................................................................................................................................................... 280
EngemanWeb ........................................................................................................................................ 281
speedReport ......................................................................................................................................... 282
userAccess ........................................................................................................................................... 282
oldGetRegIni ......................................................................................................................................... 283
oldPutRegIni ......................................................................................................................................... 284
simpleSearch ........................................................................................................................................ 285
dropRegIni............................................................................................................................................ 285
oldDropRegIni ....................................................................................................................................... 286
openDialog ........................................................................................................................................... 287
saveDialog ............................................................................................................................................ 287
verificaAcumuladas ................................................................................................................................ 288
verificaCampo ....................................................................................................................................... 289
engemanService .................................................................................................................................... 289
alteraSQL ............................................................................................................................................. 290
insereFiltro ........................................................................................................................................... 291
verificaSS ............................................................................................................................................. 291
fecharOS .............................................................................................................................................. 292
cancelaOS ............................................................................................................................................ 293
Funções para Conversão de Tipos .................................................................... Erro! Indicador não definido.
Date to Str ................................................................................................... Erro! Indicador não definido.
DateTime to Str............................................................................................. Erro! Indicador não definido.
FloatToStr ............................................................................................................................................ 295
IntToStr ............................................................................................................................................... 296
StrToDateTime ...................................................................................................................................... 296
StrToDate ............................................................................................................................................. 297
StrToFloat ............................................................................................................................................ 297
StrToInt ............................................................................................................................................... 298
HtoN .................................................................................................................................................... 298
NtoH .................................................................................................................................................... 299
TryEncodeDate ...................................................................................................................................... 299
TryEncodeDateTime ............................................................................................................................... 300
TryStrToBool ......................................................................................................................................... 301
TryStrToDate ........................................................................................................................................ 301
TryStrToDateTime ................................................................................................................................. 302
TryStrToInt ........................................................................................................................................... 303
TryStrToFloat ........................................................................................................................................ 303
TryStrToTime ........................................................................................................................................ 304
TryFloatToDateTime ............................................................................................................................... 304
StrToBool ............................................................................................................................................. 305
BoolToStr ............................................................................................................................................. 306
TimeToStr ............................................................................................................................................ 306
Funções Manipulação de Banco de Dados ......................................................... Erro! Indicador não definido.
checkSGBD ........................................................................................................................................... 307
closeDataBase ....................................................................................................................................... 308
openSql ................................................................................................................................................ 309
closeSql ............................................................................................................................................... 310
execSql ................................................................................................................................................ 311
fieldByIndex ......................................................................................................................................... 312
fieldByName ......................................................................................................................................... 313
fieldsCount ........................................................................................................................................... 314
fieldType .............................................................................................................................................. 315
fieldExist .............................................................................................................................................. 315
tableExist ............................................................................................................................................. 316
filterQuery ............................................................................................................................................ 316
paramByName ...................................................................................................................................... 318
getQueryState....................................................................................................................................... 318
eof....................................................................................................................................................... 319
bof ...................................................................................................................................................... 320
next ..................................................................................................................................................... 321
prior .................................................................................................................................................... 322
first ..................................................................................................................................................... 322
last ...................................................................................................................................................... 323
locate................................................................................................................................................... 324
findField ............................................................................................................................................... 325
recordcount .......................................................................................................................................... 325
SQLDate ............................................................................................................................................... 326
SGBDDate ............................................................................................................................................ 326
InsertObs ............................................................................................................................................. 327
getObs ................................................................................................................................................. 327
openDataBase ....................................................................................................................................... 328
refreshQuery ......................................................................................................................................... 330
salvaAnexo ........................................................................................................................................... 330
abreAnexo ............................................................................................................................................ 331
Rtf2Html .............................................................................................................................................. 332
Rtf2Txt ................................................................................................................................................. 332
Html2Rtf .............................................................................................................................................. 333
edit ...................................................................................................................................................... 333
insert ................................................................................................................................................... 334
post ..................................................................................................................................................... 335
Funções de Datas (TDateTime)........................................................................ Erro! Indicador não definido.
Date .................................................................................................................................................... 336
Now ..................................................................................................................................................... 336
Time .................................................................................................................................................... 337
DecodeDate .......................................................................................................................................... 337
DecodeDateTime ................................................................................................................................... 338
EncodeDate .......................................................................................................................................... 338
EncodeDateTime ................................................................................................................................... 339
DayOfWeek........................................................................................................................................... 340
DayOfMonth .......................................................................................................................................... 340
DayOfYear ............................................................................................................................................ 341
WeekOfYear .......................................................................................................................................... 341
DateGetDay .......................................................................................................................................... 342
DateGetMonth ....................................................................................................................................... 342
DateGetYear ......................................................................................................................................... 343
DateGetHour ......................................................................................................................................... 343
DateGetMinute ...................................................................................................................................... 344
DateGetSecond ..................................................................................................................................... 344
FormataHora ......................................................................................................................................... 345
Funções de Entrada/Saída Dados ..................................................................... Erro! Indicador não definido.
messageDlg .......................................................................................................................................... 345
showmessage ....................................................................................................................................... 346
ImputQuery .......................................................................................................................................... 347
InputQuery ........................................................................................................................................... 347
Funções de Eventos de Formulário ................................................................... Erro! Indicador não definido.
abort.................................................................................................................................................... 348
setItems ............................................................................................................................................... 349
setFocus ............................................................................................................................................... 349
setPanel ............................................................................................................................................... 350
openForm ............................................................................................................................................. 350
closeForm ............................................................................................................................................. 351
exit ...................................................................................................................................................... 351
quitEngeman......................................................................................................................................... 352
Funções de Propriedades de Formulários .......................................................... Erro! Indicador não definido.
changeParent ........................................................................................................................................ 353
createButton ......................................................................................................................................... 353
createEdit ............................................................................................................................................. 354
creatLabel ............................................................................................................................................ 354
execEvent............................................................................................................................................. 355
execMethod .......................................................................................................................................... 356
getFieldValue ........................................................................................................................................ 356
getKeySate ........................................................................................................................................... 357

Página 7 de 478
VirtualKeyCode...................................................................................................................................... 357
getMask ............................................................................................................................................... 359
getProperty........................................................................................................................................... 360
setMask................................................................................................................................................ 360
setProperty ........................................................................................................................................... 361
ClColor ................................................................................................................................................. 362
CreateControl........................................................................................................................................ 363
setDBimage .......................................................................................................................................... 366
createForm ........................................................................................................................................... 366
Funções para Manipulação de Strings ............................................................... Erro! Indicador não definido.
ansiUpperCase/UserCape ........................................................................................................................ 367
ansiLowerCase/LowerCase ...................................................................................................................... 368
ansiReverseString .................................................................................................................................. 368
ansiRightStr .......................................................................................................................................... 369
ansiLeftStr ............................................................................................................................................ 369
chr ...................................................................................................................................................... 370
Tabela Ascii .................................................................................................. Erro! Indicador não definido.
copy .................................................................................................................................................... 373
count ................................................................................................................................................... 373
delete .................................................................................................................................................. 374
Format ................................................................................................................................................. 375
Format String................................................................................................ Erro! Indicador não definido.
FormatDateTime.................................................................................................................................... 376
Date-Time Format String ................................................................................ Erro! Indicador não definido.
FormatFloat .......................................................................................................................................... 378
Float Format String ........................................................................................ Erro! Indicador não definido.
Length ................................................................................................................................................. 379
StringOfChar ......................................................................................................................................... 379
StringReplace ........................................................................................................................................ 380
Replace Flags ................................................................................................ Erro! Indicador não definido.
Pos ...................................................................................................................................................... 381
Trim..................................................................................................................................................... 381
Funções Matemáticas ..................................................................................... Erro! Indicador não definido.
abs ...................................................................................................................................................... 382
ceil ...................................................................................................................................................... 382
cos ...................................................................................................................................................... 383
degToRad ............................................................................................................................................. 383
exp ...................................................................................................................................................... 384
floor..................................................................................................................................................... 384
frac...................................................................................................................................................... 385
high ..................................................................................................................................................... 385
Ln........................................................................................................................................................ 386
Log10 .................................................................................................................................................. 387
Log2 .................................................................................................................................................... 387
Ord ...................................................................................................................................................... 388
power .................................................................................................................................................. 388
radToDeg ............................................................................................................................................. 388
Round .................................................................................................................................................. 389
sign ..................................................................................................................................................... 389
sin ....................................................................................................................................................... 390
sqrt ..................................................................................................................................................... 390
tan ...................................................................................................................................................... 391
trunc .................................................................................................................................................... 391
Funções Web ................................................................................................ Erro! Indicador não definido.
getUrl .................................................................................................................................................. 392
isConnected .......................................................................................................................................... 393
Funções Externas .......................................................................................... Erro! Indicador não definido.
shellExecute ......................................................................................................................................... 394
agentCreate .......................................................................................................................................... 395
agentShow ........................................................................................................................................... 395
agentMoveTo ........................................................................................................................................ 396
agentMoveBy ........................................................................................................................................ 397
agentMoveToCenter ............................................................................................................................... 397
agentHide ............................................................................................................................................. 398
agentSpeak .......................................................................................................................................... 398
agentExec ............................................................................................................................................ 399
agentGetAnimations............................................................................................................................... 399
agentGetAnimationCount ........................................................................................................................ 400
agentFree ............................................................................................................................................. 400
getAgents ............................................................................................................................................. 401
openXML .............................................................................................................................................. 401
closeXML .............................................................................................................................................. 402
Funções de Grid ............................................................................................ Erro! Indicador não definido.
getCellFieldName ................................................................................................................................... 404
getCellFieldValue ................................................................................................................................... 404
getCellFontName ................................................................................................................................... 405
getCellFontSize ..................................................................................................................................... 406
getCellFontColor .................................................................................................................................... 406
getCellBackground ................................................................................................................................. 407
setCellFontName ................................................................................................................................... 407
setCellFontSize ...................................................................................................................................... 408
setCellFontColor .................................................................................................................................... 408
setCellBackground ................................................................................................................................. 409
Funções de TreeView ..................................................................................... Erro! Indicador não definido.
Definições no TreeView .................................................................................. Erro! Indicador não definido.
Propriedades do TreeView ............................................................................... Erro! Indicador não definido.
putImageTreeView................................................................................................................................. 412
Operadores ........................................................................................................................................... 412
Operadores Aritméticos .................................................................................. Erro! Indicador não definido.
Operadores Booleanos.................................................................................... Erro! Indicador não definido.
Operadores Relacionais .................................................................................. Erro! Indicador não definido.
Operadores para Strings ................................................................................. Erro! Indicador não definido.
Vetores ................................................................................................................................................ 414
Tarefas Agendadas ........................................................................................ Erro! Indicador não definido.
Gerenciador de Tarefas .................................................................................. Erro! Indicador não definido.
Campos Auxiliares ......................................................................................... Erro! Indicador não definido.
Novo Campo ................................................................................................. Erro! Indicador não definido.
Novo Relacionamento..................................................................................... Erro! Indicador não definido.
Nova Tabela .................................................................................................. Erro! Indicador não definido.
Telas Personalizadas ...................................................................................... Erro! Indicador não definido.
Definir Cálculo ............................................................................................... Erro! Indicador não definido.
Permitir Acesso ............................................................................................. Erro! Indicador não definido.
Grupos de Visibilidade .................................................................................... Erro! Indicador não definido.
Administração ....................................................................................................................................... 421
Analisar Sincronia .......................................................................................... Erro! Indicador não definido.
Otimizar Chaves ............................................................................................ Erro! Indicador não definido.
Eliminar Dados Históricos ............................................................................... Erro! Indicador não definido.
Administrar Usuários ...................................................................................... Erro! Indicador não definido.
Inserir Corretivas .......................................................................................... Erro! Indicador não definido.
Calendários de Periódicas ............................................................................... Erro! Indicador não definido.
Nivelamento de Recursos................................................................................ Erro! Indicador não definido.
Integração com MS Project ............................................................................. Erro! Indicador não definido.
Backup ................................................................................................................................................. 428
SQL ..................................................................................................................................................... 429
Análise de Serviços ........................................................................................ Erro! Indicador não definido.
Visualizador de DER ....................................................................................... Erro! Indicador não definido.
Exportação/Importação de Palm Top ................................................................ Erro! Indicador não definido.
Ajuda ................................................................................................................................................... 438
Detalhes desta Versão (Internet) ..................................................................... Erro! Indicador não definido.
Registrar o Engeman...................................................................................... Erro! Indicador não definido.
Usuários Ativos ............................................................................................. Erro! Indicador não definido.
Sistema de Ajuda .......................................................................................... Erro! Indicador não definido.
Sobre Engeman® .......................................................................................... Erro! Indicador não definido.
Janelas ................................................................................................................................................. 440
Lado a Lado Horizontalmente .......................................................................... Erro! Indicador não definido.
Lado a Lado Verticalmente .............................................................................. Erro! Indicador não definido.
Cascata ................................................................................................................................................ 440
Organizar Ícones ........................................................................................... Erro! Indicador não definido.
Personalizado ........................................................................................................................................ 441
Engeman SSW .............................................................................................. Erro! Indicador não definido.
Consultar Solicitação ...................................................................................... Erro! Indicador não definido.
Anexos ................................................................................................................................................. 442
O.S. da Solicitação......................................................................................... Erro! Indicador não definido.
Pesquisa de Códigos ...................................................................................... Erro! Indicador não definido.
Pesquisa Personalizada ................................................................................... Erro! Indicador não definido.
Consulta Personalizada ................................................................................... Erro! Indicador não definido.
Nova Solicitação ............................................................................................ Erro! Indicador não definido.
Altera Empresa ............................................................................................. Erro! Indicador não definido.
Altera Senha ................................................................................................. Erro! Indicador não definido.
SSW - Instalação ........................................................................................... Erro! Indicador não definido.
ISAPI (DLL) .................................................................................................. Erro! Indicador não definido.
IIS 5 ............................................................................................................ Erro! Indicador não definido.
IIS 6 ............................................................................................................ Erro! Indicador não definido.
Windows Service (EXE) .................................................................................. Erro! Indicador não definido.
Arquivos de Configuração ............................................................................... Erro! Indicador não definido.
Ferramentas Complementares ......................................................................... Erro! Indicador não definido.
EngRegras ............................................................................................................................................ 466
EngeSynchron ....................................................................................................................................... 466

Página 9 de 478
Import ................................................................................................................................................. 468
Help Desk ..................................................................................................... Erro! Indicador não definido.
FAQ ..................................................................................................................................................... 469
Introdução ao Engeman® O Que é o Engeman®
É um sistema de informação capaz de promover a engenharia de manutenção, motivo de seu nome. Através
de sua aplicação, será possível planejar, organizar e controlar as funções desenvolvidas pelo departamento
de manutenção, possibilitando:
 Cadastrar qualquer tipo de dado referente à manutenção - planos de manutenção, pontos onde serão
aplicados a manutenção, peças de reposição, etc.
 Planejar serviços que serão executados pela manutenção.
 Programar a execução dos serviços através de controles automáticos.
 Nivelar recursos de acordo com a programação realizada.
 Emitir alarmes e documentos referentes aos serviços programados de forma automática.
 Processar todos os dados referentes à manutenção e transformá-los em informações de controle.
 Criar históricos dos eventos.
 Elaborar cronogramas.
 Elaborar gráficos.
 Analisar perdas de produção.
 Calcular custos.
 Analisar ocorrências.
 Controlar consumo e estoque de materiais.
 Controlar executantes dos serviços.
 Acompanhar serviços realizados.

Multiempresa Multiempresa
O Engeman® foi projetado para ser implantado em corporações multi-empresariais,
com várias filiais. Esta forma de estruturação garante uma organização lógica de fácil
gerenciamento e integração das informações. Não há limite físico quanto ao cadastro de
empresas e filiais. Para obter uma descrição completa de como estão estruturadas as
entidades do sistema, consulte o manual técnico do sistema, que acompanha o Engeman®.

Vantagens da Informatização Vantagens da Informatização


Redução de custos:

 Redução da interrupção de funcionamento em processos produtivos.


 Minimização da insuficiência quantitativa e qualitativa da manutenção requerida.
 Racionalização no consumo de peças de reposição e insumos.
 Racionalização na aplicação de recursos humanos.

Aumento de produtividade:

 Otimização do tempo disponível para produção/utilização.


 Otimização da capacidade de produção.

Garantia de qualidade dos produtos:

 Otimização dos padrões de funcionamento.


 Otimização dos ajustes, regulagens e calibrações.

Garantia de segurança:

 Otimização da conservação e condições operacionais do processo.


 Otimização das condições de fabricação e fornecimento do produto.

Geração de informações integradas ao contexto da empresa:

 Custo
 Utilização de recursos humanos e materiais

Página 11 de 478
 Eficiência operacional

Estes resultados serão facilmente obtidos quando existir a consciência de que não basta
apenas instalar o software. Será preciso saber utilizar as informações geradas, como uma
ferramenta adicional ao departamento de manutenção e como elemento de decisão no
contexto da empresa.

Redução de Custo Redução de Custo


Fatores de Custo da Manutenção:
 Peças de reposição e insumos.
 Funcionários executivos e administrativos.
 Perda de produção gerada por interferência no processo produtivo.
 Perda de produção gerada por reprocessos ou devoluções de produtos.
 Serviços realizados por terceiros.
 Insuficiência de aplicação da manutenção.
 Perda da imagem do departamento de manutenção e da própria empresa.

Índices de Custo:
 Custo médio sobre o faturamento => 5 a 20%
 Custo médio sobre o custo total da empresa => 15 a 40%

Composição do Custo de Manutenção:

Estimativa de Redução de Custo:


 10% sobre serviços, materiais e custo direto de mão-de-obra.
 40% sobre perdas de produção.
 100% sobre insuficiência de manutenção.
 Total: 40% de redução sobre o custo da manutenção.

Resultados da Redução de Custo:


 Custo médio sobre o faturamento passaria de 5 a 20% para 3 a 12%.
 Custo médio sobre o custo total passaria de 15 a 40 % para 9 a 24%.
 Total: Redução no custo total da Empresa de 6 a 16%.

Automação da Manutenção Automação da Manutenção


 Programação dos serviços a realizar.
 Elaboração do plano mestre de manutenção.
 Nivelamento de recursos humanos.
 Nivelamento de recursos de materiais.
 Nivelamento de custo de acordo com orçamento disponível.
 Emissão de alarmes na véspera de execução dos serviços.
 Emissão de ordens de serviço de acordo com a programação elaborada.
 Gráficos de históricos de medições.

Planejamento e Controle Planejamento e Controle


 Cadastramento de todas as entidades envolvidas no processo de manutenção.
 Elaboração de planos de manutenção integrados a documentos externos e ilustrações.
 Integração do cadastro de manutenção a manuais do fabricante, contratos, esquemas de
montagens, projetos e layout‟s.
 Os planos de manutenção podem ser programados por períodos, data específica, acúmulo de
produção/utilização, tendência de variáveis do processo ou eventos.
 Os planos de manutenção podem ser aplicados a equipamentos produtivos, equipamentos
auxiliares, equipamentos de controle de qualidade, instalações da empresa, qualquer bem
patrimonial ou equipamentos pertencentes a terceiros.
 Todos os procedimentos operacionais a executar ou executados, referentes aos planos de
manutenção, poderão ser arquivados.
 Qualquer tipo de medição, aferição ou calibração efetuada nos equipamentos poderá ser
arquivada e controlar o processo de programação de execução das manutenções.
 A programação poderá ser racionalizada através de nivelamento de recursos.
 Controle do processo de abertura e fechamento de ordens de serviços.
 Controle de utilização efetiva da mão-de-obra.
 Controle de serviços terceirizados.
 Controle de interferência no processo produtivo.
 Cálculo de custo discriminado por serviços, funcionários internos, materiais e interferência no
processo.
 Controle de estoque integrado ou diferenciado por classe de materiais.
 Controle de serviços em execução e executados.
 Geração de informações operacionais e gerenciais através de filtros e agrupamentos
definidos pelo usuário.
 Geração de gráficos configuráveis para as principais informações geradas.
 Comparação de informações com metas planejadas.

Manutenção Eficaz Manutenção Eficaz


É uma arte.
É uma ciência.
É um conjunto de técnicas.

"A manutenção assegura a conservação e o funcionamento regular/permanente de: máquinas


produtivas, auxiliares, bens patrimoniais e instalações físicas, extinguindo as conseqüências
geradas pela insuficiência de manutenção."

Insuficiência de Manutenção:
São conseqüências, normalmente não percebidas e não medidas, geradas quando não se
aplica o nível de manutenção necessário ao funcionamento regular e permanente dos pontos
de manutenção.
Podemos verificar na prática que se dá muito valor à condição de "funcionamento permanente
do equipamento", porém nem sempre esta condição assegura as condições de "regularidade"
de funcionamento, gerando as conseqüências:
 Desperdício de insumos.
 Desperdício de matéria-prima.
 Refugo do produto.
 Excesso de ocorrências diretas e conseqüentes.
 Consumo exagerado de peças de reposição.
 Excesso de horas trabalhadas em emergência.
 Perda de produtividade e qualidade.

Página 13 de 478
 Perda de competitividade.
 Comprometimento da segurança.

Informatizar a Manutenção significa:


 Ter a informatização da manutenção como interesse comum da empresa.
 Conhecer claramente os resultados obtidos com este processo.
 Saber que toda implantação de uma nova sistemática implica em um processo que requer
tempo, investimento, atividades adicionais, perseverança e dedicação antes de se obter os
resultados esperados.
 Conhecer e definir os seguintes tópicos referentes ao processo: porquê, o quê, onde, quanto,
quem e como.
 Administrar o processo antes, durante e depois de sua implantação.
 Enfim, informatizar a manutenção significa metodologia, organização, planejamento,
controle e ajustes.
Tutorial Utilização do Sistema de Manutenção Engeman®
Este tutorial exemplificará o processo de Implantação do Engeman®, software para o
gerenciamento e controle da manutenção.

Os subtópicos irão disponibilizar todos os procedimentos necessários para a Instalação do


Software, passando pelo Processo de Cadastramento e seguindo até o Start-up do Sistema.
Os acompanhamentos necessários poderão ser realizado através do Banco de Dados
Demonstração.
Maiores esclarecimentos serão encontrados nos demais tópicos desta ajuda.

01 - Instalação 01. INSTALAÇÃO


Este tópico demonstra todas as tarefas detalhadas para a instalação do Engeman®:
1. Pré-Requisitos
2. Instalação do SGBD(Servidor/Estação)
3. Criação do Banco de Dados(Servidor)
4. Instalação dos Arquivos do Engeman®(Servidor/Estações)
5. Configuração do "Engeman.ini" (Servidor/Estações)
6. Configuração do "Engver.ini"(Estações)
7. Diagrama
8. Instalação do Engeman Web

1. Pré-Requisitos
Os pré-requisitos exigidos para instalação do Engeman são:
 Sevidor:Instalação do Banco de Dados
Sistema operacional:Windows NT ou superior
Espaço em disco para o banco de dados: 200 Mb (pode variar de acordo com o tipo do
gerenciador de banco de dados da utilização do sistema)
Memória Ram: 256 Mb (pode variar de acordo com o tipo do gerenciador de banco de dados
e do
número de clientes)

 Clientes: Instalação do módulo Executável


Sistema operacional: Windows 2000/ XP/2003, ou superior.
Espaço em disco: 100 Mb
Memória RAM: 128 MB (recomendável 256 Mb)

2. Instalação do Sistema Gerenciador de Banco de Dados (SGDB) Servidor/Estações

O Engeman® foi preparado para trabalhar com 4 SGDB's: Firebird, Interbase, Oracle ou
Microsoft SQL Server.
Por motivo de segurança e performance, sempre que possível, instale o Firebird ao invés do
Interbase.
Encontra-se disponível no CD de Instalação do Engeman® o Firebird, freeware, open source.

Instalação do Firebird
 Execute o Instalador do Engeman® (setup.exe);
 Selecione a opção "Instalar Firebird";
 Siga as instruções do programa de instalação.

Instalação do Oracle
 Entre em contato com um revendedor ou DBA Oracle.

Página 15 de 478
Instalação do Microsoft SQL Server
 Entre em contato com revendedor ou DBA SQL Server.

3. Criação da Base de Dados(Servidor)


A base de dados poderá ser criada de duas formas: através do Instalador do Engeman® ou
Através de Scripts executados diretamente nas ferramentas dos SGBD's

Banco de Dados Firebird


Através do Instalador:
a) Execute o instalador do Engeman e clique em "Novo Banco de Dados";
b) Selecione a opção "Novo Firebird" e clique em "Avançar";
c) Informe o nome do Servidor onde será instalado o banco de dados;
d) Informe o "Usuário Administrador", o padrão é SYSDBA;
e) Informe a "Senha Administrador", o padrão é MASTERKEY;
f) Clique em "Avançar";
g) Informe o "Nome do banco de dados";
h) Informe o "Diretório de dados", caminho local no servidor. Se o caminho não existir,
ele será criado.
i) Clique em "Avançar";
j) Clique em "Finalizar" e aguarde a conclusão do processo.

Através de Script:

 Clique no menu Iniciar do Windows-> Programas -> Interbase -> IBConsole;


 Acesse a opção "Local Server" com a senha "MASTERKEY";
 Clique no botão "SQL" da barra de ferramentas;
 Clique no menu "Query" da tela que foi aberta e selecione "Load Script";
 Aponte para o arquivo em "Arquivos\Scripts\script_interbase.sql", que se encontra no
CD de Instalação do Engeman®. Os parâmetros contidos nas duas primeiras linhas do script
podem ser alterados:

 CREATE DATABASE 'C:\ENGEMAN\DATABASE\ENGEMAN.GDB'


O parâmento acima representa o diretório onde será instalado o banco de dados e pode ser
alterado. O diretório deverá ser previamente criado.
 USER 'SYSDBA' PASSWORD 'masterkey'
Os parâmetros acima representam respectivamente usuário e senha para conexão com o
banco de dados e podem ser alterados.
 Após a carga do script pressione "Crtl+E";
 Aguarde a conclusão do processo.

Banco de Dados Oracle


Através do Instalador:

 E xecute o instalador do Engeman e clique em "Novo Banco de Dados";


 Selecione a opção "Novo Oracle" e clique em "Avançar";
 Informe o nome do Servidor que corresponde a instância onde será instalado o banco de
dados.
 Sendo Personal Oracle 7 informe "2:";
 Personal Oracle 8 ou superior deixe em branco ou use a instância previamente configurada
 Qualquer versão do Oracle Server, utilize a instância criada no servidor. Geralmente o nome
da instância é ORCL.
 Informe o "Usuário Administrador" , o padrão é SYSTEM;
 Informe a "Senha do Administrador", o padrão é MANAGER;
 Clique em "Avançar";
 O "Usuário do Banco (owner)" é obrigatoriamente ENGEMAN e a "Senha do usuário"
poderá ser alterada;
 Informe os diretórios para a instalação dos arquivos TSDENGE ("TableSpace de Dados"),
TSIENGE ("TableSpace de Índice") e TSTEMP ("TableSpace Temporária").
 Caso utilize Oracle 8i em "TableSpace Temporária" alterne para opção "Existente";
 Ao marcar a opção "Criar banco com tamanho reduzido" o instalador criará um banco de
dados com tamanho inicial de 30MB, caso contrário o tamanho do banco criado será 80MB.
Para personalizar o tamanho inicial do banco, faça a instalação pelo script, ao invés do
instalador do Engeman®
 Clique em "Finalizar" e aguarde a conclusão do processo.

Através de Script:
Execute o "SQL Plus" ou "SQL Worksheet";

 Poderão ser realizadas alterações no script no que se refere ao diretório onde serão salvos os
arquivos TSDENGE e TSIENGE, porém os nomes destes arquivos não devem ser alterados. A
criação da tablespace TSTEMP é opcional. Caso seja necessário, utilize a TableSpace
temporária pré-existente no banco e altere o script de criação do usuário "create user." para
contemplar sua alteração. Segue abaixo bloco do script correspondente as alterações
citadas. Os termos destacados em vermelho negrito não deverão ser alterados. Se a
tablespace temporária não for criada, alterar abaixo também, como mostram os destaques
em verde negrito.

create TableSpace TSDENGE


DataFile 'c:\orawin95\database\engdta.ora' SIZE 30M Reuse
AutoExtend On Next 512k;
create TableSpace TSIENGE
DataFile 'c:\orawin95\database\engidx.ora' SIZE 15M Reuse
AutoExtend On Next 512k;
create TableSpace TSTEMP temporary
DataFile 'c:\orawin95\database\engtmp.ora' SIZE 5M Reuse
AutoExtend On Next 256k;

 O nome do usuário não deve ser alterado, mas sua senha deve ser modificada para
aumentar a segurança de acesso. "CREATE USER" corresponde ao nome do usuário e
"IDENTIFIED BY" corresponde a senha. Onde está "CONNECT" também deverá ser
alterado respectivamente para "engeman/senha". As demais linhas que citam o a palavra
"engeman" correspondem ao usuário e também não podem ser alteradas. Segue abaixo
bloco do script referente a alteração do usuário:
CREATE USER engeman IDENTIFIED BY engeman
default TableSpace TSDENGE
Temporary TableSpace TSTEMP;
GRANT CONNECT TO engeman;
GRANT RESOURCE TO engeman;
GRANT DBA TO engeman;
DISCONNECT
CONNECT engeman/engeman

 Ao executar o script "SQL Plus" digite o comando @<Unidade de


CD<Arquivos\scripts\scripts_oracle.sql ou diretório correspondente;
 Ao executar o script pelo "SQL Worksheet" abra o arquivo < Unidade de
CD>Arquivos\scripts\script_oracle.sql ou correspondente, selecione todo o script e copie
para "SQL Worksheet". Pressione "F5".
 Aguarde a conclusão do processo.

Banco de Dados SQL Server

Através do Instalador:
 Execute o instalador do Engeman e clique em "Novo Banco de Dados";
 Selecione a opção "Novo MSSQL" e clique em "Avançar";

Página 17 de 478
 Informe o nome do Servidor onde será instalado o banco de dados;
 Informe o "Usuário Administrador", o padrão é "sa". Caso utilize "Windows
Authentication" deixe o campo em branco;
 Informe a " Senha Administrador", o padrão é deixar o campo em branco. Caso utilize
"Windows Authentication " deixe o campo em branco;
 Clique em "Avançar";
 O "Usuário do Novo Banco" por padrão será "engeman", mas pode ser alterado. A
"Senha do Novo Usuário" deverá ser alterada para aumentar a segurança de acesso.
 Informe o "Nome do Banco de Dados". Por padrão este nome é "engeman", mas pode ser
alterado.
 Informe os diretórios de Dados, Índices e Log. Consulte o DBA para maiores informações
sobre padronização de diretórios de armazenamento de dados do servidor. Geralmente.
quando o servidor possui mais de um disco rígido, a performance do banco é melhor quando
o arquivo de dados é instalado em um disco rígido e o arquivo de índices é instalado em
outro.
 Clique em "Avançar"
 Clique em "Finalizar" e aguarde a conclusão do processo.

Através de Script:
 Acesse o "Enterprise Manager";
 Expanda os níveis da árvore à esquerda;
 Clique com o botão direito dobre "Databases" e selecione a opção "New Database";
 Na guia "General" informe o nome do Database no campo "Name";
 Na guia "Data Files" altere a primeira linha da coluna "File Name" para "tsdenge" e em
"Initial Size" altere para 30 em "Filegroup" PRIMARY;
 Na guia "Data Files" clique na segunda linha da coluna e informe em "File Name"
"tsienge", em "Initial Size" altere 30 e em "Filegroup" INDICE;
 Na guia "Transaction Log" informe no campo "File Name" "tstemp" e em "Space
Allocated(MB)" 5;
 Acesse a opção "Security", clique com o botão direito sobre "Logins" e selecione a opção
"New Login";
 No campo "Name" informe Engeman;
 Se for escolhida a opção de "Windows Authentication", informe o domínio. Caso seja
"SQL Server Authentication", informe a senha para o usuário Engeman;
 No campo "Database" informe o nome do banco de dados criado anteriormente;
 Na guia "Database Access" selecione o banco de dados criado posteriormente, marque a
opção "db_owner" em "Permit in Database Role";
 Execute o "Query Analyser";
 Na barra de ferramentas no campo tipo lista selecione o banco de dados criado;
 Clique no botão "Abrir" da barra de ferramentas e aponte para <Unidade de
CD>Arquivos\scripts\script_mssql.sql;
 Pressione "F5" e aguarde a conclusão do processo.

02 - Cadastro de Empresas e Filiais 02. Cadastro das Empresas e Filiais


O cadastro da empresa e filiais é o ponto inicial na montagem do banco de dados, este é
realizado na tela "Cadastro de Empresas" acessada a partir do menu "Arquivo".

Deverá ser informada a Razão Social da Empresa, o Nome Fantasia, a Logomarca e


Relatórios que serão utilizados em algumas rotinas do sistema.

Para cada empresa, cadastre no mínimo uma filial de referência.

Os cadastros realizados nesta tela caracterizam a utilização do Engeman® no sistema


Multiempresas ou Multifiliais.

 Multiempresas - cada Empresa cadastrada terá exclusividade sobre os dados do Menu


"Cadastros", sendo comum apenas os dados do Menu "Tabelas".

 Multifiliais - a Empresa cadastrada possuíra algumas Filiais, onde os dados dos menus
"Cadastros" e "Tabelas" serão comuns entre elas. O nível de acesso pode ser restringido por
Filial de acordo com o Usuário.

03 - Cadastro de Usuários 03. Cadastro dos Usuários


Para acessar o Engeman®, cada usuário deverá ter um nome (login) de acesso e uma senha,
este cadastro é realizado na tela "Cadastro de Usuários" acessado a partir do menu "Arquivo".

Nesta tela serão definidas as permissões de acesso para cada usuário, onde determina-se
bloqueio ou acesso total às telas, acesso a empresas e filiais, permissão de alteração, inclusão
ou exclusão através da Guia "Controle de Acesso". Os itens indicados em verde permitem o
acesso ao Usuário, itens indicados em vermelho bloqueiam o acesso. Também poderá ser
definido o acesso aos Relatórios.

O sistema oferece ainda uma personalização a nível de Usuários com relação às teclas de
edição, opções de pesquisas, log de usuários, etc...

Maiores detalhes encontram-se disponíveis em outros tópicos desta ajuda do


Engeman®.

04 - Configuração de Máscaras 04. Configuração das Máscaras


A configuração das máscaras de códigos é fundamental para iniciar a utilização do sistema.
Determina o padrão de formação dos códigos (quantidade e tipos dos dígitos) a serem
utilizados por cada tela. É acessada a partir do menu "Arquivo", opção "Preferências", guia
"Máscaras de Códigos".

As Máscaras Dependentes da Empresa deverão ser definidas para cada empresa cadastrada.
As demais serão comuns a todas empresas.

05 - Configurações Gerais 05. Configurações Gerais e Ferramentas


As Configurações Gerais são acessadas a partir do menu "Arquivo", opção "Configurações
Gerais", nesta o usuário poderá definir limites para:
 Alerta sobre atraso de O.S.'s;

 Consistência para lançamentos de registros que envolvam horas de trabalho dos


funcionários, paradas de máquinas;

 Consistências para lançamentos de materiais;

 Tempo máximo para execução das O.S.'s, dentre outras.

O Engeman® possui algumas Ferramentas que permitem que o sistema seja personalizado
de acordo com as necessidades dos usuários, acessadas a partir do menu "Processos":

 Assistente de Edição de Telas: com esta ferramenta pode-se alterar o layout de qualquer
tela do sistema, mudando as posições dos campos e tamanhos, cores de fundo e fonte, fazer
com que o sistema obrigue o preenchimento de determinado campo, ocultar campos que não
serão utilizados, etc. Esta ferramenta é acessada quando o usuário possui uma tela aberta e
pressiona a tecla "F10".

 Alterar Nomenclatura: esta ferramenta permite a definição de terminologias próprias,


ou seja, mudar as terminologias padrões do sistema para as utilizadas em determinada região
ou empresa.

 Campos Auxiliares: esta ferramenta permite criar novas estruturas para


armazenamento de dados. O usuário pode criar novas telas ou novos campos no Engeman®,

Página 19 de 478
inclusive determinar equações para cálculos dentro dos campos criados.

 Gerenciador de Tarefas: esta ferramenta tem como finalidade programar tarefas que
deverão ser executadas ao iniciar o programa. O usuário pode configurar o sistema para emitir
lembretes, listagens simples como as O.S.'s programadas do dia corrente, executar relatórios,
etc.

 Gerenciador de Regras: esta ferramenta permite ao usuário entrar com comandos de


programação, ditando regras que serão ativadas, mediante alguns eventos do sistema. Desta
forma temos um sistema totalmente configurável à necessidade de cada empresa. O
Gerenciador de Regras vem acompanhado de um dicionário de dados contendo todas as
funções e comandos para a utilização do mesmo.

 Integração com MS-Project: esta ferramenta permite ao usuário disponibilizar as


informações das O.S.'s cadastradas no Engeman® em arquivos com formato do Microsoft
Project.

06. Aplicação da Manutenção


06 - Aplicações (Equipamentos)

(Equipamentos)
Cadastramento essencial para o funcionamento do sistema, este pode ser realizado na tela
"Aplicação da Manutenção" acessada a partir do menu "Cadastros".

"Aplicação" é todo ponto onde será feita alguma manutenção. Desta forma, o cadastro de
Aplicações constituirá na maioria das vezes os equipamentos da empresa, juntamente com
seus componentes e sub-componentes, também poderá ser utilizado para cadastro de
instalações físicas onde serão realizadas manutenções como salas, galpões, subestações, etc.

Para cadastrar uma aplicação clique em "Novo Registro" e informe Código do Equipamento,
Descrição - nome técnico do equipamento - e o Centro de Custo que deve ser previamente
cadastrado na opção "Centro de Custo", acessada a partir do menu "Cadastro".

Outros dados como Tipo de Aplicação, Localização, Fornecedor, Modelo, Número de Patrimônio
poderão ser informados durante o cadastramento.

07 - Solicitação de Serviço 07. Solicitação de Serviço


A Solicitação de Serviço realizada através do Engeman®, proporciona aos usuários um
controle total dos serviços solicitados, pendências, andamento e feedback aos solicitantes. Este
recurso poderá ser acessado a partir do Menu "Cadastros", opção "Solicitação de Serviços",
onde pode-se fazer novas solicitações e consultar as existentes.

Também é possível solicitar serviços via internet através do módulo SSW(Solicitação de


Serviço via Web). Este tipo solicitação oferece ao usuário os mesmo benefícios que a
solicitação feita através do sistema.

O responsável pelo recebimento das solicitações irá ou não aprová-las para que se
transformem em uma Ordem de Serviço. Veja abaixo o ciclo que demonstra os status de uma
Solicitação de Serviço.
08 - Planos de Manutenção 08. Cadastro dos Planos de Manutenção
O planejamento da manutenção depende diretamente dos Planos de Manutenção, onde são
apropriados recursos humanos, materiais e informado o check-list para a execução de serviços
preventivos, inspeções ou reparos programados. Posteriormente estes planos serão
programados gerando assim as Ordens de Serviços. Este cadastro é realizado a partir do menu
"Cadastros, opção "Plano de Manutenção".

Para cadatrar um novo Plano de Manutenção clique no botão "Novo Registro" e informe:
 Código do plano;
 Descrição resumida do serviço que será realizado;
 Tipo de Manutenção que deve ser previamente cadastrado na opção "Tipos de
Manutenção",acessada a partir do menu "Cadastro".

Após estas definições informe na guia "Setores Executantes" os campos:


 Ativo "S";
 Setor Executante que realizará o serviço;
 Previsão de RH, onde se opta por informar:
 Cargo do funcionário a realizar o serviço;
 Funcionário a realizar o serviço;
 Qualificação necessária para algum funcionário realizar o serviço.
Dependendo da opção selecionada o sistema ativará na guia "Setores Executantes" os botões
"Cargos", "Funcionários" ou "Qualificações". Os dados que serão utilizados nestes botões
deverão ser previamente cadastrados nas opções correspondentes que são acessadas a partir
do menu
"Cadastros":
 "Cargos de Funcionários";
 "Qualificações de Funcionários";
 "Funcionários".
O cadastro de Funcionários é indispensável ao funcionamento do sistema, pois sem
ele não é possível apropriar mão-de-obra nas O.S.'s.
Clique no botão "Procedimentos" da guia "Setores Executantes". Ao acessar a nova tela
descreva:
 no campo Procedimento o item que será executado ao gerar O.S.;
 informe o código para o Serviço que será realizado, este cadastro é realizado a partir do
menu "Tabelas", opção "Serviços";

Página 21 de 478
 informe o Material que será utilizado,os materiais são peças de reposição ou utilidades que
serão utilizados durante a execução dos serviços, os mesmos devem estar previamente
cadastrados através do menu "Cadastros", opção "Materiais".
Ao efetuar este cadastro será possível fazer um "Controle de Estoque",
"Lançamentos de Entradas" e "Requisição/Devolução" de materiais utilizados em
O.S.'s através da opção "Almoxarifado" do menu "Cadastros".

09 - Programação da Manutenção 09. Programação de Manutenção


A programação consiste no relacionamento dos equipamentos com seus respectivos planos de
manutenção, através deste, o sistema fará a geração automática das O.S.'s para serviços
preventivos, inspeções, trocas programadas e etc. Este relacionamento será feito pela tela
"Planos de Manutenção" clicando no botão "Aplicação" ou pela tela "Aplicações da Manutenção"
clicando no botão "Planos", onde existem oito programações disponíveis.

A programação Periódica é utilizada quando as manutenções tem como referência uma


periodicidade expressa em dias. São os casos das manutenções semanais, mensais,
semestrais, etc. Ao fazer o cadastramento desta programação informe o Plano a ser
executado e a Periodicidade, expressa em dias.

A programação Data Específica tem como finalidade permitir que se fixe uma data para a
execução de qualquer serviço que possua um plano de manutenção. Informe o Plano e utilize
como parâmetros para determinar a execução do serviço os campos Dia, Mês, Ano, Semana
do Ano, Semana do Mês, Dia da Semana. Como Exemplo tem-se manutenções que devem
ser executadas:

 Todo dia 1° independente do mês;

 Todo dia 12 de Outubro;

 Toda Segunda-Feira;

 Toda Semana 28, etc...

A programação Acumulativa é utilizada em manutenções que tem como referência a horas


trabalhadas de um equipamento, quantidade produzida acumulada ou quilometragem rodada
no caso de veículos. Para utilizar esta programação o equipamento em questão deve possuir
um "Ponto de Controle Acumulativo" que é cadastrado a partir da tela "Aplicação da
Manutenção". Após esta definição determine o Plano a ser executado e o Limite a ser
atingido para que o sistema gere as Ordens de Serviço. Como exemplo tem-se um plano para
Troca de Óleo de um veículo, que deve ser realizado a cada 3000 KM rodados (o valor
destacado corresponde ao limite do plano).

A programação por Tendência é utilizada para monitorar fatores variáveis como análises de
vibração, termografia, vazão, desgaste, etc. Para utilizar esta programação o equipamento em
questão deve possuir um "Ponto de Controle Tendência", que é cadastrado a partir da tela
"Aplicação da Manutenção". Cada um dos fatores deve possuir um ponto de controle e
tambémumlimite de alerta. Informe o Plano a ser executado quando o Limite de alerta for
atingido, este dará origem a uma O.S.

A programação Eventual corresponde ao monitoramento de eventualidades apresentadas pelo


equipamento, estas determinam a execução de algum serviço ou inspeção que será lembrado
pelo sistema em forma de O.S. Estes "Eventos" devem estar previamente cadastrados no
menu "Tabelas". Ao selecionar a programação Eventual informe o Plano que deverá ser
realizado, o Evento que deverá ser apresentado, Quantidade de ocorrências e Período
expresso em dias.

A programação Eventuais/Serviços poderá ser utilizada para monitorar e combater


ocorrências em excesso ou seja, o número elevado de O.S.'s Corretivas. Nesta programação
especifique o Plano que deve ser realizado, a "Ocorrência"- corresponde ao defeito ou falha
apresentada pelo equipamento, deve ser cadastrada no menu "Tabelas"- , Quantidade de
Ocorrências, Período em Dias. Como exemplo temos a seguinte situação; se um motor
apresenta quebra(Ocorrência), 5 vezes(Quantidade de Ocorrências) em um período 30
dias(Período em Dias) deve ser feita uma inspeção(Plano).

Sem Programação é utilizada quando não existe nenhuma referência para determinar a
geração de uma O.S. ou simplesmente para manter a relação plano x aplicação arquivada.

A programação Eventual/Cíclica tem como finalidade proporcionar o controle de


manutenções com periodicidades variáveis, o que a difere da Periódica. Estas manutenções
podem ser disparadas por algum fator, como a troca de determinada peça de reposição do
equipamento.

Importante: todas programações requerem Data de Última Manutenção para serem


inicializadas.

10 - Geração de O.S. 10. Geração de O.S.


O Engeman® gera basicamente dois tipos de Ordens de Serviço que são as Programadas e as
Não-Programadas.

As O.S.'s Programadas são geradas de acordo com os relacionamentos feitos através das
programações:Periódica, Data Específica, Acumulativa, Tendência, Eventual, Eventual/Serviços
e Eventual Cíclica. Acesse a tela "Geração de O.S." do menu "Processos" e informe o Período
para geração das Ordens de Serviços e em seguida clique no botão "Gerar O.S.", o sistema irá
processar os registros. Ao término será possível visualizar as O.S. programadas clicando no
botão "Consultar O.S. Geradas".
As O.S.'s Não Programadas são geradas a partir da tela de Solicitação Serviços, quando
uma solicitação é aprovada ou através da tela de "Ordem de Serviço" acessada no menu
"Cadastros". Este tipo de geração é utilizada na maioria das vezes para registrar os serviços
corretivos.
Para registrar uma O.S. corretiva (planejada ou não) clique em "Novo Registro" e informe o
número da O.S. pressionando a tecla "F5". Informe na tela:

 Data Programada;
 Solicitação;
 Setor Executante;
 Tipo de Manutenção;
 Aplicação;
 Centro de Custo.

As O.S.'s do Engeman® podem ser enviadas para o Palmtop, que possui um módulo específico
para o registro destes serviços. Este módulo é composto por dois aplicativos. O
PDBEngeman® que exporta as O.S.'s do Micro para o Palm e OSEngeman®, onde são
registrados os dados do serviço executado.

11 - Nivelamento de Recursos 11. Nivelamento de Recursos


O Nivelamento adequa a disponibilidade de recursos a Programação da Manutenção, estes
referem-se a contingente de mão-de-obra para execução dos serviços, disponibilidade de
materiais necessários e disponibilidade financeira, mantendo o custo dos serviços programados
dentro do orçamento predeterminado. Este procedimento é executado a partir do menu
"Processos", opção "Nivelamento de Recursos", onde é necessário informar o Período a ser
nivelado e posteriormente clicar em "Calcular".
Durante o cálculo poderão ser tomadas medidas corretiva referentes a programação caso
exista indisponibilidade de algum recurso seja humano, material ou financeiro. O sistema pode

Página 23 de 478
reprogramar a O.S. para o melhor dia de acordo com os parâmetros determinados pelo
usuário.

12 - Impressão de O.S. 12. Impressão de O.S.


Existem duas maneiras para imprimir as Ordens de Serviços.

 A primeira é acessada a partir do menu "Cadastro" em "Ordem de Serviço".Informe o


número da O.S. a ser impressa no campo "* O.S." e clique em "Imprimir O.S.".
 A segunda é acessada a partir do menu "Processos", em "Editor de Relatórios". Ao abrir o
editor localize o Modelos de Ordem de Serviço ou o Modelo de Ordem de Serviço(com
procedimento), informe o período desejado, o número da O.S. e clique em "OK".

13 - Coleta de Dados 13. Coleta de Dados


Existem algumas informações que devem ser lançadas no sistema para geração de O.S.'s e
controles específicos.

A Coleta Acumulativa deve ser lançada para cada equipamento que possua programação
Acumulativa, para o sistema ter como referência quando o limite determinado no plano foi
atingido. Deve ser realizada a partir do menu "Cadastro", sub-menu "Coleta", opção
"Acumulativa", onde é informado a Aplicação, Ponto de Controle, Data da coleta e Valor.
A Coleta de Tendência deve ser lançada para cada equipamento que possua programação
Tendência, para o sistema ter como referência quando o Limite de Alerta determinado no
plano for atingido. Deve ser realizada a partir do menu "Cadastro", sub-menu "Coleta", opção
"Tendência de Variáveis", onde é informado a Aplicação, Ponto de Controle, Data da
coleta e Valor.
A Coleta de Eventos deve ser lançada para cada equipamento que possua programação
Eventual, para o sistema ter como referência quando a quantidade de eventos determinada
no plano foi ultrapassada. Deve ser realizada a partir da tela de "Aplicação da Manutenção",
botão "Coleta de Eventos", onde é informado o Evento e Data.

As coletas Acumulativas, Tendências e Eventuais também podem ser registradas


através do Módulo de coletas desenvolvido para o Palmtop.

Existe a possibilidade de controlar as movimentações de componentes como Pneus, Motores,


Cilindros, etc. Este controle é feito a partir da tela de "Aplicação da Manutenção", ao clicar no
botão "Histórico de Movimentação de Aplicação".

14 - Fechamento de O.S. 14. Fechamento de O.S.


O fechamento da O.S. consiste em registrar os procedimentos ou serviços executados, lançar
os funcionários que executaram a O.S. e os parâmetros que fizeram parte da execução do
serviço. Acesse a tela de "Ordem de Serviço" a partir do menu "Cadastros". Informe o número
da O.S. a ser fechada no campo "*O.S.", posteriormente alterne para a guia "Encerramento".

Na parte superior da tela de "Encerramento" informe os dados de referente a parada da


Aplicação (Equipamento) e Interferência no Processo Produtivo.

Na parte central da guia de "Encerramento" são registrados os funcionários que executaram o


serviço solicitado na O.S. Informe o código do Funcionário, Data/Hora Inicial e Data/Hora
Final.

Na parte inferior da guia "Encerramento" são registrados os serviços executados. As O.S.


preventivas terão os procedimentos que foram cadastrados no plano de manutenção listados
automaticamente.
Para concluir o fechamento clique no botão "Fechar O.S." localizado na barra de
ferramentas desta tela ou para cancelamento clique no botão "Cancelar O.S.".

15 - Emissão de Relatórios 15. Emissão de Relatórios


Os relatórios do Engeman® são a maneira mais fácil e prática de retirar as informações de
todo o sistema durante a fase de Cadastramento e principalmente após o Start-Up. Através
deles o usuário poderá fazer todo o acompanhamento dos serviços executados, consultar o
histórico dos equipamentos, emitir gráficos comparativos, consultar o custo das manutenções,
emitir cronogramas e buscar diversas outras informações. Qualquer outro tipo de Relatório ou
Gráfico poderá ser desenvolvido através deste Editor.

A tela de relatórios é acessada a partir do menu "Processos", opção "Editor de Relatórios",


onde serão exibidos diversos itens com código e descrição. Cada um destes itens corresponde
a um relatório do Engeman®, clique sobre o desejado e pressione o botão "Visualizar (F5)" ,
informe os filtros necessários e clique em "OK".

Além dos Relatórios existe um outro recurso capaz de exibir indicadores de acordo com o
cadastro corrente. São os KPI (Indicadores Chave de Desempenho), que podem ser
aplicados a qualquer entidade do sistema e desenvolvidos de acordo com necessidades
específicas.

Página 25 de 478
Operações Básicas Operações Básicas
Edição
KPI
Tarefas
Erros de Atualização
Configuração de Gráficos
Configuração de Texto
Calculadora
Pesquisa
Pesquisa Chave Estrangeiras
Pesquisa por Agrupamento
Teclas Especiais
Exportação/Importação de Tabelas
Atualização Automática dos Terminais
Documentos
Estrutura de outra Operação
Histórico de Localização de Aplicação
Histórico de Aplicação
Histórico de Geração
Movimentação de Aplicação
Configuração Web

Edição Edição
Campos Obrigatórios: sempre que um campo de entrada de dados possuir cor azul em
negrito, significa obrigatoriedade de informação. São campos cujo conteúdo é de extrema
importância para o funcionamento do sistema. Caso não seja atribuído nenhum valor a um
campo obrigatório, o sistema emitirá uma mensagem de erro ao tentar salvar o registro.
Campos Informativos: possuem cor verde em negrito. São campos de" somente leitura",
ou seja, apenas disponibilizam alguma informação, sem que seja possível o usuário modificar o
seu conteúdo.
Código Reduzido: normalmente referenciado como apenas "reduzido", é gerado
automaticamente pelo sistema e não pode ser alterado. Este código é o identificador único de
cada registro (chave primária). Mesmo que outros usuários estejam editando registros na
mesma tabela, simultaneamente em um ambiente multiusuário, um valor único será atribuído
a este campo.
Código Secundário: assim como o reduzido, o código secundário também é obrigatório. Deve
ser único, porém, não exerce função de chave primária. Este código poderá ser modificado
pelo usuário e pode ter sua máscara de edição personalizada na tela de configuração de
máscaras. Se nenhuma máscara for atribuída a este código, seu cadastramento será espelhado
ao código reduzido. Caso o usuário modifique este valor, o valor do código reduzido não será
replicado para o código secundário.
Configuração de campos de pesquisa: para configurar quais os campos deverão ser
apresentados nas telas de pesquisa, pressione o ícone de configuração ao lado do ícone de
binóculo, na barra de ferramentas de cada tela. Para configurar os campos de pesquisa auxiliar
de códigos secundários (pesquisa realizada através da tecla F2), pressione CTRL+F2 sobre o
campo. Esta configuração será personalizada em cada tela aonde for executada. Exemplo:
pode-se configurar os campos de pesquisa de aplicação diferentemente nas telas de ordem de
serviço e relação entre planos.
Configurações de Grupo: A codificação dos agrupamentos será realizada de forma
automática, ao inserir cada registro no campo de árvores de agrupamentos. Para inserir os
agrupamentos, clique com o botão direito sobre a árvore de agrupamentos e selecione as
opções que aparecem no menu pop-up. Quando a tabela possui o campo filial, a filial deverá
ser escolhida antes de inclusão na árvore de agrupamentos.
Opção Ação
Novo Componente Insere o registro como novo componente, ou seja, como" irmão" do nó
selecionado no campo de árvore e atribui ao registro selecionado um
novo código, de acordo com a configuração de máscara da tabela.
Quando a árvore está vazia, insere o primeiro nó da árvore.
Novo Insere o registro como novo sub-componente, ou seja, como" filho" do
Sub-componente nó selecionado no campo de árvore e atribui ao registro selecionado um
novo código dependente do nó pai, seguindo a lógica de máscara de
agrupamento pré-determinada.
Excluir Exclui o nó selecionado da árvore e retira a codificação do grupo no
registro correspondente. Caso o registro possua filhos, todos os filhos
serão excluídos em cascata e todos os registros correspondentes terão
seus códigos eliminados.
Localizar Localiza o registro correspondente ao nó atual da árvore.
registro
Expandir Expande todos os níveis filhos do nó corrente.
Os ícones superiores ao campo de árvores de agrupamento são utilizados para customizar sua
visualização:

 Editar: coloca a árvore em modo de edição. Todas as operações que envolvam


alterações na
árvore só poderão ser realizadas depois que este botão for ativado. Somente a inserção
de novos componentes ou sub-componentes não precisam de estar em modo de edição.
 Aplicar: salva todas as operações realizadas na árvore de agrupamentos.
 Cancelar: cancela as alterações realizadas na árvore de agrupamentos, com exceção de
inclusão de novos componentes.
 Diminuir recuo: faz com que o nó selecionado recue um nível do agrupamento,
tornando-se "irmão" do nó acima dele.
 Aumentar recuo: faz com que o nó selecionado aumente um nível do agrupamento,
tornando-se "filho" do nó imediatamente acima dele.
 Expandir níveis: abre toda a árvore para visualização.
 Contrair níveis: fecha todos os níveis de visualização.
 Atualizar: redesenha a árvore, buscando informações do banco de dados.
 Localizar registro: localiza na árvore o registro corrente do cadastro.
 Reindexar Agrupamento: refaz o agrupamento, normalmente utilizado após excluir
itens da
árvore.
 Ativar modo de troca de posição: ativando esta opção, ao arrastar um item de um lugar
para outro, ele trocará de posição com o nó destino. Se ele possuir filhos, todos os filhos serão
deslocados com ele. Sem esta opção marcada, ao arrastar um nó de um lugar para outro, ele
será inserido como filho do nó destino.
 Visualiza / Imprimir: gera um relatório do agrupamento para que este possa ser
impresso.
 O botão mostrar somente ítens da filial corrente, funciona somente no cadastro de
Aplicação. Esta funcionalidade filtra os componentes e sub-componentes da filial
corrente(logada pelo usuário), disponibilizando-os na árvore de agrupamento.
 O botão mostrar somente ítens do registro corrente, filtra o agrupamento a ser
disponibilizado, sempre considerando como componente raiz, o registro selecionado na tela e
considerando seus sub-componentes montados anteriormente.
 O botão mostrar agrupamentos até a aplicação corrente, filtra registros que possuem
agrupamentos até a aplicação corrente.
 O botão mostrar localização ao ser pressionado, mostra a opção de código e descrição,
exibindo na árvore as informações marcadas. Podendo não aparecer a localização (grupo),
podendo aparecer somente o código da localização (grupo - código), podendo aparecer
somente a descrição da localização (grupo - descrição) ou podendo aparecer os dois (grupo -
código - descrição).
 O botão Mostrar os campos no agrupamento ao ser pressionado mostra uma lista com

Página 27 de 478
todas as características da Aplicação, que ao marcadas aparecem junto a descrição do
agrupamento.
 Agrupamento Físico: mostra todos os agrupamentos realizados.
 Agrupamento para Interferência: mostra os agrupamentos que agregam custo de
interferência no processo produtivo.
Estas configurações são salvas no registro do Windows, portanto, a tela será aberta
novamente da mesma forma como foi deixada por último.

Campos de Referência: referenciam campos de outras tabelas que devem ser informados na
tabela atual. Para informar um novo valor, digite-o sobre este campo. Se necessário, pressione
F2 sobre o campo para pesquisar registros na tabela referenciada. Caso a tabela a ser
procurada não contiver nenhuma informação, e deseja-se cadastrar uma nova informação
nela, não é necessário fechar a janela corrente para o seu cadastramento. Acione o
menu/barra de ferramentas e selecione a tela de cadastramento referente à tabela de
pesquisa. Várias janelas podem ser abertas simultaneamente. Pressione F4 sobre o campo,
para abrir automaticamente a tela de cadastramento da tabela referenciada. Pressione a tecla
DELETE sobre este campo para apagar o seu conteúdo.>
Campos de Entrada de Data e Hora:
Ao digitar uma data, basta digitar o dia, mês e ano sem colocar as barras" /". Após a digitação
do campo, a data será automaticamente formatada . Lembre-se de colocar dois dígitos para o
dia e dois dígitos para o mês. O ano poderá ser digitado com dois ou quatro dígitos.
Ao digitar um campo de data e hora, digite a data, sem colocar as barras" /", dê um espaço e
digite a hora no formato hhmm. Não é necessário colocar os dois pontos" :" para separar
horas de minutos.
Se quiser ativar um editor de datas, sobre digitação em grids, pressione F2 sobre o campo.
Exemplo:

Digite Para obter


010298 01/02/1998
010200 01/02/1900
01022000 01/02/2000
150598 0725 15/05/1998 07:25:00

Campos de observação: veja detalhes no tópico configuração de textos.


Configuração de gráficos: veja detalhes no tópico configuração de gráficos.
Movimentação entre campos:para movimentar entre os campos de cadastramento, utilize a
tecla TAB. Para avançar, pressione TAB. Para retroceder, pressione SHIFT+TAB. Este é o
procedimento padrão para todas as aplicações que funcionam sobre o Windows. Porém, com o
objetivo de facilitar a movimentação para pessoas acostumadas com o ambiente DOS, é
possível alterar o estado natural da tecla ENTER para que ela funcione como a tecla TAB,
através da personalização do usuário. Uma vez que o ENTER esteja funcionando como TAB, ao
pressionar ENTER sobre um campo de edição, o cursor será posicionado para o próximo
campo. Pressionando-se SHIFT+ENTER, o campo anterior será selecionado. Porém, se o cursor
estiver sobre um botão, ENTER funcionará como se o usuário clicasse com o mouse sobre este
botão. A tecla ENTER não pulará para outros campos se estiver sendo editado sobre um GRID.
Neste caso, o usuário deverá usar as setas de navegação do teclado, SETA ESQUERDA e SETA
DIREITA para pular de um campo ao outro. TAB sairá do grid..
Movimentação entre guias: A movimentação entre as guias, dentro de uma tela, é realizada
através da digitação da tecla ALT+letra em destaque. No exemplo abaixo, pressione ALT+M
para ir até a guia de agrupamento.

Auto-Gravação e Auto-Inserção: em uma tela de entrada de dados, quando o usuário


informar o último campo desta tela, o registro poderá ser automaticamente gravado. Para
realizar tal operação, configure a opção" gravar após último campo" na personalização do
usuário. Semelhante, a esta opção, além de gravar o registro corrente, o usuário poderá optar
por automaticamente inserir um novo registro ao final do cadastramento da tela. Consulte o
tópico personalização do usuário para maiores informações.

Pesquisar Pesquisa de chaves estrangeiras


Fornece um meio rápido e prático para localizar registros em outras tabelas, relacionando-os
com a tabela corrente.

A primeira coluna da tabela é conhecida como campo chave da pesquisa. Tanto o filtro quanto
a pesquisa percorrerá por esta coluna. Para alterá-la, clique com o mouse sobre o título de
outra coluna da tabela ou selecione-a através do menu drop-down, abaixo dos botões de filtro.

Campo "Filtro": especifique o filtro dos dados para pesquisa. Para alterar o filtro, digite um
novo valor neste campo e pressione ENTER. Para mostrar todos os dados de uma tabela
(remover o filtro), deixe este campo em branco, pressionando a tecla DELETE.

Atenção! Em tabelas muito grandes, você deve sempre especificar algum filtro para agilizar
sua consulta.

Para agilizar a abertura da tela de pesquisa, deixe o campo "vazio" marcado. Desta forma, a
tela é aberta e nenhum registro é exibido. O status deste campo é salvo no banco de dados,
de forma a ser apresentado como deixado da última vez.

Campo "Pesquisa": digite a palavra chave para a localização acelerada do registro


pesquisado.
Pressione ENTER para confirmar a consulta e ESC para abandonar.
Observação: Para pesquisas em tabelas que possuem o campo ATIVO ("Aplicação da
Manutenção", "Plano de Manutenção" e "Funcionários) ou U_ATIVO (campo que pode ser
criado por usuário em qualquer tela do Engeman), serão exibidos apenas registros cujo valor
do campo ATIVO ou U_ATIVO seja 'S' (Sim).
Botão "Mostrar somente registros da Filial corrente": Com este botão pressionado, a
pesquisa será realizada somente para os registros que estejam vinculados à filial corrente
(deste que a tabela que esteja sendo pesquisada possua o campo Filial).
Caso a tabela que esteja sendo pesquisada seja a tabela Material, esta filtragem se dará pela
filial do almoxarifado onde o material está alocado, deste que o mesmo esteja em estoque.

Guia "SQL": Para que esta guia esteja disponível, a opção "Permissões Gerais/Modificar o SQL
das Pesquisas" deve estar habilitada no cadastro de usuários. Nesta guia o usuário poderá
visualizar a consulta SQL padrão que é utilizada na pesquisa que está sendo utilizada. Se
desejar, o usuário poderá alterar este SQL para inclusão de novos campos e novas condições
(a pesquisa será atualizada após ser carregada a tela novamente.
Caso seja preciso copiar o SQL alterado para outros usuário, basta clicar no botão "Copiar o
SQL personalizado desta pesquisa para outro(s) usuário(s)".

KPI (Indicador Chave de Performance) KPI (Key Performance Indicator)


O KPI (Key Performance Indicator ou Indicador Chave de Performance) pode ser aplicado a
equipamentos ou qualquer outra entidade do sistema. O Engeman® traz uma ferramenta de
customização destes índices que podem ser visualizados diretamente no cadastro, sem a
necessidade de emissão de relatórios, com três faixas de eventos.
Existem dois tipos de visualização de KPI's:
 Medidor: Indicador visual semelhante a um relógio, mas com apenas um ponteiro

Página 29 de 478
sempre apontando para o resultado do seu SQL. Seu valor é atualizado ao navegar entre cada
registro da tela na qual se está criando KPI's. Cada tela do sistema pode ter vários KPI's do
tipo Medidor.
 Listagem: Exibe uma consulta personalizada em formato de Listagem ou Gráfico. Para
as listagens, você poderá definir uma ação ao efetuar um duplo clique no grid (semelhante ao
gerenciador de tarefas). Por exemplo: Configure uma listagem simples para exibir as O.S.
relativas à aplicação corrente. Ao efetuar um duplo clique sobre uma determinada O.S., o
sistema abrirá automaticamente a tela de cadastro daquela O.S. Para os gráficos, você poderá
configurar o tipo e todo o layout semelhante a um relatório.

Informe nos campos desta tela os dados necessários para a configuração visual da ferramenta
KPI.
Os cálculos necessários para o indicador serão executados via SQL. Clique no botão "Digitar
SQL" e digite o comando sql para que seja efetuado o cálculo. Este comando, no caso dos
medidores, deve retornar apenas valores agregados, ou seja, soma (sum), contagem (count),
enfim números inteiros ou reais, positivos ou negativos. Mas no caso de listagem, o SQL pode
ser digitado livremente, lembrando que o nome de cada coluna pode ser renomeado
diretamente no SQL, melhorando a estética nos títulos das colunas do Grid de listagem.

Importante! O código da empresa corrente e o nome do usuário corrente ja estão


pré-definidos pelo sistema. Para utilizar estes códigos no comando sql basta informar
":codemp" para empresa e ":nome" para usuário. Por exemplo:
SELECT COUNT(*) FROM ORDSERV
WHERE CODEMP=:CODEMP
AND NOME_FECHOU=:NOME
Neste comando, o próprio sistema substituirá a string ":CODEMP" pelo código da empresa
corrente e a string ":NOME" pelo nome do usuário corrente. O resultado deste exemplo será a
quantidade de O.S. da empresa corrente que foram fechadas pelo usuário corrente.
Este mesmo padrão pode ser utilizado para filtrar o cálculo pelos campos da tela para qual o
KPI será aplicado. Por exemplo, abra a tela de Aplicação da Manutenção, clique no botão do
KPI e crie um indicador com o seguinte comando sql:
SELECT SUM(CUSSERREA) FROM ORDSERV
WHERE CODAPL=:CODAPL
AND STATORD='F'
Neste comando, o próprio sistema substituirá a string ":CODAPL" pelo código da aplicação que
estiver sendo exibida na tela de Aplicação da Manutenção. Este exemplo calcula a soma dos
custos com serviços realizados em cada aplicação.

Podem ser criados KPI's do tipo Listagem e Gráfico contendo filtros Internos e Externos.
Filtros Internos :
O Indicador na tela Centro de Custo com o seguinte comando SQL contém somente filtros
internos (Em negrito e fundo Amarelo) :
select aplic.tag||' - '||aplic.descricao as "Aplicação",count(aplic.tag) as "Quantidade O.S."
from ORDSERV,APLIC,CONTABIL
inner join APLIC on ORDSERV.CODAPL=APLIC.CODAPL
inner join CONTABIL on ORDSERV.CODEMP_8=CONTABIL.CODEMP AND
ORDSERV.CODCON=CONTABIL.CODCON
where aplic.codcen=:codcen
and (ordserv.datpro>=:Data_Inicial and ordserv.datpro<=:Data_Final)
and ordserv.simula=:Simulada
group by aplic.tag,aplic.descricao
order by aplic.tag
O Parâmetro :codcen é preenchido com o código reduzido do centro de custo da tela.
Os Parâmetros que iniciam com :Data_ (:Data_Inicial e :Data_Final), serão criados em uma
tela de Filtros campos do tipo Data/Horas.
Os Demais campos, serão criados no na tela de Filtros campos do tipo Texto.
Obs: Os filtros internos criados na tela de Filtros são campos de preenchimento obrigatório.

Filtros Externos :

Para Criar Filtros Externos, basta clicar no botão Configurar Filtros (Ctrl+K) e preencher
os campos como na figura abaixo :

Obs:O Evento AfterScroll não executa o KPI que Contém Filtro(s), somente o Duplo Clique.
Os campo cadastrados nessa tela são criados na tela de Filtros ao executar o KPI.

Tarefas Agendadas
Tarefas

Descrição Ação Ação


Ícone
Secundária
Exibir Lembrete Abre uma tela contendo um lembrete
digitado

Emitir Relatório Executa o relatório relacionado

Abrir tela de Solicitação de Executa o SQL de listagem de S.S. Abre o cadastro


Serviços de S.S. com a
solicitação
corrente
Executar uma Listagem Executa SQL de listagem simples Executa o
Simples relatório relativo
à listagem.

Página 31 de 478
Abrir tela de Ordem de Executa SQL de listagem de O.S. Abre o cadastro
Serviço de O.S. com a
O.S. corrente
Para executar as tarefas, dê um duplo clique sobre o nome dela. As tarefas que possuem uma
ação secundária serão executadas após o duplo clique sobre o registro selecionado.
Para configurar uma tarefa usando a ação "Abrir tela de O.S.", o primeiro campo da listagem
retornado pelo SQL da tarefa deve ser o código da O.S. (tag). Quando a tarefa secundária for
executada, a tela de cadastro será automaticamente aberta e será localizado o registro
correspondente ao código corrente. Igualmente, para configurar tarefas que usem a ação
"Abrir tela de S.S.", o primeiro campo do SQL da tarefa deve ser o código da solicitação
(codsol). Todos serão exibidos somente para a empresa corrente, mesmo que o SQL não faça
esta distinção.
Marque a opção "Exibir ao iniciar" para que a listagem de tarefas seja exibida toda vez que o
sistema for iniciado.

Erros de Atualização Erros de Atualização


O sistema Engeman® foi projetado para realizar atualizações do banco de dados através de
"cached updates", ou atualizações por cache. Isto garante que as estações consigam operar os
registros de forma mais rápida, manipulando os dados localmente e enviando pacotes de
atualizações para o banco de dados, quando necessário. Entretanto, este tipo de atualização
apresenta alguns fatores indesejáveis, como validações de registros inválidos. Ao processar
localmente as informações, o banco de dados não pode prever as restrições aplicadas sobre as
tabelas. Isto acontece somente na fase de atualização do banco de dados. A rotina de
tratamento de erros que está sendo exibida agora, foi projetada para evitar perdas de grandes
alterações no banco de dados, permitindo ao usuário editar os registros que serão atualizados
e que apresentam erros.
Tipo de Atualização
Inserção Para erros em novos registros inseridos na tabela
Alteração Para erros em alterações de registros existentes
Exclusão Para erros de não permissão de exclusão. Isto irá acontecer
principalmente, quando o registro a ser excluído está sendo utilizado
por outra entidade, como chave estrangeira.

Mensagem de Erro
Quando o registro está sendo inserido ou modificado no banco e apresenta um erro, a
operação é abortada e o usuário deverá corrigir o erro antes de gravar novamente as
alterações. Quando o registro está sendo excluído e o banco apresenta o erro - devido a
restrições de integridade referencial - o sistema abortará a operação e o registro excluído irá
retornar à tabela automaticamente.

Configuração de Gráficos Configuração de Gráficos

 1º Icone: é utilizado para a operação padrão de gráficos. Utilize o botão esquerdo do


mouse sobre gráficos de barra ou linha, para determinar uma região de zoom (de cima para
baixo, da esquerda para a direita). Sobre gráficos de pizza, provoca o deslocamento de uma
fatia. O botão direito é utilizado para mover o gráfico nos eixos X e Y. Para retornar às
configurações iniciais do gráfico, clique com o botão esquerdo do mouse sobre o gráfico,
fazendo uma área retangular, de qualquer tamanho, no sentido contrário ao do zoom. (de
baixo para cima e da direita para a esquerda)
 2º Icone: é utilizado para provocar uma rotação espacial do gráfico. Clique sobre o
gráfico e movimente o mouse para a posição desejada.
 3º Icone: é utilizado para provocar um deslocamento X,Y do gráfico. Clique sobre o
gráfico e mova-o para horizontal ou vertical.
 4º Icone: é utilizado para provocar um zoom no gráfico. Para aumentar o zoom, clique
no centro do gráfico e arraste o mouse para fora, no sentido das bordas. Para retornar o zoom,
clique e faça o movimento contrário.
 5º Icone: é utilizado para aumentar ou diminuir a profundidade do gráfico. Clique no
gráfico e arraste o mouse. Dependendo do sentido, a profundidade irá ser aumentada ou
diminuída.
 6º Icone: é utilizado para alternar a apresentação do gráfico em 2D / 3D.
 7º Icone: clique neste icone para editar todas as propriedades do gráfico.
 8º Icone: visualizar ou imprimir o gráfico.
 9º Icone: copiar a imagem do gráfico para a área de transferência do Windows.
 10º Icone: usado para salvar o modelo do gráfico para arquivo.
 11º Icone: é utilizado para provocar uma animação de rotação, no caso de gráficos de
pizza.

Observação: As alterações realizadas no gráfico não são armazenadas. Após fechar a tela
que contém o gráfico e abri-la novamente, todas as alterações serão perdidas.

Propriedades do Gráfico Opções do Gráfico


O editor de gráficos foi desenhado para ajudá-lo a criar e modificar gráficos rapidamente.
Existem duas seções principais no editor de gráficos: Gráfico e Séries.

Gráfico
Você cria e definie vários parâmetros de visualização das séries:
Séries Você pode adicionar um variado conjunto de tipos de gráficos. Veja que a definição de um tipo
exibição de gráfico poderá ser alterada a qualquer momento, pois elas possuem várias
propriedades compatíveis entre si. As séries incompatíveis ficarão desabilitadas. Para adicionar
uma nova série ao seu gráfico, clique no botão" Inclui" nesta página, que mostrará a galeria de
gráficos disponível. Selecione o tipo desejado e pressione OK.
Geral 3D, dimensões do gráfico, margens, zoom e deslocamento, preview da impressão e exportação
Eixo Todas as definições dos eixos. Alguns parâmetros dependem das séries associadas.
Título Título e rodapé do gráfico
Legenda Indicação da legenda do gráfico. A formatação funciona em conjunto com as séries dos gráficos
Veja detalhes no tópico séries, a seguir.
Painel Propriedades de exibição dos painéis do gráfico. Cores, efeitos 3D, imagens de fundo, gradiente
borda.
Paginação Definição do número de pontos por gráfico para cada página.
Paredes Permite alterar o tamanho da parede de fundo da esquerda, direita e base do gráfico, assim co
as cores associadas.
3D Formatação da apresentação em gráficos tipo 3D.

Séries
A página de séries conterá parâmetros dependentes do tipo de séries criadas. Selecione a série
desejada no componente drop-down no topo do formulário de configuração de gráficos.
Formato Contém parâmetros específicos para a série selecionada.
Geral Formato de apresentação dos valores e associação à posição de
exibição nos eixos.
Marcas Formato das marcas do gráfico, como cor do fundo, fonte e borda,
estilo das marcações e setas.
Fonte de Dados Estabelece de onde os dados serão obtidos para a exibição do
gráfico. Geralmente provém de um DataSet.

Configuração de Textos Configuração de Textos

Página 33 de 478
 1º Icone: formata os parágrafos selecionados com marcadores.
 2º Icone: alinha os parágrafos selecionados à esquerda.
 3º Icone: centraliza os parágrafos selecionados.
 4º Icone: alinha os parágrafos selecionados à direita.
 5º Icone: formata o texto selecionado em negrito.
 6º Icone: formata o texto selecionado em itálico.
 7º Icone: formata o texto selecionado como sublinhado.
 8º Icone: formata o texto selecionado na cor indicada.
 9º Icone: altera a fonte do texto selecionado.
 10º Icone: altera o tamanho da fonte do texto selecionado.
 11º Icone: imprime todo o texto.
 A primeira guia configura o recuo esquerdo da primeira linha do parágrafo.
 A segunda guia configura o recuo esquerdo das linhas seguintes parágrafo.
Clique com o botão direito sobre o texto para que seja apresentado um menu suspenso sobre
várias operações do contexto. A primeira opção, "editar", abre um editor de textos arrojado
para permitir configurações mais detalhadas.

Observações: É possível configurar a fonte também clicando com o botão direito do mouse
sobre o texto selecionado.

Calculadora Calculadora

Ferramenta calculadora básica com as principais funções aritméticas.


Acione os comandos clicando o mouse sobre números e operadores ou utilize o teclado
numérico do computador.

Pesquisa Pesquisa
Fornece um meio rápido e prático para localizar registros.
Digite no campo em branco a palavra chave de localição. A primeira coluna do grid determina
o campo de pesquisa.
Pressione ENTER para confirmar a consulta e ESC para abandonar.
Para alterar o campo de pesquisa:
 clique no título de uma das colunas do grid;
 selecione-o no campo "pop-up" à direita.

Aumentando a performance da pesquisa


 Ao digitar uma nova palavra, você precisará obrigatoriamente pressionar F2 para que a
palavra digitada seja localizada.
 Outra forma de melhorar a performance de pesquisa, é desmarcar o botão "reordenar
registros", acessível também pela tecla F4. Quando este botão está ligado, toda vez que
você altera a ordem de pesquisa, de um campo para outro, a tabela precisa ser fechada e
aberta novamente com a nova ordenação. Em tabelas pequenas, este processo é rápido.
Porém, em tabelas comumente grandes, como o caso de materiais, o fechamento e
reabertura da tabela pode ser extremamente demorado. Desmarcando este botão, você
continuará podendo alterar o campo de pesquisa, porém, a ordem em que os registros se
encontram não será alterada, agilizando esta operação significativamente.

Filtrando registros
A tela de pesquisa possui um recurso para filtrar os registros por semelhança. Este filtro, além
de fornecer uma maneira bem flexível de localização, reduz o número de linhas de procura,
agilizando sua consulta.
Suponha que você esteja na tela de materiais e queira localizar um determinado rolamento.
Siga os passos a seguir:
 altere a ordenação para descrição;
 digite a palavra ROLAMENTO e pressione a tecla F3;
 todos os registros cuja palavra rolamento apareça na descrição (no início, meio ou fim da
descrição) serão filtrados;
 proceda da maneira usual para selecionar o registro desejado.
 Quando você abandonar a tela de pesquisa e retornar para a tela de cadastro, os registros
continuarão filtrados pelo critério fornecido. Para remover o filtro, acesse a tela de pesquisa,
limpe o campo de entrada do filtro e pressione F3.

Pesquisa de Chaves Estrangeiras Pesquisa de chaves estrangeiras


Fornece um meio rápido e prático para localizar registros em outras tabelas, relacionando-os
com a tabela corrente.
A primeira coluna da tabela é conhecida como campo chave da pesquisa. Tanto o filtro quanto
a pesquisa percorrerá por esta coluna. Para alterá-la, clique com o mouse sobre o título de
outra coluna da tabela ou selecione-a através do menu drop-down, abaixo dos botões de filtro.
 Campo de filtro: especifique o filtro dos dados para pesquisa. Inicialmente, este campo
contém o valor< VAZIO> indicando que o filtro não apresentará nenhum valor. Para alterar
o filtro, digite um novo valor neste campo e pressione ENTER. Para mostrar todos os dados
de uma tabela (remover o filtro), deixe este campo em branco, pressionando a tecla DELETE.
Entretanto, em tabelas muito grandes, você deve sempre especificar algum filtro para
agilizar sua consulta.
 Campo de Pesquisa: digite a palavra chave para a localização acelerada do registro
pesquisado.
Pressione ENTER para confirmar a consulta e ESC para abandonar.

Observação: Para pesquisas em entidades que possuem o campo ATIVO, serão exibidos
apenas registros cujo valor do campo ATIVO seja 'S' (Sim).

Pesquisa po Agrupamento Pesquisa por Agrupamento


Fornece um meio rápido e prático para localizar registros de acordo com a árvode de
agrupamentos da tabela relacionada a tabela corrente.
Pode-se exibir o campo Código e a Descrição da tabela relacionada e filtrar os registros da filial
corrente. Caso deseje utilizar apenas esta pesquisa, ative a opção Sempre exibir esta tela
ao clicar no botão de pesquisa ou pressionar F2.
Clique no botão OK para confirmar a consulta ou ESC para abandonar.

Teclas Especiais Teclas Especiais


Veja também o tópico operações básicas/edição para maiores detalhes.
F1 Exibe ajuda sensível ao contexto
CTRL+F1 Exibe ajuda configurada do usuário
CTRL+F2 (configurar pesquisa) Permite configurar as colunas que serão exibidos em
uma pesquisa de campos relacionados.
CTRL+SHIFT+F1 Edita a ajuda configurada do usuário
CTRL+I (Texto em Itálico) Adiciona propridade Itálico ao texto selecionado, em
campos de Observações (Memo).
CTRL+N (Texto em Negrito) Adiciona propridade Negrito ao texto selecionado, em
campos de Observações (Memo).
CTRL+S (Texto Sublinhado) Adiciona propridade Sublinhado ao texto selecionado, em

Página 35 de 478
campos de Observações (Memo).
F2 (campos de referência) Exibe tela de pesquisa
F2 (tela de pesquisa) Pesquisa chave digitada, se a busca não for automática
SHIFT + F2 (tela de pesquisa por Pesquisa chave digitada, mostrando uma árvore de
grupos) agrupamentos
F3 Filtra ou remove filtro da tela de pesquisa
F4 (campos de referência) Ativa tela de cadastramento da tabela de referência ao
campo
F4 (tela de pesquisa) Reordena ou não a tabela pela chave de pesquisa
F5 (tela de O.S.) Sugere um novo número para a O.S. no intervalo de
numeração automática
ALT+F5 (tela de O.S.) Sugere um novo número para a O.S. no intervalo de
corretivas
F5 (tela de relatórios / SQL) Executa o SQL atual
F9 Realiza um refresh na tabela referenciada pelo campo
pop-up
F10 Abre a tela de configuração de campos do usuário.
F12 Avança para próxima janela aberta
F11 Volta para janela aberta anterior.

Exportação/Importação de Tabelas Exportação/Importação de Tabelas


Dica: Programa descontinuado. Import.exe Deve ser utilizado ao invés deste programa.

O programa de Exportação/Importação de tabelas (export.exe) é utilizado para exportar as


tabelas do Engeman® para outros formatos de arquivo:

 Paradox
 Foxpro
 Dbase
 Texto

Fornece uma maneira prática e fácil de transportar a base de dados do Engeman® para outras
plataformas. Por exemplo, pode-se utilizar a exportação da base Oracle para Paradox e depois
importá-la para o SQL-Server.
Como utilizar
1. Selecione o diretório de exportação/importação. Todas as tabelas selecionadas serão
copiadas para este diretório (exportação) ou lidas a partir deste diretório (importação).
2. Selecione as tabelas disponíveis do sistema, movendo-as para a coluna tabelas
selecionadas. Arraste-a para outra coluna . Se preferir, selecione mais de uma tabela e clique
no botão '>' para mover todas as tabelas selecionadas. Marque as tabelas selecionadas, caso
deseja excluir seu conteúdo antes da importação.
3. Escolha o tipo de dados (paradox, foxpro, dbase ou texto). Caso tenha selecionado o
tipo de dados texto, escolha o delimitador (caractere que delimitará cada campo), o separador
(caractere que separará os campos) e o formato de data a ser exportado (d=dia, m=mês,
y=ano). Veja mais detalhes sobre operações sobre tabelas de texto abaixo.
4. Clique no botão "exportar" para exportar as tabelas selecionadas para o diretório de
exportação. As tabelas existentes serão sobreescrevidas; ou clique no botão "importar" para
importar as tabelas selecionadas a partir do diretório de importação.
5. A operação poderá ser cancelada, a qualquer momento, clicando-se sobre o botão
"cancelar".
6. À medida que as tabelas forem sendo exportadas/importadas, elas serão removidas da
coluna "tabelas selecionadas".

Observações:
 A lista de tabelas disponíveis e selecionadas está classificada em ordem alfabética, para
facilitar sua localização.
 A operação de exportação exporta as tabelas na mesma ordem da lista de "tabelas
selecionadas"
 A operação de importação importa as tabelas de acordo com sua hierarquia, independente
da ordem alfabética. Exemplo: se as tabelas FUNC (funcionários) e DOCFUN (documentos
do funcionário) foram selecionadas, func será importada primeiro, depois docfun, porque
docfun depende das informações da tabela func. Seguindo este mesmo raciocínio, para
importar a tabela docfun, a tabela func deverá ser previamente preenchida ou
importada (ou já se encontrar com os dados de funcionários referentes à documentação a
ser importada), senão a operação não será bem sucedida.

Tabelas Texto
A exportação/importação de tabelas tipo texto sempre trabalhará com textos delimitados por
um determinado caractere e separados por outro. Exportação de arquivos textos com tamanho
pré-definido não é suportada.
Somente campos do tipo caractere (string), número e data serão exportados/importados.
Campos do tipo memo e binário não são suportados.
Ao exportar uma tabela texto, serão criados dois arquivos, um com extensão TXT com o
conteúdo da tabela exportada e outro, com o mesmo nome, contendo o schema de
exportação, com extensão SCH.
Para importar uma tabela texto, os dois arquivos (TXT e SCH) devem existir no diretório de
importação.
Exemplo de exportação da tabela CAUSA, formato TXT.:

CAUSA.SCH CAUSA.TXT
[CAUSA] "1","E-001","FALTA DE ISOLAMENTO"
FILETYPE = VARYING " 2","E-002","CURTO CIRCUITO"
DELIMITER =" " 3","E-003","MAU CONTATO"
SEPARATOR = , " 4","E-004","TRANSIENTES"
Field1 = CODCAU,FLOAT,10,0,0 " 5","E-006","DESCARGA ATMOSFÉRICA"
Field2 = TAG,CHAR,20,0,10 " 6","E-007","FALTA DE FASE"
Field3 = DESCRICAO,CHAR,100,0,30 " 7","E-008","LIGAÇÕES ELÉTRICAS ERRADAS"

FILETYPE sempre igual a VARYING


DELIMITER caractere delimitador de campo
SEPARATOR caractere separador de campos
FIELDn Nome do campo, tipo do campo tamanho,
decimais, offset

TIPO DO CAMPO FLOAT = campos numéricos


CHAR = campos texto
TIMESTAMP = campos data e hora
TAMANHO tamanho utilizado pelo campo
DECIMAIS casas decimais (somente float)
OFFSET posição relativa do campo comparada ao tamanho
ocupado por campos anteriores.

Atualização Automática dos Terminais Atualização Automática dos


Terminais
Esta ferramenta foi desenvolvida para manter todos os terminais de acesso ao Engeman®
sempre atualizados.
Dica: Uma nova ferramenta de atualização está atualmente em desenvolvimento, permitindo
atualizações dos terminais sem o uso deste programa

Página 37 de 478
A atualização dos terminais de acesso ao Engeman® deve ser realizada periodicamente,
mantendo-se sempre a versão mais atual divulgada no endereço
http://www.engeman.com.br. A cada nova versão, o ENGEMAN.EXE deve ser atualizado. A
ajuda do sistema deve ser atualizada on-line por este sistema.

Em um ambiente aonde existem muitos terminais de acesso, a atualização manual dos


arquivos pode ser um problema. Muitos usuários deixam de atualizar novas versões
justamente pela trabalhosa tarefa de copiar os arquivos para cada estação. Outro problema
pode ocorrer quando o administrador de sistemas estiver atualizando as versões pela rede e
algum dos terminais estiver desligado no momento. Ele terá que esperar o terminal estar
disponível para completar a tarefa e, neste momento, o usuário já poderá estar operando o
sistema com uma versão mais antiga e diferente dos demais. Sistemas operacionais como o
Microsoft Windows NT possuem tarefas para automatizar esta tarefa, de acordo com o logon
dos usuários.

Para resolver esta situação, foi criado um novo aplicativo para o Engeman®. Ele funciona de
forma transparente para os usuários, sem provocar nenhuma perda de performance no
sistema. Sua instalação inicial é fácil e rápida. Veja o diagrama abaixo como ele funciona:
1) Copie os programas ENGVER.EXE e ENGVER.INI para o diretório de instalação do
Engeman® nas estações.
2) Crie no servidor (não necessariamente o servidor de banco de dados) uma pasta que pode
ser acessada pelas estações. O compartilhamento poderá ser de somente leitura. Sempre
que baixar novas versões da internet, atualize os arquivos na pasta do servidor, como
mostrado abaixo.
3) Ao invés de criar atalhos para o ENGEMAN.EXE nas estações, altere o atalho para acessar o
programa ENGVER.EXE
4) Configure o arquivo ENGVER.INI para que ele localize o diretório do servidor.
5) Sempre que o usuário executar o programa ENGVER.EXE, ele fará uma busca no servidor
por versões mais atualizadas dos três programas básicos do ENGEMAN®. Caso
existamatualizações, ele fará a cópia do servidor antes de chamar o programa
ENGEMAN.EXE

Para usuários que utilizam o Palm Top será verificado se existe O.S a ser importada para o
Engeman. Caso haja, a atualização será abortada. Neste caso basta importar a O.S que estiver
no palm Top para o Engeman e em seguida realizar a atualização.

Desta forma, você estará garantido que todas as estações terão sempre a mesma versão do
Engeman® e sempre estarão atualizadas com a versão mais atual.

Exemplos de configurações do arquivo ENGVER.INI:


Cada estação de acesso pode ter uma configuração do arquivo INI.
No caso do compartilhamento do servidor for no drive C: de nome C,
[Atualizacao Engeman]
diretorio=\\server\c\engcs

No caso do compartilhamento do servidor for no próprio diretório C:\Engcs, de nome


engeman,
[Atualizacao Engeman]
diretorio=\\server\engeman

Você ainda pode definir uma unidade mapeada para as estações acessarem diretamente a
pasta de atualizações no servidor. Considere que a pasta do servidor c:\engcs tenha sido
mapeada como E: na estação,
[Atualizacao Engeman]
diretorio=E:

Documentos Documentos
Esta tela é responsável pelo cadastramento de todos os documentos vinculados a uma
determinada entidade.
Operações da tela:
 Descrição: título do documento.
 Arquivo: nome e caminho do arquivo digital referente ao documento. Pressione F2 ou clique
no botão à direita do campo para localizar o arquivo.
 Tipo de Documento: informa o tipo de software utilizado para abrir o arquivo especificado.
Este campo pode ter função somente informativa ou, no caso de arquivos que não possuem
ativação automática, pode designar o programa que será ativado para visualizar o arquivo.
 Para cadastrar novos tipos de documentos, tecle F4. Veja o tópico tipos de documentos para
maiores informações.
 Ícone para visualização de documentos: permite visualizar o documento selecionado. Ao
selecioná-lo, o software relacionado será ativado, abrindo o arquivo automaticamente.

Estrutura de outra Operação Copiar a Estrutura de outra Aplicação


Esta função permite agilizar o trabalho de digitação, quando duas ou mais aplicações têm a
estrutura semelhante, copiando a estrutura e todas as tabelas relacionadas de uma para outra.
Para que seja possível efetuar esta operação, a tabela de aplicação deve estar no modo de
inserção e com o seu código preenchido.
Operações da tela:
 Utilize os campos em branco acima do código e descrição da aplicação para localizar a
aplicação de onde devem ser copiados os dados. Se preferir, localize-a através da
movimentação do grid abaixo.
 Após escolher a aplicação origem, selecione quais as estruturas deverão fazer parte da
cópia: relações com materiais, relação com produtos, relação com documentos e/ou pontos
de controle.
 Clique no botão OK para executar a operação. Clique no botão CANCELAR para abortar a
operação.

Observação:
 Após a execução desta rotina, todas as alterações não aplicadas ao banco de dados
serão aplicadas instantaneamente e a nova estrutura da aplicação destino será criada.

Estrutura de Setor Copiar a Estrutura de outro Setor Executante


No topo da tela em destaque, estão informados os códigos e descrições dos Setores
Executantes de origem e destino.

Página 39 de 478
Marque todas as tabelas relacionadas do Setor Executante de origem que deverão ser
replicadas para o Setor Executante de destino.
Para abortar a operação, pressione o botão Cancelar. Para confirmar, pressione o botão OK.

Estrutura de outro plano Copiar a Estrutura de outro Plano


No topo da tela em destaque, estão informados os códigos e descrições dos planos origem e
destino.
Marque todas as tabelas relacionadas do plano origem que deverão ser replicadas para o plano
destino.
Para abortar a operação, pressione o botão Cancelar. Para confirmar, pressione o botão OK.

Historico de Localização de Aplicação Histórico de Localização da


Aplicação
Apresenta um histórico das alterações feitas na localização e agrupamentos físico e de
interferência, podendo filtrar qual destes tipos de agrupamento deseja visualizar clicando no
botão "Mostrar Histórico de Mudanças de..." . Esta tela está disponível a partir das tela
Aplicação da Manutenção e Localização da Aplicação.
Todas as alterações realizadas no banco de dados serão registradas, independente se tiverem
sido feitas pelo Engeman® ou por SQL.
Operações da tela
 Informe o período de datas que ocorreram as alterações.
 Clique no botão "mostrar". Será construída uma árvore mostrando as alterações feitas
na aplicação, agrupadas pela data da alteração.

OBSERVAÇÃO: Aparecerão na pesquisa somente as alterações feitas a partir da versão 4.47.

Histórico de Aplicação Histórico de Ordem de Serviço


Apresenta um histórico resumido das O.S. geradas para o registro corrente. Esta tela está
disponível a partir das telas de aplicação da manutenção, clientes, planos de manutenção,
funcionários e localização de Aplicação.
Operações da tela
 Informe o período de datas programadas das O.S.
 Selecione, se necessário, níveis de agrupamento para exibição das O.S. Não é obrigatória
esta informação. Para alterar a ordem dos agrupamentos, quando selecionados mais de um,
arraste-os com o mouse na ordem desejada.

 Clique no botão "Mostrar". Será construída uma árvore, de acordo com o agrupamento
informado. Para ver os detalhes de cada O.S., expanda os agrupamentos. Para ver os
detalhes dos funcionários ou serviços da O.S., dê um duplo clique no agrupamento
"funcionários" ou "Serviços". Para ver toda a O.S., clique com o botão direito do mouse
sobre o número da O.S. e selecione a opção "abrir tela da O.S." (esta opção só estará
disponível para usuários que têm o nível de acesso de abrir a tela de O.S.)

 Após a consulta, é possível imprimir a árvore gerada em modo texto.

Observações:

 Ao clicar no botão "Mostrar", será iniciada a pesquisa das O.S.'s no banco de dados para o
período escolhido. Esta pesquisa pode demorar um certo tempo dependendo do período
escolhido para consulta e da quantidade de O.S.'s dentro deste período. Caso deseje
interromper a pesquisa após clicar no botão "Mostrar", basta clicar no botão vermelho
"Parar" para que o processo seja interrompido.

Histórico de Geração Histórico de Geração de Ordem de Serviço


Apresenta um histórico de todos os usuários e opções utilizadas na tela de geração de O.S.
para a empresa corrente, ordenada pela data da operação.
 Todas as operações de geração de O.S., exclusão de O.S. simuladas e conversão de O.S.
simulada para real serão gravadas neste histórico.
 Todos os filtros utilizados durante a geração serão armazenados no histórico.
 Para copiar os filtros usados de um histórico para a tela de geração, dê um duplo clique
sobre a linha do histórico ou clique no botão
 Para excluir o histórico corrente ou todos os históricos gravados, clique no botão .
Pressione o botão sim para excluir o registro corrente, cancelar para não excluir nenhum
registro ou todos para excluir todos os históricos de geração.

Coleta Rápida - ACUMULATIVA Coleta Rápida - ACUMULATIVA

Esta tela é utilizada para registrar coletas acumulativas de uma forma mais rápida e eficiente,
sem a necessidade de abrir o cadastro da aplicação e entrar na tela de ponto de controle

Página 41 de 478
acumulativo.

Normalmente ela é usada nas operações de movimentação visual de aplicações. Quando é


exibida, o sistema já traz os pontos de controle da aplicação em um grid, mostrando a data e a
leitura da última coleta. Depois de selecionar o ponto de controle, informe apenas a Data da
Coleta e a Leitura do ponto de controle nesta data. O registro será gravado respeitando as
mesmas consistências da tela de coleta do sistema.

OBS.: se esta tela for exibida no momento de uma troca de posição entre 2 aplicações de um
modelo visual, mais 2 campos ficarão visíveis para que o histórico de movimentação fique
completo. Em outras palavras, uma troca de posição entre 2 aplicações significa tecnicamente
retirar as 2 aplicações e montá-las novamente em posições trocadas. Consequentemente, esta
operação gera implicitamente no sistema 2 operações de retirada e 2 de montagem. E para
que o histórico fique completo, é necessário informar o Custo Total do Serviço, que será
dividido entre as 2 aplicações em partes iguais. Consulte o histórico das 2 aplicações após a
operação.

Coleta Rápida - TENDÊNCIA Coleta Rápida - TENDÊNCIA

Esta tela é utilizada para registrar coletas de tendência de uma forma mais rápida e eficiente,
sem a necessidade de abrir o cadastro da aplicação e entrar na tela de ponto de controle de
tendência de variáveis.

Normalmente ela é usada nas operações de movimentação visual de aplicações. Quando é


exibida, o sistema já traz os pontos de controle da aplicação em um grid, mostrando a data e a
leitura da última coleta. Depois de selecionar o ponto de controle, informe apenas a Data da
Coleta e a Leitura do ponto de controle nesta data. O registro será gravado respeitando as
mesmas consistências da tela de coleta do sistema.
Personalização do Sistema Personalização do Sistema
Barra de Ferramentas
Configurações Gerais
Menu Personalizado
Preferências do Usuário
Personalização das Máscaras
Personalização dos Agrupamentos

Barra de Ferramentas Barra de Ferramentas


A barra de ferramentas do sistema pode ser configurada para apresentar suas operações em
forma de ícones ou em forma de menus. Pra efetuar esta configuração, veja o tópico
personalização do usuário.

Clicando com o botão auxiliar do mouse (botão direito)fnovatabela.htm sobre a barra de


ferramentas, aparecerá um menu flutuante, permitindo ao usuário acessar a tela de
preferências ou configurar os botões da barra de ferramentas.

Quando selecionada a opção de configuração da barra de ferramentas, uma caixa de diálogo


será apresentada. Para adicionar novos botões, arraste-os para a barra de ferramentas. Para
excluir, arraste-os para fora da barra de ferramentas. Após terem sido realizadas todas as
alterações , feche a caixa de configuração da barra de ferramentas.Sempre que for alterada, a
barra de ferramentas manterá sua aparência permanente ate que seja alterada novamente.

Os ícones de barra de ferramentas referentes aos relatórios personalizados, programas


externos e telas personalizadas são alteradas nas telas de origem.Todos estes ícones devem
possuir tamanho de 16X16 pixels. Se forem maiores que isso, serão ajustados para estas
dimensões.

Menu Personalizado Personalização do Menu Principal


Esta tela é responsável pela organização do menu Principal. Através desta funcionalidade,
todas as telas do sistema podem ser acessadas diretamente do menu do sistema de acordo
com a ordem informada no momento da personalização.
As Telas acessadas com freqüência devem ser configuradas de forma a serem apresentadas
neste menu, facilitando seu acesso rapidamente.
Além de permitir a configuração de acesso às telas do sistema rapidamente, de uma forma
fácil e intuitiva, esta tela também permite que sejam criados sub-níveis de agrupamento.
Como configurar:
1) Crie os agrupamentos, clicando no botão ou pressionando CTRL + Seta para Baixo,
ou pressionando a tecla INSERT. Um novo item aparecerá, como mostrado na ilustração
acima. Digite um nome significativo para o agrupamento. Para criar sub-menus a partir de
um item, clique no botão ou pressione CTRL + Seta para Direita. Da mesma forma
anterior, dê um nome significativo ao seu menu criado.
2) Após criar todo o agrupamento desejado, arraste as Telas da direita sobre o item de menu
destino. Somente um ítem poderá ser arrastado por vez.
3) Para alterar os nomes de itens de menu já criados, pressione a tecla F2 sobre o item ou
pressione o botão editar da barra de ferramentas.
4) Para gravar suas configurações, clique no botão salvar, na barra de ferramentas, ou
pressione CTRL+B.
5) Para alterar a hierarquia de um item de menu, clique no item e arraste-o à direita do novo
item. Desta forma, ele será inserido como um" filho" do menu escolhido.
6) Após Gravar as configurações do Menu Personalizado e sair dessa tela o sistema ajustará
automaticamente o novo Menu sobre o Menu Principal. Más é importante que nas

Página 43 de 478
preferências do usuário, esteja marcada a opção de Mostrar Menu Personalizado.

Observações:
Todos os itens podem ter sua localização alterada, bastando para isto clicar sobre ele, arrastar
e soltar na nova localização desejada.
Os itens de Menu também podem ser personalizados diretamente, apenas arrastando-os para
a esquerda, sem criar itens de menu.
Os relatórios customizados para serem apresentados no Personalizado do Menu Principal
devem ser configurados se for necessário sua visualização no novo Menu Personalizado.
Pode-se obter barras de separação entre os ítens de Menu, sem a criação de sub-níveis de
menus. Para isso, insira um novo item de menu e coloque na sua descrição o sinal de menos
"-" (sem as aspas). Automaticamente o ícone do menu será alterado para uma barra
horizontal, indicado que ele terá a função de um separador de menus.
A cópia da personalização dos menus para outros usuários pode ser realizada através do botão
"Enviar Personalização de Menus para outros usuários", localizado na barra de ferramentas na
parte superior da tela.

Personalização das Máscaras Personalização das Máscaras


Nesta tela, informe as máscaras dos códigos secundários. Existem duas colunas para
configuração. A primeira contém a codificação das tabelas que dependem da empresa, ou
seja, possibilita configurações diferentes para cada empresa. A segunda coluna contém os
códigos das tabelas independentes, ou seja, a configuração afetará todas as empresas
cadastradas.
Para configurar a máscara, digite em cada campo o padrão de entrada de dados. Por exemplo,
para configurar o código da aplicação para aceitar 3 letras, seguidas de 4 dígitos, digite:>
LLL-9999. Veja a tabela abaixo para verificas as possíveis formatações de máscaras de edição.
Use máscaras para restringir os caracteres que o usuário informa nos campos dos códigos
secundários. Se o usuário tentar entrar com um caractere que não seja válido, o caractere não
será aceito. A validação realizada pela máscara é acionada caractere por caractere.
A máscara consiste em três campos separados por ponto e vírgula. A primeira parte da
máscara é a máscara propriamente dita. A segunda parte determina se os caracteres serão
literalmente incluídos como parte dos dados. A terceira parte da máscara é o caractere usado
para representar os caracteres não informados do campo.
Caracteres Especiais de Formatação da Máscara
Caracter Significado
! Se este caractere for utilizado na máscara, os caracteres opcionais serão
representados como espaços em branco. Caso contrário, os caracteres
opcionais serão truncados do campo.
> Todos os caracteres seguintes a este serão convertidos para maiúsculas,
até
o final do campo ou até que se encontre o caractere <.
< Todos os caracteres seguintes a este serão convertidos para minúsculas,
até
o final do campo ou até que se encontre o caractere >.
<> Se estes dois caracteres forem colocados juntos na máscara, a entrada de
dados no campo será exatamente igual ao que o usuário digitar, maiúsculas
ou minúsculas.
\ O caracter seguido por \ será literalmente colocado na máscara. Use este
caractere quando for necessário colocar qualquer um dos caracteres
especiais de formatação de máscaras em sua máscara.
L (maiúsculo) Obriga a digitação de caracteres do alfabeto (A-Z, a-z) somente nesta
posição.
l (minúsculo) Permite a digitação de caracteres do alfabeto mas sem obrigação.
A (maiúsculo) Obriga a digitação de caracteres alfanuméricos (A-Z, a-z, 0-9) somente
nesta posição.
a (minúsculo) Permite a digitação de caracteres alfanuméricos (A-Z, a-z, 0-9) somente
nesta posição, mas sem obrigação.
C (maiúsculo) Obriga a digitação de qualquer caractere nesta posição.
c (minúsculo) Permite a digitação de qualquer caractere nesta posição, mas sem
obrigação.
0 (zero) Obriga a digitação de um número nesta posição.
9 Permite a digitação de um número nesta posição, mas sem obrigação.
# Permite a digitação de um número ou sinais de + ou - , mas sem obrigação.
: Utilizado para separar horas, minutos e segundos. Se o caractere
configurado no painel de controle do Windows for diferente deste, utilize-o
ao invés de :
/ Utilizado para separar dias, meses e anos. Se o caractere configurado no
painel de controle do Windows for diferente deste, utilize-o ao invés de /
- Utilizado para inserir espaços em branco no campo. Quando utilizado, o
cursor pulará a posição marcada por este caractere.
; Utilizado para separar os três campos da máscara.

Qualquer caractere que seja colocado no primeiro campo da máscara que não se apresenta na
tabela acima, será considerado literalmente. Serão inseridos automaticamente na máscara e o
cursor pulará sua posição durante a digitação.
O segundo campo da máscara é um único caractere que informa se os caracteres literais serão
armazenados como conteúdo dos campos. Use o número 0 (zero) para não armazenar
caracteres literais e 1 (um) para armazenar os caracteres literais. Exemplo: considere as
máscaras para telefone abaixo:

Máscara Conteúdo do campo Tamanho


(999)-9999-9999;1 (999)-9999-9999 15 caracteres armazenados
(999)-9999-9999;0 99999999999 11 caracteres armazenados

O terceiro campo da máscara é o caractere que apresenta como "dígito não informado" na
máscara. Este caractere apresenta-se somente como forma de visualização e não é
armazenado no campo.
Exemplo: A máscara abaixo apareceria desta forma para o usuário:

Máscara Visão do Usuário


(999)-9999-9999;1;_ (___)-____-____
(999)-9999-9999;1; ( )- -

Apagando o conteúdo do campo de máscara, remove a máscara

Funcionalidade do caractere (;)


A máscara de código é dividida em três campos:
Exemplo:
(999)-9999-9999;0;X

 O primeiro campo da máscara (999)-9999-9999;0;X é utilizado para definir


como será apresentado o código na tela.

 O segundo campo da máscara (999)-9999-9999;0;X poderá receber os valores 1 ou


0 que definem como será armazenado o registro na tabela.

Página 45 de 478
 O terceiro campo da máscara (999)-9999-9999;0;X é utilizado para exibir o
caracter selecionado nos espaços vazios da máscara. Este caracter não é
considerado como valor no banco de dados.

As duas últimas partes são opcionais.

Ao inserir um novo registro o código será apresentado da seguinte forma, devido ao terceiro
campo da máscara de código.

Após inserido valor o código será apresentado na tela da seguinte forma, devido ao segundo
campo da máscara. Porem no banco de dados será armazenado os valores excluindo os
caracteres especiais ( ) e - .

Funcionalidade do caractere (!)

Exemplo:
!ccc

Ao cadastrar um registro com o código ABC o sistema irá gravar o mesmo conforme digitado.
Da mesma forma se cadastrarmos o registro _BC o sistema irá considerar o primeiro caracter
como espaço.
!
Se a mascara não possuir o caracter o registro será salvo como BC_ desconsiderando
assim o espaço vazio no inicio do código.

Numeração Automática da Ordem de serviço


No campo "ordem de serviço (numeração automática)", informe o número limite para que o
sistema calcule automaticamente os números gerados. Se este número for positivo, a
numeração será maior ou igual a ele. Se o número for negativo, a numeração será crescente,
menor que este número, a partir de 1. Lembre-se de colocar o limite de acordo com a máscara
da O.S., respeitando o número de dígitos informados.
Campos com preenchimento automático de zeros à esquerda
Se a máscara de um código for formada somente pelo caracter 9 (número sem obrigação), o
sistema preencherá automaticamente os zeros à esquerda do código. Assim, se o código do
Setor Executante for 999, ao ser digitado 2 (na tela de cadastramento ou na consulta de chave
estrangeira), o campo será convertido para 002.

Personalização dos Agrupamentos Personalização dos Agrupamentos


Os agrupamentos são formas de relacionar hierarquicamente algumas das tabelas do sistema.
Esta tela, semelhante à tela de personalização das máscaras de códigos secundários, também
se divide em duas colunas. A primeira coluna destina-se às tabelas dependentes da empresa e
a segunda coluna, das tabelas independentes.
Para configurar a forma como o agrupamento será organizado, clique sobre o ícone de
agrupamento, localizado à direita de cada campo. O campo não pode ser alterado diretamente,
para evitar erros de digitação.
É permitido configurar até 9 (nove) níveis hierárquicos do agrupamento. Selecione o número
de casas de cada agrupamento e informe se ele vai ser ou não preenchido por zeros. A forma
do campo preenchido com zeros assume o valor 0 (zero) e aqueles que não serão preenchidos
por zero, assume X.
Exemplo: um agrupamento que possui 2 dígitos para o primeiro nível, preenchendo os dígitos
não informados com zero e 3 dígitos para o segundo nível, sem preenchê-los com zero, será:
00.XXX.
Exemplos deste agrupamento:

01. Primeiro Nível - primeiro elemento


01.1. Segundo Nível - primeiro subelemento
01.2. Segundo Nível - segundo subelemento
... ...
01.10 Segundo Nível - décimo - subelemento
02. Primeiro Nível - segundo elemento

Página 47 de 478
Menus do Sistema Menus do Sistema

Arquivo
Tabelas
Cadastro
Processos
Janelas
Ajuda

Arquivo Arquivo
Cadastro de Empresas
Cadastro de Usuários
Preferências do Usuário
Configurações Gerais
Alterar Empresa
Alterar Usuário
Alterar Senha
Calendário
Gerenciador de E-mails
Catálago de Endereço
femailEnviar Mensagem

Cadastro de Empresas Cadastro de Empresas


Código, descrição e filiais das empresas do sistema.
As empresas cadastradas poderão ser componentes de uma corporação.
Cada empresa poderá ter várias filiais, sendo que o cadastro de pelo menos uma filial por
empresa é obrigatório. Não é permitido que seja excluída uma filial quando esta for a única.
Durante a operação do sistema, o usuário poderá alterar a empresa e filial de referência.
As entidades apresentadas no MENU CADASTROS, são discriminadas por empresas. As
entidades apresentadas no MENU TABELAS, são comuns a todas as empresas.
Listagem Resumida de O.S.: possibilita a seleção do modelo de formulário para emissão da
listagem resumida de O.S. para cada empresa, após a operação de Geração de O.S. Este
modelo de formulário deve estar previamente cadastrado na tela de relatórios.
Relatórios da O.S.: possibilita a seleção de modelos de formulários para emissão de listagem
de O.S., dentro da tela de cadastramento de O.S., de acordo com a empresa para a qual foi
emitida. Igual ao anterior, os formulários desta também devem estar previamente cadastrados
na tela de relatórios. Se forem informados mais de um relatório, ao pressionar o botão de
visualização, o sistema irá questionar qual relatório deverá ser utilizado.
Logotipo para Relatórios: cadastre uma figura em formato gif, jpeg, bitmap ou metafile para
ser usada como padrão nos relatórios do sistema.

Cadastro de Usuários Cadastro de Usuários


Refere-se ao cadastro do nome do usuário com sua respectiva senha, controle de acesso,
relacionamento com cliente, com fornecedor, com funcionário e preferências de operação do
sistema.

Nome do Usuário
É o nome que será utilizado para o login no sistema. Após o cadastro do usuário, este nome
não pode ser alterado. É recomendado que este nome não ultrapasse 30 caracteres.
Nome Alternativo
É um nome alternativo para o usuário realizar o login no sistema. Caso o usuário necessite
alterar o seu nome de login, deverá escolher o seu usuário e preencher o seu novo nome neste
campo, uma vez que o campo "Nome" não permite alterações.

Senha do Usuário
A senha do usuário pode expirar se o número de dias informado no referido campo for maior
que 0 (zero). Se for igual a zero, a senha nunca expira. Um usuário com a senha expirada
pode cadastrar uma nova senha com ou sem a permissão do adminsitrador, de acordo com a
opção marcada no campo correspondente. Para maior segurança, exija que o usuário altere
sua senha periodicamente. Para isso, existe uma outra opção que, se marcada, obriga o
usuário a alterar sua senha no próximo login.
aior segurança, exija que o usuário altere sua senha periodicamente. Para isso, existe uma
outra opção que, se marcada, obriga o usuário a alterar sua senha no próximo login.

Grupo de Usuários
Ao cadastrar um novo usuário, selecione se o tipo dele será usuário ou grupo. O grupo de
usuário oferece uma forma prática para definição de um perfil para ser associado a vários
usuários. Sempre que as configurações de um grupo forem alteradas, todos os usuários
petencentes a este grupo serão afetados. As configurações do grupo incluem:
 Permissão de acesso às telas do sistema
 Permissão de acesso aos relatórios
 Permissão de acesso aos campos e telas personalizadas
 Layout das telas
Algumas configurações do usuário, como personalização da barra de ferramentas, atalhos do
teclado e configurações do desktop continuam sendo efetuadas individualmente.
Observação: Um usuário cadastrado como grupo também pode efetuar logon no sistema.
Utilize esta operação para alterar o layout das telas do grupo.

Timeout
Existem duas configurações do usuário que podem provocar o encerramento do sistema
automaticamente.
TimeOut por tempo de inatividade: Informe um tempo em minutos que o usuário pode
ficar sem manipular o sistema antes do Engeman provocar uma autodesconexão.
Disponibilidade de Uso: Indique uma escala para a qual o usuário pode utilizar o sistema.
Para cada dia da semana, informe os horários inicial e final de uso. Se o usuário estiver
utilizando o sistema e o tempo de disponibilidade atingir o limite, o sistema será
automaticamente encerrado. Para informar mais de um horário inicial e final para o mesmo dia
da semana, insira um novo registro e repita o nome do dia da semana com o horário diferente.
Para permitir que o usuário possa utilizar o sistema durante todo o dia, informe o horário
inicial e final iguais a 00:00, ou de 00:00 às 23:59.
Em ambos os casos, o usuário poderá ter as predefinições de timeout exclusivas ou do grupo
ao qual ele pertence. Por padrão, o sistema irá utilizar as configurações do grupo. Para utilizar
as predefinições do usuário, mesmo que ele pertença a um grupo, marque a opção ignorar
timeouts do grupo.
Para copiar as disponibilidades de uso de um usuário para outro(s), basta utilizar o botão
localizado na guia "Disponibilidade de Uso", selecionando o(s) usuário(s) desejado(s) após
clicar no botão.

Usuários Master
O arquivo de registro do sistema contém informações de quantos usuários master podem estar
logados simultaneamente. Os usuários que serão master poderão ser escolhidos livremente

Página 49 de 478
desde que não ultrapasse o limite permitido.
Relacionamento entre Usuário (Login) e Cliente
Vinculando-se um cliente a um usuário, se estiver habilitada a opção de acesso "Visualizar
somente cadastros e pesquisas do cliente relacionado ao usuário" do grupo de acesso
"Permissões Gerais", o sistema irá filtrar todas as pesquisas que envolvem clientes. Nesta
situação, as pesquisas somente mostrarão o cliente vinculado. Também serão filtradas nesta
opção as telas de Solicitação de Serviços, cadastro de aplicações e Ordens de Serviço.
Relacionamento entre Usuário (Login) e Fornecedor
Vinculando-se um fornecedor a um usuário, se estiver habilitada a opção de acesso "Visualizar
somente cadastros e pesquisas do fornecedor relacionado ao usuário" do grupo de acesso
"Permissões Gerais", o sistema irá filtrar todas as pesquisas que envolvem fornecedores. Nesta
situação, as pesquisas somente mostrarão o fornecedor vinculado. Também serão filtradas
nesta opção as telas de Solicitação de Serviços, cadastro de aplicações e Ordens de Serviço.
Relacionamento entre Usuário (Login) e Funcionário
Esta associação será útil em vários pontos do sistema. Na geração de O.S., o funcionário
associado a um usuário será automaticamente cadastrado como "solicitante" da O.S. Na
solicitação de serviços (via web ou cliente/servidor), o usuário solicitante deverá
obrigatoriamente possuir uma associação de funcionário para o auto preenchimento dos
campos da solicitação e da ordem de serviço.
O relacionamento entre funcionários e usuário é feito de acordo com uma determinada
empresa. Para associar um funcionário a um usuário, clique com o botão direito do mouse
sobre a empresa desejada e pressione o botão "associar funcionários". Uma pesquisa de
funcionários daquela empresa será aberta. Escolha um funcionário e pressione o botão Ok para
confirmar ou Cancela para cancelar. Para remover a associação, selecione a opção "excluir
funcionário".
Relatórios
São apresentados, em uma lista, todos os relatórios cadastrados no sistema. Marque os
relatórios que o usuário terá direito de acesso. Para copiar a estrutura de acesso a relatórios

de outro usuário, clique no botão , na barra de comandos de acesso a relatórios.


Dica: quando um usuário insere um relatório, automaticamente o sistema libera o acesso
somente a ele. Sempre que for necessário liberar o acesso de um novo relatório a demais
usuários, edite suas preferências.
Observações: as alterações realizadas num usuário só terão efeito no próximo logon dele.

Log do Usuário
O Engeman® permite a gravação de um arquivo, denominado "log", contendo a data e hora
das várias operações realizadas por um usuário. Para disponibilizar a gravação e visualização
do log, ative esta operação no limite de acesso por usuário.
O primeiro log a ser registrado é o acesso ao sistema. O último log é o fechamento do sistema.
Para restringir a visão dos log's dos usuários por um período, digite a data inicial e final nos
campos indicados e pressione o botão "refresh" (atualizar) na barra de ferramentas principal
da tela de cadastro de usuários. Entretanto, uma visualização mais eficiente será obtida
configurando-se um relatório de pesquisa na tabela USERLOG.
Existem dois tipos de eventos especiais que são registrados no log:
 Log de telas: grava todas as telas que o usuário acessou durante sua conexão e o
fechamento de O.S.
 Log do calendário de periódicas: grava todas as informações da relação Aplicação X Plano
Periódico, caso o usuário venha a confirmar (pressionar o botão gravar) as alterações na tela
de calendário.
Excluir o Log de usuários
Para excluir os registros de Log do usuário, posicione o cursor em um dos registros de log e
pressione o botão "excluir x últimos logs". Todos os logs abaixo do registro atual serão
excluídos.

Login do Sistema

Se o número máximo de conexões for atingido, além de exibir a mensagem, é exibida uma
lista de usuários logados no sistema naquele momento.

Visualizar Acessos do Usuários

Para visualizar o acesso dos usuários clique no botão . Será exibida uma tela com algumas
opções. Para visualizar as Filiais de acesso para cada usuário, clique no botão Filiais por
Usuário, será então exibida uma árvore com todos os usuários cadastrados e suas respectivas
filiais de acesso PERMITIDAS. Pode-se visualizar também uma árvore com todas as filiais
cadastradas e todos os usuários que possuem acesso PERMITIDO nestas filiais, clicando no
botão Usuários por Filial. Você pode expandir a árvore clicando em ou contrai-la usando
. Se desejar imprimir um ou mais usuários com suas permissões, basta selecioná-lo(s) e
clicar em Gerar Arquivo TXT. O arquivo gerado deverá ser aberto através de um editor de
texto como o NotePad, por exemplo. Se desejar marcar ou desmarcar todos de uma única
vez clique em Marcar/Desmar Todos.
Caso queira ver todos os acessos PERMITIDOS dos usuários clique em Permissões por
Usuário. A forma de utilização é a mesma aplicada para Filiais por Usuário e Usuários por
Filial.

Campos do Usuário

Na guia "Campos do Usuário" são listados os nomes dos campos que um usuário tem acesso,
assim como a tabela onde o campo está localizado e a empresa em que está configurado para
ser visualizado. Esta guia ainda possui opção para copiar o acesso destes campos para outros
usuários e opção para copiar o acesso de um outro usuário. Nesta rotina de cópia e envio,
além do acesso e visibilidade dos campos em uma tela, também são copiados os seus layouts
(formatação do campo na tela, tal como sua posição, cor de fundo, etc).

Controle Acesso por UsuárioControle de Acesso por Usuário


É apresentada em forma de diagramação hierárquica de todas as telas disponíveis no sistema,
controladas através de ícones e botões de comando, permitindo:
 Exibir hierarquia explodida de todas as telas.
 Exibir hierarquia resumida.
 Permitir / Bloquear o acesso às telas apresentadas.
 Selecionar as operações que poderão ser realizadas nestas telas ((A)lterar, (E)xcluir,
(I)ncluir).

Com o registro em edição, selecione a tela na diagramação e clique no botão"


Permite/Bloqueia" para ativar/desativar o acesso à tela. Esta operação também pode ser feita
com as teclas de atalho ALT+X. Para cada tela, será apresentada entre parêntesis, a letra
inicial correspondente às operações permitidas: 1-(A)lterar, 2-(E)xcluir, 3-(I)ncluir. As teclas
de atalho para estas operações são, respectivamente: ALT+1, ALT+2, ALT+3. As telas que não
disponibilizam estas operações, cancelam o acionamento dos botões.

Tópicos:

Página 51 de 478
> Empresa: As filiais estão ligadas a esta empresa. Quando o usuário tem permissão em
todas as filiais ao logar no sistema ele terá acesso a todas. Caso o usuário esteja bloqueado
em alguma das filiais ligadas a empresa ao logar ele acessará apenas as filiais que lhe são
permitidas.
> Arquivos: O usuário que for bloqueado neste ícone não terá acesso a nenhumtópico deste
menu. Caso ele tenha permissão a este ícone pode-se bloquear os tópicos que o usuário não
poderá acessar.
 Cadastro de Empresa: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
empresas.Estas operações (A), (E), (I) podem ser desabilitadas e este poderá apenas
visualizar a tela de empresas.
 Filiais: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir filiais. Estas
operações (A), (E), (I) podem ser desabilitadas e este poderá apenas vizualizar
a tela de filiais.
 Cadastro de Usuário: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
usuários. Estas operações (A), (E), (I) podem ser desabilitadas e este poderá apenas
vizualizar a tela de usuários.
 Controle de Acesso: O usuário que for bloqueado não terá acesso a guia de
controle de acesso.
 Visualizar Log: O usuário que tiver permissão, poderá ver todos os usuários que
estão logados no grid Log do Usuário.
 Gravar Log das Telas: Quando o usuário estiver bloqueado não será gravado no
grid Log do Usuário os acessos do mesmo.
 Gravar Log do Calendário: O usuário que tiver permissão poderá fazer as
configurações de manutenção periódicas pelo calendário de periódicas. Se este
for bloqueado não terá acesso a esta guia.
 Exibir Todos os Usuários: O usuário que tiver permissão poderá visualizar na tela
cadastro de usuários todos os usuários.
 Exibir Todos os relatórios:O usuário que tiver permissão, poderá ver no grid
Relatórios todos os relatórios. Caso ele seja bloqueado só terá acesso aos
relatorios que estiverem com checkbox marcados .
 Editar Ajuda do Usuário: O usuário que tiver permissão, poderá editar a ajuda
do engeman. Se este for bloqueado ele poderá apenas visualizar a ajuda.
 Disponibilidade de Uso: O usuário que tiver permissão poderá (A)lterar,
(E)xcluir, (I)ncluir no grid Disponibilidade de Uso o Dia da semana, Hora Início e
Hora Fim. Se este estiver bloqueado poderá apenas visualizar.
 Personalizar Menu Principal: O usuário que tiver permissão poderá personalizar
todo o menu da forma que desejar.
 Preferências do Usuário: Nesta tela o usuário poderá alterar suas preferências pessoais
se para isso haver permissão.
 Alterar Preferências de Outros Usuários: Caso o usuário corrente possua
permissão para alterar preferências de outros usuários, ele poderá
localizar o usuário do qual fará a alteração e realizá-la normalmente.
 Configurações Gerais: O usuário terá permissão para (A)lterar. Esta operação poderá
ser desabilitada e o usuário poderá apenas visualizar esta tela. Caso o usuários for
bloqueado não terá acesso a esta tela. Quando bloqueada a guia não aparece na tela.
 Configuração de máscaras: O usuário terá permissão para (A)lterar. Esta
operação poderá ser desabilitada e o usuário poderá apenas visualizar esta tela.
 Configuração de Agrupamentos: O usuário terá permissão para (A)lterar. Esta
operação poderá ser desabilitada e o usuário poderá apenas visualizar esta tela.
 Alterar Empresas: O usuário que for bloqueado não terá acesso a esta guia. Quando
bloqueada a guia não aparece na tela.
 Alterar Senha: O usuário que for bloqueado não terá acesso a esta guia. Quando
bloqueada a guia não aparece na tela.
 Calendário: Se o usuário estiver bloqueado não conseguirá visualizar a tela.
 Mostrar O.S. do Período: O usuário bloqueado neste item terá acesso somente
ao calendário não tendo permissão para pesquisar O.S.s.
 Gerenciador de E-mail: Se o usuário estiver bloqueado não visualizará esta opção no
menu Arquivos.
 Catálago de endereço: Se o usuário estiver bloqueado não visualizará esta opção no
menu Arquivos.
 Enviar Mensagem: Se o usuário estiver bloqueado não visualizará esta opção no menu
Arquivos.
 Configurara Barra de Ferramentas: Se o usuário estiver bloqueado não terá acesso a
tela.
 Copiar Configuração Atual para outros Usuários: Se o usuário estiver bloqueado não
terá acesso a tela.
> Tabelas:O usuário que for bloqueado neste Menu não terá acesso a nenhumtópico deste .
Caso ele tenha permissão a este menu pode-se bloquear os tópicos que o usuário não
poderá acessar.
 Ocorrências: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir ocorrências.
Estas operações (A), (E), (I) podem ser desabilitadas e este poderá apenas visualizar a
tela de ocorrências.
 Histórico de O.S.: Quando bloqueado o usuário não visualiza este ícone na tela
de ocorrências.
 Agrupamento: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
agupamentos. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de agrupamento. Caso o usuário seja bloqueado,
este não terá acesso ao ícone na tela de Ocorrência.
 Causa: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir causas. Estas
operações (A), (E), (I) podem ser desabilitadas e este poderá apenas visualizar a tela
de causas.
 Histórico de O.S.: Quando bloqueado o usuário não visualiza este ícone na tela
de causas.
 Agrupamento: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
agupamentos. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de agrupamento. Caso o usuário seja bloqueado,
este não terá acesso ao ícone na tela de Causa.
 Serviços: O usuário poderá ter permissão para (A)lterar, (E)xcluir, (I)ncluir serviços.
Estas operações (A), (E), (I) podem ser desabilitadas e este poderá apenas visualizar a
tela de serviços.
 Histórico de O.S.: Quando bloqueado o usuário não visualiza este ícone na tela
de serviços.
 Agrupamento: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
agupamentos. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de agrupamento. Caso o usuário seja bloqueado,
este não terá acesso ao ícone na tela de Causa.
 Eventos: O usuário poderá ter permissão para (A)lterar, (E)xcluir, (I)ncluir eventos.
Estas operações (A), (E), (I) podem ser desabilitadas e este poderá apenas visualizar a
tela de eventos.
 Sindicato: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir sindicatos. Estas
operações (A), (E), (I) podem ser desabilitadas e este poderá apenas visualizar a tela
de sindicato.
 Fornecedores: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir forncedores.
Estas operações (A), (E), (I) podem ser desabilitadas e este poderá apenas visualizar a
tela de fornecedores.
 Contratos: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
documentos. Estas operações (A), (E), (I) podem ser desabilitadas e este poderá
apenas visualizar a tela de contratos. Caso o usuário seja bloqueado, este não
terá acesso ao ícone na tela de Fornecedores.
 Relação dos Materiais: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir materiais. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de relação de materiais. Caso o usuário seja
bloqueado, este não terá acesso ao ícone na tela de Fornecedores.
 Classificação de Fornecimento: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir. Estas operações (A), (E), (I) podem ser desabilitadas e este poderá apenas
visualizar a tela de Classificação de Fornecimento.
 Agrupamento: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
agupamentos. Estas operações (A), (E), (I) podem ser desabilitadas e este

Página 53 de 478
poderá apenas visualizar a tela de agrupamento. Caso o usuário seja bloqueado,
este não terá acesso ao ícone na tela de classificação de fornecimento.
 Clientes: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir clientes. Estas
operações (A), (E), (I) podem ser desabilitadas e este poderá apenas visualizar a tela
clientes.
 Contratos: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir contratos.
Estas operações (A), (E), (I) podem ser desabilitadas e este poderá apenas
visualizar a tela de contratos. Caso o usuário seja bloqueado, este não terá
acesso ao ícone da tela de clientes.
 Histórico de O.S.: Quando bloqueado o usuário não visualiza este ícone na tela
de clientes.
 Unidades: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir unidades. Estas
operações (A), (E), (I) podem ser desabilitadas e este poderá apenas visualizar a tela
unidades.
 Conversão entre Unidades: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir as conversões. Estas operações (A), (E), (I) podem ser desabilitadas e
este poderá apenas visualizar a tela de conversão entre unidades. Caso o
usuário seja bloqueado, este não terá acesso ao ícone da tela de Unidades.
 Horários para escala: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir os
horários de escala. Estas operações (A), (E), (I) podem ser desabilitadas e este poderá
apenas visualizar a tela. Caso o usuário seja bloqueado, este não terá acesso a tela de
horários para escala.
 Feriados: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir feriados. Estas
operações (A), (E), (I) podem ser desabilitadas e este poderá apenas visualizar a tela.
Caso o usuário seja bloqueado, este não terá acesso a tela de feriados.
 Índices Financeiros: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir os
índices financeiros. Estas operações (A), (E), (I) podem ser desabilitadas e este poderá
apenas visualizar a tela. Caso o usuário seja bloqueado, este não terá acesso a tela de
índices financeiros.
 Tipos de Documentos: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir os
tipos de documentos. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela. Caso o usuário seja bloqueado, este não terá acesso a
tela Tipos de Documentos.
 Motivos de Atraso de O.S.: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
os motivos de atraso da ordem de serviço. Estas operações (A), (E), (I) podem ser
desabilitadas e este poderá apenas visualizar a tela. Caso o usuário seja bloqueado,
este não terá acesso a tela Motivo de Atraso de O.S.
 Histórico de O.S.: Quando bloqueado o usuário não visualiza este ícone na tela
de Motivo de Atraso de O.S.
 Motivos de Cancelamento de O.S.: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir os motivos de cancelamento da ordem de serviço. Estas operações (A), (E), (I)
podem ser desabilitadas e este poderá apenas visualizar a tela. Caso o usuário seja
bloqueado, este não terá acesso a tela Motivo de Cancelamento de O.S.
 Desenhos: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir desenhos. Estas
operações (A), (E), (I) podem ser desabilitadas e este poderá apenas visualizar a tela.
Caso o usuário seja bloqueado, este não terá acesso a tela Desenhos.
 Aplicações:O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
aplicações. Estas operações (A), (E), (I) podem ser desabilitadas e este poderá
apenas visualizar a tela de aplicações. Caso o usuário seja bloqueado, este não
terá acesso ao ícone na tela de Desenhos.
 Tipos de Aplicação: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
tipos de aplicação. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de tipos de aplicação. Caso o usuário seja
bloqueado, este não terá acesso ao ícone na tela de Desenhos.
 Material: Permite relacionar os material utilizados no modelo que estiver
selecionado.
 Localização Aplicação: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir a localização da aplicação. Estas operações (A), (E), (I) podem ser
desabilitadas e este poderá apenas visualizar a tela de Localização da Aplic. Caso
o usuário seja bloqueado, este não terá acesso ao ícone na tela de Desenhos.
 Tabelas Roteiro de Viagem: O usuário que for bloqueado, não terá acesso a
nenhumtópico deste menu. Caso ele tenha permissão a este menu, pode-se bloquear
os tópicos que o usuário não poderá acessar.
 Países: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir países. Estas
operações (A), (E), (I) podem ser desabilitadas e este poderá apenas visualizar
a tela. Caso o usuário seja bloqueado, este não terá acesso à tela de países.
 Estados: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir estados.
Estas operações (A), (E), (I) podem ser desabilitadas e este poderá apenas
visualizar a tela. Caso o usuário seja bloqueado, este não terá acesso à tela de
estados.
 Cidades: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir cidades.
Estas operações (A), (E), (I) podem ser desabilitadas e este poderá apenas
visualizar a tela. Caso o usuário seja bloqueado, este não terá acesso à tela de
cidades.
 Tipos de Despesa: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
tipos. Estas operações (A), (E), (I) podem ser desabilitadas e este poderá
apenas visualizar a tela. Caso o usuário seja bloqueado, este não terá acesso à
tela de tipos de despesa.
 Transação: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir transações.
Estas operações (A), (E), (I) podem ser desabilitadas e este poderá apenas visualizar a
tela. Caso o usuário seja bloqueado, este não terá acesso a tela de Transação.
> Cadastros: O usuário que for bloqueado, não terá acesso a nenhumtópico deste menu.
Caso ele tenha permissão a este menu, pode-se bloquear os tópicos que o usuário não
poderá acessar.
 Centro de Custo: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir centro de
custo. Estas operações (A), (E), (I) podem ser desabilitadas e este poderá apenas
visualizar a tela. Caso o usuário seja bloqueado, este não terá acesso a tela de Centro
de Custo.
 Agrupamento: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
agupamentos. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de agrupamento. Caso o usuário seja bloqueado,
este não terá acesso ao ícone na tela de Centro de Custo.
 Histórico da O.S.: Quando bloqueado o usuário não visualiza este ícone na tela
de Centro de Custo.
 Conta Contábil: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir contas
contábeis. Estas operações (A), (E), (I) podem ser desabilitadas e este poderá apenas
visualizar a tela. Caso o usuário seja bloqueado, este não terá acesso a tela de Conta
Contábil.
 Agrupamento: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
agupamentos. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de agrupamento. Caso o usuário seja bloqueado,
este não terá acesso ao ícone na tela de Conta Contábil.
 Histórico da O.S.: Quando bloqueado o usuário não visualiza este ícone na tela
de Conta Contábil.
 Produtos: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir produtos. Estas
operações (A), (E), (I) podem ser desabilitadas e este poderá apenas visualizar a tela.
Caso o usuário seja bloqueado, este não terá acesso a tela de Produtos.
 Relação com Aplicação: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir relação com aplicação. Estas operações (A), (E), (I) podem ser
desabilitadas e este poderá apenas visualizar esta tela. Caso o usuário seja
bloqueado, este não terá acesso ao ícone na tela de Produtos.
 Agrupamento: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
agrupamentos. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de Produtagrupamentos. Caso o usuário seja
bloqueado, este não terá acesso ao ícone na tela de Produtos.
 Setor Executante: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir o setor
executante. Estas operações (A), (E), (I) podem ser desabilitadas e este poderá apenas
visualizar a tela de Setor Executante. Caso o usuário seja bloqueado, este não terá

Página 55 de 478
acesso a tela de Setor Executante.
 Agrupamento: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
agupamentos. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de agrupamento. Caso o usuário seja bloqueado,
este não terá acesso ao ícone na tela de Setor Executante.
 Feriados: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir feriados.
Estas operações (A), (E), (I) podem ser desabilitadas e este poderá apenas
visualizar a tela de Feriados. Caso o usuário seja bloqueado, este não terá
acesso ao ícone na tela de Setor Executante.
 Histórico de O.S.: Quando bloqueado o usuário não visualiza este ícone na tela
Setor Executante.
 Coleta: O usuário que for bloqueado, não terá acesso a nenhumtópico deste menu.
Caso ele tenha permissão a este menu, pode-se bloquear os tópicos que o usuário não
poderá acessar.
 Acumulativas:O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir coletas
acumulativas. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de coletas acumulativas. Caso o usuário seja
bloqueado, este não terá acesso ao ícone na tela de Coleta .
 Tendências de Variáveis: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir coletas de tendências de variáveis. Estas operações (A), (E), (I) podem
ser desabilitadas e este poderá apenas visualizar a tela de coletas de tendências
de variáveis. Caso o usuário seja bloqueado, este não terá acesso ao ícone na
tela de Coleta.
 Viagens: O usuário terá permissão para (E)xcluir, (I)ncluir coletas de viagens.
Estas operações (E), (I) podem ser desabilitadas e este poderá apenas visualizar
a tela de coletas de viagens. Caso o usuário seja bloqueado, este não terá
acesso ao ícone na tela de Coleta.
 Roteiro de Viagem: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
roteiros de viagem. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela. Caso o usuário seja bloqueado, este não terá
acesso a tela de Roteiro.
 Guia Trechos: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
trechos no roteiro. Estas operações (A), (E), (I) podem ser desabilitadas
e este poderá apenas visualizar os trechos. Caso o usuário seja
bloqueado, este não terá acesso à guia de trechos.
 Guia Adiantamentos: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir adiantamentos no roteiro. Estas operações (A), (E), (I) podem
ser desabilitadas e este poderá apenas visualizar os adiantamentos. Caso
o usuário seja bloqueado, este não terá acesso à guia de adiantamentos.
 Guia Abastecimentos: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir abastecimentos no roteiro. Estas operações (A), (E), (I) podem
ser desabilitadas e este poderá apenas visualizar os abastecimentos.
Caso o usuário seja bloqueado, este não terá acesso à guia de
abastecimentos.
 Guia Despesas de Viagem: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir despesas de viagem no roteiro. Estas operações (A),
(E), (I) podem ser desabilitadas e este poderá apenas visualizar as
despesas. Caso o usuário seja bloqueado, este não terá acesso à guia
Despesas de Viagem.
 Guia Fretes: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
fretes no roteiro. Estas operações (A), (E), (I) podem ser desabilitadas e
este poderá apenas visualizar os fretes. Caso o usuário seja bloqueado,
este não terá acesso à guia de fretes.
 Guia Pedágios: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir pedágios no roteiro. Estas operações (A), (E), (I) podem ser
desabilitadas e este poderá apenas visualizar os pedágios. Caso o usuário
seja bloqueado, este não terá acesso à guia de pedágios.
 Guia Anexos: Quando bloqueado, o usuário não terá acesso à guia de
anexos.
 Inserir Anexos: Quando bloqueado o usuário não terá acesso ao
ícone de inserção de anexos.
 Excluir Anexos: Quando bloqueado o usuário não terá acesso ao
ícone de exclusão de anexos.
 Guia Resumo da Viagem: Quando bloqueado, o usuário não terá acesso à
guia de resumo da viagem.
 Editar Roteiro Fechado: Se o usuário tiver esta permissão, poderá alterar
as informações do roteiro, mesmo depois que ele tiver sido fechado.
 Editar Roteiro Cancelado: Se o usuário tiver esta permissão, poderá
alterar as informações do roteiro, mesmo depois que ele tiver sido
cancelado.
 Registro de Funcionários: Caso o usuário seja bloqueado, este não terá acesso
ao ícone na tela de Coleta.
 Rota de Coleta Acumulativa: Se o usuário possuir permissão, este poderá lançar
coletas para aplicações que possuam ponto de controle acumulativo e que
estejam registradas nos procedimentos de um plano de manutenção preparado
para rota.
 Rota de Coleta de Tendência: Se o usuário possuir permissão, este poderá
lançar coletas para aplicações que possuam ponto de controle de tendência e
que estejam registradas nos procedimentos de um plano de manutenção
preparado para rota.
 Aplicação: O usuário que for bloqueado, não terá acesso a nenhumtópico deste menu.
Caso ele tenha permissão a este menu, pode-se bloquear os tópicos que o usuário não
poderá acessar.
 Especificação da Aplicação: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir Especificação da Aplicação. Estas operações (A), (E), (I) podem ser
desabilitadas e este poderá apenas visualizar a tela de Especificação da
Aplicaçãoão. Caso o usuário seja bloqueado, este não terá acesso a tela de
Especificação da Aplicação.
 Agrupamento: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
agrupamentos. Estas operações (A), (E), (I) podem ser desabilitadas e
este poderá apenas visualizar a guia de Agrupamentos. Se o usuário
possuir permissão ele poderá agrupar as especificações cadastradas, caso
seja bloqueado, este não poderá visualizar a guia de Agrupamentos da
Tela de Especificação da Aplicação.
 Tipos de Aplicação: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
Especificação da Aplicação. Estas operações (A), (E), (I) podem ser desabilitadas
e este poderá apenas visualizar a tela de Tipos de Aplicações . Caso o usuário
seja bloqueado, este não terá acesso a tela de Tipos de Aplicações.
 Documentos: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
documentos. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de Documentos. Se o usuário possuir
permissão ele poderá adicionar vários arquivos com seus respectivos
aplicativos, como por exemplo o Editor de Textos Word para o tipo de
aplicação que estiver selecionado, caso este seja bloqueado, este não
terá acesso ao ícone na tela de Tipos de Aplicações.
 Agrupamento: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
agrupamentos. Estas operações (A), (E), (I) podem ser desabilitadas e
este poderá apenas visualizar a guia de Agrupamentos. Se o usuário
possuir permissão ele poderá agrupar os tipos cadastrados, caso seja
bloqueado, este não poderá visualizar a guia de Agrupamentos da Tela de
Tipos de Aplicação.
 Desenhos: Quando bloqueado, o usuário não poderá visualizar a guia de
Desenhos da Tela de Tipos de Aplicação.
 Histórico de O.S.: Quando bloqueado, o usuário não visualiza este ícone
na tela Tipos de Aplicações.
 Feriados: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
feriados. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de feriados. Caso o usuário seja

Página 57 de 478
bloqueado, este não terá acesso ao ícone na tela de Tipos de Aplicações.
 Localização de Aplicações: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir localização de aplicações. Estas operações (A), (E), (I) podem ser
desabilitadas e este poderá apenas visualizar a tela Localização de Aplicações.
Caso o usuário seja bloqueado, este não terá acesso a tela Localização de
Aplicações.
 Agrupamento: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
agrupamentos. Estas operações (A), (E), (I) podem ser desabilitadas e
este poderá apenas visualizar a guia de Agrupamentos. Se o usuário
possuir permissão ele poderá agrupar os tipos cadastrados, caso seja
bloqueado, este não poderá visualizar a guia de Agrupamentos da Tela de
Tipos de Aplicação.
 Desenhos: Quando bloqueado, o usuário não poderá visualizar a guia de
Desenhos da Tela de Tipos de Aplicação.
 Tipo de Ponto de Controle: É possível controle de acesso e permissões de
(A)lterar, (E)xcluir, (I)ncluir.
 Modelo Visual: Pode-se controlar o acesso e as permissões de (A)lterar,
(E)xcluir, (I)ncluir para o usuário selecionado.
 Cadastro de Aplicações: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir aplicações. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de aplicações. Caso o usuário seja bloqueado,
este não terá acesso a tela de Aplicações.
 Visualizar Valores Agregados: Quando bloqueado, o usuário não visualiza
esta opção na tela de Aplicações.
 Relação com PLanos: Quando bloqueado, o usuário não visualiza esta
opção na tela de Aplicações.
 Periódica: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir periódicas. Estas operações (A), (E), (I) podem ser
desabilitadas e este poderá apenas visualizar a tela de Periódica.
Caso o usuário seja bloqueado, este não terá acesso ao ícone na
tela de Planos que se encontra em Aplicações.
 Data Específica: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir data específica. Estas operações (A), (E), (I) podem ser
desabilitadas e este poderá apenas visualizar a tela de Data
Específica. Caso o usuário seja bloqueado, este não terá acesso ao
ícone na tela de Planos de Manutenção que se encontra em
Aplicações.
 Acumulativa: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir acumulativa. Estas operações (A), (E), (I) podem ser
desabilitadas e este poderá apenas visualizar a tela de
Acumulativa. Caso o usuário seja bloqueado, este não terá acesso
ao ícone na tela de Planos de Manutenção que se encontra em
Aplicações.
 Tendência de Variáveis: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir tendências de variáveis. Estas operações (A),
(E), (I) podem ser desabilitadas e este poderá apenas visualizar a
tela de Tendência de Variáveis. Caso o usuário seja bloqueado,
este não terá acesso ao ícone na tela de Planos de Manutenção
que se encontra em Aplicações.
 Eventual: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir eventual. Estas operações (A), (E), (I) podem ser
desabilitadas e este poderá apenas visualizar a tela de Eventual.
Caso o usuário seja bloqueado, este não terá acesso ao ícone na
tela de Planos de Manutenção que se encontra em Aplicações.
 Eventual/Serviços: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir eventual/serviços. Estas operações (A), (E), (I)
podem ser desabilitadas e este poderá apenas visualizar a tela de
Eventual/Serviços. Caso o usuário seja bloqueado, este não terá
acesso ao ícone na tela de Planos de Manutenção que se encontra
em Aplicações.
 Sem Programação: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir planos sem programação. Estas operações (A),
(E), (I) podem ser desabilitadas e este poderá apenas visualizar a
tela de Planos Sem Programação. Caso o usuário seja bloqueado,
este não terá acesso ao ícone na tela de Planos de Manutenção
que se encontra em Aplicações.
 Eventual/Cíclica: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir eventual/cíclicas. Estas operações (A), (E), (I)
podem ser desabilitadas e este poderá apenas visualizar a tela de
Eventual/Serviços. Caso o usuário seja bloqueado, este não terá
acesso ao ícone na tela de Planos de Manutenção que se encontra
em Aplicações.
 Histórico da O.S.: Quando bloqueado o usuário não visualiza este ícone
na tela de Aplicações.
 Histórico de Localização da Aplicação: Quando bloqueado o usuário não
visualiza este ícone na tela de Aplicações.
 Movimentação de Aplicação: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir movimentação de aplicações. Estas operações (A), (E),
(I) podem ser desabilitadas e este poderá apenas visualizar a tela. Caso o
usuário seja bloqueado, este não terá acesso ao ícone na tela de
Aplicação.
 Refazer Histórico de Coletas: Quando bloqueado o usuário não
visualiza este ícone na tela Movimentação de Aplicações.
.
 Ponto de Controle Acumulativo: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir Ponto de Controle. Estas operações (A), (E), (I) podem
ser desabilitadas e este poderá apenas visualizar a tela. Caso o usuário
seja bloqueado, este não terá acesso ao ícone na tela de Aplicações.
 Coleta: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
coletas. Estas operações (A), (E), (I) podem ser desabilitadas e
este poderá apenas visualizar a tela. Caso o usuário seja
bloqueado, este não terá acesso ao grid na tela de Ponto de
Controle Acumulativo.
 Troca de Medidor: Quando bloqueado o usuário não visualiza este
ícone na tela Ponto de Controle Acumulativo.
 Ponto de Controle Tendências de variáveis: O usuário terá permissão
para (A)lterar, (E)xcluir, (I)ncluir Ponto de Controle. Estas operações (A),
(E), (I) podem ser desabilitadas e este poderá apenas visualizar a tela.
Caso o usuário seja bloqueado, este não terá acesso ao ícone na tela de
Aplicações.
 Coleta: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
coletas. Estas operações (A), (E), (I) podem ser desabilitadas e
este poderá apenas visualizar a tela. Caso o usuário seja
bloqueado, este não terá acesso ao grid na tela de Ponto de
Controle Tendências de Variáveis.
 Coleta de Eventos: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir coleta de eventos. Estas operações (A), (E), (I) podem ser
desabilitadas e este poderá apenas visualizar a tela. Caso o usuário seja
bloqueado, este não terá acesso ao ícone na tela de Aplicações.
 Documentação: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir a documentação. Estas operações (A), (E), (I) podem ser
desabilitadas e este poderá apenas visualizar a tela de documentação.
Caso o usuário seja bloqueado, este não terá acesso ao ícone na tela de
Aplicações.
 Feriados: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
feriados. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de feriados. Caso o usuário seja
bloqueado, este não terá acesso ao ícone na tela de Aplicações.

Página 59 de 478
 Escala de Trabalho Manual: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir registros na escala de trabalho manual. Estas
operações (A), (E), (I) podem ser desabilitadas e este poderá apenas
visualizar a tela. Caso o usuário seja bloqueado, este não terá acesso ao
item do menu de acesso localizado na tela de Aplicações.
 Escala de Trabalho Automática: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir a relação com a escala de trabalho automática. Estas
operações (A), (E), (I) podem ser desabilitadas e este poderá apenas
visualizar a tela. Caso o usuário seja bloqueado, este não terá acesso ao
item do menu de acesso localizado na tela de Aplicações.
 Relação com Produtos: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir a relação com os produtos. Estas operações (A), (E), (I) podem
ser desabilitadas e este poderá apenas visualizar a tela . Caso o usuário
seja bloqueado, este não terá acesso ao ícone na tela de Aplicações.
 Relação com Materiais: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir a relação com os materiais. Estas operações (A), (E), (I) podem
ser desabilitadas e este poderá apenas visualizar a tela. Caso o usuário
seja bloqueado, este não terá acesso ao ícone na tela de Aplicações.
 Agrupamento: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
agupamentos. Estas operações (A), (E), (I) podem ser desabilitadas e
este poderá apenas visualizar a tela de agrupamento. Caso o usuário seja
bloqueado, este não terá acesso ao ícone na tela de Aplicações.
 Anexos: Quando bloqueado o usuário não visualiza esta guia na tela de
Aplicações.
 Desenhos: Quando bloqueado o usuário não visualiza este ícone na tela
de Aplicações.
 Movimentação Visual: Permite bloquear o acesso à movimentação visual. Os
controles de acesso a (A)lterar, (E)xcluir, (I)ncluir são exclusivos para a
alteração dos KPI´s desta tela.
 Material: O usuário que for bloqueado, não terá acesso a nenhumtópico deste menu.
Caso ele tenha permissão a este menu, pode-se bloquear os tópicos que o usuário não
poderá acessar.
 Cadastro de Materiais: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir materiais. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela Materiais. Caso o usuário seja bloqueado, este
não terá acesso a tela Materiais.
 Relação com Aplicações: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir os relacionamentos. Estas operações (A), (E), (I)
podem ser desabilitadas e este poderá apenas visualizar a tela de
Relação com Aplicações. Caso o usuário seja bloqueado, este não terá
acesso ao ícone na tela Materiais.
 Relação com Fornecedores: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir os relacionamentos. Estas operações (A), (E), (I)
podem ser desabilitadas e este poderá apenas visualizar a tela de
Relação com Fornecedores. Caso o usuário seja bloqueado, este não terá
acesso ao ícone na tela Materiais.
 Documentação: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir documentos. Estas operações (A), (E), (I) podem ser
desabilitadas e este poderá apenas visualizar a tela de Documentação.
Caso o usuário seja bloqueado, este não terá acesso ao ícone na tela
Materiais.
 Histórico de O.S.: Quando bloqueado o usuário não visualiza este ícone
na tela Materiais.
 Requisição de Materiais: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir requisições de materiais. Estas operações (A), (E), (I)
podem ser desabilitadas e este poderá apenas visualizar a tela de
Requisição de Materiais. Caso o usuário seja bloqueado, este não terá
acesso ao ícone na tela Materiais.
 Lançamento de Materias: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir lançamentos de materiais. Estas operações (A), (E),
(I) podem ser desabilitadas e este poderá apenas visualizar a tela de
Lançamento de Materias. Caso o usuário seja bloqueado, este não terá
acesso ao ícone na tela Materiais.
 Movimetação de Materiais: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir movimentações manuais de materiais. Estas operações
(A), (E), (I) podem ser desabilitadas e este poderá apenas visualizar a
tela de Movimentação de Materiais. Caso o usuário seja bloqueado, este
não terá acesso ao ícone na tela de Materiais.
 Estoque: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir o
estoque. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de Estoque. Caso o usuário seja
bloqueado, este não terá acesso a guia na tela Materiais.
 Desenhos: Quando bloqueado o usuário não visualiza esta guia na tela
Materiais.
 Almoxarifado: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir. Estas
operações (A), (E), (I) podem ser desabilitadas e este poderá apenas visualizar
a tela Almoxarifado. Caso o usuário seja bloqueado, este não terá acesso a tela
Almoxarifado.
 Estoque: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
estoques. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de estoque. Caso o usuário seja
bloqueado, este não terá acesso ao ícone na tela Almoxarifado.
 Requisição de Materiais: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir as requisições de materiais. Estas operações (A), (E),
(I) podem ser desabilitadas e este poderá apenas visualizar a tela de
Requisição de Materiais. Caso o usuário seja bloqueado, este não terá
acesso ao ícone na tela Almoxarifado.
 Efetivar Lançamento: Quando bloqueado o usuário não poderá
efetivar as requisições de materiais, se a Empresa estiver
trabalhando com o Estoque Avançado.
 Lançamento de Entrada: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir os lançamentos de materiais. Estas operações (A), (E),
(I) podem ser desabilitadas e este poderá apenas visualizar a tela de
Lançamentos de Materiais. Caso o usuário seja bloqueado, este não terá
acesso ao ícone na tela Almoxarifado.
 Informar Localização, Estoque Máximo e Estoque Mínimo: Quando
permitida esta opção, ao cadastrar um item de entrada, caso o
material informado não esteja relacionado a nenhum estoque, o
usuário poderá informar a Localização, Estoque Máximo e Estoque
Mínimo.
 Efetivar Lançamento: Quando bloqueado o usuário não poderá
efetivar os lançamentos de entrada, se a Empresa estiver
trabalhando com o Estoque Avançado.
 Consumo Direto de Materiais: Caso o usuário seja bloqueado, este não
terá acesso ao ícone na tela Almoxarifado.
 Inventário de Materiais: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir os inventários cadastrados. Estas operações (A), (E),
(I) podem ser desabilitadas e este poderá apenas visualizar a tela de
Inventário de Materiais. Caso o usuário seja bloqueado, este não terá
acesso ao ícone na tela Almoxarifado.
 Excluir Inventário Fechado: Quando bloqueado o usuário não
poderá excluir os inventários já Fechados.
 Visualizar Relatórios de Inventário: Quando bloqueado o usuário
não visualiza este ícone na tela de Inventário.
 Grupo de Materiais: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
grupo de materiais. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de Grupo de Materiais. Caso o usuário seja
bloqueado, este não terá acesso a tela Grupo de Materiais.

Página 61 de 478
 Agrupamento: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
agrupamentos. Estas operações (A), (E), (I) podem ser desabilitadas e
este poderá apenas visualizar a guia de Agrupamentos. Se o usuário
possuir permissão ele poderá agrupar os grupos cadastrados, caso seja
bloqueado, este não poderá visualizar a guia de Agrupamentos da Tela de
Grupos de Materiais.
 Localização de Materiais: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir as localizações de materiais. Estas operações (A), (E), (I) podem ser
desabilitadas e este poderá apenas visualizar a tela de Localização de Materiais.
Caso o usuário seja bloqueado, este não terá acesso a tela Localização de
Materiais.
 Agrupamento: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
agrupamentos. Estas operações (A), (E), (I) podem ser desabilitadas e
este poderá apenas visualizar a guia de Agrupamentos. Se o usuário
possuir permissão ele poderá agrupar as localizações cadastradas, caso
seja bloqueado, este não poderá visualizar a guia de Agrupamentos da
Tela de localização de Materiais.
 Classe de Materiais: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
classes de materiais. Estas operações (A), (E), (I) podem ser desabilitadas e
este poderá apenas visualizar a tela de Classe de Materiais. Caso o usuário seja
bloqueado, este não terá acesso a tela Classe de Materiais.
 Agrupamento: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
agrupamentos. Estas operações (A), (E), (I) podem ser desabilitadas e
este poderá apenas visualizar a guia de Agrupamentos. Se o usuário
possuir permissão ele poderá agrupar as classes cadastradas, caso seja
bloqueado, este não poderá visualizar a guia de Agrupamentos da Tela de
Classe de Materiais.
 Solicitação de Materiais: O usuário terá permissão para (E)xcluir, (I)ncluir
solicitações de materiais. Estas operações (E), (I) podem ser desabilitadas e
este poderá apenas visualizar a tela de Solicitação de Materiais. Caso o usuário
seja bloqueado, este não terá acesso a tela Solicitação de Materiais.
 Kit de Materiais: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
materiais. Estas operações (A), (E), (I) podem ser desabilitadas e este poderá
apenas visualizar a tela Kit de Materiais. Caso o usuário seja bloqueado, este
não terá acesso a tela Kit de Materiais.
 Estoque Avançado: Caso o usuário seja bloqueado, este não terá acesso ao
menu Estoque Avançado nem a seus subitens.
 Estoque por Filial: Caso o usuário seja bloqueado, este não terá acesso
a tela de Estoque por Filial, nem a guia Estoque por Filial na Tela de
Cadastro de Materiais.
 Movimentação: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir movimentações manuais de materiais. Estas operações (A), (E),
(I) podem ser desabilitadas e este poderá apenas visualizar a tela de
Movimentação de Materiais. Caso o usuário seja bloqueado, este não terá
acesso ao ícone na tela de Materiais.
 Transferência de Materiais: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir as transferência de Materiais. Estas operações (A), (E),
(I) podem ser desabilitadas e este poderá apenas visualizar a tela de
Transferência de Materiais. Caso o usuário seja bloqueado, este não terá
acesso a tela de Transferência de Materiais.
 Efetivar Lançamento: Quando bloqueado o usuário não terá
visualiza o ícone e não poderá Efetivar as
Transferências de Materiais.
 Carregar todos materiais: Quando bloqueado o usuário não
visualiza o ícone na tela de Tranferência, não podendo
carregar todos os materiais do Almoxarifado de Origem.
 Transferência de Materiais entre Almoxarifados da Mesma Filial:
Quando bloqueado o usuário não poderá salvar as tranferências
com a opção Transferência de Materiais entre Almoxarifados da
Mesma Filial.
 Transferência de Materiais entre Almoxarifados de Filiais
Diferentes: Quando bloqueado o usuário não poderá salvar as
tranferências com a opção Transferência de Materiais entre
Almoxarifados da Filiais Diferentes.
 Transferência de Almoxarifados entre Filiais : Quando bloqueado o
usuário não poderá salvar as tranferências com a opção
Transferência de Almoxarifados entre Filiais.
 Fechamento de Estoque: Caso o usuário seja bloqueado, este não terá
acesso a tela de Fechamento de Estoque.
 Fechar Período: Quando bloqueado o usuário não visualiza o ícone
e não poderá Fechar um período.
 Funcionários: O usuário que for bloqueado, não terá acesso a nenhumtópico deste
menu. Caso ele tenha permissão a este menu, pode-se bloquear os tópicos que o
usuário não poderá acessar.
 Cadastro de Funcionários: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir funcionários. Estas operações (A), (E), (I) podem ser desabilitadas e
este poderá apenas visualizar a tela de Funcionários. Caso o usuário seja
bloqueado, este não terá acesso a tela Funcionários.
 Histórico de O.S.: Quando bloqueado o usuário não visualiza este ícone
na tela Funcionários.
 Documentos: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
documentos. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de Documentos. Caso o usuário seja
bloqueado, este não terá acesso ao ícone na tela de Funcionários.
 Relação com Movimentações: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir movimentações. Estas operações (A), (E), (I) podem
ser desabilitadas e este poderá apenas visualizar a tela de Relação com
Movimentações. Caso o usuário seja bloqueado, este não terá acesso ao
ícone na tela de Funcionários.
 Alterar Consistência: Controla a permissão do usuário para
consistir ou não a movimentação de funcionários.
 Qualificações: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
qualificações. Estas operações (A), (E), (I) podem ser desabilitadas e
este poderá apenas visualizar a tela de Qualificações. Caso o usuário seja
bloqueado, este não terá acesso ao ícone na tela de Funcionários.
 Relação com Escala de Trabalho: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir. Estas operações (A), (E), (I) podem ser desabilitadas
e este poderá apenas visualizar a tela de Relação com Escala de
Trabalho. Caso o usuário seja bloqueado, este não terá acesso ao ícone
na tela de Funcionários.
 Exibir Custo e Venda Hora: Quando bloqueado o usuário não visualiza
este ícone na tela Funcionários.
 Mostrar dados de todas as filiais: Quando bloqueado o usuário não
visualiza este ícone na tela Funcionários.
 Escala de Trabalho: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
escalas de trabalho. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de Escala de Trabalho. Caso o usuário seja
bloqueado, este não terá acesso a tela Escala de Trabalho.
 Horários: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
horários. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de Horários. Caso o usuário seja
bloqueado, este não terá acesso ao ícone na tela de Escala de Trabalho.
 Turmas: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
turmas. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de Turmas. Caso o usuário seja
bloqueado, este não terá acesso ao ícone na tela de Escala de Trabalho.
 Feriados: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir

Página 63 de 478
feriados. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de Feriados. Caso o usuário seja
bloqueado, este não terá acesso ao ícone na tela de Escala de Trabalho.
 Cargos de Funcionários: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir cargos de funcionários. Estas operações (A), (E), (I) podem ser
desabilitadas e este poderá apenas visualizar a tela. Caso o usuário seja
bloqueado, este não terá acesso a tela de Cargos de Funcionários.
 Movimentações de Funcionários: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir movimentações de funcionários. Estas operações (A), (E), (I)
podem ser desabilitadas e este poderá apenas visualizar a tela. Caso o usuário
seja bloqueado, este não terá acesso a tela de Movimentações de Funcionários.
 Qualificações: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
qualificações. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de Qualificações. Caso o usuário seja bloqueado,
este não terá acesso a tela de Qualificações.
 Funcionários: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
QualificaçõesxFuncionários. Estas operações (A), (E), (I) podem ser
desabilitadas e este poderá apenas visualizar a tela de
QualificaçõesxFuncionários. Caso o usuário seja bloqueado, este não terá
acesso ao ícone na tela de Qualificações.
 Tipos de Manutenção: O usuário que tiver as operações (A), (E), (I) desabilitadas,
poderá apenas visualizar a tela Tipos de Manutenção. Caso seja bloqueado, o usuário
não terá acesso a esta tela.
 Agrupamento: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
agrupamentos. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a guia de Agrupamentos. Se o usuário possuir
permissão ele poderá agrupar os tipos cadastradss, caso seja bloqueado, este
não poderá visualizar a guia de Agrupamentos da Tela de Tipos de Manutenção.
 Histórico de O.S.: Quando bloqueado o usuário não visualiza este ícone na tela
Tipos de Manutenção.
 Planos de Manutenção: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
planos. Estas operações (A), (E), (I) podem ser desabilitadas e este poderá apenas
visualizar a tela Planos de Manutenção. Caso o usuário seja bloqueado, este não terá
acesso a tela de Planos de Manutenção.
 Cargos: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir cargos.
Estas operações (A), (E), (I) podem ser desabilitadas e este poderá apenas
visualizar a tela de Cargos. Caso o usuário seja bloqueado, este não terá acesso
ao ícone na tela de Planos de Manutenção.
 Qualificações: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
qualificações. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de Qualificações. Caso o usuário seja bloqueado,
este não terá acesso ao ícone na tela de Planos de Manutenção.
 Funcionários: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
funcionários. Estas operações (A), (E), (I) podem ser desabilitadas e este poderá
apenas visualizar a tela de Funcionários. Caso o usuário seja bloqueado, este
não terá acesso ao ícone na tela de Planos de Manutenção.
 Procedimentos: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
procedimentos. Estas operações (A), (E), (I) podem ser desabilitadas e este
poderá apenas visualizar a tela de Procedimentos. Caso o usuário seja
bloqueado, este não terá acesso ao ícone na tela de Planos de Manutenção.
 Documentos: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
documentos. Estas operações (A), (E), (I) podem ser desabilitadas e este poderá
apenas visualizar a tela de Documentos. Caso o usuário seja bloqueado, este
não terá acesso ao ícone na tela de Planos de Manutenção.
 Relação com Aplicações: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir os relacionamentos com aplicações. Estas operações (A), (E), (I) podem
ser desabilitadas e este poderá apenas visualizar a tela de Aplicação. Caso o
usuário seja bloqueado, este não terá acesso ao ícone na tela de Planos de
Manutenção.
 Periódica: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir as
aplicações periódicas. Estas operações (A), (E), (I) podem ser
desabilitadas e este poderá apenas visualizar a tela de Aplicação
Periódica. Caso o usuário seja bloqueado, este não terá acesso ao ícone
na tela de Aplicações que se encontra em Planos de Manutenção.
 Data Específica: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir a aplicação de data específica. Estas operações (A), (E), (I)
podem ser desabilitadas e este poderá apenas visualizar a tela de
Aplicação Data Específica. Caso o usuário seja bloqueado, este não terá
acesso ao ícone na tela de Aplicações que se encontra em Planos de
Manutenção.
 Acumulativa: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
a aplicação acumulativa. Estas operações (A), (E), (I) podem ser
desabilitadas e este poderá apenas visualizar a tela de Aplicação
Acumulativa. Caso o usuário seja bloqueado, este não terá acesso ao
ícone na tela de Aplicações que se encontra em Planos de Manutenção.
 Tendências de Variáveis: O usuário terá permissão para (A)lterar,
(E)xcluir, (I)ncluir tendências de variáveis. Estas operações (A), (E), (I)
podem ser desabilitadas e este poderá apenas visualizar a tela de
Aplicação Tendência de Variáveis. Caso o usuário seja bloqueado, este
não terá acesso ao ícone na tela de Aplicações que se encontra em Planos
de Manutenção.
 Eventual: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
aplicação eventual. Estas operações (A), (E), (I) podem ser desabilitadas
e este poderá apenas visualizar a tela de Aplicação Eventual. Caso o
usuário seja bloqueado, este não terá acesso ao ícone na tela de
Aplicações que se encontra em Planos de Manutenção.
 Eventual/Serviços: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir aplicação eventual/serviços. Estas operações (A), (E), (I) podem
ser desabilitadas e este poderá apenas visualizar a tela de Aplicação
Eventual/Serviços. Caso o usuário seja bloqueado, este não terá acesso
ao ícone na tela de Aplicações que se encontra em Planos de
Manutenção.
 Sem Programação: O usuário terá permissão para (A)lterar, (E)xcluir,
(I)ncluir aplicação sem programação. Estas operações (A), (E), (I) podem
ser desabilitadas e este poderá apenas visualizar a tela de Aplicação Sem
Programação. Caso o usuário seja bloqueado, este não terá acesso ao
ícone na tela de Aplicações que se encontra em Planos de Manutenção.
 Histórico de O.S.: Quando bloqueado o usuário não visualiza este ícone na tela
Planos de Manutenção.
 Permitir Cópia Estrutura Setor Executante: Quando bloqueado o usuário não
visualiza este ícone na tela Plano de Manutenção.
 Ordemde Serviço: O usuário que tiver as operações (A), (E), (I) desabilitadas, poderá
apenas visualizar a tela Ordem de Serviço. Caso seja bloqueado, o usuário não terá
acesso a esta tela.
 Copiar Estrutura: Quando bloqueado o usuário não visualiza este ícone na tela
Ordem de Serviço.
 Guia Cadastro: Quando bloqueado o usuário não visualiza esta guia na tela
Ordem de Serviço.
 Guia Encerramento: Quando bloqueado o usuário não visualiza esta guia na tela
Ordem de Serviço.
 Guia Observações: Quando bloqueado o usuário não visualiza esta guia na tela
Ordem de Serviço.
 Guia Anexos: Quando bloqueado o usuário não visualiza esta guia na tela Ordem
de Serviço.
 Guia Assinaturas: O usuário terá permissão para (E)xcluir assinaturas. Esta
operação (E) pode ser desabilitada e este poderá apenas visualizar a guia de
assinaturas. Caso o usuário seja bloqueado, este não terá acesso a guia na tela
de Ordem de Serviço.

Página 65 de 478
 Planejamento de Serviços: O usuário que tiver as operações (A), (E), (I)
desabilitadas, poderá apenas visualizar a tela planejamento de serviços. Caso
seja bloqueado, o usuário não terá acesso a este ícone na tela de Ordem de
Serviço.
 Planejamento RH: O usuário que tiver as operações (A), (E), (I) desabilitadas,
poderá apenas visualizar a tela planejamento RH. Caso seja bloqueado, o
usuário não terá acesso a este ícone na tela de Ordem de Serviço.
 Registro de Funcionário: O usuário que tiver as operações (A), (E), (I)
desabilitadas, poderá apenas visualizar a tela de registro de funcionários. Caso
seja bloqueado, o usuário não terá acesso a esta guia na tela de Ordem de
Serviço.
 Consistir Movimentações, Escala, Feriados e Horários: Quando estiver
bloqueado, não irá fazer a consistência caso um funcionário tenha
movimentações, escala, feriado e horários.
 Visualizar Valor Hora e Permitir Alterar: Quando bloqueado o usuário não
visualiza o campo na guia de registro de funcionário na tela Ordem de
Serviço.Caso tenha permissão, este poderá editar o Valor Hora.
 Consistir O.S. sem Registro de Funcionário: Quando bloqueado o usuário
fechará O.S.s mesmo sem cadastrar funcionários.
 Associar todos os serviços ao registro de funcionário corrente: Quando
bloqueado o usuário não terá acesso a este ícone no registro de
funcionário.
 Consistir Datas maiores que a Data Atual: Se estiver bloqueado o
usuário poderá registrar datas maiores que a atual.
 Distribuir total de horas na escala de Trabalho do Fucnionário: Quando
bloqueado o usuário não terá acesso a este ícone no Registro de
Funcionário.
 Marcar todos como "Real": Quando bloqueado o usuário não terá acesso
a este ícone no Registro de Funcionário.
 Registro de Serviço: O usuário que tiver as operações (A), (E), (I) desabilitadas,
poderá apenas visualizar a tela de registro de serviço. Caso seja bloqueado, o
usuário não terá acesso a esta guia na tela de Ordem de Serviço.
 Consistir O.S. sem Registro de Serviço: Quando bloqueado o usuário
poderá efetuar o fechamento da O.S sem registrar serviços e não
aparecerá um alerta perguntando se realmente deseja fechar desta
maneira.
 Alterar Localização de Aplicação: Se o usuário estiver bloqueado, este
não poderá alterar a Localização da Aplicação.
 Alterar Valor do Material: Se o usuário estiver bloqueado, este não
poderá alterar alterar o valor do material.
 Associar todos os registros de funcionários ao serviço selecionado:
Quando bloqueado o usuário não terá acesso a este ícone no registro de
serviço.
 Marcar todos como Executado: Quando bloqueado o usuário não terá
acesso a este ícone no registro de serviço.
 Fechamento: Quando bloqueado o usuário não terá acesso a este ícone na
Ordem de Serviço.
 Cancelamento: Quando bloqueado o usuário não terá acesso a este ícone na
Ordem de Serviço.
 Imprimir O.S. Selecionada: O usuário que tiver esta opção bloqueda não poderá
imprimir O.S. que deseja.
 Visualizar Resumo: Quando bloqueado o usuário não visualiza este ícone na tela
de Ordem de Serviço.
 Resumo de Horas: Quando bloqueado o usuário não visualiza esta guia
no ícone Visualizar Resumo na tela de Ordem de Serviço.
 Resumo de Custos: Quando bloqueado o usuário não visualiza esta guia
no ícone Visualizar Resumo na tela de Ordem de Serviço.
 Cadastrar O.S. Real: O usuário que tiver permissão poderá lançar O.S.s reais.
 Editar O.S. Fechada: O usuário que tiver permissão poderá, depois que a O.S.
for fechada, alterar campos, observações.
 Visualizar O.S. Aberta: Se o usuário estiver bloqueado este não poderá visualizar
as O.S.s que estão abertas.
 Visualizar O.S. Fechada: Se o usuário estiver bloqueado este não poderá
visualizar as O.S.s que estão fechadas.
 Visualizar O.S. Cancelada: Se o usuário estiver bloqueado este não poderá
visualizar as O.S.s que estão canceladas.
 Digitar Número da O.S.: Estando o usuário bloqueado, este não poderá digitar
um número para uma nova O.S.
 Avisar que há serviços executados antes da Data Programada: Caso este item
esteja bloqueado, ao fechar uma O.S. não aparecerá um aviso de que existem
serviços executados antes da Data Programada.
 Permitir pesquisar dados de todas as filiais: Quando o usuário estiver bloqueado
ele poderá visualizar apenas a filial que ele esta logado.
 Ao informar aplicação de filial diferente, alterar a filial da O.S.: Se estiver
bloqueado, ao lançar uma aplicação de filial diferente, não irá alterar a filial da
O.S.
 Ignorar Consistência de Aplicação Parada Redundante: Caso este ícone esteja
bloqueado, irá consistir aplicação parada redundante.
 Solicitação de Serviço: O usuário que tiver as operações (A), (E), (I) desabilitadas,
poderá apenas visualizar a tela Solicitação de Serviço. Caso seja bloqueado, o usuário
não terá acesso a esta tela.
 Guia Anexos: Estando bloqueado, esta guia não pode ser visualizada no grid
resumo, da tela solicitação de serviço.
 Aprovar Solicitações: Se o usuário não tiver permissão, este não visualizará o
ícone de aprovação da solicitação.
 Cancelar Solicitações: Se o usuário não tiver permissão, este não visualizará o
ícone de cancelamento da solicitação.
 Consultar Solicitações de Todos os Usuários: Se estiver bloqueado, poderá
apenas consultar as solicitações que estiverem em seu nome.
 Aprovar Solicitações de Todos os Usuários: Se estiver bloqueado, poderá apenas
aprovar as solicitações que estiverem em seu nome.
 Reprovar Solicitações de Todos os Usuários: Se estiver bloqueado, não poderá
reprovar nenhuma solicitação.
 Permitir pesquisar dados de todas as filiais: Quando o usuário estiver bloqueado
ele poderá visualizar apenas a filial que ele esta logado.
 Ao informar aplicação de filial diferente, alterar a filial da Solicitação: Se estiver
bloqueado, ao lançar uma aplicação de filial diferente, não irá alterar a filial da
Solicitação.
 Fechar Solicitação: Se o usuário não tiver permissão, este não visualizará o
ícone de fechamento da solicitação.
 Avaliação de Serviços: O usuário que tiver as operações (A), (E), (I)
desabilitadas, poderá apenas visualizar a avaliações já cadastradas na tela de
Solicitação de Serviço. Caso seja bloqueado, o usuário não terá acesso a esta
tela.
 Corrigir Inconsistências: Se o usuário não tiver permissão, este não visualizará o
ícone de Correção de Inconsistências das Solicitações.
> Processos: O usuário que for bloqueado neste ícone não terá acesso a nenhumtópico deste
menu. Caso ele tenha permissão a este ícone pode-se bloquear os tópicos que o usuário não
poderá acessar.
 Editor de Relatórios: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
relatórios. Estas operações (A), (E), (I) podem ser desabilitadas e este poderá apenas
visualizar a tela de Relatórios. Caso o usuário seja bloqueado, este não terá acesso a
este ícone na tela de Processos.
 Disponibilizar relatório a outros usuários: O usuário que estiver bloqueado não
poderá disponibilizar relatório a outro usuário.
 Editar Layout: Quando o usuário esta bloqueado, este não visualiza o ícone de
editar layout na tela de relatórios.
 Exportar: Quando o usuário esta bloqueado, este não visualiza o ícone de

Página 67 de 478
exportação na tela de relatórios.
 Importar: Quando o usuário esta bloqueado, este não visualiza o ícone de
importação na tela de relatórios.
 SQL: Quando bloqueado, o usuário não visualiza esta opção em processos.
 SELECT: Quando bloqueada esta opção, o usuário não terá acesso a esta função.
 INSERT: Quando bloqueada esta opção, o usuário não terá acesso a esta função.
 UPDATE: Quando bloqueada esta opção, o usuário não terá acesso a esta
função.
 DELETE: Quando bloqueada esta opção, o usuário não terá acesso a esta função.
 DROP: Quando bloqueada esta opção, o usuário não terá acesso a esta função.
 CREATE: Quando bloqueada esta opção, o usuário não terá acesso a esta
função.
 ALTER: Quando bloqueada esta opção, o usuário não terá acesso a esta função.
 ACESSO TOTAL: O usuário que tiver permissão, poderá utilizar funções além das
relacionadas acima.
 Geração de O.S.: Quando bloqueado o usuário não visualiza este ícone na tela
Processos.
 Histórico de Geração de O.S.: Quando bloqueada esta opção, o usuário não terá
acesso à tela de Histórico de Geração de O.S., acessada à partir da tela de
geração.
 Log Detalhado da Geração de O.S.: Quando bloqueada esta opção, o usuário não
terá acesso à tela de Log Detalhado da Geração de O.S., acessada à partir da
tela de geração.
 Inserir Corretivas: Quando bloqueado o usuário não visualiza este ícone na tela
Processos.
 Nivelamento de Recursos: Quando bloqueado o usuário não visualiza este ícone na tela
Processos.
 Calendário de Periódicas: O usuário poderá (A)lterar o calendário de periódicas. Esta
operação pode ser desabilitada e este poderá apenas visualizar a tela. Caso seja
bloqueado, o usuário não terá acesso ao ícone na tela Processos.
 Integração com MS-Project: Quando bloqueado o usuário não visualiza este ícone na
tela de Processos.
 Integração com Palm Top: Quando o usuário é bloqueado, este não visualiza o ícone no
menu de Processos.
 Guia Configurações: Quando bloqueada esta opção, o usuário não terá acesso a
esta guia na Tela de Integração com o Palm.
 Guia Forçar Importação: Quando bloqueada esta opção, o usuário não terá
acesso a esta guia na Tela de Integração com o Palm.
 Análise de Serviços: Quando o usuário é bloqueado, este não visualiza o ícone no menu
de Processos.
 Personalização: Quando o usuário é bloqueado, este não visualiza o ícone no menu de
Processos.
 Alterar Nomenclatura: Quando bloqueado o usuário não visualiza este ícone no
menu Processos.
 Campos Auxiliares: Quando bloqueado o usuário não visualiza este ícone na tela
Processos.
 Usuário Master: Caso o usuário tenha permissão, este poderá criar
campos, excluir campos. Se ele for bloqueado poderá apenas visualizar a
tela Campos Auxiliares.
 Assistente de Edição de Tela: Quando bloqueado o usuário não visualiza este
ícone no menu Processos.
 Permitir Copiar Layout para outros usuários: Quando tem permissão o
usuário poderá copiar layout para outros usuários.
 Proteger Meu Layout Sob Cópias de Outros Usuários: Quando bloqueado,
permiti que o meu layout seja copiado para todos.
 Gerenciador de Regras: O usuário que tiver as operações (A), (E), (I)
desabilitadas, poderá apenas visualizar a tela Gerenciador de Regras. Caso seja
bloqueado, o usuário não terá acesso a este ícone no menu de Processos.
 Editar Regras: Quando bloqueado, o usuário não visualiza este ícone na
tela Gerenciador de Regras.
 Exportar: Quando o usuário esta bloqueado, este não visualiza o ícone de
exportação na tela Gerenciador de Regras.
 Importar: Quando o usuário esta bloqueado, este não visualiza o ícone de
importação na tela Gerenciador de Regras.
 Gerenciador de KPI: O usuário que tiver as operações (A), (E), (I) desabilitadas,
poderá apenas visualizar a tela Gerenciador de Regras. Caso seja bloqueado, o
usuário não terá acesso a este ícone no menu de Processos.
 Exportar: Quando o usuário esta bloqueado, este não visualiza o ícone de
exportação na tela Gerenciador de KPI.
 Importar: Quando o usuário esta bloqueado, este não visualiza o ícone de
importação na tela Gerenciador de KPI.
 Alterar:Quando o usuário esta bloqueado, este não poderá alterar os
KPI's cadastrados.
 Excluir:Quando o usuário esta bloqueado, este não poderá excluir os
KPI's cadastrados.
 Incluir:Quando o usuário esta bloqueado, este não poderá incluir KPI's.
 Assistente de Edição de Regra: O usuário que tiver as operações (A), (E), (I)
desabilitadas, poderá apenas visualizar a tela Assistente de Edição de Regra.
Caso seja bloqueado, o usuário não terá acesso a este ícone no menu de
Processos.
 Gerenciador de Tarefas: Quando bloqueado o usuário não visualiza este ícone na
tela de Processos.
 Permitir Manipular Tarefas de outros usuários: Quando bloqueado, o
usuário só consegue manipular suas tarefas.
 Tarefas Agendadas: Quando bloqueado o usuário não visualiza este ícone na
tela de Processos.
 Programas Externos: O usuário terá permissão para (A)lterar, (E)xcluir, (I)ncluir
programas externos. Estas operações (A), (E), (I) podem ser desabilitadas e
este poderá apenas visualizar a tela. Caso o usuário seja bloqueado, este não
terá acesso ao ícone no menu de Processos.
 Administração: Quando o usuário é bloqueado, este não visualiza o ícone no menu de
Processos.
 Otimizar Chaves: Quando bloqueado o usuário não visualiza este ícone na tela
Processos.
 Analisar Sincronia: Quando bloqueado o usuário não visualiza este ícone na tela
Processos.
 Eliminar Dados Históricos: Quando bloqueado o usuário não visualiza este ícone
na tela Processos.
 Administração de Usuários: O usuário que for bloqueado neste ícone não terá
acesso a nenhumtópico deste menu. Caso ele tenha permissão a este ícone
pode-se bloquear os tópicos que o usuário não poderá acessar.
 Bloquear Visualização de Minha Tela: Quando o usuário esta bloqueado,
este permite que os demais usuários com acesso possam visualizar a tela
daquele usuário.
 Visualizar Tela de Outros Usuários: Quando o usuário esta bloqueado,
este não poderá visualizar a tela em que os demais usuários estão
utilizando;
 Bloquear Minha Desconexão Forçada: Quando o usuário esta bloqueado,
este permite que os demais usuários com acesso possam desconectar
este usuário.
> Personalizado: O usuário que for bloqueado neste ícone não terá acesso a nenhumtópico
deste menu. Caso ele tenha permissão a este ícone pode-se bloquear os tópicos que o
usuário não poderá acessar.
 Telas: Quando esta opção está bloqueada para o usuário, este não visualiza este ícone
no menu Personalizado.
 Programas: Quando esta opção está bloqueada para o usuário, este não visualiza este
ícone no menu Personalizado.
 Relatórios: Quando esta opção está bloqueada para o usuário, este não visualiza este

Página 69 de 478
ícone no menu Personalizado.
> Permissões Gerais:
 KPI ( Key Perfomance Indicator): Se o usuário estiver bloqueado, este não terá acesso
a KPI's de nenhuma tela.
 Lançar Coletas Acumulativas Retroativas: Quando o usuário estiver bloqueado, este não
poderá inserir ou editar coletas acumulativas retroativas.
 Lançar de Viradas de Medidor: O Acesso pode ser permitido ou não para que realize
lançamentos que virem o valor do "relógio".
 Modificar SQL das Pesquisas: Quando o usuário estiver bloqueado, este não poderá
modificar o SQL das pesquisas.
 Visualizar Custos nos Históricos de O.S. e Calendário: Quando o usuário estiver
bloqueado, este não poderá visualizar o Custo Total, Custo Material e Custo Extra nos
Históricos de O.S. e nem o Custo Total do Calendário.
 Mostrar Dados de todas as filiais Acessíveis: O usuário pode ser bloqueado para
visualizar dados apenas da Filial em que este tem acesso.
 Alterar o SALDO do Estoque Manualmente: O usuário pode ser bloqueado para não
editar o SALDO do estoque.
 Visualizar somente O.S.'s do Cliente relacionado ao Usuário: O usuário pode ter
permissão de visualizar somente O.S.'s que foram abertas para o Cliente que está
relacionado a este usuário. Caso o acesso esteja bloqueado o usuário visualizará todas
as O.S.'s.
 Visualizar somente cadastros e pesquisas do Cliente relacionado ao Usuário: Filtrar
todas as pesquisas do sistema que envolvem clientes de acordo com o bloqueio ou
liberação desta opção, caso o usuário esteja vinculado a um cliente (campo "Relacionar
a Cliente") no cadastro de usuários. Nesta situação, as pesquisas somente mostrarão o
cliente vinculado. Também serão filtradas nesta opção as telas de Solicitação de
Serviços, cadastro de aplicações e Ordens de Serviço.
 Visualizar somente cadastros e pesquisas do Fornecedor relacionado ao Usuário: Filtrar
todas as pesquisas do sistema que envolvem fornecedores de acordo com o bloqueio ou
liberação desta opção, caso o usuário esteja vinculado a um fornecedor (campo
"Relacionar a Fornecedor") no cadastro de usuários. Nesta situação, as pesquisas
somente mostrarão o fornecedor vinculado. Também serão filtradas nesta opção as
telas de Solicitação de Serviços, cadastro de aplicações e Ordens de Serviço.

Dica: é possível copiar a estrutura de acesso de um usuário para o registro corrente. Para isto,
clique no botão , na tela de permissão de acesso, selecione o usuário do qual se deseja
copiar a estrutura e pressione Ok. É possível também copiar a estrutura do registro corrente
para outros usuários apenas clicando no botão e marcando os usuários que receberão a
estrutura, podendo também enviar as configurações do layout das telas para estes usuários.

>Preferências do Usuário

O botão exibe a tela de Preferências do Usuário. Se o usuário que estiver logado possuir
permissão para alterar preferências de outros usuários, este poderá clicar no botão quando
tiver selecionado um outro usuário na tela de usuário. O sistema automaticamente exibirá o
referido usuário na tela de Preferências do Usuário. Caso o usuário logado não possua esta
permissão apenas o seu usuário será exibido na tela de Preferências do Usuário, se esta tela
estiver disponibilizada para o mesmo.

Senha Senha
Esta operação se faz através da digitação de uma senha para o usuário do sistema, de forma a
manter a segurança de acesso aos dados cadastrados e processamento de informações.
Operações da tela:
 No caso de inclusão inicial de uma senha, digite a senha e logo em seguida redigite-a para
confirmação.
 No caso de alteração de uma senha já existente, digite inicialmente a senha antiga a ser
alterada, seguindo os passos posteriores conforme procedimento de inclusão.

Preferências do Usuário Personalização a Nível do Usuário


São configurações para cada usuário autorizado do sistema. Este nível de configuração não
interfere no comportamento do conteúdo do cadastramento, porém interfere no ambiente de
trabalho, tornando-o personalizado para cada tipo de usuário.
Mesmo os usuários pertencentes a grupos de usuário podem ter suas configurações específicas
na tela "Preferências de Usuário".

Ajuda Rápida:
 Exibir Ajuda Rápida: exibe uma ajuda breve sobre o objeto corrente, quando o usuário
posiciona o mouse sobre ele.
 Cor da Ajuda Rápida: cor de fundo da caixa da ajuda rápida.
 Largura Máxima: largura da caixa de exibição da ajuda rápida.
 Atraso para exibir: tempo decorrido para que, depois de posicionar o mouse sobre o objeto,
a ajuda seja exibida.
 Tempo de exibição: tempo em que a ajuda permanece na tela. Após este tempo, ela é
automaticamente escondida.

Visualização dos Grids de Funcionários e Serviços:


Escolha o layout da tela de O.S., com relação ao posicionamento dos grids de registro de
funcionários e de serviços:
 Ambos na guia encerramento
 Ambos em guias separadas
 Apenas funcionários em nova guia
 Apenas serviços em nova guia
 Ambos em uma mesma nova guia

Opções de Edição:
 Utilizar ENTER como TAB: altera o estado natural da tecla ENTER para que ela funcione como
a tecla TAB. Desta forma será possível pressionar ENTER para navegar entre os campos do
formulário, como o padrão do DOS. Veja mais informações no tópico movimentação entre
campos.
 Gravar após último campo: grava automaticamente o registro editado após pressionar
ENTER ou TAB no último campo do cadastro.
 Inserir registro após gravação: além de gravar, insere novo registro após pressionar ENTER
ou TAB no último campo do cadastro.
 Repetir último lançamento de registro de funcionários: ao lançar o registro de funcionários, o
lançamento de período inicial e final do último funcionário lançado será automaticamente
copiado para o novo registro.
 Exibir Barra de Ferramentas: exibe a barra de ferramentas do sistema em forma de ícones.
 Exibir Menu Personalizado: exibe a barra de ferramentas personalizadas do sistema em
forma de menus suspensos, ao invés do menu padrão do sistema.
 Exibir Barra de Status: exibe a barra de status abaixo da janela principal do sistema. As
informações da barra de status são: Empresa atual, Usuário atual e Operação em
andamento.

Opções de Pesquisa:
 Exibir Pesquisa ao Abrir Telas: Exibe a janela de pesquisa da tela corrente, antes de abrí-la.
Desta forma, você poderá localizar o registro desejado imediatamente antes da exibição da

Página 71 de 478
tela.
 Abrir Telas Sem Registros: Esta opção coloca um filtro nulo para os dados da tabela a ser
exibida. Esta opção é interessante quando existem muitos registros em uma determinada
tabela. Sem filtro, a abertura desta tela torna-se lenta. Coloque esta opção em conjunto com
a opção acima para obter um melhor resultado.
 Se o número de registros for maior que: informe o número de registros da tabela para que a
pesquisa seja exibida somente quando a tabela for "grande" suficiente para demorar
demasiadamente sua carga sem um filtro.
 Exibir árvore de agrupamento: nas telas que possuam agrupamentos, será exibida uma
pesquisa baseada no agrupamento para a localização do registro desejado, ao invés da tela
de pesquisa.
 Exibir registros da Filial corrente em agrupamentos: Esta opção permite exibir registros
relacionados à Filial corrente pertencentes a Empresa logada nas árvores de agrupamento.
 Filtrar somente registros ativos: Quando marcada esta opção, os campos de pesquisa
somente exibirão os registros Ativos. Por padrão, somente as tabelas de "Aplicação da
Manutenção", "Planos de Manutenção" e "Funcionários" possuem um campo "Ativo". No
entanto, o usuário pode criar através da tela "Campos Auxiliares" um campo com este nome,
sendo que o mesmo será considerado para esta opção de Filtragem.
 Ao abrir telas: estabelece como as telas serão posicionadas, quando chamadas: Maximizadas
ou Normal.
 Ao pressionar F3, colocar % na posição: estabelece em qual posição será colocado o
caractere curinga para pesquisas utilizando-se a tecla F3.
- Início: procura por registros com qualquer início e final igual à chave informada.
- Fim: procura por registros iniciadas pela chave, com qualquer terminação
- Ambos: procura por registros que contenham a chave em qualquer posição
-< Nada>: não utiliza o caractere curinga automaticamente.
 Ao receber novas mensagens: escolha a ação do sistema. O valor padrão deste campo é
exibir somente uma notificação de nova mensagem na barra de status do Engeman®, se ela
estiver ativa. A outra opção exibe uma mensagem informando ao usuário que ele recebeu
novas mensagens, com a possibilidade de visualizá-las.

Obs.: Sugere-se que:


a) A opção abrir telas sem registros, esteja marcada;
b) Opção exibir árvore de agrupamento ao abrir tela, esteja desmarcada;
c) Filtrar somente registros ativos, esteja marcada.

Desta forma o sistema não irá carregar a tela com todo o cadastro disponível antes que o
usuário mencione o que precisa procurar no sistema proporcionando assim uma otmização a
nível de usuário
Solicitação de Serviços:
 Imprimir solicitações automaticamente: Se marcada, quando o solicitante grava uma nova
solicitação, automaticamente o relatório informado abaixo será impresso. A impressora
destino dependerá da configuração das impressoras no micro do solicitante.
 Procurar novas solicitações a cada ... minutos: Selecione um intervalo para que o sistema
faça uma pesquisa na base de dados buscando por novas solicitações. As novas solicitações
poderão ser indicadas somente na barra de status do sistema ou a tela de reconhecimento
de solicitações será aberta automaticamente. Caso a opção da barra de status seja
escolhida, dê um duplo clique no ícone para abrir a tela de reconhecimento de
solicitações. Opcionalmente, pode-se configurar filtros de setores executantes e filiais da
solicitação para os quais serão exibidos os alarmes. Dessa forma, para cada usuário, os
alarmes poderão ser filtrados de acordo com o setor executante responsável e a filial para a
qual foi realizada a solicitação.

Copiar Preferências do usuário:


 Para realizar esta operação, utilizar o botão "Copiar Preferências do usuário selecionado para
outro(s) usuário(s)" localizado na parte superior direita da tela de Preferências do Usuário.
 Nesta operação, as configurações do usuário selecionado no campo superior da tela serão
copiadas para o(s) usuário(s) selecionado(s) na caixa aberta ao clicar no botão mencionado.

Sistema Multi-Filial:
 Ao fazer login no sistema, será obrigatório selecionar uma filial padrão. Esta
funcionalidade servirá apenas de auxílio para navegação entre os registros em todas as telas
que dependem da filial.
 Por padrão, inicialmente todos os usuários terão acesso a todas as filiais de cada
empresa que ele puder acessar. O bloqueio de filiais deverá ser feito no perfil do usuário, como
é feito com o bloqueio das empresas.
 Uma vez configurado, um usuário só poderá acessar dados das filiais que ele tem
acesso, a não ser que seja configurado um nível de permissão especial para acesso a dados de
outras filiais nas telas de O.S. e S.S. Dessa forma, mesmo sem permissão de acesso a uma
determinada filial, ele poderá informar na O.S. aplicações desta filial.

Preferência Gerais Preferências


Esta tela é responsavel pela configuração de ambiente de trabalho do Engeman®, nos
aspectos:

Geral
Máscaras de Códigos
Agrupamentos
Barra de ferramentas

Filtros para alarme de Solicitação de Serviço Filtros para Alarme de Solicitação


de Serviço
Este cadastro será utilizado para filtrar o alarme de Solicitações de Serviço, ou seja, se por
exemplo um usuário quiser receber alarme de novas S.S. realizadas somente para o setor
"Mecânica", deverá informar nesta tela, na opção Setor Executante, o setor "Mecânica". A idéia
é a mesma para a filtragem pelas outras opções (Filiais, Centros de Custo, Localizações da
Aplicação e Tipos de Manutenção).

Configurações Gerais Personalização a Nível Geral


São configurações que afetam todo o comportamento do sistema, inclusive o travamento a
determinados campos e valores padrões de cadastramento.
Padrões:
CPF - Utilizar máscara: Determina se a digitação de CPF utilizará ou não a máscara
999.999.999-99.
CPF - Bloquear digitação, se incorreto: Não permitir a digitação de CPF incorreto.
CPF - Emitir advertência, se incorreto: Emitir advertência ao usuário se o CPF digitado for
inválido, mas permitir seu cadastramento. CPF em branco não será validado.

CGC - Utilizar máscara: Determina se a digitação de CGC utilizará ou não a máscara


99.999.999/9999-99
CGC - Emitir advertência, se incorreto: Emitir advertência ao usuário se o CGC digitado for
inválido, mas permitir seu cadastramento. CGC em branco não será validado.
CGC - Bloquear digitação, se incorreto: Não permitir a digitação de CGC incorreto.

Máscara CEP: Configuração da apresentação da máscara do CEP. Ao ser instalado, o


Engeman® configurará a máscara como 99.999-999
Índice Financeiro Padrão: Determina qual dos índices cadastrados será utilizado como
padrão nos cálculos do sistema. Ao ser instalado, o Engeman® criará automaticamente um
novo índice "R$" como padrão.
Motivo de Cancelamento Padrão: Determina qual o Motivo de Cancelamento será vinculado
às Ordens de Serviço que forem canceladas durante o processo de geração automática de

Página 73 de 478
OS's.
Intervalo em segundos para captura dos dados (Admin. Usuários): Indica o intervalo
de tempo utilizado pelo sistema para realizar o monitoramento de usuários na tela
Administração de Usuários. O valor padrão é 5. Se esta opção estiver desabilitada, não será
possível utilizar as telas "Administrar Usuários" e "Enviar mensagem instantânea".
Ao cadastrar registros com o mesmo Código existente em outra Filial: Ao cadastrar
Aplicações, Escalas de Trabalho da Aplicação, Funcionários, Escala de Trabalho do Funcionário
e Almoxarifados o sistema poderá Avisar, Bloquear ou Nada ao cadastrar um registro com o
mesmo Código de outra Filial.
Exibir o campo cliente na tela de Roteiros no: Ao abrir a tela Roteiro de Viagem, o
campo "Cliente" será exibido no cabeçalho da tela se nesta opção estiver selecionado o item
"Cabeçalho" ou será exibido na guia de trechos do roteiro se nesta opção estiver selecionado o
item "Guia Trechos".
Validar Acesso do Engeman Web: Ao abrir o EngemanWeb será exibido um codigo de
validação para evitar que usuários robôs não invadem o sistema.
Inativar o usuário ao ultrapassar o limite de: Ao abrir o sistema e errar acima do limite de
tentativas, o usuário será inativado.

Ordem de Serviço:
Segurança:
Segurança Ordem de Serviço
 Consistir número da O.S. após sua digitação: Originalmente, o número da O.S. é consistido
quando o registro for aplicado ao banco de dados. Entretanto, esta configuração permite que
seja feita uma consistência logo após o número da O.S. tiver sido informado.
 Exibir somente dados da Aplicação Relacionada, quando marcada, ao selecionar uma
aplicação no registro de serviço, só serão retornadas as aplicações relacionadas à aplicação
da O.S., caso esta não possui agrupamento, todas as aplicações serão retornadas.
 Obrigar digitação das datas de início e término de serviço: quando marcada, esta opção
obriga a digitação das datas de início e término do registro de funcionários. Caso contrário,
permite registrar somente o funcionário e deixar as datas em branco. De toda forma, a O.S.
só poderá ser fechada se ambas as datas forem informadas.
 Consistir qtde. material no registro de serviço: quando marcada, ao se registrar um material
no registro de serviços, verifica se foi lançada quantidade para este material, se não possuir
quantidade, o sistema avisa se o usuário quer lançar ou não a quantidade.
 Incluir aplicações em garantia na geração de O.S.: quando marcada (padrão), o sistema vai
gerar O.S. normalmente, ignorando o período de garantia.

 Ao registrar material não relacionado à aplicação da O.S.: no registro de serviços e no


registro de materiais adicionais do registro de serviço, se for informado um material que não
possui relacionamento com a aplicação da O.S. ou com a aplicação do registro de serviço, o
sistema poderá Avisar, Bloquear, Nada ou Relacionar o material automaticamente.
 Ao lançar funcionário de outro setor executante na O.S.: Informe qual ação será tomada
caso um funcionário de setor executante diferente da O.S. seja lançado no registro de
funcionários. As opções possíveis são: Avisar, Bloquear ou Nada.
 Ao lançar funcionário de outra Filial na O.S.: Informe qual ação será tomada caso um
funcionário de outra filial seja relacionado no registro de serviço da O.S.. O sistema poderá
Avisar, Bloquear ou Nada.
 Ao lançar funcionários não qualificados para a O.S.: Esta opção existe para avisar se um
funcionário não era qualificado para executar a O.S. Esta rotina só será executada caso a
O.S. esteja relacionada a um plano de manutenção e este plano possuir setores executantes
com cálculo de recursos humanos pela qualificação. Na verdade, apesar de existir esta
consistência, ela será testada somente após o funcionário já ter executado o serviço. Sendo
assim, ela funciona mais como um mecanismo de detecção de erro de digitação de
lançamento de registro de funcionários do que uma verificação do serviço do funcionário em
si. As opções possíveis são: Avisar, Bloquear ou Nada.
 Ao lançar horários de funcionários fora da escala de trabalho: utilize esta opção para
consistir se o lançamento de horas do funcionário está sendo lançado dentro de sua escala
de trabalho, num feriado da escala ou no feriado do setor executante. As opções disponíveis
são: Avisar, Bloquear, Nada.
 Se houver divergência de agrupamentos entre as aplicações da O.S.: Marque esta opção
para Avisar, Bloquear, Nada quando o lançamento da aplicação do registro de serviços não
for uma aplicação filha da aplicação informada na O.S. (grupo construtivo).
 Ao registrar aplicação que já contém O.S. aberta: Marque esta opção para Avisar, Bloquear,
Nada quando já houver alguma O.S. aberta no momento do lançamento da aplicação da O.S.
 Ao registrar aplicação ainda está em período de garantia: Marque esta opção para Avisar,
Bloquear, Nada quando no momento do lançamento da aplicação da O.S., seja exibida uma
mensagem de que a aplicação está em período de garantia.
 Ao Cancelar O.S. Atualizar Data da Última Manutenção, quando uma O.S. for cancelada, se
esta estiver vinculada a um plano, o sistema poderá avisar, nada ou atualizar a Data da
Última manutenção desse plano.
 Utilizar formatação RTF nos campos padrões RTF do sistema: quando marcada, permite que
os campos que possuem esta formatação, possam ser formatados, ou seja, possa mudar a
cor da Fonte, colocar o texto em negrito, etc. Quando não marcada, o texto não pode sofrer
nenhuma formatação, e há a opção de 'Corrigir Registros RTF já cadastrados', ou seja,
retirar todas as formatações dos campos já cadastrados no sistema. Uma vez clicado neste
botão, não há como voltar à formatação anterior, somente editando e alterando campo a
campo.

Fechamento:
Consistir tempo máximo (horas) para O.S. com:
 Registro de cada Funcionário >=: Informe o valor máximo de horas para os lançamentos de
registros de funcionários. Durante o cadastramento de cada registro, se o somatório dos
tempos totais de todos os registros cadastrados na O.S. for superior ou igual ao tmepo
informado na configuração mencionada, o sistema irá Avisar ou Bloquear, de acordo com a
opção selecionada. Esta verificação é importante principalmente para evitar que datas
incoerentes sejam informadas, por erros comuns de digitação, gerando intervalos de horas
muito grandes, como por exemplo:

Valor Desejado Valor Digitado


15/02/1999 15/02/9199

 No exemplo acima, o cálculo de horas seria baseado em valores errôneos, gerando


informações de eficiência e/ou custo exageradamente grandes.
 De forma análoga ao exposto acima, existem mais duas configurações para segurança de
digitação de valores: Aplicação parada >= (Consiste a data e hora que aplicação
parou/funcionou) e Interferência Realizada >=.

Ao fechar O.S. sem registro de:


 Fechamento de O.S. sem registro de funcionários: Escolha entre Avisar, Bloquear ou Nada
O.S. sem registro de funcionários. Esta verificação será realizada no momento de
fechamento da O.S.
 Fechamento de O.S. sem registro de serviços: Escolha entre Avisar, Bloquear ou Nada O.S.
sem registro de serviços. Esta verificação será realizada no momento de fechamento da O.S.

Reprogramar acumulativa pela:


 Escolha o tipo de cálculo interno que o sistema irá realizar para a previsão de geração de
O.S. acumulativa. De acordo com a escolha feita, o sistema irá considerar uma das datas
abaixo para reiniciar o acumulador do medidor no momento da geração de O.S. como os
valores default para as novas relações criadas entre Aplicações e Planos através da
Programação Acumulativa. Tanto as programações calculadas pela tela de geração, quanto
as geradas automaticamente pela coleta seguirão esta configuração. A data de última
manutenção dos planos será atualizada por esta data. As opções são:
 Data Programada da O.S.: selecione esta opção para inicializar a contagem acumulativa a
partir da data programada de uma O.S. fechada, independente de sua execução ou data
de fechamento.
 Data de Fechamento da O.S.: selecione esta opção para inicializar a contagem acumulativa
a partir da última data do registro de funcionários (se existir) ou pela data de fechamento
da O.S. (quando não há registro de funcionários). Desta forma, uma O.S. que tenha sua

Página 75 de 478
data de execução bem posterior à data programada, poderá "ajustar" melhor o
planejamento.
 Antes de efetuar este tipo de configuração, a política de qualidade da empresa deverá ser
consultada. Dependendo da configuração acima, os tempos de manutenção acumulativa
poderão variar muito. Evite alternar entre os dois tipos de cálculo após ter iniciado a sua
programação.

Atualização do Estoque ao Fechar O.S.:


 Atualizar Estoque
 Não = Não atualiza no estoque o saldo dos materiais utilizados na O.S. (Opção Padrão)
 Sim = Atualiza no estoque o saldo dos materiais utilizados na O.S.

A opção "Sim" obriga informar a opção "Gerar Requisição"

 Gerar Requisição:
 Sim = A atualização de estoque se dará juntamente com a geração automática de uma
requisição de materiais.
 Não = A atualização de estoque será realizada atualizando somente o saldo dos materiais
utilizados na O.S., sem gerar uma requisição.

Este campo somente pode ser preenchido se tiver sido informado "Sim" na opção "Atualizar
Estoque".

Motivo de atraso de O.S. obrigatório se período (horas):


 Obrigatoriedade de informar o código de atraso da O.S.: informe o período em horas limite
para que uma O.S. seja considerada como atrasada. O sistema permite a configuração de 5
critérios relacionados abaixo. Se o valor em horas for 0 (zero), a verificação não será
realizada. Se ocorrer ao menos um dos critérios, será obrigatório informar o código de atraso
desta O.S. antes de fechá-la.

Critérios:
Tempo de Execução Real - Previsto;
Tempo de Interferência Real - Previsto;
Início do Primeiro Serviço - Data de Recebimento da O.S.;
Início do Primeiro Serviço - Data Programada da O.S.;
Término do Último Serviço - Data Prevista de Entrega da O.S.

Fechamento de O.S. Acumulativa:


 Se existir uma O.S.'s Acumualtivas de menor limite que a O.S. corrente o sistema poderá:
 Proceder de maneira normal ignorando a existência de O.S.'s de limite inferior,
utilizando a opção Nada;
 Avisar e exibir uma lista das O.S.'s que serão fechadas e terão as datas de última
manutenção atualizada utilizando a opção Avisar;
 Bloquear o fechamento da O.S. corrente até que as de limite inferior sejam fechadas
utilizando a opção Bloquear;
 Fechar as de limite inferior automaticamente e atualizar a data de última manutenção
caso o usuário escolha a opção Fechar Todas.
 Obrigar Digitar Coleta Acumulativa ao Fechar/Cancelar O.S.: exige que o usuário informe um
valor para coleta acumulativa para que a O.S. seja fechada.
 Obrigar Digitar Coleta Acumulativa ao Fechar/Cancelar O.S. Corretiva: exige que o usuário
informe um valor para coleta acumulativa para que a O.S. seja fechada, isso só ocorrerá se a
O.S. tiver sido aberta manuamente, e a Aplicação informada estar vinculada a um Ponto de
Controle.

Geração:
Geração da O.S.'s Acumulativas:
 Padrão pelo cálculo de regressão: marque esta opção para que o sistema gere as O.S. de
acordo com a previsão.
 Ajustar para hoje O.S.(s) com limite ultrapassado: marque esta opção para que, na
hora da geração, ao invés de gerar O.S. de acordo com a previsão, o sistema leve em
consideração a data atual, caso o limite já estiver sido ultrapassado e a data da O.S. será
ajustada para a data do dia.
 Somente gerar O.S.(s) com limite ultrapassado: marque esta opção para que, na hora
da geração, ao invés de gerar O.S. de acordo com a previsão, o sistema leve em
consideração a data atual, caso o limite já estiver sido ultrapassado. O ciclo não será
prejudicado nesse caso.

Gerais:
 Justificar geração de O.S: esolha a opção para que, antes da geração seja obrigatório ou
não a justificativa do Motivo da Geração.
 Replicação de Corretiva planejada para todos os setores: Definir se ao abrir uma O.S.
corretiva de um determinado plano, o sistema poderá gerar automaticamente uma O.S com
a mesma estrutura para todos os outros setores do mesmo plano. As opções são: Nunca,
Sempre ou Perguntar antes.
 Verificar se gera O.S. por alarme ao lançar coletas de viagem: Se esta opção estiver
marcada como Sim, ao salvar uma coleta de Viagem, o sistema realizará uma verificação
que analisará se há O.S.'s preventivas a serem geradas. Se a opção estiver marcada como
Não nenhuma verificação é feita.
 Verificar se gera O.S. por alarme ao lançar movimentações de aplicação: Se esta
opção estiver marcada como Sim, ao realizar movimentações de Aplicação (seja pela tela de
movimentação visual ou pelo histórico de movimentação), o sistema realizará uma
verificação que analisará se há O.S.'s preventivas a serem geradas. Se a opção estiver
marcada como Não nenhuma verificação é feita.

Solicitação de Serviços:
 Permitir informar a data e hora que a máquina parou diferente da data de solicitação: Esta
opção existe para permitir que a informação do solicitante "máquina parou" seja apurada de
forma lógica ou real. Marcando esta opção, o solicitante poderá realizar uma solicitação num
horário e estabelecer que a máquina parou em outro horário diferente. Com esta opção
desmarcada, a data e hora que a máquina parou será considerada como sendo a mesma
data e hora da solicitação. Esta informação será armazenada de forma global no sistema.
 Quesitos para Avaliação de Serviços - Nesta tabela poderão ser cadastrados os quesitos para
Avaliação de Serviços de uma Solicitação. Como por exemplo,

 Notas para Quesitos de Avaliação de Serviços - Nesta tabela poderão ser cadastradas as
Notas dos Quesitos de Avaliação de Serviços da Solicitação. Como por exemplo:

 Ao selecionar uma Solicitação de Serviço, pode-se avaliar esta conforme os quesitos e notas
cadastrados conforme exemplo acima.

Página 77 de 478
 Solicitação de serviços via internet: Se você possui o módulo de solicitação de serviços via
web, configure o código de acesso de seu banco de dados na web neste espaço.

Aplicação:
 Emitir aviso se a
variação entre as 10 últimas coletas for maior que: Quando o usuário está cadastrando
uma coleta para uma aplicação, o sistema realiza um cálculo para verificar se o valor que
está sendo informado é um valor válido. Neste cálculo é verificada a variação máxima entre
as 10 últimas coletas cadastradas e adicionado um percentual de limite para o valor
esperado. Este percentual é definido por esta opção, que vai de 10 % (valor padrão) até
50%. Caso seja lançada uma coleta que esteja fora do valor esperado, será emitida a
seguinte mensagem de aviso: "O valor digitado apresenta uma variação muito grande em
relação ás 10 ultimas coletas. Deseja corrigí-lo?". Esta consistência é importante para ajudar
a evitar que o usuário cometa erros no lançamento de coletas e somente é realizada caso
existam pelo menos 5 coletas já cadastradas.
Caso deseje bloquear para que não ocorra erros, marque a opção "bloquear".
Exemplificando: se a variação máxima entre as 10 últimas coletas de uma aplicação é de 500
km, a última coleta cadastrada possui o valor de 20000 km e a porcentagem de variação é de
10%, o valor esperado para uma nova coleta seria de no máximo 20550 km.
 Ao movimentar Aplicações que possuem O.S.'s Abertas : Na tela de Movimentação
Visual, se esta a opção for Bloquear, ao montar uma Aplicação, serão carregadas apenas
aplicações que não estão relacionadas à O.S.'s fechadas, ou ao selecionar uma Aplicação que
esteja relacionada a uma O.S. aberta o sistema poderá Avisar ou Nada.
 Emitir alarme de geração de O.S. somente na primeira vez atingir o limite de alerta
estipulado: Se esta opção estiver marcada, ao lançar coletas acumulativas ou de tendência,
se for atingido o "Limite de Alerta" para geração de O.S., o alarme para geração será emitido
somente na primeira vez em que este limite for alcançado. Do contrário, o aviso será emitido
para toda coleta lançada até que o limite real seja atingido.

Material:
Geral:
Usar controle de Estoque por lote de fabricação: Esta opção deve ser marcada se a
empresa irá controlar seu estoque por lotes de fabricação.
Consistir lançamento de Materiais em Inventário: Ao lançar material que esteja em
inventário, o sistema poderá Avisar, Bloquear ou Nada.
Ao realizar lançamentos com data superior à data atual: Nas telas relacionadas ao
material, se a data informada for superior a data atual o sistema poderá Bloquear, Avisar ou
Nada.

Estoque Avançado
Controle de Estoque Avançado: Esta opção deve ser marcada se a empresa irá controlar o
estoque de forma avançada, através de transações e movimentações.
** As opções abaixo só terão efeito se a opção Controle de Estoque Avançado estiver
marcada.
Transação de Inventário: Ao realizar o inventário de materiais e efetivá-lo, serão criadas
movimentações com transações de entrada e saída informadas nestes campos. Uma
movimentação utilizará a transação de entrada se o saldo físico for maior que o saldo e a de
saída se o saldo físico for menor que o saldo.
Transação de Transferência: Ao realizar a transferência de material, o sistema irá gerar
movimentações com transações de entrada e saída informadas nestes campos. Uma
movimentação utilizará transação de entrada nos Almoxarifados de Destino e a de saída nos
Almoxarifados de Origem.
Transação de O.S.: Se o sistema estiver configurado para atualizar o estoque ao fechar a
O.S., serão geradas movimentações com transação de saída informada neste campo.
Transação de Viagem: Ao informar os insumos na viagem, e salvá-la, serão geradas
movimentações com transação de saída informada neste campo, somente para materiais
internos.
Alíquotas de Impostos: Ao realizar lançamentos de entrada fiscais os valores do PIS e
COFINS serão calculados baseados nestas alíquotas.
Ao efetivar nota de entrada com valores totais diferentes: Na tela de Lançamento de
Entrada, há os campos Valor Total da Nota (campo informado pelo usuário) e Total da Nota
(campo calculado de acordo com os valores dos itens), se estes valores não forem igual o
sistema poderá Avisar, Bloquear ou Nada.
Ao cadastrar lançamentos em um período fechado: Se o usuário realizar qualquer tipo de
lançamento de materiais (Lançamento de Entrada, Requisição, Inventário, Consumo Direto,
entre outros) com uma data igual ou inferior a um perído já fechado, o sistema poderá Avisar,
Bloquear ou Nada.
Obrigar vinculação do Item da Requisição com um Registro de Serviço: Se esta opção
estiver marcada, ao realizar uma requisição ou devolução, o sistema obriga a vinculação do
item da requisição a um item do Registro de Serviço da O.S., acrescentando o material nos
serviços e atualizando ser valor e quantidade, caso esta opção esteja desmarcada, se for
informada uma O.S. na requisição, a mesma não terá nenhum vinculação com seus os itens,
portanto as quantidades do item do Registro de Serviço daquele material não serão
atualizadas.

Alterar Empresa Alterar Empresa


Utilize esta opção para alterar a empresa corrente. A empresa corrente também pode ser
alterada no cadastro da empresa, movendo-se os registros.

Alterar Usuário Alterar Usuários


Utilize esta opção para alterar o usuário do sistema.
Informe o nome do usuário e sua senha. Logo em seguida, selecione a empresa de trabalho.

Alterar Senha Alterar Senha

Utilize esta opção para alterar a senha do usuário logado no sistema.

Calendário Calendário
Este calendário, além de ser um auxiliar na programação dos planos de manutenção,
fornecendo uma visualização rápida de datas em formato de um calendário, com os dias da
semana e com o número da semana do ano, contém um mecanismo de pesquisa de O.S.
(liberado apenas para usuários com a permissão arquivos/calendário/Mostrar O.S. do
período).
Selecione um período de datas no calendário, pressionando o mouse sobre o primeiro dia e
arrastando-o até o dia desejado. Selecione os filtros das O.S., se necessário. Todos os filtros
presentes na tela de geração de O.S. estarão disponíveis. Pressione o botão "Mostrar O.S. do
período". Uma nova tela será exibida indicando o número de O.S. existentes no período. Para
visualizar maiores detalhes das O.S., clique no botão "Mostrar e Agrupar por".
Para obter uma listagem de O.S. agrupada pelos
itens ao lado, marque a caixa de verificação para o
agrupamento desejado. As opções não marcadas serão
exibidas como detalhes da O.S.
Para alterar o ordem do agrupamento, arraste os itens
na ordem desejada (de baixo para cima ou
vice-versa). Clique novamente o botão "Mostrar e
Agrupar por". Repita esta operação várias vezes,
somente alterando a forma do agrupamento para
obter uma análise em vários pontos de vista.

Página 79 de 478
Uma vez mostrado o resultado da pesquisa, você poderá percorrer a árvore gerada,
verificando os detalhes de cada O.S., dentro dos agrupamentos. Observe que ao lado direito
de cada linha do agrupamento aparece o número de O.S. entre parêntesis.Erro! Fonte de
referência não encontrada. Informações sobre as datas de fechamento ou cancelamento das O.S. e
responsáveis pelo fechamento ou cancelamento das O.S. podem ser verificados no resultado da
pesquisa.Erro! Fonte de referência não encontrada.
Para visualizar todos os detalhes da O.S., clique com o botão direito do mouse sobre o seu
número e selecione a opção "Abrir tela da O.S.".

Gerenciador de E-mails
Gerenciador de E-mails

Possui todas as ferramentas necessárias para o envio e recebimento de e-mails internos do


sistema.
Caixas de Armazenamento
Ao lado esquerdo desta tela estão dispostas as caixas de armazenamento de mensagens.
Existem 3 caixas pré-configuradas, que não podem ser excluídas, mas que permitem a edição
do nome delas:

 Caixa de Entrada: mensagens e e-mails de relatório enviados para você.


 Caixa de Saída: e-mails de relatório que você tenha configurado para envio
posterior. Para enviar as mensagens desta pasta, clique no ícone "enviar e-mails da caixa
de saída". Todas as mensagens serão encaminhadas para os devidos destinatários, uma a
uma. Uma barra de status mostrará o andamento do envio e o status, se ocorreram erros
ou não durante o envio.
 Itens Enviados: todos os e-mails emitidos por relatório ou mensagens enviadas por
você.
Demais caixas poderão ser criadas. Para isso, clique no ícone ao topo da lista. As caixas
criadas poderão ser renomeadas ou excluídas.
Para mover mensagens entre pastas, arraste-as para a pasta desejada.
Abrindo Mensagens no Gerenciador de E-mail Padrão
Você pode abrir suas mensagens diretamente no software de e-mail padrão configurado em
seu computador. Para isso, dê um duplo clique sobre a mensagem, ou clique sobre o ícone
localizado na barra de ferramentas.
Este recurso é interessante para encaminhar mensagens para outros destinatários não
informados no momento do envio da mensagem. Entretanto, as mensagens enviadas pelo
software externo ao Engeman® não serão armazenadas no sistema.
Outros Recursos
 Salvar e-mail em disco: Para salvar o e-mail atual em um arquivo, selecione o e-mail e
clique no ícone .
 Mostrar/Ocultar conteúdo da mensagem: para desativar a exibição do conteúdo do e-mail,
clique no ícone . Quando este botão está desativado, o uso de memória e a velocidade
de navegação entre mensagens é bem maior.
 Quando uma mensagem possui anexos, um ícone aparecerá ao lado do assunto. No
painel de visualização do conteúdo da mensagem também será exibido um ícone
que, quando clicado, mostrará os nomes dos arquivos anexos. Para salvar ou exibir
somente um dos anexos, clique sobre ele e escolha a opção" salvar"," abrir" ou" cancelar".
Para salvar todos os anexos selecione a opção "salvar anexos...".
 Botão de acesso ao catálogo de endereços.
Catálago de Endereço Catálogo de Endereços
O catálogo de endereços é um local de armazenamento de todos os contatos do sistema, com
o nome, e-mail correspondente e identificador único. Esta lista poderá ser consultada a
qualquer momento para envio de e-mails pelo gerenciador de e-mails padrão do sistema ou
para envio de relatórios por e-mail.
Inserindo Novos Contatos
Há duas formas de inserir contatos no catálogo de endereços:

 Manualmente: Clicando no botão , você deverá digitar o nome e e-mail de contato.


Logo abaixo, selecionar opcionalmente para qual(is) grupo(s) este contato será
relacionado.
 Automaticamente: Clicando no botão , o sistema irá preencher automaticamente os
contatos, baseando-se nos cadastros já existentes de clientes, fornecedores, funcionários,
setores executantes e usuários. Os contatos criados serão automaticamente inseridos nos
devidos grupos. Esta opção deve ser usada apenas uma vez. Se for selecionada mais de
uma vez, ela fará uma pesquisa de coincidência de nomes e e-mails para evitar
lançamentos duplicados, mas se você tiver alterado algum nome ou e-mail, a duplicação
será inevitável.

Grupos
Crie grupos de contato para enviar e-mails automaticamente para todos os componentes de
um grupo. Ao enviar e-mail, informe somente o nome do grupo.

Para criar um novo grupo, clique no ícone localizado na barra de ferramentas. Após a
criação de um grupo, ele poderá ser renomeado e excluído a qualquer momento. A criação de
sub-grupos não é possível.
Para relacionar contatos a um grupo, selecione-os à direita e arraste-os sobre o contato
desejado. Ou então dê um duplo clique sobre o contato e marque a quais grupos ele será
relacionado.
Outras Operações
 Para localizar contatos rapidamente, digite o nome do contato na caixa de filtros e
pressione o botão filtrar (ou pressione ENTER) . Somente os
contatos cujo nome ou e-mail coincidam com a frase digitada, em qualquer parte dela,
serão exibidos. Para remover o filtro, limpe a caixa de filtro e pressione em filtrar
novamente.
 Ao excluir um grupo de contatos, você não estará excluindo os contatos contidos nele.
Apenas a relação será eliminada.
 Ao excluir um contato, a relação dele com o grupo de contato será também excluída.
 Para alterar a ordenação da lista de contatos, clique sobre o título da coluna desejada.
Clicando-se novamente, a ordenação será invertida de ascendente para descendente.
 Para alterar todas as fontes automaticamente entre maiúsculas e minúsculas, clique no
ícone . Escolha as opções de conversão disponíveis.
 Para enviar e-mail para um grupo de contato inteiro, clique com o botão direito do mouse
sobre o grupo e selecione a opção "enviar mensagem".
 Para enviar e-mail para vários contatos, de grupos diversos ou não, selecione-os na lista à
direita e clique com o botão direito do mouse. Selecione a opção "enviar mensagem".

Enviar relatório por e-mail


E-mail
Esta tela é dividida em duas partes distintas: Uma para o envio da mensagem e outra para a
configuração do servidor de e-mail:
Configurar Servidor de e-mail:

Página 81 de 478
 Servidor SMTP: informe o nome do servidor de smtp. Exemplo: smtp.provedor.com.br
 Porta: porta do servidor. Geralmente é 25
 Conta: seu nome ou endereço padrão para login no servidor. Exemplo:
nome@provedor.com.br ou simplesmente: nome
 Senha: sua senha de login
 Endereço de retorno: É o endereço pelo qual os destinatários podem responder seu e-mail
clicando em" responder ao remetente". Este endereço pode ser deixado em branco.

Estas informações serão armazenadas no banco de dados de acordo com o usuário. As


informações sobre senha serão armazenadas criptografadas. Desta forma, a configuração
deverá ser realizada somente uma vez. Nas vezes seguintes, apenas informe o destinatário do
e-mail para enviá-lo.
Enviar e-mail:
Formas de envio do e-mail:
Abrir o programa de e-mail padrão, como o Microsoft Outlook e
enviar o relatório a partir dele.
Arquivar o e-mail em sua "caixa de saída" no gerenciador de e-mails.
Ao ser enviado posteriormente, guardará o e-mail na pasta "itens
enviados".
Enviar e-mail diretamente para usuários do sistema. Nesta
modalidade não há necessidade de escolher os destinatários
anteriormente. Ao clicar no botão, uma lista com os possíveis
usuários do sistema será exibida. Marque os desejados. O e-mail
será armazenado na caixa "itens enviados".
Envia imediatamente o e-mail para os destinatários selecionados
através do mecanismo de envio de e-mails do próprio Engeman®. O
e-mail será armazenado na caixa "itens enviados".

 Para: Destinatário(s) de seu relatório. Para informar mais de um destinatário, separe


cada endereço por vírgula "," ou ponto e vírgula ";". Pressione F2 para efetuar uma
pesquisa nos endereços de e-mail cadastrados no catálogo de endereços. Para enviar e-mail
para um grupo de destinatários cadastrados, informe somente o nome do grupo. Para
enviar o e-mail através do" envio direto" a usuários do sistema, não há necessidade de
informar destinatários.
 Assunto: O nome do relatório é copiado automaticamente para este campo, podendo ser
alterado.
 Enviar como: Selecione a forma como o e-mail será enviado. As opções são:
Corpo e-mail (padrão): esta opção copiará as páginas selecionadas para o corpo do e-mail,
no formato de figura. É a melhor opção para enviar e-mails porque o conteúdo das páginas
será exibido no próprio software de e-mail padrão.
Anexo: ao escolher esta opção, escolha um dos formatos para que o relatório possa ser
exportado e anexado ao e-mail. Use esta opção caso o destinatário não possa receber
mensagens de formatação HTML ou queira enviar o relatório através de um arquivo único.
Anexo zip: semelhante à opção anterior, porém irá compactar os arquivos anexos ao
e-mail antes de enviá-los. Esta opção é bem indicada ao enviar mensagens com anexo
porque reduz o tamanho das mensagens.
 Páginas: Escolha quais as páginas a enviar. Os formatos HTML, PDF e RTF não permitem
esta configuração.
 Comentários: Opcionalmente você poderá digitar um texto que será colocado no cabeçalho
de seu e-mail.
 Clique no botão "Fechar" para cancelar o envio do e-mail.

Enviar Mensagem Enviar Mensagem


Possibilita o envio de mensagens para outros usuários do sistema, mesmo que eles não
estejam "on-line"

Como enviar mensagens:


 Selecione os usuários para os quais você deseja enviar a mensagem. Para selecionar
somente os usuários on-line, clique no botão correspondente no topo da lista de usuários.
Se selecionado algum grupo para receber a mensagem, todos os usuários daquele grupo
também a receberão.
 Informe o assunto de sua mensagem.
 Escreva a mensagem
 Clique no botão "Enviar".

Todas as mensagens que você enviar ficarão armazenadas na sua caixa de "Itens Enviados",
no Gerenciador de e-mails. Os destinatários de sua mensagem receberão através da "Caixa de
Entrada".
A cada minuto, são checadas automaticamente novas mensagens enviadas. No caso de
existirem mensagens, um aviso na barra de status do sistema será exibido. Para isso, é
necessário que a preferência do usuário "Exibir barra de status" esteja ativa.
O envio de mensagens, assim como o seu recebimento, está restrito aos usuários que
possuam o acesso a estas operações.

Tabelas Tabelas

Ocorrências
Causas
Serviços
Eventos
Sindicato
Fornecedores
Classificação de Fornecimento
Clientes
Unidades
Horários para Escala
Feriados
Índices Financeiros
Tipos de Documento
Motivo Atraso O.S.
Motivo Cancelamento
Desenhos
Tabelas Roteiro de Viagem
Transação

Ocorrências Ocorrências
Código e descrição das ocorrências de manutenção - defeitos e falhas.
Estes dados são usados para analisar estatisticamente as ocorrências de manutenção.

O sistema permite cadastrar esta entidade vinculada em agrupamentos de código, facilitando


assim o acesso a informações e a emissão de relatórios.
Veja também:
Agrupamento

CausasCausas
Código e descrição do motivo pelo qual aconteceu uma falha ou defeito.
Estes dados são usados para analisar estatisticamente as ocorrências da manutenção, devendo

Página 83 de 478
ser informados na execução das ordens de serviços.

O sistema permite cadastrar esta entidade vinculada em agrupamentos de código, facilitando


assim o acesso a informações e a emissão de relatórios.
Veja também:
Agrupamento

Serviços Serviços
Código e descrição dos serviços realizados durante a manutenção.
Estes dados serão usados como filtros ou agrupamentos no processo de emissão de relatórios
e como elemento de análise nos relatórios que fizerem referência a serviços executados.

Veja também:
Agrupamento

EventosEventos
Cadastro de código e descrição dos eventos responsáveis pelo processo de abertura de ordens
de serviços programadas por eventos.
Estes dados serão usados para identificação de medições referentes ao processo de
programação.

Sindicato Sindicato

Código e descrição dos sindicatos de classe dos funcionários da manutenção.

Fornecedores Fornecedores
Refere-se ao cadastro de fabricantes de equipamentos, fabricantes de peças de reposição,
fornecedores de materiais e insumos, prestadores de serviços, conceituados como
fornecedores para a manutenção.
O sistema controla o processo de fornecimento e classifica a atuação dos fornecedores. No
caso de serviços prestados, para que seja feito o seu acompanhamento, o fornecedor deve ser
cadastrado como setor executante.
Operações da tela:
No cadastro do fornecedor é possível informar o endereço da internet (home page) e endereço
de e-mail. Para acessar, clique no botão à direita destes campos.
Aplicação: informa quais aplicações estão cadastradas para este fornecedor. Esta página é
somente informativa. Para relacionar um fornecedor a uma aplicação, edite a aplicação no
cadastro de aplicações.
Contratos: cadastre documentos referentes ao fornecedor, tais como contratos, relatórios, atas de
reunião, etc. Os contratos podem ter uma data de validade estabelecida. Veja como utilizar
Cadastro de documentos
Observação: campo texto de livre formatação para acrescentar informações adicionais referentes
ao fornecedor.
Materiais: indica quais são os materiais vinculados ao fornecedor e respectiva classificação de
fornecimento.

Classificação de Fonecimento Classificação de Fornecimento


Código, descrição e classificação de fornecimento para avaliação dos fornecedores.
A classificação de fornecimento, expressa em percentual de 0 a 100, fornece um valor
subjetivo que será submetido às condições de fornecimento para cada fornecedor, relacionada
com seus respectivos materiais/serviços fornecidos.
Estes dados serão usados para calcular um valor médio que expressa a qualidade do
fornecedor relacionada com todos os bens fornecidos.
Como utilizar Agrupamento

Clientes Clientes
Refere-se ao cadastro de pessoas físicas/jurídicas ou departamentos internos, que possuem os
pontos de aplicação da manutenção.
O sistema permite emitir relatórios filtrados/agrupados por clientes, tais como orçamentos e
preços de serviços realizados, referentes a mão-de-obra trabalhada e materiais consumidos.
Operações da tela:
No cadastro do cliente é possível informar o endereço da internet (home page) e endereço de
e-mail. Para acessar, clique no botão à direita destes campos.
Aplicações: informa quais aplicações estão cadastradas para este cliente. Esta página é somente
informativa. Para relacionar um cliente a uma aplicação, utilize cadastro de aplicações.
Contratos: cadastre documentos referentes ao cliente, tais como contratos, relatórios, atas de
reunião, etc. Os contratos podem ter uma data de validade estabelecida. Veja como utilizar
Cadastro de documentos
Observação: campo texto de livre formatação para acrescentar informações adicionais referentes
ao cliente. Veja também o tópico configuração de textos.
Consultando o histórico de O.S. do cliente corrente.

Unidades Unidades

Código e descrição das unidades descritivas de variáveis quantitativas.


FATOR DE CONVERSÃO ENTRE UNIDADES
Este fator é utilizado na conversão entre unidades no sistema, sobretudo no cálculo da
capacidade produtiva agregada. Para inserir uma conversão, insira na primeira coluna a
unidade desejada, o fator multiplicativo e na última coluna, a unidade destino da conversão.
Exemplo: Suponha que você queira cadastrar uma conversão do tipo: 1 metro = 100
centímetros e 1 Quilômetro = 1000 metros. Sua tabela deverá ficar assim:

UNIDADE 1 FATOR X UNIDADE 2

Metro 100 Cm

Km 1000 Metro

Atenção: Não é necessário colocar a unidade inversa da conversão: 1 centímetro = 0.01


metro.

Horários para Escala Horários para Escala de Trabalho


Tem como função cadastrar os horários possíveis para relacioná-los à escala de trabalho do
funcionário.
Informe a descrição geral e as faixas de horário inicial e final. A descrição deve ser preenchida

Página 85 de 478
de acordo com as faixas de horários para facilitar a digitação no momento de registrar os
horários da escala de trabalho.
Exemplo:
Descrição: [07:00 - 11:00] [13:00 - 17:00]
Hora Inicial Hora Final Tempo

07:00 11:00 04:00

13:00 17:00 04:00

Dica: Para obter um preenchimento automático da descrição do horário, baseado nas faixas
de horários, clique no botão auto descrição , localizado à direita do campo de descrição.
Não é possível inserir para um mesmo grupo de horários registros que provocam uma
interseção de horários. Por exemplo, não é possível inserir para um mesmo horário os períodos
de 7 às 12 e de 11 às 15 horas, uma vez que neste exemplo a interseção está acontecendo
entre 11 e 12 horas. Também não é possível inserir para um mesmo horário vários períodos
somando um total maior que 24 horas. Por exemplo, os períodos de 0 às 12 e 12 à 1 hora do
dia seguinte não é válido (no lugar de 1 hora deveria ser 0 horas, para fechar o máximo de 24
horas).

Feriados
Feriados

Código, descrição e seleção da data relacionada a um feriado.


Estes dados são usados para indicar na planilha de programação de manutenção, as datas de
feriados e para associar os feriados à escala de trabalho dos funcionários ou para relacionar ao
setores executantes.
Relacionando os feriados à escala de trabalho, o sistema fará o cálculo das horas disponíveis
dos funcionários, desconsiderando-se os dias referentes aos feriados.
Relacionando o feriados aos setores executantes, o sistema calculará automaticamente as O.S.
geradas para que não sejam emitidas para o feriado, podendo ser adiadas ou antecipadas.
Para maiores detalhes sobre este processo, consulte a tela de relação entre setores
executantes e feriados.
Ao cadastrar um feriado, o usuário poderá informá-lo de três formas:
1) dia e mês: Neste caso o sistema irá considerar feriado qualquer ocorrência para o dia e
mês informados, para qualquer ano.
2) dia, mês e ano: Neste caso o sistema irá considerar feriado somente a data completa
dia/mês/ano
3) dia da semana: Neste caso o sistema irá considerar feriado o dia da semana informado,
independente da data. Quando informar o dia da semana, coloque zero no dia e no mês,
podendo deixar o ano com zero ou com nulo.

Setores Executantes e Feriados Setores Executantes X Feriados


Relacione os feriados para este setor executante para determinar os dias de exceção da
emissão de O.S. automática.
Durante a geração de O.S., o sistema verificará para este setor executante se a data
programada da O.S. será um feriado. Caso positivo, o sistema poderá adotar as seguintes
medidas corretivas:
 Não gerar O.S.
 Cancelar O.S.
 Adiar. Neste caso, deve-se informar o número de dias a adiar.
 Antecipar: Neste caso, deve-se informar o número de dias a antecipar.
 Adiar para próximo dia válido
 Antecipar para próximo dia válido

Este processo será verificado nas telas de Geração de O.S. e na Geração Automática de O.S.
Acumulativas.
A consistência de um um dia como feriado também é realizada durante os lançamentos de
registros de funcionários nas telas de Ordem de Serviço e Planejamento de RH. Nestas
situações, o usuário será informado que o dia lançado é um feriado e poderá ou não continuar
o cadastramento dos dados.
Associar todos os feriados
Escolha a ação padrão e o número de dias (dependendo da ação) par a associar todos os
feriados ao setor executante corrente de uma só vez.
ATENÇÃO: todos as relações existentes entre este setor e os feriados serão substituídas neste
processo.
Se houver coincidência entre o mesmo feriado cadastrado para as relações com Tipo de
Aplicação e Aplicação, então o sistema fará o cálculo baseando-se num critério de seleção do
mais específico para o mais genérico, ou seja, será considerada a regra de feriado relacionada
à Aplicação, depois ao Tipo de Aplicação e por último ao Setor Executante.
Replicar feriados para outros Setores Executantes
O botão para realização desta funcionalidade está localizado na barra de ferramentas da tela
de Setores x Feriados. Ao clicar neste botão, o usuário deverá escolher o setor para onde os
feriados serão copiados. Caso o setor de destino já possua algum feriado vinculado, o usuário
será questionado se deseja continuar (estes feriados já vinculados serão substituídos pelos
novos que estão sendo replicados).

Tipos de Aplicação X Feriados


Tipo de Aplicação XFeriado
Relacione os feriados para este tipo de aplicação para determinar os dias de exceção da
emissão de O.S. automática.
Durante a geração de O.S., o sistema verificará para este tipo de aplicação se a data
programada da O.S. será um feriado. Caso positivo, o sistema poderá adotar as seguintes
medidas corretivas:
 Não gerar O.S.
 Cancelar O.S.
 Adiar. Neste caso, deve-se informar o número de dias a adiar.
 Antecipar: Neste caso, deve-se informar o número de dias a antecipar.
 Adiar para próximo dia válido
 Antecipar para próximo dia válido
Este processo será verificado nas telas de Geração de O.S. e na Geração Automática de O.S.
Acumulativas.
Associar todos os feriados: Escolha a ação padrão e o número de dias (dependendo da
ação) para associar todos os feriados ao tipo de aplicação corrente de uma só vez.
ATENÇÃO: todos as relações existentes entre este tipo de aplicação e os feriados serão
substituídas neste processo.
Se houver coincidência entre o mesmo feriado cadastrado para as relações com Aplicação e
Setor Executante, então o sistema fará o cálculo baseando-se num critério de seleção do mais
específico para o mais genérico, ou seja, será considerada a regra de feriado relacionada à
Aplicação, depois ao Tipo de Aplicação e por último ao Setor Executante.

Aplicação X Feriado Aplicações X Feriados

Página 87 de 478
Relacione os feriados para esta aplicação para determinar os dias de exceção da emissão de
O.S. automática. Sendo possível replicar todos os Feriados Cadastrados na Aplicação Corrente
para outras aplicações.
Durante a geração de O.S., o sistema verificará para esta aplicação se a data programada da
O.S. será um feriado. Caso positivo, o sistema poderá adotar as seguintes medidas corretivas:
 Não gerar O.S.
 Cancelar O.S.
 Adiar. Neste caso, deve-se informar o número de dias a adiar.
 Antecipar: Neste caso, deve-se informar o número de dias a antecipar.
 Adiar para próximo dia válido
 Antecipar para próximo dia válido

Este processo será verificado nas telas de Geração de O.S. e na Geração Automática de O.S.
Acumulativas.
Associar todos os feriados: Escolha a ação padrão e o número de dias (dependendo da
ação) para associar todos os feriados à aplicação corrente de uma só vez.
ATENÇÃO: todos as relações existentes entre esta aplicação e os feriados serão substituídas
neste processo.
Se houver coincidência entre o mesmo feriado cadastrado para as relações com Tipo de
Aplicação e Setor Executante, então o sistema fará o cálculo baseando-se num critério de
seleção do mais específico para o mais genérico, ou seja, será considerada a regra de feriado
relacionada à Aplicação, depois ao Tipo de Aplicação e por último ao Setor Executante.

Índices Financeiros Índices Financeiros


Código, descrição e fator de multiplicação referentes a índices financeiros e moedas
apresentadas no sistema.
Através da seleção de algum índice, é possível emitir relatórios e visualizar campos monetários
com a formatação escolhida.
O fator de multiplicação será aplicado ao índice estabelecido como padrão no menu
configuração geral do sistema.

Tipos de Documentos Tipos de Documentos


Código, descrição e programa utilitário necessário ao acesso dos tipos de documentos.
Especifica o tipo de documento vinculado a entidades do sistema que utilizam ligação a objetos
como, textos, planilhas, desenhos, imagens gráficas, etc.
Não há necessidade de especificar o programa utilitário para os arquivos cujas extensões são
registradas no sistema operacional, como .DOC, .TXT, .XLS. Entretanto, é possível configurar o
programa chamador para que na tela de documentos de uma entidade, um documento que
não possui ativação automática, possa ser aberto instantaneamente.
Exemplo:
Suponha que um arquivo de nome ARQUIVO.EXT esteja configurado em uma relação
Funcionários X Documentos. Não existe um programa configurado no sistema operacional que
abra automaticamente arquivos com extensão EXT. Entretanto, eu sei que programas deste
tipo são extratos bancários ativados pelo programa PROG.EXE, localizado em meu diretório
C:\UTIL. Desta forma, posso configurar o tipo de documento da seguinte forma:
DESCRICAO = Extratos bancários
PROGRAMA = c:\util\prog.exe
Na minha relação Funcionários X Documentos, colocarei o tipo de documento como informado
acima. Quando pedir a visualização do documento, o programa PROG.EXE será executado e o
nome do documento ARQUIVO.EXT será passado como parâmetro deste programa.
Observação: Para que o documento seja aberto automaticamente, o programa deve aceitar
passar parâmetros em sua inicialização. Caso isto não ocorra, o programa será somente
inicializado, cabendo a você abrir o documento manualmente.

Motivo Atraso O.S. Motivos de Atraso O.S.

Código e descrição do motivo de atraso na execução das ordens de serviço.


Os dados serão usados como filtros na emissão de relatórios específicos e como controle
estatístico dos motivos de atraso.

Motivo Cancelamento O.S. Motivos de Cancelamento O.S.


Código e descrição do motivo de cancelamento na execução das ordens de serviço.
Os dados serão usados como filtros na emissão de relatórios específicos e como controle
estatístico dos motivos de cancelamento.

Desenhos Desenhos
O gerenciador de desenhos possibilita o cadastramento de imagens de equipamentos com o
poder de determinar sub-áreas ou" links" para detalhamento do desenho original em infinitos
níveis. Cada desenho ou detalhamento pode ser relacionado a aplicações, tipos de aplicação ou
materiais.
1. Campos de cadastramento:
código: código atribuído automaticamente a cada desenho gerado.
descrição: descrição do desenho.
imagem: imagem em formato bitmap, gif, jpeg ou metafile.
observações: observações gerais do desenho. veja mais detalhes sobre uso deste campo em
configuração de textos.
Após o cadastramento dos desenhos, relacione-os às entidades para as quais ele foi criado:
Aplicações, Tipos de Aplicação, Materiais ou Localização de Aplicações.

2. Operações básicas para inserir um novo desenho (nível 0):


Para inserir um novo desenho (nível 0), pressione CTRL+I ou clique no botão "Novo Registro".
Informe a descrição do desenho.
Clique no botão "importar imagem" ou no botão "colar" (caso tenha copiado alguma imagem para
a área de transferência), para inserir uma imagem ao desenho.
Selecione a guia "observações" para desecrever quaisquer observações relacionadas a este
desenho.
Pressione CTRL+B ou clique no botão "Gravar" para gravar o novo desenho no banco de dados.

3. Operações básicas para inserir uma área de detalhamento:


Para inserir uma área de detalhamento ou "link" de detalhamento, com o desenho principal
selecionado, acione a ferramenta "definir áreas do desenho".
Selecione uma região retangular no desenho principal aonde será criado o link.
Informe a descrição do novo desenho de detalhamento.
Um novo registro será aberto. Execute as operações descritas no tópico 2 para adicionar o novo
desenho de detalhamento.

4. Descrição das ferramentas de desenho:

Botão Descrição Comentários

Página 89 de 478
Retorna ao nível anterior Quando um desenho é um detalhamento, este ícone
estará habilitado. Clique sobre ele para retornar ao
nível imediatamente anterior.
Mostrar mapas da área de Este comando fará com que todas as áreas de
desenho detalhamento sejam hachuradas sobre o desenho
principal, facilitando a localização correta do link.

Definir áreas do desenho Quando acionado, este botão permite que seja definida
uma área de detalhamento sobre o desenho atual.

Importar imagem Abre uma caixa de diálogo permitindo a localização ou


digitação de um arquivo de imagem.

Colar Se existe alguma figura na área de transferência do


windows, este icone estará habilitado. Ele insere o
conteúdo da área de transferência ao desenho atual. O
registro deve estar em modo de edição ou inserção
para que isto seja possível.
Copiar Copia a imagem do desenho atual para a área de
transferência do windows.
Apagar imagem Apaga o conteúdo da imagem do desenho atual.O
registro deve estar em modo de edição ou inserção
para que esta operação seja possível.
Imprimir Apresenta o desenho como se fosse um relatório, uma
pré-visualização antes de imprimir o desenho atual.

5. Áreas do Desenho Corrente


Esta lista exibe todas as áreas de detalhamento definidas para o desenho corrente.
Quando o mouse passa por uma área, sobre o desenho, um texto explicativo mostra a descrição
da área de detalhamento.
Entretanto, esta lista permite o acesso a uma área rapidamente, efetuando-se um duplo clique
sobre o nome da área.

6. Observações importantes
Otimize os arquivos de imagem antes de inserí-los ao banco de dados. Arquivos com alta definição
de cores (high color) ou (true color) ocupam muito espaço no banco, tornando as operações de
navegação em registros mais lentas que o necessário. Verifique na parte superior de cada
desenho o tamanho ocupado por ele. Desenhos que ultrapassem os 500 Kb devem ser
revistos, pois provavelmente podem ser otimizados.
Quando a operação de copiar/colar for utilizada para inserir desenhos no cadastro, verifique a
resolução de vídeo do seu computador. Caso a configuração seja high color, altere-a para 256
cores ou até mesmo 16 cores. Isto reduzirá muito o tamanho da imagem a ser inserida. Outra
opção é trabalhar com imagens GIF ou JPG para reduzir o tamanho da imagem.

Desenho X Aplicação Aplicações Deste Desenho


Informe as aplicações referenciadas por este desenho. Na tela de aplicações será possível
visualizar todos os desenhos, mas não modificá-los.

Desenho X Tipo de Aplicação Tipos de Aplicação Deste Desenho


Informe os tipos de aplicação referenciadas por este desenho. Na tela de tipos de aplicação
será possível visualizar todos os desenhos, mas não modificá-los.
Desenho X Material Materiais Deste Desenho
Informe os materiais referenciadas por este desenho. Na tela de materiais será possível
visualizar todos os desenhos, mas não modificá-los.

Desenho X Setor Executante Setor Executante deste Desenho

Permite visualizar os desenhos relacionados a cada setor executante do plano e imprimí-los

Tabelas Roteiro de Viagem Tabelas Roteiro de Viagem


Países
Estados
Cidades
Tipos de Despesa

Países
País

Cadastro de código e descrição de países (tabela auxiliar ao cadastro de roteiros de viagem).


Os dados inseridos nesta tela são utilizados no cadastramento de estados.

EstadosEstados
Cadastro de código e descrição de estados (tabela auxiliar ao cadastro de roteiros de viagem).
Os dados inseridos nesta tela são utilizados no cadastramento de cidades.

Cidades Cidades
Cadastro de código e descrição de cidades (tabela auxiliar ao cadastro de roteiros de viagem).
Os dados inseridos nesta tela são utilizados no registro dos trechos de um roteiro de viagem.

Guia Distâncias:

Em cada registro inserido nesta guia deve ser informada a cidade de origem, a cidade de
destino e a respecitiva distância entre as mesmas.
Ao informar os trechos na tela de roteiro de viagem, ao registrar o trecho de duas cidades que
estão nesta lista, a sua respectiva distância será exibida de acordo com o informado na guia
Distâncias.
Se informado no trecho de um roteiro duas cidades que não estão na guia Distâncias, a
mesma é inserida automaticamente nesta guia, tendo sua distância registrada com o valor
informado na primeira vez em que for registrada uma viagem entre estas cidades (este valor
pode ser alterado manualmente na guia distâncias a qualquer momento).

Tipos de Despesa Tipos de Despesa


Cadastro de código e descrição de tipos de despesa (tabela auxiliar ao cadastro de roteiros de
viagem).
Os dados inseridos nesta tela são utilizados no registro dos Adiantamentos e Despesas de
Viagem de um roteiro de viagem.

Transação Transação

Página 91 de 478
A transação é parte mais importante do estoque avançado, pois é ela quem controla as
atualizações que serão realizadas no estoque.

No cadastro da Transação é necessário informar o código, onde sua máscara deverá ser
pré-configurada nas Configurações Gerais, a descrição, o tipo de movimentação e o tipo de
transação.

O Tipo de Movimentação representa a forma que o estoque será atualizado. Suas opções são
Entrada, Saída ou Direto, sendo esta última a única que não atualiza o estoque.

O Tipo de Transação representa quais quantidades do estoque serão atualizadas. Suas opções
são:

 Físico - Ao escolher esta opção o campo Saldo que será atualizado. Atualizando também
o saldo disponível.
 Reserva - Ao escolher esta opção o campo Quantidade Reservada que será atualizado.
Atualizando também o saldo disponível.
 Bloqueio - Ao escolher esta opção o campo Quantidade Bloqueada que será atualizado.
Atualizando também o saldo disponível.
 Físico com Reserva - Ao escolher esta opção os campos Saldo e Quantidade Reservada
que serão atualizados. Dessa maneira o saldo disponível não é alterado.
 Físico com Bloqueio - Ao escolher esta opção os campos Saldo e Quantidade Bloqueada
que serão atualizados. Dessa maneira o saldo disponível não é alterado.

Cadastro Cadastro
Aplicação
Coleta
Centro de Custo
Conta Contábil
Produtos
Tipos de Aplicação
Especificação de Aplicação
Localização de Aplicações
Almoxarifado
Kit de Materiais
Materiais
Grupo de Materiais
Localização de Materiais
Classe de Materiais
Solicitação de Materiais
Escala de Trabalho
Funcionários
Setor Executante
Cargo de Funcionários
Movimentações de Funcionários
Qualificações
Planos de Manutenção
Tipos de Manutenção
Ordem de Serviço
Solicitações de Serviços
Tipo de Ponto de Controle
Modelo de Desenho

Centro de Custo Centro de Custo


Código e descrição do mapeamento financeiro da empresa para apuração de custos.
Os dados cadastrados são diferenciados por empresa.
Estes dados serão usados para extrair informações do sistema por centro de custo e integrar
aos sistemas corporativos responsáveis por rateios e cálculos de custo.
O sistema permite cadastrar esta entidade vinculada em agrupamentos de código, facilitando
assim o acesso a informações e a emissão de relatórios.
Veja também:
Agrupamento

Conta Contábil Conta Contábil


Código e descrição para efeito de lançamentos contábeis.
Estes dados auxiliam na integração com outros sistemas, permitindo agregar valores no
processo contábil.
Esta tabela será referenciada nas telas de:
 Aplicação da manutenção;
 Funcionários;
 Requisição de materiais;
 Ordem de Serviço.

Veja também:
Agrupamento
Consultando o histórico de O.S. da conta contábil corrente

Produtos Produtos
Código e descrição dos produtos processados nos pontos de aplicação referentes a
equipamentos produtivos.
Os dados cadastrados são diferenciados por empresa.
O sistema permite cadastrar esta entidade vinculada em agrupamentos de código, facilitando
assim o acesso a informações e a emissão de relatórios.
Estes dados são utilizados para relacionarem diferentes capacidades produtivas e custo de
perda de produção aos equipamentos produtivos. Desta forma, durante a execução de uma
manutenção, o tempo de equipamento parado poderá computar perdas e custos de acordo
com o produto processado naquela ocasião.
Estes dados são lançados nas ordens de serviço. O cálculo será realizado quando se informa o
tempo total de interferência.
Se o código do produto não for especificado na ordem de serviço, o cálculo de perda e custo de
produção será realizado pelos valores médios cadastrados na relação produto x ponto de
aplicação.
Veja também:
Aplicações do Produto
Agrupamento

Aplicações do Produto Aplicações deste Produto


Esta tela é disponibilizada para relacionar as aplicações com um determinado produto. Esta
relação é disponibilizada, de forma inversa, também na tela de cadastramento das aplicações.
Operações da tela:
Informe a aplicação, a capacidade produtiva / hora, o custo /hora e a unidade de processamento.
O campo índice financeiro é utilizado para determinar a conversão para o cálculo de custo do
sistema,

Página 93 de 478
quando outros custos em índices diferentes estão sendo calculados na mesma O.S.

Setor Executante Setor Executante


Código, referências a outras entidades e descrição do setor executante dos serviços de
manutenção.
Os dados cadastrados são diferenciados por empresa e filiais.
O sistema permite cadastrar esta entidade vinculada em agrupamentos de código, facilitando
assim o acesso a informações e a emissão de relatórios.
Estes dados serão usados como filtros ou agrupamentos no processo de emissão de relatórios.
Facilitará também a organização de envio e recepção de documentos entre os setores de
manutenção.
Poderá se referenciar ao cadastro de fornecedores para especificar um setor executante
terceirizado.
No campo E-mail, deve ser cadastrado o e-mail padrão de cada setor executante, se existir.
Através deste e-mail, chegarão avisos de novas solicitações incluídas pelo módulo da WEB. Se
este e-mail não for cadastrado, os avisos chegarão no e-mail padrão, que é cadastrado
diretamente pela WEB.
Se este campo não estiver visível nesta tela, entre no Cadastro de Usuários e retire o bloqueio
no item Solicitação de Serviços via WEB, subitem Administrador.
Veja também:
Agrupamento
Relação com Feriados

Coleta Coleta

Acumulativa
Tendência de variáveis
Viagem
Registro de Funcionários
Rota de Coleta

Acumulativa Coleta Independente de Acumulativas


Esta tela destina-se à digitação dos valores para coleta do plano acumulativo. Possui um layout
simples para a digitação direta da coleta, independente da tela de cadastro de aplicações.
Os dados são apresentados ordenados pela aplicação, ponto de controle e data e hora da
coleta, sendo que a data e hora da coleta está ordenada de forma descendente, facilitando a
visualização dos últimos valores digitados.
Os dois campos superiores são filtros por aplicação e por ponto de controle. Se informados, os
valores do grid serão filtrados por eles. A cada novo registro, o campo aplicação e ponto de
controle serão automaticamente preenchidos, caso haja filtro para eles.
Se o valor informado em uma coleta for menor do que o da data anterior, o sistema emitirá
um aviso mas poderá permitir a gravação (no caso de virada de relógio), ou se o valor
informado for maior que o valor da Data/Hora posteiora, o sistema emitirá um aviso.
Usar Máscara: com esta opção marcada (padrão), a digitação no campo de pesquisa das
aplicações ficará configurada de acordo com a máscara de aplicações, permitindo assim a
digitação de texto somente dentro do limite da máscara. Com esta opção desmarcada, a
digitação no campo de pesquisa mencionado fica livre, independente da máscara. Esta opção
deve ser modificada dependendo da filtragem que o usuário deseja realizar.
Exemplo: se a máscara de aplicação for ccc-9999 e o usuário deseja filtrar nesta tela todas as
aplicações cujo código termine com 00, esta pesquisa somente será possível com a opção de
Usar Máscara desmarcada.

Tendência de Variáveis Coleta Independente de Tendências de


Variáveis
Esta tela destina-se à digitação dos valores para coleta do plano por tendência de variáveis.
Possui um layout simples para a digitação direta da coleta, independente da tela de cadastro
de aplicações.
Os dados são apresentados ordenados pela aplicação, ponto de controle e data e hora da
coleta, sendo que a data e hora da coleta está ordenada de forma descendente, facilitando a
visualização dos últimos valores digitados.
Os dois campos superiores são filtros por aplicação e por ponto de controle. Se informados, os
valores do grid serão filtrados por eles. A cada novo registro, o campo aplicação e ponto de
controle serão automaticamente preenchidos, caso haja filtro para eles.
Usar Máscara: com esta opção marcada (padrão), a digitação no campo de pesquisa das
aplicações ficará configurada de acordo com a máscara de aplicações, permitindo assim a
digitação de texto somente dentro do limite da máscara. Com esta opção desmarcada, a
digitação no campo de pesquisa mencionado fica livre, independente da máscara. Esta opção
deve ser modificada dependendo da filtragem que o usuário deseja realizar.
Exemplo: se a máscara de aplicação for ccc-9999 e o usuário deseja filtrar nesta tela todas as
aplicações cujo código termine com 00, esta pesquisa somente será possível com a opção de
Usar Máscara desmarcada.

Viagem Lançamento de Viagens de Veículos


Esta tela foi projetada especialmente para fazer o controle da frota de veículos da empresa. Os
dados lançados nesta tela atualizam diretamente a coleta de valores para o planejamento
acumulativo, de acordo com o ponto de controle e aplicação (veículo) informados. Os insumos
lançados atualizam o estoque automaticamente.
Operações:
 Código: Este campo refere-se a um código seqüencial das viagens e não pode ser alterado
pelo usuário. Digitando um código existente, o sistema automaticamente pesquisará este
código no cadastro e mostrará as informações referentes a esta viagem. Se o código não
existir, o sistema retornará uma mensagem de erro. A digitação de um código de viagem
diretamente neste campo auxilia a busca de informações rapidamente, apesar de existir um
botão específico para a localização de registros no topo da tela. Durante a inclusão de uma
nova viagem, este código será automaticamente preenchido pelo sistema e ele ficará
desabilitado para a consulta.
 Veículo: Digite neste campo o código da aplicação (veículo) da coleta. Este campo deve ser
informado antes de informar o ponto de controle.
 Ponto de Controle: É o hodômetro do veículo. Ao ser informado um veículo, o sistema
automaticamente irá sugerir um dos pontos de controle do veículo (caso haja mais de um).
Se houver outros pontos de controle, selecione-os através da tecla F2.
 Motorista: Informe o código do motorista (funcionário) que estava conduzindo o veículo no
momento da coleta. Este campo não é obrigatório.
 Data / Hora: Este campo será automaticamente preenchido pelo sistema no momento do
lançamento de uma nova viagem, podendo entretanto, ser alterado pelo usuário.
 Leitura Atual: Informe a leitura atual do hodômetro do veículo no momento do lançamento
de uma nova viagem.
 Almoxarifado: Ao incluir um novo lançamento, o sistema irá sugerir automaticamente um
almoxarifado cadastrado. Utilize esta informação para que o sistema possa realizar a baixa
de estoque (no lançamento de insumos da viagem) no almoxarifado correto.

Lançamento de Insumos:

Página 95 de 478
 Tipo: Informe o tipo do insumo: (I)nterno ou (E)xterno. Para consumos internos, o sistema
irá atualizar e informar o estoque automaticamente. Utilize a opção de insumos externos no
caso de abastecimentos fora da empresa.
 Material: Informe o código do material. Mesmo para lançamentos de insumos externos, o
material deve estar cadastrado no sistema. Ao lançar o material, o sistema irá sugerir
automaticamente o seu custo, de acordo com o cadastro, porém, é possível modificar o
custo unitário. A unidade padrão do material também será preenchida automaticamente,
podendo ser modificada.
 Lote: número do lote do material no estoque. Caso a empresa não utiliza controle de
estoque por lote, informe o valor "1" (padrão do sistema).
 Qtde: Informe a quantidade consumida do material. A quantidade será baseada na unidade
informada no lançamento de insumos, independente da unidade cadastrada para o material.
Caso as unidades sejam diferentes, deverá existir um fator de conversão entre elas,
informado no cadastro de unidades.
 Custo: Custo unitário do material. Este campo é preenchido automaticamente quando um
novo material é informado, podendo ser alterado pelo usuário.
 Cod Item: valor gerado automaticamente pelo sistema de forma sequencial.
 Estoque Atual: Este campo é apenas informativo. Ele informa a quantidade atual disponível
do material. Este campo não é armazenado no sistema, por isso a quantidade aqui
informada é realmente a quantidade atual do estoque no momento de sua visualização.
 Custo Total: É a multiplicação entre o custo unitário pela quantidade.
 Média de Consumo: É o cálculo realizado de acordo com a opção selecionada no campo
"Tipo Cálculo Média Consumo". Se estiver selecionada a opção padrão Total/Qtde, a média
será calculada dividindo-se o total percorrido pelo veículo (ex: Km ou H) pela quantidade de
combustível consumida (ex: Litros). Se selecionado Qtde/Total, o cálculo será invertido.
Esta informação é útil quando o material informado é combustível. A média também fará
sentido se o tanque do veículo estivesse totalmente preenchido na coleta anterior.
 Kit Materiais: Através do botão é possível inserir vários ítens consumidos em uma
coleta de viagem. Para isso o Kit deverá estar préviamente cadastrado e o gride onde será
inserido o material deverá estar em modo de inserção. Ao clicar neste botão será exibida
uma tela com os Kit´s cadastrados no sistema. Basta selecionar o kit desejado e clicar em
ok. O sistema fará uma consistência para verificar se os itens do Kit possui saldo, levando
em considração o almoxarifado para que estes sejam inseridos automaticamente na coleta
de viagem.

Observações:
O sistema calculará automaticamente qual foi a leitura anterior à esta coleta e informará nos
campos data e leitura anterior. A diferença entre a leitura atual com a leitura anterior será
indicada à frente dos campos. Para uma melhor consistência e segurança na digitação da
leitura atual do hodômetro, o sistema realiza uma média das 10 últimas leituras registradas.
Se o valor encontrado se diferenciar demasiadamente do normal, será emitida a seguinte
mensagem de alerta com relação ao valor lançado: "O valor digitado apresenta uma variação
muito grande em relação ás 10 ultimas coletas. Deseja corrigí-lo?". Este cálculo de variação
considera uma porcentagem de tolerância que pode ser reajustada na opção "Emitir aviso se a
variação entre as 10 últimas coletas for maior que" na tela de Preferências Gerais (ver mais
detalhes sobre esta configuração na ajuda de Preferências Gerais).
Se o valor estiver correto, pressione NÃO, caso contrário pressione SIM e informe o valor
correto. Se o valor informado em uma coleta for menor do que o da data anterior, o sistema
emitirá uma aviso mas poderá permitir a gravação (no caso de virada de relógio).
Se o valor informado em uma coleta for menor do que o da data anterior, o sistema emitirá
um aviso mas poderá permitir a gravação (no caso de virada de relógio), ou se o valor
informado for maior que o valor da Data/Hora posteiora, o sistema emitirá um aviso.
Faça o lançamento de todos os insumos da viagem, sendo combustível, óleo, etc. Primeiro,
selecione para qual almoxarifado (se houver mais de um) o sistema deverá atualizar o
estoque. Todos os lançamentos serão automaticamente debitados no estoque do almoxarifado
selecionado. O estoque atual do material será exibido à frente do insumo.
No salvamento de cada Item de Viagem, o usuário será questionado se deseja vincular o
material do Item com o Fornecedor da Viagem (caso este tenha sido informado). O salvamento
somente será concluído se o usuário aceitar este questionamento. Os materiais vinculados a
um fornecedor podem ser consultados na tela de "Fornecedores", na guia "Materiais". O
inverso (Fornecedores de um Material) podem ser vistos através da tela "Materiais", na opção
"Fornecedores".
Todos os lançamentos serão lançados no sistema somente depois de pressionado o botão
GRAVAR. Para cancelar todo o lançamento, clique no botão CANCELAR.
Uma viagem lançada não poderá ser alterada. A exc lusão é permitida, porém os valores
lançados para a coleta de acumulativas e o estoque dos materiais não serão revertidos.
Pode-se fixar a data atual da coleta para o lançamento de todas as demais coletas. Para isso,
clique no ícone da barra de ferramentas. Enquanto este ícone estiver pressionado, todas
as datas de lançamento subsequentes serão automaticamente preenchidas com a data da
coleta atual no primeiro instante em que o ícone foi pressionado, ao invés de preencher pela
data atual - que é o comportamento padrão desta tela.
É possível especificar um conjunto de materiais padrão para o lançamento de cada viagem.
Para isso, clique no ícone da barra de ferramentas e digite o código de cada material em
uma linha. Ao inserir uma nova viagem, estes materiais serão inseridos automaticamente no
lançamento de insumos (itens da viagem).
A cada viagem lançada, o sistema realizará um cálculo automático nos planos de manutenção
acumulada para verificar se algum deles atingiu o ponto de alarme e/ou geração de O.S. Para
maiores detalhes sobre o processamento de planos acumulativos, consulte o tópico
Planejamento por Produção Acumulada.
Se a empresa utiliza o Controle de Estoque Avançado, ao salvar a coleta de viagem , serão
geradas movimentações para cada item com a transação de saída pré-definida na tela de
Configurações Gerais, somente para materiais internos.

Reordenação de Viagem Reordenação de lançamentos de Viagens


Esta tela é acessada a partir do botão "Reordenar Lançamentos" da tela de viagem. Este
recurso deve ser utilizado caso sejam encontradas coletas com os campos "Valor Anterior",
"Data Anterior" ou "Total" incorretos. Geralmente, isto é observado durante a emissão de
relatórios relacionados à viagens.
Quando esta situação é detectada, não significa uma falha do sistema. Indica que foram
lançadas coletas fora da ordem cronológica, por exemplo, uma coleta do dia 25/05 foi lançada
primeiro que a coleta do dia 20/05 de um veídulo. Como esta situação, na prática, pode
acontecer com uma certa frequência, basta utilizar esta reordenação periodicamente para que
as coletas fiquem "posicionadas" corretamente no banco de dados.
Ao abrir esta tela, basta clicar em Ok para que todos os lançamentos de viagem sejam
reordenados. Se desejar reordenar somente as coletas de um determinado veículo, basta
informá-lo no filtro "Veículo". O filtro "Filial" fará com que somente as coletas do veículo da
filial selecionada sejam reordenadas. A mesma idéia para os demais filtros: "Centro de Custo"
(somente os veículos do centro de custo informado), "Tipo da Aplicação" (somente os veículos
que forem do tipo informado), "Data Viagem" (período correspondente às datas das coletas de
viagem) e "Veículo Ativo" (somente os veículos que estiverem ativos em seus cadastros).

Roteiro de Viagem Roteiro de Viagem


O Roteiro de Viagem tem como objetivo controlar toda logística de viagemde veículos que é
realizada pela empresa, permitindo registrar com maiores detalhes as informações referentes

Página 97 de 478
aos trechos percorridos pelos veículos, abastecimentos, despesas, fretes, pedágios, entre
outras informações.
Antes de iniciar a utilização do Roteiro de Viagem, é necessário realizar o cadastramento das
tabelas, Países, Estados, Cidades e Tipos de Despesa, conforme exemplificado nas imagens à
seguir.
Tela Países:

Tela Estados:
Tela Cidades:

Tela Tipos de Despesa:

Elaboração de um Roteiro de Viagem:


O exemplo de roteiro à seguir será configurado para a seguinte situação:

- O veículo sairá da cidade de Belo Horizonte, fará uma parada na cidade do Rio de Janeiro e
seguirá para a cidade de São Paulo. Em seguida retornará para Belo Horizonte por um caminho
direto.

Tela Roteiro de Viagem:

Para cada roteiro de viagem, deverão ser cadastradas as informações do cabeçalho da tela
para que em seguida sejam lançados os dados da viagem nas diversas guias que
complementam o roteiro.

Página 99 de 478
- Reduzido = Campo gerado automaticamente pelo sistema para integridade do banco de
dados.

- Código = Código do Roteiro.

- Status = Um Roteiro poderá ter o status de Aberto / Fechado / Cancelado.

- Descrição = A descrição deverá ser preenchida de um modo que facilite as futuras


pesquisas pelos roteiros.

- Veículo = Veículo que executará a viagem.

- Ponto de Controle = Ponto de Controle Acumulativo do Veículo que deverá ser configurado
anteriormente (ex: Hodômetro).

- Data de Saída / Data de Chegada Prevista = Previsões de saída e chegada do Veículo.

- Motorista = Funcionário responsável pela condução do veículo.

- Cliente = Cliente para o qual o serviço da viagem está sendo realizado. Este campo pode
ficar visível para preenchimento no cabeçalho da tela de roteiro, conforme a imagem
apresentada, ou na guia de Trechos, nos casos em que um mesmo roteiro possam estar sendo
realizadas viagens para clientes diferentes. Para alterar esta visibilidade, o usuário deve
escolher a opção desejada na tela "Configurações Gerais", na opção "Exibir o campo cliente na
tela de Roteiros no:".

As informações detalhadas da viagem deverão ser lançadas em cada guia do roteiro:


Guia Trechos:

Na guia Trechos deverão ser lançados os trechos percorridos durante a viagem, onde deverão
ser informadas as cidades de origem e destino. O usuário também deverá informar os valores
do medidor de quilometragem e suas respectivas datas de leitura (quando o usuário informar a
Data/Hora de Origem ou Destino e já houver coleta na Data/Hora informada, o sistema
automaticamente buscará o valor da coleta para os campos km Origem ou Destino).
Registradas as quilometragens, o sistema calculará as distâncias entre as cidades. Para cada
trecho poderá ser preenchido o cliente que será atendido. O campo observações é um campo
de texto livre. O sistema também exibirá automaticamente em verde a distância total
percorrida somando-se todas as distâncias reais entre as cidades.

Observação:

As distâncias informadas na guia Trechos serão gravadas na guia Distâncias da tabela de


Cidades automaticamente pelo sistema, mas também será possível informar essas distâncias
manualmente na guia "Distâncias" da tela de cadastro de cidades.

Guia Adiantamentos:

Nesta guia deverão ser lançados todos os adiantamentos (vales), que foram passados para o
motorista antes da viagem. O sistema exibirá em verde o valor total do adiantamento.

Página 101 de 478


Guia Abastecimentos:

Esta guia tem o mesmo funcionamento da Tela de Coletas de Viagem já existente no sistema.
No entanto, a principal vantagem deste lançamento dentro do roteiro é que será possível
registrar inúmeros abastecimentos para um mesmo roteiro de viagem. No exemplo abaixo
foram realizados dois abastecimentos para o mesmo roteiro em trechos distintos.

Observações:
Se a empresa utiliza o Controle de Estoque Avançado, ao salvar o abastecimento , serão
geradas movimentações para cada item com a transação de saída pré-definida na tela de
Configurações Gerais, somente para materiais internos.

Guia Despesas de Viagem:

Nesta guia deverão ser lançados os gastos que o motorista teve durante a viagem. Essas
informações serão passadas pelo motorista no acerto da viagem que foi realizada. Nesta guia
também será exibido em verde o valor total das despesas.

Guia Fretes:

Nesta guia deverão ser lançados os valores cobrados pelo frete em cada trecho. Poderá ser
informada a carga transportada, assim como o seu peso. O sistema exibirá em verde o valor
total a receber pela viagem.

Guia Pedágios:

Nesta guia deverão ser lançados todos os pedágios em que o veículo passou durante a viagem.

Guia Anexos:

Esta guia funciona como as demais guias “Anexos” já existentes no sistema, onde poderão ser
adicionados qualquer tipo de arquivo. Os arquivos já são compactados automaticamente para
dentro do banco de dados.

Página 103 de 478


Guia O.S.'s:

Caso tenha ocorrido algum imprevisto durante a viagem e tenha sido realizado algum serviço
de manutenção no veículo, este serviço pode ser registrado em O.S., aberta diretamente para
o referido roteiro. Para isto, basta selecionar o roteiro desejado e clicar no botão "Gerar O.S.

para este Roteiro" . Poderão ser geradas uma ou mais O.S.'s para um mesmo roteiro.

Guia Resumo de Viagem:

Esta guia apresenta as totalizações de todos os custos e lucros envolvidos no roteiro:

- Distância Total Prevista (Km) = Somatório de todas as distâncias previstas entre os


trechos informados no roteiro.

- Distância Total Percorrida (Km) = Somatório das distâncias reais percorridas, informadas
na guia Trechos.

- Distância Percorrida à mais/menos(Km) = Diferença entre a Distância Total Percorrida e


a Distância Total Prevista.

- Custo Total Abastecimento = Multiplicação das quantidades abastecidas pelos respectivos


custos unitários dos materiais lançados nos abastecimentos.

- Lucro Total Frete = Somatório dos valores cobrados pelos fretes em seus respectivos
trechos.

- Custo Total Pedágio = Somatório de todos os pedágios que foram pagos durante a viagem.

- Custo de Manutenção = Somatório dos custos totais de todas as O.S.'s registradas para o
roteiro.

- Valor Total Adiantamento = Dinheiro entregue ao motorista antes da viagem.

- Custo Total Despesas = Dinheiro gasto pelo motorista durante a viagem.

- Saldo Despesas = Dinheiro que o motorista terá que devolver no acerto da viagem. Caso as
despesas sejam maiores que o adiantamento, este campo ficará em vermelho.

- Custo Final Roteiro = Somatório do custo de abastecimento, custo de pedágio e custo das
despesas.

- Lucro Final Roteiro = Subtração entre o lucro total de frete e todos os custos envolvidos na
viagem.
- Custo / Km = Divisão entre o custo custo final total do roteiro e a distância total percorrida.

Rota de Coleta Rota de Coleta Acumulativa


Esta tela foi projetada especialmente para fazer o lançamento de coletas acumulativas de
aplicações de uma mesma rota. Os dados lançados nesta tela atualizam diretamente a coleta
acumulativa das aplicações informadas. O uso desta tela permite inserir uma coleta
acumulativa para várias aplicações ao mesmo tempo.
Operações:
 Plano de Rota: Este campo refere-se ao plano cadastrado para uma determinada rota. No
procedimento deste plano devem ser informadas as aplicações que irão fazer parte desta
rota. Apenas as aplicações que contiverem um ponto de controle acumulativo serão listadas.
Este processo pode levar alguns segundos.
 Data da Coleta: Selecione uma data para coleta.
 Editar: Para alterar a coleta de cada aplicação pressione o botão editar, selecione a data da
coleta e pressione o botão gravar.
 Aplicar no banco de Dados: Após ter inserido todas as coletas pressione o botão Aplicar
no banco de dados, somente após este procedimento as coletas serão efetivamente inseridas
no banco de dados, e não ao gravar cada coleta.

Rota de Coleta de Tendência


Esta tela foi projetada especialmente para fazer o lançamento de coletas de tendência de
aplicações de uma mesma rota. Os dados lançados nesta tela atualizam diretamente a coleta
de tendência das aplicações informadas. O uso desta tela permite inserir uma coleta de
tendência para várias aplicações ao mesmo tempo.
Operações:
 Plano de Rota: Este campo refere-se ao plano cadastrado para uma determinada rota. No
procedimento deste plano devem ser informadas as aplicações que irão fazer parte desta
rota. Apenas as aplicações que contiverem um ponto de controle de tendência serão listadas.
Este processo pode levar alguns segundos.
 Data da Coleta: Selecione uma data para coleta.
 Editar: Para alterar a coleta de cada aplicação pressione o botão editar, selecione a data da
coleta e pressione o botão gravar.
 Aplicar no banco de Dados: Após ter inserido todas as coletas pressione o botão Aplicar
no banco de dados, somente após este procedimento as coletas serão efetivamente inseridas
no banco de dados, e não ao gravar cada coleta.

Página 105 de 478


Registro de Funcionários Registro de Funcionários
Esta tela fornece uma forma diferenciada e rápida para lançamentos de registro de
funcionários que trabalharam em várias O.S. É uma alternativa à tela de O.S., simplificando o
lançamento para várias O.S., com vários funcionários.
 Digite o número da O.S.
 Informe o funcionário
 Informe a data e hora inicial e final
 Informe o % de hora extra
 Informe o valor hora (se disponível). O usuário precisa possuir a permissão (ordem de
serviço/registro de funcionários/visualizar valor hora e permitir alterar)
 pressione enter no botão gravar.

Travando os campos
Para fazer lançamentos repetitivos, pode-se travar/destravar os campos pelos botões à direita:
Travando um campo, ao inserir uma nova O.S., ele será previamente preenchido
com o último valor digitado após a informação da O.S. O cursor não mais passará por um
campo travado. Para destravá-lo, clique novamente no ícone .

Observações
 As O.S. digitadas já têm que estar inseridas no sistema.
 Esta forma de digitação faz todas as consistências realizadas no lançamento de funcionários
pela tela de O.S. e atualiza os mesmos valores.
 Para alterar um lançamento, é necessário fazê-lo pela tela de cadastro de O.S.

Aplicação Aplicações
Os pontos de aplicação da manutenção, referem-se à entidade na qual serão aplicados os
serviços de manutenção:
 máquinas;
 componentes;
 bens patrimoniais;
 instalações físicas.

Esta é a principal entidade do sistema. Todas as atividades realizadas, planos de manutenção,


investimentos, custos, informações gerenciais, estão vinculadas ao ponto de aplicação.Os
serviços também poderão ser realizados em pontos não necessariamente cadastrados. Neste
caso basta apenas referí-los na Ordem de Serviço, por exemplo:
 Serviços prestados a clientes cujos equipamentos não estão cadastradas no sistema.
 Serviços internos, como limpeza e organização de oficinas, reuniões, treinamentos, etc.

OPERAÇÕES DA TELA:
Cabeçalho:
 Os dados cadastrados são diferenciados por empresas e filiais.
 Ativa: marque se a aplicação está ativa ou não. Uma aplicação inativa não será considerada
nos processamentos internos do sistema.
 Copiando a Estrutura de Outra Aplicação
 Consultando o histórico de localização e agrupamento da aplicação corrente
 Consultando o histórico de O.S. da aplicação corrente
 Movimentação de Aplicações

Funcionalidades:

Tecla F2: Seleciona as aplicações da filial filtrada;


Tecla F3: Altera a filial da aplicação selecionada.

Cadastro:
 Agrupamento: Sim ou Não - Informe se o cadastro realizado refere-se a um agrupamento.
Este processo possibilita aplicar a manutenção a um grupo de equipamentos. Ex.: Limpeza
dos equipamentos 001 a 012. A identificação também será utilizada para possibilitar cálculos
de custo agregado sem redundância de valores.
 TMOD: Tempo médio de operação por dia do ponto de aplicação, expresso em horas. Será
utilizado no cálculo de interferência do processo produtivo.
 Unidade: unidade da capacidade produtiva - embora na relação Aplicações X Produtos exista
uma unidade, a unidade do cadastro da aplicação é utilizada para conversão da capacidade
agregada. Desta forma é possível calcular a perda de produção para uma aplicação que
produz em TON/hora e tenha suas aplicações agregadas produzindo em Kg/hora.
 Tipo de aplicação: define o conjunto de aplicações com características comuns.
 Cliente: Refere-se ao cliente que possui a aplicação. Utilizado no caso onde o departamento
de manutenção presta serviços externos.
 Fornecedor: Fabricante ou fornecedor da aplicação.
 Valores Agregados da Aplicação
 Documentação
 Produtos da Aplicação
 Materiais da Aplicação
 Coleta de Eventos
 Ponto de Controle Acumulativo
 Ponto de Controle Tendência de Variáveis
 Modelo Visual: Neste campo deverá ser informado o código do modelo visual criado e que
será usado pela aplicação, ou seja, uma aplicação de maior instância poderá ser identificada
e montada através de movimentações visuais.
 Data de Venda e Valor de Venda: Este dois novos campos juntamente com o campo Valor
Compra permitirão verificar com maior eficácia a depreciação de um equipamento durante
sua vida útil.
Após ser informado estes campos a aplicação será considerada inativa.

Observações:
 Utilizado para descrição complementar referente à aplicação da manutenção. Veja também o
tópico configuração de textos.
 Ao alterar a filial de uma aplicação, todas as aplicações pertencentes ao mesmo
agrupamento sofrerão a mesma alteração.
 Se o campo "Localização" estiver preenchido, ao alterar a filial de uma aplicação, se na nova
filial existir uma localização com o mesmo código (TAG), o sistema automaticamente altera
também a localização. Caso contrário, deixa a localização em branco.
 Nos casos em que a localização, via Cadastro da Localização, contemple tipos de Aplicações
e Especificações haverá uma consistência que verificará se o tipo de aplicação e/ou a
especificação são verdadeiras para a aplicação corrente conforme o cadastro da localização.

Agrupamento
Agrupamento de aplicação: Escolha entre os dois tipos de agrupamento:
Agrupamento Físico: para formar grupos de equipamentos, relacionar componentes de uma
aplicação;
Agrupamento para Interferência: para diagramar a hierarquia entre equipamentos que
agregam custo de interferência no processo produtivo.
Para arrastar uma Aplicação de um agrupamento para outro, esta operação será Permitida
somente para o caso de não existir nenhum registro de movimentação para esta aplicação.
Planejamento:
 Apresenta as possíveis programações de manutenção, relacionadas com os planos de
manutenção. Selecione um dos tipos de programação:
 Periódica
 Data específica
 Acumulativa

Página 107 de 478


 Tendência de Variáveis
 Eventual
 Eventual/Serviços
 Eventual/Cíclica
 Sem programação
 Desta forma será ativada uma nova tela, permitindo o relacionamento da aplicação com:
 Planos de manutenção;
 Alarmes de antecedência para a execução;
 Parâmetros específicos para cada tipo de programação;
 Data para controle de start-up.

Observação: Se um mesmo plano for relacionado a uma mesma aplicação, porém com
programações diferentes (Periódica, Acumulada, etc.) ele será considerado concorrente.
Desenhos:
Permite visualizar os desenhos relacionados a esta aplicação e imprimí-los.
Um desenho pode possuir diversos níveis de detalhamento. Para visualizar os demais níveis, clique
com o mouse sobre o link correspondente. Para visualizar todos os links de um desenho, clique
no ícone" mostrar mapa das áreas do desenho"
Para cadastrar novos desenhos ou relacioná-los a uma aplicação, execute o gerenciador de
desenhos.

Anexos:

Com esta nova funcionalidade, é possível anexar quantos arquivos forem necessários a estes
cadatros. Qualquer arquivo (compactado com extensão zip) poderá ser anexado.

Especificação de Aplicação Especificação de Aplicações


Código e descrição de uma característica a ser relacionada aos locais de montagem/instalação
das aplicações da manuteção. Este conceito é utilizado para determinar uma caracteristica da
aplicação para que se possa restringir a montagem de aplicações em uma determinada
localização.
Os dados cadastrados são diferenciados por empresa.
Estes dados devem ser relacionados aos cadastros realizados na tela de Localização de
Aplicação para limitar a montagem/instalações de aplicação em determinada localização.
O sistema permite cadastrar esta entidade vinculada em agrupamentos de código, facilitando
assim o acesso a informações e a emissão de relatórios.
Exemplo:
Suponha que tenha sido cadastrada no sistema uma localização de aplicação cuja descrição
seja COMPARTIMENTO DO MOTOR. Como para cada localização podem ser definidas quais
especificações de aplicação poderão ocupá-la, suponha também que a especificação
MOTORES ELÉTRICOS e MOTORES HIDRÁULICOS tenham sido vinculadas à localização
deste exemplo. Neste caso, qualquer outra aplicação que não tiver uma destas especificações
não poderá ser montada nesta localização.
Entretanto, não existindo nenhuma especificação vinculada a esta localização, a montagem
poderá ser realizada sem qualquer restrição.

Veja também:
Agrupamento
Movimentação Visual

Tipos de AplicaçõesTipos de Aplicação


Código e descrição do tipo da aplicação, representando uma classificação de equipamentos de
acordo com suas características comuns.
Os dados cadastrados são diferenciados por empresa e filiais.
O sistema permite cadastrar esta entidade vinculada em agrupamentos de código, facilitando
assim o acesso a informações e a emissão de relatórios.
Desenhos:
Permite visualizar os desenhos relacionados a este tipo de aplicação e imprimí-los.
Um desenho pode possuir diversos níveis de detalhamento. Para visualizar os demais níveis, clique
com o mouse sobre o link correspondente. Para visualizar todos os links de um desenho, clique
no ícone" mostrar mapa das áreas do desenho"
Para cadastrar novos desenhos ou relacioná-los a um tipo de aplicação, execute o gerenciador de
desenhos.

Veja também:
Documentação
Agrupamento

Localização de Aplicações Localização de Aplicações


Código e localização física referentes ao ponto de aplicação da manutenção.
Os dados cadastrados são diferenciados por empresas.
O sistema permite cadastrar esta entidade vinculada em agrupamentos de código, facilitando
assim o acesso a informações e a emissão de relatórios.
Estes dados serão usados para facilitar a localização dos pontos de aplicação de manutenção
quando forem emitidas ordens de serviços. Relatórios poderão ser filtrados por esta entidade.
Se marcada como Exclusiva, somente uma aplicação poderá pertencer a esta localização. A
coluna Situação do grid mostra o número de aplicações existentes em cada localização e exibe
um erro se existir algum caso de localização exclusiva que contém mais de uma aplicação
Desenhos:
Permite visualizar os desenhos relacionados a este tipo de aplicação e imprimí-los.
Um desenho pode possuir diversos níveis de detalhamento. Para visualizar os demais níveis, clique
com o mouse sobre o link correspondente. Para visualizar todos os links de um desenho, clique
no ícone" mostrar mapa das áreas do desenho"
Para cadastrar novos desenhos ou relacioná-los a um tipo de aplicação, execute o gerenciador de
desenhos.

Tipo de Aplicação:

Botão Consistir , o sistema aponta as aplicações relacionadas a localização focada e não


relacionadas ao tipo de aplicação focado.
Permitir Subtipos: caso estiver preenchido com "S"(Sim) , a consistência é realizada entre
localização de aplicaçãoXaplicaçãoXtipo de aplicação e subtipos do mesmo tipo de aplicação.
Permitir Subtipos: caso estiver preenchido com "N"(Não) , a consistência é realizada entre
localização de aplicaçãoXaplicaçãoXtipo de aplicação.

Especificações:

Botão Consistir , o sistema aponta as aplicações relacionadas a localização focada e não


relacionadas a especificação focada.
Permitir Subespecificações: caso estiver preenchido com "S"(Sim) ,a consistência é realizada
entre localização de aplicaçãoXaplicaçãoX especificação e Subespecificações da mesma
especificação.
Permitir Subespecificações: caso estiver preenchido com "N"(Não) ,a consistência é realizada
entre localização de aplicaçãoXaplicaçãoX especificação .

Limitar Movimentações:

Página 109 de 478


Permite informar a quantidade de serviços a serem realizados nas aplicações pertencentes a
localização focada.
Ação "Avisar": o sistema emitirá um alerta, permitindo então a realização dessa quantidade
de serviços na localização focada.
Ação "Bloquear": o sistema emitirá um erro, não permitindo então a realização dessa
quantidade de serviços na localização focada.

Observação: Assim como no cadastro da aplicação, é possível copiar a estrutura de uma


localização, incluindo suas relações, para uma nova localização ou para uma localização já
existente. Para isto, insira uma nova localização e informe o seu código e descrição. Em
seguida, pressione o ícone "copiar estrutura de..." . Para copiar a estrutura para uma
localização já existente, apenas edite o registro e clique neste mesmo botão. Neste caso, todas
as relações cadastradas anteriormente serão substituídas.

Veja também:
Agrupamento

Tipos de Ponto de Controle Tipos de Ponto de Controle


O Ponto de Controle é um instrumento utilizado para apurar medições em equipamentos. As
unidades de medida para estes Pontos de Controle apuram horas, quilômetos dentre outros
fatores que implicam em alguma forma de medir um período em que o equipamento esteja em
operação.
Alguns dos Pontos de Controle mais utilizados são:
 Hodômetros
 Medidores de tempo (Relógio, Horímeto etc)
Veja também:
Agrupamento FprefUser

Movimentação de Aplicação Movimentação de Aplicações


Esta funcionalidade permite registrar as movimentações de aplicações de uma forma mais
rápida e simples, garantindo um histórico de movimentações mais eficiente. As
movimentações de aplicações influem na mudança de agrupamento, na mudança de pontos de
controle acumulativo e nas coletas acumulativas de ambas as aplicações.
OBS.: Nesta tela é possível apenas editar dados informados pelo usuário, consequentemente,
todas as operações de movimentação devem ser feitas unicamente pela tela de Detalhes da
Movimentação.

Sendo assim, basta clicar no botão Montar/Desmontar e seguir os passos desta tela.

Os seguintes campos são referentes à montagem:


 Aplicação: É o novo agrupamento ao qual ela vai pertencer.
 Data Montagem: Data em que a aplicação foi montada.
 Valor Montagem: Valor da coleta do ponto de controle acumulativo na data da
montagem.
 Localização Montagem: Localização da aplicação dentro do novo agrupamento no
momento da montagem.
 Custo Montagem: Custo do serviço realizado na montagem.
 O.S. Montagem: Mostra o número da O.S., caso a montagem tenha sido registrada
em alguma O.S.
Para retirar uma aplicação, basta editar o registro de montagem preencher os seguintes
campos:
 Data Retirada: Data em que a aplicação foi retirada do agrupamento.
 Valor Retirada: Valor da coleta do ponto de controle acumulativo na data da retirada.
 Localização Retirada: Localização da aplicação após a retirada (estoque, depósito,
lixo, etc.).
 Total Registrado: Diferença entre o valor da retirada e o valor da montagem.
 Total Acumulado: Soma de todos os valores do campo "Total Registrado" para a
aplicação corrente.
 Serviço Retirada: Serviço realizado na retirada (motivo pelo qual a aplicação foi
retirada).
 Custo Retirada: Custo do serviço realizado na retirada.
 O.S. Retirada: Mostra o número da O.S., caso a retirada tenha sido registrada em
alguma O.S.

Para as empresas que utilizam o Engeman® para manutenção de frota, este processo é ideal
para o controle de pneus, permitindo realizar as movimentações básicas (montagem, retirada,
rodizio, recapagem, etc) e garantindo maior confiabilidade no histórico de quilometragem
rodada.
Através desta tela, também é possível recriar todo o histórico de coletas acumulativas da
aplicação corrente. Ou seja, se o histórico de coletas de cada aplicação informada neste
histórico de movimentação estiver correto, é possível reconstruir um histórico de coletas 100%
confiável para esta aplicação corrente. Para isso, basta clicar no botão "Refazer o histórico de
coletas desta aplicação de acordo com sua movimentação".
A tela de movimentação permite a edição somente dos campos "Serviço Retirada", "Custo
Montagem" e "Custo Retirada". Os demais campos ficam bloqueados para edição, para garantir
a segurança do processo.
Ocultar movimentações do sistema: Com esta opção marcada, o sistema irá ocultar as
movimentações geradas automaticamente pelo sistema (em alguns casos, quando uma
aplicação que possui subcomponentes é movimentada, o sistema pode gerar automaticamente
movimentações para estes subcomponentes para manter a consistência do seu histórico).

Ocultar a coluna "Aplicação Pai (1º Nível)": Esta coluna mostra a aplicação que possuia o
ponto de controle em cada registro de movimentação em casos em que a aplicação pai não é a
aplicação que possui o ponto de controle (por exemplo, em movimentações de pneus,
reboques e cavalos mecânicos).

IMPORTANTE: Para cadastramento de dados antigos (histórico de montagens e retiradas),


deve-se consultar no cadastro da aplicação se houve troca de medidor de ponto de controle
acumulativo. Caso positivo, é necessário fazer a conversão dos valores de montagem e
retirada manualmente antes de inserí-los no cadastro, para evitar inconsistencias no histórico
de coletas.

Movimentação Visual Movimentação Visual

Esta funcionalidade é um aperfeiçoamento do Histórico de Movimentação de Aplicações já


existente no sistema, a qual utiliza os Modelos Visuais criados para realizar todas as operações
de movimentação de aplicações necessárias.

Para movimentar aplicações em um modelo, primeiramente o modelo deve estar associado a


uma aplicação principal, no próprio cadastro de aplicações. Um modelo deve ser associado
somente a aplicações que são "cabeças de grupo", ou seja, na qual serão agrupadas várias
outras aplicações (sub-componentes). Um exemplo prático é associar um modelo a um veículo,

Página 111 de 478


onde serão movimentados pneus, baterias, motores, reboques, etc.

Montando uma aplicação

Para montar uma aplicação em uma região do modelo, basta dar um duplo clique na região
vazia ou clicar com o botão direito e selecionar a opção referente à montagem. Uma tela de
pesquisa irá exibir somente as aplicações possíveis para esta região, levando-se em conta o
tipo e a especificação da aplicação.

Depois de selecionar a aplicação, uma tela será exibida para que sejam informados os dados
referente a montagem. Maiores detalhes, consulte a ajuda da tela Detalhes da Movimentação.

Desmontando ou descartando uma aplicação

Arraste uma aplicação para o ícone desejado (retirada ou descarte). Novamente será exibida a
tela de Detalhes da Movimentação, deixando liberados apenas os campos referentes a
retirada.
Nota: uma aplicação arrastada para descarte torna-se automaticamente inativa.

Editando as descrições dos rótulos

Ao marcar os Rótulos serão exibidas na tela as descrições das aplicações nos desenhos e
também os campos: Tamanho, Alinhamento, Negrito, Transparente. Estes campos permitem
alterar o tamanho da fonte, alinha o texto(Esquerdo, Centralizado, Direito), coloca o texto em
negrito e coloca o texto em transparente.

OBS: As alterações destes campos alteram todos os modelos visuais.

Propriedades

O Grid de propriedades exibe informações específicas de cada aplicação. As propriedades


podem ser cadastradas pelo próprio usuário. Para tal, clique no botão "Novo" e informe os
dados necessários para cadastrar uma nova propriedade. Uma nova propriedade criada é
sempre associada ao tipo da aplicação, consequentemente cada nova propriedade será exibida
ao selecionar qualquer aplicação do modelo desde que sejam do mesmo tipo.
As propriedades podem ser exportadas para arquivos e importadas novamente, como acontece
com os KPI's. Podem ser também replicadas para outros tipos de aplicação. Consulte as
permissões de usuário para realizar estas operações.
Para maiores detalhes, consulte Propriedades da Movimentação.

Propriedades Propriedades (Movimentação Visual)


O Grid de propriedades desta tela oferece grande flexibilidade para exibir informações
específicas das aplicações pertencentes ao modelo.

Digite no campo Descrição um título para sua propriedade. Em seguida, selecione uma unidade
de medida (não obrigatório). Finalmente, digite o código SQL que irá calcular o resultado a ser
exibido no Grid.

O sistema já predefiniu alguns parâmetros que podem ser utilizados nesta tela de acordo com
a aplicação selecionada na tela anterior:
- codapl: código da aplicação selecionada
- codapl_new: código da aplicação principal (aplicação do modelo)
- codponacu: código do ponto de controle da aplicação corrente
- codemp: código da empresa corrente
- codfil: código da filial corrente

Exemplo: o código abaixo irá exibir, para cada aplicação selecionada, a quantidade km
rodados. Para utilizar um dos parâmetros acima, basta colocar ":" antes do parâmetro,
conforme a figura abaixo.

Detalhes da Movimentação Detalhes da Movimentação


Informe nesta tela os dados referentes à montagem/retirada da aplicação na movimentação.
Toda operação realizada nesta tela poderá ser consultada ou excluída somente na tela de
Histórico de Movimentação de Aplicações, bem como excluída mas não pode ser modificada.

Nesta tela é permitido:


- Registrar a montagem de uma aplicação em uma outra aplicação (novo agrupamento) -
desta forma, o ponto de controle acumulativo deste novo agrupamento replicará todas as suas
coletas acumulativas para a aplicação montada. Este processo é similar ao do registro de
serviço na O.S.
- Registrar a retirada de uma aplicação montada anteriormente - consequentemente a
aplicação vai parar de usar o ponto de controle acumulativo que usava anteriormente e será
removida do agrupamento.

Informações Preliminares

O cabeçalho desta tela mostra a aplicação (sub-componente) que está sendo montada ou
retirada e sua localização de montagem. E logo abaixo, a aplicação principal ("cabeça de
agrupamento") onde a primeira está sendo montada juntamente com seu ponto de controle.
O Grid de ponto de controle ficará somente leitura se a região exigir que um determinado
ponto de controle seja seguido. Caso contrário, o usuário poderá escolher.

Dados da Montagem

 A Data da Montagem pode ser uma data/hora atual ou retroativa, desde que não
coincida e nem seja menor do que datas de movimentações já existentes.
 O campo Leitura é o valor do medidor do ponto de controle nesta data.
 O Custo Total da Montagem envolve todos os custos levantados na montagem, ou
seja, o custo de compra da aplicação (sugerido automaticamente pelo sistema) somado

Página 113 de 478


com custos de mecânica, fretes, limpezas, revisões, etc. OBS.: no caso de serviços
extras, realizados antes da montagem, basta gravar o registro gerando uma O.S.
(botão Gravar e Gerar O.S.) e todo custo material informado no encerramento será
replicado neste campo, mantendo coerente o histórico.
 Em Fabricante/Fornecedor, o sistema já traz do banco de dados o mesmo Fabricante
informado no cadastro da aplicação, caso esta nunca tenha sido montada (aplicação
nova). Caso contrário, busca o Fornecedor informado no registro de serviço no
encerramento da O.S. que foi aberta para a última movimentação de retirada.
 E finalmente no campo Especificação, o sistema também traz a Especificação
informada no cadastro da aplicação mas permite que este seja alterado neste
momento. Em muitos casos esta informação é importante na hora da montagem pois
uma aplicação pode mudar de especificação durante um serviço de reforma, revisão ou
similar e é preciso manter um histórico de mudança de especificação.

Após preencher estes campos e salvar o registro, o agrupamento da aplicação será alterado, a
data e o valor da montagem serão inseridos na coleta acumulativa da aplicação em que ela foi
agrupada e ao mesmo tempo replicada para sua própria coleta acumulativa. A localização no
cadastro da aplicação também será alterada.
Obs.: O sistema não permite cadastrar um novo registro de montagem se o último registro de
montagem estiver ainda em aberto, ou seja, se não houver retirada cadastrada para a última
montagem.
Dados da Retirada

 A Data da Retirada, como a de montagem, também pode ser uma data/hora


 atual ou retroativa, desde que não coincida e nem seja menor do que datas de
movimentações já existentes.
 O campo Leitura é o valor do medidor do ponto de controle nesta data.
 O Custo Total da Retirada envolve todos os custos levantados na retirada, ou seja, o
custo de venda da aplicação (no caso de descarte) somado com custos de mecânica,
fretes, etc. OBS.: como foi dito na montagem, no caso de reforma, revisão, retífica, ou
serviços similares, este custo não precisa ser informado no momento da retirada. Basta
gravar o registro gerando uma O.S. (botão Gravar e Gerar O.S.) e todo custo material
informado no encerramento será replicado neste campo, mantendo coerente o
histórico.
 Em Serviço/Finalidade da Retirada, informe o serviço que será realizado nesta
aplicação, que também seria o motivo pelo qual ela foi retirada. Este dado é muito
importante para impedir que uma aplicação seja montada dependendo do número de
vezes que esse serviço foi realizado.
 E no campo Localização/Destino, informe o destino desta aplicação depois da
retirada (ou deixe em branco quando for descarte ou venda).

Após preencher estes campos e salvar o registro, o agrupamento da aplicação será removido,
a data e o valor da retirada serão inseridos na coleta acumulativa da aplicação em que ela
estava agrupada e ao mesmo tempo replicada para sua própria coleta acumulativa. Os campos
Total Rodado e Acumulado serão calculados sempre que for registrado montagem e retirada.

Log detalhado de Movimentações de Aplicação Log detalhado de


Movimentações de Aplicação
Esta tela exibe os logs detalhados gerados durante os processos de movimentação de
aplicações realizados através da tela de movimentação visual ou à partir da tela de histórico de
movimentação da aplicações.
Alguns dos processos que são registrados e que podem ser consultados pela tela de log:
- Montagens e retiradas de aplicações;
- Inserções e deleções no agrupamento das aplicações, seja pelo sistema ou pelo usuário;
- Alterações no ponto de controle, seja pelo sistema ou pelo usuário;
- Exclusão de movimentações;
- Procecimentos automáticos realizados no processo de movimentação;
- Detalhamento do processo de refazer coleta de aplicações; entre outros.

Para consultar os dados nesta tela, basta informar opcionalmente o período desejado e clicar
no botão "Mostrar". Pode-se filtrar a pesquisa informando a aplicação desejada no campo de
filtro "Aplicação".
Por padrão, a opção "Pesquisar logs de todos os usuários" fica marcada, podendo ser alterada
caso se deseje consultar somente os logs do usuário corrente.
A opção "Ocultar movimentações geradas automaticamente pelo sistema" faz com que não
sejam mostrados no resultado da consulta os registros referentes à movimentações geradas
automaticamente durante o processo de movimentações. Caso opção seja desmarcada, o
resultado da pesquisa irá diferenciar com fundo cinza os registros referentes à movimentações
que não são do sistema.
OBS.: Os logs são gerados à partir da versão 7.1.0.0.

Valores Aplicação Valores Agregados da Aplicação


O custo agregado informa o custo do lucro cessante ou custo de interferência de uma
aplicação. Seu cálculo é realizado de acordo com a relação Produtos da Aplicação, levando-se
em consideração toda a árvore hierárquica do agrupamento dependente da aplicação atual.
Seu valor é convertido para o índice financeiro padrão, informado na tela de Personalização a
Nível Geral.
A capacidade produtiva agregada informa a possível perda de produção no caso de
interferência, levando-se em consideração todas as aplicações dependentes, hierarquicamente,
semelhante ao custo agregado. Para que seu cálculo seja possível, é necessário:
 Informar a unidade no cadastro de todas as aplicações dependentes do cálculo;
 O fator de conversão entre as unidades (caso existam unidades diferentes nas aplicações
dependentes).
Se qualquer uma das informações acima não for informada, o cálculo será apresentado de
forma errônea ou não será calculado.

Aplicação X Produto Produtos da Aplicação


Relação com produtos do processo produtivo. Aplicado no caso de máquinas produtivas. Cada
máquina pode processar mais de um produto, com diferentes capacidades produtivas e
diferentes custos. Esta informação calculará a média da capacidade produtiva com respectivos
valores para serem usados no cálculo de interferência no processo produtivo.
Operações da tela:
 Cap prod/hora: capacidade produtiva da aplicação por hora.
 Unidade: unidade referente ao numerador da capacidade produtiva. O denominador
será sempre /hora.
 Custo/hora: custo de uma unidade produtiva padrão no intervalo de tempo de uma
hora.
 Índice financeiro: referente ao custo da capacidade produtiva.

Aplicação X Material Materiais da Aplicação


Informa quais materiais, peças de reposição ou componentes uma aplicação possui. É utilizado
principalmente no planejamento da manutenção para calcular o custo da manutenção. É
também uma forma rápida de visualização dos materiais utilizados por uma aplicação.

Página 115 de 478


Operações da tela:
Grid Materiais:
 Material: informe o código do material relacionado ou utilize o mecanismo de procura
rápida.
 Quantidade: refere-se à quantidade de material utilizada na aplicação.
 Unidade: refere-se à unidade de consumo específica para a relação aplicação x material.

Grid Fornecedores do Material:


 Informa os fornecedores do material selecionado no grid "Materiais".

Ponto de Controle Acumulativo Ponto de Controle Acumulativo


Informe os pontos de controle acumulativos da aplicação. Eles são responsáveis pelo histórico
de coleta que determinará o start-up de planos de manutenção acumulativos. Para maiores
informações sobre este tipo de controle, veja o tópico planejamento por produção acumulada.
OPERAÇÕES DA TELA:
Setar valor acumulado. Marque esta opção para determinar qual é o valor acumulado
do ponto de controle até o momento. O sistema avisará qual o valor máximo
permitido, calculando o mínimo múltiplo comun entre os valores de cada plano de
manutenção para este ponto de controle.

Clique neste botão para ocultar/exibir o gráfico.

Lista:
 Código: Informação do código reduzido atribuído automaticamente para este ponto de
controle;
 Descrição do Ponto de Controle.
 Máximo coletas: número máximo de coletas que será utilizado para o cálculo de regressão.
Este campo pode ser deixado em branco para que todo o histórico seja verificado no
cálculo de regressão. Se informado, serão analisados apenas os n últimos valores para
calcular a tendência de evolução da produção.
 Período do Histórico: semelhante ao item anterior, o período de histórico é também uma
informação facultativa. Determina qual o período de dias será utilizado, a partir da última
coleta, em direção à primeira, no cálculo da tendência de evolução da curva.
 Unidade de medição.
 Número de casas decimais: especifica a quantidade de casas decimais utilizadas para os
dados coletados. Deixe este campo em branco para que não haja formatação.
 Tipo de Ponto de Controle: Define melhor organização para o cadastro de pontos de
controle em uma aplicação. E restringe possíveis duplicidades de Tipos de Pontos de
Controle numa mesma aplicação. ATENÇÃO: este campo é a única informação que garante
a diferenciação entre os pontos de controle de uma mesma aplicação. Portanto, se
existirem vários pontos de controle de um mesmo tipo em uma mesma aplicação, deve-se
cadastrar um tipo diferente para cada um.
 Virada do relógio: indica o número máximo que o medidor de produção acumulada pode
registrar. Após este valor, o contador será zerado e reiniciado sua numeração.

Coleta:
 Esta página é utilizada para registrar a coleta evolutiva dos valores do ponto de controle.
Informe a data e hora da coleta e o valor correspondente. É obrigatório informar pelo
menos uma coleta no momento da criação do ponto de controle. Caso contrário, o sistema
bloqueia a saída desta tela.
 Se o valor informado em uma coleta for menor do que o da data anterior, o sistema emitirá
uma aviso mas poderá permitir a gravação (no caso de virada de relógio)
 Se a data informada na coleta atual for menor do que a da última coleta, o sistema
bloqueará a gravação do registro, a não ser que o usuário corrente tenha permissão para
cadastrar coletas retroativas. Esta permissão pode ser configurada no perfil de usuário,
abaixo do item Ponto de Controle Acumulativo.
 O campo valor indica o valor usado para cálculo de próximas manutenções e é usado para
entrada de dados. Quando há troca de medidor, este campo apresentará valores negativos
para datas anteriores à troca do medidor, corrigindo-se assim as previsões de
manutenções futuras.
 O campo valor real indica o valor real das coletas neste ponto de controle, independente da
troca de medidores. Este campo é calculado pelo sistema e não pode ser modificado.
 IMPORTANTE: o sistema não permite editar uma coleta acumulativa porque o valor
informado em uma coleta envolve várias rotinas de atualização de dados de outras tabelas,
inclusive na geração de O.S., movimentação de aplicações e atualização de estoque.
 Geração de O.S. acumulativa pela coleta: ao digitar uma coleta e o sistema determinar que
várias O.S. sejam geradas (ou alarmes), ao invés do sistema mostrar várias mensagens e
pedir ao usuário sobre uma ação sobre cada uma, o sistema irá apresentar uma única tela
com todas as opções para o usuário proceder, de acordo com cada caso.
 Ao lado será indicado um gráfico dos valores coletados. O gráfico poderá ser baseado pelas
coletas lineares (não acumulado), inclusive com a reta de tendência evolutiva, ou
acumulado de acordo com o plano selecionado. Abaixo seguem maiores detalhes sobre o
gráfico acumulado. Veja também operações básicas do gráfico para configurá-lo da melhor
forma.

Este gráfico apresenta o valor real coletado e a reta de


tendência calculada.

Página 117 de 478


Este gráfico apresenta a evolução projetada para o acúmulo
de produção de um plano específico.
A reta" Valor" representa o valor acumulado para a emissão
da ordem de serviço.

 Selecione os planos de manutenção vinculados com a relação aplicação x ponto de


controle. Para cada plano, será apresentado o limite das variáveis, a data da última
manutenção e data calculada para a próxima manutenção.
 Legenda: marque esta opção para exibir/ocultar legenda do gráfico.
 Virada do relógio: exibe o gráfico comparado com o valor cadastrado para virada do relógio
medidor do ponto de controle.
 Tendência: apresenta a curva de tendência das variáveis e respectiva equação de geração.
A fórmula da regressão será indicada ao lado desta caixa de verificação.
 Limitar histórico: limita o cálculo da curva de projeção do gráfico de acordo com os valores
"Máximo coletas" e "Período histórico" cadastrados para o ponto de controle, agilizando e
otimizando o processo de cálculo da data futura da próxima manutenção.
 Acumular Plano: traça a área de acumulação para o plano selecionado, a partir da última
manutenção do plano múltiplo de maior valor. Para ser possível traçar esta área e obter a
data da próxima manutenção, um plano deverá ser selecionado com data de última
manutenção informada. Desmarcando esta caixa de verificação, será indicado o gráfico de
coleta linear.
 Pesquisa Rápida de Coletas: Para localizar rapidamente uma coleta, basta clicar com o
botão direito no grid de coletas, selecionar a opção "Localizar Coleta..." e digitar a
data/hora desejada (ou somente a data). Caso seja encontrada, o cursor será posicionado
sobre a referida coleta. Se pesquisada somente a data (sem a hora), a pesquisa também
será realizada, localizando a primeira coleta que possua aquele dia informado.

TROCA DE MEDIDOR: Na troca de medidor, os valores dos dois medidores (antigo e novo)
são gravados em uma tabela auxiliar. Estes dados são utilizados para calcular os valores
originais de cada medidor que já esteve montado na aplicação. Estes valores originais são
mostrados na coluna "Valor Real" no grid de coletas.
FILTRAR COLETAS: Criado um campo de data que será utilizado para filtrar as coletas

cadastradas. Após informar a data clique no ícone para filtrar as coletas. Após selecionar
o ícone, só serão apresentadas as coletas posteriores a data informada e as funções de
Verificação de Incoerências, Procura de Erros e Troca de Medidor não poderão ser realizadas.

Observações: Se a data de última manutenção de um plano estiver "atrasada" em relação


à data atual, gerando uma O.S. para uma data anterior à atual, o sistema fará uma
apropriação no momento da geração realocando a data programada para a data atual.
Observações 2: Uma coleta que sofreu uma virada informada pelo usuário ficará
destacada com a cor azul, já as coletas que sofreram uma virada automaticamente, quando
seguiam um outro ponto de Controle, ficarão destacadas na cor verde.

Correção de Coletas Acumulativas Correção de Coletas Acumulativas


Esta tela é usada para Corrigir coletas inconsistentes de Aplicações que seguem um Ponto de
Controle de outra Aplicação.
O sistema considera Coletas incosistentes quando há coletas com valores menores que os
valores de coletas anteriores mas que não possue uma Virada ou Coletas que possuem valores
que ultrapassam o Valor da Virada informado no cadastro do Ponto de Controle.
Neste processo o usuário pode esolher refazer todas as coletas da Aplicação ou Refazer
apenas Coletas a partir de uma determinada Data, conforme figura abaixo.

Quando o usuário escolhe Refazer todas as Coletas, todas elas serão atualizadas de acordo
com as coletas do Ponto de Controle que ela está seguindo. Quando o usuário escolhe Refazer
as Coletas a partir de uma data as coletas anteriores a esta data não sofrerão alterações. Essa
opção deve ser utilizada quando a Aplicação teve coletas de outros pontos de Controles e
então estas não devem ser alteradas, a não ser que contenham erros, neste caso elas devem
ser refeitas.
A Aplicação que possue um Histórico de Movimentação deverá corrigir as coletas por lá.

IMPORTANTE : Este processo é irreversível, uma vez refeitas as coletas, as alterações não
podem ser desfeitas. Portanto, analise bem o processo antes de executá-lo.

Aplicações com Valores Acumulado Incorreto Aplicações com Valor Acumulado


Incorreto
Esta tela é utilizada para fazer busca nas coletas que estão com o valor acumulado
incorreto. Para iniciar a busca clique no botão filtrar que será listado em uma tabela todas as

Página 119 de 478


coletas erradas. Você pode reduzir a busca inserindo os filtros nos campos "Tipos de
Aplicações" e "Filial" para acelerar a busca.
Ao encontrar erro basta selecionar a Aplicação na tabela dar dois cliques para Atualizar a
tela Coleta Acumulativa para Aplicação selecionada. Para imprimir o relatório basta clicar nesta
imagem .

Ponto de Controle Tendência de Variáveis Ponto de Controle Tendências


Variáveis
Informe os pontos de controle de tendência de variáveis da aplicação. Eles são responsáveis
pelo histórico de coleta que determinará o start-up de planos de manutenção por tendência de
variáveis. Para maiores informações sobre este tipo de controle, veja o tópico planejamento
por tendência de variáveis.
OPERAÇÕES DA TELA:
Clique neste botão para ocultar/exibir o gráfico.

Lista:
 Descrição do Ponto de Controle.
 Máximo coletas: número máximo de coletas que será utilizado para o cálculo de regressão.
Este campo pode ser deixado em branco para que todo o histórico seja verificado no
cálculo de regressão. Se informado, serão analisados apenas os n últimos valores para
calcular a tendência de evolução da produção.
 Período do Histórico: semelhante ao item anterior, o período de histórico é também uma
informação facultativa. Determina qual o período de dias será utilizado, a partir da última
coleta, em direção à primeira, no cálculo da tendência de evolução da curva.
 Unidade de medição.
 Número de casas decimais: especifica a quantidade de casas decimais utilizadas para os
dados coletados. Deixe este campo em branco para que não haja formatação.
 Tipo de Ponto de Controle: O preenchimento é obrigatório. Define melhor organização para
o cadastro de pontos de controle de uma aplicação, torna a rotina de movimentação de
aplicações mais dinâmica proporcionando menor trabalho ao usuário e restringe possíveis
duplicidades de Tipos de Pontos de Controle da aplicação. ATENÇÃO: este campo é a única
informação que garante a diferenciação entre os pontos de controle de uma mesma
aplicação, portanto, se existirem vários pontos de controle de um mesmo tipo em uma
mesma aplicação, deve-se cadastrar um tipo diferente para cada um deles.
 Set point: indica o valor normal da variável medida.
 Tipo de regressão: Determina o tipo da regressão a ser utilizada para gráficos de tendência
e geração de O.S. Existem cinco tipos de regressão: Linear, Logarítimca, Potência,
Exponencial e Polinomial, além do tipo Automática (padrão sugerido), onde a melhor curva
é determinada automaticamente de acordo com os dados. Para consultar informações
detalhadas sobre as curvas de regressão, clique aqui (artigo retirado do site do Microsoft
Office).

Importante: Na maioria dos casos, coloque a opção automática. Entretanto, se um


determinado ponto de controle tem a característica de oscilar demasiadamente, sugerindo um
gráfico de freqüência, opte por colocar a regressão linear, que apresentará menos
sensibilidade às variações momentâneas.
Coleta:
Esta página é utilizada para registrar a coleta evolutiva dos valores do ponto de controle. Informe
a data e hora da coleta e o valor correspondente.
Ao lado será indicado um gráfico dos valores coletados. Veja operações básicas do gráfico
Selecione os planos de manutenção vinculados com a relação aplicação x ponto de controle. Para
cada plano, será apresentado o limite das variáveis, a data da última manutenção e data
calculada para a próxima manutenção.
Para consultar a data da próxima manutenção, clique no ícone em forma de seta vermelha. A data
será apresentada logo acima da imagem do gráfico.
- Legenda: marque esta opção para exibir/ocultar legenda do gráfico.
- Set point: exibe o gráfico comparado com o valor cadastrado para set point.
- Tendência: apresenta a curva de tendência das variáveis e respectiva equação de geração.
- Limitar histórico: limita o cálculo da curva de projeção do gráfico de acordo com os valores
"Máximo coletas" e "Período histórico" cadastrados para o ponto de controle, agilizando e
otimizando o processo de cálculo da data da próxima manutenção.

Filtrar Coletas: Criado um campo de data que será utilizado para filtrar as coletas cadastradas.

Após informar a data clique no ícone para filtrar as coletas. Após selecionar o ícone, só
serão apresentadas as coletas posteriores a data informada .

Aplicação x Escala Manual Escala de Trabalho Manual da Aplicação


Esta tela apresenta uma relação da aplicação corrente com uma escala de trabalho. Esta
escala pode ser importada diretamente do sistema de PCP e serve como referência para
relatórios do sistema, onde se deseja obter uma informação mais precisa sobre interferência
do processo.
Para gerar uma escala automaticamente, informe o péríodo, as horas de produção, o produto
(não obrigatório) e para quais dias da semana a escala deverá ser gerada e clique em Gerar.
Caso queira gerar a escala manualmente, crie um novo registro, informe a Data/Hora Inicial,
Data/Hora Final, o produto (não obrigatório) e salve o registro.
O sistema faz uma consistência para não permitir que uma aplicação esteja em escala de
produção simultaneamente em duas datas/horas. Isso evita erros de cálculo de interferência
em duplicidade. Esta consistência é realizada a nível de sistema, portanto, a importação de
dados deve fazer esta verificação.

Página 121 de 478


Para replicar a escala manual de uma aplicação para uma ou várias aplicações, utilizar o botão
"Enviar a escala do período para...". Para utilizar esta funcionalidade, primeiramente é
necessário filtrar o período que possui a escala desejada através dos campos de filtro
presentes nesta tela.

Coleta de Eventos Coleta de Eventos

Nesta tela são registrados os eventos ocorridos para uma determinada aplicação.
Informe a data e hora do evento e seu respectivo código.
Estas informações serão utilizadas para determinar o start-up dos planos de manutenção
programados por eventos.
Os eventos podem ser lançados manualmente nesta tela ou através de coletores automáticos
instalados nos pontos de aplicação da manutenção.

Eventual Ciclica Eventual/Cíclica


Este processo de programação opera de forma semelhante ao da periódica, porém com as
periodicidades variáveis e com um ciclo definido. Ou seja, para determinadas aplicações que
precisam passar por um ciclo de manutenções definido, basta informar uma data para início do
ciclo e, para cada manutenção deste ciclo, informar o plano e número de dias (a contar da
data de início) em que deverá ser feita a manutenção.

As datas de cada manutenção do ciclo serão calculadas automaticamente. Quando o ciclo


terminar (quando a ultima O.S. do ciclo for fechada), a data de início será atualizada, iniciando
um novo ciclo.

O ciclo também pode ser interrompido antes mesmo dele terminar. Para isso, basta informar o
serviço e/ou o material necessários para que o ciclo seja interrompido. A partir daí, caso seja
informado no encerramento da uma das O.S. geradas por este plano o mesmo serviço e
material informados anteriormente na Eventual/Cíclica, a data de início será atualizada,
iniciando um novo ciclo.

Para uma mesma aplicação podem existir dois ou mais planejamentos do tipo Eventual/Cíclica
independentes ou dependentes. No caso dos dependentes, somente um pode ficar ativo e pode
ser desativado a qualquer momento por qualquer um dos outros, bastando apenas informar o
código deste que está ativo no campo correspondente nos outros planejamentos.

Operações da tela:
Grid Principal:
Ativo: sim ou não - se for ativo o sistema calculará as O.S. para a programação.
Código: gerado automaticamente pelo sistema.
Descrição Geral: descrição para o ciclo de manutenções da aplicação.
Data Início: a partir desta data, serão calculadas as datas das manutenções do ciclo.
Serviço: serviço responsável para interromper o ciclo.
Material: material responsável para interromper o ciclo
Grupo: informe o código do grupo a que pertence esta programação. Somente uma programação
poderá estar ativa por grupo. Este código pode ser representado por uma letra de 'A' a 'Z'.

Grid Detalhe:
Plano: plano de manutenção para cada manutenção do ciclo.
Dias: número de dias a partir da data de início do ciclo em que será realizada a manutenção.
Data Prevista: o sistema calcula a data prevista para a manutenção de acordo com a informação
do campo anterior
Resumindo, esta programação se aplica principalmente a determinados tipos de equipamentos
(aplicações) cuja manutenção depende de algum material que está sendo usado no momento.
Por exemplo, um motor de um veículo pode aceitar 3 retíficas se o cilindro for de um tipo A, ou
então 2 retíficas se o cilindro for de um tipo B. Neste caso, deve-se cadastrar nesta tela uma
programação cíclica de 3 retíficas caso esteja utilizando o cilindro A e outra de 2 retíficas se o
cilindro for tipo B, mantendo apenas uma delas ativa. Se o plano ativo no momento for o do
tipo A e se uma O.S. registrar a troca de cilindro por um do tipo B, o plano de retíficas do tipo
A será desativado se no plano de retíficas do tipo B:
- o campo Serviço contiver o valor 'TROCA';
- o campo Material contiver o valor 'CILINDRO TIPO B';
- o campo Grupo contiver o mesmo valor do plano de retíficas do tipo A.
Vale ressaltar que esta verificação é feita em todos os planos ativos e inativos do
equipamento.
Para maior esclarecimento, veja o exemplo abaixo:

No diagrama acima, exemplificamos o funcionamento do tipo de programação Eventual Cíclica.


Suponhamos que temos um equipamento denominado Equipamento X. Este equipamento
utiliza a Peça XYZ que é fabricada pelo Fabricante 01 e o Fabricante 02. Para ambas as
peças utilizamos o mesmo plano de manutenção, sendo a única diferença entre a peça do
Fabricante 01 para a peça do Fabricante 02, a periodicidade exigida. Enquanto a peça do
Fabricante 01 requer três manutenções, uma no 100 dia, 200 dia e 300 dia, a peça do
Fabricante 02 requer apenas duas manutenções, uma no 150 dia e outra no 400 dia.
Então, temos dois ciclos para o Equipamento X, um para a peça do Fabricante 01 e outro
para o Fabricante 02. Nosso equipamento utilizará apenas uma peça, portanto, quando
utilizarmos a peça do Fabricante 01 o ciclo da peça do Fabricante 02 deverá estar
desativado e vice-versa. Caso ocorra a troca do material informado no ciclo, o ciclo será
recomeçado. Exemplo: temos a lubrificação da peça XYZ no 100, 200 e 300 dia. Executamos a
100 e a 200 dia. Quando chegamos no 264 dia a peça quebrou e tivemos que trocá-la pela
peça do mesmo fabricante. O sistema checará essas informações e simplesmente reiniciará o
ciclo, então a próxima manutenção ocorrerá não mais no 300 dia que seria o próximo e sim,
na 100 dia. Caso troquemos a peça quebrada pela peça do outro fabricante, o sistema checará
essas informações, desativará o ciclo ativo e ativará o ciclo inativo.
Obs.: Qualquer Ordem de Serviço gerada para algum ciclo que estava ativo e que veio a ficar

Página 123 de 478


inativo antes de sua execução, será automaticamente cancelada e constará uma observação
sobre o motivo de seu cancelamento.
Abaixo, exemplos da programação da eventual cíclica:
Suponhamos que nosso equipamento esteja utilizando a peça do fabricante 01. Então,
teríamos:

Estaria Ativo o ciclo da Peça XYZ do Fabricante 01, com os seguintes parâmetros: toda a
vez que ocorrer qualquer serviço de troca do material Peça XYZ – Fab. 01, no Equipamento
X, automaticamente desativaria o ciclo da Peça XYZ do Fabricante 02.
Suponhamos que nosso equipamento esteja utilizando a peça do fabricante 02. Então,
teríamos:

Estaria Ativo o ciclo da Peça XYZ do Fabricante 02, com os seguintes parâmetros: toda a
vez que ocorrer qualquer serviço de troca do material Peça XYZ – Fab. 02, no Equipamento
X, automaticamente desativaria o ciclo da Peça XYZ do Fabricante 01.
Importante: Para que o processo funcione corretamente, a Aplicação (Equipamento) deve ser
informada no Registro de Serviço das Ordens de Serviços.
Escala de Trabalho Automática de Aplicação Escala de Trabalho Automática de
Aplicação
Cadastra o código e descrição da escala de trabalho para aplicações, relaciona a escala aos
horários disponíveis e registra os feriados referentes à escala. Estes dados poderão ser
relacionados a cada aplicação e usados principalmente para calcular o tempo efetivo de parada
de uma aplicação (na guia "Encerramento" da tela de Ordem de Serviço, existe um campo que
mostra o resultado deste cálculo para a O.S. que está sendo visualizada).
Operações da tela:
 Início: refere-se à data inicial da escala de trabalho que representa o marco a partir do
qual serão calculados os horários de trabalho para as aplicações.
 Horários: relacione para cada dia da semana, os horários de trabalho previamente
cadastrados, às escalas de trabalho. No caso de revezamento de horários, complete todo o
ciclo lógico de horários para os respectivos dias da semana. Veja como utilizar cadastro de
horários.
 Feriados: informe a data dos feriados referentes a esta escala para que o sistema possa
desconsiderar dias de feriado no cálculo de tempo efetivo de parada de aplicação. Veja como
utilizar Tabela de Feriados.
 Distribuição da Escala: Clique no ícone para verificar a distribuição da escala
cadastrada.

Modelo Visual Modelo Visual


Cadastro de Modelo Visual
Ao operar a barra de controle de registros abaixo será possível cadastrar novos Modelos de
Desenho e alterá-los, no que se refere ao descritivo do cadastro, além de excluir um modelo e
localizá-lo.
Importante: Um modelo ou uma de suas regiões não poderão ser excluídos se possuírem
alguma referência com alguma aplicação. Se realmente for necessário excluir um modelo de
desenho cuja relação exista com alguma aplicação, será necessário desvinculá-lo de todas as
aplicações que o utilizem para efetuar a exclusão. Isto garantirá exclusividade do modelo para
as aplicações que o utilizem.
Aba Observação
Nesta aba poderão ser inseridas informações relativas ao modelo do desenho. Estas
Informações poderão ser digitadas assim como importadas de outros arquivos de texto. A
exemplo de arquivos no formato DOC, RTF dentre outros.
Aba Aplicação/Equipamento
A aba de Aplicação/Equipamento estará exibindo as aplicações que possuírem vínculos com o
modelo selecionado na aba lista.

Criação de Modelos
Controles de Coordenadas
Estes Controles permitirão movimentar uma região de forma mais precisa sem o auxílio do
mouse. Para utilizá-los o modelo deverá estar em modo de edição e estar com a região que se
deseja mover selecionada. A partir da seleção da região desejada será possível movimentar
com precisão a região além de poder ser redimencionada. Tanto a movimentação quando o
redimencionamento poderão possuir escalas para sua alteração. O último controle
"Espaçamento", permite que o usuário faça sua opção por mover ou redimencionar um
desenho com determinado número de pixels de cada vez.

Página 125 de 478


Inserindo uma Imagem
Através do primeiro ícone da ilustração abaixo será possível inserir uma imagem no ambiente
de montagem do Modelo de Desenho.

O Segundo ícone permitirá exibir ou não as informações da região que estiver selecionada pelo
click do mouse. Estas informações se apresentarão no rodapé do ambiente de criação de
modelos de desenho.
O terceiro ícone permitirá que seja exibida as informações de cada região a partir da
aproximação do mouse a referida região que se deseja ver as informações. Esta informação
será exibida por meio de um rápido texto que possui duração configurável. Veja em
Preferências do Usuário -> Ajuda Rápida.
O quarto ícone permitirá que o espaço disponibilizado para criação do modelo seja expandido
ocultando a lista de modelos de desenho já cadastrados. Com este espaço adicional será
possível tratar com maior riqueza de detalhes o modelo que estiver sendo criado.
O quinto ícone permite que seja escolhida uma cor para o fundo onde está se criando o modelo
em questão.
Afim de facilitar a criação de Modelos de Desenhos a primeira imagem inserida na tela terá
como definição "Plano de Fundo". Sua identificação na base de dados será "D". A partir da
segunda imagem a definição será "Região" e sua identificação como tipo na base de dados
será como "R".
Qualquer região ou plano de fundo poderão ser alternados entre si e/ou excluídos, ou seja,
uma região poderá ser transformada em Plano de Fundo e um Plano de Fundo poderá ser
tranformado em região. Consequentemente durante a transição o tipo destino absorverá as
propriedades cabíveis. Exemplo: Uma região ao se tornar um Plano de Fundo perde a
Localização da região, se este a possuir.
Se a imagem inserida não for necessária para o modelo em questão, esta poderá
simplesmente ser excluída. Para isso basta clicar com o botão direito do mouse, após colocar o
modelo em modo de edição, e será exibida uma lista de opções. Dentre elas a de exclusão.
Logo abaixo será tratada as demais funcionalidades desta lista de opções.
Importante: Estas transições apenas poderão ocorrer se a região ou plano de fundo origem
não possuir vínculo com qualquer aplicação do sistema.
Para todo modelo salvo, o sistema cria uma visualização em miniaturas, conhecida como
thumbnail. Esta miniatura do modelo será exibida durante as pesquisas de modelos no
relacionamento com a tabela de aplicação.

Movimentação das imagens


No ambiente de criação de Modelos de Desenho Engeman® EAM/CMMS é permitido que uma
região ou até mesmo todo o modelo seja movimentado com o arraste do mouse. Esta
funcionalidade permite ao usuário uma operação fácil e rápida para os Modelos de Desenho
criados ou em desenvolvimento.
Movimentando Regiões
Para movimentar uma região basta que o modelo esteja em modo de edição. Para isso click no
ícone que se encontra na barra de controle de registros na parte superior do ambiente de
criação de modelos. Após ter clicado neste ícone a região poderá ser movimentada através do
mouse, clicando sobre a região desejada e arrastando-a. Ou através dos controles de
coordenadas das imagens que se encontram do lado direito da tela. Estes controles apenas
estarão disponíveis se o modelo estiver em edição. As regiões, bem como os modelos estão
limitados a não ultrapassarem a esquerda e a parte superior da tela.
Movimentando Modelos
Assim como na movimentação de regiões será necessário que o modelo esteja no modo de
edição. Os procedimentos são os mesmos, contudo será necessário clicar no botão "Mover

Modelo" para realizar a movimentação do modelo com o mouse.

Trabalhando com as Imagens


As imagens poderão ser redimencionadas através do Mouse ou através dos controles de
coordenadas. Algumas das facilidades implementadas referem-se a copiar uma imagem de
uma região e aplicar a outras regiões, ou ainda, copiar as dimensões de plano de fundo aplicar
a outras regiões. Pode-se ir além com esta ferramenta. É possível copiar toda a estrutura de
uma região e aplicá-la a outra região, exceto a localização, pois seria impossível aplicar, por
exemplo, um mesmo pneu traseiro direito interno no mesmo lugar onde já existe um.
Copiando Dimensões
Para copiar uma dimensão será necessário que o modelo esteja em modo de edição. Apenas
estando no modo de edição a lista de opções será exibida com o click do botão direito do
mouse. Após ter selecionado a região que deseja copiar as dimensões, basta dar um click com
o botão direito do mouse e optar por "Configurações da Imagem" e em seguida optar por
copiar Dimensões. Pronto, agora é só escolher qual região/imagem do ambiente de criação de
modelos receberá as dimensões copiadas.
Copiando Desenhos
Para copiar um desenho, assim como outras alterações, será necessário que o modelo de
desenho esteja em modo de edição. Após ter selecionado a região que deseja copiar o
desenho, basta dar um click com o botão direito do mouse e optar por "Configurações da
Imagem" e em seguida optar por copiar Imagem . Pronto, agora é só escolher qual região do
ambiente de criação de modelos receberá a imagem copiada e escolher colar Imagem.
Copiando Configurações
Para copiar uma configuração de uma região será necessário que o modelo esteja em modo
de edição. Após ter selecionado a região que deseja copiar as configurações, basta dar um
click com o botão direito do mouse e optar por "Copiar todas as Configurações". Pronto, agora
é só escolher qual região do ambiente de criação de modelos receberá as configurações
copiadas e optar por "Colar todas as Configurações". Estas configurações consistem em:
a) Desenho;
b) Tipo de Ponto de Controle;
c) Montagem Obrigatória (Sim / Não);
d) Dimensões.

Identificando "Regiões" do Modelo (Click Direito do Mouse)


A identificação de uma região se faz necessária em função das movimentações visuais,
controles de localização e ponto de controle.
Tipo
Refere-se ao tipo da imagem/desenho marcado. Poderá ser uma região ou um Plano de Fundo.
Ao criar um novo modelo e ao inserir uma nova imagem no ambiente de criação de modelos o
sistema criará a primeira área como Plano de Fundo e as demais como Regiões.

Localização
A localização será a mesma previamente cadastrada no sistema pela tela de cadastro de
Localização da Aplicação. No entanto, não será permitida uma mesma localização no mesmo
modelo. Ex.: Duas Regiões cadastradas com a Localização DD- Dianteira Direita.

Página 127 de 478


Ponto de Controle
O ponto de controle será único responsável para replicar as coletas da aplicação mestre para
as regiões. Para que uma região não receba coletas, apenas deixe de informar o ponto de
controle do qual ela segue. Exemplo de região que não segue ponto de controle. O Pneu Step
de um veículo. Ele está presente durante a utilização do veículo mas não sofre desgaste, ou
seja, não sofre reflexo da coleta do hodômetro do veículo do qual pertence.
Montagem Obrigatória
Esta opção deverá estar marcada se a região em questão for obrigatória para a montagem do
modelo. Exemplo: Roda dianteira do Tricículo.

Status Visuais do Modelo de Desenho


Os Status Visuais atuarão como semáforos do modelo que está sendo montado. É através
deles que será possível verificar se um modelo está plenamente apto para ser utilizado por
uma aplicação. A posição verde indica que está completo e a vermelha incompleto. O círculo
do Status do modelo é utilizado para demonstrar o estado geral do modelo. Se estiver
vermelho é porque há uma ou mais regiões com dados incompletos. O Plano de Fundo sempre
estará apto, ou seja, por si só estará preparado. O Círculo de Status da Imagem demonstra o
estado em que a região se encontra. Com informações completas ou incompletas.

Importação/Exportação de Modelos
Exportação

Para exportar um modelo para um arquivo, clique no ícone de exportação . A exportação só


estará habilitada quando a tabela não estiver em edição. Ao ser exportada uma região copia
literalmente todo o conteúdo das imagens que compõem o modelo. Não são exportados os
códigos do tipo de ponto de controle e nem o código da localização.
Importação

Para importar um modelo de um arquivo, clique no ícone . A importação só estará


habilitada caso o modelo esteja em modo de edição. Ao importar um arquivo para um modelo
já existente, todas as configurações existentes serão excluídas. Durante a importação, o
sistema verifica se já existe algum desenho cadastrado na tabela desenhos e se o conteúdo é
igual ao conteúdo de alguma região. Neste caso, o sistema utilizará este código. Caso não haja
um desenho de uma região na tabela desenhos, o sistema irá inserir o desenho
automaticamente e depois importar a região.

Cópia de Estrutura de Modelos


Um novo modelo pode ser cadastrado copiando-se toda a estrutura de outro já existente. Para
isso, ao inserir ou editar um modelo, clique no botão "Copiar estrutura de outro Modelo..." e
selecione o Modelo de origem de onde os dados serão copiados.
Acesso o nosso site em http://www.engeman.com.br para obter uma lista de modelos e
desenhos disponíveis para serem utilizados.

Curvas de Regressão Curvas de Regressão ou Linhas de


Tendências
O que são linhas de tendência?

As linhas de tendência são utilizadas para mostrar graficamente a tendência dos dados e para
analisar problemas relacionados com previsões. A este tipo de análise também se dá o nome
de análise de regressão (análise de regressão: forma de análise estatística utilizada para
efectuar previsões. A análise de regressão calcula a relação entre variáveis, de modo a que
uma determinada variável possa ser prevista a partir de uma ou mais variáveis diferentes.).
Utilizando a análise de regressão, pode projectar uma linha de tendência num gráfico para
além dos dados reais, de modo a prever dados futuros. Por exemplo, o gráfico seguinte utiliza
uma linha de tendência linear com uma previsão com quatro meses de antecedência, para
mostrar claramente a tendência para o aumento das receitas.

Tipos de linhas de tendência:

Linear

A linha de tendência linear é a linha recta que melhor se adapta, sendo utilizada em conjuntos
simples de dados lineares. Os seus dados são lineares se o padrão dos pontos de dados se
assemelha a uma linha. A linha de tendência linear mostra normalmente que algo está a
aumentar ou a diminuir numa percentagem constante.

No exemplo que se segue, uma linha de tendência linear mostra claramente que as vendas de
frigoríficos tiveram um constante crescimento ao longo de 13 anos. Note que o valor de R ao
quadrado é 0,9036, o que corresponde a um bom ajuste da linha aos dados.

Logarítmica

A linha de tendência logarítmica é uma linha curva ajustada, utilizada quando a percentagem
de alteração dos dados aumenta e diminui rapidamente e, em seguida, estabiliza. Uma linha
de tendência logarítmica pode utilizar valores negativos e/ou positivos.

O exemplo que se segue utiliza uma linha de tendência logarítmica para ilustrar o crescimento
previsto da população animal numa área definida, mostrando que, enquanto a população
estabilizou, o espaço disponível para os animais diminuiu. Note que o valor de R ao quadrado é
0,9407, o que corresponde a um ajuste relativamente bom da linha aos dados.

Página 129 de 478


Polinomial

A linha de tendência polinomial é uma linha curva utilizada quando há flutuação de dados. É
útil, por exemplo, para analisar os ganhos e as perdas de um conjunto de muitos dados. A
ordem da polinomial pode ser determinada pelo número de flutuações de dados ou pela
quantidade de oscilações (máximos e mínimos) da curva. Normalmente uma linha de
tendência polinomial número 2 tem apenas um máximo ou mínimo. Por norma, a número 3
tem dois máximos ou mínimos. A número 4 tem mais de três.

O exemplo que se segue mostra uma linha de tendência polinomial número 2 (um máximo)
para ilustrar a relação entre a velocidade e o consumo de combustível. Note que o valor de R
ao quadrado é 0,9474, o que corresponde a um bom ajuste da linha aos dados.

Potência

Uma linha de tendência de potência é uma linha curva, utilizada com conjuntos de dados que
comparam medidas que aumentam a uma taxa específica - por exemplo, a aceleração de um
carro de corrida em intervalos de um segundo. Não é possível criar uma linha de tendência de
potência se os dados apresentarem o valor 0 ou valores negativos.

No exemplo que se segue, os dados relativos à aceleração são mostrados através da


apresentação das distâncias em metros por segundo. A linha de tendência de potência mostra
de forma clara o aumento de aceleração. Note que o valor de R ao quadrado é 0,9923, o que
corresponde a um ajuste quase perfeito da linha aos dados.

Exponencial
A linha de tendência exponencial é uma linha curva, utilizada quando os valores de dados
aumentam ou diminuem em percentagens cada vez mais elevadas. Não é possível criar uma
linha de tendência exponencial se os dados incluírem zero ou valores negativos.

No exemplo que se segue, a linha de tendência exponencial é utilizada para ilustrar a


diminuição do teor de carbono 14 à medida que um objecto envelhece. Note que o valor de R
ao quadrado é 1, o que significa que a linha se ajusta perfeitamente aos dados.

Fonte: Microsoft Office Online. "Como prever e mostrar as tendências num gráfico"
Link: http://office.microsoft.com/pt-pt/excel/HP052034022070.aspx

Material Materiais
Cadastro de Materiais
Almoxarifado
Grupo de Materiais
Localização de Materiais
Classe de Materiais
Solicitação de Materiais
Kit de Materiais

Cadastro de Materiais Materiais


Refere-se ao cadastro de peças de reposição , insumos, componentes, peças fabricadas ou
reformadas, peças de referência a serviços, etc.
O cadastramento de materiais normalmente é realizado através de integração com outros
sistemas específicos destinados a este fim. Grande parte dos dados cadastrados referem-se a
peças de reposição e insumos. Porém alguns dados são de uso exclusivo da manutenção, tais
como:
 Peças de referência a serviços: são aquelas relacionadas ao ponto onde o serviço foi
aplicado ou ponto onde houve uma ocorrência. Este ponto específico pode ser cadastrado
genericamente ou de forma específica sem necessidade de controle de estoque.
 Peças fabricadas ou reformadas nas oficinas de manutenção.
 Cadastro de características de certos produtos para fins de consulta.

Lembramos que mesmo os dados exclusivos da manutenção, podem estar cadastrados em


sistemas específicos, bastando para isso, apenas uma separação por classe de materiais.
Os dados cadastrados são diferenciados por empresa.
O vínculo do sistema de manutenção com o cadastro de materiais, tem como objetivos:
 Planejar a utilização de materiais durante as manutenções.
 Permitir que os materiais estejam disponíveis quando as manutenções forem
realizadas.
 Calcular preços de custo e de venda planejado e realizado.

Página 131 de 478


 Informar consumo de materiais por aplicação da manutenção e por ordem de serviço.
 Disponibilizar características dos materiais.
 Relacionar materiais a seus fornecedores.
 Classificar qualidade dos fornecedores de materiais.
 Relacionar materiais aos equipamentos que os utilizam.
 Controlar fisicamente o estoque de materiais, quando não há outro sistema que o faça.
 Auxiliar o processo de compra de materiais - critério de preço, prazo de entrega e
qualidade do fornecedor.

A disponibilização de recursos materiais nas datas previstas para manutenção, requer os


seguintes processos:
 Reservar materiais necessários à manutenção - de acordo com as programações e
planos de consumo de materiais, determina-se os materiais necessários, respectivas
quantidades e datas de utilização, possibilitando sua reserva no estoque de materiais.
 Nivelar recursos materiais - se os cálculos de necessidades indicarem impossibilidade
do material estar disponível na data de manutenção inicialmente determinada, então uma data
posterior será sugerida.

OPERAÇÕES DA TELA:
Guia de cadastro:
 Informe dados referentes a identificação do material.
 Índice financeiro.
 Unidade.
 Classe de materiais
 Grupo de materiais.
 Casas decimais: determina o número de casas decimais referentes ao controle
quantitativo do material.
 Custo: O Cálculo do Custo será informado somente se relacionado o Material a Classe
de Material, sendo que na Classe de Material deve ser configurado um tipo de atualização e um
tipo de cálculo.
 Valor: O Cálculo do Valor será informado somente se relacionado o Material a Classe de
Material, sendo que na Classe de Material deve ser configurado um tipo de atualização e um
tipo de cálculo.
 Aplicações que utilizam este material.
 Fornecedores deste material
 Documentação

Guia de Observações:
Informe características gerais do material. Veja também o tópico configuração de textos.

Guia de Estoque:
Informe o estoque, custo e valor do material, referentes ao almoxarifado onde estejam
localizados.

Guia de Estoque por Filial:


Esta guia é apenas informativa, e mostra a quantidade, custo e custo médio do material por filial.

Guia de Desenhos:
Permite visualizar os desenhos relacionados a este material e imprimí-los.
Um desenho pode possuir diversos níveis de detalhamento. Para visualizar os demais níveis, clique
com o mouse sobre o link correspondente. Para visualizar todos os links de um desenho, clique
no ícone" mostrar mapa das áreas do desenho"
Para cadastrar novos desenhos ou relacioná-los a um material, execute o gerenciador de
desenhos.

Guia de Kit's do Material:


Permite visualizar os kits relacionados a este material.
Guia de Anexos:
Com esta nova funcionalidade, é possível anexar quantos arquivos forem necessários a estes
cadatros. Qualquer arquivo (compactado com extensão zip) poderá ser anexado.

Consumo Direto:
Marque esta opção caso se deseje que este material seja consumido sem passar pelo estoque no
momento do lançamento de entrada. Neste caso, ao acionar a tela de Consumo Direto, este
material será automaticamente incluído na nota de requisição.

Requisição/Devolução de Materiais:
Clique no botão Requisição/Devolução para exibir uma tela com histórico de todas as
Requisições/Devoluções deste material. O sistema também permitirá que sejam cadastrados
dados nesta tela.

Lançamento de Entrada de Materiais:


Clique no botão Lançamento de Entrada para exibir uma tela com histórico de todos os
Lançamentos de Entrada deste material. O sistema também permitirá que sejam cadastrados
dados nesta tela.

Movimentação:
Quando a empresa utilizar o Controle de Estoque Avançado, no lugar dos ícones de Requisição e
Lançamento de Entrada, se encontrará o ícone de Movimentação. Ao clicar nele, serão
exibidas na tela todas as movimentações efetuadas para o material corrente. O sistema
também permitirá o cadastro manual de movimentações, para correções, etc.

Atenção :
Se não for relacionada uma Classe ao Material, o sistema atualizará o saldo do
estoque normalmente, e será considerado como valor e custo do material o valor do Último
Lançamento.
Observações:
Quando a empresa utiliza o Controle de Estoque Avançado não será permitida a alteração
manual das quantidades e custos do Estoque, só será permitido alterar o Estoque Máximo,
Estoque Mínimo e Localização.

Material X Aplicação Aplicações que Utilizam este Material


Informe as aplicações que utilizam o material corrente, quantidade utilizada e unidade
quantitativa.
Quantidade: refere-se à quantidade do material utilizada especificamente na aplicação.

Material X Fornecedor Fornecedores deste Material


Informe os fornecedores do material corrente.
Classificação: refere-se à classificação da qualidade de fornecimento para o material corrente.
Tempo de ressuprimento: tempo necessário para que o fornecedor disponibilize o material
para plena utilização.

Distribuição da Escala Distribuição da Escala de Trabalho


Esta tela é utilizada para visualizar a distribuição da escala de trabalho cadastrada. Através
dela, é possível visualizar a escala de cada turma, de acordo com o período mencionado.
Informe o período e pressione F5 para realizar a distribuição. A data inicial deverá ser sempre
maior ou igual à data de início da escala.
Se existirem feriados relacionados à esta escala de trabalho, os feriados serão apresentados
na cor vermelha nesta distribuição.
Para imprimir a escala, após sua visualização, clique no ícone "imprimir".
Para salvar a distribuição em um arquivo TXT, Clique no botão "salvar"
Para alterar a fonte de impressão ou visualização da distribuição da escala de trabalho, utilize

Página 133 de 478


o botão "tamanho da fonte".

Requisiçao/Devolução X Material Requisição de Materiais (tela de


Materiais)
Nesta tela é mostrado um histórico de todas as Requisições/Devoluções feitas por material. O
sistema permite tambem que sejam cadastradas Requisições/Devoluções deste material
diretamente nesta tela.
À medida que se realiza os lançamentos de saída (requisição) ou entrada (devolução ou
estorno), a quantidade de materiais em estoque será atualizada.

OPERAÇÕES DA TELA:
 Almoxarifado;
 Lote: número do lote do material no estoque. O sistema só permite fazer requisições de
materiais nos lotes existentes. Caso a empresa não utiliza controle de estoque por lote,
informe o valor "1" (padrão do sistema)
 Data da Requisição.
 Documento: se for informado um número de Documento ja existente, o sistema apenas
adicionará um ítem neste documento. Caso contrário, criará um novo documento, que conterá
este ítem.
 Funcionário;
 Item: Informe o número do item.
 Informe a unidade de requisição. Este campo será automaticamente preenchido quando
for informado o material. Caso seja necessário, pode-se escolher uma unidade diferente da
informada no cadastro do material. Ex.: suponha que o material informado esteja cadastrado
em Toneladas. Você poderá fazer a requisição em Kg, desde que haja a conversão correta no
cadastro de unidades.
 Qtde: Informe a qtde em" un" do material requisitado.
 Centro de custo: informe o centro de custo onde será computado o custo deste
material.
 Ordem de serviço: Informe se o material requisitado está sendo utilizado por uma
determinada O.S. Neste caso, a O.S. terá os lançamentos de custo com materiais (na tela de
registro de serviços) automaticamente atualizados. Isto será bastante interessante,
principalmente porque reduz o tempo de digitação do registro de serviços e elimina duplicidade
de tarefas.

Observações:
Nenhum lançamento poderá ser editado. Se for necessário realizar uma correção na digitação
incorreta de alguma linha, esta deverá ser excluída e incluída novamente, com os dados
corrigidos.
Sempre que um item da requisição/devolução for incluído ou excluído, automaticamente o estoque
será atualizado.
Se a requisição/devolução for totalmente excluída, o estoque de cada item do documento será
atualizado.

Lançamento de Entrada de Materiais (tela de


Lançamento X Material

Materiais)
Refere-se ao cadastro de entrada de itens do estoque de materiais.
Nesta tela é mostrado um histórico de todas as Entradas feitas por material no estoque. O
sistema permite tambem que sejam cadastrados Lançamentos de Entrada deste material
diretamente nesta tela.
À medida que se realiza os lançamentos de entrada, a quantidade de materiais em estoque
será atualizada.
Estas movimentações são realizadas através dos documentos:
 Notas fiscais.
 Documento de fabricação interna de materiais.

O controle de estoque, bem como o processo de movimentação, poderá ser realizado através
de sistemas específicos, porém, as informações cadastrais devem ser integradas ao sistema de
manutenção, para que este possa calcular custo e consumo por ordens de serviços.

OPERAÇÕES DA TELA:
Cadastramento dos itens:
 Almoxarifado.
 Lote: número do lote do material no estoque. O sistema permite fazer entrada de
materiais em lotes existentes ou em novos lotes. Caso a empresa não utilize controle de
estoque por lotes, informe o valor "1" neste campo.
 Data do lançamento.
 Documento : Refere-se ao número do lançamento (pode ser o número da nota fiscal).
Se for informado um número de Documento ja existente, o sistema apenas adicionará um ítem
neste documento. Caso contrário, criará um novo documento, que conterá este ítem.
 Fornecedor.
 Qtde: Informe a qtde em" un" do material lançado.
 Informe a unidade de lançamento. Este campo será automaticamente preenchido
quando for informado o material. Caso seja necessário, pode-se escolher uma unidade
diferente da informada no cadastro do material. Ex.: suponha que o material informado esteja
cadastrado em Toneladas. Você poderá fazer o lançamento em Kg, desde que haja a
conversão correta no cadastro de unidades.
 Índice financeiro: este campo será preenchido automaticamente ao ser inserido um
novo registro, de acordo com a unidade financeira padrão cadastrada na configuração geral do
sistema. Caso o material seja comprado em uma unidade diferente da padrão, seu custo será
automaticamente convertido para a unidade padrão.
 Custo Unitário: informe o custo unitário do produto lançado.

Observações:
 Nenhum lançamento poderá ser editado. Se for necessário realizar uma correção na
digitação incorreta de alguma linha, esta deverá ser excluída e incluída novamente, com os
dados corrigidos.
 Sempre que um item for incluído ou excluído, automaticamente o estoque será
atualizado.
 Sempre que um item for incluído, o valor e custo do material no estoque será
atualizado. Entretanto, se este item for excluído, o valor e custo não voltarão ao estado
anterior. Esta alteração é irreversível, a não ser que seja realizada manualmente.
 Se o documento for totalmente excluído, o estoque de cada item será atualizado.

Almoxarifado Almoxarifado
Código e descrição dos almoxarifados utilizados para armazenamento de materiais.
Esta entidade relaciona-se com o cadastro dos materiais, permitindo:
 cadastrar parâmetros de controle.
 controlar níveis de estoque.
 processar as movimentações de entrada e saída.

Os dados cadastrados são diferenciados por empresas e filiais. Para visualizar almoxarifados de
outras filiais, clique nos botões" avançar filial" ou" retroceder filial" ao lado da descrição da
Filial.
Operações da tela:
 Estoque
 Requisição de Materiais
 Lançamento de entrada
 Consumo Direto

Página 135 de 478


 Inventário

Observações:
Para que seja possível acessar as telas de requisição de materiais ou lançamento de entrada
de materiais, o cadastro do almoxarifado deve conter ao menos um almoxarifado cadastrado.
Os materiais lançados na requisição e lançamento de entrada devem estar relacionados
previamente ao almoxarifado.

Estoque Estoque
Cadastre nesta tela a relação de materiais de cada almoxarifado, tendo no cabeçalho o Valor e
Custo totais por Almoxarifado. Os materiais devem estar relacionados aqui antes que seja
possível realizar o lançamento de entrada e requisição de materiais. Entretanto, se ao realizar
o lançamento de entrada de materiais, algum material não existir nesta relação, será
questionado ao operador se deseja incluir automaticamente a relação de estoque.
Operações da tela:
 Material: Informe o material correspondente.
 Lote: número do lote do material no estoque. O sistema permite fazer entrada de materiais
em lotes existentes ou em novos lotes. Caso a empresa não utilize controle de estoque por
lotes, informe o valor "1" neste campo.
 Estoque mínimo - estabelece o limite abaixo do qual deverá ser emitido o pedido de compra.
Este limite deve ser estabelecido, levando-se em consideração o consumo médio x tempo
médio de ressuprimento.
 Estoque máximo - estabelece a quantidade que deve ser comprada. Este valor deve ser
estabelecido de acordo com o consumo médio x intervalo de compras.
 Localização por almoxarifado.
 Preço de custo.( O Cálculo do Custo será informado somente se relacionado o Material a
Classe de materiais, sendo que na Classe de Material deve ser configurado um tipo de
atualização e um tipo de cálculo)
 Preço de venda. (coloque o mesmo preço de custo, se não houver diferenciação entre eles,
mas nunca deixe este campo em branco). Este campo será automaticamente preenchido
pelo preço de custo na inclusão de novos materiais.O Cálculo do Valor será informado
somente se relacionado o Material a Classe de materiais, sendo que na Classe de Material
deve ser configurado um tipo de atualização e um tipo de cálculo)
 Saldo.( O Saldo será informado somente se relacionado o Material a Classe de materiais,
sendo que na Classe de Material deve ser configurado um tipo de atualização e um tipo de
cálculo)

Requisição de Materiais Requisição de Materiais


Requisição / Devolução de Materiais - Padrão
Requisição / Devolução de Materiais - Avançado

Requisição de Materiais - Padrão Requisição de Materiais


Refere-se ao cadastro de saída de itens do estoque de materiais. Estas movimentações são
realizadas através do documento de requisição de materiais.
À medida que se realiza os lançamentos de saída (requisição) ou entrada (devolução ou
estorno), a quantidade de materiais em estoque será atualizada.
No caso de requisições, devoluções e fabricação interna, pode-se utilizar o mesmo modelo de
impresso, distinguindo apenas a natureza da operação.
O controle de estoque, bem como o processo de movimentação, poderá ser realizado através
de sistemas específicos, porém, as informações cadastrais devem ser integradas ao sistema de
manutenção, para que este possa calcular custo e consumo por ordens de serviços.
OPERAÇÕES DA TELA:
Cabeçalho:
 Número da Requisição;
 Funcionário;
 Data da Requisição.

Itens da requisição de materiais:


 Item: Informe o número do item.
 Lote: número do lote do material no estoque. O sistema só permite fazer requisições de
materiais nos lotes existentes. Caso a empresa não utiliza controle de estoque por lote,
informe o valor "1" (padrão do sistema).
 E/S (Entrada ou Saída): Informe se o item é de entrada ou saída.
 Material: Informe o material da requisição.
 Informe a unidade de requisição. Este campo será automaticamente preenchido quando
for informado o material. Caso seja necessário, pode-se escolher uma unidade diferente da
informada no cadastro do material. Ex.: suponha que o material informado esteja cadastrado
em Toneladas. Você poderá fazer a requisição em Kg, desde que haja a conversão correta no
cadastro de unidades.
 Qtde: Informe a qtde em "un" do material requisitado.
 Centro de custo: informe o centro de custo onde será computado o custo deste
material.
 Ordem de serviço: Informe se o material está sendo requisitado para uma determinada
O.S. Ao salvar o item de requisição, o usuário será questionado se deseja inserir na O.S. um
registro de serviço refere àquele item requisitado ou se deseja selecionar na O.S. um dos
registros já existentes. Concluindo este procedimento, o material é alocado na O.S. referida.
Isto será bastante interessante, principalmente porque reduz o tempo de digitação do registro
de serviços e elimina duplicidade de tarefas. Quando o item de requisição for excluído, o
usuário será questionado se deseja excluir o registro de serviço associado na O.S. ou se deseja
somente retirar o material da O.S., sem excluir o registro. Importante ressaltar que um
registro de serviço que esteja vinculado a uma requisição não permite alterações nos campos
"Material", "Quantidade" e "Unidade". Também não será possível deletar o registro de serviço
enquanto o mesmo estiver vinculado à requisição.

Preencher Automaticamente de acordo com o kit:


 Utilize esta funcionalidade para auxiliá-lo a preencher uma requisição cujos itens estão
agregados a um kit de materiais.
 Ao clicar neste botão será exibido uma tela para informar o kit (obrigatório), a quantidade
de Kit's (não obrigatória) e a O.S.(não obrigatório).Ao confirmar, se não existirem itens
na requisição, o sistema irá preencher com os itens pertencentes ao kit e o estoque de cada
um será atualizado automaticamente.
 Obs.: Em nenhum momento será gravada uma relação entre a requisição e o kit de
material, ou seja, esta funcionalidade serve apenas para ajudar no preenchimento.

Observações :
 Para ser possível o lançamento de documentos sobre um determinado material, este
deve ser previamente relacionado no ítem estoque, na tela de almoxarifado.
 Nenhum lançamento poderá ser editado. Se for necessário realizar uma correção na
digitação incorreta de alguma linha, esta deverá ser excluída e incluída novamente, com os
dados corrigidos.
 Sempre que um item da requisição/devolução for incluído ou excluído,
automaticamente o estoque será atualizado.
 Se a requisição/devolução for totalmente excluída, o estoque de cada item do
documento será atualizado.

Requisição de Materiais - Avançado Requisição de Materiais - Controle


Avançado

Página 137 de 478


Refere-se ao cadastro de saída de itens do estoque de materiais. Estas movimentações são
realizadas através do documento de requisição de materiais.
À medida que se realiza os lançamentos de saída (requisição) ou entrada (devolução ou
estorno), a quantidade de materiais em estoque será atualizada.
No caso de requisições, devoluções e fabricação interna, pode-se utilizar o mesmo modelo de
impresso, distinguindo apenas a natureza da operação.
O controle de estoque, bem como o processo de movimentação, poderá ser realizado através
de sistemas específicos, porém, as informações cadastrais devem ser integradas ao sistema de
manutenção, para que este possa calcular custo e consumo por ordens de serviços.
OPERAÇÕES DA TELA:
Cabeçalho:
 Número da Requisição;
 Funcionário;
 Almoxarife;
 Data da Requisição;
 O.S.;
 Centro de Custo;
 Conta Contábil.

Itens da requisição de materiais:


 Item: Informe o número do item.
 Lote: número do lote do material no estoque. O sistema só permite fazer requisições de
materiais nos lotes existentes. Caso a empresa não utiliza controle de estoque por lote,
informe o valor "1" (padrão do sistema).
 Material: Informe o material da requisição.
 Informe a unidade de requisição. Este campo será automaticamente preenchido quando
for informado o material. Caso seja necessário, pode-se escolher uma unidade diferente da
informada no cadastro do material. Ex.: suponha que o material informado esteja cadastrado
em Toneladas. Você poderá fazer a requisição em Kg, desde que haja a conversão correta no
cadastro de unidades.
 Qtde: Informe a qtde em "un" do material requisitado.
 Centro de custo: informe o centro de custo onde será computado o custo deste
material.
 Ordem de serviço: Informe se o material está sendo requisitado para uma determinada
O.S. Ao salvar o item de requisição, o usuário será questionado se deseja inserir na O.S. um
registro de serviço refere àquele item requisitado ou se deseja selecionar na O.S. um dos
registros já existentes. Concluindo este procedimento, o material é alocado na O.S. referida.
Isto será bastante interessante, principalmente porque reduz o tempo de digitação do registro
de serviços e elimina duplicidade de tarefas. Quando o item de requisição for excluído, o
usuário será questionado se deseja excluir o registro de serviço associado na O.S. ou se deseja
somente retirar o material da O.S., sem excluir o registro. Importante ressaltar que um
registro de serviço que esteja vinculado a uma requisição não permite alterações nos campos
"Material", "Quantidade" e "Unidade". Também não será possível deletar o registro de serviço
enquanto o mesmo estiver vinculado à requisição.
 Transação:Informe o a transação a ser realizada pela requisição. É a transação que
define qual quantidade do estoque será atualizada.

Se os campos O.S., Centro de Custo e Conta Contábil do cabeçalho estiverem preenchidas, ao


inserir novos itens, estes campos já serão trazidos automaticamente.

Preencher Automaticamente de acordo com o kit:


 Utilize esta funcionalidade para auxiliá-lo a preencher uma requisição cujos itens estão
agregados a um kit de materiais.
 Ao clicar neste botão será exibido uma tela para informar o kit (obrigatório), a quantidade
de Kit's (não obrigatória) e a O.S.(não obrigatório).Ao confirmar, se não existirem itens
na requisição, o sistema irá preencher com os itens pertencentes ao kit e o estoque de cada
um será atualizado automaticamente.
 Obs.: Em nenhum momento será gravada uma relação entre a requisição e o kit de
material, ou seja, esta funcionalidade serve apenas para ajudar no preenchimento.

Utilizar uma transação padrão para cadastrar os itens


 Para utilizar esta opção clique no ícone e informe qual será a transação padrão para os
itens da requisição .

Após o cadastramento total da Requisição, o estoque ainda não foi atualizado, sendo possível a
edição e correção de seus itens. Para finalizar o processo, o usuário responsável deverá ter
acesso ao ícone . Ao clicar nele, o sistema fará uma verificação no estoque para
certificar que há saldo disponível para realizar o processo. Após a efetivação, serão geradas
movimentações de cada item da requisição, o estoque será atualizado e a requisição não
poderá ser mais editada nem excluída.

O mesmo processo é feito para a devolução de um item. Porém, para cada item é possível
relacioná-lo a requisição de origem, neste caso o sistema verifica se a quantidade devolvida é
menor ou igual a quantidade requisitada, se sim, o processo tem prosseguimento.

Observações :
 Para ser possível a requisição de um material, este deve estar previamente relacionado
a um estoque, na tela de almoxarifado.
 Para cada requisição só será possível informar transações com o tipo de Movimentação
igual a Saída, enquanto na devolução, só serão filtradas transações do tipo Entrada.

Lançamento de Entrada Lançamento de Entrada


Lançamento de Entrada / Devolução de Materiais - Padrão
Lançamento de Entrada / Devolução de Materiais - Avançado

Lançamento de Entrada - Padrão Lançamento de Entrada de Materiais


Refere-se ao cadastro de entrada de itens do estoque de materiais.
À medida que se realiza os lançamentos de entrada, a quantidade de materiais em estoque
será atualizada.
Estas movimentações são realizadas através dos documentos:
 Notas fiscais.
 Documento de fabricação interna de materiais.

O controle de estoque, bem como o processo de movimentação, poderá ser realizado através
de sistemas específicos, porém, as informações cadastrais devem ser integradas ao sistema de
manutenção, para que este possa calcular custo e consumo por ordens de serviços.
OPERAÇÕES DA TELA:
Cadastramento principal:
 Requisição N.: Refere-se ao número do lançamento (pode ser o número da nota fiscal).
 Fornecedor.
 Data do lançamento.

Cadastramento dos itens:


 Material.
 Lote: número do lote do material no estoque. O sistema permite fazer entrada de materiais
em lotes existentes ou em novos lotes. Caso a empresa não utilize controle de estoque por
lotes, informe o valor "1" neste campo.
 Informe a unidade de lançamento. Este campo será automaticamente preenchido quando for
informado o material. Caso seja necessário, pode-se escolher uma unidade diferente da

Página 139 de 478


informada no cadastro do material. Ex.: suponha que o material informado esteja cadastrado
em Toneladas. Você poderá fazer o lançamento em Kg, desde que haja a conversão correta
no cadastro de unidades.
 Qtde: Informe a qtde em" un" do material lançado.
 Índice financeiro: este campo será preenchido automaticamente ao ser inserido um novo
registro, de acordo com a unidade financeira padrão cadastrada na configuração geral do
sistema. Caso o material seja comprado em uma unidade diferente da padrão, seu custo
será automaticamente convertido para a unidade padrão.
 Custo Unitário: informe o custo unitário do produto lançado.

Consumo Direto:
O botão" Consumo Direto" abre uma tela para registrar o consumo de materiais de passagem
direta, ou seja, que não chega a passar pelo estoque. Clique aqui para maiores informações.

Observações:
Para ser possível o lançamento de documentos sobre um determinado material, este deve ser
previamente relacionado no ítem estoque, na tela de almoxarifado. Entretanto, se um novo
material for incluído, será questionado ao operador se deseja relacioná-lo ao estoque e à
relação com o fornecedor. Se a resposta for negativa (não incluir relação no estoque ou com o
fornecedor) o lançamento será bloqueado.
Nenhum lançamento poderá ser editado. Se for necessário realizar uma correção na digitação
incorreta de alguma linha, esta deverá ser excluída e incluída novamente, com os dados
corrigidos.
Sempre que um item da requisição/devolução for incluído ou excluído, automaticamente o estoque
será atualizado.
Sempre que um item for incluído na requisição, o valor e custo do material no estoque será
atualizado. Entretanto, se este item for excluído, o valor e custo não voltarão ao estado
anterior. Esta alteração é irreversível, a não ser que seja realizada manualmente.
Se o documento for totalmente excluído, o estoque de cada item será atualizado.

Lançamento de Entrada - Avançado Lançamento de Entrada - Controle


Avançado
Refere-se ao cadastro de entrada de itens do estoque de materiais.
À medida que se realiza os lançamentos de entrada, a quantidade de materiais em estoque
será atualizada.
Estas movimentações são realizadas através dos documentos:
 Notas fiscais.
 Documento de fabricação interna de materiais.

O controle de estoque, bem como o processo de movimentação, poderá ser realizado através
de sistemas específicos, porém, as informações cadastrais devem ser integradas ao sistema de
manutenção, para que este possa calcular custo e consumo por ordens de serviços.
OPERAÇÕES DA TELA:
Cabeçalho:
 Documento: Refere-se ao número do lançamento (pode ser o número da nota fiscal);
 Série: Refere-se ao número de série da nota fiscal;
 Fornecedor;
 Responsável;
 Data do lançamento;
 Valor Total da Nota: Refere-se ao valor total da nota que será lançada;
 Total da Nota: Campo calculado que retorna o valor total dos itens cadastrados;
 Total Bruto: Campo calcuilado que retorna o valor total bruto dos itens cadastrados;
 Desconto da Nota: Refere-se ao desconto total apresentado na Nota;
 Frete: Refere-se ao frete total apresentado na Nota;
 Fiscal: Se marcado significa que a nota cadastrada é uma nota fiscal e terão campos de
impostos como IPI, ICMS, PIS e COFINS;
 Incide Frete: Se marcado, o total da nota terá o valor do campo frete acrescido em seu
valor.

Cadastramento dos itens:


 Material.
 Lote: número do lote do material no estoque. O sistema permite fazer entrada de materiais
em lotes existentes ou em novos lotes. Caso a empresa não utilize controle de estoque por
lotes, informe o valor "1" neste campo.
 Informe a unidade de lançamento. Este campo será automaticamente preenchido quando for
informado o material. Caso seja necessário, pode-se escolher uma unidade diferente da
informada no cadastro do material. Ex.: suponha que o material informado esteja cadastrado
em Toneladas. Você poderá fazer o lançamento em Kg, desde que haja a conversão correta
no cadastro de unidades.
 Qtde: Informe a qtde em" un" do material lançado.
 Índice financeiro: este campo será preenchido automaticamente ao ser inserido um novo
registro, de acordo com a unidade financeira padrão cadastrada na configuração geral do
sistema. Caso o material seja comprado em uma unidade diferente da padrão, seu custo
será automaticamente convertido para a unidade padrão.
 Custo Unitário: informe o custo unitário do produto lançado.
 Transação: Informe a transação a ser realizada pelo lançamento de entrada. É a transação
que define qual quandidade do estoque será atualizada.
 Desconto: Caso o item cadastrado tenha sofrido um desconto em seu valor, ele dever ser
informado neste campo.
 Alíquota de IPI: Este campo só estará disponível se for uma Nota fiscal. Este campo
refere-se a porcentagem do IPI (Imposto sobre Produtos Industrializados) retida pelo
material cadastrado no item.
 Alíquota de ICMS: Este campo só estará disponível se for uma Nota fiscal. Este campo
refere-se a porcentagem do ICMS (Imposto sobre Circulação de Mercadorias) retida pelo
material cadastrado no item.
 Os demais campos apresentados no grid, são calculados, e seus cálculos são baseados nos
demais valores informados no cabeçalho da Nota.

Utilizar uma transação padrão para cadastrar os itens


 Para utilizar esta opção clique no ícone e informe qual será a transação padrão para os
itens da requisição .

Após o cadastramento total do Lançamento de Entrada/Devolução, o estoque ainda não foi


atualizado, sendo possível a edição e correção de seus itens. Para finalizar o processo, o
usuário responsável deverá ter acesso ao ícone . Ao clicar nele, o sistema fará uma
verificação no estoque para certificar que há saldo disponível para realizar o processo. Após a
efetivação, serão geradas movimentações de cada item de entrada, o estoque será atualizado
e o lançamento de Entrada/Devolução não poderá ser mais editado nem excluído.

O mesmo processo é feito para a devolução ao fornecedor. Porém, para cada item é
obrigatório seu relacionmento ao lançamento de origem, neste caso o sistema verifica se a
quantidade devolvida é menor ou igual a quantidade lançada, se sim, o processo tem
prosseguimento. O custo un. da devolução terá o mesmo valor do custo do lançamento de
entrada, e seu valor não poderá ser editado.

Observações :
 Para ser possível o lançamento de documentos sobre um determinado material, este deve
ser previamente relacionado no ítem estoque, na tela de almoxarifado. Entretanto, se um
novo material for incluído esta relação será automaticamente criada.
 Sempre que um item d for incluído ou excluído, automaticamente o estoque será atualizado.

Página 141 de 478


 Para cada lançamento de entrada só será possível informar transações com o tipo de
Movimentação igual a Entrada, enquanto na devolução, só serão filtradas transações do tipo
Saída.

Consumo Direto Consumo Direto


Refere-se ao registro de consumo de materiais que não chegam a passar pelo estoque.
Esta tela funciona exatamente como a tela de Requisição de Materiais. A diferença é que nesta
tela não é necessário redigitar todos os ítens e suas quantidades para requisição novamente. E
todos os materiais informados no lançamento terão saída imediata, sem gerar estoque.
Ao abrir esta tela, todos os ítens lançados na tela de Lançamento de Entrada serão mostrados,
sendo necessário informar apenas o número das respectivas O.S., Centro de Custo e Conta
Contábil. O prenchimento deste dois últimos será automático se estiverem relacionados na
O.S. informada.
Ao informar o número da O.S., cada lançamento de material será constado no registro de
serviços da respectiva O.S. ao confirmar a operação.
Observações:
Se a empresa utiliza o Controle de Estoque Avançado, ao efetuar o consumo direto, será
gerada apenas movimentação para cada item com a transação informada no cadastro, sendo
filtradas somente transações do Tipo de Movimentação "Direto".

Inventário de Materiais Inventário de Materiais


Refere-se ao cadastro de Inventário de materiais e dos itens (Materiais) que tenham estoque.
Esses itens são armazenados no sistema podendo até fechar essa tela, aguardando a
contagem física do estoque. Após essa operação esses dados são informados no inventário em
aberto, faltando apenas aplicar o novo estoque no banco de dados.
O saldo no estoque físico menos o saldo atual do estoque no sistema resultam na informação
contida no campo diferença. Se a diferença for negativa o registro ficará vermelho, se for
positiva o registro ficará azul e se for nula o registro ficará branco.
Após aplicar no banco de dados, o estoque será atualizado e o status do inventário ficará
fechado.
OPERAÇÕES DA TELA:
Cabeçalho:
 Número do Inventário;
 Funcionário;
 Data do Inventário.

Itens do Inventário de Materiais:


 Para preencher esse grid basta selecionar a guia Filtros do Inventário e, se necessário,
escolha a(s) localização(ões) de Material, Classe(s) de Material, Grupo(s) de Material ou
mesmo materiais específicos através dos campos de filtros presentes nesta guia. Clique em
seguida no botão "Filtrar Amostragem" para que o grid seja preenchido com os Materiais,
Unidade, Lote (caso a opção das configurações gerais estiver marcada) e Saldo.
 O botão "Filtrar Amostragem para materais pendentes" pode ser utilizado para gerar
um inventário com todos os materiais que não estão em nenhum outro inventário em Aberto.
Esta opção é útil quando se tem vários inventários com filtro em aberto e deseja-se saber se
existem materiais que estão ficando de fora do inventariado.
 Após clicar em "Aplicar no Banco de dados", o sistema atualiza o estoque dos Materiais
e Fecha o Inventário em Aberto.

Observações:
Se a empresa utiliza o Controle de Estoque Avançado, ao "Aplicar no Banco de Dados", serão
geradas movimentações para cada item com as transações pré-definidas na tela de
Configurações Gerais. Uma movimentação utilizará a transação de entrada se o saldo físico
for maior que o saldo e a de saída se o saldo físico for menor que o saldo , se o saldo e saldo
físico forem iguais não serão geradas movimentações pois o estoque não será alterado.

Grupo de Materiais Grupo de Materiais


Código e descrição de agrupamentos de materiais que constituem características comuns.
Os dados cadastrados são diferenciados por empresa.
O sistema permite cadastrar esta entidade vinculada em agrupamentos de código, facilitando
assim o acesso a informações e a emissão de relatórios.
Veja também:
Agrupamento

Localização de Materiais Localização de Materiais


Código e descrição da localização física dos materiais.
Os dados cadastrados são diferenciados por empresa, filial e almoxarifado.
O sistema permite cadastrar esta entidade vinculada em agrupamentos de código, facilitando
assim o acesso a informações e a emissão de relatórios.
Veja também:
Agrupamento

Classe de Materiais Classe de Materiais


Código e descrição da classe dos materiais.
Os dados cadastrados são diferenciados por empresa.
Estes dados serão usados para criar partições organizacionais no estoque e permitir extrair
informações por classes de materiais.
Atualização de valor e custo de materiais no cadastro e no estoque ao registrar lançamentos
de entrada de materiais:
 Tipo de Atualização: Automática (default) ou Manual. Se o tipo de atualização for
"Automática", o sistema fará a atualização automática do custo dos materais desta classe.
desta classe. Se a opção for "Manual", o sistema não atualizará o custo ao ser registrada
uma entrada de material no estoque.
 Tipo de Cálculo: Último Lançamento (default) ou Média Ponderada. Define o cálculo que o
sistema utilizará para a atualização dos valores dos materiais. Se a opção for "Último
Lançamento", o custo do material será atualizado com o valor que está sendo registrado no
lançamento de entrada. Se a opção for "Média Ponderada", será realizado o cálculo de valor
médio do custo do material, considerando a quantidade já existente no estoque.

A Seleção de software para controle de estoque poderá ser configurada por classe de
materiais. Desta forma, basta selecionar as opções disponíveis - Tipo de Atualização, Tipo de
Cálculo, Atualizar Estoque e Atualizar - para que o Engeman® atualize o custo, o custo e valor
e o saldo dos materiais, através das movimentações de entrada/saída de dados.
Uma aplicação importante da classe de materiais será permitir selecionar itens de estoque com
uso exclusivo do departamento de manutenção tais como peças de fabricação interna, peças
reformadas, materiais para simples consulta e peças de referência a ocorrências.
Marque a opção "Atualizar Estoque" caso seja necessário que qualquer material desta classe
altere seu saldo no estoque no caso de requisição/devolução ou lançamento de entrada de

Página 143 de 478


materiais. Se esta opção não estiver marcada, o saldo dos materiais desta classe não serão
atualizados.
Selecione no campo "Atualizar" uma das seguintes opções: "Custo e Valor de Material
(Padrão)" ou "Somente Custo de Material". Para a primeira opção, materiais que pertencerem
à esta classe terão os campos custo e valor atualizados no cadastro e no estoque. Para a
segunda opção, somente o campo custo será atualizado. Esta opção se torna importante para
materiais que têm o campo valor atualizado manualmente, em casos em que o material
possua um valor de venda, por exemplo.
Exemplos de Atualizações :
EXEMPLO : Suponhamos uma compra realizada dia 22/10 de 50 peças de um material à
80,00 cada e uma outra compra dia 25/10 de 25 peças do mesmo material à 100,00 cada.
Os cálculos que poderíamos adotar seriam :
- Primeiro caso :
Tipo de Atualização: Automática
Tipo de Cálculo : Último Lançamento
Um Custo/Valor de 100,00 cada(Custo/Valor unitário da última compra informado no
Lançamento de Entrada)
- Segundo caso :
Tipo de Atualização: Automática
Tipo de Cálculo : Média Ponderada
50 peças X 80 UNIDADES = 4.000,00
25 peças X 100 UNIDADES= 2.500,00
Em um Total de 75 Unidades, temos 6.500,00
Um Custo/Valor de 86,67 cada UNIDADE.
Importante: Se o Tipo de Atualização for Manual o Sistema não realizará atualização no
custo, no valor e no saldo dos materiais no caso de Lançamento de entrada de materiais.
O sistema permite cadastrar esta entidade vinculada em agrupamentos de código, facilitando
assim o acesso a informações e a emissão de relatórios.
Como utilizar Agrupamento

Solicitação de Materiais Solicitação de Materiais


Emite um documento de solicitação de materiais ao almoxarifado, seja pelo nivelamento de
recursos ou manualmente.
Ao criar uma nova solicitação de materiais, o sistema irá sugerir a data de chegada prevista de
acordo com a data da solicitação + tempo de ressuprimento do fornecedor, se informado. Este
tempo de ressuprimento se encontra na tela de fornecedores na guia materiais.

Kit de Materiais Kit de Materiais

O kit de materiais fornece um meio prático para o planejamento, onde são necessários vários
materiais para realizar uma determinada manutenção.

Um kit é composto por uma lista de materiais informadas nesta tela.

Exemplo:

Kit Conserto XXX


 200g graxa X
 2 lixas nº 1
 4 correias
 1 rolamento xx

Para especificar este kit durante o planejamento ou encerramento da O.S., indique somente o
valor total do kit utilizado, se for necessário utilizar mais de um kit.

Exemplo:

2 kits Conserto XXX.

Ao ser informada uma quantidade para o kit, as quantidades de todos os materiais


pertencentes a ele serão automaticamente multiplicadas.

No cadastro de kit de materiais é possível informar o código e a descrição do Kit .


Materiais:cadastre os materiais que irão compor o kit.

Observação:Os campos destacados em verde:Unidade de Material e Custo do Material são


preenchidos automaticamente e não podem ser editados,são campos provenientes do Cadastro
de Material

Veja também:
Cadastro de Planejamento da Manutenção
Registro de Serviços da O.S.
Planejamento de Serviços da O.S.

Estoque Avançado Estoque Avançado


Movimentação
Estoque por Filial
Transferência de Materiais
Fechamento do Estoque

Movimentação Movimentação
Nesta tela são mostradas todas as movimentações de estoque realizadas na filial corrente e
caso seja visualizada pela tela de Materiais, mostrará apenas as movimentações do Material
corrente. O sistema também permite o cadastro manual das movimentações dos materiais.

OPERAÇÕES DA TELA:
 Status: Indica se a movimentação pertence a um período que já foi fechado.
 Código: Informe o código da Movimentação. O campo documento só será mostrado se
a movimentação tiver sido realizada através de uma Lançamento de Entrada, Requisição
ou Consumo Direto.
 Tipo de Movimentação: Indica qual a origem da Movimentação.
 Transação: Informe a transação que indica se o estoque será ou não atualizado e quais
campos serão alterados.
 Responsável
 Almoxarifado
 Data da Movimentação
 Ordem: Este campo será preenchido automaticamente e sua numeração será baseada
no código da movimentação.
 Material
 Quantidade: Informe a quantidade que será movimentada.
 Valor: Para itens de Entrada, informe o valor unitário do material movimentado.
 Unidade: Informe a unidade da movimentação. Este campo será automaticamente

Página 145 de 478


preenchido quando for informado o material. Caso seja necessário, pode-se escolher uma
unidade diferente da informada no cadastro do material. Ex.: suponha que o material
informado esteja cadastrado em Toneladas. Você poderá fazer o lançamento em Kg,
desde que haja a conversão correta no cadastro de unidades.
 Índice financeiro: Este campo será preenchido automaticamente ao ser inserido um
novo registro, de acordo com a unidade financeira padrão cadastrada na configuração
geral do sistema. Caso o material seja comprado em uma unidade diferente da padrão,
seu custo será automaticamente convertido para a unidade padrão.
 Fornecedor
 Centro de Custo: Para itens de Saída, informe o Centro de Custo onde será computado
o custo deste material.
 Conta Contábil: Para itens de Saída, informe a Conta Contábil.
 Ordem de Serviço: Para itens de Saída, informe se o material requisitado está sendo
utilizado por uma determinada O.S. Neste caso, a O.S. terá os lançamentos de custo com
materiais (na tela de registro de serviços) automaticamente atualizados. Isto será
bastante interessante, principalmente porque reduz o tempo de digitação do registro de
serviços e elimina duplicidade de tarefas.
 Lote: Informe o número do lote do material no estoque. Caso a empresa não utiliza
controle de estoque por lote, informe o valor "1" (padrão do sistema).

IMPORTANTE
Nenhuma movimentação poderá ser editada nem excluída, pois elas servem como histórico de
todas as atualizações que foram realizadas pelo estoque, e que servirão como base para o
cálculo correto do Fechamento do Estoque. Quando uma movimentação é cadastrada
manualmente o estoque é atualizado automaticamente.

Estoque por Filial Estoque por Filial


Esta tela mostra o estoque de todos os materiais agrupados por Filial.

Os campos Custo será atualizado de acordo com o classe do Material, caso o material for
relacionado a nenhum classe, este campo será atualizado sempre pelo custo do último
lançamento realizado.

O saldo disponível é a diferença do saldo físico pelas quantidades Reservada e Bloqueada.


Sendo estes campos atualizados conforme a transação de cada movimentação.

Obs.: Não é possível editar nem atualizar dados nesta tela. Os campos são atualizados
automanticamente de acordo com as movimentações realizadas.

Transferência de Materiais Transferência de Materiais


Refere-se as transferências de materiais.

Existem 3 tipos de transferência:

 Transferência de Materiais entre Almoxarifados da mesma Filial:


Ao selecionar esta opção o usuário deverá informar os campos “Almoxarifado de Origem”
e “Almoxarifado de Destino”. Antes de gravar é feita uma verificação para consistir que
ambos sejam da mesma filial. Após cadastrar os almoxarifados para transferência,
deverão ser informados os materiais. Para apresentar todos os materiais, clique no ícone
. O status da transferência ficará como “Pendente” até que o lançamento tenha sido
efetivado. Para concretizar este processo é necessário clicar no ícone Caso a data
escolhida pertença a um período que esteja Fechado, essa operação será abortada sendo
possível somente efetuá-la caso a data seja alterada. Durante o processo serão criadas
movimentações de saída do almoxarifado de origem e de entrada, no almoxarifado de
destino. As transações respeitarão aquelas previamente cadastradas conforme Figura 2.
Durante a transferência, será verificado se o material já existe no almoxarifado de
destino e caso o mesmo não exista, será então criada uma relação com o estoque; caso
exista, sua quantidade será acrescida ao saldo existente e o seu custo será calculado
conforme custo existente e o custo transferido. Após o processo, o status é alterado para
“Efetivado”.
Segue abaixo uma imagem da tela de Transferência com esta opção marcada.

 Transferência de Materiais entre Almoxarifados de Filiais diferentes:


Ao selecionar esta opção o usuário deverá informar os campos “Almoxarifado de Origem”
e “Almoxarifado de Destino”. Antes de gravar é feita uma verificação para consistir que
ambos sejam das filiais diferentes. Após cadastrar os almoxarifados para transferência,
deverão ser informados os materiais. O status da transferência ficará como “Pendente”
até que o lançamento tenha sido efetivado. Para concretizar este processo é necessário
clicar no ícone Caso a data escolhida pertença a um período que esteja Fechado,
essa operação será abortada sendo possível somente efetuá-la caso a data seja alterada.
Durante o processo serão criadas movimentações de saída do almoxarifado de origem e
de entrada, no almoxarifado de destino. As transações respeitarão aquelas previamente
cadastradas conforme Figura 2. Durante a transferência, será verificado se o material já
existe no almoxarifado de destino e caso o mesmo não exista, será então criada uma
relação com o estoque; caso exista, sua quantidade será acrescida ao saldo existente e o
seu custo será calculado conforme custo existente e o custo transferido. Após o processo,
o status é alterado para “Efetivado”.
Segue abaixo uma imagem da tela de Transferência com esta opção marcada.

Página 147 de 478


 Transferência de Almoxarifados entre Filiais:
Ao selecionar esta opção o usuário deverá informar os campos “Almoxarifado de Origem”
e “Filial de Destino”. Antes de gravar é feita uma verificação para consistir que ambos
sejam de filiais diferentes. Nesta opção todos os materiais pertencentes ao almoxarifado
de origem serão copiados para a filial de destino, não sendo necessários informá-los para
transferência. O status da transferência ficará como “Pendente” até que o lançamento
tenha sido efetivado. Para concretizar este processo é necessário clicar no ícone .
Caso a data escolhida pertença a um período que esteja Fechado, essa operação será
abortada sendo possível somente efetuá-la caso a data seja alterada. Durante o processo
serão criadas movimentações de saída do almoxarifado de origem e de entrada, no
almoxarifado de destino. As transações respeitarão aquelas previamente cadastradas
conforme Figura 2. Durante a transferência, será verificado se o almoxarifado de origem
já existe na filial de destino (Esta verificação será feita inicialmente pelo TAG e Descrição
dos Almoxarifados). Caso exista (Almoxarifado <-> Filial Destino), o sistema verificará
também a existência destes materiais no almoxarifado: caso não exista, será criada uma
relação com o estoque; caso exista, sua quantidade será acrescida ao saldo existente e o
seu custo será calculado conforme custo existente e o custo transferido. Caso o
Almoxarifado de Origem não exista na Filial de Destino, este será então criado e os
materiais incluídos.
Após o processo, o status é alterado para “Efetivado” e o almoxarifado de origem ficará
invisível, não podendo ser excluído por pertencer a tabelas de históricos.
Segue abaixo uma imagem da tela de Transferência com esta opção marcada.
Obs.: No caso das transferências de materiais, a quantidade máxima a ser transferida é
a quantidade disponível no estoque.

Fechamento de Estoque Fechamento de Estoque


Refere-se ao fechamento do Estoque.

O fechamento é feito por filial.


Para realizar o fechamento de um estoque, deve-se informar o Mês e o Ano que se deseja
fechar. Se a filial não for informado, serão fechadas todas as movimentações realizadas dentro
do período informado para o fechamento.
Para efetivar o fechamento, deve-se clicar no ícone . Durante o processo são percorridas
todas as movimentações realizadas durante o período agrupado os materiais. Se nenhuma
inconformidade for encontrada, os materiais e suas respectivas quantidades e custos são
mostrados no grid.

Funcionário Funcionários
Refere-se ao cadastramento de todos os funcionários internos e externos que prestam serviços
à manutenção. Estes funcionários estão vinculados a setores executantes, centros de custo ou
fornecedores de serviços.
O sistema de manutenção controla a eficiência de utilização, projeta custo de homem hora
para os planos de manutenção, calcula custo realizado por ordem de serviço e administra a
movimentação dos funcionários.
O cálculo de custo exige que seja realizado um cadastramento especial, levando-se em
consideração feriados, escalas de trabalho e adicionais de horas extras vinculados ao registro
de serviços.
O sistema controlará serviços terceirizados através de cálculo de homem hora ou através de
lançamento dos valores dos serviços empreitados.

Página 149 de 478


Os dados cadastrados são diferenciados por empresa e filiais.

Operações da tela:
Cadastro:
 No cadastro de funcionários é possível informar o endereço da internet (home page) e
endereço de e-mail. Para acessar, clique no botão à direita destes campos.
 Os campos venda hora e custo hora podem ser ocultados, dependendo do nível de acesso do
usuário. O campo venda hora é usado como padrão em todos os relatórios e cálculos de
custo da O.S. O campo custo hora não é usado em nenhum cálculo do sistema.
 Consistir horário: O valor padrão deste campo é estar marcado. Quando marcado, as
preferências de consistência de horário de funcionário da O.S. serão todas realizadas.
Quando desmarcado, nenhuma consistência de lançamento de horário redundante do
funcionário, tanto na coleta de registro de serviços quanto na tela de cadastro da O.S. será
realizada.
 Observações: campo de livre formatação para lançamento de dados complementares sobre
os funcionários. Veja também o tópico configuração de textos.
 Escala de trabalho e turma: calcula o tempo de trabalho disponível e a partir de qual data
iniciou a escala. Todo o histórico de alterações da escala de um mesmo funcionário deve ser
mantido nesta relação, a fim de consultas históricas de serviços. Veja como utilizar Escala de
trabalho.
 Documentos: cadastre documentos referentes ao funcionário, tais como contratos, fotos,
avaliação de desempenho, necessidades de treinamento, etc. Veja como utilizar Cadastro de
documentos.
 Movimentação: controla a movimentação dos funcionários através do cadastramento dos
tipos de movimentação e dos históricos realizados. Veja como utilizar Movimentações do
Funcionário.
 Qualificações: Informe as qualificações profissionais deste funcionário. Estas informações
serão utilizadas para a apropriação de mão-de-obra dos planos. As tarefas a serem
executadas nos planos de manutenção podem ser relacionadas a pré-requisitos de
qualificações para executá-las. No nivelamento de recursos estas qualificações dos
funcionários também serão avaliadas. Veja como utilizar Qualificações do Funcionário.
 Consultando o histórico de O.S. do funcionário corrente.

Funcionalidades:

Tecla F2: Seleciona as aplicações da filial filtrada;


Tecla F3: Altera a filial da aplicação selecionada.

Importante: O sistema avisa e bloqueia a inativação de um funcionário caso o seu


cadastro se encontre numa das seguintes situações:

- Está relacionado com algum usuário no Cadastro de Usuários;


- Está vinculado como Solicitante ou Responsável de alguma O.S. Aberta;
- Está vinculado em algum Registro de Funcionário de alguma O.S. Aberta;
- Está vinculado no Planejamento de RH de alguma O.S. Aberta;
- Está vinculado no Planejamento de RH de algum Plano de Manutenção.

No momento da inativação, caso seja encontrada alguma das inconsistências mencionadas, é


emitida mensagem listando as relações encontradas para que o usuário possa decidir se
continua com a Inativação. Caso continue, ele pode ver em seguida uma listagem através de
Relatório Rápido (somente no Client/Server) de todas as O.S.'s e Planos em que o funcionário
está sendo utilizado. No web o usuário somente é questionado se deseja continuar com a
inativação, sem exibir a listagem.

Escala de Trabalho Escala de Trabalho


Cadastra o código e descrição da escala de trabalho dos funcionários, relaciona a escala aos
horários disponíveis e registra os feriados referentes à escala. Estes dados serão relacionados
a cada funcionário e usados para planejar o tempo disponível para execução dos trabalhos.
Operações da tela:
 Início: refere-se à data inicial da escala de trabalho que representa o marco a partir do
qual serão calculados os horários de trabalho para os funcionários da manutenção.
 Horários: relacione para cada dia da semana, os horários de trabalho previamente
cadastrados, às escalas de trabalho. No caso de revezamento de horários, complete todo o
ciclo lógico de horários para os respectivos dias da semana. Veja como utilizar cadastro de
horários.
 Turmas: Toda escala de trabalho deve possuir ao menos uma turma. Para fazer o
revezamento da escala em outras turmas, insira uma nova turma e coloque a data inicial desta
turma. A data inicial da turma 1 deve ser sempre igual à data inicial da escala de trabalho.
 Feriados: informe a data dos feriados referentes a esta escala para que o sistema possa
calcular o custo da manutenção e apropriar corretamente a mão-de-obra no planejamento da
manutenção. Veja como utilizar Tabela de Feriados.

 Distribuição da Escala: Após o cadastramento de uma turma, clique no ícone


para verificar a distribuição da escala entre as turmas.
 Copiar Escala de outro funcionário: Esta operação é executada a partir do botão "Copiar
Escala de...", localizado na guia "Escala de Trabalho" da tela de Funcionários. Ao clicar neste
botão, basta selecionar o funcionário desejado na tela de pesquisa que se abre e clicar em Ok
para que as escalas sejam copiadas.

Cargo de Funcionários Cargo de Funcionários


Código e descrição do cargo dos funcionários.
Estes dados são usados para planejar e controlar serviços de acordo com o cargo dos
funcionários.
Os dados cadastrados são diferenciados por empresa.

Movimentações de Funcionários Movimentações de Funcionários


Código, descrição e campo provoca ausência (S/N) da movimentação dos funcionários, tais
como:
 férias.
 faltas.
 horas extras, etc.

Os dados cadastrados são diferenciados por empresa. Para cada tipo de movimentação existe
a opção indicando se aquela movimentação gera ausência do funcionário ou não. A rotina de
cálculo de homem-hora-previsto leva em consideração todas as horas lançadas de
movimentação que geram ausência.

Movimentação de Funcionário Movimentações de um Funcionário


Refere-se ao cadastramento das movimentações realizadas pelos funcionários e respectivas
datas e horários.
Estes dados são usados para criar histórico de movimentações e calcular a eficiência de
utilização da mão-de-obra.
Operações da tela:
 Informe a movimentação realizada, data / hora inicial e data / hora final.
 Se o check box "consistir" estiver marcado, então somente datas válidas serão aceitas (A
data inicial deve ser inferior à data final e não devem existir lançamentos redundantes
entre si e entre o registro de funcionários da O.S.). Esta opção estará marcada por padrão
e só poderá ser desmarcada para os usuários que possuírem esta permissão.
 Para replicar a movimentação selecionada para outros funcionários, clique no botão:"
Replicar movimentação selecionada para..."

Página 151 de 478


Para conseguir uma visualização otimizada das movimentações, informe um filtro de data
inicial e final. Somente as movimentações deste período serão exibidas na tela. O filtro
informado será gravado e reutilizado quando a tela for aberta novamente.

Replicar Movimentação Replicar Movimentações de Funcionários


Refere-se à replicação de uma movimentação de um funcionário para outros. Este recurso
facilita o cadastro das movimentações quando vários funcionários possuem uma mesma
movimentação em certa ocasião. A movimentação só precisa ser criada uma única vez para
um funcionário e depois replicada para os outros.
Atenção: somente a movimentação selecionada será replicada aos demais
funcionários.
Operações da tela:
 Informe o setor executante e o funcionário, apenas o setor executante ou apenas o
funcionário que receberá a replicação da movimentação.
 Clique em" Construir Árvore" e os campos selecionados aparecerão logo abaixo.
 Marque apenas os funcionários que receberão a replicação da movimentação.
 Clique em" Executar" para confirmar a replicação.
 Caso queira replicar outras movimentações, repita a operação.

Qualificações Qualificações
Informe a lista de qualificações a serem associadas aos planos de manutenção para previsão
dos funcionários, de acordo com a qualificação de cada um.
Operações da tela:
Funcionários: Informe os funcionários desta qualificação. Estas informações serão utilizadas
para a apropriação de mão-de-obra dos planos. As tarefas a serem executadas nos planos de
manutenção podem ser relacionadas a pré-requisitos de qualificações para executá-las. No
nivelamento de recursos estas qualificações dos funcionários também serão avaliadas. Veja
como utilizar Funcionários por Qualificação.

Qualificação por Funcionários Funcionários de uma Qualificação


Refere-se ao cadastramento dos funcionários que uma qualificação possui para executar os
serviços. Para fazer o nivelamento de recursos humanos de forma mais precisa, torna-se
necessário informar a qualificação que cada funcionário possui, independente de seu cargo.
Somente desta forma, o sistema poderá filtrar os funcionários qualificados para executar uma
determinada tarefa, calculando o homem-hora necessário para o planejamento e nivelando-o,
de acordo com os recursos disponíveis.
Operações da tela:
 Cadastro dos funcionários que uma qualificação possui.

Qualificações de Funcionário Qualificações de um Funcionário


Refere-se ao cadastramento das qualificações que um funcionário possui para executar os
serviços. Para fazer o nivelamento de recursos humanos de forma mais precisa, torna-se
necessário informar a qualificação que cada funcionário possui, independente de seu cargo.
Somente desta forma, o sistema poderá filtrar os funcionários qualificados para executar uma
determinada tarefa, calculando o homem-hora necessário para o planejamento e nivelando-o,
de acordo com os recursos disponíveis.
Operações da tela:
 Cadastre as qualificações do funcionário.
 Para replicar as qualificações do funcionário em referência para outros funcionários, clique no
botão: "Replicar todas as qualidades para...".
 Data de Validade: Informe opcionalmente a data de validade da qualificação. Esta data será
considerada em duas outras telas: Na tela de Plano x Qualificações, as qualificações de
funcionários que estiverem com data de validade vencida serão "demarcadas". Na tela
Planejamento de Mão-de-obra da O.S., os funcionários com qualificação vencida não serão
mostrados.

Replicar Qualificações Replicar Qualificações de Funcionários


Refere-se à replicação de todas as qualificações de um funcionário para outros. Este recurso
facilita o cadastro das qualificações quando vários funcionários possuem as mesmas
qualificações. As qualificações só precisa ser cadastradas uma única vez para um funcionário e
depois replicada para os outros.

Operações da tela:
 Informe o setor executante e o funcionário, apenas o setor executante ou apenas o
funcionário que receberá a replicação das qualificações.
 Clique em "Construir Árvore" e os campos selecionados aparecerão logo abaixo.
 Marque apenas os funcionários que receberão a replicação das qualificações.
 Clique em "Executar" para confirmar a replicação.

Tipos de Manutenção Tipos de Manutenção


Código e descrição dos tipos de manutenção.
O tipo de manutenção descreve uma operação global da manutenção.
Os dados cadastrados são diferenciados por empresa.
Prioridade: informe um valor numérico para diferenciar o grau de prioridade entre os tipos de
manutenção. Este valor será multiplicado com o custo de interferência, determinado assim o
valor de prioridade objetiva apresentado na Ordem de Serviço. A prioridade objetiva será
determinante no processo de nivelamento de recursos e no processo de atendimento das
Ordens de Serviços.
O sistema permite cadastrar esta entidade vinculada em agrupamentos de código, facilitando
assim o acesso a informações e a emissão de relatórios.
Guia Planos:
Nesta guia são exibidos os Planos e respectivos Setores Executantes que estão vinculados ao
Tipo de manutenção selecionado na guia "Lista".

Grid Procedimentos do Plano:


Este grid está localizado na guia de "Planos". Nele são exibidos os procedimentos respectivos a
cada Plano selecionado.

Veja também:
Agrupamento

Data Específica Planejamento por Data Específica


Este processo de programação opera de forma semelhante ao da periódica, porém com datas
específicas, tais como:
 Manutenção realizada todo dia 01 de cada mês.
 Manutenção realizada todo dia 25 de dezembro de cada ano.
 Manutenção realizada apenas de segunda a sexta-feira de cada semana.
Uma vez determinados os parâmetros, as ordens de serviço poderão ser calculadas e emitidas.
O fechamento destas, reprograma automaticamente a próxima data de execução, não havendo
necessidade de se realizar novos start-up.

Página 153 de 478


O sistema de manutenção permite a emissão consecutiva de mais de uma OS referente ao
mesmo plano e mesma programação, dentro de um período estabelecido pelo usuário.
Exemplo: se a programação for para todo dia primeiro de cada mês e o período solicitado for
de um ano, então será emitido pelo menos 12 OS para o ponto de aplicação.
Mesmo que uma ordem de serviço seja realizada fora da data programada, o sistema manterá
as datas de programação originais para não prejudicar outras programações existentes.
Operações da tela:
 Status da programação: ativo ou não - se for ativo o sistema calculará as O.S. para a
programação.
 Aplicação: equipamento ao qual será aplicado o plano de manutenção.
 Localização (TAG): local onde será aplicado o plano de manutenção, independente da
aplicação. Se houver mais de uma aplicação na mesma localização, será gerada uma ou
mais O.S. para cada uma delas.
 Data específica diferenciada em dia - mês - ano - dia da semana. Para especificar uma data
repetitiva, como dia e mês para qualquer ano, deixe o campo de ano com valor zero - idem
para o dia da semana.
 Semana do Ano: Informe o número da semana do ano para a manutenção e o dia da
semana (DOM a SAB). A primeira semana do ano, por definição, é a semana que contém o
maior número de dias de janeiro. Em outras palavras, a primeira semana do ano é a que
contém o dia 4 de janeiro. O ano pode possuir 52 ou 53 semanas, dependendo da
distribuição dos dias. Sendo assim, evite cadastrar manutenções que apareçam somente na
semana 53 pois esta ocorrência é rara e a manutenção não será executada anualmente.
Para aplicar uma manutenção somente a um determinado ano, informe o ano referente.
 Semana do Mês: informe o número da semana dentro de um mês (1 a 6) e o dia da
semana (DOM a SAB) da manutenção. Exemplo: determinando a semana do mês = 1 e o
dia da semana = QUA, a manutenção será realizada em toda a primeira quarta-feira de um
mês. (mesmo que o dia primeiro do mês caia numa sexta-feira, a primeira quarta-feira
será na semana seguinte, ou seja, na semana dois do mês). Se quiser aplicar esta
manutenção para somente um determinado ano, informe o ano desejado.
IMPORTANTE: Para garantir que a O.S. seja gerada sempre em qualquer dia da última
semana do mês, informe o valor "6"neste campo. Se o mês tiver somente 4 ou 5
semanas,
a O.S. será gerada na última semana de toda forma.
 Data da última manutenção: data a partir da qual será realizado o start-up do plano.
 DDS (Dia da Semana): Este campo é apenas informativo. Indica o dia da semana em que
ocorreu a última manutenção.
 Erro! Fonte de referência não encontrada.Pode-se fazer cadastramentos de planos
informando somente o mês e a semana do mês. Erro! Fonte de referência não encontrada.
 Para visualizar quais são os Planos Concorrentes de uma aplicação basta clicar no botão
Mostrar Programações Concorrentes.

Acumulativo Planejamento por Produção Acumulada


Será controlado através da medição da quantidade acumulada produzida ou utilizada.
Exemplo:
 Manutenções realizadas a cada 250 horas de funcionamento.
 Manutenções realizadas após uma produção de 20.000 toneladas.
 Manutenções realizadas a cada 10.000 quilômetros rodados.
De acordo com as coletas, o sistema calcula uma reta de tendência projetando a data da
próxima manutenção. Ao atingir um valor máximo estabelecido, o computador indicará a
necessidade da manutenção através de emissão de ordens de serviços.
O sistema gerenciará o processo de emissão de ordens de serviços, quando ocorrer
programação de mais de um plano de manutenção, para o mesmo ponto de aplicação, mesmo
setor executante e mesma data de realização. Este fato acontece quando os parâmetros de
programação são múltiplos, exemplo: 250 horas& 1000 horas. Neste caso, o usuário poderá
emitir apenas a ordem de serviço referente ao maior valor acumulado, pois esta poderá
englobar as atividades do plano de 250 horas, racionalizando assim a emissão de documentos.
A medição dos dados poderá ser realizada através de apontamentos manuais ou através de
equipamentos destinados a este fim. Os equipamentos de medição e coleta de dados poderão
estar acoplados diretamente ao ponto de aplicação da manutenção ou poderão ser portáteis
para uso em diversos pontos.
O sucesso de utilização deste processo de programação da manutenção será integrar os dados
medidos com o sistema de manutenção. Para isto, tanto o sistema utilizado quanto os
equipamentos de medição, devem possuir ferramentas que permitam criar esta interface.
Mesmo que os equipamentos de coleta de dados estejam acoplados a outros sistemas, a
integração poderá ser realizada via banco de dados. Normalmente, os sistemas que já
possuem estes dados são aqueles destinados para planejamento e controle do processo.
As informações obtidas ao longo do tempo criam uma curva de tendência da variável medida,
que deve ser calculada via regressão matemática. Esta curva estabelece uma função
matemática de valores x data, possibilitando assim determinar a data futura da manutenção, a
partir da data que foi realizada a última manutenção. Se o usuário solicitar cálculos para um
período maior, o sistema calculará as datas de manutenção dentro do período, baseado na
função matemática gerada pelas medições da primeira manutenção.
Cuidados necessários para aplicação deste processo de programação:
 As medições devem ser feitas sistematicamente, o que exigirá maior demanda de recursos
e de controle das ações. Pode-se criar planos com programação periódica, para controlar
este processo.
 No caso de medições automáticas, verificar a confiabilidade da coleta de dados e prever
contingências.
 Racionalizar a quantidade de pontos de controle do processo.
 Criar documentos homologados para o processo de coleta de dados manual.
 Se for aplicado mais de um plano para o mesmo ponto de controle, estabeleça parâmetros
de programação que sejam múltiplos.
 O sistema de manutenção identifica e corrige deflexões na curva de tendência gerada por
interrupção prolongada, seguida de retorno de funcionamento do equipamento controlado.
Além de emitir ordens de serviços, o sistema permite visualizar as medições e as datas futuras
de manutenção.
Através de medições e digitação dos valores acumulativos, o sistema calculará a data de
execução da OS.
O fechamento das OS, reprograma automaticamente a próxima data de execução, não
havendo necessidade de se realizar novo start-up.
Da mesma forma que a programação periódica, o sistema emitirá OS consecutivas, se o
período solicitado pelo usuário for longo o suficiente para permitir o processo. Desta forma, a
primeira OS calculada se baseará em medições reais e as demais, serão calculadas através da
função matemática estabelecida na primeira OS.
Operações da tela:
 Status da programação: ativo ou não - se for ativo o sistema calculará as O.S. para a
programação.
 Aplicação: equipamento ao qual será aplicado o plano de manutenção.
 Localização (TAG): local onde será aplicado o plano de manutenção, independente da
aplicação. Se houver mais de uma aplicação na mesma localização, será gerada uma ou
mais O.S. para cada uma delas.
 Valor limite do medidor produção ou utilização acumulada.
 Valor limite Anterior do medidor para antecipar o momento da Geração de O.S.
funciona somente se o Tipo de Geração O.S. for Coleta Acumulativa.
 Data da última manutenção: data a partir da qual será realizado o start-up do plano.
 DDS (Dia da Semana): Este campo é apenas informativo. Indica o dia da semana em
que ocorreu a última manutenção.

Página 155 de 478


 Tipo Geração O.S.:
 Tela Geração: O sistema somente irá gerar O.S. na tela de geração de O.S. O cálculo
para atingir a meta de manutenção utilizará regressão linear.
 Coleta Acumulativa: A cada coleta lançada para o ponto de controle o sistema irá
calcular a diferença do valor lançado e o valor lançado maior ou igual à data de última
manutenção. Não será verificado na tela de geração de O.S.
 Reprogramar Acumulativa: escolha o tipo de cálculo interno que o sistema irá realizar
para a previsão de geração de O.S. acumulativa. De acordo com a escolha feita, o
sistema irá considerar uma das datas abaixo para reiniciar o acumulador do medidor no
momento da geração de O.S. como os valores default para as novas relações criadas
entre Aplicações e Planos através da Programação Acumulativa. Tanto as programações
calculadas pela tela de geração, quanto as geradas automaticamente pela coleta
seguirão esta configuração. A data de última manutenção dos planos será atualizada
por esta data. As opções são:
 Data Programada da O.S.: selecione esta opção para inicializar a contagem
acumulativa a partir da data programada de uma O.S. fechada, independente de
sua execução ou data de fechamento.
 Data de Fechamento da O.S.: selecione esta opção para inicializar a contagem
acumulativa a partir da última data do registro de funcionários (se existir) ou
pela data de fechamento da O.S. (quando não há registro de funcionários).
Desta forma, uma O.S. que tenha sua data de execução bem posterior à data
programada, poderá" ajustar" melhor o planejamento.
Caso utilize a opção Priorizar "Sim" os planos de menor limite obdecerão a configuração
determinada pelo plano de maior limite que utilizar o Priorizar "Sim". Utilizando o
Priorizar "Não" a escolha das opções é independente.

Ação:
Emitir Alarme: Somente para o tipo Coleta Acumulativa. Ao atingir a meta, o sistema mostrará
uma mensagem de alarme e perguntará se o sistema deverá gerar uma O.S. antecipada para
este plano de manutenção. Após a geração da O.S. o usuário ainda poderá imprimir a O.S.
gerada ou visualizá-la na tela.
Gerar O.S.: O sistema irá gerar uma O.S. sem emitir nenhum aviso visual, somente um aviso
sonoro.
Gerar e Imprimir O.S.: Somente para o tipo Coleta Acumulativa. O sistema irá gerar O.S. e depois
irá imprimí-la automaticamente.
Gerar e Visualizar O.S.: Somente para o tipo Coleta Acumulativa. O sistema irá gerar O.S. e
depois visualizá-la automaticamente. Esta opção é importante no caso de dar um feed back ao
usuário da geração da O.S. Também permite que o usuário envie a O.S. por e-mail ou mesmo
imprima em outra impressora diferente da padrão.
Priorizar: Se estiver marcado o valor SIM, então planos com periodicidade maior irão priorizar esta
relação (caso esta opção esteja marcada na tela de geração de O.S.). Senão, independente da
marcação da tela de geração de O.S. para priorizar, o sistema não priorizará este plano. Para
planos com geração automática pela coleta acumulativa, o sistema priorizará somente se esta
opção estiver marcada para SIM. Se a opção for NÃO, então o plano sempre será gerado.
Somente planos com os mesmos setores executantes serão priorizados.
A priorização de acumulativas não leva em consideração a multiplicidade de valores, como
acontece na periódica. No entanto, ao gerar uma O.S. para um plano de maior valor, todas as
O.S. de menor valor são priorizadas, caso na relação entre plano e aplicação a opção
PRIORIZAR='SIM' e no momento da Geração, a opção de priorização estiver marcada.
Para visualizar quais são os Planos Concorrentes de uma aplicação basta clicar no botão
Mostrar Programações Concorrentes.

Tendência Planejamento Tendências de Variáveis


Será controlada através de medições de variáveis que apresentam curva de tendência ao longo
do tempo, exemplo:
 Pressão
 Temperatura
 Vazão
 Nível
 Vibração
 Umidade
 Rigidez dielétrica
 Dimensões
 ph
 Elementos químicos
Ao atingir um valor máximo ou mínimo estabelecido, o computador indicará a necessidade da
manutenção através de alarmes ou emissão de ordens de serviços. Os níveis de alarmes
poderão ser estabelecidos pelo usuário, tantos quanto forem necessários.
A medição dos dados poderá ser realizada através de apontamentos manuais ou através de
equipamentos destinados a este fim. Os equipamentos de medição e coleta de dados poderão
estar acoplados diretamente no ponto de aplicação da manutenção ou poderão ser portáteis
para uso em diversos pontos.
As informações obtidas ao longo do tempo criam uma curva de tendência da variável medida.
A curva de tendência será calculada por regressões matemáticas definidas pelo usuário ou
automaticamente pelo computador. As regressões poderão ser: lineares, logarítmicas,
exponenciais, potenciações, polinomiais. A curva gerada estabelece uma função matemática de
valores x data, possibilitando assim determinar a data futura da manutenção, a partir da data
que foi realizada a última manutenção. Se o usuário solicitar cálculos para um período maior, o
sistema calculará as datas de manutenção dentro do período, baseado na função matemática
gerada pelas medições da primeira manutenção.
Cuidados necessários para aplicação deste processo de programação:
 Se as medições não apresentarem tendência, expressa por uma função matemática ao
longo do tempo, não se deve usar este processo. Neste caso será recomendado usar a
programação periódica ou por eventos.
 As medições devem ser feitas sistematicamente, o que exigirá maior demanda de recursos
e de controle das ações. Pode-se criar planos com programação periódica, para controlar
este processo.
 No caso de medições automáticas, verificar a confiabilidade da coleta de dados e prever
contingências.
 Racionalizar a quantidade de pontos de controle do processo.
 Criar documentos homologados para o processo de coleta de dados manual.
Além de emitir ordens de serviços e alarmes de proximidade nas datas programadas, o
sistema permite visualizar as medições e as datas futuras de manutenção.
Através de medições e digitação dos valores, o sistema acionará alarmes ou calculará a data
de execução da OS, quando existir tendência das variáveis de extrapolar os limites
estabelecidos.
O fechamento das OS, reprograma automaticamente a próxima data de execução, não
havendo necessidade de se realizar novo start-up.
Da mesma forma que a programação periódica, o sistema emite OS consecutivas, se o período
solicitado pelo usuário for longo o suficiente para permitir o processo. Desta forma, a primeira
a OS calculada se baseará em medições reais e as demais, serão calculadas através da função
matemática estabelecida pela primeira OS.
Operações da tela:
 Status da programação: ativo ou não - se for ativo o sistema calculará as O.S. para a
programação.
 Aplicação: equipamento ao qual será aplicado o plano de manutenção.
 Localização (TAG): local onde será aplicado o plano de manutenção, independente da
aplicação. Se houver mais de uma aplicação na mesma localização, será gerada uma ou
mais O.S. para cada uma delas.
 Valor limite do medidor das variáveis.
 Valor limite Anterior do medidor para antecipar o momento da Geração de O.S. funciona

Página 157 de 478


somente se o Tipo de Geração O.S. for Coleta Tendência.
 Data da última manutenção: data a partir da qual será realizado o start-up do plano.
 DDS (Dia da Semana): Este campo é apenas informativo. Indica o dia da semana em que
ocorreu a última manutenção.

Para visualizar quais são os Planos Concorrentes de uma aplicação basta clicar no botão
Mostrar Programações Concorrentes.

Sem Programação Planejamento sem Programação


O sistema permite relacionar planos de manutenção a aplicações sem cadastrar o tipo de
programação. Este processo é utilizado quando não há condições de programar a manutenção
ou simplesmente para manter a relação plano x aplicação arquivada.
Operações da tela:
 Aplicação: equipamento ao qual será aplicado o plano de manutenção.
 Localização (TAG): local onde será aplicado o plano de manutenção, independente da
aplicação. Se houver mais de uma aplicação na mesma localização, será gerada uma ou
mais O.S. para cada uma delas.
 Data da última manutenção.
 DDS (Dia da Semana): Este campo é apenas informativo. Indica o dia da semana em que
ocorreu a última manutenção.
 Para visualizar quais são os Planos Concorrentes de uma aplicação basta clicar no botão
Mostrar Programações Concorrentes.

Concorrentes Programação Concorrente


A programação concorrente implica na geração de O.S. para uma aplicação com um mesmo
plano cadastrado em 2 ou mais tipos de programação diferentes. O objetivo é garantir que o
sistema gere apenas uma O.S. para este plano e para esta aplicação, ou seja, somente na a
programação que acontecer primeiro.
O sistema entende por programação concorrente a forma pela qual os planos são associados
às aplicações. Por exemplo, associa-se um plano P001 a uma aplicação A001 através da
programação acumulativa, para gerar O.S. por exemplo a cada de 500 unidades. Se o mesmo
plano P001 for associado à esta mesma aplicação A001 mas pela programação periódica, para
gerar O.S. por exemplo a cada 3 meses, na hora da geração o sistema irá checar qual das
duas situações irá acontecer primeiro e vai gerar a O.S.
Durante a manutenção, enquanto esta O.S. estiver aberta, não será gerada outra O.S. para
esta mesma aplicação e este mesmo plano em nenhuma outra programação, mesmo se já
houver atingido o limite para geração. E ao fechar a O.S., todas as programações que contem
este plano e esta aplicação serão reprogramadas de acordo da data programada ou de
fechamento desta O.S.
Com esta nova funcionalidade, deve-se levar em consideração uma série de repercussões na
rotina de geração:
 Na programação periódica, o uso do campo Manter Ciclo torna-se irrelevante, uma vez que
quando uma O.S. gerada por outra programação for fechada, a periódica também será
reprogramada e o ciclo será alterado.
 O.S. periódicas e acumulativas não serão mais geradas em loop, ou seja, mesmo se for
informado um período extenso para geração de várias periódicas e acumulativas, somente
a próxima O.S. será gerada na data prevista. Isso é importante para garantir a consistência
dos dados do Cadastro de O.S., uma vez que o ciclo das periódicas e acumulativas pode ser
alterado a qualquer momento e se as O.S. fossem geradas para datas futuras, o sistema
manteria um cadastro de várias O.S. com a data programada errada. Mesmo assim, se o
cadastramento de um plano concorrente for efetuado depois de já ter gerado várias O.S.
periódicas ou acumulativas com datas futuras, ao fechar uma O.S que vai reprogramar os
planos concorrentes, as outras O.S. serão canceladas automaticamente.
Veja o exemplo abaixo para maior esclarecimento:
Aplicação A001 associada ao Plano P001 através da programação ACUMULATIVA:

Aplicação A001 associada ao Plano P001 através da programação PERIÓDICA:

Nos casos acima, o mesmo plano foi associado à uma mesma aplicação mas em programações
diferentes. Conseqüentemente, o sistema deverá gerar O.S.'s de 7 em 7 dias (periódica) ou
toda vez que a coleta acumulativa atingir o limite de 1000 horas (acumulativa). Portanto,
suponha que o limite de 1000 horas seja atingido. O sistema irá gerar a O.S. normalmente e
enquanto não for fechada, nenhuma outra O.S. periódica com este plano será gerada.
Ao fechar esta O.S. que foi gerada pela programação acumulativa, a data de ultima
manutenção será atualizada tanto na periódica quanto na acumulativa e também em qualquer
outra programação em que este plano estiver associado a esta aplicação.
Porém, a programação periódica será reprogramada para o dia da semana da data em que a
acumulativa foi programada ou fechada. Isso explica o fato pelo qual o sistema não deve gerar
O.S. em loop, pois como no exemplo acima a programação periódica seria também
reprogramada, as O.S. geradas pela periódica numa geração anterior não fariam mais sentido,
pois o ciclo foi alterado. Dessa forma, todas estas O.S. seriam automaticamente canceladas,
para que o sistema possa gerar novamente a partir da nova data, seguindo o novo ciclo.
Para visualizar quais são os Planos Concorrentes de uma aplicação basta acessar qualquer tela
de Programação (Periódica, Acumulativa, etc...) a partir da tela Aplicação da Manutenção ou
Planos de Manutenção e clicar no botão Mostrar Programações Concorrentes.
Observações:

Ao fechar uma O.S. Corretiva (aberta manualmente pelo usuário) que possua um Plano de
Manutenção apontado e que exista relação com a aplicação da O.S. no Planejamento Periódico
ou Acumulativo, esta será considerada como uma Programação Concorrente. O sistema
emitirá uma mensagem informando que o ciclo da Programação Periódica e/ou Acumulativa
serão mudados em função do fechamento desta O.S. Todas as programações que forem
priorizadas pelo plano apontado na O.S. em questão também terão a data de última
manutenção alterada.

Recursos Humanos Recursos Humanos do Plano


Nesta tela, cadastre os recursos humanos necessários para executar os procedimentos do
plano, de acordo com o setor corrente.
Os recursos humanos serão apropriados de acordo com a seleção do cargo, qualificações
profissionais ou funcionários determinados. No caso da qualificação ser verificada pelo cargo,
selecione a opção" previsão RH" no grid de setores executantes do plano para a posição"

Página 159 de 478


cargos". Para qualificações, selecione a opção" qualificações". Para determinar quem fará
exatamente o plano, selecione" funcionários". De acordo com sua seleção, clique nos botões
relativos à relação do plano por cargos, qualificações ou funcionários.
Observação: Em todos os tipos de previsão de RH, há um campo chamado ordem. Este
campo indica a ordem pela qual os funcionários deverão fazer o serviço. Para indicar que dois
lançamentos deverão ser feitos simultaneamente, coloque o mesmo número de ordem para
eles. Este campo será utilizado principalmente no nivelamento de recursos humanos
Cargos:
 Cargo do funcionário.
 Número de funcionários.
 Homem Hora Total Prevista: Informe o total de Homem Hora previsto para o serviço. Este
campo, além de fornecer informações para o nivelamento de recursos e planejamento da
manutenção, será utilizado para calcular o custo previsto da manutenção. O cálculo do
custo previsto com recursos humanos será realizado de acordo com o seguinte cálculo:
horas previstas por cargo * valor médio dos salários dos funcionários com aquele cargo.

Exemplo.:
4 mecânicos trabalharão 8 horas = 32 Homem Hora

Como configurar o Engeman® para a situação acima:


Cargo: Mecânico
Número de Funcionários = 4
Homem Hora Total Prevista = 32
Para visualizar imediatamente os funcionários agrupados pelo cargo, clique no botão"
visualizar recursos disponíveis"

Qualificações:
 Informe a descrição do conjunto das qualificações.
 Número de funcionários.
 Homem Hora Total Prevista: Informe o total de Homem Hora previsto para o serviço. Este
campo, além de fornecer informações para o nivelamento de recursos e planejamento da
manutenção, será utilizado para calcular o custo previsto da manutenção. O cálculo do
custo previsto com recursos humanos será realizado de acordo com o seguinte cálculo:
horas previstas por tarefa * valor médio dos salários dos funcionários que possuem as
qualificações necessárias.

Para visualizar imediatamente os funcionários qualificados para executar as tarefas planejadas,


clique no botão" visualizar recursos disponíveis"

Funcionários:
 Informe o funcionário
 Homem Hora Prevista: Informe a qtde. de Homem Hora previsto para cada funcionário.
Este campo, além de fornecer informações para o nivelamento de recursos e planejamento
da manutenção, será utilizado para calcular o custo previsto da manutenção. O cálculo do
custo previsto com recursos humanos será realizado de acordo com o somatório do
seguinte cálculo: horas previstas por funcionário * valor médio do salário do funcionário.

Materiais Adicionais do Plano Materiais Adicionais do Plano


Nesta tela o usuário cadastra os materiais adicionais que serão utilizados no plano de
manutenção. Isto oferece uma flexibilidade de informar mais de um material para o mesmo
procedimento.
Assim como é possível informar mais de um material para o plano, também é possível
informar na linha do procedimento o kit a ser utilizado. Quando informado um kit, a lista de
materiais pertinentes a este kit será exibida na guia materiais do kit. Esta lista pode ser
apenas visualizada, mas não alterada.

Independente de se informar um kit para o procedimento, pode-se informar materiais


adicionais (não pertencentes a este kit).

Ao gerar O.S., o sistema irá copiar toda a lista de materiais adicionais para os materiais
adicionais do registro de serviços. Os materiais do kit informado também serão copiados, de
acordo com a composição do kit no momento da geração.

Exemplo:

No dia 01/01/2005 foi criado um plano de manutenção para o kit XX, composto de:
- 200 gr. Graxa
- 1 Kg Estopa.

No decorrer do planejamento chega-se à conclusão, pelo histórico de serviços realizados, que


são necessários somente 150 gr. de graxa e não os 200 iniciais. Detecta-se também a
necessidade de utilização de 20 cm de fita isolante. Então, no dia 05/03/2005 o kit de
materiais XX é alterado para
- 150 gr. Graxa
- 1 Kg Estopa
- 20 cm Fita Isolante

Todas as O.S. geradas antes a data do dia 05/03/2005, manterão no seu histórico, os
materiais originalmente planejados. As O.S. futuras cujos planos baseam-se neste kit serão
automaticamente geradas para a nova composição do kit, sem que seja necessário alterar o
check list de cada um dos planos.

Planos de Manutenção Planos de Manutenção


São procedimentos, parâmetros de controle e recursos necessários que especificam a maneira
pela qual será realizada a manutenção nos pontos de aplicação.
A manutenção poderá ser realizada de forma planejada ou não. A forma planejada, permite
que seja calculado antecipadamente recursos, procedimentos e custos para realização da
manutenção. A forma não planejada especifica ações como meras solicitações de serviços, que
normalmente não apresentam o conteúdo necessário para agilizar e racionalizar a execução
dos serviços. Normalmente, aplica-se uma programação nas manutenções planejadas para
determinar as datas nas quais serão realizadas.
Os planos de manutenção são aplicados aos pontos de aplicação ou agrupamentos destes
pontos. Um plano de manutenção pode ser aplicado a diversos pontos de aplicação que
possuam as mesmas características.
Os procedimentos operacionais dos planos de manutenção não precisam necessariamente
serem impressos juntamente com a ordem de serviço. Os planos podem ser impressos
previamente e arquivados junto aos departamentos executantes. Toda vez que os serviços
referentes ao plano forem solicitados via ordem de serviço, os executantes poderão realizar as
atividades necessárias, através de consultas no documento arquivado. Neste caso, pode-se
optar em registrar apenas recursos utilizados e descrição de ocorrências encontradas durante a
manutenção.
Alguns processos de manutenção exigem que os procedimentos sejam utilizados apenas uma
única vez, pois contêm informações que devem ser registradas no momento de fechamento
das ordens de serviços, tais como: inspeções, coleta de dados do processo, calibração de
equipamentos para controle de qualidade ou check-list.
Um processo que concilia facilidade de uso e registro máximo de informações, será formar

Página 161 de 478


cadastros de procedimentos/recursos específicos vinculados ao plano de manutenção. Este
cadastro será apresentado na forma de check-list, devendo ser preenchido durante a execução
das ordens de serviços. No processo de digitação dos serviços executados, basta que o
digitador informe se o serviço foi ou não executado, juntamente com digitação de alguns
poucos dados complementares, referentes a medições realizadas.
OPERAÇÕES DA TELA:
Cabeçalho:
 Na tela de cadastramento, informe o código, descrição e tipo de manutenção do plano.
Lembre-se que um mesmo plano poderá ser utilizado por diversos setores executantes e por
diversas aplicações, portanto, o nome não deve ser colocado de forma específica para somente
um dos casos.
 Marque se o plano está ativo (podem ser emitidas O.S. baseadas nele) ou não.
 Consultando o histórico de O.S. do plano corrente.

Observação: Assim como no cadastro da aplicação, é possível copiar a estrutura de um plano,


incluindo suas relações, para um novo plano ou para um plano já existente. Para isto, insira
um novo plano e informe o seu código e descrição. Em seguida, pressione o ícone "copiar
estrutura de...". Para copiar a estrutura para um plano já existente, apenas edite o registro e
clique neste mesmo botão. Neste caso, todas as relações cadastradas anteriormente serão
substituídas.
Setor executante:
 Status: ativo ou não.
 Tempo de interferência previsto: tempo de máquina parada que gera "interferência" no
processo produtivo.
 O percentual de interferência previsto: às vezes uma determinada rotina de
manutenção não precisa parar completamente uma aplicação, mas somente reduzir a sua
velocidade de processamento. Neste caso, informe o percentual de redução de processamento
neste campo. Caso a manutenção necessite de parada completa da aplicação, informe um
valor de 100 neste campo, indicando 100% de parada.
 Tempo de execução total. Este tempo, quando informado, será consistido com a
somatória dos tempos informados nos procedimentos do plano.
 Horas de execução por dia: no caso de uma manutenção não ser realizada de uma
única vez, informe em quantas horas / dia o serviço será dividido. Esta informação será
necessária para calcular com maior precisão o calendário da manutenção e o nivelamento de
recursos. Caso a manutenção seja realizada em uma única etapa, então deixe este campo em
branco. Em casos em que a manutenção for realizada em uma única etapa e o tempo de
execução for superior a 24 horas, não é necessário o preenchimento deste campo, entretanto,
se você colocar um valor de 24 horas no campo, o cálculo será realizado da mesma forma.
 Hora preferencial para que a manutenção seja realizada: esta hora será exportada para
O.S. no momento de sua geração.
 Horas de aplicação parada: tempo previsto que a aplicação ficará parada durante a
execução da manutenção.
 Previsão RH: Cargos, Qualificações ou Funcionários. Indique se a previsão de RH
(previsão de custo e homem hora) lançada na O.S. será baseada nas qualificações, nos cargos
ou nos funcionários informados na relação do plano X setor executante. No momento da
geração de O.S. esta previsão será calculada e será utilizada futuramente na tela de
nivelamento de recursos.

Observação: Assim como no cadastro da aplicação, é possível copiar a estrutura de um


Setor Executante, incluindo suas relações, para um novo Setor Executante ou para um Setor
Executante já existente. Para isto, insira um novo Setor Executante. Em seguida, pressione o
ícone "copiar estrutura de Setor...". Para copiar a estrutura para um Setor Executante já
existente, apenas edite o registro e clique neste mesmo botão. Neste caso, todas as relações
cadastradas anteriormente serão substituídas.
Aplicações:
Apresenta as possíveis programações de manutenção, relacionadas com os pontos de
aplicação. Selecione um dos tipos de programação:
Periódica
Data Específica
Acumulativa
Tendência de Variáveis
Eventual
Eventual/Serviços
Sem programação

Desta forma será ativada uma nova tela, permitindo o relacionamento do plano de
manutenção com:
 Pontos de aplicação;
 Parâmetros específicos para cada tipo de programação;
 Data para controle de start-up.
Observação: Se um mesmo plano for relacionado a uma mesma aplicação, porém com
programações diferentes (Periódica, Acumulada, etc.) ele será considerado concorrente.

Cadastro de observações:
 Cadastre informações genéricas ou procedimentos operacionais sobre o plano de
manutenção na página apresentada. Veja também o tópico configuração de textos.
Recursos Humanos
Procedimentos
Documentos: os documentos poderão ser os próprios procedimentos operacionais para os
planos de manutenção.

Comentários:
Se existir mais de um tipo de programação para o mesmo plano, exemplo: periódica e tendência
de variáveis para o plano xxx, a primeira O.S. calculada (data de execução mais cedo), cancela
a geração de outras O.S. que tenham sido calculadas de acordo com as demais programações.
Quando a O.S. for executada, qualquer outro tipo de programação poderá detectar
necessidade da próxima manutenção.

Agrupamentos:
Os agrupamentos são formas de relacionar os planos de manutenção.
Desenhos:
 Permite visualizar os desenhos relacionados a cada setor executante do plano e
imprimí-los.
 Um desenho pode possuir diversos níveis de detalhamento. Para visualizar os demais
níveis, clique com o mouse sobre o link correspondente. Para visualizar todos os links de um
desenho, clique no ícone "mostrar mapa das áreas do desenho"
 Para cadastrar novos desenhos ou relacioná-los a um plano, execute o gerenciador de
desenhos.

Periódicas Planejamento Periódico


Caracterizado pela determinação de um período, expresso em dias, no qual o plano de
manutenção deverá ser executado. Ao completar este período, uma ordem de serviço poderá
ser emitida automaticamente pelo computador, apontando todos os parâmetros necessários
para a execução do plano de manutenção.
Este processo de programação é simples, eficiente e não requer estrutura de controle para sua
realização, uma vez que esta é realizada integralmente pelo computador. Basta que o usuário
forneça o período, apenas uma única vez no start-up do plano, indicando a data da última ou
próxima manutenção. O cálculo das demais datas de execução do plano será realizado
automaticamente.

Página 163 de 478


O sistema gerenciará o processo de emissão de ordens de serviços, quando ocorrer
programação de mais de um plano de manutenção, para o mesmo ponto de aplicação, mesmo
setor executante e mesma data de realização. Este fato acontece quando os parâmetros de
programação são múltiplos, exemplo: semanal (7 em 7 dias)& mensal (28 em 28 dias), sendo
que 28 = 7x4. Neste caso, o usuário poderá emitir apenas a ordem de serviço referente à
maior periodicidade, pois esta poderá englobar as atividades do plano semanal, racionalizando
assim a emissão de documentos.
Os períodos devem ser estabelecidos de acordo com as instruções do fabricante. Porém
sempre haverá a necessidade de se adequar o período com a disponibilidade de recursos
humanos. Um processo que facilita a programação periódica é a determinação de períodos
múltiplos de 07 dias, possibilitando:
 Programação de serviços em dias da semana predeterminados.
 Programação de serviços fora dos finais de semana.
 Programação de serviços, com períodos diferentes, na mesma data, para o mesmo ponto
de aplicação.
A programação periódica deve ser versátil, permitindo ao usuário modificá-la. A tendência
destas mudanças, na maioria dos casos, será para aumentar o período, o que é uma
conseqüência natural dos benefícios de uma manutenção bem realizada de forma sistemática.
Os dias da semana programados para os diversos períodos, podem ser coincidentes ou não. A
maioria das aplicações deste tipo de programação fazem com que sejam coincidentes. Ex:
manutenções semanais, mensais e semestrais - No dia da manutenção semestral, também
deverá ser realizada a mensal e a semanal. O sistema emitirá uma única ordem de serviço,
descrevendo os procedimentos a serem executados. Para verificar se o planejamento está
sincronizado, execute a operação de análise de sincronia.
Uma vez determinado os parâmetros, as ordens de serviço poderão ser calculadas e emitidas.
O fechamento destas, reprograma automaticamente a próxima data de execução, não havendo
necessidade de se realizar novos start-up‟s.
O sistema de manutenção permite a emissão consecutiva de mais de uma O.S. referente ao
mesmo plano e mesma programação, dentro de um período estabelecido pelo usuário.
Exemplo: se a periodicidade da programação for 7 dias e o período solicitado for de um mês,
então será emitido pelo menos 4 O.S. para o ponto de aplicação.
Operações da tela:
 Status da programação: ativo ou não - se for ativo o sistema calculará as O.S. para a
programação.
 Aplicação: equipamento ao qual será aplicado o plano de manutenção.
 Localização (TAG): local onde será aplicado o plano de manutenção, independente da
aplicação. Se houver mais de uma aplicação na mesma localização, será gerada uma ou
mais O.S. para cada uma delas.
 Periodicidade: em dias, preferencialmente múltiplos de 7.
 Data da última manutenção: data a partir da qual será realizado o start-up do plano.
 Priorizar: este campo tem o valor padrão para priorizar = sim. Quando a priorização está
marcada com" sim", significa que planos com o número de periodicidade menor serão
excluídos em detrimento de planos com periodicidade maior, ou seja, um plano de 7 dias
será excluído, caso um plano de 14 dias tenha a programação para a mesma data. Isto
ocorre porque geralmente, os planos de maior número de periodicidade contêm, em seu
check list toda a operação que deveria ser realizada nos planos de menor periodicidade,
reduzindo-se assim o número de O.S. emitidas. Para que um plano seja emitido,
independente da priorização, marque este campo com o valor" não" priorizar.
 DDS (Dia da Semana): Este campo é apenas informativo. Indica o dia da semana em que
ocorreu a última manutenção.
 Dia/Mês Início e Dia/Mês Fim: Estes campos definem um intervalo de tempo onde a
geração da O.S periódica deverá ocorrer. Exemplo: Manutenções em equipamentos
agrícolas na entresafra deverão ocorrer de 14 em 14 dias. Para que neste exemplo as O.S
periódicas para a entresafra sejam criadas, basta definir no plano periódico do
equipamento o intervalo que se refere a entresafra e colocar a periodicidade igual a 14.
Quando utilizar a Tela de Geração de O.S poderá ser verificado que apenas serão geradas
O.S cuja data de manutenção estiver dentro do intervalo definido, ou seja, intervalo da
entresafra. Para que o sistema permança criando as O.S normalmente, basta retirar o
intevalo mencionado e o intervalo será desconsiderado na geração de O.S.

 Manter Ciclo: Mesmo que uma ordem de serviço seja realizada fora da data programada, o
sistema poderá manter as datas de programação originais para não prejudicar outras
programações existentes. Para isso, a opção" Manter Ciclo" deverá estar marcada com S
(Sim), por exemplo:
 Programação semanal período = 7 dias
 Data prevista para execução da manutenção: 13/07/2001
 Data de realização efetiva (data de fechamento da O.S.): 16/07/2001
 Data da última manutenção para fins de programação = 13/07/2001
 Data da próxima manutenção calculada pelo sistema = 20/07/2001
Se a opção" Manter Ciclo" estiver marcada com N (Não), o sistema irá calcular a data da
próxima manutenção à partir da data de fechamento da O.S., ou seja, dia 16/07/2001, e a
próxima manutenção será dia 23/07/2001.
Ps.: A partir da Versão 6.2.2.0 o sistema Engeman® permite que a data de última
manutenção de um plano periódico possa ser baseado em:
Data Programada: Este é o padrão existente e não foi alterado.
Data de Fechamento: A data de fechamento poderá ser a maior data de término do registro
de funcionários da O.S que está para ser fechada. Para isso deverá haver pelo menos um
registro de funcionário na O.S, a data de última manutenção do plano em questão deverá ser
menor que a data do referido registro de funcionário e que a opção manter ciclo esteja
marcada como não ou que exista uma planjemamento concorrente com o plano da referida
O.S.. Caso não haja registro de funcionário, Manter Ciclo esteja como "S" e não haja plano
concorrente entre si ou em outro planejamento a data a ser considera será a atual. Se a data
de última manutenção estiver maior que a data atual ela não será alterada. Se existir
concorrência de planos periódicos para a mesma aplicação a data de últma manutenção será a
data atual e ambas serão atualizadas. Novamente, isto acontecerá apenas se a data de última
manutenção for menor que a data atual.

Para visualizar quais são os Planos Concorrentes de uma aplicação basta clicar no botão
Mostrar Programações Concorrentes.

Eventual Planejamento por Eventos


Será controlada através de medições de qualquer tipo de evento relacionado ao ponto de
controle:
 Variáveis físicas ou químicas.
 Status da produção ou qualidade.
Ao atingir a meta estabelecida, o computador indicará a necessidade da manutenção através
da tela de Geração de O.S.
A medição dos dados poderá ser realizada através de apontamentos manuais ou através de
equipamentos destinados a este fim. Os equipamentos de medição e coleta de dados poderão
estar acoplados diretamente no ponto de aplicação da manutenção ou poderão ser portáteis
para uso em diversos pontos.
Cuidados necessários para aplicação deste processo de programação:
 As medições devem ser feitas sistematicamente, o que exigirá maior demanda de recursos
e de controle das ações. Pode-se criar planos com programação periódica, para controlar
este processo.
 Os serviços de manutenção poderão ser solicitados a qualquer momento, sempre que
ocorrer algum evento, sem permitir visualização das datas futuras, exigindo desta forma,

Página 165 de 478


disponibilização e prontidão de recursos.
 No caso de medições automáticas, verificar a confiabilidade da coleta de dados e prever
contingências.
 Se for detectado ciclos periódicos na ocorrência dos eventos, deve-se alterar o processo de
programação para periódica.
 Racionalizar a quantidade de pontos de controle do processo.
 Criar documentos homologados para o processo de coleta de dados manual.
 No caso de programação por eventos, o sistema não predetermina OS consecutivas
calculadas para um mesmo evento num período maior solicitado pelo usuário. A data
programada para manutenção somente será calculada quando acontecer o evento.

Operações da tela:
 Status da programação: ativo ou não - se for ativo o sistema calculará as O.S. para a
programação.
 Aplicação: equipamento ao qual será aplicado o plano de manutenção.
 Localização (TAG): local onde será aplicado o plano de manutenção, independente da
aplicação. Se houver mais de uma aplicação na mesma localização, será gerada uma ou
mais O.S. para cada uma delas.
 Grupo: (este campo não é obrigatório). Indica o grupo de aplicações onde serão
pesquisados os eventos. A aplicação informada acima não precisa, necessariamente,
pertencer a este grupo. A pesquisa percorrerá toda a coleta de dados sobre a aplicação
informada acima e em todas as aplicações cujo grupo seja hierarquicamente descendente.
Ex.: 001. percorrerá aplicações do grupo 001., 001.01., 001.02, 001.01.01 ... etc.
 Evento gerador de start-up.
 Período no qual se fará a contagem de eventos geradores de OS, expresso em dias.
 Qtde de ocorrências: refere-se a qtde dos eventos necessários para gerar OS.
 Data da última manutenção: data a partir da qual será realizado o start-up do plano.
 DDS (Dia da Semana): Este campo é apenas informativo. Indica o dia da semana em que
ocorreu a última manutenção.
 Tipo Geração O.S.:
 Tela Geração: O sistema somente irá gerar O.S. na tela de geração de O.S.
 Coleta Eventos: A cada coleta lançada, o sistema irá verificar se aquele evento atingiu a
quantidade no intervalo de tempo informado.
 Ação:
 Emitir Alarme: Somente para o tipo Coleta Eventos. Ao atingir a meta, o sistema mostrará
uma mensagem de alarme e perguntará se o sistema deverá gerar uma O.S. antecipada
para este plano de manutenção. Após a geração da O.S. o usuário ainda poderá imprimir a
O.S. gerada ou visualizá-la na tela.
 Gerar O.S.: O sistema irá gerar uma O.S. sem emitir nenhum aviso visual, somente um
aviso sonoro.
 Gerar e Imprimir O.S.: Somente para o tipo Coleta Eventos. O sistema irá gerar O.S. e
depois irá imprimí-la automaticamente.
 Gerar e Visualizar O.S.: Somente para o tipo Coleta Eventos. O sistema irá gerar O.S. e
depois visualizá-la automaticamente. Esta opção é importante no caso de dar um feed back
ao usuário da geração da O.S. Também permite que o usuário envie a O.S. por e-mail ou
mesmo imprima em outra impressora diferente da padrão.

Para visualizar quais são os Planos Concorrentes de uma aplicação basta clicar no botão
Mostrar Programações Concorrentes.

Eventual/Serviço Planejamento Eventuais / Serviços


Será controlada através de medições de qualquer tipo de evento vinculado a um serviço
realizado na aplicação:
Ocorrência relacionada a um componente.
Serviço executado.
Ao atingir o valor estabelecido, o computador indicará a necessidade da manutenção através
da tela de Geração de O.S.
A fonte de dados para análise é o próprio registro de serviços. Não há necessidade de efetuar
qualquer outro tipo de coleta de dados.
Cuidados necessários para aplicação deste processo de programação:
Os serviços de manutenção poderão ser solicitados a qualquer momento, sempre que ocorrer
algum evento, sem permitir visualização das datas futuras, exigindo desta forma,
disponibilização e prontidão de recursos.
Se for detectado ciclos periódicos na ocorrência dos eventos, deve-se alterar o processo de
programação para periódica.
Criar documentos homologados para o processo de coleta de dados manual.
No caso de programação por eventos, o sistema não predetermina OS consecutivas calculadas
para um mesmo evento num período maior solicitado pelo usuário. A data programada para
manutenção somente será calculada quando acontecer o evento.

Operações da tela:
 Status da programação: ativo ou não - se for ativo o sistema calculará as O.S. para a
programação.
 Aplicação: equipamento ao qual será aplicado o plano de manutenção.
 Localização (TAG): local onde será aplicado o plano de manutenção, independente da
aplicação. Se houver mais de uma aplicação na mesma localização, será gerada uma ou mais
O.S. para cada uma delas.
 Grupo: (este campo não é obrigatório). Indica o grupo de aplicações onde serão pesquisados
os serviços. A aplicação informada acima não precisa, necessariamente, pertencer a este
grupo. A pesquisa percorrerá todos os registros de serviços da O.S. lançados para a
aplicação informada acima e em todas as aplicações cujo grupo seja hierarquicamente
descendente. Ex.: 001. percorrerá aplicações do grupo 001., 001.01., 001.02, 001.01.01 ...
etc.
 Qtde de ocorrências: refere-se a qtde dos eventos necessários para gerar OS.
 Período: intervalo de tempo no qual se fará a contagem de eventos geradores de OS,
expresso em dias.
 Registro do serviço gerador de eventos: ocorrência, serviço, material, causa. Os campos de
quantidade e unidade referem-se ao material. Não é necessário especificar a quantidade do
material, se for desejado que o sistema calcule a ocorrência sempre que for acusado o
material, independente da quantidade utilizada no serviço.
 Data da última manutenção: data a partir da qual será realizado o start-up do plano.
 DDS (Dia da Semana): Este campo é apenas informativo. Indica o dia da semana em que
ocorreu a última manutenção.
 Tipo Geração O.S.:
 Tela Geração: O sistema somente irá gerar O.S. na tela de geração de O.S.
 Coleta Serviços: A coleta a ser lançada será na tela de Ordem de Serviço no Registro de
Serviços. A cada serviço registrado será verificado se o mesmo está no período informado,
se utilizou o mesmo material, se foi executado o mesmo serviço e com a mesma quantidade
e ocorrências que está informado no plano.
 Ação:
 Emitir Alarme: Somente para o tipo Coleta Serviços. Ao atingir a meta, o sistema mostrará
uma mensagem de alarme e perguntará se o sistema deverá gerar uma O.S. antecipada
para este plano de manutenção. Após a geração da O.S. o usuário ainda poderá imprimir a
O.S. gerada ou visualizá-la na tela.
 Gerar O.S.: O sistema irá gerar uma O.S. sem emitir nenhum aviso visual, somente um
aviso sonoro.
 Gerar e Imprimir O.S.: Somente para o tipo Coleta Serviços. O sistema irá gerar O.S. e
depois irá imprimí-la automaticamente.
 Gerar e Visualizar O.S.: Somente para o tipo Coleta Serviços. O sistema irá gerar O.S. e
depois visualizá-la automaticamente. Esta opção é importante no caso de dar um feed back
ao usuário da geração da O.S. Também permite que o usuário envie a O.S. por e-mail ou
mesmo imprima em outra impressora diferente da padrão.

Página 167 de 478


 Para visualizar quais são os Planos Concorrentes de uma aplicação basta clicar no botão
Mostrar Programações Concorrentes.

Procedimentos Procedimentos do Plano


Listagem de atividades com respectivos recursos que formarão o histórico de serviços
executados. Estes procedimentos são utilizados quando há necessidade de detalhar e arquivar
as tarefas e as sub-tarefas realizadas nos planos de manutenção.
Os procedimentos de um plano serão exportados para a tabela de registro de serviços durante
a geração da O.S., com status Planejado = Sim e Executado = Não. Desta forma, quando uma
O.S. for realizada, não é necessário que o digitador informe todos os procedimentos
realizados, mas apenas altere o status executado, se for o caso do serviço ter sido executado
exatamente como planejado.
Operações da tela:
Informe os itens, na ordem cronológica de execução. Ao ser inserido um novo item, sua
numeração é colocada automaticamente, a partir do último item inserido, porém é possível
alterá-la a qualquer momento.
Informe uma descrição para o serviço.
Informe o serviço (padronizado na tabela de serviços).
Informe, se houver, a aplicação ou localização para a qual será destinada a manutenção. Cada
procedimento operacional de um plano de manutenção poderá ser relacionado a uma aplicação
ou localização. Este caso se aplica quando os planos se referem a roteiros de inspeção ou
lubrificação. Caso haja mais de uma aplicação em uma localização, será gerado na O.S. um
item de checagem para cada uma delas.

Ex. Roteiro de Lubrificação - 001

Serviço Aplicação Localização Material Qtde


Lubrificar MAQ-001 Óleo X 15
Lubrificar MAQ-002 Óleo X 10
Lubrificar SET-001 Óleo X 30

 Informe, se houver, o material a ser utilizado.


 Informe a quantidade de material a ser utilizada.
 Informe a unidade do material utilizado. Quando o material é inserido no registro, sua
unidade principal é adicionada automaticamente. Caso a unidade a ser utilizada seja
diferente do cadastro do material, deverá existir uma conversão entre as unidades.
 Índice financeiro: este campo é automaticamente preenchido, de acordo com a configuração
geral do sistema, quando um novo registro é inserido. Ele é utilizado para conversão de
valores durante o cálculo de custo do sistema.
 Kit de Material:se houver algum Kit de Material para este plano o usuário deverá cadastrá-lo
neste campo. Para consultar a lista de materiais pertencentes a este kit ou para adicionar
materiais adicionais ao procedimento, clique no botão "Abrir Cadastro de Materiais por
Plano".
 Quantidade Prevista do Kit: informe a quantidade prevista do Kit que sera utilizada
 Custo: se houver algum custo adicional para o serviço, adicione o valor aqui.
 Informe a data de última manutenção deste plano, se houver.
 Informe o tempo previsto para a execução de cada procedimento. A somatória dos tempos
será consistida com o tempo total de execução informado na tela anterior (setores
executantes do plano de manutenção).
 DDS (Dia da Semana): Este campo é apenas informativo. Indica o dia da semana em que
ocorreu a última manutenção.

Caso existam procedimentos com sub-tarefas, cadastre primeiro a tarefa principal e em


seguida suas sub-tarefas. Para agrupá-las clique na sub-tarefa e depois no botão "Aumentar
Recuo". Deste modo a sub-tarefa selecionada será automaticamente agrupada ao item
imediatamente superior. Para desagrupar um item, basta selecioná-lo e clicar no botão
"Diminuir Recuo". Deste modo a sub-tarefa selecionada será automaticamente desagrupada do
item imediatamente superior.
Como existe somente um campo para informar o índice financeiro, se um determinado
procedimento fizer referência a um custo de serviços em U$ e custo de materiais em R$,
cadastre dois procedimentos separadamente.
Caso seja informado algum valor no campo Execução (Horas) da tela de Planos de
Manutenção, a soma dos valores dos tempos de todos os procedimentos deve coincidir com
este valor.

Copiar Procedimentos de...:

Esta funcionalidade permite copiar todos os alguns procedimentos de um plano de manutenção


qualquer. O acesso a esta funcionalidade é realizado através do botão "Copiar Procedimentos
de..." localizado na barra de ferramentas da tela de Procedimentos.
Ao clicar neste botão, é exibida uma pesquisa para o usuário selecionar o plano de
manutenção desejado. Em seguida o usuário deve selecionar o setor executante desejado para
então ser carregada a tela contendo os procedimentos do plano escolhido. Nesta tela, o
usuário deve marcar os itens desejados e clicar em Ok para que os procedimentos sejam
copiados.

Ratear Material:

Esta funcionalidade permite que a quantidade de um determinado material seja dividida


igualmente entre os procedimentos selecionados. Ao clicar nesta opção, uma nova tela é
aberta, onde deverá ser informado o material, a quantidade a ser rateada e a unidade. Depois,
deve-se selecionar os procedimentos que receberão este material (para selecionar mais de um
procedimento, segure a tecla ctrl e clique em cima dos procedimentos desejados). Terminada
a seleção, clique no botão ratear. Caso algum procedimento já tenha um material cadastrado,
3 opções serão oferecidas, Sim (para substituir o material já cadastrado no procedimento),
não (para adionar o material rateado em Adicionais) e Cancelar (para cancelar a operação).

Planos de Manutenção de Procedimentos:

 Campo "Plano de Manutenção": este campo deve ser informado caso o usuário deseje
incrementar os procedimentos de outro plano de manutenção aos procedimentos que estão
sendo preenchidos, sem ter que digitá-los novamente. Ao realizar esta operação, os
procedimentos do plano informado não são inseridos nos procedimentos correntes, mas sim
vinculados ao plano referido. No momento da geração de O.S.'s, os procedimentos do plano
relacionado são inseridos no registro de serviços da Ordem de Serviço gerada juntamente
com os procedimentos digitados pelo usuário.

Nas tabelas abaixo exemplificamos a utilização do campo "Plano de Manutenção":


- Plano de Manutenção 001 (Plano de Lubrificação)
- Setor Executante: Mecânica
- Procedimentos do Plano:

Item Procedimento Plano de Manutenção


001 Lubrificar carro soprador -
002 Lubrificar fusos de repasso -
003 Lubrificar alavanca de abertura -
004 Completar óleo dos redutores -

- Plano de Manutenção 002 (Manutenção Geral)


- Setor Executante: Mecânica
- Procedimentos do Plano:

Item Procedimento Plano de Manutenção

Página 169 de 478


001 Verificar as Correias -
002 Verificar o Nível do Óleo -
003 (Procedimentos do Plano relacionado) 001 - Plano de Lubrificação
004 Verificar o desgaste das Polias -

Uma Ordem de Serviço gerada para o Plano 002 teria os registros de serviço preenchidos
conforme a tabela abaixo:

Procedimento (Demais campos)


001 - Verificar as Correias ...
002 - Verificar o Nível do Óleo ...
003.001 - Lubrificar carro soprador ...
003.002 - Lubrificar fusos de repasso ...
003.003 - Lubrificar alavanca de abertura ...
003.004 - Completar óleo dos redutores ...
004 - Verificar o desgaste das Polias ...

Observações:
 Como pôde-se observar nas tabelas anteriores, a linha de procedimento que contém um
plano de manutenção informado é substituída durante a geração de O.S. pelos
procedimentos do plano correspondente. Logo, não é permitido inserir subitens (através da
árvore da tela) nestes procedimentos com planos, uma vez que seriam perdidos neste
processo.
 Numa linha de procedimento onde foi informado o campo "Plano de Manutenção" não é
permitido o preenchimento de nenhum outro campo, inclusive campos criados pelo usuário,
assim como não é permitida a inserção de "Materiais Adicionais" para essa linha.
 Na pesquisa do campo "Plano de Manutenção", somente são exibidos os planos que
contenham o mesmo setor executante onde está sendo inserido o procedimento. Também
não é incluído o plano corrente nesta pesquisa.
 Ao salvar um procedimento onde tenha sido informado um plano, o sistema realiza
internamente uma consistência para verificar se o plano informado não provocará um "loop
infinito" na rotina de geração de planos. Por exemplo, não é possível vincular o plano 001
nos procedimentos do plano 002 e em seguida vincular o plano 002 no plano 001.

Planejamento de Mão-de-Obra Planejamento de Mão-de-Obra


Nesta tela o usuário planeja o serviço da O.S. com funções de filtros de Funcionários,
Qualificações e Cargos.

As O.S.s geradas cujos planos possuem planejamento de RH são preenchidas


automaticamente de acordo com o seu plano.

Os recursos humanos serão apropriados de acordo com a seleção do cargo, qualificações


profissionais ou funcionários determinados.

Funcionários:

 Informe um funcionário
 Informe Data/Hora início e Data/Hora Fim

Cargos:

 Cargo do funcionário.
 Número de funcionários.
 Homem Hora Total Prevista: Informe o total de Homem Hora previsto para o serviço. Este
campo, além de fornecer informações para o nivelamento de recursos e planejamento da
manutenção, será utilizado para calcular o custo previsto da manutenção. O cálculo do custo
previsto com recursos humanos será realizado de acordo com o seguinte cálculo: horas
previstas por cargo * valor médio dos salários dos funcionários com aquele cargo.

Qualificações:

 Informe a descrição do conjunto das qualificações.


 Número de funcionários.
 Homem Hora Total Prevista: Informe o total de Homem Hora previsto para o serviço. Este
campo, além de fornecer informações para o nivelamento de recursos e planejamento da
manutenção, será utilizado para calcular o custo previsto da manutenção. O cálculo do custo
previsto com recursos humanos será realizado de acordo com o seguinte cálculo: horas
previstas por tarefa * valor médio dos salários dos funcionários que possuem as
qualificações necessárias.
 Na guia de qualificações deste grupo informe as qualificações necessárias para a execução
do serviço.

Alocação Automática de Funcionários:

 Ao vincular os cargos ou qualificações na tela de planejamento de RH, na parte inferior da


tela são vinculados os funcionários referentes ao cargo ou qualificação selecionado. Para
alocar um destes funcionários na Ordem de Serviço corrente, basta clicar com o botão direito
no nome do funcionário desejado e escolher a opção "Alocar automaticametne este
funcionário". Com esta operação, o funcionário é inserido na guia de "Funcionários" desta
tela de planejamento com data e hora de início e fim do serviço de acordo com as horas
informadas na previsão de cargos ou qualificações.
 Importante: Se o funcionário estiver vinculado a alguma escala de trabalho em seu
cadastro, a alocação irá considerar automaticamente esta escala neste processo. Por
exemplo, se um funcionário está sendo alocado para 30 horas de trabalho na O.S. e em sua
escala está definido 8 horas de trabalho diários, na guia de funcionários será inserido um
registro com a data programada da O.S. e hora inicial e final completando 8 horas de
trabalho. Outros registros são inseridos na sequência para os dias posteriores à data da O.S.
- cada um com período total de 8 horas - até completarem as 30 horas informadas na
previsão.
 A alocação automática também pode ser feita a partir da guia de "Funcionários" da tela de
Planejamento de RH. Para isto, basta marcar a opção "Marcar todos os funcionários na
árvore para consulta", clicar no nome do funcionário visualizado na parte inferior da tela com
o botão direito e selecionar a opção "Alocar automaticametne este funcionário". Será
inserido na guia corrente um registro contendo o nome do funcionário escolhido com a
data/hora de início igual à data programada da O.S. e data/hora fim igual à data de entrega
prevista da O.S.

OBSERVAÇÕES: Em Cargos e Qualificações, há um campo chamado ordem. Este campo


indica a ordem pela qual os funcionários deverão fazer o serviço. Para indicar que dois
lançamentos deverão ser feitos simultaneamente, coloque o mesmo número de ordem para
eles.

Ordem de Serviço Ordem de Serviço


Ordem de serviço é o documento onde são cadastradas as solicitações de manutenção com
seus parâmetros de execução previstos, parâmetros de execução reais, registro de serviço dos
funcionários e registro dos serviços realizados.
Cadastro de Ordens de Serviço
A Ordem de Serviço pode ser gerada das seguintes formas:
 Cadastro manual, direto. Esta forma de geração de O.S. se dá mediante as manutenções
corretivas, quando algum ponto de aplicação da manutenção necessita de reparos devido à

Página 171 de 478


uma quebra, falha, etc.. Sua geração só é feita após o ocorrido que ocasionou a
necessidade da manutenção. Estas O.S. podem ter seus planos de manutenção, porém não
foram programadas.
 Cadastro via solicitação de serviços. As solicitações de serviços dos usuários, quando são
analisadas e aprovadas, geram Ordens de Serviço automaticamente.
 Geração de O.S. automática. São as O.S. geradas pelo sistema através da ferramenta
localizada no Menu/Processos/Geração de O.S.. As O.S. são geradas conforme os planos de
manutenção vinculados às aplicações da manutenção.

OPERAÇÕES DA TELA:
Cabeçalho:
 Filial: refere-se à filial para a qual a O.S. está sendo emitida. A filial para qual está
sendo aberta a O.S. deve ser informada antes de inserir um novo registro. Inicialmente, neste
campo já estará selecionada a filial corrente.
 * O.S.: Digite o número da O.S. a ser localizada ou pressione F2 para ativar tela de
pesquisa.
 Inclusão de Nova O.S.: Para incluir uma nova O.S., basta pressionar o botão novo
registro ou pressionar CTRL+I.
 Visualização da O.S. por Status: Seleciona o grupo de O.S., por status, para
visualização. Inicialmente, as "Abertas" serão exibidas. Para exibir as "fechadas", "canceladas"
ou "todas", selecione a opção neste ícone. Isto garante uma maior agilidade, tanto na abertura
desta tela, quanto na digitação do lançamento de registro de serviços. É importante salientar
que somente as O.S. abertas poderão ser editadas pelo usuário. Entretanto, há formas de
fazer com que O.S. mesmo fechadas sejam editadas (porque podem ter sido fechadas com
erro de digitação), marcando-se esta permissão nas configurações de acesso à tela de
cadastro de ordem de serviço, no menu Arquivo/Cadastro de Usuários.
 Datas de Status da O.S.: pressione sobre este ícone para visualizar as datas de
impressão, fechamento, cancelamento ou geração. Para a data de geração, será exibido
também o nome do usuário que gerou a O.S., assim como o respectivo nome do funcionário.
No caso da data de cancelamento, será exibido o nome do funcionário, motivo do
Cancelamento e Observação, caso estes tenham sido informados ao Cancelar a O.S.. No caso
da data de fechamento existir, será exibido o nome do usuário do sistema que fechou esta
O.S. e do respectivo funcionário. No caso da data de fechamento existir, será exibido o nome
do usuário do sistema que fechou esta O.S. e do respectivo funcionário. Se a O.S. foi gerada a
partir de uma solicitação de serviços, seu código será exibido aqui.
 Impressão da O.S.: permite imprimir a O.S. atual rapidamente. O formato do relatório
de impressão deve ser realizado na tela de Processos/Relatórios e a determinação de qual
relatório será impresso, é realizada na tela de cadastro da empresa, possibilitando assim,
configurar um modelo de relatório por empresa. Somente O.S. abertas podem ser impressas
por esta rotina.
 Status da Ordem de Serviço:
Aberta = Ordem de serviço ainda não executada ou em execução.
Fechada = Ordem de serviço totalmente executada.
Cancelada = Ordem de serviço que não pôde ser executada.
 Número da Ordem de Serviço: numeração tipográfica, no caso de confecção realizada
nas gráficas ou numeração seqüencial controlada pelo computador. No caso de se usar os dois
processos de emissão, deve-se discriminar a numeração, evitando redundância de dados.Veja
configuração de máscaras- Numeração Automática da Ordem de Serviço. Para obter um
número automático de O.S., pressione a tecla F5 sobre o campo número da O.S. Se o número
for obtido através do impresso, basta digitá-lo neste campo.

IMPORTANTE: A numeração de O.S. poderá ser configurada para funcionar independente por
filial. Para isso, selecione esta opção na tela de Preferências/Ordem de Serviço. Ao digitar o
número de uma O.S. no cadastro de O.S. e o sistema não encontrá-la na filial corrente, ele
tentará encontrá-la em outras filiais (desde que o usuário tenha acesso às outras filiais). Esta
operação aplica-se somente quando a numeração de O.S. for pela empresa.

 Simulação(S) ou Real(R): informe se a O.S. será elaborada de forma simulada ou real.


Simulada indica um status de teste, normalmente utilizado para fins de adequação do
planejamento dos serviços.
 Cópia de estrutura de O.S.: Uma nova O.S. pode ser cadastrada, copiando-se toda a
estrutura de uma O.S. já existente. Para isso, ao inserir uma nova O.S., clique no botão
"copiar estrutura de..." e seleciona a O.S. "matriz" da qual os dados serão copiados. Todos os
registros de serviço planejados da O.S. de origem também são copiados.

Cadastro:
 Solicitante: identificação do solicitante dos serviços. Quando esta O.S. é gerada pela
tela de "Geração de Ordem de Serviços", baseada em um planejamento, este campo deverá
ser nulo.
 Responsável: identificação do funcionário responsável por esta O.S.
 Observação: O campo observação pode ser preenchido durante a criação da O.S com
informações adicionais sobre o que será executado na referida O.S. No entanto, em situações
em que a O.S. seja gerada automaticamente, seja ela por coleta ou tela de geração, este
campo será preenchido automaticamente com os parâmetros de configuração para seu start
bem como o respectivo ponto de controle. Contudo o ponto de controle apenas será
mencionado se a O.S. for originada dos planos de tipos acumulativa ou de tendência.
 Solicitação: refere-se a uma descrição genérica ou em tópicos por parte do solicitante,
sobre o serviço a ser realizado. A solicitação poderá referir à execução de um plano de
manutenção, ocorrência aparente ou serviço necessário. O detalhamento do serviço solicitado
pode ser cadastrado em Planejamento de Serviços. Para formatar este campo (alterar a fonte
ou cor do texto), clique com o botão direito do mouse sobre o campo e escolha a opção
"editar". Veja também o tópico configuração de textos.
 Setor executante: refere-se ao departamento que coordenará a execução da
manutenção. Outros departamentos poderão prestar serviços para a mesma solicitação,
principalmente no caso de serviços de oficina ou terceirizados.
 Plano: ao informar o código do plano e o tipo de manutenção da O.S. estiver vazio, ele
será automaticamente preenchido pelo tipo de manutenção do plano. Será indagado ao
usuário se deseja preencher toda a O.S. com os valores previstos no plano (Homem Hora
previsto, tempo de execução, custo de RH e check list do plano). Quando uma O.S. estiver no
modo de inserção, os registros de serviço referentes ao check list do plano vão ser inseridos
automaticamente somente depois que o usuário gravar a O.S. Se ela estiver no modo de
alteração, os registros serão inseridos imediatamente. Isto ocorre devido à integridade
referencial imposta pelo banco de dados, que obriga que a O.S. seja inserida antes das tabelas
dependentes dela.
 Tipo de manutenção: refere-se a identificação de um macro serviço. Ao ser informado o
tipo de manutenção e se o campo "prioridade subjetiva" não estiver informado ainda, ele será
automaticamente preenchido pela prioridade cadastrada no tipo de manutenção.
 Prioridade: refere-se à prioridade dada a cada O.S. com a finalidade de nivelar recursos
e selecionar a ordem de atendimento quando houver acúmulo de serviços.
 Aplicação: refere-se ao ponto onde será aplicada a manutenção. A manutenção poderá
ser também aplicada de forma genérica, como reforma de um galpão ou limpeza da oficina,
neste caso, não haverá código de aplicação. Para referenciar este ponto, utilize a descrição dos
Serviços Solicitados ou Planejamento dos Serviços. Ao ser informada uma aplicação, os
campos abaixo serão automaticamente preenchidos. Pressionando-se F7 sobre este campo a
tela de Coleta Acumulativa será aberta (se houver aplicação informada no campo). Já a tecla
F8 abre a tela de Coleta de Tendência de Variáveis.
 Centro de Custo: centro de custo da aplicação.
 Conta Contábil: conta contábil da aplicação.
 Cliente: Poderá ser usado para clientes externos ou internos.
 Localização: local de instalação da aplicação.
 Prazo entrega (data e hora): prazo de entrega dos serviços solicitados.
 Parar aplicação (data e hora): previsão de data e hora que a aplicação irá parar.
 Funcionar Aplicação (data e hora): previsão de data e hora que a aplicação irá
funcionar.
 Horas de execução por dia: Tempo estimado para execução dos serviços por dia
trabalhado. Este valor será usado para determinar quantos dias serão necessários para

Página 173 de 478


executar os serviços planejados.
 Execução prevista (HS): tempo total previsto para a execução dos serviços.
 Homem Hora Prevista (HS): tempo de homem hora previsto para a execução dos
serviços.
 Interferência prevista: tempo previsto que a máquina ficou parada com "interferência"
no processo de produção. Informe também o "% de interferência" em relação ao tempo
parado.
 Custo RH previsto: custo de RH (Recursos Humanos) necessários para a execução de
serviços.
 Índice financeiro: utilizado para as referências de custo.

IMPORTANTE:Configuração de usuário: não consistir aplicação parada redundante. Se o


usuário possuir esta permissão, o sistema não fará o teste de redundância de informação de
parada de aplicações no cadastro da O.S. para setores executantes diferentes. O default do
sistema é consistir. Esta configuração se encontra na árvore de permissão no cadastro de
usuário.
Resumo Gerencial:
 O sistema apresenta um resumo gerencial das OS na forma de gráficos, referentes ao
comparativo de tempos e custos planejados com os realizados.
 O custo previsto de serviços e materiais são atualizados após a edição da tela de
planejamento de serviços.
 O custo realizado de serviços e materiais são atualizados após a edição do registro de
serviços.
 O custo e hora de interferência, previsto e real, são atualizados após o salvamento da
O.S., ou após a inclusão de alguma Parada Adicional.
 O custo e tempo de mão-de-obra previsto são informados manualmente no cadastro da
O.S., ou calculados no caso de emissão automática de O.S.
 O custo e tempo de mão-de-obra real são atualizados após a edição do registro de
funcionários.
 O gráfico gerencial só será atualizado após a confirmação do salvamento da O.S. Veja
como configurar o gráfico.

Resumo de Tempo:
 Execução Total Prevista = Diferença em horas entre a Data Programada e Prazo de Entrega
 Execução Total Realizada = Diferença em horas entre a menor Data e Hora Início do
registro de funcionários e a maior Data e Hora Fim.
 Execução Efetiva Prevista = Tempo de Execução Previsto na Página de Cadastro da O.S.
 Execução Efetiva Realizada = Tempo de trabalho calculado pelo registro de funcionários,
sem levar em consideração trabalhos realizados ao mesmo tempo por dois funcionários e
sem levar em conta os intervalos entre os trabalhos. Calcula somente o tempo de trabalho
líquido.
 Homem Hora Previsto = Tempo de Homem Hora Previsto - página de cadastro da O.S.
 Homem Hora Realizado = Tempo de trabalho calculado pelo registro de funcionários. É o
somatório dos tempos dos lançamentos de registro de funcionários.
 Aplicação Parada (HS) Previsto = Diferença entre Parar Aplicação (Data e Hora) previsto e
Funcionar Aplicação (Data e Hora) previsto.
 Aplicação Parada (HS) Real = Soma da Diferença entre Aplicação Parou (Data e Hora) real
e Aplicação Funcionou (Data e Hora) real da guia encerramento e das Paradas Adicionais.
 Interferência (HS) Prevista = Tempo da Interferência Prevista - página de Cadastro da O.S.
 Interferência (HS) Realizada = Soma dos tempos da Interferência Real da guia
encerramento e das Paradas Adicionais.
 % Interferência Prevista = Porcentagem da Interferência Prevista - página de Cadastro da
O.S.
 % Interferência Realizada = Soma da porcentagens da Interferência Real da guia
encerramento e das Paradas Adicionais.

Campos Bloqueados para O.S. Geradas Automaticamente:


Quando uma O.S. for gerada pela tela de "Geração de Ordem de Serviço", não será possível
editar os campos abaixo relacionados. Estes campos são visualizados na tela com um sinal de
asterisco * à esquerda da descrição. O status da O.S. (aberta, cancelada, fechada) indicará se
a O.S. foi ou não gerada automaticamente, se possuir o * à esquerda.
 Número da O.S.
 Data Programada
 Solicitante
 Setor Executante
 Tipo de Manutenção
 Aplicação
 Centro de Custo
 Cliente
 Localização
 Prazo de Entrega
 Horas de Execução por dia
 Execução Prevista em horas
 Interferência Prevista em horas
 Percentual de Interferência
 Custo RH Previsto

Posicionamento Automático das Guias

 Quando uma nova O.S. for inserida, a guia Cadastro será automaticamente exibida e o
campo Número da O.S. receberá o foco.
 Quando uma O.S. for ser editada, e esta O.S. não tiver sido gerada automaticamente pelo
sistema, a guia corrente continuará a ser exibida. Se for a guia Cadastro, o campo
Solicitante receberá o foco. Se for a guia Encerramento, o campo Aplicação Parou receberá o
foco. Caso a guia Resumo seja a guia corrente, então a guia Cadastro será exibida, com o
campo Solicitante recebendo o foco.
 Quando uma O.S. for ser editada, e esta O.S. tiver sido gerada automaticamente pelo
sistema, a guia Encerramento será automaticamente selecionada e o campo Aplicação Parou
receberá o foco.

Posicionamento dos grids de Funcionários e Serviços:

 Preferência a nível de usuário do sistema para reposicionar as guias de registro de


funcionários e serviços. As opções possíveis são:
 Ambos na guia encerramento (default)
 Ambos em guias separadas
 Apenas funcionários em nova guia
 Apenas serviços em nova guia
 Ambos em uma mesma nova guia

Observações:
A digitação do registro de funcionários e serviços só será possível se a O.S. não estiver no modo
de edição.
No registro de serviços, indique se o serviço foi realizado no campo "Executado": Sim, Não ou
Parcial.
Para navegar de um campo a outro dentro do grid de funcionários ou serviços, utilize as setas de
navegação do teclado, as teclas Enter ou TAB.

Anexos:

Com esta nova funcionalidade, é possível abrir O.S. ou S.S. e anexar quantos arquivos forem
necessários a estes cadatros. Qualquer arquivo (compactado com extensão zip) poderá ser

Página 175 de 478


anexado.

Planejamento de Serviços
Registro de Serviços
Registro de Funcionários
Fechamento de OS (CTRL+O)
Cancelamento da O.S. (CTRL+N)
Documentação

Planejamento de Serviço Planejamento de Serviços


Utilize esta tela para planejar os serviços, materiais e custos da O.S. manualmente.
Operações da tela:
 Informe a descrição geral do serviço com seus parâmetros, tais como: material,
quantidade, custo de serviços previsto, tempo previsto, etc.
 Esta forma de planejamento é importante quando for necessário prever o custo de
serviços/materiais e planejar o empenho de materiais para a execução de uma O.S. futura
que não esteja no planejamento automático.
 Kit de Material:Este campo é preenchido automaticamente se o Plano tiver Kit cadastrado.
 Ao sair desta tela, os custos de serviço e materiais previstos serão atualizados no cadastro
da O.S.
 Todos os planejamentos feitos nesta tela serão atualizados no registro de serviços da O.S.
com o campo "Planejado": S (sim) e "Executado": N (não).

Solicitação de Serviço X Material Solicitação de Serviço X Material


Cadastre nesta tela os materiais adicionais e Kit de materiais planejados procedentes do
Plano de manutenção.

Para cada registro do planejamento de serviços, podem ser associados vários materiais, não
sendo necessário a digitação de um registro de planejamento de serviços para cada material
previsto.

Materiais provenientes de um kit não podem ser excluídos ou alterados, nem suas quantidades
e unidades. Para alterar os dados de materiais provenientes do kit, deve-se alterar
diretamente no Cadastro de Kit de Materiais.

Fechamento de O.S. Fechamento da O.S.


Para acessar rapidamente esta operação, pressione CTRL+O.
Fechar O.S. significa informar que o serviço solicitado foi completamente realizado.
ATENÇÃO: Uma vez que a O.S. for fechada, não poderá ser reaberta. Desta forma, não há
como modificar as informações referentes no seu conteúdo.
Se a O.S. não possuir Registro de Serviços ou Registro de Funcionários, esta operação poderá
ser bloqueada, de acordo com a configuração do sistema.
Antes de fechar a O.S., verifique se os campos da página Encerramento estão preenchidos:
 Data de fechamento: não será necessário digitar a data de fechamento. O sistema colocará a
data atual neste campo, ao pressionar o botão fechar O.S.
 Data de recebimento: refere-se à data e hora que o setor executante recebeu a O.S.
 Recebida por: Informe o usuário que recebeu esta O.S.
 Aplicação parou ... funcionou: digite a data e hora em que a aplicação parou e data e hora
que a aplicação funcionou. Para digitar corretamente os valores deste campo, digite primeiro
a data, dê um espaço e digite a hora em 04 algarismos. Não é necessário colocar os dois
pontos ":" que separam as horas dos minutos. Será apresentado à direita do campo
"Aplicação Parou" o total de horas da parada. Se o tempo estiver incorreto ou em branco,
esta indicação ficará da cor vermelha. Caso contrário, ficará da cor preta. Veja também o
tópico Campos de Entrada de Data e Hora. O sistema não permitirá o fechamento da O.S.
caso uma das datas seja preenchida e a outra ficar em branco.

O sistema não permite que duas O.S. tenham lançamentos de parada de aplicação
coincidentes, assim como existe a consistência de funcionários. Assim, sempre que duas O.S.
forem lançadas com hora de parada coincidente, o sistema emitirá um aviso e a digitação será
abortada.
 Caso haja interferência, informe o código do produto que estava sendo produzido.
 Se o produto não for informado, o cálculo do custo de interferência será realizado através
da média dos custos de produtos relacionados com a aplicação referida na O.S.
 % interferência: relaciona o tempo total da interferência a um valor percentual. Deve ser
usado no caso de aplicações que possuam mais de uma cabeça de produção, sendo que a
manutenção interferiu em apenas uma delas, ou quando houve diminuição da velocidade
do equipamento durante o processo de manutenção.
 No caso de atraso na execução da O.S., o sistema emitirá uma mensagem de alarme,
solicitando que se informe o motivo no campo "motivo do atraso".

Tempos de Parada de Aplicação (guia de Encerramento):

 Tempo de Parada: Este campo é preenchido com o tempo total calculado pela diferença
entre os campos "Aplicação Parou" e "Aplicação Funcionou" .
 Tempo de Parada Efetivo: Este campo é preenchido de acordo com as Escalas de Trabalho da
aplicação da O.S., considerando o período informado nos campos "Aplicação Parou" e
"Aplicação Funcionou".
- Se a aplicação possui apenas escala de trabalho manual no período, o cálculo levará em
consideração somente esta escala.
- Se possui somente escala de trabalho automática, o cálculo levará em consideração
somente esta.
- Se o período informado compreender os dois tipos de escala, para cada dia analisado será
realizada prioridade pelo tipo manual. Não havendo este tipo de escala para o dia
pesquisado, será considerado no cálculo para o dia referido a escala automática. Este último
procedimento é muito útil para quando se tem uma aplicação que trabalha dentro de uma
escala de produção automática e durante um período irá trabalhar fora desta escala por
algum motivo mas depois voltará a trabalhar na escala automática original.

O sistema registra no log do usuário todo fechamento de O.S.

Veja também:
Programação Concorrente

Atualização de Estoque Atualização de Estoque

Os materiais lançados numa Ordem de Serviço podem ter o seu estoque atualizado
automaticamente no momento em que uma O.S. for fechada. Por padrão, esta atualização não
é realizada, tendo o usuário que gerar requisições de materiais manualmente para que o
estoque seja atualizado.

Configurações Gerais:

Para que este processo seja realizado, a opção "Atualizar Estoque" localizada na tela
Configurações Gerais (guia Ordem de Serviço/Fechamento) deverá estar selecionada com a
opção "Sim". Ao utilizar esta opção, o usuário deverá escolher no campo "Gerar Requisição" se
o sistema irá gerar uma requisição com os materiais da O.S. ou simplesmente atualizar os
saldos sem gerar a requisição de materiais. Em ambos os casos, os saldos serão atualizados.

Página 177 de 478


Se a opção "Sim" estiver selecionada no campo "Gerar Requisição", o sistema irá obrigar ao
usuário informar uma máscara para requisições na tela de Configurações Gerais, caso já não
esteja informada (ver Configuração de Máscaras).

Operações da tela de Requisição/Atualização:

Após a realização das configurações gerais, quando uma O.S. for fechada, o sistema irá
verificar se existem registros de serviço (ou registros de materiais adicionais) com os campos
Material, Quantidade, Almoxarifado e Lote preenchidos simultaneamente. Se encontrado, será
aberta uma tela para que o usuário possa informar o funcionário e a data da requisição (esta
última já preenchida automaticamente com a data/hora corrente).

Na guia principal da tela de atualização serão visualizados os materiais registrados na O.S. que
estão com saldo suficiente no estoque e que têm preenchidos os campos mencionados no
parágrafo anterior. Para geração de requisição, cada item é inserido no grid vinculado a um
Centro de Custo e Conta Contábil que são os mesmos da Ordem de Serviço, porém podem ser
alterados. Além destes campos, será preenchido automaticamente o código da requisição e os
números dos itens (ambos podem ser alterados se necessário).

 Caso existam na O.S. materiais com saldo insuficiente, os mesmos serão visualizados na
guia "Materiais com saldo Insuficiente". Esta guia mostra a quantidade do material que está
sendo utilizada na O.S. juntamente com o saldo negativo resultante. Este valor é obtido
através da subtração entre a quantidade no estoque (considerando utilizações do material
em registros anteriores da O.S.) e a quantidade que está sendo utilizada.
 Caso existam na O.S. materiais já incluídos em outras requisições, os mesmos serão
visualizados na guia "Materiais da O.S. já Requisitados". Esta guia mostra o almoxarifado
para o qual a requisição encontrada está cadastrada juntamente com o código da requisição.

A tela de requisição/atualização não permite cadastramento de itens no grid. Tais itens devem
ser lançados somente através do registro de serviços da O.S. (ou dos registros de materiais
adicionais) para que possam ser visualizados no grid mencionado. O mesmo acontece para
deleção de itens, que deve ser realizada através dos registros mencionados.

Ao clicar em Ok:

 Se tiverem sido encontrados materiais com saldo insuficiente, será emitida uma mensagem
informando ao usuário que tais materiais foram encontrados e se deseja continuar o
processo (os materiais com saldo insuficiente encontrados não entrarão na
requisição/atualização).
 Se tiver sido encontrado algum material que possua inventário em aberto, será emitida uma
mensagem informando que a requisição/atualização não poderá ser realizada com o material
encontrado até que seu inventário seja concluído.
 Utilizando "Gerar Requisição = Sim": o sistema irá realizar esta geração para o(s)
almoxarifado(s) selecionado(s) e consequentemente atualizar o saldo no estoque.
 Utilizando "Gerar Requisição = Não": o sistema irá atualizar diretamente o saldo no estoque
dos materiais listados na tela de atualização.

Observações:
Se a empresa utiliza o Controle de Estoque Avançado, ao clicar em "OK", serão geradas
movimentações para cada item com saldo suficiente com a transação pré-definida na tela de
Configurações Gerais.

Registro de Serviço Registro de Serviços


Neste grid são informados todos os dados para o registro dos serviços executados na O.S.
A digitação do registro de serviços só será possível se a O.S. não estiver no modo de edição.
Marque no campo "Executado" se o serviço foi executado: Sim, Não ou Parcial. Para marcar
todos os registros como executados, clique no botão .
Para navegar de um campo a outro dentro do grid de serviços, utilize as setas de navegação
do teclado. Digite TAB para sair do grid.
Operações do grid:
 Marque o campo "executado" para indicar se o serviço foi executado: Sim, Não ou Parcial.
 O campo "planejado" indica que o serviço foi previamente planejado, facilitando assim o
processo de digitação simplesmente mudando o status para" executado".
 Materiais Adicionais: sempre que existir materiais adicionados,este campo sera preenchido
automaticamente.
 Kit de Materiais: Este campo é preenchido automaticamente ,se no plano existir kit de
materiais. Para maiores informações sobre o uso de kits de materiais no planejamento,
consulte o tópico "Materiais adicionais do plano".
 Fornecedor: Indique o nome do fornecedor do material consumido. Não é realizada nenhuma
consistência entre o fornecedor informado e a relação entre fornecedores x materiais.
 Informe, se houver, a aplicação (ou grupo construtivo) a que se destina o serviço. Se a
preferência a nível de O.S. "divergência de aplicação" estiver marcada e a aplicação
informada não for um grupo construtivo da aplicação da O.S., uma mensagem de
advertência será exibida.
 Nova localização da aplicação. Informe o código da aplicação e, em seguida, digite a nova
localização. O cadastro da aplicação será automaticamente atualizado.
 Caso um serviço não esteja planejado, insira quantos registros forem necessários,
correspondentes à execução das O.S. e informe os dados solicitados.
 Ocorrência causadora: indica que a ocorrência do registro atual é a causa principal de outras
descritas em outros registros para a mesma O.S.
 Tempo(HS): informe o tempo total gasto na execução do serviço em horas. Este dado será
usado para calcular o índice (Tempo Médio para Reparos)
 Custo: informe o custo adicional específico referente ao serviço descrito.
 Sempre que um registro for salvo ou excluído, os dados referentes a custo realizado de
serviços e materiais serão atualizados automaticamente no cadastro da O.S.
 Almoxarifado: Se o sistema estiver configurado para gerar requisição ou atualizar estoque ao
fechar uma O.S., o campo Almoxarifado estará disponível no registro de serviço. Serão
incluídos na requisição/atualização de estoque somente os materiais que possuírem o campo
Almoxarifado preenchido. A pesquisa deste campo só é habilitada se houver um material no
registro corrente. Nesta pesquisa somente serão mostrados os almoxarifados onde existe o
material especificado.
 Lote: Este campo somente estará visível caso o campo Almoxarifado também esteja. No
entanto, se o sistema não está configurado para trabalhar com lote (opção "Usar controle de
estoque por lote de fabricação" nas Configurações Gerais), este campo não estará disponível.
Nele deverá ser informado o lote correspondente ao material e almoxarifados selecionados.
 Valor Material: Este campo é preenchido automaticamente com o valor do material
registrado no seu cadastro. Se forem informados os campos Almoxarifado e Lote, o valor do
material virá do almoxarifado especificado.
 Para fazer coleta acumulativa para a aplicação informada no registro corrente, clique no

botão
 Para fazer coleta de tendência para a aplicação informada no registro corrente, clique no

botão
 Para realizar movimentação de agrupamentos da aplicação informada no registro corrente,

clique no botão

Relacionamento entre Serviços e Funcionários:


 Para relacionar cada lançamento do registro de serviço com o os lançamentos de registro de
funcionários, expanda o grid, clicando sobre o botão [+]. Digite o código do registro de
funcionário relacionado a este serviço ou tecle F2 para pesquisar os funcionários cadastrados

Página 179 de 478


na O.S..

 Para relacionar todos os funcionários ao registro de serviço corrente, clique no botão .

Observação: Um registro de serviço que está vinculado a uma requisição não permite
alterações nos campos "Material", "Quantidade", "Unidade", "Almoxarifado" e "Lote". Também
não será possível deletar o registro enquanto o mesmo estiver vinculado.

Registro de Serviço X Material


Registro de Serviço X Material

Nesta tela são informados todos os materiais adicionais e kit de materiais que foram utilizados
de acordo com o planejamento indicado na O.S.

Operações do grid:

 Para cada material adicional nesta tela, poderá ser associado um fornecedor.
 Materiais provenientes de um kit não podem ser excluídos ou alterados, nem suas
quantidades e unidades. Para alterar os dados de materiais provenientes do kit, deve-se
alterar diretamente no Cadastro de Kit de Materiais.
 Almoxarifado: Se o sistema estiver configurado para gerar requisição ou atualizar estoque ao
fechar uma O.S., o campo Almoxarifado estará disponível para preenchimento. Serão
incluídos na requisição/atualização de estoque somente os materiais que possuírem o campo
Almoxarifado preenchido. A pesquisa deste campo só é habilitada se houver um material no
registro corrente. Nesta pesquisa somente serão mostrados os almoxarifados onde existe o
material especificado.
 Lote: Este campo somente estará visível caso o campo Almoxarifado também esteja. No
entanto, se o sistema não está configurado para trabalhar com lote (opção "Usar controle de
estoque por lote de fabricação" nas Configurações Gerais), este campo não estará disponível.
Nele deverá ser informado o lote correspondente ao material e almoxarifados selecionados.
 Valor Material: Este campo é preenchido automaticamente com o valor do material
registrado no seu cadastro. Se forem informados os campos Almoxarifado e Lote, o valor do
material virá do almoxarifado especificado.

Observação: Um registro de serviço que está vinculado a uma requisição não permite
alterações nos campos "Material", "Quantidade", "Unidade", "Almoxarifado" e "Lote". Também
não será possível deletar o registro enquanto o mesmo estiver vinculado.

Registro Funcionário Registro de Funcionários


Neste grid são informados os executantes e tempo de execução das O.S.
A digitação do registro de funcionários só será possível se a O.S. não estiver no modo de
edição.
Marque no campo "Previsto/Real" qual o tipo de lançamento se: Previsto ou Real. Para marcar
todos os lançamentos como Real, clique no botão .
Para navegar de um campo a outro dentro do grid de funcionários, utilize as setas de
navegação do teclado. Digite TAB para sair do grid.
Operações do grid:
 Informe o nome do executante, datas e horas de início e término do serviço.
 Informe se o lançamento é (P)revisto ou (R)eal. Lançamentos de horas previstos não são
consistidos. Os planos que fazem previsão de RH baseados em funcionários já trarão estas
O.S. com os funcionários previamente preenchidos.
 Para informar corretamente a data e hora, coloque-a na forma: data "espaço" hora.
 Para informar a data, não é necessário colocar os separadores de data '/'. Veja exemplo
abaixo.
 Para informar a hora, não é necessário colocar o separador de horas ':', desde que seja
digitada com 4 dígitos. Veja exemplo abaixo.
 Informe, se houver, o percentual de hora extra para o serviço executado. Deixe este campo
em branco para que o sistema considere as horas normais. Colocando-se o valor 100, o
sistema calculará um acréscimo de 100% ao custo de hora trabalhada daquele registro de
funcionário.
 O campo valor hora será exibido somente se o usuário corrente possuir a permissão (ordem
de serviço/registro de funcionários/visualizar valor hora e permitir alterar). Ao informar um
funcionário, o sistema preencherá automaticamente este campo, de acordo com o valor de
venda hora informado no cadastro do funcionário, mas permitirá a alteração deste valor para
o lançamento corrente. A alteração deste valor não irá alterar o campo de venda hora do
funcionário. Este campo será utilizado em todos os relatórios de custo da O.S. em relação à
mão-de-obra.

Exemplo:
Digite: 120998 0700 para que o campo fique 12/09/1998 07:00:00. Clique na seta à direita
deste campo para que o sistema apresente um calendário.
 A cada registro salvo ou excluído, os custos realizados de funcionários, o tempo real dos
serviços, tempo decorrido e tempo efetivo serão atualizados no cadastro da O.S.

Consistências
 A cada lançamento, o sistema poderá realizar uma consistência, evitando-se erros de
lançamento e assegurando que um funcionário nunca terá realizado trabalhos diferentes no
mesmo momento. Para ativar esta consistência, verifique o tópico consistências da ordem de
serviço. As consistências detectadas poderão ser salvas em uma tabela do sistema, de nome
consiste para futura consulta. A estrutura deste arquivo pode ser visualizada através da
documentação do sistema.
 A data de início do registro do funcionário não poderá ser inferior à data programada da
ordem de serviço.
 A data de início e término do serviço não poderá ser superior à data atual do sistema caso
seja configurado na perfil do usuário.
 As consistências com Movimentações, Escalas, Feriados e Horários podem ser ativadas no
perfil do usuário.
 As consistências de horário de funcionários, bem como os cálculos gerenciais da O.S. só
serão realizados se as datas de início e de fim estiverem preenchidos.
 As datas de início e término podem ou não ser obrigatórios, de acordo com a configuração
informada na tela de Preferências, na guia Ordem de Serviço.
 Será permitido que o usuário informe o mesmo funcionário em O.S diferentes com o mesmo
intervalo de tempo. Desde que apenas uma das O.S´s seja do tipo "REAL" ou nenhuma
delas. Caso contrário, se a configuração estiver ativa para consistir horário do funcionário,
apenas uma das O.S´s poderá ser gravada com status "R" e registro de funcoionário
também "R". A segunda O.S e as demais, se houver, serão consistidas, pois o funcionário em
questão poderá estar alocado no mesmo intervalo de tempo em alguma das O.S´s cridas.

Relacionamento entre Funcionários e Serviços


 Para relacionar cada lançamento do registro de funcionários com o os lançamentos de
registro de serviços, expanda o grid, clicando sobre o botão [+]. Digite o código do registro
de serviço relacionado a este funcionário ou tecle F2 para pesquisar os registros
cadastrados na O.S..

 Para relacionar todos os serviços ao registro de funcionário corrente, clique no botão


.

Distribuição do total de horas do registro de Funcionário

 Através do botão pode-se distribuir total de horas conforme escala de trabalho do

Página 181 de 478


funcionário em questão. Para utilizar esta facilidade, basta que o usuário possua permissão
de acesso e que os campos de Data/Hora Início e Data/Hora Fim juntamente do funcionário
selecionado estejam preenchidos.
 Ao clicar no botão o total de horas do referido funcionário será distribuído conforme
sua escala de trabalho. No entanto é necessário que esta escala de trabalho exista.

Observações:
Este recurso apenas ficará disponível no momento de inserção do registro de funcionário. As
alterações dos registros gerados poderão ser alterados conforme disponibilização de acesso
em: Menu Arquivo -> Cadastro de Usuário -> Controle de Acesso -> Cadastros -> Ordem de
Serviço -> Registro de Funcionários ->Consistir Movimentações, Escala, Feriados e Horários.

Durante a distribuição do tempo do serviço na escala do funcionário, cujo setor executante


seja outro, e ainda assim desejar distribuir o total de horas, verifique se no menu
configurações gerais -> ordem de serviço a opção "Ao lançar funcionário de outro setor
executante na O.S." não possui nenhuma restrição do tipo Bloqueio ou Aviso. Se estiver como
"Bloqueio" não será possível se quer lançar o funcionário. Caso esteja selecionado como Aviso,
então será exibida uma mensagem a cada distribuição no registro de funcionário solicitando
para que confirme ou não a distribuição que o sistema estará realizando.

Cancelamento de O.S. Cancelamento de O.S.


Para acessar rapidamente esta operação, pressione CTRL+N.
Uma O.S. assumirá o status de cancelada, quando não for executada por algum motivo.
Para cancelar uma O.S., basta informar o motivo do cancelamento (cadastrado numa
tabela auxiliar) e clicar no botão 'Confirmar Cancelamento'.
Opcionalmente, pode-se informar o funcionário que autorizou o cancelamento desta O.S. e
uma observação complementar.
Quando a operação e executada sem um 'Motivo de Cancelamento' , a O.S. equivalente não
é fechada e sim reaberta, caso seu seu estatus estiver como Cancelado. Assim, Este
procedimento permite a reabertura desta mesma O.S.
Ao realizar o cancelamento de uma Ordem de Serviço, o sistema emite um aviso com a
seguinte pergunta : "Deseja atualizar a Data de última manutenção ?" . Caso a resposta for
"Sim", a data de última manutenção do planejamento da aplicação será atualizada.

Observação: Durante o processo de geração automática de Ordens de Serviço, o motivo de


cancelamento e sua observação são preenchidos automaticamente caso exista um motivo de
cancelamento padrão informado na tela de Preferências (Guia Geral/Padrões).

Pesquisa Ordem de Serviço Pesquisa Ordem de Serviço


Fornece um meio rápido e prático para localizar as Ordens de Serviços.

Esta tela possui um recurso para filtrar as ordens de serviços. Este filtro fornece uma maneira
flexível de localização, reduz o número de linhas de procura, agilizando a consulta.
Pode ser filtrado apenas pela data programada e pelo status da O.S.
Para ser feito um filtro mais específico, basta preencher os demais campos.

Solicitação de Serviços Solicitação de Serviços


A solicitação de serviços tem como objetivo criar um dispositivo de controle das solicitações
antes da geração efetiva de uma ordem de serviço. Uma solicitação pode gerar várias O.S., de
acordo com a complexidade do serviço solicitado. O preenchimento dos campos é mais
simplificado que uma O.S., conforme a visão do solicitante, que não precisa compreender
todas as etapas que um documento de ordem de serviço deve possuir.
Para utilizar a solicitação de serviços, todo usuário deverá associar o seu login a um
funcionário da empresa corrente.
Muitas operações desta tela estão restritas às permissões concedidas ao usuário corrente.
Consulte a tela de cadastramento de usuários e verifique quais são as suas permissões de
operação sobre Cadastros/Solicitação de Serviços.
Ciclo: Solicitação - Ordem de Serviço - Aprovação Solicitante
1) O solicitante faz a solicitação.
2) O responsável consulta solicitações em aberto não avaliadas e aprova a execução do
serviço, gerando uma ou mais O.S. programadas, ou cancela a solicitação, informando o
motivo.
3) As O.S. geradas são realizadas pelos vários setores envolvidos. O solicitante, a qualquer
momento, poderá acompanhar o desenvolver dos serviços, visualizando as O.S., bem como
o seu status e etapa de execução.
4) Quando todas as O.S. referentes a uma solicitação são concluídas, o status da solicitação
torna-se concluído.
5) O solicitante consulta as solicitações concluídas e aprova ou não o serviço realizado.
Uma solicitação de serviços pode assumir os seguintes status:
Status Significado
Aberta Não Avaliada Quando uma nova solicitação é criada e ainda não existe
nenhuma O.S. associada a ela.
Aberta Aprovada Quando uma solicitação existente é aprovada pelo
responsável e foram geradas uma ou mais O.S. para esta
solicitação.
Cancelada Quando uma solicitação existente é reprovada pelo
responsável. Neste caso, haverá o motivo do cancelamento
desta solicitação.
Concluída Não Avaliada Quando não existirem mais O.S. abertas para esta
solicitação, ela estará concluída, mas ainda não foi avaliada
pelo solicitante para verificar se o serviço requerido
atendeu às suas expectativas.
Concluída Aprovada Quando o solicitante aprova o serviço realizado.
pelo Solicitante
Concluída Reprovada Quando o solicitante reprova o serviço realizado. Neste
pelo Solicitante caso, ele deverá informar a justificativa de sua reprovação.

Funcionamento da tela de solicitação de serviços


Inserindo uma nova solicitação:
Esta operação só será possível se o usuário possuir o privilégio de inserir a Solicitação.
Consulte a tela de permissões do usuário para maiores detalhes. Clique no botão NOVA
SOLICITAÇÃO. Descreva o serviço solicitado, informe a prioridade, aplicação e demais campos
necessários. Veja que somente a descrição da solicitação e o código da filial são obrigatórios.
Observe também que, ao informar a aplicação, os campos filial, centro de custo e cliente serão
automaticamente preenchidos de acordo com o cadastro desta aplicação e serão bloqueados.
Pode-se avaliar uma Solicitação conforme os dados preenchidos nas Tabelas de Quesitos de
Avaliação e Notas dos Quesitos nas Configurações Gerais da Solicitação de Serviço. Clique no
botão gravar para salvar suas informações. Neste modo de operação, é possível a inclusão de
várias solicitações. Para inserir outra solicitação, sem abandonar esta tela, clique em "inserir"
e prossiga os passos descritos anteriormente.
Para retornar à tela de consulta de solicitações, desmarque modo de inclusão, clicando no
mesmo botão para entrar neste modo.
Consultando uma solicitação:
Ao entrar na tela, são visualizados vários campos de filtro (azuis). Estes campos auxiliam na
localização de qualquer tipo de solicitação realizada. Informe o filtro desejado e pressione o
botão "Aplicar Filtro". Dependendo das permissões do usuário corrente, ele poderá filtrar
solicitações para outros usuários que não sejam ele próprio, aprovar ou cancelar solicitações.
Ao filtrar as solicitações, a tela se dividirá em duas partes. Uma mostrará todas as informações

Página 183 de 478


da solicitação corrente e a outra, será apresentada em forma de uma árvore de navegação
rápida. É possível navegar pelas solicitações pelos botões de navegação no superior da tela ou
pela árvore.
Aprovando uma solicitação: A operação de aprovação de uma solicitação consiste em gerar
uma ou mais O.S. para a solicitação corrente. Para isto, clique sobre o ícone "Aprovar e Gerar
O.S.". Uma tela semelhante à tela de cadastramento de O.S. será aberta com os campos da
solicitação previamente preenchidos. Qualquer campo desta tela poderá ser alterado. Informe
os campos necessários para que a O.S. possa ser emitida e pressione Gravar. Após gravar a
O.S. você poderá inserir registro(s) de serviço(s) e registro(s) de funcionário(s). Para retornar
à tela de solicitação feche a tela de O.S. ao alterne a tela utilizando F12. Marque a caixa de
verificação "Usar numeração de corretivas" para que o sistema insira a nova O.S. dentro do
intervalo de corretivas e não no de preventivas (padrão).
Cancelando uma solicitação: Se o responsável julgar que uma solicitação não procede ou
que haja algum motivo que impeça sua realização, ele deverá clicar no botão "Cancelar
Solicitação" e informar o motivo do cancelamento. Não será permitido registrar o
cancelamento da S.S. se não houver um motivo.
Consultando O.S. de uma solicitação: Para visualizar as O.S. relacionadas à uma
solicitação, clique com o botão direito do mouse sobre o número da solicitação na tela em
forma de árvore hierárquica e selecione a opção "Exibir O.S.". Somente solicitações com status
aberta aprovada ou concluída poderão ter as O.S. visualizadas. Esta operação cria uma
sub-árvore à O.S. com todos os detalhes mais importantes, como data de início e término
correntes, status, etc. Para abrir a tela de cadastramento da O.S. corrente, clique com o botão
direito do mouse sobre a O.S. e pressione "Abrir Tela da O.S.".
Para efetuar novas consultas com filtros diferentes, saia do modo filtro, clicando no mesmo
botão utilizado para entrar neste modo.

Solicitação de serviços via WEB


Sincronizando dados com a base remota:
Esta funcionalidade permite que o Engeman troque informações com uma base de dados em
um servidor WEB. Clique aqui para maiores informações sobre a sincronização de dados com a
WEB. Se o botão Sincronizar com a WEB não estiver visível nesta tela, consulte o nível de
acesso a esta funcionalidade no Cadastro de Usuários (para sincronizar, o subitem "Sincronizar
Dados" em "Solicitação de Serviços Via WEB" deve estar liberado).

Dados com a Web Sincronização de Dados com a WEB


Esta funcionalidade permite sincronizar os registros de solicitação de serviços de uma base na
WEB com a base local do Engeman. Antes de realizar uma sincronização pela primeira vez,
deve-se cadastrar o Identificador para solicitação via WEB.
Outra forma de sincronização automática com a WEB é usar o EngemanWeb.exe. Este
programa deve ser instalado num servidor de internet e faz uma checagem, sempre que
necessário, das solicitações da WEB, atualizando automaticamente o banco de dados e
enviando mensagens para os usuários do sistema e e-mails para os solicitantes, a cada vez
que uma solicitação tiver seu status alterado.
Somente os dados relativos à empresa corrente (que o usuário está logado) serão
sincronizados. Em cada sincronização, as seguintes tarefas são executadas:
- Verificação de novas solicitações na base remota. Se houver novas solicitações na base
remota, o Engeman® pedirá uma confirmação para fazer download destas para a base local.
- Envio dos dados para a WEB. Após a checagem de novas solicitações, o Engeman® pedirá
uma confirmação para enviar os dados necessários para cadastramento de solicitações. Na
primeira sincronização, todos os dados serão enviados. Em seguida, somente os registros
alterados serão enviados nas próximas sincronizações. Se a opção Integral estiver marcada,
TODOS os dados serão reenviados. Marque esta caixa quando quiser que o sistema faça uma
atualização completa do banco de dados da WEB.
Reconhecimento de Nova Solicitação Reconhecimento de Novas
Solicitações
A tela de alarme exibe, agrupando por filial, as solicitações não reconhecidas (solicitações que
foram geradas recentemente. Sempre que uma nova solicitação é gerada, a mesma é inserida
com o status "Não reconhecida". Isto significa que elas foram geradas, entretanto não
obtiveram reconhecimento do departamento de manutenção.
 Para reconhecer uma solicitação, selecione-a e clique na caixa de verificação ao lado da
data.
 Para verificar os detalhes da solicitação, como número e solicitante, clique no botão '+' ao
lado da caixa de verificação.
 Para reconhecer todas as solicitações, clique no botão "Reconhecer todas"
 Para imprimir a solicitação corrente, clique no botão "Imprimir"

Uma solicitação será automaticamente reconhecida quando um funcionário APROVAR ou


CANCELAR a solicitação pela tela de solicitação de serviços.

Pesquisa Solicitação de Serviços Pesquisa Solicitação de Serviço

Fornece um meio rápido e prático para localizar as Solicitações de Serviço.

Esta tela possui um recurso para filtrar as solicitações de serviços.


Este filtro fornece uma maneira flexível de localização, reduz o número de linhas de procura,
agilizando a consulta.
O filtro pode ser feita apenas pelo status da solicitação de serviço.
Para um resultado mais complexo basta preencher os outros campos.

Correção de InconsistênciasCorrigir Inconsistências das Solicitações


Esta tela irá verificar e corrigir inconsistências encotradas nas Solicitações.

Caso não tenha uma solicitação informada ao chamar esta tela ou a solicitação corrente não
tenha divergências, a primeira opção ficará desabilitada.

Ao efetuar esse processo será feita uma busca em todas as solicitações verificando seus
Status, caso o Status divergir das condições da Solicitação, seu Status será então corrigido.
Lembrando que dependendo da quantidade de Solicitação cadastradas no sistema, este
processo poderá levar vários minutos.

Observação: Este processo deve ser realizado de maneira exclusiva. Antes de efetuá-lo

Página 185 de 478


certifique-se de que não há nenhum outro usuário logado no sistema.

Processos Processos
Relatórios
SQL
Visualizador de DER
Geração de O.S.
Inserir corretivas
Nivelamento de Recursos
Backup
Calendários de Periódicas
Integração com MS Project
Exportação/Importação de PalmTop
Análise de Serviços
Personalização
Administração

Relatórios Relatórios
As instruções SQL utilizadas no editor de relatórios possuem uma sintaxe própria, de acordo
com o banco de dados que está sendo utilizado. Entretanto, existem algumas funções
especiais criadas na base do Engeman®, independente do fabricante do banco de dados, para
facilitar algumas tarefas de consulta. Consulte a documentação do sistema para maiores
detalhes sobre as funções de cada banco de dados.
Para configurar um novo relatório, informe seu código e descrição e clique no botão "layout".
Isto ativará o Editor de Relatórios, onde será possível configurar o SQL para a obtenção dos
dados do relatório e seu layout propriamente dito. Para a execução de consultas simples, veja
o tópico SQL.

Filtros do relatório: O Engeman possui um editor de filtros de relatórios personalizados, que


facilita a emissão de relatórios ao usuário final de uma forma totalmente revolucionária.

Observações:
Os filtros são colocados na query de forma automática, após o comando where.
Existem alguns casos onde é importante especificar a localização exata onde o filtro será inserido,
como ocorre no caso onde existem cláusulas union na query. Neste caso, coloque os símbolos
0=0 (zero igual a zero, juntos, sem espaço) na posição da query onde deverão ser inseridos.
Durante a sua execução, os símbolos serão substituídos pelos filtros especificados.

Exemplo:
SELECT TAG FROM CAUSA WHERE 0=0
Quando colocado o filtro externo '001', a query será substituída por:
SELECT TAG FROM CAUSA WHERE (CAUSA.TAG='001')
 Erro! Fonte de referência não encontrada.Ao exibir o relatório da O.S. ou S.S. pelas telas de
Cadastro de O.S. ou de Solicitação de Serviço, o sistema não exibirá os filtros dos relatórios
configurados para estas telas, mesmo que o relatório possua filtros. Motivo: o próprio sistema já filtra o
relatório para O.S. ou S.S. selecionada no momento.Erro! Fonte de referência não encontrada.

Filtros obrigatórios (parâmetros):


Algumas vezes, queremos que um determinado filtro seja obrigatório para a emissão de um
determinado relatório. Neste caso, o filtro deve ser colocado internamente, no corpo de
comandos SQL do relatório, em forma de parâmetro. Desta forma, quando o relatório for
emitido, uma janela será aberta perguntando sobre o valor a ser colocado no filtro. Veja mais
sobre este tópico no Editor de Relatórios e Parâmetros do Relatório.

Usar arquivo de O.S. auxiliar


Esta operação permite que um relatório baseado em O.S. (arquivo ORDSERV) seja executado,
sem alterações, sobre o arquivo auxiliar de O.S. (arquivo SORDSERV). Este arquivo é criado na
tela de geração de O.S. Marcando esta opção, o relatório é modificado somente quando
consultado e voltado para o estado anterior logo a seguir.

Ajustar para Caber


Marque esta opção para que o arquivo de relatório seja automaticamente redimensionado para
caber em uma página de impressão. Caso contrário, as margens poderão ficar diferentes, de
acordo com o tamanho da página configurada na impressora.

Mostrar Tela de Ordenação


Alguns relatórios, antes de sua visualização, oferecem a opção de alterar a ordenação natural
do relatório. Deixe esta opção desmarcada para que a tela de reordenação não seja exibida.

Preview do Relatório
Para visualizar o relatório, clique sobre o ícone "visualizar" ou pressione F5. Quando
realizar preview sobre um relatório, verifique que o mouse terá a forma de uma lupa. Clique
com o botão esquerdo para aumentar o zoom. Clique com o botão direito para diminuir o
zoom. Um relatório pode ser enviado por e-mail para outros usuários ou para destinatários
externos.
Se o driver instalado para a impressora corrente não aceitar múltiplas cópias, somente dentro
do preview do relatório será possível imprimir mais de uma cópia configurada do relatório
visualizado.
Personalização dos relatórios para o menu do sistema
Os relatórios construídos nesta tela podem ser configurados de forma a aparecerem na barra
de ferramentas PERSONALIZADO/RELATÓRIOS. Consulte o tópico personalização de menu de
relatórios para maiores detalhes.

Informações do relatório corrente


Para cada relatório é possível registrar um texto explicativo sobre o seu funcionamento. Para
isso, clique no ícone localizado ao lado do código do relatório. Para alterar a descrição, o
relatório deve estar em modo de edição. Somente usuários com permissão de alteração de
relatórios podem alterar a observação do relatório corrente.

Exportação do layout do relatório


Os relatórios com layout poderão ser exportados para arquivo, pressionando-se o ícone ,
localizado na barra de ferramentas principal da tela de relatórios. Escolha em exportar
somente o relatório corrente ou todos os relatórios. O nome padrão sugerido para o arquivo
exportado é o mesmo nome do relatório. Quando é realizada a operação de Exportação de um
relatório, é gerado um arquivo seguido da extensão ERP.
Ao ser exportado, o arquivo terá o código do relatório anexado à sua descrição para facilitar a
identificação do mesmo.
Importação do layout do relatório
Para importar um layout previamente exportado, clique sobre o ícone , localizado na barra
de ferramentas principal da tela de relatórios. Ao clicar no ícone será informado as opções
"Substituir relatório corrente" e "Importar novos relatórios". Para importar múltiplos formatos
de relatórios em uma única operação, selecione todos os arquivos de relatório desejados.
Todos serão importados para o sistema.
Ao ser importado, se o nome do arquivo de relatório possuir o formado CÓDIGO-DESCRIÇÃO,
o código será automaticamente preenchido no sistema. Vale lembrar que isso só acontecerá
quando o código não existir no sistema.
Exportação do relatório em formatos diversos:
 RTF - Pode ser aberto no Microsoft Word.
 XLS - Pode ser aberto no Microsoft Excel.
 GIF - Imagem compacta. Será criado um arquivo para cada página do relatório.
 JPG - Imagem compacta. Será criado um arquivo para cada página do relatório.
 BMP - Imagem BitMap. Será criado um arquivo para cada página do relatório.
 HTM - Página da WEB. Serão criados o arquivo principal HTML e várias figuras anexas

Página 187 de 478


ao arquivo html. Escolha uma pasta vazia para salvar toda a estrutura do relatório em HTML.
 PDF - Para ler no Adobe Acrobat Reader.
 TXT - Texto simples.
 CSV - Texto delimitado por vírgula e aspas.
 EMF - Enhanced Meta File - Pode ser inserido num arquivo do Microsoft Word como
figura. Todas as formatações, inclusive figuras e gráficos são exportadas. Para cada página do
relatório, será criado um arquivo com o nome especificado, exemplo: Num relatório de 3
páginas chamado LISTA, serão criados os arquivos LISTA001.EMF, LISTA002.EMF,
LISTA003.EMF (um arquivo por página). Para exportar este tipo de formato é necessário
visualizar o relatório antes.
 WMF - Windows Meta File - Este modo é bem semelhante ao EMF, porém o arquivo
resultante é menos aprimorado.
 E-Mail - Envia um relatório diretamente para e-mail. Ao efetuar esta operação,
configure seu servidor de SMTP e endereço eletrônico.
 Qualidade das imagens para exportação: selecione qual a conversão será utilizada para
a exportação das imagens do relatório para o tipo desejado. A opção padrao do sistema
utilizará a configuração atual do windows para o formato das imagens. Quanto menor a
precisão, menor será a imagem gerada, porém, pior será a qualidade da mesma. As opções
disponíveis são:

Relatórios de backlog:
Para emitir um relatório de backlog, é necessário que haja uma tabela contendo todas as datas
do período informado. Nem sempre existem ordens de serviço para todos os dias de um
período, devido a feriados e outras ocasiões aonde não existem O.S.'s. Desta forma, é
necessário existir uma tabela "master" para que sejam relacionadas O.S.'s por "outer join" à
tabela de backlog.
Para dizer ao relatório que ele deverá gerar uma tabela de backlog em tempo de execução,
coloque o seguinte comentário no início da query:
/*Gerar_backlog (Data_Inicial, Data_Final)*/
Utilize a tabela BACKLOG em sua query, como se ela já existisse. A cada vez que você executa
o relatório, um novo arquivo backlog é gerado, acrescentando-se um número seqüencial único
ao final do arquivo, evitando conflitos de utilização em um ambiente multiusuário. Exemplo, a
primeira vez que um relatório de backlog é gerado, uma tabela de nome backlog1 é gerada. A
segunda vez, a tabela backlog2 é gerada e assim por diante. Após a exibição do relatório, esta
tabela é automaticamente excluída.
Atenção, como uma tabela sempre é criada no banco de dados para cada vez que o relatório
for ser emitido, o usuário deverá possuir os privilégios de criação de tabelas para executar os
relatórios de backlog.
O único campo desta tabela é o campo DATA. O preenchimento de dados no campo data,
segue a seguinte lógica, de acordo com o formato dos parâmetros da função:
 (10 dígitos) dd/mm/yyyy: Data completa. Será gerada com datas entre a data inicial
informada e a data final informada.
 (7 dígitos) mm/yyyy ou yyyy/mm: Mês ano inicial e final. Será gerada com datas deste
o dia 1 do primeiro parâmetro até o última dia do mês do segundo parâmetro.
 (4 dígitos) yyyy: Somente o ano. Será gerada desde o dia primeiro de janeiro do ano
informado até o dia 31 de dezembro do último ano informado.

Imagens no relatório:
Os campos de Observações das telas de Aplicação, O.S., etc. vão aparecer no relatório
exatamente como aparecem nestas telas, incluindo as imagens e/ou ícones de arquivos
anexados.

Filtros do Relatório Filtros do Relatório


Nesta tela são configurados todos os filtros do relatório. Além dos filtros padrões, cada usuário
pode ter os seus filtros personalizados conforme sua necessidade.
A criação de novos filtros depende da compatibilidade da instrução SQL de cada relatório.
Ao abrir a tela de configuração, os filtros do usuário corrente serão selecionados
automaticamente. Para visualizar os filtros padrões do relatório, selecione a opção * filtro
padrão * na parte inferior da tela. Nesta caixa também é possível selecionar os usuários do
sistema com seus respectivos filtros.
Para utilizar os filtros personalizados por usuário, a opção "Usar Filtro Personalizado" deverá
estar marcada.
Operações desta tela:
Nome do Filtro: deve ser preenchido com a descrição que o usuário quiser visualizar na
tela de filtro.

Obrigatório: informe sim se o filtro tiver obrigatoriedade de ser preenchido antes de emitir o
relatório.

Exibir Pesquisa: informe sim se o usuário quiser que o sistema exiba a lupa de consulta
buscando os dados da tabela utilizada.

Tipo do campo: Informe o tipo de acordo com o filtro que será criado. Ex: Se o filtro criado
for um código, o tipo será “texto”. Se for alguma data de uma tabela o tipo deve ser data, ou
se for um filtro que busque um valor monetário informe o tipo número.

Tipo do filtro:Selecione dentre as opções da lista um tipo que melhor atenda a condição
do filtro.

 Personalizado: Utilizando essa opção o filtro vai ser personalizado na hora da emissão do
relatório. Filtros personalizados podem conter lógicas variadas de comparação dos valores.
 É igual a: Emite o relatório atendendo exatamente a condição do filtro especificado.
 De... Até...: É utilizado quando se necessita incluir uma condição de filtro entre dois
valores, sendo informado um valor inicial e um final.
 Começa com...: São filtradas as informações que comecem pelo filtro informado, podendo
ter qualquer outro caractere a seguir.
 Termina com...: A informação pode começar com qualquer valor, mas terminar exatamente
igual ao filtro informado.
 Contém: Esta opção é utilizada para filtrar dados que contenham o filtro especificado.
 É maior que...: Utilizado para filtrar dados maiores que os especificados no filtro. Ex.: Se
estivermos emitindo uma listagem de funcionários e utilizarmos o filtro> „MA‟ . Na listagem
serão exibidos dados como Maria, Marcos, Nair, Roberta, Tatiana etc...
 É maior ou igual a...:Utilizando essa opção o relatório emitirá dados maiores ou iguais aos
especificados no filtro. Ex.: Se estivermos emitindo uma listagem de quantidade de
materiais no estoque e utilizarmos o filtro> = 40, no campo quantidade, serão exibidos
dados de materiais que possuam 40 ou mais itens em estoque.
 É menor que: O contrário da opção “É maior que”, filtra os dados em caráter decrescente,
menores dos que especificados no filtro.
 É menor ou igual a...: O contrário da opção “É maior ou igual a”, emitirá dados em caráter
decrescente, menores ou iguais aos especificados no filtro.
 Lista: é utilizado para informar uma lista de valores na hora da emissão do relatório.
 Lista de...até...: É utilizado quando se necessita incluir uma condição de filtro entre dois
valores, sendo informado um valor inicial e um final pré definidos numa lista.

Tabela.campo: Informe o nome da tabela e o campo separados por um ponto. O filtro será
aplicado sobre este campo. Exemplo: aplic.tag

Para especificar um ponto específico da query para ser aplicado o filtro, coloque um identificador
separado por um espaço. O identificador é qualquer número inteiro de somente um dígito,
seguido do sinal de igual e com outro número de um dígito.
exemplo: CENCUS.TAG 2=3

Página 189 de 478


Outros filtros podem utilizar o mesmo índice:
exemplo: CENCUS.DESCRICAO 2=3

Filtros que possuem índices não encontrados na query não serão aplicados
exemplo: CENCUS.CODCEN 1=2

Filtros que não possuem índice serão aplicados em todas os pontos.


exemplo: EMPRESA.CODEMP

Exemplo da Query:

select tag, descricao


from cencus inner join empresa on cencus.codemp=empresa.codemp
where 2=3
union
select tag, descricao
from aplic inner join empresa on aplic.codemp=empresa.codemp
where 1=0

Depois de aplicado o filtro, a query ficaria:

select tag, descricao


from cencus inner join empresa on cencus.codemp=empresa.codemp
where (CENCUS.DESCRICAO IN ('TESTE')) AND (CENCUS.TAG IN ('1')) AND (EMPRESA.CODEMP
IN (1))
union
select tag, descricao
from aplic inner join empresa on aplic.codemp=empresa.codemp
where (EMPRESA.CODEMP IN (1))

Queries: O filtro definido será aplicado automaticamente a todas as queries do relatório, a não
ser que os nomes das queries sejam definidos neste campo. Exemplo: Suponha que seu
relatório possua as queries: Query1, Query2, Query3 e Query4. Para aplicar o filtro somente às
queries 2 e 4, coloque no campo: Query2, Query4.

Valor Padrão: Defina o valor padrão para o filtro do relatório. Quando o usuário for visualizar
o relatório, este valor estará previamente cadastrado no filtro.
Para informar valor padrão para filtros do tipo Data/Hora, informe no formato aaaa-mm-dd
hh:nn:ss (ano-mês-dia hora:minuto:segundo), sendo a informação da hora, minuto e segundo
opcional. Para estes campos ainda existem duas funções especiais: coloque DATE para que o
valor padrão seja a data atual do sistema e NOW para data e hora atual. Estas funções
aceitam ainda a digitação de expressões matemáticas, do tipo DATE - 30 ou DATE + 30.

SQL: O Engeman® automaticamente constrói as instruções SQL para mostrar a pesquisa dos
filtros criados. Entretanto, nesta opção você pode definir uma instrução diferente da criada
pelo sistema, acrescentando ou removendo os campos de visualização.

Não diferenciar Maiúscula de Minúscula: Se este item estiver marcado, o sistema não
considerará letras maiúsculas de minúsculas nos campos de filtros personalizados. Ex.
Suponhámos que seja cadastrado um filtro Aplicação e não seja marcado para não diferenciar
maiúsculas de minúsculas. Se durante o preenchimento do filtro do relatório for digitado
CAM-01 e no cadastro deste item ele tenha sido realizado como Cam-01. O sistema não o
localizará, pois está diferenciando maiúscula de minúsculas. Mas se for marcado para Não
diferenciar Maiúscula de Minúscula então o filtro considerará "Cam-01" como se fosse
"CAM-01" no campo em referênmcia.
Personalização de Menu Personalização de Menu de Relatórios
Esta tela é responsável pela organização do sub-menu RELATÓRIOS, a partir do menu
PERSONALIZADO. Através desta funcionalidade, os relatórios podem ser acessados
diretamente do menu do sistema, sem antes terem que ser localizados no editor de relatórios.
Os relatórios acessados com freqüência devem ser configurados de forma a serem
apresentados neste menu, facilitando seu acesso rapidamente.
Além de permitir a configuração de acesso aos relatórios rapidamente, de uma forma fácil e
intuitiva, esta tela também permite que sejam criados sub-níveis de agrupamento para os
relatórios mais comuns. Por exemplo: pode-se criar um sub-menu de nome Gráficos e associar
a ele todos os relatórios do tipo gráfico. Crie outro sub-menu de nome Relatórios Gerenciais e
coloque nele os relatórios de origem gerencial.
Como configurar:
1) Crie os agrupamentos, clicando no botão ou pressionando CTRL + Seta para Baixo, ou
pressionando a tecla INSERT. Um novo item aparecerá. Digite um nome significativo para o
agrupamento. Para criar sub-menus a partir de um item, clique no botão ou pressione
CTRL + Seta para Direita. Da mesma forma anterior, dê um nome significativo ao seu
menu criado.
2) Após criar todo o agrupamento desejado, arraste os relatórios da direita sobre o item do
menu destino. Somente um relatório poderá ser arrastado por vez. Para facilitar a
localização dos relatórios na lista, digite no campo filtro a palavra chave de localização.
Tanto o código quanto a descrição do relatório serão utilizadas como critério de
classificação.
3) Para alterar os nomes de itens de menu já criados, pressione a tecla F2 sobre o item ou
pressione o botão editar da barra de ferramentas. Existem algumas operações
pré-configuradas para auxiliar a edição dos nomes dos relatórios. Pressione o botão direito
do mouse sobre um relatório em sua estrutura de menus e escolha uma das opções que
aparecerão.
4) Para gravar suas configurações, clique no botão salvar, na barra de ferramentas, ou
pressione CTRL+B.
5) Para alterar a hierarquia de um item de menu, clique no item e arraste-o à direita do novo
item. Desta forma, ele será inserido como um "filho" do menu escolhido.
6) Para alterar a imagem (ícone) associada, clique no botão "alterar ícone". Escolha uma
imagem e aplique-a. A imagem deve possuir tamanho máximo de 16x16 pixels. Se ela for
maior que estas dimensões, ela será automaticamente ajustada. Os seguintes tipos de
imagem são aceitos: .ico, .jpg, .jpeg, .bmp, .gif. No caso de imagens .ico o sistema não
conseguirá ajustar a imagem para as dimensões máximas, mas cortará a área visível dela
para estas dimensões. A imagem associada será exibida no menu personalizado e na barra
de ferramentas do sistema, se este item for incluído nela.

Observações
Todos os itens podem ter sua localização alterada, bastando para isto clicar sobre ele, arrastar
e soltar na nova localização desejada.
Os relatórios também podem ser personalizados diretamente, apenas arrastando-os para a
esquerda, sem criar itens de menu.
Os relatórios customizados podem ter sua descrição totalmente alterada. Não há necessidade
da descrição ser exatamente como a do relatório original. Entretanto, há como reverter o
nome digitado para o nome original, clicando com o botão direito do mouse sobre o item e
selecionando esta opção.
Pode-se obter barras de separação entre os relatórios, sem a criação de sub-níveis de menus.
Para isso, insira um novo item de menu e coloque na sua descrição o sinal de menos "-" (sem
as aspas). Automaticamente o ícone do menu será alterado para uma barra horizontal,
indicado que ele terá a função de um separador de menus.

Página 191 de 478


Editor de Relatórios Editor de Relatórios
Tópicos Básicos
 Definição dos termos
 Seções do relatório (bandas do relatório)
 Elementos do Relatório
 Menu" Exibir|Opções"
 Menu" Relatório|Opções"
 Editando as propriedades de um elemento
 Usando o mouse e o teclado
 Configurando molduras dos elementos

Banco de Dados
 Manipulação da base de dados do relatório

Exemplos passo a passo


 Criando um novo relatório com o assistente

Bandas do Relatório
 Bandas Básicas (Título, Detalhe ...)
 Banda de SubDetalhe
 Banda de Grupo
 Banda Filha

Elementos do Relatório
 Label (Etiqueta)
 Campo de Dados
 Memo
 Imagem
 Imagem do campo de dados
 Campo de expressão
 Figura
 Campo do sistema
 Richtext
 Richtext de campo de dados
 Código de Barras
 Gráficos

Tópicos Avançados
 Formatação de campos numéricos e campos de data e hora
 Sintaxe das expressões
 Uso de parâmetros do SQL

Menu Relatórios/Opções Opções do Relatório


As opções do relatório são divididas em duas áreas distintas, como mostram as figuras abaixo:
Na primeira guia estão as configurações do layout da página. Informe o tamanho do papel,
margens e orientação. Configure também o número de colunas do relatório e o espaçamento
entre elas.

Nesta segunda guia de configurações, informe o nome do relatório e uma descrição genérica

Página 193 de 478


que identifica o objetivo do relatório.

Criando um Novo Relatório com o Assistente Criando um Novo Relatório com o


Assistente
Escolha a opção do menu Arquivo/Novo ou clique no botão da barra de ferramentas. O
assistente de criação de relatório será exibido. Através do assistente você cria relatórios
simples rapidamente. Observe que o assistente somente poderá ser usado para novos
relatórios.

O assistente de relatórios perguntará o tipo de relatório que você deseja criar. Se você
escolher a opção" Novo relatório em branco" então o assistente será finalizado e um novo
relatório será exibido para ser configurado. Neste caso, você terá que criar as bandas, dataset
e componentes manualmente. Escolhendo qualquer outra das opções acima, o assistente irá
continuar a configuração como mostrado abaixo. Neste exemplo, escolheremos a opção" Estilo
lista".
Na próxima etapa, clique no botão "Novo" e em seguida no botão "Query".

Ítem 1: Informe o nome da Query do relatório.


Ítem 2: Escolha o Banco de dados que você possui.
Ítem 3: Digite a query para a obtenção do seu relatório. Neste exemplo, estaremos utilizando
o assistente para a criação de um relatório de listagem de serviços, bem simples.
Ítem 4: Defina os parâmetros da Query do relatório, caso existir.
Ítem 5: Defina a Query master do relatório. Por padrão, a Query master de um relatório é
sempre a Query "Empresa". Caso o relatório a ser criado possuir mais de uma Query, a master
poderá ser uma Query já existente diferente da "Empresa".

A seguir, serão exibidos, à esquerda, os campos disponíveis para serem incluídos no layout do
relatório. Arraste os campos para a lista da direita para usar os campos. A ordem de cima para
baixo é correspondente à ordem de posicionamento dos campos da esquerda para a direita,
quando os componentes de campos de dados forem acrescentados ao layout do relatório. Para

Página 195 de 478


mudar a ordem dos campos, arraste-os para cima ou para baixo.

Escolha quais bandas o assistente criará para o seu relatório.

Informe o título do relatório, em quantas colunas a página será dividida e o espaçamento entre
elas. Se o seu relatório contiver muitos campos, escolha a opção de orientação "Horizontal"
para um melhor ajuste. Em outros casos, a orientação "Vertical" é a mais indicada.
Escolha a fonte a ser utilizada para o cabeçalho das colunas e para os campos de dados. A
fonte "Courier New" possui uma característica interessante porque todas as letras possuem a
mesma distância de separação, o que não ocorre com a grande maioria das fontes do
Windows. Por exemplo, nas fontes comuns, o espaço ocupado para a letra "i" é bem menor
que o espaço ocupado pela letra "m". Informe também se os seus dados serão delimitados por
linhas ou não, marcando as caixas de verificação correspondentes.

Clique em Visualizar para verificar a aparência do relatório. Clique em finalizar para


verificar como seu relatório ficou construído. Para alterar qualquer das opções anteriores,
clique no botão "Anterior".

Página 197 de 478


Seu relatório deverá ter ficado como mostra a figura acima. Quaisquer modificações
necessárias podem ser feitas manualmente no layout ou nos dados do relatório. Faça as
modificações necessárias e consulte a visualização do relatório para aprovação do resultado
final.

Manipulação da Base de Dados Base de Dados do Relatório


Para entrar no ambiente de dados do editor de relatórios, use o menu Relatório/Base de
Dados. Uma tela semelhante a esta mostrada abaixo será exibida. Todo relatório deve ser
baseado em uma ou mais queries. Existirá sempre uma query padrão no sistema chamada
"Empresa", que contém as informações da empresa de trabalho corrente. Esta query não pode
ser excluída ou editada.

A query principal do relatório deverá ser selecionada na opção "Conjunto de dados master do
relatório".
Para criar uma nova query, clique sobre o botão Nova Query. Para editar uma query
existente, clique no botão Propriedades ou dê um duplo clique sobre ela. Para excluir uma
query, selecione-a e clique no botão Excluir.

Propriedades da Query Propriedades da Query


Uma query do relatório é um conjunto de instruções numa linguagem de banco de dados para
obter as informações para este relatório em específico. Esta documentação não pretende
aprofundar sobre o conjunto de instruções necessários para a construção de queries a todos os
bancos de dados, mas sim mostrar as funcionalidades do editor de relatórios. O conhecimento
da linguagem SQL é um pré-requisito para a construção de relatórios no Engeman.

Opções Básicas
Informe o nome da Query. A base ou caminho deverá ser sempre EngemanX - base padrão
para o banco do Engeman.
Instrução SQL
O Engeman trabalha com três bancos de dados distintos: Oracle, Microsoft SQL Server e
Interbase. Cada um deles possui características específicas para a criação dos comandos,
funções e operadores utilizados no SQL. Por isso, existem 4 áreas de criação da estrutura SQL,
sendo uma para cada banco e uma geral (quando a instrução atende aos três bancos, sem
distinção). Isto é importante, porque você pode ter um mesmo layout de relatório para várias
queries diferentes, uma para cada banco de dados. No momento da execução do relatório, o
sistema escolherá a query correta de acordo com o seu banco de dados.
Assistente de Query: Utilize esta opção em último caso, quando você estiver criando um
relatório baseado numa query bem simples e baseada em uma única tabela. Ele possui um
mecanismo de ordenação e filtragem dos dados de forma simplificada, porém extremamente
limitado. Recomendamos sempre a digitação dos comandos SQL diretamente no texto
destinado ao seu banco de dados.

Página 199 de 478


Preparando a query para ser modificada por um filtro personalizado do usuário
Uma query pode ser modificada externamente por um filtro configurado pelo usuário, no editor
de filtros do relatório. O sistema automaticamente procura pela melhor posição de alterar as
instruções, entretanto, em alguns casos, é necessário estabelecer exatamente a posição onde
o sistema incluirá as instruções de filtro (principalmente em queries que possuem mais de uma
instrução select, como nas unions ou sub-queries.). Neste caso, coloque a cláusuna 0=0
(zero=zero) no local aonde deseja que o filtro seja inserido. Não dê espaços entre os zeros e o
sinal de igual. Veja o exemplo abaixo:
SELECT TAG FROM CAUSA WHERE 0=0
Quando colocado o filtro externo '001', a query será substituída por:
SELECT TAG FROM CAUSA WHERE (CAUSA.TAG='001')
Conjunto de Dados Master
Suponha que você esteja fazendo uma consulta das O.S. emitidas para uma determinada
empresa. Neste caso, todas as O.S. emitidas devem depender da empresa corrente. Neste
caso, quando há relação dos dados da query corrente com outra query, informe no campo
master o nome desta query. Neste exemplo, informe empresa para o campo master.
Entretanto, só esta configuração não será suficiente para dizer ao editor que a query corrente
dependerá dos dados de uma query master. Para isso, é necessário também configurar os
parâmetros da query corrente.

Parâmetros da Query
Parâmetros SQL

Os parâmetros de uma query são campos de filtro setados durante a execução do relatório.
Eles podem ter o seu valor alterado diretamente pelo usuário antes da emissão do relatório,
ter os dados copiados de um conjunto de dados master da query ou mesmo terem um valor
determinado.
Para indicar que uma query terá parâmetros, coloque na instrução SQL o nome do parâmetro
precedido de dois pontos. Veja o exemplo da query abaixo, onde são colocados 3 parâmetros,
sendo que um será configurado para obter o valor automaticamente do conjunto de dados
master e os outros serão digitados pelo usuário no momento da execução do relatório.
SELECT TAG, DATPRO2
FROM ORDSERV
WHERE CODEMP=:CODEMP
AND DATPRO2 BETWEEN :DATA_INICIAL AND :DATA_FINAL
ORDER BY 1

Esta query lista o código e data programada da O.S., somente para a empresa atual e para
uma determinada data informada pelo usuário. Após a digitação desta instrução SQL no
relatório, informe o conjunto de dados master para a query empresa e depois clique no
botão" parâmetros" e informe as seguintes configurações:
Veja que o parâmetro codemp possui o tipo de dados float (mesmo tipo do campo
ORDSERV.CODEMP) e foi configurado para atribuir o seu valor do conjunto de dados master.

Selecione agora o parâmetro data_inicial e coloque no tipo de dados DateTime (mesmo tipo
do campo ORDSERV.DATPRO2) e selecione a opção de verificação do valor antes de imprimir.
Faça o mesmo com o parâmetro data_final e pressione o botão OK.
A utilização da opção "Valor:" é raramente usada. Fazendo isto, o relatório será sempre
exibido para o parâmetro setado para este valor.
Ao ser executado, este relatório automaticamente pegará o código da empresa corrente e
substituirá o campo da query :codemp pelo valor do campo empresa.codemp. Logo a seguir,
uma caixa de diálogo será exibida pedido a digitação de uma data_inicial e data_final para o
usuário, que obrigatoriamente deverá informar.

Os parâmetros que têm seu valor atribuído de um conjunto de dados master têm que ter o
mesmo nome do campo da query master. Se a tabela master empresa possui um campo
correspondente ao código da empresa atual de nome codemp então o parâmetro tem que se
chamar codemp.
Os parâmetros que têm seu valor verificados antes da impressão do relatório podem ter

Página 201 de 478


qualquer nome.
Os nomes dos parâmetros não devem possuir espaços ou acentuação.
Veja a simulação seguinte:
Suponha que o código da empresa corrente seja 1 e que o usuário informou as datas do
parâmetro data_inicial = 01/01/2001 e data_final = 31/01/2001. Antes de ser aberta, a query
seria automaticamente convertida para:
SELECT TAG, DATPRO2
FROM ORDSERV
WHERE CODEMP=1
AND DATPRO2 BETWEEN '01/01/2001' AND '31/01/2001'
ORDER BY 1

Banda de Grupo Banda de Grupo


Uma banda de grupo é usada para estruturar os dados em grupos de registros. Por exemplo,
se você quiser imprimir uma lista de clientes por bairro, você pode dar um espaço maior entre
os grupos de clientes por bairro, com a letra do bairro em destaque no início de cada listagem.
É possível também começar uma nova nova página a cada novo grupo impresso.

Internamente, os grupos são manipulados da seguinte forma: Antes de um dado ser impresso,
o mecanismo do relatório verifica se o resultado da expressão do grupo é diferente do
resultado da última impressão. Se é este o caso, a banda de grupo será impressa, senão, não
será impressa. Desta forma, os dados podem ser agrupados com grande flexibilidade, porque
você poderá usar expressões de qualquer natureza de cálculo.
As seguintes opções estão disponíveis:
Master: define qual é a query master para a banda de grupo.
Cor: define a cor de fundo para a banda de grupo.
Expressão: Esta expressão define se a banda de grupo será impressa ou não. A banda será
impressa a cada vez que o resultado da expressão mudar.

Impressão:
 Forçar nova página: começa uma nova página a cada vez que o grupo mudar.
 Forçar nova coluna: começa uma nova coluna a cada vez que o grupo mudar.
 Final da página: move a banda para o final da página antes de imprimí-la.
 Reimprimir em nova página: sempre que a listagem dos detalhes de um grupo ultrapassar
uma página, a banda de grupo será reimpressa no início da nova página.

Banda Rodapé: informe o nome da banda de rodapé. Uma banda de rodapé já deverá ter
sido criada. A banda de rodapé informada será impressa ao final de cada grupo.
Moldura: uma moldura pode ser impressa ao redor de toda a banda. Você poderá escolher
quais linhas serão impressas e em qual cor, estilo e largura a moldura será impressa.

Labels (Etiquetas) Labels (Etiquetas)


Um label ou etiqueta é usado para imprimir um texto estático, ou seja, imprimir exatamente o
que se vê durante a confecção do relatório. Geralmente, é usado como título do relatório, título
dos campos e outras informações estáticas.

As seguintes opções estarão disponíveis:


Texto: digite no primeiro campo do formulário a descrição da etiqueta. Você poderá escrever
somente uma linha de texto para etiquetas. Quando for necessário escrever mais de uma
linha, utilize o elemento memo.
Rotação: especifique o grau de rotação do seu texto. Qualquer valor entre 0 e 360 graus
podem ser informados.
Fonte: selecione a fonte do elemento. Esta opção também pode ser setada diretamente pela
barra de ferramentas, quando o elemento estiver selecionado.
Cor: define a cor de fundo da etiqueta.

Página 203 de 478


Alinhamento: uma etiqueta pode ser alinhada à esquerda, centralizada ou à direita.
Geralmente, o alinhamento mais utilizado é o à esquerda. Entretanto, quando usamos uma
etiqueta para informar o cabeçalho de campos do tipo numérico, costumamos alterar o
alinhamento para à direita, porque o campo numérico geralmente também é alinhado à direita.
Desta forma, obtemos vírgula debaixo de vírgula, facilitando a visualização e conferência dos
valores do relatório.
Alinhamento de palavras: esta opção é usada para que o texto seja automaticamente
distribuído pelas linhas da etiqueta, se uma só linha não comportar toda a largura do texto.
Transparente: o fundo deste elemento não será impresso caso esta opção esteja marcada.
Desta forma, você pode colocar um elemento sobre outro, sem esconder o conteúdo do
elemento que estiver por trás.
Ajustar Largura: esta opção faz com que o elemento tenha sua largura automaticamente
ajustada para comportar todo o texto digitado.
Autoajustar Altura: semelhante à opção anterior, esta opção fará com que o elemento
aumente sua altura para comportar todo o texto. Se necessário, a banda à qual o elemento
está inserido também terá sua altura aumentada para comportar o elemento.

Campo do Sistema Campo do Sistema


Use este elemento para exibir várias formatações automáticas do sistema operacional, como a
data e hora corrente, o número das páginas, etc.

As seguintes opções estarão disponíveis:


Texto: o texto digitado neste campo será mostrado à esquerda do valor real deste elemento.
Por exemplo, você pode usar o texto" Relatório impresso em:" e selecionar o tipo" Horas"
Tipo: tipo de dado do sistema para imprimir. Os seguintes tipos são disponíveis:
 Data: a data corrente do sistema operacional
 Horas: a hora corrente do sistema operacional
 Data/Horas: a data e hora corrente do sistema operacional
 Contador Detalhe: o número total de registros
 Número Detalhe: número do registro atual que está sendo impresso
 Número Página: a página corrente que está sendo impressa
 Título Relatório: o título do relatório setado em" Relatório/Opções"

Ajustar Largura: esta opção faz com que o elemento tenha sua largura automaticamente
ajustada para comportar todo o valor do campo.
Transparente: o fundo deste elemento não será impresso caso esta opção esteja marcada.
Desta forma, você pode colocar um elemento sobre outro, sem esconder o conteúdo do
elemento que estiver por trás.
Fonte: selecione a fonte do elemento. Esta opção também pode ser setada diretamente pela
barra de ferramentas, quando o elemento estiver selecionado.
Cor: define a cor de fundo do elemento.

RichText RichText
O componente de richtext ou richedit é um elemento do relatório que pode exibir textos com
várias linhas formatadas, com diferentes fontes, cores e formatações, assim como ocorre num
editor de textos.

Digite o texto e use todas as formatações disponíveis, como se estivesse usando um editor de
textos. Quando terminar sua edição, escolha a opção Arquivo/Sair para retornar ao editor do
relatório.

Código de Barras Código de Barras


Utilize este elemento para imprimir um código de barras baseado ou não em um campo do
banco de dados.

As seguintes opções estarão disponíveis:

Dataset e Campo: os dois primeiros e mais importantes campos desta caixa de diálogo

Página 205 de 478


referem-se ao dataset (query ou tabela) origem do campo e o nome do campo. No exemplo
acima, o dataset = query1 e o nome do campo = tag.
Tipo de código de barras: escolha o tipo do código de barras. Existem várias opções de
codificação disponíveis.
Zona de limpeza: selecione se a codificação utilizará o clear zone.
Texto: caso o componente seja utilizado para imprimir um código de barras fixo,
independente do banco de dados, digite no texto o código correspondente a ser codificado para
código de barras.

Gráficos
Gráficos

Utilize o elemento "gráfico" para inserir gráficos arrojados ao seu relatório.

Séries do Gráfico
A primeira página do editor de gráficos apresenta a configuração das séries do gráfico. Um
gráfico é composto de uma ou mais séries
 Adiciona: adiciona uma nova série ao seu gráfico. Existem inúmeras opções de séries, cada
uma com um objetivo individual de exibição. Algumas séries somente funcionam para
determinadas formatações de dados, como o gráfico de pizza, que exige somente uma
coluna de dados e outra de texto. Dentro de cada série existem várias sub-séries que são
apenas formas diferentes de visualização de um tipo de série. Existem ainda séries
baseadas em funções calculadas sobre outras séries, como média móvel, momento, etc.
Veja a figura abaixo para um exemplo de série e sub-série:
Diferentes tipos da série "Barra"

 Apaga: apaga a série selecionada.


 Título: modifica o título da série. Este título poderá ser usado na legenda de seu gráfico.
 Clone: cria uma cópia da série selecionada.
 Altera: altera o tipo da série.

Dados do Gráfico
A segunda etapa na configuração de cada série, é associá-la ao banco de dados do relatório.
Para isso, selecione a guia "Séries" e dentro dela, selecione a guia "Data Source". Veja no
exemplo abaixo que estamos usando a primeira série "Horas Previstas", com o tipo de dados
de "Registro único" e o datasource (origem dos dados) será o "DataSource1" que é o valor
padrão para todos os relatórios baseados em gráfico. Existem vários tipos de de dados
disponíveis descritos a seguir:
 Manual: o gráfico usará a fonte de dados interna dele, não usando a base de dados do
relatório. Esta opção raramente deverá ser usada.
 Aleatório: o gráfico usará uma fonte de dados aleatória somente para testes do layout.
 Função: o gráfico usará cálculos matemáticos sobre outra série já existente e copiará o

Página 207 de 478


resultado para a série atual.
 Registro único: quando os dados do relatório resultam em um único registro com vários
campos. Esta é a opção ideal para gráficos de barra do tipo comparativo previsto x real
aonde existem várias séries e as séries estão em forma de coluna (campos) da consulta.
Nosso exemplo está usando esta modalidade.
 Sumário: calcula vários tipos de somatório ou média nos dados do relatório, baseados num
período que pode ser anual, mensal, etc.
 Dataset: Baseia o gráfico quando as séries estão baseadas nas linhas da consulta. Pode ser
usado na maioria dos relatórios. Exemplos: relatórios de progressão mês a mês, tendência
de valores, etc.

Existem diversas configurações adicionais para os gráficos que são apenas destinadas ao seu
layout. Percorra as várias guias do relatório e verifique qual das configurações será a mais
adequada para atingir seu objetivo.

Tópicos Básicos Tópicos Básicos

Definição de Termos
Seções do Relatório
Elemento do Relatório
Menu Exibir/Opções
Menu Relatórios/Opções
Editando as Propriedades de um Elemento
Usando o Mouse e o Teclado
Configurando Molduras do Elemento

Definição dos Termos Usados no Editor de


Definição dos Termos

Relatórios
Relatório (Report)
O termo" relatório" descreve a forma de imprimir os dados cadastrados no sistema. O relatório
personaliza a forma de impressão (layout, fonte, arranjo dos campos, etc.). Por exemplo, se
você quiser imprimir uma lista de clientes, você pode usar o editor de relatórios para escolher
quais os campos do cliente serão impressos, em qual fonte e em qual ordem. Um relatório
pode ser impresso na impressora, visualizado no vídeo, gravado em vários formatos de
arquivo de imagem e enviados diretamente por e-mail.
Tabela (Table)
Um arquivo com registros do mesmo tipo é chamado de tabela, como um arquivo de
informações sobre clientes, fornecedores, etc.
Consulta (Query)
Uma consulta ou mais conhecida como query (do inglês consulta), consiste em instruções SQL
que são usadas para acessar registros de uma ou mais tabelas num banco de dados. SQL
significa Structure Query Language ou Linguagem de Consulta Estruturada. É um tipo de
linguagem de programação para bancos de dados.
Conjunto de Dados (Dataset)
Um dataset é um termo genérico para designar uma tabela ou uma consulta.
Banco de Dados (Database)
Consultas e tabelas podem ser agrupadas em um banco de dados, que pode ser local ou
remoto em um outro servidor numa rede. Um banco de dados é o conjunto de todas as tabelas
referentes ao sistema Engeman.
Apelidos (Alias)
São apelidos dados aos bancos de dados para uma forma mais rápida de acesso ao caminho
do banco de dados. Os apelidos são definidos através do arquivo de configuração .INI

Seções do Relatório Seções do Relatório - Bandas


A imagem abaixo mostra a primeira página de um relatório bem simples, que mostra os
países, suas capitais e sua população. Este relatório pode ser dividido em várias seções:

Página 209 de 478


Estas seções são chamadas de "bandas". Por exemplo, existe uma banda de rodapé que
aparece impressa para informar o número das páginas. A banda de título aparece somente na
primeira página. A banda de cabeçalho aparece no topo de todas as páginas e a banda de
detalhe imprime os dados do relatório. A banda de detalhe é a banda mais importante. Sem
ela nenhum relatório exibirá os valores da consulta. O layout da banda de detalhe é o mesmo
para cada registro, portanto, ele é criado somente uma vez e reimpresso para cada registro da
consulta. Quando o número de registros é grande demais para ser comportado em uma
página, uma outra página é criada automaticamente para continuar exibindo os registros
restantes.

Elemento do Relatório Elementos do Relatório


Assim como as bandas do relatório o dividem em seções lógicas, um relatório é constituído de
elementos colocados nas bandas. Estes elementos definem o que é exatamente impresso em
cada banda.
Os dois elementos mais importantes de um relatório são os labels e os campos de dados.
Labels ou etiquetas são usadas para imprimir texto - por exemplo - o título dos campos e
relatório. Não há ligação entre os labels e os dados do banco de dados. Campos de dados são
os valores dos campos obtidos pela query do relatório. Quando você cola um componente de
campo de dados no relatório, é necessário escolher para qual campo o componente obterá o
seu resultado. A cada linha do relatório, o banco de dados retorna um valor diferente para o
campo, de acordo com os registros da query.

Geralmente, para cada campo de dados são colocados labels como títulos dos campos no
cabeçalho da página. Veja no editor de relatórios como foram colocados os componentes para
a exibição do relatório acima:

Os seguintes tipos de elementos estão disponíveis para a criação do relatório:

Página 211 de 478


 Campos de Dados para mostrar o conteúdo dos campos de uma query
 Labels (etiquetas) para mostrar textos e etiquetas de campos
 Campo do sistema (data, hora, número de páginas, ...)
 Figuras (círculos, retângulos, linhas)
 Imagem (Figuras de bitmap)
 Imagens de campos de dados - para obter imagens a partir de um campo da query, como
o logotipo da empresa.
 Expressão (Campos calculados, funções matemáticas, ...)
 Memo - Texto com várias linhas, sem formatação.
 RichEdit (Texto com várias linhas e formatações)
 RichEdit de campo de dados - Texto a partir do campo da query, como observações da
aplicação.
 Gráfico
 Código de Barras

Menu Exibir/Opções Opções de Edição


As opções de edição do relatório são usadas para configurações do ambiente de trabalho, não
interferindo no layout do relatório.

Mostrar régua
Ative esta opção para mostrar linhas de grid enquanto estiver editando o relatório. Estas linhas
facilitam a movimentação e alinhamento dos elementos do relatório. Selecione a unidade de
medida da régua. As opções possíveis são: milímetros, polegadas e caracteres.
Mostrar o nome das bandas
Marque esta opção para mostrar o nome das bandas em tempo de desenvolvimento. O nome
das bandas, obviamente, não será impresso juntamente com o relatório. Informe a fonte para
mostrar o nome das bandas.

Tamanho do grid
Determine o tamanho do grid "invisível" usado para alinhamento automático dos elementos
durante a edição do relatório. O auto-alinhamento é usado para facilitar a movimentação e
alinhamento dos elementos do relatório na mesma posição vertical e horizontal.
Tamanho do grid do teclado
Praticamente, é o mesmo que a configuração anterior, exceto que será usado para
movimentação dos objetos pelo teclado.

Mostrar molduras em tempo de projeto


Se esta opção estiver ativa, bordas serão desenhadas ao redor de cada elemento do relatório
em tempo de desenvolvimento. Desta forma, os elementos do relatório podem ser exibidos de
forma mais distinta. Obviamente, as bordas serão impressas somente enquanto você estiver
editando o relatório e não serão impressas.

Configurando Molduras do Elemento Molduras dos Elementos


Utilize esta barra de ferramentas para configurar rapidamente a moldura (algumas vezes
chamada de borda) dos elementos do relatório.
Uma moldura pode ser aplicada praticamente a qualquer elemento do relatório, seja uma
banda, campo de dados, figura, label, etc.

Operação:
 Selecione o(s) elemento(s) e clique no botão "configurar moldura".
 Escolha a posição das linhas: topo, base, esquerda, direita
 Selecione a cor da moldura
 Selecione a Largura
 Selecione o estilo da moldura

Bandas do Relatório Bandas do Relatório


Bandas Básicas
Banda de SubDetalhe
Banda de Grupo
Banda Filha

Bandas Básicas Bandas Básicas


Todas as bandas de relatório padrão são adicionadas com o mesmo botão da barra de
ferramentas. A diferenciação será realizada pela propriedade Tipo, descrita a seguir.

Página 213 de 478


Os seguintes tipos de banda disponíveis são:
 Título: a banda de título será impressa na primeira página do relatório como título do
relatório.
 Cabeçalho de página: o cabeçalho de página é impresso no topo de cada página do
relatório.
 Cabeçalho de coluna: o cabeçalho de coluna é usado em relatórios que possuem múltiplas
colunas, setado em "Relatório/Opções".
 Detalhe: a banda de detalhe é a banda mais importante do relatório. É impressa para cada
registro do banco de dados. Todos os relatórios devem possuir uma banda de detalhe.
 Cabeçalho de grupo: mesmo que esta opção apareça na lista, ela não deve ser utilizada.
 Rodapé do grupo: o rodapé do grupo é impresso ao final de um grupo, antes que o
próximo grupo comece. Veja mais detalhes sobre a banda de rodapé de grupo no tópico
banda de grupo.
 Totalizadora: a banda totalizadora é impressa ao final do relatório, depois de todos os
dados terem sido impressos.
 Rodapé: o rodapé é impresso ao final de cada página do relatório.

As propriedades para as bandas básicas, sejam elas de quais tipo forem, são as mesmas. As
seguintes opções são:
Tipo: tipo da banda (veja acima)
Cor: define a cor de fundo da banda.
Impressão:
 exceto na primeira página: imprime a partir da segunda página
 exceto na última página: não imprime na última página do relatório.
 somente páginas pares: imprime somente quando o número da página for par
 somente páginas ímpares: imprime somente quando o número da página for ímpar
 no final da página: move a banda para o final da página antes de imprimí-la
 forçar nova página: inicia uma nova página antes de imprimir a banda
 forçar nova coluna: inicia uma nova coluna antes de imprimir a banda
Imprimir somente se a expressão for verdadeira: uma expressão pode ser usada para
determinar quando a banda deve ser impressa ou não. A expressão deve resultar numa lógica
true (verdadeira) ou false (falsa). Pressione o botão ao final do campo para usar o assistente
de construção de expressões.
Moldura: uma moldura pode ser impressa ao redor de toda a banda. Você poderá escolher
quais linhas serão impressas e em qual cor, estilo e largura a moldura será impressa.

Banda de SubDetalhe Banda de Subdetalhe


Uma banda de subdetalhe é um tipo de banda de detalhe, mas é subordinada à verdadeira
banda de detalhe. Por exemplo, se você quiser imprimir uma lista de O.S. e abaixo o registro
de funcionários relacionado àquela O.S., você deveria usar uma banda de detalhe para
imprimir o código da O.S., sua data de emissão, etc., e conectar uma banda de subdetalhe
para imprimir a lista dos funcionários que trabalharam nesta O.S., assim a lista de diferentes
funcionários seria listado abaixo de cada número de O.S. Verifique que, para usar este tipo de
conexão, é necessário criar uma base de dados com duas queries, do tipo master-detalhe.

As seguintes opções são usadas para a banda de subdetalhe:


Conjunto de dados: este é o dataset usado pela banda de subdetalhe.
Cor: Define a cor de fundo da banda.
Master: é o dataset superior à banda de subdetalhe. Para cada registro no dataset master,
uma lista de subdetalhe é impressa.
Imprimir somente se a expressão for verdadeira: uma expressão pode ser usada para
determinar quando a banda deve ser impressa ou não. A expressão deve resultar numa lógica
true (verdadeira) ou false (falsa). Pressione o botão ao final do campo para usar o assistente
de construção de expressões.

Impressão:

Página 215 de 478


 antes da banda detalhe master: Imprimir o subdetalhe antes de imprimir a banda de
detalhe.
 no final da página: move a banda de subdetalhe para o final da página antes de imprimí-la.
 imprimir cabeçalho/rodapé se arquivo vazio: o cabeçalho e rodapé da banda de subdetalhe
será impresso mesmo se não houver registros a serem impressos na banda de subdetalhe.
 forçar nova página: inicia uma nova página antes de imprimir a banda
 forçar nova coluna: inicia uma nova coluna antes de imprimir a banda

Banda cabeçalho: esta banda será impressa como cabeçalho da banda de subdetalhe.
Banda rodapé: esta banda será impressa como rodapé da banda de subdetalhe.
Moldura: uma moldura pode ser impressa ao redor de toda a banda. Você poderá escolher
quais linhas serão impressas e em qual cor, estilo e largura a moldura será impressa.

Banda Filha Banda Filha


Uma banda filha é uma banda que está anexada a outra banda do relatório e será sempre
impressa abaixo da banda pai. Desta forma, você poderá imprimir uma banda adicional após
cada banda de detalhe, por exemplo. A vantagem de usar uma outra banda ao invés de
aumentar o tamanho da banda pai é que podem existir quebras de página entre elas, se
necessário. Outra vantagem é que uma banda filha pode ser impressa independente de sua
banda pai, mesmo se a banda pai não for impressa (no caso do campo "imprimir somente se a
expressão for verdadeira" retornar falso).
Você tem que usar bandas filhas se quiser colocar elementos com a opção "autoajustar altura
com a banda" (veja tópico editando as propriedades de um elemento) e imprimir outros
elementos abaixo dele. Neste caso coloque todos os elementos que serão impressos abaixo do
elemento que terá seu tamanho modificado com a banda numa banda filha.

As seguintes opções estão disponíveis:


Banda pai: a banda à qual a banda filha está subordinada.
Cor: define a cor de fundo para a banda filha.

Impressão:
 exceto na primeira página: imprime a partir da segunda página
 somente páginas pares: imprime somente quando o número da página for par
 somente páginas ímpares: imprime somente quando o número da página for ímpar
 no final da página: move a banda para o final da página antes de imprimí-la
 forçar nova página: inicia uma nova página antes de imprimir a banda
 forçar nova coluna: inicia uma nova coluna antes de imprimir a banda

Imprimir somente se a expressão for verdadeira: uma expressão pode ser usada para
determinar quando a banda deve ser impressa ou não. A expressão deve resultar numa lógica
true (verdadeira) ou false (falsa). Pressione o botão ao final do campo para usar o assistente
de construção de expressões.
Moldura: uma moldura pode ser impressa ao redor de toda a banda. Você poderá escolher
quais linhas serão impressas e em qual cor, estilo e largura a moldura será impressa.

Elementos do Relatório Elementos do Relatório

Labels (Etiqueta)
Campo de Dados
Memo
Imagem
Imagem do Campo de Dados
Campo de Expressão
Figura
Campo do Sistema
Rich Text
Rich Text de Campo
Código de Barras
Gráficos

Campo de Dados Editor de Relatórios - Campo de Dados


Um campo de dados mostra o conteúdo dos campos de um dataset. O campo pode possuir
qualquer tipo de dados - numérico, texto, data.

Página 217 de 478


As seguintes opções estarão disponíveis:
Dataset e Campo: os dois primeiros e mais importantes campos desta caixa de diálogo
referem-se ao dataset (query ou tabela) origem do campo e o nome do campo. No exemplo
acima, o dataset = query1 e o nome do campo = tag.
Alinhamento: um campo de dados pode ser alinhado à esquerda, centralizada ou à direita.
Geralmente, o alinhamento mais utilizado é o à esquerda. Entretanto, quando usamos um
campo de dados para informar um campo numérico, o alinhamento padrão é o à direita.
Fonte: selecione a fonte do elemento. Esta opção também pode ser setada diretamente pela
barra de ferramentas, quando o elemento estiver selecionado.
Cor: define a cor de fundo do elemento.
Alinhamento de palavras: esta opção é usada para que o texto seja automaticamente
distribuído pelas linhas da etiqueta, se uma só linha não comportar toda a largura do texto.
Transparente: o fundo deste elemento não será impresso caso esta opção esteja marcada.
Desta forma, você pode colocar um elemento sobre outro, sem esconder o conteúdo do
elemento que estiver por trás.
Ajustar Largura: esta opção faz com que o elemento tenha sua largura automaticamente
ajustada para comportar todo o valor do campo.
Autoajustar Altura: semelhante à opção anterior, esta opção fará com que o elemento
aumente sua altura para comportar todo o valor do campo. Se necessário, a banda à qual o
elemento está inserido também terá sua altura aumentada para comportar o elemento.
Formato: campos numéricos podem ser formatados de acordo com os padrões de formatação
numérica.

Suprimir impressão de valores repetidos: ative esta opção se você não deseja imprimir
campos com o mesmo valor que tenham sido impressos. O mecanismo do relatório somente
irá imprimir novamente este campo caso o valor seja diferente de um já impresso.
Suprimir impressão se o valor do campo for 0 (zero): esta opção faz com que campos
numéricos com valor zero não sejam impressos ou valores de data no formato 00:00 também
não sejam impressos.
Reimprimir em nova página: se a opção" suprimir impressão de valores repetidos" estiver
marcada, você poderá reimprimir o campo quando uma nova página começar, ainda que o
valor se mantenha o mesmo.
Reimprimir em novo grupo: se a opção" suprimir impressão de valores repetidos" estiver
marcada você pode usar esta opção para reimprimir o campo quando um novo grupo começar,
mesmo se o valor mantiver o mesmo.

Memo Memo
O campo memo é utilizado para imprimir um texto que possui mais de uma linha. Assim como
o label (etiqueta), o memo imprime o texto em somente uma cor e fonte. Se você quiser usar
um texto formatado, use o campo de richtext.

As seguintes opções estarão disponíveis:


Texto: digite o texto que será impresso.
Alinhamento: um campo de dados pode ser alinhado à esquerda, centralizada ou à direita.
Geralmente, o alinhamento mais utilizado é o à esquerda. Entretanto, quando usamos um
campo de dados para informar um campo numérico, o alinhamento padrão é o à direita.
Fonte: selecione a fonte do elemento. Esta opção também pode ser setada diretamente pela
barra de ferramentas, quando o elemento estiver selecionado.
Cor: define a cor de fundo do elemento.
Alinhamento de palavras: esta opção é usada para que o texto seja automaticamente
distribuído pelas linhas do memo, se uma só linha não comportar toda a largura do texto.
Ajustar Largura: esta opção faz com que o elemento tenha sua largura automaticamente

Página 219 de 478


ajustada para comportar todo o valor do campo.
Autoajustar Altura: semelhante à opção anterior, esta opção fará com que o elemento
aumente sua altura para comportar todo o valor do campo. Se necessário, a banda à qual o
elemento está inserido também terá sua altura aumentada para comportar o elemento.

Imagem Imagem
Use o elemento imagem para inserir uma imagem fixa no formato bitmap no relatório.

As seguintes opções estarão disponíveis:


Arquivo: informe o nome do arquivo de imagem.
Estender figura: faz com que a figura preencha toda a área definida pelo elemento.
Centralizar imagem: centraliza a imagem dentro da área definida pelo elemento.
Auto ajustar componente para caber a figura: ajusta automaticamente o tamanho do
elemento para comportar exatamente o formato da figura.

Imagem do Campo de Dados Imagem do Campo de Dados


Enquanto o campo de dados é usado para mostrar textos, números e datas, o elemento
imagem do campo de dados é usado para mostrar imagens armazenadas no banco de dados.
A função mais ativa deste elemento é mostrar o logotipo da empresa, através do campo
empresa.logotipo.

As seguintes opções estarão disponíveis:


Dataset e Campo de dados: as principais propriedades desta caixa de diálogo são o dataset
de onde a figura vai ser lida e o nome do campo. No exemplo acima, veja que o
dataset=empresa e o campo=logotipo.
Ajustar imagem automaticamente: faz com que a figura preencha toda a área definida pelo
elemento.
Centralizar imagem: centraliza a imagem dentro da área definida pelo elemento.
Alinhamento: alinha a imagem na banda do relatório.

Campo de Expressão Campo de Expressão


O campo calculado - campo de expressão - é usado para exibir um texto, data ou número que
é calculado por uma expressão (fórmula). É possível realizar cálculos numéricos, manipulação
de strings, concatenação, usar diversas funções do editor de relatórios, etc.

As seguintes opções estarão disponíveis:


Expressão: a expressão digitada neste elemento é a propriedade mais importante. Ela é
calculada a cada impressão.
Formato: campos numéricos podem ser formatados de acordo com o padrão de formatação.
Fonte: selecione a fonte do elemento. Esta opção também pode ser setada diretamente pela
barra de ferramentas, quando o elemento estiver selecionado.
Cor: define a cor de fundo do elemento.
Master: se sua expressão usa valores agregados, você precisa ligá-la a um dataset master. A
cada novo registro do dataset master a expressão é recalculada.
Alinhamento: um campo de dados pode ser alinhado à esquerda, centralizada ou à direita.
Geralmente, o alinhamento mais utilizado é o à esquerda. Entretanto, quando usamos um
campo de dados para informar um campo numérico, o alinhamento padrão é o à direita.
Rotação: use este campo para provocar uma rotação no resultado do campo de expressão. O

Página 221 de 478


valor pode ser um ângule entre 0 e 360 graus.
Alinhamento de palavras: esta opção é usada para que o texto seja automaticamente
distribuído pelas linhas do memo, se uma só linha não comportar toda a largura do texto.
Ajustar Largura: esta opção faz com que o elemento tenha sua largura automaticamente
ajustada para comportar todo o valor do campo.
Autoajustar Altura: semelhante à opção anterior, esta opção fará com que o elemento
aumente sua altura para comportar todo o valor do campo. Se necessário, a banda à qual o
elemento está inserido também terá sua altura aumentada para comportar o elemento.
Inicializar depois de imprimir: se você estiver usando cálculos do tipo soma, média,
contagem de registros, enfim, funções agregadas, você pode usar esta opção para resetar o
valor para zero após a impressão deste campo. Caso contrário, a cada nova impressão, o valor
será acumulado.
Transparente: o fundo deste elemento não será impresso caso esta opção esteja marcada.
Desta forma, você pode colocar um elemento sobre outro, sem esconder o conteúdo do
elemento que estiver por trás.
Suprimir impressão se o valor do campo for 0 (zero): esta opção faz com que campos
numéricos com valor zero não sejam impressos ou valores de data no formato 00:00 também
não sejam impressos.

Figura Editor de Relatórios - Figura


Este elemento do relatório é usado para desenhar linhas verticais e horizontais, círculos e
retângulos.

As seguintes opções estarão disponíveis:


Tipo: selecione o tipo da figura.

Pintar:
 Estilo: diferentes padrões de preenchimentos da figura
 Cor: a cor que será usada no preenchimento

Lápis:
 Largura: largura da borda da figura
 Modo: estabeleça o modo de impressão da figura. Este é o comportamento bit a bit de
impressão quando combinado com outros fundos.
 Estilo: estabeleça o estilo de impressão da borda da figura.

RichText de Campos de Dados RichText de Campo de Dados


Este elemento visualiza o conteúdo de um campo de richtext do banco de dados. Todos os
campos de observações do Engeman, como observação da aplicação, do plano, do funcionário,
fornecedor,etc. estão em formato richtext.

As seguintes opções estarão disponíveis:


Dataset e Campo: os dois primeiros e mais importantes campos desta caixa de diálogo
referem-se ao dataset (query ou tabela) origem do campo e o nome do campo. No exemplo
acima, o dataset = query1 e o nome do campo = obs.
Alinhamento: este elemento pode ser alinhado à esquerda, centralizado ou alinhado à direita.
Fonte: selecione a fonte do elemento. Esta opção também pode ser setada diretamente pela
barra de ferramentas, quando o elemento estiver selecionado.
Cor: define a cor de fundo do elemento.
Autoajustar Altura: semelhante à opção anterior, esta opção fará com que o elemento
aumente sua altura para comportar todo o valor do campo. Se necessário, a banda à qual o
elemento está inserido também terá sua altura aumentada para comportar o elemento.

Tópicos Avançados Tópicos Avançados

Formatação de Campos
Sintaxe das Expressões
Parâmetros SQL

Formatação de Campos Formatação de Campos


Campos numéricos ou de data e hora podem ter sua exibição alterada de várias formas,
através de uma máscara formatada na propriedade formato. As máscaras são formas
representativas de símbolos específicos para cada tipo de informação como mostrado a seguir:
Campos Numéricos

Símbolo Representa
0 Qualquer dígito. Se o valor formatado possui um
dígito na posição aonde o '0' aparece, o
dígito é usado na impressão. De outra forma, um
'0' é mostrado naquela posição.
# Qualquer dígito. De forma análoga ao '0', quando

Página 223 de 478


existe um dígito na posição do valor aonde o
símbolo '#' foi colocado, então este dígito será
exibido, senão nada será exibido naquela
posição.
. Ponto decimal. O primeiro caractere '.' na string
de formatação determina a localização do
separado decimal. Qualquer símbolo de '.'
adicional será ignorado. Entretanto, a impressão
do
valor utilizará como símbolo decimal o símbolo
especificado no painel de controle do windows,
nas configurações regionais.
, Separador de milhar. Se a string de formatação
possuir um ou mais símbolos ',', o valor
impresso terá separadores de milhar inseridos a
cada grupo de 3 dígitos à esquerda do ponto
decimal. A localização e o número de símbolos ','
não altera a formatação final do número.
Entretanto, a impressão do valor utilizará como
símbolo decimal o símbolo especificado no
painel de controle do windows, nas configurações
regionais.
E+ Notação científica. Se qualquer um dos
caracteres 'E+', 'E-', 'e+', 'e-' for utilizado na
string de
formatação, o número será formatado usando
notação científica. Um grupo de 4 caracteres '0'
podem seguir imediatamente os símbolos de
'E+', 'E-', 'e+', 'e-' para determinar o número
mínimo de dígitos no expoente. Os símbolos 'E+'
ou 'e+' determinam que valores de expoente
positivos serão exibidos com o sinal positivo e
que valores com expoente negativos serão
exibidos com o sinal negativo. Os símbolos 'E-'
ou 'e-' formatam a saída com sinal negativo
somente para valores com expoente negativo.
Os valores com expoente positivo não será
impressos com sinal.
'xx'/"xx" Caracteres entre aspas simples ou duplas serão
impressos exatamente como colocados, não
afetando a formatação.
; Separa as seções para números positivos,
negativos e zero na string de formatação.

A localização do símbolo '0' mais à esquerda antes do ponto decimal e o símbolo '0' da
extrema direita depois do ponto decimal string de formatação determinam os limites dos
dígidos que serão sempre exibidos.
O número formatado é sempre arrendodado para quantas casas decimais forem definidas por
'0' após o ponto decimal. Se o formato não possui ponto decimal, o número será arredondado
para o inteiro mais próximo.
Se o número formatado for maior que o formato definido, então ele será mostrado
inteiramente, como se não houvesse formato.
Você pode determinar formatos diferenciados para quando o número for positivo, negativo ou
zero. Para isso, coloque cada formato separado por ponto e vírgula nesta mesma ordem. Se
somente um tipo de formatação for escolhido, sem usar o sinal ';', então o formato será
aplicado a todos os tipos de números. Veja o e exemplo abaixo:
 Uma seção: o formato se aplica a todos os valores
 Duas seções: a primeira seção se aplica a valores positivos e ao zero e a segunda seção se
aplica a valores negativos.
 Três seções: a primeira seção se aplica a valores positivos, a segunda seção se aplica a
valores negativos e a terceira seção se aplica ao valor zero.

Exemplo de máscara com as 3 seções: #.00;0000.00;"zero"


Se a seção para valore negativos ou a seção para valores zero estiver vazia, ou seja, não há
formatação nenhuma entre os sinais ';' então a seção para valores positivos será usada.
Se a seção para valores positivos estiver vazia ou toda a string de formatação estiver vazia, o
valor será formatado usando a formatação geral para ponto flutuante, com 15 dígitos
significativos de precisão. A formatação geral de ponto flutuante também será utilizada se o
valor possuir mais de 18 dígitos à esquerda do ponto decimal e a formatação não especificar
notação científica.
Campos de Data/Hora
Símbolo Representa
c Exibe a data usando o formato estabelecido pelo painel de controle do windows,
seguido pela hora.
d Exibe o dia do mês, sem preenchimento com zeros à esquerda. (1-31)
dd Exibe o dia do mês com zeros à esquerda. (01-31)
ddd Mostra o dia da semana, com abreviação: Dom, Seg...
dddd Mostra o dia da semana completo: Domingo, Segunda-Feira...
ddddd Mostra a data usando o formato completo padrão do Windows
dddddd Mostra a data usando o formato longo completo padrão do Windows
ee Mostra a data usando o formato longo completo padrão do Windows
m Mostra o mês sem zeros à esquerda
mm Mostra o mês com zeros à esquerda
mmm Mostra o mês abreviado: Jan, Fev...
mmmm Mostra o mês completo: Janeiro, Fevereiro....
yy Mostra o ano com dois dígitos
yyyy Mostra o ano com quatro dígitos
h Mostra a hora sem zeros à esquerda (0-23)
hh Mostra a hora com zeros à esquerda (00-23)
n Mostra o minuto sem zeros à esquerda (0-59)
nn Mostra o minuto com zeros à esquerda (00-59)
s Mostra os segundos sem zeros à esquerda (0-59)
ss Mostra os segundos com zeros à esquerda (00-59)
z Mostra os milisegundos sem os zeros à esquerda (0-999)
zzz Mostra os milisegundos com zeros à esquerda (000-999)
t Mostra a hora usando o formato reduzido com horas e minutos
tt Mostra a hora usando o formato completo com horas, minutos e segundos
am/pm Usa formato de horas com 12 horas pm ou am
aspas Use aspas para usar o preenchimento de outros caracteres no formato.

Sintaxe das Expressões Sintaxe das Expressões


Expressões são usadas para cálculos de valores numéricos, strings, datas ou valores lógicos.
Há vários tipos de operadores e funções disponíveis para isto, comparável à complexidade de
programações tipo delphi. As expressões usadas em lógicas de bandas de relatórios devem
retornar sempre um valor verdadeiro ou falso. Somente a banda de grupo usa uma expressão
que pode retornar uma string ou um número, assim como os campos de expressão do editor
de relatórios.
Construindo expressões

Uma expressão pode ser avaliada para quatro tipos: strings (texto), inteiro, ponto flutuante ou

Página 225 de 478


lógica. Dados binários e campos memo não são suportados em expressões. Abaixo está uma
lista de como os campos de banco de dados são convertidos para tipos de dados de relatório.

Tipo Relatório Tipo Banco de


Dados
String String, DateTime
Integer Integer
Float Float, Number,
Numeric
Boolean Boolean
Operador Descrição
+ Adição
- Subtração
* Multiplicação
/ Divisão
() Parêntesis
And Lógica E
Or Lógica OU
Not Negação
= Igual a
< Menor que
> Maior que
<= Menor ou igual a
>= Maior ou igual a
<> Diferente de

Usando campos do banco de dados nas expressões


Qualquer campo de uma tabela ou query referenciada na base de dados do relatório pode ser
usada numa expressão. Os campos podem ser referenciados somente pelo seu nome, exemplo
tag ou precedidos do nome do dataset com um ponto separando-os, exemplo query1.tag. Se
você não especificar o nome da tabela, o mecanismo do relatório irá buscar pela primeira
ocorrência do nome do campo em todos os datasets disponíveis e irá usar o primeiro
encontrado.

Editando as Propriedades de um Elemento Editando as Propriedades de um


Elemento
Cada elemento tem suas propriedades específicas (fonte, cor...) que você pode editar.
Para alterar qualquer uma destas propriedades, dê um duplo clique sobre o elemento ou
clique com o botão direito do mouse sobre ele e escolha a opção "editar". Usando o teclado,
selecione o elemento e pressione [enter]. Uma janela de propriedades
do elemento será mostrada, igual à mostrada quando um novo
elemento é criado. Após a modificação da propriedade escolhida,
pressione o botão "Ok" para confirmar suas mudanças ou em
"Cancelar" para abandonar mudanças realizadas.
Observe que existem outras opções no menu de cada elemento.
Quando a opção "Habilitado" estiver marcada, o elemento será
exibido durante a visualização ou impressão do relatório. Um elemento pode ter sua ordem de
criação alterada quando estiver sobreposto a outro(s), clicando-se nas opções "Trazer para
frente" ou "Enviar para trás".
Existe ainda algumas opções semelhantes a todos os elementos. Selecione o item de menu
"Opções" e uma caixa de diálogo como a mostrada abaixo será visualizada.
Cada elemento pode possuir um nome único. Este nome não pode conter espaços ou
acentuações e é usado em ocasiões especiais, principalmente quando usamos scripts que
alteram o estado dos componentes do relatório.
Além do nome, você pode associar um comentário ao componente que ajudará a outras
pessoas que forem alterar o layout deste relatório a entenderem a função deste componente.
Ações são uma boa opção para impedir alterações no componente acidentalmente:
 Não modificar - Impede que o elemento seja modificado (bandas e campos de dados)
 Não editar - Impede que o elemento seja editado (labels)
 Não mover - Impede que o elemento seja movido
 Não redimensionar - Impede que o elemento seja redimensionado
 Não excluir - Impede que o elemento seja excluído.

O elemento pode ter suas dimensões e posição editadas diretamente. Isto é útil para conferir
detalhadamente as posições de um elemento e seu tamanho, principalmente quando
comparado com outros elementos que devem ter a mesma caracaterística.
Por definição, o elemento é movido automaticamente quando a banda na qual ele está inserido
tem sua altura modificada. Para que o elemento seja reposicionado pela parte debaixo da
banda - e não pelo topo - marque a opção" conservar posição relativa abaixo da banda".
Em outras ocasiões, é importante elemento se autoajustar quando a altura da banda é
modificada, como por exemplo linhas verticais. Neste caso, marque a opção" autoajustar altura
com a banda".
Atalho na Barra de Ferramentas
Você pode mudar muitas das propriedades dos elementos diretamente pela barra de
ferramentas ao invés de usar a caixa de diálogo de propriedades. Ela pode ser usada para
alterar a propriedade de vários elementos simultaneamente ou de somente um elemento.

Página 227 de 478


Usado para configurar o alinhamento do texto à
esquerda, centro oudireita.O último ícone para configurar
as bordas do elem ento
Usado para cortar, copiar, colar e enviar os elementos
para frente ou para trás.
Usado para editar diretamente o texto para etiquetas,
expressão paracampos de expressão ou o nome dos
campos de dados.
Usado para modificar a fonte, o tamanho da fonte,
negrito,itálico,sublinhado ou cor da fonte. A cor de fundo
de um componente não pode ser modificada pela barra
de ferramentas.
Usado para o alinhamento entre os elementos
selecionados ou para alinhar o elemento selecionado
dentro de uma banda

Usando o Mouse e o Teclado Usando o Mouse e o Teclado


Selecionando um elemento do relatório
Elementos são selecionados clicando-se sobre eles com o botão esquerdo do mouse. A seleção
é mostrada através de 8 pequenos pontos pretos ao redor do elemento.
Neste exemplo, o label "Descrição" está
selecionado.

Selecionando múltiplos elementos


Você pode selecionar vários elementos segurando a tecla [shift] enquanto clica sobre eles.
Outra forma de selecionar vários elementos é segurar a tecla [ctrl] e clicar com o mouse fora
dos elementos, segurar o botão e arrastar o mouse sobre eles, fazendo um retângulo. Os
elementos dentro do retângulo serão selecionados. Quando mais de um elemento está
selecionado, o destaque é alterado para 4 pequenos pontos cinzas em cada ponto dos
elementos.
Neste exemplo, o label "Código" e o label
"Descrição" estão selecionados.

Alterando o tamanho do elemento


Enquanto um elemento estiver selecionado, você pode usar os pequenos 8 pontos pretos para
alterar o seu tamanho. Observe que isto se aplica somente quando um único elemento estiver
selecionado. A posição dos pontos indica a direção para qual o elemento irá crescer ou
diminuir. Observe que o ponteiro do mouse irá acompanhar esta direção. Note que as bandas
do relatório somente poderão ser ajustadas na vertical, pois o seu tamanho horizontal depende
da largura do papel escolhido e do número de colunas do relatório. Para mudar o tamanho de
um ou mais elementos, use o teclado. Neste caso, selecione o(s) elemento(s) e segure a tecla
[shift]. Use as teclas de direção do teclado para a direita ou para baixo para aumentar a
largura e tamanho dos elementos, respectivamente. As teclas para cima ou para a esquerda
diminuirão o tamanho e a largura.
Movendo os elementos
Você pode mover os elementos do relatório através do ponteiro do mouse, clicando sobre eles
e arrastando-os em qualquer direção. Um elemento só poderá ser movido dentro da banda em
que foi criado ou colado. Para mover um elemento de uma banda para outra, recorte-o com
[ctrl+x], selecione a banda destino, clicando sobre ela e cole-o com [ctrl+v]. Depois,
posicione-o arrastando com o mouse para o lugar desejado. Para mover o elemento usando o
teclado, selecione o elemento e use as teclas de direção. Para configurar o "passo" com que o
elemento é movido, veja as configurações de régua no menu Exibir/Opções.
Movendo elementos livremente
Observe que enquanto você move ou redimensiona os elementos, eles "pulam" sua posição ou
tamanho para a marcação da régua mais próxima. Isto é indiscutivelmente útil para agilizar o
alinhamento e tamanho de um elemento em comparação a outro. Entretanto, em alguns
casos, é necessário redimensionar ou mover elementos, independente da régua utilizada. Para
isso, segure a tecla [shift] enquanto redimensiona ou move o elemento. Para alterar as
configurações da régua, veja o menu Exibir/Opções.
Excluindo elementos
Para excluir um ou mais elementos, selecione-os e pressione a tecla [delete] ou [del].
Percorrendo elementos
Para alterar rapidamente a seleção entre um elemento e outro, pressione a tecla [tab]. Para
voltar a seleção para o elemento anterior, segure [shift] enquanto pressiona o [tab].

Filtros
Filtros

Um filtro determina um critério de seleção para uma consulta a uma ou mais tabelas de um
banco de dados. O Engeman® trabalha com uma formatação especial para os filtros,
possibilitando filtrar diversos registros, de maneiras diferentes, em uma única linha de filtro.
Operações da tela:
 Informe uma descrição para o processo de filtragem.
 Informe os campos (TABELA.CAMPO) a serem filtrados, referentes às tabelas vinculadas ao
modelo de relatório.
 Para selecionar uma lista de registros, separe-os por ponto e vírgula, conforme exemplo a
seguir:
Exemplo :Use: 'TEA-0001'; 'TEA-0002'; 'CRD-1001'
 Para selecionar uma lista de registros pode-se pressionar a tecla Ctrl e selecionar os vários
registro de uma só vez.
Para filtrar uma destas aplicações acima. (no caso do filtro ser o código da aplicação).
 Pressione F2 para obter uma lista dos registros disponíveis para o filtro desejado. Quando o
filtro já contém algum valor e você pressiona F2 para localizar um segundo valor, os
valores serão automaticamente separados por ponto e vírgula, caso você não tenha
especificado anteriormente.
 Quando os campos de filtro são caracteres, delimite-os com aspas simples, como no
exemplo acima. Para campos numéricos, não há a necessidade de delimitá-los.
 Para selecionar um conjunto de registros (de um valor inicial até outro valor final),
separe-os por ~ (til).
Exemplo: Use: 'CRD-0001' ~ 'CRD-0010'
Para filtrar as aplicações, desde a CRD-0001 (inclusive) até a CRD-0010 (inclusive).
 Você pode combinar os dois estilos de filtro acima.
Exemplo: 'CRD-0001' ~ 'CRD-0009'; 'TEA-0002'; 'QFO-0002'; 'FIL-0001' ~ 'FIL-0002'
 Todas as cláusulas do filtro, separadas por ponto e vírgula ou til são do tipo OU, ou seja,
todos os códigos descritos num filtro serão selecionados.
 Faça a junção entre duas condições de filtro especificadas utilizando o campo de junção
E/OU.
 As condições de filtro serão salvas para uso posterior.

Página 229 de 478


 Para emitir relatório sem especificar condições de filtro, basta deletar (sem salvar) os
filtros especificados.
 Os campos de filtro permanecem ocultos ao usuário a menos que entre no modo de edição.

Relatório Hierárquico Relatório Hierárquico


Esta tela fornece uma forma inovadora de consultar as informações dos relatórios, organizados
numa árvore de agrupamentos hierárquicos. Pode-se expandir os agrupamentos do relatório
em vários níveis de detalhamento.
Praticamente, todos os relatórios do sistema podem ser visualizados por esta operação, mas
para usar todos os recursos desta forma de visualização, os relatórios têm que ser formatados
corretamente.

Configurando um relatório para usar o visualizador hierárquico


Um mesmo relatório pode ser configurado para ser exibido da forma usual ou da forma de
relatório hierárquico. O layout do relatório será construído automaticamente, de acordo com as
queries criadas nele e a sua hierarquia. As seguintes regras devem ser utilizadas para a
criação deste tipo de visualização:
 Cada query criada no relatório será usada como um novo agrupamento do relatório; crie
relações master - detalhe para criar os agrupamentos;
 As queries que não possuem master ou que o master seja a query empresa serão
utilizadas como nível zero da árvore (serão exibidas no primeiro nível);
 O nome da query será usado para dar nome ao agrupamento; nomes como
tipo_de_manutencao serão convertidos para tipo de manutencao. Os caracteres de
separação _ ( underscore) serão substituídos por espaços. Acentuações não são
permitidas;
 Somente o primeiro campo de cada query será utilizado para a exibição na árvore, a menos
que os demais campos sejam renomeados e colocado o caracter _ ( underscore) ao final do
nome, como data_programada_. Assim como no nome da query, os caracteres _ serão
substituídos por espaços;

Exemplo
Para fazer um relatório como mostrado acima, vamos exemplificar as queries até o nível
Ordem de Serviço.
 Faça uma query de nome Aplicacao e coloque a seguinte expressão no SQL:

select tag||' - '||descricao from aplic where codemp=:codemp

 Coloque o master = empresa e configure o parâmetro :codemp para atribuir valor do


conjunto de dados master.
 Faça outra query de nome Ordem_de_Servico e coloque a expressão no SQL:

select tag, datpro2 as Data_Programada_, obs as Observacoes_, codemp, codord


from ordserv where codemp=:codemp and codapl=:codapl

 Coloque o master = aplicacao e configure os parâmetros :codemp e :codapl para atribuir


valor do conjunto de dados master.

Pronto! Não é necessário fazer nenhum layout para o relatório, somente executá-lo como
relatório hierárquico. Observe que o visualizador irá criar um grupo para o primeiro campo da
query Ordem_de_Servico, tag e abaixo dele, colocará os campos data programada e
observações, porque estes campos terminam com o caractere _. Os campos codord e codemp,
apesar de existirem na query não serão utilizados na visualização.
Para fazer os níveis deste relatório para Funcionarios e Servicos, crie mais duas queries (a
primeira selecionando os funcionários da O.S. e a segunda o registro de serviço), ambas com o
master = ordem_de_servico.

Geração de O.S. Geração de O.S.


O sistema permite a geração de OS de forma automática, a partir dos dados cadastrados nos
planos de manutenção referentes aos seguintes processos de programação: periódicas,
tendência de variáveis, data específica, acumulativas, eventuais por registro de serviço ou
eventuais por cadastramento específico.
Não existe processo de geração de OS automática no caso de planos cadastrados sem
programação. Neste caso, a emissão de OS poderá ser via computador, porém sem nenhum
automatismo, da mesma forma que um simples cadastramento de OS seguido de sua
impressão.
Operações da tela:
 Informe o período programado para o serviço: este período é obrigatório. O sistema
fará uma projeção para determinar a programação entre estas datas.
 Escolha para qual empresa e qual filial as O.S.'s serão geradas. O Engeman® fará a
geração para cada filial separadamente. Para selecionar, pressione nas setas à direita dos
campos.
 Informe os filtros para a geração da O.S. Veja mais detalhes sobre os filtros.
 Clique no botão "Priorização" para priorizar planejamentos periódicos ou acumulativos.
Pressione este botão novamente para desmarcá-lo.
 Pressione o botão "horas" se você quiser levar em consideração a hora da programação
do serviço para proceder com a priorização das O.S. Este botão só terá alguma ação caso o
botão "Priorização" estiver pressionado. Pressione no botão "horas" novamente para
desmarcá-lo.
 Pressione no botão "Excluir" para que as O.S. priorizadas não sejam geradas.
 Pressione no botão "Cancelar" para que, mesmo as O.S. priorizadas, sejam geradas,
porém serão canceladas após sua geração. Este botão funciona de maneira exclusiva
juntamente com o botão "excluir". Somente um dos dois estará pressionado num determinado
momento.
 Pressione no botão "Simulação" para que as O.S. sejam geradas com status de
simuladas. Pressione este botão novamente para que as O.S. sejam geradas com status real.
As O.S. podem ser geradas para um arquivo auxiliar, sem interferir com a numeração das O.S.
do cadastro principal. Para isto, clique no ícone "Arquivo Auxiliar". Serão gerados dois novos
arquivos na base de dados: SORDSERV - contendo as O.S. geradas e SREGSERV - contendo os
registros de serviço para a previsão da O.S. gerada.
 Pressione no botão "Consultar geração" para obter apenas um relatório das O.S. que
poderão ser geradas.

Página 231 de 478


 Pressione no botão "Gerar ordem de serviço" para realmente proceder com o processo
de geração.
 Pressione no botão "Eliminar O.S. simuladas" para eliminar do cadastro de O.S. todas
as O.S. com status simulado e que estejam no filtro selecionado.
 Pressione no botão "Converter O.S.'s simuladas em Real" para converter as O.S.'s
geradas, com o filtro mencionado, de status Simulado para Real. Será exibida uma tela
listando as O.S.'s simuladas encontradas no período informado (mesmo que tenham sido
geradas em outro momento), permitindo ao usuário selecionar somente as O.S.'s que desejar
converter para Real.
 Pressione no botão "Abortar Geração" para cancelar o processo de geração. O processo
de geração só pode ser abortado antes da rotina de transferência de O.S para o banco de
dados.

Detalhes da Geração
Para obter uma listagem das O.S. geradas durante o processo de geração de O.S., clique no
painel de visualização na barra de ferramentas. Com esta opção marcada, cada O.S. gerada
será informada num campo do tipo texto logo abaixo dos filtros. Após a geração, se você
realizar um duplo click do mouse sobre o número da O.S., a tela de cadastro da O.S. será
aberta.
Após o pressionamento de um dos botões de ação, uma barra de status ao pé da página
informará o progresso da operação em questão.

Consistências antes da geração de O.S.:


 filtros. Caso haja qualquer problema detectado com relação à sintaxe - falta de apóstrofos,
falta ponto e vírgula ou til - será reportado um erro. A geração será interrompida e o filtro
que contém o erro será mostrado.
 Se todos os filtros estiverem vazios, uma mensagem de alerta será emitida, permitindo ao
usuário cancelar a geração.
 Se existirem O.S. simuladas para o período informado, uma mensagem será emitida. Desta
forma, evita-se o erro de priorização das periódicas e acumulativas.

Reprogramação pelos Feriados


 Caso existam feriados relacionados ao setor executante da O.S. gerada, o sistema fará
uma apropriação automática da data programada da O.S., de acordo com a regra definida
na relação Setor Executante X Feriados. Entretanto, esta regra não afetará o planejamento
periódico. Ou seja, mesmo que o sistema reprograme a O.S. para uma data diferente da
data programada original, o ciclo de periódicas será mantido.
 A regra de reprogramação será efetuada após a etapa de geração de todas as O.S. e antes
da transferência das O.S. do arquivo temporário para o cadastro definitivo.
Ao final da geração das O.S., será emitido um relatório sintético das O.S. geradas naquele
momento. Este relatório pode ser totalmente customizado na tela de edição de relatórios O
relatório a ser emitido depende da filial escolhida. Sua configuração é realizada na tela de
cadastro de empresas.
Após a geração das O.S., é possível enviar um e-mail contendo um resumo das O.S. geradas
para cada setor executante. Para isso, os setores executantes deverão possuir um e-mail
padrão cadastrado.
Após qualquer operação nesta tela, um histórico da geração será armazenado.

Personalização Personalização

Alterar Nomenclatura
Campos Auxiliares
Assistente de Edição de Telas
Gerenciador de Regras
Gerenciador de KPi´s
Gerenciador de Tarefas
Tarefas Agendadas
Programas Externos

Programas Externos Programas Externos


Utilize esta função para disponibilizar um atalho no menu Personalizado/Programas para
acessar programas externos ao Engeman®.
Informe a descrição, o caminho do arquivo .EXE desejado e algum parâmetro do programa a
ser aberto, caso haja necessidade.
Para alterar a imagem (ícone) associada, clique no botão "alterar ícone". Escolha uma imagem
e aplique-a. A imagem deve possuir tamanho máximo de 16x16 pixels. Se ela for maior que
estas dimensões, ela será automaticamente ajustada. Os seguintes tipos de imagem são
aceitos: .ico, .jpg, .jpeg, .bmp, .gif. No caso de imagens .ico o sistema não conseguirá ajustar
a imagem para as dimensões máximas, mas cortará a área visível dela para estas dimensões.
A imagem associada será exibida no menu personalizado e na barra de ferramentas do
sistema, se este item for incluído nela.

Gerenciador de KPI
Gerenciador de KPI

A tela de Gerenciamento de KPI foi criada para facilitar a administração dos indicadores de
desempenho do sistema. Através dela é possível alterar, incluir e excluir os KPI´s existentes
no sistema além de modificar sentenças de SQL de qualquer KPI cadastrado. Os
procedimentos de [A]lterar, [I]ncluir e [E]xcluir permanecem como os já tratados na tela de
KPI . A importação e Exportação de KPi´s ficou mais poderosa. A partir desta tela de
Gerenciamento de KPI pode-se importar e exportar vários KPI´s de uma só vez. Para isso
basta clicar com o botão direito do mouse sobre os botões de Importar ou Exportar
que será apresentada uma opção para selecionar mais de um KPI.

Para Importar vários KPI´s:


1 – Click em novo ;
2 – Click com o botão direito do mouse sobre e click na opção para selecionar vários
KPI´s;
3 – Será exibida uma tela de localização padrão do sistema operacional. A partir desta tela
basta selecionar os KPI´s desejados.
ATENÇÃO: Os KPI´s que possuírem a mesma descrição na origem terão prioridade sobre os
arquivos de destino, ou seja, os arquivos de destino serão substituídos.

Para Exportar vários KPI´s:


1 – Click com o botão direito do mouse sobre . Será exibida uma opção para vários KPI´s.
Click nesta opção;
2 – Escolha a pasta onde os KPI´s deverão ser armazenados e click em salvar;
3 – Será exibida uma tela de localização padrão do sistema operacional. A partir desta tela
basta selecionar os KPI´s necessários.

No grid será exibida uma coluna adicional. A coluna Tela. Ela exibirá o nome da tela a que
cada KPI pertence.

Ao criar um KPI através do Gerenciador de KPI´s o campo Tela será exigido. Este campo se
faz necessário para que o sistema aloque o KPI criado em sua referida tela. Toda tela a nível
de sistema tem seu nome precedido de “F”. Exemplo FAPLIC que refere-se à tela de aplicação.

Página 233 de 478


O método para se descobrir o nome da tela a qual se deseja criar um KPI pode ser o mesmo
aplicado na tela de Gerenciamento de Regras.

Alterar Nomenclatura Alterar Nomenclatura


Permite a substituição de títulos de botões, de guias, de formulários, de ítens de menu e de
campos de todas as telas do sistema.
Em Nomenclatura Antiga deve-se digitar o texto que será substituído.
Em Nova Nomenclatura deve-se digitar o novo texto, que substituirá o antigo.
A busca pelo texto a ser substituído é feita em todo o sistema no momento em que o botão Ok
é clicado. Entretanto, em qualquer lugar que o texto for encontrado ele será substituído.

Assistente de Edição de Tela Assistente de Edição de Tela


Este assistente permite alterar as propriedades dos campos e grids de algumas telas. Quando
o assistente está ativado, clicando com o botão esquerdo do mouse no título de um dos
campos da tela que está visível, as propriedades deste campo são mostradas no assistente e
podem ser alteradas. Além disso, segurando o botão esquerdo do mouse sobre o título do
campo, este pode ser arrastado com o mouse livremente pela tela.
IMPORTANTE: O sistema não pode prever as modificações feitas pelo usuário sempre que
houver uma atualização de versão. Isto significa que as posições dos campos de uma tela
podem ficar desconfiguradas sempre que forem criadas novas funcionalidades que dependam
de modificação interna de layout da tela.
A configuração de layout pode não funcionar corretamente se a resolução do monitor for
modificada para um valor maior do que 96dpi (96ppp).

Propriedades

Tela Mostra o nome da tela corrente. Esta propriedade não


pode ser modificada.
Descrição limitado em 30 caracteres. Evite uma descrição muito
grande para que não ultrapasse os limites da tela.
Esquerda distância entre o campo e a margem esquerda da tela
ou do componente a que ele pertence.
Topo distância entre o campo e a margem superior da tela
ou do componente a que ele pertence.
Largura largura do campo.
Altura altura do campo (imagem e memo).
Visível visibilidade do campo. campos obrigatórios não
podem ficar invisíveis.
Cor de cor de preenchimento do fundo do campo.
Fundo
Cor da cor da fonte do campo.
Fonte
Char Case indica se o conteúdo do campo do tipo texto deve ser
convertido para Maiúsculas, Minúsculas ou deixado
como digitado.
Obrigatório somente campos não obrigatórios do sistema podem
tornar-se obrigatórios. Nesse caso, os títulos destes
campos ficam azul escuro para se diferenciarem dos
campos obrigatórios do sistema. Os campos
obrigatórios do sistema não podem ser alterados.
Máscara máscara para o campo. Consulte o tópico de
personalização de máscaras para saber como utilizar
caracteres especiais para este fim.
Ajuda informe qual será o texto exibido quando o mouse
Rápida passar sobre o texto do campo. Esta indicação
também é conhecida como hint do campo.

Observações:
1) Os campos Esquerda e Topo são alterados automaticamente se o campo for arrastado pela
tela.
2) Para visualizar as alterações das propriedades dos campos (exceto as propriedades Visível,
Cor e Obrigatório, que alteram automaticamente), deve-se pressionar ENTER depois de
digitar o valor.
3) Os campos podem ser tambem selecionados na lista localizada na parte superior da tela do
assistente. Portanto, se um campo que foi selecionado com o mouse se tornar invisível, ele
poderá se tornar visível novamente somente com o auxílio desta lista.
4) O botão restaura o padrão da tela ativa. Neste caso, a tela deverá ser fechada para
que as alterações surjam efeito.
5) O botão restaura o padrão do campo selecionado. Neste caso, a tela também deverá
ser fechada.
6) O botão restura o padrão de todos os campos contidos no" Grupo de Visibilidade".
Neste caso a tela também será fechada.
7) O botão ordena todos os campos do" Grupo de Visibilidade" automaticamente. Após
esta operação, clique no botão aplicar.
8) O campo é utilizado para determinar de quantos em quantos" pixels" o ponteiro
do mouse irá se deslocar ao mover campos. Este recurso também é conhecido como" snap
to grid". Dessa forma, fica mais fácil alinhar os campos numa tela. Este valor poderá ser
modificado até o valor de 16 pixels.
9) O botão envia as configurações de layout da tela ativa para outros usuários,
classificados por empresa. Um mesmo usuário pode ter configurações diferentes, para
empresas diferentes. ATENÇÃO: as configurações de layout de campos personalizados
dependem das permissões de acesso a estes campos, ou seja, pode acontecer de um
layout ser enviado para um usuário que não tem acesso a um ou m ais campos
personalizados e neste caso os campos não aparecerão para este usuário que recebeu a
configuração de layout. Quando o acesso aos campos for liberado, os campos aparecerão
respeitando as configurações feitas pelo usuário que enviou o layout.
Obs: Para que este botão seja exibido, é necessário que o usuário tenha a permissão ativada
no cadastro de usuários, tópico de Processos/Assistente de Edição de Telas/Permitir Copiar
Layout para Outros Usuários.
Para evitar que outros usuários sobrescrevam as configurações de layout que você tenha feito,
ative a permissão Processos/Assistente de Edição de Telas/Bloquear Meu Layout Sob Cópia de
Outros Usuários.
Neste procedimento de cópia, serão enviadas para o(s) usuário(s) selecionado(s) também as
configurações de pesquisa em campos relacionados selecionados pelo usuário (procedimento
realizado a partir de qualquer campo de pesquisa da tela através do comando Ctrl + F2).
10) Os campos de grid serão indicados pela palavra grid à esquerda. Para eles, apenas
algumas configurações serão possíveis.
11) Antes de aplicar as configurações do Assitente de Tela será exibida uma mensagem. Esta
mensagem estará solicitando uma autorização para replicar as alterações realizadas
naquele momento para os campos Obrigatório e Máscara a todos os usuários do sistema.
Caso estes não tenham sido alterados a aplicação perde a validade para estes dois
campos no que refere a replicar.
Obs: Se o campo ainda não tiver sido alterado de forma alguma em qualquer data a
mensagem não será exibida, pois ainda não existe um registro de alteração para este campo.
A partir da segunda alteração, seja ela a qualquer tempo para o campo selecionado, a
mensagem será exibida somente se a alteração realizada for para o campo Obrigatório e/ou
Máscara.

Página 235 de 478


IMPORTANTE: A propriedade "Descrição" é configurada dependendo do idioma corrente, ou
seja, todos os campos do sistema podem ter uma descrição personalizada para cada idioma.

Gerenciador de Regras Gerenciador de Regras


Como oferecer um sistema que atenda às necessidades específicas de empresas em diversos
ramos de atividade, sem a criação de sistemas individuais? A solução seria desenvolver um
dispositivo no qual pudéssemos inserir regras de programação para configurar todo o sistema.
Com este objetivo foi criado o Gerenciador de Regras que permite ao usuário entrar com
comandos de programação para criar regras próprias. As regras devem ser escritas
obedecendo a linguagem de programação do Engeman, que é muito semelhante a Pascal
Delphi, permitindo um aprendizado rápido aos programadores. O próprio usuário poderá editar
as regras que irão suprir suas necessidades ou requisitá-las ao suporte técnico da Engeman®.
O Gerenciador de Regras permite a inserção de regras em todas as telas do Engeman,
permitindo ao usuário manipular os eventos desta tela, seus componentes e as propriedades
destes componentes. Para isso você deve conhecer a linguagem e sua regra gramatical. A
linguagem oferece suporte a:
 Diretivas Condicionais: if - else, case
 Estruturas de Repetição: for, while, repeat
 Diversos tipos de dados: integer, string, double, boolean, TQuery, TDateTime, array,
variant,word
 Funções Matemáticas
 Funções para manipulação de Strings
 Funções para manipulação de Datas
 Funções para manipulação de Banco de Dados
 Funções para manipulação do Formulário
 Funções para conversão de tipo de variáveis
Dica: Se for pressionado F1 sobre uma palavra reservada no editor de regras, será exibido a
ajuda para a palavra sob o cursor.

Estrutura geral da linguagem: INTERFACE IMPLEMENTATION MAIN BEGIN END.


Este código acima é a estrutura básica que deve estar presente em qualquer regra que for
digitada. Vejamos o significado de cada palavra chave presente neste código:
 Interface - é a primeira palavra que deve estar presente no código fonte, salvo os
comentários que podem estar em qualquer local. Os comentários devem estar após barras
duplas (//) se for um comentário de linha ou entre chaves ( { comentário } ) se for um
comentário de bloco, onde mais de uma linha do código será comentada. Os procedimentos,
funções e variáveis globais devem ser declarados após a palavra chave Interface. A
declaração das variáveis globais devem ser seguidas da palavra reservada var e esta palavra
deve estar após o término da declaração dos procedimentos e funções.
 Implementation - Após esta palavra chave deve estar a implementação dos procedimentos
e funções que foram previamente declarados.
 Main - Esta é a principal função do sistema é a partir dela que todos os procedimentos e
funções poderão ser chamados. Se alguma variável local for declarada para o método Main,
assim como para qualquer procedimento ou função, estas variáveis devem estar antes de
palavra chave Begin e após a palavra chave var.
 Begin - Esta palavra chave indica o início de um bloco de instruções, os comandos devem
ser inseridos após o begin.
 End - Esta palavra chave determina o fim de um bloco de instruções.A implementação dos
procedimentos e funções irá terminar com a palavra chave end seguida de um ponto e
vírgula, já no bloco Main, o principal bloco de instruções, terá a palavra chave end seguida
de um ponto final.

Como declarar procedimentos, funções e variáveis globais:


Como mencionado acima, a declaração deve estar após a palavra chave Interface. A
declaração dos identificadores, nomes de variáveis, procedimentos e funções obedecem as
seguintes regras:
 Não será permitido uma identificação com o mesmo nome de alguma palavra reservada da
linguagem, se isto ocorrer um erro será reportado, palavras reservadas são todas as
palavras de uso do sistema, como: begin, end, var, sin, IntToStr etc.
 O nome dos identificadores não deverão começar com números e sim com letras ou '_'.
 O sistema não é case sensitive, ou seja, não diferencia letras maiúsculas de minúsculas,
portanto para sistema o identificador var1 é igual ao identificador VaR1.
Erro! Fonte de referência não encontrada.
INTERFACEErro! Fonte de referência não encontrada.

procedureErro! Fonte de referência não encontrada. nomeProcedimento (parametro1:


integer; parametro2: double);Erro! Fonte de referência não encontrada.
functionErro! Fonte de referência não encontrada. nomeFuncao (parametro:
integer): string;Erro! Fonte de referência não encontrada.
procedureErro! Fonte de referência não encontrada. nomeProcedimento2;Erro! Fonte de
referência não encontrada.
//note que as variáveis globais vêem após o término da declaração dos procedimentos
e funções.

var
var1,var2: integer;
vet[20]: double;
matriz[3,3]: string;
ano, dia: word; Erro! Fonte de referência não encontrada. Erro! Fonte de referência
não encontrada.
_data: TDateTime Erro! Fonte de referência não encontrada.
s,r,t: String;Erro! Fonte de referência não encontrada. Erro! Fonte de
referência não encontrada. Erro! Fonte de referência não encontrada. Erro!
Fonte de referência não encontrada.

Página 237 de 478


BErro! Fonte de referência não encontrada.Erro! Fonte de referência não encontrada.
ool: boolean;Erro! Fonte de referência não encontrada.

O que diferencia um procedimento de uma função é o fato de que a função retorna um valor,
possui um result.

Como implementar procedimentos e funções:


Observe a declaração de variáveis locais na implementação do procedimento. Erro! Fonte de
referência não encontrada.

INTERFACEErro! Fonte de referência não encontrada.


procedureErro! Fonte de referência não encontrada. nomeProcedimento (parametro1:
integer; parametro2: double);Erro! Fonte de referência não encontrada.
Erro! Fonte de referência não encontrada. Erro! Fonte de referência não encontrada.
functionErro! Fonte de referência não encontrada. nomeFuncao (parametro:
integer): string;Erro! Fonte de referência não encontrada.

IMPLEMENTATION
nomeProcedimento(parametro1:
procedureErro! Fonte de referência não encontrada.
integer; parametro2: double);Erro! Fonte de referência não encontrada.
var
num, media, soma: double;
matriz[3,3]: integer;
begin
num := sqrt(9);
//comandos
end; Erro! Fonte de referência não encontrada.

functionErro! Fonte de referência não encontrada. nomeFuncao(parametro: integer):


string;
begin
//comandos
Result := 'Olá'
end;

Como utilizar procedimentos e funções de uma biblioteca externa:


Para utilizar um procedimento ou função de uma biblioteca externa, a palavra reservada USES
é responsável pelas declarações de referência as bibliotecas externas.

A sintaxe de referência a função ou procedure de uma biblioteca externa é:


nome_da_biblioteca.fun_proc (parametros);

Veja o exemplo:

INTERFACE
USES
libExterna;

IMPLEMENTATION

BEGIN
libExterna.Msg('O procedimento Msg pertence a biblioteca libExterna.');
END;

Características do Editor Editor de Regras


O Editor de regras possui recursos que auxiliam durante a edição das regras.
Estes recursos são:
 Listagem de todos os procedimentos, funções e palavras reservadas do sistema.
Para ativar este recurso deve-se pressionar as teclas Ctrl + SpaceBar. Uma lista será
apresentada mostrando as funções e procedimentos com seus respectivos tipos de retorno
e
parâmetros necessários. Todos os overloads serão apresentados.
 Listagem de todos os parâmetros referentes a uma função ou procedimento.
Para ativar este recurso deve-se digitar o nome da função ou procedimento e em seguida
abrir um parêntese" (" para que os parâmetros sejam listados, ou pressionar as teclas Ctrl
+Shift + SpaceBar.
 Auto complete, este recurso insere parte do código da regra automaticamente, facilitando e
agilizando o processo de edição das regras.
º Para ativar este recurso deve-se digitar uma palavra chave específica (atalhos) e
em seguida pressionar as teclas Ctrl + J.
º As palavras chave são:
Atalhos Descrição
if comando IF sem Else
ife comando IF com Else
procedure Insere uma Procedure
function Insere uma Função
case comando case sem Else
casee comando case com Else
for comando For utilizando "To"
ford comando For utilizando "DownTo"
while comando While incrementando o index
whiled comando While decrementando o index
repeat comando repeat
:s declaração de tipos Strings
:i declaração de tipos Interiros
:d declaração de tipos Reais
:b declaração de tipos booleanos
:v declaração de tipo variante
:w declaração de tipos word
:tq declaração de tipos TQuery
:td declaração de tipos TDateTime
me mensagem de Erro
mi mensagem de Informação
mc mensagem de Confirmação
mw mensagem de Aviso
sh comando showMessage
inp comando inputQuery
fs comando fieldByName - AsString
fi comando fieldByName - AsInteger
fd comando fieldByName - AsDateTime
ff comando fieldByName - AsFloat
header insere cabeçalho
com insere comentário

Como Acessar o Gerenciador de Regras Como acessar o gerenciador de


Regras
Para acessar o gerenciador de regras você deve acessar o menu:
- Processos
- Gerenciador de Regras.
Esta tela apresenta todas as regras que estão implementadas no seu sistema. Para cada regra
é apresentado:
- A tela a qual esta regra esta associada,
- O objeto,
- O evento que acionará a regra e

Página 239 de 478


- O status desta regra.
O status da regra pode ser:
- Associado
- Não Compilado.
Somente as regras com status associado serão executadas.
Para editar uma regra a partir desta tela você pode dar um duplo clique sobre a regra
escolhida ou utilizar o botão Exibir Código Fonte.
Você pode exportar esta regra para um arquivo, utilizando o botão Salvar em Arquivo. Para
importar basta abrir o editor de regras e utilizar o comando abrir no editor.
Para excluir uma regra, utilize o botão delete.
Você pode criar uma nova regra a partir desta tela, mas para isso você deve saber o nome da
tela, o nome do componente e o evento associado a este componente, outra maneira de fazer
isto é entrando na tela que você deseja inserir uma regra e então chamar o Assistente de
Edição de Regras.
Para chamar o assistente de edição de regras você pode utilizar o comando ( Ctrl+F10) ou ir
ao menu Processos e então Assistente de Edição de Regras.
Quando o assistente estiver ativo observe que se você passar o mouse sobre os componentes
da tela um dica será apresentada como o nome deste componente. Todos os componentes de
uma tela poderão ser selecionados a partir do Inspetor de objetos. Para associar uma regra a
este objeto dê um duplo clique no evento desejado deste objeto (paleta de eventos do
Inspetor de Objetos). Agora é só editar a regra e compilá-la. Para excluir um regra você pode
apertar o botão de delete, na regra deseja no Inspetor de Objetos.
Toda vez que uma nova regra for inserida ao um evento você deve sair da tela e entrar
novamente para que sua regra surta efeito. Se já existir uma regra associada a este evento,
você poderá editá-la e não será necessário sair da tela. Assim que você terminar de editar uma
regra você deve compilar esta regra, se nenhum erro for encontrado uma mensagem de
compilado com sucesso será apresentada e esta regra estará salva e associada. Caso ocorra
algum erro, o(s) erro(s) serão reportados na parte inferior do Editor de Regras. E o status será
não compilado até que os erros sejam corrigidos. Os erros podem ser:
- Léxicos: caracteres estranhos, não reconhecidos pela linguagem.
- Sintáticos: erro na composição dos comandos, a ordem dos elementos está errada.
- Semânticos: erro na comparação de tipos, atribuição de tipos incompatíveis.
Por motivo de segurança o status das regra que estiverem em edição, ou seja, estiverem
sendo visualizadas ou alteradas será: Não Compilada. Mesmo que nenhuma alteração tenha
sido feita deve-se compilar esta regra novamente para que seu status volte a ser: Associada.
IMPORTANTE: O sistema não pode prever as modificações feitas pelo usuário sempre que
houver uma atualização de versão. Isto significa que as posições dos campos de uma tela
podem ficar desconfiguradas sempre que forem criadas novas funcionalidades que dependam
de modificação interna de layout da tela.

Inspetor de Objetos Inspetor de Objetos

Visualiza as propriedades e eventos do objeto selecionado.

Tipos
Tipos

O Tipo é que determina o valor que uma detrminável variável pode receber, você deve
especificar o tipo das variáveis e o tipo de retorno de suas funções quando estas forem
declaradas. Os possíveis tipos de nossa linguagem são:

 integer
 double
 string
 word
 tdatetime
 boolean
 tquery
 variant
 array
 tFieldType
 tAggregateField

Integer Integer
Para valores inteiros.Ex.:5

TField Type TFieldType


Descrição:
TFieldType é um conjunto de valores para propriedade DataType dos objetos de campos,
objetos de definição de campos, e objetos de parâmetros de objetos TQuery.
Valores e descrição:
ftUnknown Unknown or undetermined
ftString Character or string field
ftSmallint 16-bit integer field
ftInteger 32-bit integer field
ftWord 16-bit unsigned integer field
ftBoolean Boolean field
ftFloat Floating-point numeric field
ftCurrency Money field
ftBCD Binary-Coded Decimal field that can be
converted to Currency type without a loss of
precision.
ftDate Date field
ftTime Time field
ftDateTime Date and time field
ftBytes Fixed number of bytes (binary storage)
ftVarBytes Variable number of bytes (binary storage)
ftAutoInc Auto-incrementing 32-bit integer counter field
ftBlob Binary Large OBject field
ftMemo Text memo field
ftGraphic Bitmap field
ftFmtMemo Formatted text memo field
ftParadoxOle Paradox OLE field
ftDBaseOle dBASE OLE field
ftTypedBinary Typed binary field
ftCursor Output cursor from an Oracle stored
procedure (TParam only)
ftFixedChar Fixed character field
ftWideString Wide string field
ftLargeint Large integer field
ftADT Abstract Data Type field
ftArray Array field
ftReference REF field
ftDataSet DataSet field
ftOraBlob BLOB fields in Oracle 8 tables

Página 241 de 478


ftOraClob CLOB fields in Oracle 8 tables
ftVariant Data of unknown or undetermined type
ftInterface References to interfaces (IUnknown)
ftIDispatch References to IDispatch interfaces
ftGuid globally unique identifier (GUID) values
ftTimeStamp Date and time field accessed through
dbExpress
ftFMTBcd Binary-Coded Decimal field that is too large
for ftBCD.

TAggregateField TAggregateField
Utilize estes comandos de agregação no comando fieldByName para designar o tipo do campo
que você esta extraindo do banco de dados. Se você seleciona um campo do tipo string, então
utilize asString, se o campo for uma data então utilize asDateTime.
AsString
AsInteger
AsFloat
AsDateTime

String String

Para armazenar conjunto de caracteres;Ex.:'texto'

Double Double
Para valores flutuantes.Ex.:5.55

Word Word

Para valores inteiros positivos,utilizada nas funções que trabalham com datas.

TDateTime TDateTime

Para valores flutuantes, utilizada nas funções que trabalham com datas.

TQuery TQuery

Para manipulação de consultas SQL.

Boolean Boolean

Para armazenar valores true ou false.

Variant Variant
Para armazenar qualquer valor,utilizada na função getProperty e no procedimento setProperty.

Array Array

Indica que espera-se um vetor como parâmetro, para declarar um vetor basta inserir o
símbolo '[' depois resta apenas definir o tipo de dados que serão inseridos neste vetor.
Ex.: Vet[20]:integer;tem-se um vetor de 20 posições para armazenar objetos do tipo inteiro.

Diretivas Condicionais Diretivas Corretivas


if-else

case

if - else IF-ELSE
Erro! Fonte de referência não encontrada.Descrição: A diretiva if vem seguida de uma
expressão relacional, cujo valor será ser verdadeiro ou falso. Caso a expressão retorne um
valor verdadeiro, tudo o que estiver dentro do bloco de instruções do „if’ será executado, se a
resposta for falsa então o sistema irá saltar este bloco de instruções e irá executar o bloco de
instruções do „else‟, se este existir. Erro! Fonte de referência não encontrada.
Erro! Fonte de referência não encontrada.A estrutura do comando if é: Erro! Fonte de
referência não encontrada. Erro! Fonte de referência não encontrada. Erro! Fonte
de referência não encontrada.
ifErro! Fonte de referência não encontrada. (expressão relacional) then beginErro!
Fonte de referência não encontrada. Erro! Fonte de referência não encontrada.
comandos;Erro! Fonte de referência não encontrada. Erro! Fonte de
referência não encontrada. Erro! Fonte de referência não encontrada.Erro! Fonte de
referência não encontrada. Erro! Fonte de referência não encontrada.Erro! Fonte de
referência não encontrada.
endErro! Fonte de referência não encontrada.Erro! Fonte de referência não encontrada.
else beginErro! Fonte de referência não encontrada. Erro! Fonte de referência não
encontrada. Erro! Fonte de referência não encontrada. Erro! Fonte de referência
não encontrada.
cErro! Fonte de referência não encontrada.Erro! Fonte de referência não
encontrada. omandos;Erro! Fonte de referência não encontrada. Erro! Fonte de
referência não encontrada. Erro! Fonte de referência não encontrada.Erro! Fonte de
referência não encontrada. Erro! Fonte de referência não encontrada.Erro! Fonte de
referência não encontrada.
endErro! Fonte de referência não encontrada.Erro! Fonte de referência não
encontrada.;Erro! Fonte de referência não encontrada.

ExErro! A referência de hiperlink não é válida.emplo


Este exemplo demonstra o uso do comando if - else, dependo dos valores atribuídos às variáveis i e j uma
ação diferente será tomada.
INTERFACE
IMPLEMENTATION
MAIN
var
i,j : integer;
b : boolean;
BEGIN
i := 2;

Página 243 de 478


j := 4;
if(('asd' = 'asd') or ((i < j) and (i = 3) and (i <> 5)))
then begin
messageDlg('Executou o IF', mtInformation,[mbOk]);
b := 1 > 3;
if(b = false) then begin
messageDlg('b é false', mtInformation,[mbOk]);
end;
end else begin
messageDlg('Executou o ELSE', mtInformation,[mbOk]);
i := i+1;
if(1 > 3) then begin
i := 1;
end;
i := 3;
end;
end.

Veja Também :

case

case Case
Erro! Fonte de referência não encontrada.Descrição: O uso do „case’ é semelhante ao
uso do comando „if‟. Com a diferença que este comando deve ser utilizado apenas
com o tipo inteiro. As instruções que estão entre colchetes são opcionais, estas
opções serão utilizadas quando se quiser utilizar um valor padrão caso nenhuma
opção seja válida.Erro! Fonte de referência não encontrada.
Erro! Fonte de referência não encontrada.A estrutura do comando 'case':
caseErro! Fonte de referência não encontrada. variável Inteira ofErro! Fonte de
referência não encontrada.
valor: begin comandos end;
valor: begin comandos end;
valor: begin comandos end;
[else begin comandos e nd;]
end;

Exemplo:
Este exemplo demonstra o uso do comando case, de acordo com o valor atribuído a variável i
uma ação diferente é tomada. Note que vários comandos podem ser inseridos dentro em cada
uma das opções do case.
INTERFACE
IMPLEMENTATION
MAIN
var
i: integer;
BEGIN
i := 4;
case i of
1: begin
messageDlg('teste 1', mtInformation,[mbOk]);
messageDlg('teste 1.1', mtInformation,[mbOk]);
while(i < 7) do begin
i := i + 1;
messageDlg(IntToStr(i),mtInformation,[mbOk]);
end;
end;
2 : begin messageDlg('teste 2', mtInformation,[mbOk]); end;
3 : begin messageDlg('teste 3', mtInformation,[mbOk]); end;
4 : begin messageDlg('teste 4', mtInformation,[mbOk]); end;
5 : begin messageDlg('teste 5', mtInformation,[mbOk]); end;
6 : begin messageDlg('teste 6', mtInformation,[mbOk]); end;
end else begin
messageDlg('else',mtInformation,[mbOk]);
end;
END.

Veja também:

if - Else

Estruturas de Repetição Estrututas de Repetição


for
while
repeat
break
inc
dec

FOR
for
Erro! Fonte de referência não encontrada.

Descrição: A estrutura de repetição 'for' é utilizada para realizar repetições que vão de um
valor pré-determinado (inteiro) até outro valor também inteiro.Erro! Fonte de referência não
encontrada.
Você pode utilizar esta estrutura com o valor de incremento ascendente ou descendente,
bastando escolher a diretiva 'to' ou 'downto'.

Erro! Fonte de referência não encontrada.A estrutura do comando 'for'Erro! Fonte de


referência não encontrada.

forErro! Fonte de referência não encontrada.i := 1 to 10 do beginErro! Fonte de


referência não encontrada.Erro! Fonte de referência não encontrada. //ascendenteErro!
Fonte de referência não encontrada.
Erro! Fonte de referência não encontrada. comandosErro! Fonte de referência não
encontrada.
Erro! Fonte de referência não encontrada. endErro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada. ;Erro! Fonte de referência não
encontrada.
Erro! Fonte de referência não encontrada. Erro! Fonte de referência não encontrada.
Erro! Fonte de referência não encontrada. forErro! Fonte de referência não encontrada. i
:= 10 downto 1 do begin //descendente
Erro! Fonte de referência não encontrada. comandosErro! Fonte de referência não
encontrada.
Erro! Fonte de referência não encontrada. end;Erro! Fonte de referência não encontrada.

Exemplo
Este exemplo mostra o uso do comando for tanto de forma ascendente (to) quando de forma
descendente (downto).

Página 245 de 478


INTERFACE
IMPLEMENTATION
MAIN
var
i : integer;
BEGIN
for i := 1 to 2+3 do begin
messageDlg('valor i: ' + IntToStr(i),mtInformation,[mbOk]);
end;
messageDlg('Fim do teste com "to"',mtInformation,[mbOk]);
for i := 10 downto 6 do begin
messageDlg('valor i: ' + IntToStr(i),mtInformation,[mbOk]);
end;
messageDlg('Fim do teste downto',mtInformation,[mbOk]);
END.

Veja também:
Break | Dec | Inc | Repeat | While

while WHILE
Erro! Fonte de referência não encontrada.

Descrição: A estrutura de repetição 'while' é utilizada para realizar repetições, estas


repetições seguem uma expressão relacional, enquanto a expressão relacional retornar um
valor verdadeiro esta repetição será executada.Erro! Fonte de referência não encontrada.

Erro! Fonte de referência não encontrada.A estrutura do comando 'while':Erro! Fonte de


referência não encontrada.
while (expressão relacional) do begin
Erro! Fonte de referência não encontrada. comandosErro! Fonte de referência não
encontrada.
Erro! Fonte de referência não encontrada. endErro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada. ;Erro! Fonte de referência não
encontrada.
Erro! Fonte de referência não encontrada.
Diferentemente do comando „for‟, no comando 'while' deve-se explicitar a alteração na
expressão relacional para evitar que o sistema entre em um loop infinito. Caso isto aconteça
pressione (Erro! Fonte de referência não encontrada. Lctrl + F2)Erro! Fonte de referência
não encontrada. para parar o sistema. Onde Erro! Fonte de referência não
encontrada. Lctrl é Left Control.

Exemplo:
Este exemplo demonstra o uso do while, neste exemplo um mensagem será apresentada na
tela enquanto a expressão (i <= 5) for verdadeira.

INTERFACE
IMPLEMENTATION
MAIN
var
i : integer;
BEGIN
i := 1;
while(i <= 5) do begin
messageDlg('valor i: ' + IntToStr(i),mtInformation,[mbOk]);
i := i+1;
end;
messageDlg('Fim do while', mtInformation,[mbOk]);
END.

Veja também:
Break | Dec | For | Inc | Repeat

repeat REPEAT
Erro! Fonte de referência não encontrada. Descrição: A estrutura de repetição „repeat’ é
utilizada para realizar repetições, estas repetições seguem uma expressão relacional, enquanto
a expressão relacional retornar um valor verdadeiro esta repetição será executada.
Diferentemente do comando „while’, a expressão relacional será verificada após os comandos
tiverem sido executados.Erro! Fonte de referência não encontrada.

A estrutura do comando „repeat’:


repeat
comandos
until (expressão relacional);

Assim como no comando „while’ a expressão relacional deve ser alterada para que o sistema
não entre em um loop infinito.
Exemplo:
Este exemplo demonstra o uso do repeat, neste exemplo um mensagem será apresentada na
tela enquanto a expressão (i <> 4) for verdadeira.

INTERFACE
IMPLEMENTATION
MAIN
var
i : integer;
BEGIN
i := 1;
repeat
messageDlg('valor i: ' + IntToStr(i), mtInformation,[mbOk]);
i := i+1;
until(i <> 4);
END.

Veja também:

Break | Dec | For | Inc | While

break BREAK
Sintaxe:
Erro! Fonte de referência não encontrada.procedure break;Erro! Fonte de referência não
encontrada.

Descrição: O comando break é utilizado para sair do fluxo de controle dos comandos for,
while e repeat e continuar o próximo comando seguido do comando de repetição. Este
comando deve ser utilizado apenas nos blocos dos comandos for, while e repeat.
Exemplo:
Este exemplo primeiramente preenchemos um vetor de 100 posições com os valores da raiz
quadrada do índice i. Logo depois realiza-se um busca por registro do vetor onde seu valor
seja maior que 7. Quando um valor maior que 7 for encontrado uma mensagem será exibida
na tela informando o registro do vetor juntamente de seu valor. Então o loop será

Página 247 de 478


interrompido pelo comando break, já que a busca foi bem sucedida, não sendo necessário
percorrer todo o vetor.

INTERFACE
IMPLEMENTATION
MAIN
var
i : integer;
vet[100]: double;
BEGIN
for i := 1 to 100 do begin
vet[i]:= sqrt(i);
end;
i := 1;
while i < 100 do begin
if(vet[i]>7) then begin
showMessage('Encontrou vet[' + IntToStr(i) + '] = ' + FloatToStr(vet[i]));
break;
end;
i := i+1;
end;
END.

Veja também:

Dec | For | Inc | Repeat | While

INC
inc

Sintaxe:
Erro! Fonte de referência não encontrada.procedure Inc(i : integer);Erro! Fonte de
referência não encontrada.

Descrição: O comando IncErro! Fonte de referência não encontrada. é utilizado para


incrementar uma variável do tipo inteiro. O valor contido nesta variável será acrescido
de um, toda vez que o procedimento Erro! Fonte de referência não encontrada. Inc for
executado.

Exemplo:
Este exemplo demonstra o uso do while, neste exemplo um mensagem será apresentada na
tela enquanto a expressão (i <= 5) for verdadeira.

INTERFACE
IMPLEMENTATION
MAIN
var
i : integer;
BEGIN
i := 1;
while(i <= 5) do begin
messageDlg('valor i: ' + IntToStr(i),mtInformation,[mbOk]);
Inc(i); // este procedimento equivale ao comando: i := i + 1;
end;
messageDlg('Fim do while', mtInformation,[mbOk]);
END.

Veja também:
Break | Dec | For | Repeat | While
decDEC
Sintaxe:
Erro! Fonte de referência não encontrada.procedure Dec(i : integer);Erro! Fonte de
referência não encontrada.

Descrição:O comando Dec é utilizado para decrementar uma variável do tipo inteiro. O valor
contido nesta variável será decrescido de um, toda vez que o procedimento Dec for executado.
Exemplo:
Este exemplo demonstra o uso do while, neste exemplo um mensagem será apresentada na
tela enquanto a expressão (i >= 0) for verdadeira.

INTERFACE
IMPLEMENTATION
MAIN
var
i : integer;
BEGIN
i := 10;
while(i >= 0) do begin
messageDlg('valor i: ' + IntToStr(i),mtInformation,[mbOk]);
Dec(i); // este procedimento equivale ao comando: i := i - 1;
end;
messageDlg('Fim do while', mtInformation,[mbOk]);
END.

Veja também:
Break | For | Inc | Repeat | While

Funções do Sistema Funções do Sistema


addlog
beep
calculaAcu
calTempEfetParApl
changePassword
dropRegIni
encrypt
EngemanClient
EngemanWeb
EngemanService
exceptUsers
exportReport
fileReport
fileExists
genTag
genTagGru
genTagOrd
getAccess
getComputerIP
getComputerName
getSusUserName
getCurrentEmp
getCurrent Fil

Página 249 de 478


getFileDate
getRegIni
getTempPath
getVersion
netSend
isInteger
isNumeric
loadFromFile
oldDropRegIni
oldGetRegIni
oldPutRegIni
predX
predXAccum
predY
predYAccum
printReport
putAccess
putRegIni
refreshAccess
regression
regAccum
saveToFile
sendMail
sendReport
simpleSearch
sleep
speedReport
userAccess
openDialog
saveDialog
TryEncodeDate
TryEncodeDateTime
TryStrToBool
TryStrToDate
TryStrToDateTime
TryStrToInt
TryStrToFloat
TryStrToTime
TryFloatToDateTime
VerificaAcumuladas
VerificaCampo
InsereFiltro
FecharOS
CancelaOS
VerificaSS

addLog Procedimento addLog

Sintaxe:
Erro! Fonte de referência não encontrada.
procedure addLogErro! Fonte de referência não encontrada.Erro! Fonte de referência não
encontrada. (comentario: String);Erro! Fonte de referência não encontrada.

Descrição: O procedimento addLog insere um comentário na tabela de log do usuário.


Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
BEGIN
//um registro de log será inserido se o comando execSql for bem sucessedido
if ExecSql('Delete * from tabela1 where cod = 1') then begin
addLog('Excluiu registro da tabela1, cod=1');
end;
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport |


EngemanClient | EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP |
GetComputerName | GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser |
GetFileDate | GetRegIni | GetTempPath | GetVersion | GetAccess | NetSend | PutAccess |
PutRegIni | PrintReport | PredX | PredY | PredXAccum | PredYAccum | RegAccum |
Regression | RefreshAccess | FileExists LoadFromFile | SaveToFile | SendMail | SendReport |
SpeedReport | Sleep | isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

beep Beep

Syntax:
Erro! Fonte de referência não encontrada.procedure beep;Erro! Fonte de referência não
encontrada.

Descrição: Este comando gera um sinal de áudio (um beep) .

Exemplo:
Este exemplo emite um beep cinco vezes em um intervalo de tempo de 1,6 segundos entre
cada mensagem sonora.

INTERFACE
IMPLEMENTATION
MAIN
var
i : integer;
BEGIN
i := 0;
while i < 5 do begin
beep;
sleep(1600); //tempo em milesegundos
inc(i);
end;
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

Página 251 de 478


calculaAcu CalculaAcu

Sintaxe:
function calculaAcu (codApl: Double; codPonAcuErro! Fonte de referência não
encontrada.: Double) : Double; Erro! Fonte de referência não encontrada.

Descrição:
 A função calculaAcu calcula o valor acumulado considerando as viradas de relógio.
 codApl: código da Aplicação,
 codPonAcu: o código do Ponto de Controle Acumulativo.

Exemplo:

INTERFACE

IMPLEMENTATION

MAIN
VAR
ValorAcumulado : Double;
BEGIN
ValorAcumulado := calculaAcu(117, 31);
if (ValorAcumulado > 1000000) then begin
showMessage('O Valor Acumulado é :'+floatToStr(ValorAcumulado));
end;
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu

calcTempEfetParApl CalcTempEfetParApl

Sintaxe:
function calcTempEfetParApl (codapl:String; maqpar,maqfun:TDateTime):
Double;Erro! Fonte de referência não encontrada.Erro! Fonte de referência não
encontrada.

Descrição:
 A função calcTempEfetParApl calcula o tempo efetivo de uma parada de uma aplicação
de acordo com sua escala de trabalho manual e/ou automática.
 codApl: código da Aplicação,
 maqPar: Data em que a máquina parou,
 maqFun: Data em que a máquina funcionou.

Exemplo:

INTERFACE
IMPLEMENTATION

MAIN
var
tmp : double;
str : string;
datpar,datfun : TDateTime;
codapl : string;
BEGIN
codapl := '44';
datPar := strToDateTime('03/01/2007');
datFun := strToDateTime('10/01/2007');
tmp := calcTempEfetParApl(codapl,datPar,datFun);
str := floatToStr(tmp);
showMessage(str);
tmp := calcTempEfetParApl(codapl,'03/01/2007','10/01/2007');
str := floatToStr(tmp);
showMessage(str);
//vai retornar um erro: parâmetro double para um tipo TDateTime.
tmp := calcTempEfetParApl(codapl,'566.6565','10/01/2007');
str := floatToStr(tmp);
showMessage(str);
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

changePassword ChangePassword

Sintaxe:
procedureErro! Fonte de referência não encontrada. changePassword(user: String;
newPassword: String);Erro! Fonte de referência não encontrada.

Descrição: O procedimento changePassword é utilizado para alterar a senha de um


usuário.
- user: nome do usuário que se deseja alterar a senha. Este é o nome do usuário no Engeman.
- newPassword: nova senha para este usuário. Não se deve criptografar a senha, esta será
criptografada automaticamente.
Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
user, newPass : String;
BEGIN
user := 'Joao';
newPass := 'ZY1jk72qPtIemoSh2w'; //Esta senha é a original sem ser criptografada!
changePassword(user,newPass);

Página 253 de 478


END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

encrypt Encrypt

Sintaxe:
Erro! Fonte de referência não encontrada.function encrypt(senha : String) :
String;Erro! Fonte de referência não encontrada.

Descrição: A função encrypt é utilizada para criptografa uma string qualquer. Esta função
recebe como parâmetro uma string que será criptografada e retorna seu novo valor, já
codificado.
Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
senha : string;
BEGIN
senha := 'senha123';
senha := encrypt(senha);
showMessage(senha);
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

EngemanClient EngemanClient

Sintaxe:
functionErro! Fonte de referência não encontrada. EngemanClient : Boolean;Erro! Fonte
de referência não encontrada.

Descrição: Esta função retorna verdadeiro se a regra estiver sendo executadas através do
Engeman Client/Server e falso se executado pelo EngemanWeb.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
if EngemanClient then begin
messagedlg('Erro 1 na Regra"FPLANISER-ORDSER-AFTERINSERT"',mtwarning,[mbOk]);
end else begin
showMessage('Erro 1 na Regra "FPLANISER - ORDSER - AFTERINSERT"');
end;
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

exceptUsers ExceptUsers

Sintaxe:
function exceptUsersErro! Fonte de referência não encontrada. (userList :
String) : Boolean;Erro! Fonte de referência não encontrada.

Descrição: A função exceptUsers retorna true se o usuário corrente estiver na lista de


usuários que é passada para função. Os nomes dos usuários devem estar contidos em uma
string e separados por vírgulas.
Exemplo:
Neste exemplo, se o usuário corrente não pertencer ao grupo dos usuários citados na lista
('JOÃO,paulo,Marcos'), uma mensagem será apresentada na tela, senão o processo será
abortado.
INTERFACE
IMPLEMENTATION
MAIN
BEGIN
if exceptUsers('JOÃO,paulo,Marcos') then begin
Abort;
end else begin
ShowMessage('O usuário corrente não está na lista acima!');
end;
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |

Página 255 de 478


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

exportReport ExceptReport

Sintaxe:
procedure exportErro! Fonte de referência não encontrada.Report(codRel,path:
String; type: TExport); overload;Erro! Fonte de referência não encontrada.
procedure exportErro! Fonte de referência não encontrada.Report(codRel,path:
String; type: TExport; showFilter: Boolean); overload;
procedure exportErro! Fonte de referência não encontrada.Report(codRel,path:
String; type: TExport; showFilter: Boolean; CondSQL: String; Qry: String);
overload;
Erro! Fonte de referência não encontrada.

Erro! Fonte de referência não encontrada.


Descrição: O procedimento exportReport é utilizado para exportar um relatório. O
relatório será exportado para o local indicado pelo usuário através do parâmetro path. O nome
do arquivo e sua extensão deve ser informado. Se o usuário não informar o caminho (path)
um caixa de diálogo será apresentada questionando ao usuário onde o relatório será salvo.
Outro parâmetro será o formato de exportação. São 11 tipos de formatos para exportação. No
quarto e último parâmetro será determinado se os filtros do relatório serão exibidos ou não.
- codRel: é o código do relatório que será enviado por e-mail. Este é o código reduzido dos
relatórios no Engeman.
- path: caminho onde deve ser gravado o relatório. Informe o nome do arquivo e a sua
extensão. Ex: 'c:\relatorio.pdf'
- type: tipo de exportação. Os tipos possíveis são:
PDF exportPDF
RTF exportRTF
HTM exportHTM
GIF exportGIF
BMP exportBMP
JPG exportJPG
EMF exportEMF
WMF exportWMF
XLS exportXLS
TXT exportTXT
CSV exportCSV

- showFilter: exibir filtro(true ou false)


- condicao : para adicionar um filtro no relatório. Exemplo: ('tag= "0001" and codemp = 1')
ou ('tag 2=3 = "0001" and codemp 1=0 =1').

- query : para identificar qual query o filtro irá ser adicionado. Exemplo: ('Query1');

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
// Relatório exportado para o formato PDF no diretório C:\
exportReport('82', 'c:\report.pdf',exportPDF);
// Relatório exportado para o formato GIF, o diretório será solicitado em tempo
de execução
exportReport('82','',exportGIF);
// Relatório exportado para o formato GIF, o diretório será solicitado em tempo
de execução e será exibido a tela de filtro.
exportReport('82','',exportGIF,true);
// Relatório exportado para o formato GIF, o diretório será solicitado em tempo
de execução e será passado um filtro e a Query como parâmetro.
exportReport('82','',exportGIF,false,'Tag = "0001" and codfil = 1','Query2');
END.

Veja Também:
AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |
EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

fileExists FileExists

Sintaxe:
function Erro! Fonte de referência não encontrada.fileExists(path : String):
Boolean;Erro! Fonte de referência não encontrada.

Descrição: A função fileExists verifica se o arquivo informado no parâmetro existe. Se o


arquivo se encontrar no caminho especificado a função retornará true, senão retornará false.
Esta função recebe um parâmetro:
- path: o caminho com o nome do arquivo que se deseja verificar a existência.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
content: String;
BEGIN
if fileExists('c:\file.txt') then begin
loadFromFile(content,'c:\file.txt');
showMessage(content);
end else begin
messageDlg('O arquivo procurado não existe.',mtWarning,[mbOk]);
end;
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |

Página 257 de 478


PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

genTag GenTag
Sintaxe :
function genTag (tabela : String; campo : String; empresa : String) : String;

Descrição: A função genTag é utilizada para gerar um tag válido, porém esta função deve ser
utilizada apenas para tags com valores numéricos. Tags com máscara Alpha Numérica não
poderã ser geradas. Esta função recebe como parâmetro o nome da tabela, o campo e para
qual empresa este tag será gerado.

Exemplo:
Neste exemplo, uma mensagem com um tag válido tabela centro de custo da empresa
corrente.

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
showMessage('Tag: ' + GenTag('cencus','tag',GetCurrentEmp));
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

genTagGru GenTagGru

Sintaxe:
function genTagGru (table,cod,taggru,condition : String) : String;

Descrição: A função genTagGru é utilizada para gerar um novo código de agrupamento. Esta
função recebe quatro parâmetros:
- table: o nome da tabela para geração do agrupamento. Ex: Aplic
- cod: o código principal do agrupamento. Ex : codapl
- taggru: o tag do agrupamento corrente que dá origem ao novo agrupamento.
- condition: condição para geração do novo taggru. Esta condição deve seguir a sintaxe de um
código SQL, e deve começar a a palavra chave 'and '. Ex: 'and codemp = 1 and codfil = 3'.

Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
TagGru,CodApl,NovoTAgGru: string;
BEGIN
TagGru := FieldByName('aplic','taggru',AsString);
CodApl := FieldByName('aplic','codapl',AsString);
TagGru := Trim(TagGru);
if (TagGru='') then begin
MessageDlg('Esta aplicação não tem agrupamento!',mtinformation,[mbOk]);
end else begin
NovoTagGru := GenTagGru('aplic',codapl,TagGru,'and codemp='+GetCurrentEmp);
showMessage(NovoTagGru);
end;
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

genTagOrd GenTagOrd

Sintaxe:
function genTagOrd (codFil : String) : String;

Descrição: A função genTagOrd é utilizada para gerar um código para O.S. (ordem de
serviço), para isso você deve informar o código da filial. Podendo utilizar o comando
getCurrentFil, caso não se deseje passar o código da filial, passe para a função uma string
vazia (''). Esta função devolve o código como uma string.

Exemplo:
Neste exemplo, uma mensagem com um número válido para geração de uma O.S. será
exibido.
INTERFACE
IMPLEMENTATION
MAIN
BEGIN
showMessage('Tag para O.S.: ' + GenTagOrd(GetCurrentFIl));
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

getAccess GetAccess

Página 259 de 478


Sintaxe:
functio n getErro! Fonte de referência não encontrada.Access(item: String; access:
Char; user: String) : Boolean;Erro! Fonte de referência não encontrada.
functio n getErro! Fonte de referência não encontrada.Access(item: String; access:
Char; user: String) : Boolean;Erro! Fonte de referência não encontrada.

Descrição: A função getAccess ou userAccess, verifica se o usuário possui acesso a


determinada item(Tela de O.S., Tela de Aplicação) do Engeman. Pode-se verificar também se o
usuário possui permissão para alterar, editar ou inserir dados em determinado item. O que
determina qual acesso será recuperado é o parâmetro access. Veja tabela abaixo para os
possíveis valores deste parâmetro.
Parâmetros:
- item : uma string que representa os itens de menu do Engeman.
- access: um caractere que determina qual o tipo de acesso deseja-se verificar.
- user: nome do usuário do Engeman para qual se deseja verificar o acesso a determinado
item.
Tabela de Acesso
0 Possui acesso ao item
1 Não possui acesso ao item
A Possui permissão para alterar registro
E Possui permissão para editar registro
I Possui permissão para inserir novo registro

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
if userAccess('20100111','A',getCurrentUser) then begin
showMessage('tem acesso');
end else begin
showMessage('Não tem acesso');
end;
//retira Acesso para alterar (A)
putAccess('20100111-0- EI',getCurrentUser,false);
refreshAccess; // atualiza tabela de acesso
if getAccess('20100111','A',getCurrentUser) then begin
showMessage('tem acesso');
end else begin
showMessage('Não tem acesso');
end;
//Insere Acesso para alterar (A) e atualiza tabela de acesso
putAccess('20100111-0-AEI',getCurrentUser,true);
if getAccess('20100111','A',getCurrentUser) then begin
showMessage('tem acesso');
end else begin
showMessage('Não tem acesso');
end;
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

getComputerIP GetComputerIP
Sintaxe:
function getComputerIP : String;

Descrição: A função getComputerIP é utilizada para recuperar o IP (Internet Protocol) do


computador na rede. Esta função retorna o IP do computador local.

Exemplo:
Neste exemplo, uma mensagem com o IP do computador corrente será apresentada.

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
showMessage('Este é o IP: ' + GetComputerIP + ' deste computador');
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

getComputerName GetComputerName

Sintaxe:
function getComputerName : String;

Descrição: A função getComputerName é utilizada para recuperar o nome do computador


na rede. Esta função retorna o nome do computador local.

Exemplo:
Neste exemplo, uma mensagem com o nome do computador corrente será apresentada.

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
showMessage('Este é o computador: ' + GetComputerName);
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |

Página 261 de 478


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

getSysUserName GetSysUserName

Sintaxe:
function getSysUserName : String;

Descrição: A função getSysUserName retorna o usuário logado no sistema operacional.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
if lowerCase(getSysUserName)='thiago' then begin
showmessage('Usuário : '+getSysUserName);
end;
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

getCurrentEmp GetCurrentEmp

Sintaxe:
function getCurrentEmp : String;

Descrição: A função getCurrentEmp é utilizada para recuperar a empresa que está em


operação no momento.

Exemplo:
Neste exemplo, uma mensagem com o código da Empresa corrente será apresentada.

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
showMessage('A Empresa corrente é: ' + GetCurrentEmp);
END.
Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

getCurrentFil GetCurrentFil

Sintaxe:
function getCurrentFil : String;

Descrição: A função getCurrentfil é utilizada para recuperar a filial que está em operação no
sistema no momento.
Exemplo:
Neste exemplo, uma mensagem com o código da Filial corrente.

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
showMessage('A Filial corrente é: ' + GetCurrentFIl);
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

getCurrentUser GetCurrentUser

Sintaxe:
functioErro! Fonte de referência não encontrada.n getCurrentUser : String;Erro! Fonte
de referência não encontrada.

Descrição: A função getCurrentUser é utilizada para recuperar o usuário que está


utilizando o sistema no momento.
Exemplo:
Neste exemplo, uma mensagem com o nome do usuário corrente é apresentada.

INTERFACE
IMPLEMENTATION
MAIN
BEGIN

Página 263 de 478


showMessage('O usuário logado no sistema é: ' + GetCurrentUser);
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

getFileDate GetFileDate

Sintaxe:
function getFileDateErro! Fonte de referência não encontrada. (file : String)Erro!
Fonte de referência não encontrada.Erro! Fonte de referência não encontrada.:
TDateTime;Erro! Fonte de referência não encontrada.

Descrição: A função getFileDate é utilizada para recuperar a date de um arquivo. Para isso
deve-se informar o nome do arquivo e sua extensão, se necessário informe todo o caminho
para se encontrar o arquivo.
Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
d : TDateTime;
BEGIN
d := getFileDate('C:\engcs\engeman.exe');
showMessage('Data:' + DateTimeToStr(d));
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

getRegIni GetRegIni

Sintaxe:
function GetRegIni(tipo: Char; topico,variavel: String; padrao: variant; nome: String) :
String;
Descrição: A função GetRegIni recupera um registro na tabela Regini. Esta função recebe
cinco parâmetros:
- tipo : um caracter, os possíveis valores são: 'I', 'S' ou 'B', que correspondem
respectivamente a Integer, String e Boolean
- topico: uma String que representa o diretório onde se encontra o registro
- variavel: uma String que indica o registro que deve ser buscado
- padrao: valor padrão de retorno da função, podendo se do tipo Integer, String ou Boolean.
- nome : uma String que indica o nome do registro que deve ser buscado.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
s : String
BEGIN
PutRegIni('S','teste','a1','valor da string',getcurrentUser);
s := GetRegIni('S','teste','a1','',getcurrentUser);
showMessage(s);
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

getTempPath GetTempPath

Sintaxe:
Erro! Fonte de referência não encontrada.function getTempPath : String;Erro! Fonte
de referência não encontrada.

Descrição: A função getTempPath retorna a localização do diretório temp da máquina local.


Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
path: string;
BEGIN
path := getTempPath;
showMessage(path);
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |

Página 265 de 478


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

getVersion GetVersion

Sintaxe:
functioErro! Fonte de referência não encontrada.n getVersionErro! Fonte de referência
não encontrada.Erro! Fonte de referência não encontrada. (file : String)Erro! Fonte de
referência não encontrada. : String;

Descrição: A função getVersion é utilizada para recuperar a versão de um arquivo. Para isso
deve-se informar o nome do arquivo e sua extensão, se necessário informe todo o caminho
para se encontrar o arquivo.

Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
BEGIN
ShowMessage(getVersion('c:\engcs\engeman.exe'));
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

netSend NetSend

Sintaxe:
function netSend (host, message: String): Boolean;

Descrição: A função netSend envia uma mensagem para computadores na rede local. Esta
função recebe dois parâmetros:
- host: o nome do micro ou o IP, para onde se deseja enviar a mensagem
- message: texto que será enviado.
Esta função retorna true se a mensagem for enviada com sucesso, caso contrário retorna
false.

Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
BEGIN
netSend('192.168.100.14','Enviando mensagem para o micro com IP: 192.168.0.23');
netSend('Paulo','Enviando mensagem para o micro: Paulo');
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

isInteger IsInteger

Sintaxe:
function isInteger(text: String);

Descrição: Esta função recebe como parâmetro um texto e retorna verdadeiro (true) se o
mesmo poder ser convertido para inteiro.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
if isInteger('3,5') then begin
showMessage('Pode converter para inteiro.');
end else begin
showMessage('Não pode converter para inteiro.');
end;
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | CalculaAcu | calcTempEfetParApl

isNumeric IsNumeric

Sintaxe:
function isNumeric(text: String);

Descrição: Esta função recebe como parâmetro um texto e retorna verdadeiro (true) se o
mesmo poder ser convertido para decimal.

Página 267 de 478


Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
if isNumeric('3,5') then begin
showMessage('Pode converter para decimal.');
end else begin
showMessage('Não pode converter para decimal.');
end;
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isInteger | CalculaAcu | calcTempEfetParApl

loadFromFile LoadFromFile

Sintaxe:
procedure loadFromFileErro! Fonte de referência não encontrada. (id : string; path :
String);Erro! Fonte de referência não encontrada.

Descrição: O procedimento loadFromFile carrega para um identificador (variável) do tipo


string o conteúdo de um arquivo texto no HD. Este procedimento carrega apenas arquivos de
texto. Esta função recebe dois parâmetros:
- id: neste parâmetro deve-se informar qual o identificador que irá receber o conteúdo do
arquivo.
- path: o caminho onde se encontra o arquivo. Juntamente do caminho deve-se informar o
nome do arquivo e sua extensão.

Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
sql : String;
qry : TQuery;
BEGIN
// recupera o SQL de um arquivo no HD
loadFromFile(sql,'c:\sql\select\consulta_01.sql');
OpenSQL(qry,sql);
closeSQL(qry);
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

predX PredX

Sintaxe:
function predXErro! Fonte de referência não encontrada. (type : TRegType; A : Double;
B : Double; value : Double; date : TDateTime; lastMaint : TDateTime) :
TDateTime; Erro! Fonte de referência não encontrada.

Descrição:
 A função predX é utilizada para calcular a data da próxima manutenção.
 Deve ser informar o tipo de regressão que será utilizado no cálculo. Este valor pode ser
obtido através da função regression, ou pode-se informar explicitamente o valor
desejado, para isto veja os possíveis valores em TRegType.
 Os valores de A e B são os coeficientes da curva apresentada pela regressão, estes valores
são obtidos utilizando-se a função regression.
 O parâmetro value indica o limite que deverá ser atingido, é o valor do plano.
 O parâmetro date será a data de hoje ou a data de referencia desejada.
 O parâmetro lastMaint é a data de última manutenção.
 Esta função irá retornar um data, que representa a data da próxima manutenção.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
equ,sql, error : String;
qry : TQuery;
dat : TDateTime;
value,A,B, dx : Double;
tipo : TRegType;
BEGIN
sql := 'SELECT COLTEN.* FROM COLTEN WHERE ' +
'CODPONTEN=374 ' +
'AND CODAPL=3306 ' +
'AND DATHOR > "01/10/2004" '+
'order by DATHOR';
error := OpenSQL(qry,sql);
if error = '' then begin
equ := regression(qry,tipo,A,B,15,15,0);
showMessage('Equação: ' + equ);
dat := predX(tipo,A,B,100,strToDateTime('01/10/2004'),0);
showMessage('Data de predX: ' + DateTimeToStr(dat));
dx := (strToDateTime('21/10/2004')-strToDateTime('01/10/2004'))*24;
showMessage('Dx: ' + floatToStr(dx));
value := predY(dx,regLinear,A,B);
showMessage('Valor predY: ' + FloatToStr(value));
closeSQL(qry);
end else begin
messageDlg('Erro SQL' + chr(13) + error,mtError,[mbOk]);
end;
END.

Página 269 de 478


Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

predXAccum PredXAccum

Sintaxe:
function predXAccum (codEmp: Double; codPla: Double; codApl: Double;
codPonAcuErro! Fonte de referência não encontrada.: Double; planValue: Double;
value: Double) : TDateTime; Erro! Fonte de referência não encontrada.

Descrição:
 A função predXAccum calcula a data de próxima manutenção para planos acumulativos,
de acordo com um valor informado pelo usuário.
 codEmp: código da empresa,
 codPla: código do Plano de manutenção,
 codApl: código da Aplicação,
 codPonAcu: o código do Ponto de Controle Acumulativo,
 planValue: valor do plano de manutenção,
Esta função irá retornar um data, que representa a data da próxima manutenção.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
codEmp, codPla, codApl, codPonAcu, valorPlano, valor : double;
data : TDateTime;
value : Double;
BEGIN
codEmp := 1;
codPla := 82;
codApl := 205;
codPonAcu := 21;
valorPlano := 200;
valor := 200;
data := predXAccum(codEmp,codPla,codApl,codPonAcu,valorPlano,valor);
showMessage('predXAccum : ' + DateTimeToStr(data));
data := regAccum(codEmp,codPla,codApl,codPonAcu,valorPlano);
showMessage('RegAccum : ' + DateTimeToStr(data));
value := predYAccum(codEmp,codPla,codApl,codPonAcu,valorPlano,now);
showMessage('predYAccum : ' + FloatToStr(value));
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

PredY
predY

Sintaxe:
function predYErro! Fonte de referência não encontrada.
(dx : Double; type :
TRegType; A : Double; B : Double): Double; Erro! Fonte de referência não encontrada.

Descrição:
 A função predY é utilizada para calcular o valor atingido na próxima da data desejada.
 dx é a variação do intervalo em dias desejado, este valor deverá ser em horas.
 Deve ser informar o tipo de regressão que será utilizado no cálculo. Este valor pode ser
obtido através da função regression, ou pode-se informar explicitamente o valor
desejado, para isto veja os possíveis valores em TRegType.
 Os valores de A e B são os coeficientes da curva apresentada pela regressão, estes valores
são obtidos utilizando-se a função regression.

Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
equ,sql, error : String;
qry : TQuery;
dat : TDateTime;
value,A,B, dx : Double;
tipo : TRegType;
BEGIN
sql := 'SELECT COLTEN.* FROM COLTEN WHERE ' +
'CODPONTEN=374 ' +
'AND CODAPL=3306 ' +
'AND DATHOR > "01/10/2004" '+
'order by DATHOR';
error := OpenSQL(qry,sql);
if error = '' then begin
equ := regression(qry,tipo,A,B,15,15,0);
showMessage('Equação: ' + equ);
dat := predX(tipo,A,B,100,strToDateTime('01/10/2004'),0);
showMessage('Data de predX: ' + DateTimeToStr(dat));
dx := (strToDateTime('21/10/2004')-strToDateTime('01/10/2004'))*24;
showMessage('Dx: ' + floatToStr(dx));
value := predY(dx,regLinear,A,B);
showMessage('Valor predY: ' + FloatToStr(value));
closeSQL(qry);
end else begin
messageDlg('Erro SQL' + chr(13) + error,mtError,[mbOk]);
end;
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |

Página 271 de 478


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

predYAccum PredYAccum

Sintaxe:
function predYAccum (codEmp: Double; codPla: Double; codApl: Double;
codPonAcuErro! Fonte de referência não encontrada.: Double; planValue: Double;
date: TDateTime) : Double; Erro! Fonte de referência não encontrada.

Descrição:
 A função predYAccum calcula o provável valor acumulado de acordo com uma
determinada data.
 codEmp: código da empresa,
 codPla: código do Plano de manutenção,
 codApl: código da Aplicação,
 codPonAcu: o código do Ponto de Controle Acumulativo,
 planValue: valor do plano de manutenção,
 date: data que se deseja saber o valor acumulado.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
codEmp, codPla, codApl, codPonAcu, valorPlano, valor : double;
data : TDateTime;
value : Double;
BEGIN
codEmp := 1;
codPla := 82;
codApl := 205;
codPonAcu := 21;
valorPlano := 200;
valor := 200;
data := predXAccum(codEmp,codPla,codApl,codPonAcu,valorPlano,valor);
showMessage('predXAccum : ' + DateTimeToStr(data));
data := regAccum(codEmp,codPla,codApl,codPonAcu,valorPlano);
showMessage('RegAccum : ' + DateTimeToStr(data));
value := predYAccum(codEmp,codPla,codApl,codPonAcu,valorPlano,now);
showMessage('predYAccum : ' + FloatToStr(value));
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl
printReport PrintReport

Sintaxe:
procedure printReport(codRel: String; sendToPrinter: Boolean); overload
procedure printReport(codRel: String; sendToPrinter: Boolean; showFilter: Boolean);
overload
procedure printReport(codRel: String; sendToPrinter: Boolean; showFilter: Boolean;
condSql: String; Qry: String); overload

Descrição: O procedimento printReport envia um relatório para tela, em modo de


visualização ou o envia direto para impressora, de acordo com o valor do parâmetro
sendToPrinter que este procedimento recebe. Para isto deve-se informar o código deste
relatório que deve ser passado como um valor String e o parâmetro sendToPrinter de
visualização/impressão. Se o sendToPrinter for true então o relatório será enviado a
impressora, se false será enviado para tela do computador. Outro parâmetro é o showFilter,
este parâmetro indica se a tela de filtros deverá ser apresentada ou não, o padrão é true.
- codrel : codigo do relatório.
- SendToPrinter : Envia para impressora.
- showFilter : mostra o filtro.
- condicao : para adicionar um filtro no relatório. Exemplo: ('tag= "0001" and codemp = 1')
ou ('tag 2=3 = "0001" and codemp 1=0 =1').
- query : para identificar qual query o filtro irá ser adicionado. Exemplo: ('Query1')

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
//envia relatório de código 125 para tela, para visualização
printReport('125',false);
//envia o mesmo relatório de código 125 para impressora
printReport('125',true);
//envia o mesmo relatório do código 125 para visualização, mas com filtro
printReport('125',false,true);
//envia o mesmo relatório do código 125 para visualização, passando o filtro
//como parâmetro
printReport('125',false,false,'tag = "0001" and codfil = 1');
//envia o mesmo relatório do código 125 para visualização, passando o filtro
// e a Query como parâmetro
printReport('125',false,false,'tag = "0001" and codfil = 1','Query1');
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

Página 273 de 478


putAccess PutAccess

Sintaxe:
procedure putErro! Fonte de referência não encontrada.Access(item: String; user:
String); overload;Erro! Fonte de referência não encontrada.
procedure putErro! Fonte de referência não encontrada.Access(item: String; user:
String; refresh: Boolean); overload;Erro! Fonte de referência não encontrada.

Descrição: O procedimento putAccess, altera a permissão de um determinado item (tela de


O.S., tela de Aplicação etc) do Engeman, inserindo ou excluindo a permissão a este item. O
que determina se o usuário terá permissão ao item são os caracteres de acesso que devem
estar juntamente do código do item mas separados pelo caractere hífen (-).
Ex: '122933382-0-A I' 122933382 - item, 0 - possui permissão ao item - AEI, determina
acesso para alterar, editar e inserir registros para este item, no exemplo o usuário não terá
permissão para editar (o espaço está em branco).
Parâmetros:
- item : uma string que representa os itens de menu do Engeman.
- user: nome do usuário do Engeman para qual se deseja verificar o acesso a determinado
item.
- refresh: atualiza a tabela de acesso, se true a tabela será atualizada no momento da
execução do comando, se false será necessário utilizar o comando refreshAccess ou realizar o
login novamente do Engeman.
Tabela de Acesso
0 Possui acesso ao item
1 Não possui acesso ao item
A Possui permissão para alterar registro
E Possui permissão para editar registro
I Possui permissão para inserir novo registro

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
if userAccess('20100111','A',getCurrentUser) then begin
showMessage('tem acesso');
end else begin
showMessage('Não tem acesso');
end;
//retira Acesso para alterar (A)
putAccess('20100111-0- EI',getCurrentUser,false);
refreshAccess; // atualiza tabela de acess
if getAccess('20100111','A',getCurrentUser) then begin
showMessage('tem acesso');
end else begin
showMessage('Não tem acesso');
end;
//Insere Acesso para alterar (A) e atualiza tabela de acesso
putAccess('20100111-0-AEI',getCurrentUser,true);
if getAccess('20100111','A',getCurrentUser) then begin
showMessage('tem acesso');
end else begin
showMessage('Não tem acesso');
end;
END.
Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

putRegIni PutRegIni

Sintaxe:
procedure PutRegIniErro! Fonte de referência não encontrada. (tipo: Char;
topico,variavel: String; conteudo: variant; nome: String);Erro! Fonte de
referência não encontrada.

Descrição: O procedimento PutRegIni insere um registro na tabela RegIni. Este


procedimento recebe cinco parâmetros:
- tipo : um caracter, os possíveis valores são: 'I', 'S' ou 'B', que correspondem
respectivamente a Integer, String e Boolean.
- topico: uma String que representa o diretório onde se encontra o registro.
- variavel: uma String que indica o registro que deve ser buscado.
- conteudo: valor que será gravado no registro, podendo se do tipo Integer, String ou Boolean.
O tipo do conteúdo deve estar de acordo com o caracter informado pelo argumento" tipo".
- nome: uma String que indica o nome do registro que deve ser buscado.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
s : String;
BEGIN
PutRegIni('S','teste','a1','valor da string',getCurrentUser);
s := GetRegIni('S','teste','a1','',getCurrentUser);
showMessage(s);
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

RefreshAccess RefreshAccess

Página 275 de 478


Sintaxe:
procedure Erro! Fonte de referência não encontrada.refreshAccess;Erro! Fonte de
referência não encontrada.

Descrição: O procedimento refreshAccess, atualiza a tabela de acessos.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
if userAccess('20100111','A',getCurrentUser) then begin
showMessage('tem acesso');
end else begin
showMessage('Não tem acesso');
end;
//retira Acesso para alterar (A)
putAccess('20100111-0- EI',getCurrentUser,false);
refreshAccess; // atualiza tabela de acesso
if getAccess('20100111','A',getCurrentUser) then begin
showMessage('tem acesso');
end else begin
showMessage('Não tem acesso');
end;
//Insere Acesso para alterar (A) e atualiza tabela de acesso
putAccess('20100111-0-AEI',getCurrentUser,true);
if getAccess('20100111','A',getCurrentUser) then begin
showMessage('tem acesso');
end else begin
showMessage('Não tem acesso');
end;
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

regression Regression

Sintaxe:
function regressionErro! Fonte de referência não encontrada. (qry: TQuery; var type:
TRegType; var A: Double; var B: Double; hisNum: Double; hisPer: Double;
clockTurn: Double): String; Erro! Fonte de referência não encontrada.

Descrição:
 A função regression retorna a equação utilizada nos cálculos de regressão, além disso
você deve informar três variáveis, type, A e B. Após a chamada desta função estes valores
serão preenchidos de acordo com os valores dos demais parâmetros. Os valores de type, A
e B serão utilizados pelas função predX e predY.
 qry é um objeto TQuery, que deve conter a consulta necessária para os cálculos de
regressão.
 hisNum é o número máximo de pontos (a partir do último) a ser analisado para regressão.
 hisPer é o período máximo em dias (a partir da última coleta) a ser analisado para
regressão.
 cloakTurn é o valor da virada do relógio de medição (valor máximo).

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
equ,sql,error: String;
qry: TQuery;
dat: TDateTime;
value,A,B, dx: Double;
tipo: TRegType;
BEGIN
sql := 'SELECT COLTEN.* FROM COLTEN WHERE ' +
'CODPONTEN=374 ' +
'AND CODAPL=3306 ' +
'AND DATHOR > "01/10/2004" '+
'order by DATHOR';
error := OpenSQL(qry,sql);
if error = '' then begin
equ := regression(qry,tipo,A,B,15,15,0);
showMessage('Equação: ' + equ);
dat := predX(tipo,A,B,100,strToDateTime('01/10/2004'),0);
showMessage('Data de predX: ' + DateTimeToStr(dat));
dx := (strToDateTime('21/10/2004')-strToDateTime('01/10/2004'))*24;
showMessage('Dx: ' + floatToStr(dx));
value := predY(dx,regLinear,A,B);
showMessage('Valor predY: ' + FloatToStr(value));
closeSQL(qry);
end else begin
messageDlg('Erro SQL' + chr(13) + error,mtError,[mbOk]);
end;
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

regAccum RegAccum

Sintaxe:
function regAccum (codEmp: Double; codPla: Double; codApl: Double; codPonAcuErro!
Fonte de referência não encontrada.: Double; value: Double) : TDateTime; Erro! Fonte
de referência não encontrada.

Descrição:

Página 277 de 478


 A função predXAccum calcula a data de próxima manutenção para planos acumulativos,
esta data será de acordo com o valor informado em value.
 codEmp: código da empresa,
 codPla: código do Plano de manutenção,
 codApl: código da Aplicação,
 codPonAcu: o código do Ponto de Controle Acumulativo,
 value: valor que se deseja calcular a data de próxima manutenção,
 Esta função irá retornar uma data, que representa a data da próxima manutenção.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
codEmp, codPla, codApl, codPonAcu, valorPlano, valor : double;
data : TDateTime;
value : Double;
BEGIN
codEmp := 1;
codPla := 82;
codApl := 205;
codPonAcu := 21;
valorPlano := 200;
valor := 200;
data := predXAccum(codEmp,codPla,codApl,codPonAcu,valorPlano,valor);
showMessage('predXAccum : ' + DateTimeToStr(data));
data := regAccum(codEmp,codPla,codApl,codPonAcu,valorPlano);
showMessage('RegAccum : ' + DateTimeToStr(data));
value := predYAccum(codEmp,codPla,codApl,codPonAcu,valorPlano,now);
showMessage('predYAccum : ' + FloatToStr(value));
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

TRegType TRegType
Estes são os possíveis valores para TRegType.

regAutomatico A função irá procurar pela melhor maneira de se realizar os cálculos


regLinear Os cálculos serão realizados utilizando-se um regressão linear.
regLogaritmica Os cálculos serão realizados utilizando-se um regressão logarítmica.
regPotencia Os cálculos serão realizados utilizando-se um regressão potencial.
regExponencial Os cálculos serão realizados utilizando-se um regressão exponencia
regPolinomial Os cálculos serão realizados utilizando-se um regressão polinomial.

saveToFile SaveToFile
Sintaxe:
procedure saveToFileErro! Fonte de referência não encontrada. (path, texto:
String);Erro! Fonte de referência não encontrada.

Descrição: O procedimento saveToFile grava um arquivo texto no HD. Esta função recebe
dois parâmetros:
- path: o caminho onde se encontra o arquivo, ou o local onde deve-se criar o arquivo texto.
Juntamente do caminho deve-se informar o nome do arquivo e sua extensão. Se o caminho
não for informado o arquivo será criado no diretório corrente do Engeman. Ex:
c:\temp\arq1.txt
- texto: neste parâmetro deve-se informar o conteúdo que será grado no arquivo.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
SaveToFile('c:\temp\arqTeste.txt','Texto que será gravado no arquivo
arqTeste.txt!');
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

sendMail SendMail

Sintaxe:
Erro! Fonte de referência não encontrada.function
sendMail(mesg,subject,dest,rem,port,smtp,user,passw: String; type:
Integer) : Boolean;Erro! Fonte de referência não encontrada.

Descrição: A função sendMail é utilizada para enviar mensagens. Esta função retorna true
se a mensagem for enviada com sucesso e false caso contrário. Esta função recebe nove
parâmetros:
- mesg: é o corpo da mensagem
- subject: é o assunto do email (título)
- dest: são os endereços (e-mails) de destino do e-mail, os endereços devem ser separados
por vírgulas
- rem: o endereço (e-mail) do remetente
- port: a porta utilizada para envio de mensagens. Geralmente é a porta 25
- smtp: o smtp para envio de e-mail. A string é do tipo:" smtp.nomeServidor.com.br"
- user: conta de e-mail do usuário que esta enviando a mensagem
- passw: senha do e-mail do usuário que esta enviando a mensagem
- type: Valor inteiro que determina como o e-mail será enviado. Os possíveis valores são:
- 0: Enviar agora
- 1: Caixa de saída
- 2: Direto

Página 279 de 478


- 3: OutLook

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
assunto,mensagem,dest,remet,senha,conta,smtp,porta : string;
tipoEnvio : integer;
BEGIN
assunto := 'E-mail teste!';
mensagem := 'Oi,' + chr(13) + 'Este é um e-mail teste!';
dest := 'paulo@yahoo.com,paulo@hotmail.com';
remet := 'paulo@uol.com.br';
senha := '123456';
conta := 'paulo@uol.com.br';
smtp := 'smtp.uol.com.br';
porta := '25';
tipoEnvio:= 0;
senha := encrypt(senha);
if sendMail(mensagem,assunto,dest,remet,porta,smtp,conta,senha,tipoEnvio) then
begin
ShowMessage('E-mail enviado com sucesso!');
end else begin
messageDlg('Erro ao enviar mensagem!',mtError,[mbOk]);
end;
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

sendReport SendReport
Sintaxe:
procedureErro! Fonte de referência não encontrada. sendReport(codRel: String;
typeFiles: TExport; mesg,subject,dest,rem,port,smtp,user,passw: String;
sendType: Integer; showStatus, zipAttach, showfilter: Boolean); overload
procedureErro! Fonte de referência não encontrada. sendReport(codRel: String;
typeFiles: TExport; mesg,subject,dest,rem,port,smtp,user,passw: String;
sendType: Integer; showStatus, zipAttach, showfilter: Boolean;
condicao,query: String);Erro! Fonte de referência não encontrada.
Erro! Fonte de referência não encontrada.

Descrição: O procedimento sendReport é utilizado para enviar um relatório por e-mail. O


relatório será enviado em anexo, ou no corpo do e-mail. Para enviar o relatório no corpo do
e-mail utilize o tipo de exportação exportGIF_Body, os demais tipos serão anexados à
mensagem. Pode-se inserir um mensagem no corpo da mensagem.

Atenção: Os relatório não devem possuir filtros!


Esta função pode receber quatorse ou desseseis parâmetros:
- codRel: é o código do relatório que será enviado por e-mail. Este é o código reduzido dos
relatórios no Engeman.
- typeFiles: tipo de exportação do relatório. Os tipos possíveis são:
PDF exportPDF
RTF exportRTF
HTM exportHTM
GIF exportGIF
GIF exportGIF_Body
BMP exportBMP
JPG exportJPG
EMF exportEMF
WMF exportWMF
XLS exportXLS
TXT exportTXT
CSV exportCSV
- mesg: é o corpo da mensagem
- subject: é o assunto do email (título)
- dest: são os endereços (e-mails) de destino do e-mail, os endereços devem ser separados
por vírgulas
- rem: o endereço (e-mail) do remetente
- port: a porta utilizada para envio de mensagens. Geralmente é a porta 25
- smtp: o smtp para envio de e-mail. A string é do tipo:" smtp.nomeServidor.com.br"
- user: conta de e-mail do usuário que esta enviando a mensagem
- passw: senha do e-mail do usuário que esta enviando a mensagem
- sendType: Valor inteiro que determina como o e-mail será enviado. Os possíveis valores são:
- 0: Enviar agora
- 1: Caixa de saída
- 2: Direto
- 3: OutLook
- showStatus : exibir status do envio e status de impressão do relatório(true ou false)
- zipAttach: para o relatório ser compactado no formato (*.zip) (true ou false);
- showFilter: exibir o filtro do relatório(true ou false)
- condicao : para adicionar um filtro no relatório. Exemplo: ('tag= "0001" and codemp = 1')
ou ('tag 2=3 = "0001" and codemp 1=0 =1').
- query : para identificar qual query o filtro irá ser adicionado. Exemplo: ('Query1')

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
assunto,mensagem,dest,remet,senha,conta,smtp,porta : string;
tipoEnvio : integer;
BEGIN
assunto := 'E-mail teste!';
mensagem := 'Oi,' + chr(13) + 'Este é um e-mail teste!';
dest := 'suporte@engeman.eng.br';
remet :='engeman@engeman.eng.br'; Erro! A referência de hiperlink não é válida.

senha := '123456';
conta := 'engeman@engeman.eng.br' ;
smtp := 'smtp.engeman.eng.br';
porta := '25';
tipoEnvio:= 0;
senha := encrypt(senha);
// Enviando relatório no corpo do e-mail

Página 281 de 478


sendReport('324',exportGIF_Body,mensagem,assunto,dest,remet,porta,smtp,conta,sen
ha,tipoEnvio,false,true,false);
// Enviando relatório anexado ao e-mail
sendReport('324', exportGIF, mensagem, assunto,dest,remet,porta,smtp,conta,
senha,tipoEnvio,false,true,false, 'tag= "0001" and codemp = 1 ')

sendReport('324', exportGIF, mensagem,assunto,dest,remet,porta,smtp,conta,


senha,tipoEnvio,false,true,false, 'tag 2=3 = "0001" and codemp 1=2 = 1 ');

sendReport('324', exportGIF, mensagem,


assunto,dest,remet,porta,smtp,conta,senha,tipoEnvio,false,true,false,'tag=
"0001"','Query1');

END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu

sleep Sleep

Sintaxe:
Erro! Fonte de referência não encontrada.procedure sleep(mileseconds :
integer);Erro! Fonte de referência não encontrada.

Descrição: O comando sleep pára a execução do programa por um tempo especificado pelo
parâmetro mileseconds. O tempo deve ser um valor inteiro em milesegundos, Ex: 1 segundo
de pausa = 1000 milesegundos.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
i : integer;
BEGIN
i := 0;
while i < 5 do begin
beep;
sleep(1600); //tempo em milesegundos
inc(i);
end;
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

EngemanWeb EngemanWeb
Sintaxe:
functionErro! Fonte de referência não encontrada. EngemanWeb : Boolean;Erro! Fonte de
referência não encontrada.

Descrição: Esta função retorna verdadeiro se a regra estiver sendo executadas através do
EngemanWeb e falso se executado pelo Engeman Client/Server.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
if EngemanClient then begin
messagedlg('Erro 1 na Regra"FPLANISER-ORDSER-AFTERINSERT"',mtwarning,[mbOk]);
end else begin
showMessage('Erro 1 na Regra "FPLANISER - ORDSER - AFTERINSERT"');
end;
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu

speedReport SpeedReport

Sintaxe:
procedure Erro! Fonte de referência não encontrada.speedReport(sql: String);Erro!
Fonte de referência não encontrada.

Descrição: O procedimento speedReport exibe um relatório rápido do SQL passado como


parâmetro.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
//exibe um relatório com o tag e a descrição dos centros de custo da empresa
speedReport('select tag, descricao from cencus','Centro de Custro');

Página 283 de 478


END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

userAccess UserAccess

Sintaxe:
function getErro! Fonte de referência não encontrada.Access(item: String; access:
Char; user: String) : Boolean;Erro! Fonte de referência não encontrada.
function getErro! Fonte de referência não encontrada.Access(item: String; access:
Char; user: String) : Boolean;Erro! Fonte de referência não encontrada.

Descrição: A função getAccess ou userAccess, verifica se o usuário possui acesso a


determinada item(Tela de O.S., Tela de Aplicação) do Engeman. Pode-se verificar também se o
usuário possui permissão para alterar, editar ou inserir dados em determinado item. O que
determina qual acesso será recuperado é o parâmetro access. Veja tabela abaixo para os
possíveis valores deste parâmetro.
Parâmetros:
- item : uma string que representa os itens de menu do Engeman.
- access: um caractere que determina qual o tipo de acesso deseja-se verificar.
- user: nome do usuário do Engeman para qual se deseja verificar o acesso a determinado
item.

Tabela de Acesso
0 Possui acesso ao item
1 Não possui acesso ao item
A Possui permissão para alterar registro
E Possui permissão para editar registro
I Possui permissão para inserir novo registro

Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
BEGIN
if userAccess('20100111','A',getCurrentUser) then begin
showMessage('tem acesso');
end else begin
showMessage('Não tem acesso');
end;
//retira Acesso para alterar (A)
putAccess('20100111-0- EI',getCurrentUser,false);
refreshAccess; // atualiza tabela de acesso
if getAccess('20100111','A',getCurrentUser) then begin
showMessage('tem acesso');
end else begin
showMessage('Não tem acesso');
end;
//Insere Acesso para alterar (A) e atualiza tabela de acesso
putAccess('20100111-0-AEI',getCurrentUser,true);
if getAccess('20100111','A',getCurrentUser) then begin
showMessage('tem acesso');
end else begin
showMessage('Não tem acesso');
end;
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

oldGetRegIni OldGetRegIni

Sintaxe:
function oldGetRegIni(tipo: Char; topico,variavel: String; padrao: variant) : String;

Descrição: A função oldGetRegIni recupera um registro do windows (regedit). Esta função


recebe quatro parâmetros:
- tipo : um caracter, os possíveis valores são: 'I', 'S' ou 'B', que correspondem
respectivamente a Integer, String e Boolean
- topico: uma String que representa o diretório onde se encontra o registro
- variavel: uma String que indica o registro que deve ser buscado
- padrao: valor padrão de retorno da função, podendo se do tipo Integer, String ou Boolean.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
s : String;
BEGIN
oldPutRegIni('S','teste','a1','valor da string');
s := oldGetRegIni('S','teste','a1','');
showMessage(s);
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

Página 285 de 478


oldPutRegIni OldPutRegIni

Sintaxe:
function oldPutRegIni(tipo: Char; topico,variavel: String; padrao: variant) : String;

Descrição: A função oldPutRegIni recupera um registro do windows (regedit). Esta função


recebe quatro parâmetros:
- tipo : um caracter, os possíveis valores são: 'I', 'S' ou 'B', que correspondem
respectivamente a Integer, String e Boolean
- topico: uma String que representa o diretório onde se encontra o registro
- variavel: uma String que indica o registro que deve ser buscado
- padrao: valor padrão de retorno da função, podendo se do tipo Integer, String ou Boolean.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
s : String;
BEGIN
OldPutRegIni('S','teste','a1','valor da string');
s := oldGetRegIni('S','teste','a1','');
showMessage(s);
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

simpleSearch SimpleSearch

Sintaxe:
function simpleSearch(resultField,fields,table,condition,imageField,searchCaption: String) :
String;

Descrição: A função simpleSearch cria um form de Pesquisa Avançada. Esta função recebe
seis parâmetros:
- resultField : Campo que será retornado.
- fields : campos que serão exibido
- table: nome da tabela para consulta.
- condicao: Filtro para consulta.
- imageField: exibe campo de imagem.
- searchCaption : Título do Form.

Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
a : String;
BEGIN
a := simplesearch('descricao','tag codapl','Aplic','and codapl=4','','Título');
showmessage(a);

a := simplesearch('descricao','tag codapl','Aplic','','','Título');
showmessage(a);

END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

dropRegIni DropRegIni

Sintaxe:
function dropRegIni(topico,variavel,nome: String) : String;

Descrição: A função dropRegIni deleta um registro na tabela RegIni. Esta função recebe três
parâmetros:
- topico: uma String que representa o diretório onde se encontra o registro
- variavel: uma String que indica o registro que deve ser buscado
- nome: nome do Registro;

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
s : String;
BEGIN
PutRegIni('S','teste','a1','valor da string','Admin');
s := GetRegIni('S','teste','a1','','Admin');
showMessage(s);
if s <> '' then
DropRegIni('teste','a1','Admin');
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |

Página 287 de 478


GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

oldDropRegIni OldDropRegIni

Sintaxe:
function oldDropRegIni(topico: String) : String;

Descrição: A função oldDropRegIni deleta um registro do Windows(regedit). Esta função


recebe somente um parâmetro:
- topico: uma String que representa o diretório onde se encontra o registro

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
s : String;
BEGIN
oldPutRegIni('S','teste','a1','valor da string');
s := oldGetRegIni('S','teste','a1','');
showMessage(s);
if s <> '' then
oldDropRegini('teste');
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

openDialog OpenDialog

Sintaxe:
functioErro! Fonte de referência não encontrada.n openDialog(titulo, diretorio,
extencao : String; ofOldStyleDialog : Boolean) : String;Erro! Fonte de referência
não encontrada.

Descrição: OpenDialog exibe uma janela de diálogo para selecionar e abrir arquivos. A
função é utilizada para retornar o caminho de um arquivo. Ela recebe quatro parâmetros
sendo;
- titulo : Adiciona um título no Form do Dialog.
- diretorio : Adiciona um diretório padrão.
- extencao : Adiciona uma extenção para filtrar a busca.
- ofOldStyleDialog : Se true exibe um form simples.

Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
a : String;
BEGIN
a := openDialog('Abrir Arquivo','c:\','*',false);
showMessage(a);
a := ('Abrir Arquivo','c:\','txt',true);
showMessage(a);
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl | saveDialog

saveDialog SaveDialog

Sintaxe:
functioErro! Fonte de referência não encontrada.n saveDialog(titulo, diretorio,
extencao : String; ofOldStyleDialog : Boolean; texto : String) : String;Erro!
Fonte de referência não encontrada.

Descrição: SaveDialog exibe uma janela de Dialogo que é utilizada para selecionar um
caminho para gravar um novo arquivo. Ela recebe cinco parâmetros sendo;
- titulo : Adiciona um título no Form do Dialog.
- diretorio : Adiciona um diretório padrão.
- extencao : Adiciona uma extenção para filtrar a busca.
- ofOldStyleDialog : Se true exibe um form simples.

- texto : Valor que será armazenado no Arquivo.


Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
a : String;
BEGIN
a := saveDialog('Abrir Arquivo','c:\','*',false,'Teste');
showMessage(a);
a := saveDialog('Abrir Arquivo','c:\','txt',true,'Teste');
showMessage(a);

Página 289 de 478


END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl | openDialog

verificaAcumuladas VerificaAcumuladas

Sintaxe:
procedure verificaAcumuladas(codapl:String; codpon:String; type:String);

Descrição:
 A função verificaAcumuladas calcula se deve gerar ou emitir alarme para a aplicação.
 codApl: código da Aplicação,
 codpon: código do Ponto de Controle.
 Type: Tipo de coleta exemplo ("A","T","E","S").

Exemplo:

INTERFACE

IMPLEMENTATION

MAIN

BEGIN
verificaAcumuladas('4','151','A');
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl | verificaCampo |

verificaCampo VerificaCampo

Sintaxe:
function verificaCampo(form : String) : Boolean;

Descrição:
 A função verificaCampo verifica se existe algum campo obrigatório na tela para impedir
que sistema grave o campo com o valor null. (Esta função geralmente deverá ser
utilizada em telas criadas por regras);
 form : Nome do Form;

Exemplo:

INTERFACE

IMPLEMENTATION

MAIN

BEGIN
if verificaCampo('self') then
abort;
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl | verificaCampo |

engemanService EngemanService

Sintaxe:
functionErro! Fonte de referência não encontrada. EngemanService : Boolean;Erro!
Fonte de referência não encontrada.

Descrição: Esta função retorna verdadeiro se a regra estiver sendo executadas através do
Engeman Service e falso se executado pelo EngemanWeb ou Engeman Cliente/Server.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
if EngemanService then begin
putregini('S','Teste','82','*');
end else begin
showMessage(getregini('S','Teste','0','*'));
end;
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni

Página 291 de 478


| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

alteraSQL AlteraSQL

Sintaxe:
functionErro! Fonte de referência não encontrada. alteraSQL(SQL : String; cond :
String) : String;Erro! Fonte de referência não encontrada.

Descrição: Esta função adiciona um filtro em um texto de SQL. A função já faz todo
procedimento para inserir o filtro. Seus parâmetros são:
 SQL : Texto de uma consulta de SQL;
 cond : uma ou várias condições para adicionar na consulta SQL;
Exemplo:

INTERFACE
IMPLEMENTATION
MAIN

var
SQL : String;

BEGIN
SQL := getproperty('Aplic','SQL.Text');

SQL := AlteraSql(SQL, 'codfil = 1 and codemp = 2 ');

setproperty('Aplic','SQL.Text',SQL);

END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

insereFiltro InsereFiltro

Sintaxe:
functionErro! Fonte de referência não encontrada. insereFiltroL(campo : String;
componente : String) : String;Erro! Fonte de referência não encontrada.

Descrição: Esta função cria um filtro para adicionar em uma consulta SQL. A função pega o
valor do componente e cria um filtro. Seus parâmetros são:
 campo : Nome do campo para a consulta;
 componente : valor do componente (TComboEdit, TIWEdit, TEdit);
Exemplo:

INTERFACE
IMPLEMENTATION
MAIN

var
SQL, Filtro : String;

BEGIN

Filtro := insereFiltro('Tag','TesteComboEdit');

SQL := getproperty('Aplic','SQL.Text');

SQL := AlteraSql(SQL, Filtro);

setproperty('Aplic','SQL.Text',SQL);

END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl

verificaSS VerificaSS

Sintaxe:
function verificaSS(codsol : String) : Boolean;

Descrição:
A função verificaSS verifica se existe algum status errado nas solicitações de Serviço.
Seu parâmetro pode ser o código da solicitação ou 'T' para verificar todas.
 codsol : codigo da solicitação ou 'T' para incluir todas as solicitações;

Exemplo:

INTERFACE

IMPLEMENTATION

MAIN

BEGIN
if verificaSS('125') then
ShowMessage('Processo Concluído!')
else
ShowMessage('Falha no Processo');

if verificaSS('125,36,58,22,60') then

Página 293 de 478


ShowMessage('Processo Concluído')
else
ShowMessage('Erro no Processo');

if verificaSS('T') then
ShowMessage('Processo Concluido')
else
ShowMessage('Processo Falhou!!!');
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl | verificaCampo |

fecharOS FecharOS

Sintaxe:
function fecharOS(codord : String, Message: Boolean) : Boolean;

Descrição:
A função fecharOS encerra as ordem de serviço fazendo toda a rotina de encerramento
padrão do sistema, e retornando "True" para ordem fechada ou "False" se houver algum erro.
Esta função recebe os seguintes parâmetros: codord e message. Estes parâmetros são
definidos assim:

 codord: código reduzido da ordem de serviço que será fechada, do tipo string;
 message: caso deseje exibir as mensagens do sistema padrão, este parâmetro deverá
receber o valor (TRUE). Parâmetro do tipo Boolean.

Exemplo:

INTERFACE

IMPLEMENTATION

MAIN

BEGIN
//Sem Mensagem
if fecharOS('12',false) then
MessageDLG('Processo Concluído',mtInformation,[mbOk])
else
MessageDLG('Erro ao encerrar Ordem de Serviço',mtError,[mbOk]);

//Com Mensagem
if fecharOS(152,true) then
MessageDLG('Processo Concluído',mtInformation,[mbOk])
else
MessageDLG('Erro ao encerrar Ordem de Serviço',mtError,[mbOk]);
END.
Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |
isNumeric | isInteger | CalculaAcu | calcTempEfetParApl | verificaCampo | verificaSS

cancelaOS cancelaOS

Sintaxe:
function cancelaOS(codord,motivo,codfun,descricao: String;) : Boolean;

Descrição:
A função cancelaOS cancela as ordem de serviço, fazendo toda a rotina de
cancelamento padrão do sistema, e retornando "True" para ordem cancelada ou "False" se
houver algum erro. Esta função recebe os seguintes parâmetros: codord, motivo, codfun e
descricao. Todos devem ser preenchidos para o funcionamento da regra. Estes parâmetros são
definidos assim:

 codord: codigo reduzido da ordem de serviço que será fechada, do tipo string;
 Motivo: Precisa passar o codigo reduzido do motivo do cancelamento;
 codFun: codigo reduzido do funcionário que estará encerrando a Ordem de Serviço;
 Descricao: observação referente ao motivo pela qual a Ordem de Serviço está sendo
encerrada.

Exemplo:

INTERFACE

IMPLEMENTATION

MAIN

BEGIN
//Sem Mensagem
if cancelaOS('12','2','15','Ordem de Serviço repetida') then
MessageDLG('Processo Concluído',mtInformation,[mbOk])
else
MessageDLG('Falha no Processo!',mtError,[mbOk]);
END.

Veja Também:

AddLoag | Beep | ChangePassword | Encrypt | ExceptUsers | ExportReport | EngemanClient |


EngemanWeb | GenTag | GenTagGru | GenTagOrd | GetComputerIP | GetComputerName |
GetSysUserName | GetCurrentEmp | GetCurrentFil | GetCurrentUser | GetFileDate | GetRegIni
| GetTempPath | GetVersion | GetAccess | NetSend | PutAccess | PutRegIni | PrintReport |
PredX | PredY | PredXAccum | PredYAccum | RegAccum | Regression | RefreshAccess |
FileExists | LoadFromFile | SaveToFile | SendMail | SendReport | SpeedReport | Sleep |

Página 295 de 478


isNumeric | isInteger | CalculaAcu | calcTempEfetParApl | verificaCampo | verificaSS

Funções para Conversão de Tipos Funções para Conversão de Tipos


DateToStr
DatrTimeToStr
FloatToStr
IntToStr
StrToDateTime
StrToDate
StrToInt
HtoN
NtoH

Date to Str DateToStr

Sintaxe:
function DateToStr(Date: TDateTime): string;

Descrição: A função DateToStr converte um valor do tipo TDateTime Date, em uma String.

Exemplo:
Este exemplo apresenta na tela pelo showMessage a data de hoje e a data de amanhã.
INTERFACE
procedure amanha(data : TDateTime);
IMPLEMENTATION
procedure amanha(data : TDateTime);
begin
showMessage('Hoje é dia: ' + DateToStr (data) + ' amanhã será dia: '+ ateToStr
(data + 1));
end;
MAIN BEGIN
amanha(date);
END.

Veja também:

DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |


StrToDateTime | StrToFloat | StrToInt | TryEncodeDateTime | TryEncodeDate |
TryStrToBool | TryStrToDate | TrySrtToDateTime | TryStrToInt | TryStrToFloat | TryStrToTime
| TryFloatToDateTime | StrToBool | BoolToStr

DateTime to StrDateTimeToStr

Sintaxe:
function DateTimeToStr(Date: TDateTime): string;

Descrição: A função DateTimeToStr converte um valor do tipo TDateTime Date, em uma


String.

Exemplo:
Este exemplo apresenta na tela pelo showMessage a data de hoje e a hora que o programa
foi executado;

INTERFACE
procedure agora(data : TDateTime);
IMPLEMENTATION
procedure agora(data : TDateTime);
begin
showMessage('Hoje é dia: ' + DateToStr(data));
end;
MAIN BEGIN
agora(now);
END.

Veja também:

DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |


StrToDateTime | StrToFloat | StrToInt | TryEncodeDateTime | TryEncodeDate |
TryStrToBool | TryStrToDate | TrySrtToDateTime | TryStrToInt | TryStrToFloat | TryStrToTime
| TryFloatToDateTime | StrToBool | BoolToStr

FloatToStr FloatToStr

Sintaxe:
function FloatErro! Fonte de referência não encontrada.ToStr(Value: Erro! Fonte de
referência não encontrada. doubleErro! Fonte de referência não encontrada. ):
string;Erro! Fonte de referência não encontrada.

Descrição: A função FloatToStr converte um valor do tipo double Value, em uma String.

Exemplo:
Este exemplo calcula a raiz quadra de um número passado ao procedimento raiz, e apresenta
o resultado em um showMessage.
procedure raiz(num : double);
begin
showMessage('A raiz quadrada de ' + FloatToStr(num) + ' é: ' +
FloatToStr(sqrt(num)));
end;

Veja também:

DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |


StrToDateTime | StrToFloat | StrToInt | TryEncodeDateTime | TryEncodeDate |
TryStrToBool | TryStrToDate | TrySrtToDateTime | TryStrToInt | TryStrToFloat | TryStrToTime
| TryFloatToDateTime | StrToBool | BoolToStr

IntToStr IntToStr

Sintaxe:
function IntToStr(Value: Integer): string;

Descrição: A função IntToStr converte um valor do tipo inteiro Value, em uma String.

Página 297 de 478


Exemplo:
Este exemplo transforma a expressão inteira (a + b), em um string para ser apresentada pelo
showMessage.

procedure soma(a, b : integer);


begin
showMessage('A soma dos dois números é: ' + IntToStr(a + b));
end;

Veja também:
DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |
StrToDateTime | StrToFloat | StrToInt | TryEncodeDateTime | TryEncodeDate |
TryStrToBool | TryStrToDate | TrySrtToDateTime | TryStrToInt | TryStrToFloat | TryStrToTime
| TryFloatToDateTime | StrToBool | BoolToStr

StrToDateTime StrToDateTime
Sintaxe:
functionErro! Fonte de referência não encontrada. StrErro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada.ToErro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada.DateTimeErro! Fonte de referência
não encontrada.Erro! Fonte de referência não encontrada. (Erro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada.SErro! Fonte de referência não
encontrada. : String): TDateTimeErro! Fonte de referência não encontrada.;Erro! Fonte
de referência não encontrada.

Descrição: A função StrToDateTime converte um valor do tipo string S, em um tipo


TDateTime com os argumentos de horas, minutos e segundos.

Exemplo:
Este exemplo transforma um string em um tipo TDateTime e depois soma 15 dias ao valor que
esta na String, então apresenta este novo valor na telo através de um showMessage.

INTERFACE
IMPLEMENTATION
MAIN
var
data : TDateTime;
BEGIN
data := StrToDateTime('21/07/1977 12:05:17');
data := data + 15;
showMessage(DateTimeToStr(data));
END.

Veja também:

DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |


StrToDateTime | StrToFloat | StrToInt | TryEncodeDateTime | TryEncodeDate |
TryStrToBool | TryStrToDate | TrySrtToDateTime | TryStrToInt | TryStrToFloat | TryStrToTime
| TryFloatToDateTime | StrToBool | BoolToStr

StrToDate StrToDate

Sintaxe:
function StrToDate ( S:String ):TDateTimeErro! Fonte de referência não
encontrada.;Erro! Fonte de referência não encontrada.

Descrição: A função StrToDate converte um valor do tipo string S, em um tipo TDateTime


sem os argumentos de horas, minutos e segundos.
Exemplo:
E ste exemplo transforma um string em um tipo TDateTime e depois soma 15 dias ao valor
que esta na String, então apresenta este novo valor na telo através de um showMessage.

INTERFACE
IMPLEMENTATION
MAIN
var
data : TDateTime;
BEGIN
data := StrToDate('21/07/1977');
data := data + 15;
showMessage(DateToStr(data));
END.

Veja também:

DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |


StrToDateTime | StrToFloat | StrToInt | TryEncodeDateTime | TryEncodeDate |
TryStrToBool | TryStrToDate | TrySrtToDateTime | TryStrToInt | TryStrToFloat | TryStrToTime
| TryFloatToDateTime | StrToBool | BoolToStr

StrToFloat StrToFloat

Sintaxe:
function StrToFloatErro! Fonte de referência não encontrada. (Erro! Fonte de referência
não encontrada. S : String): doubleErro! Fonte de referência não encontrada.;Erro! Fonte
de referência não encontrada.

Descrição: A função StrToFloat converte um valor do tipo string S, em um valor real.

Exemplo:
Este exemplo recupera um valor digitado pelo usuário e transforma este valor em um valor
real e o multiplica por dez, depois o apresenta na tela através do showMessage.

INTERFACE
IMPLEMENTATION
MAIN
var
s : String;
i : double;
BEGIN
inputQuery('Teste StrToFloat', 'Digite um número real:',s);
i := StrToFloat(s);
i := i*10;
showMessage('O valor digitado vezes dez é: ' + FloatToStr(i));
END.

Veja também:

Página 299 de 478


DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |
StrToDateTime | StrToFloat | StrToInt | TryEncodeDateTime | TryEncodeDate |
TryStrToBool | TryStrToDate | TrySrtToDateTime | TryStrToInt | TryStrToFloat | TryStrToTime
| TryFloatToDateTime | StrToBool | BoolToStr

StrToInt StrToInt

Sintaxe:
function StrToInt ( S : String ): integerErro! Fonte de referência não encontrada.
;Erro! Fonte de referência não encontrada.

Descrição: A função StrToInt converte um valor do tipo string S, em um inteiro.

Exemplo:
Este exemplo recupera um valor digitado pelo usuário e transforma este valor em um valor
inteiro e o multiplica por dez, depois o apresenta na tela através do showMessage.

INTERFACE
IMPLEMENTATION
MAIN
var
s : String;
i : integer;
BEGIN
inputQuery('Teste StrToInt', 'Digite um número inteiro:',s);
i := StrToInt(s);
i := i*10;
showMessage('O valor digitado vezes dez é: ' + IntToStr(i));
END.

Veja também:

DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |


StrToDateTime | StrToFloat | StrToInt | TryEncodeDateTime | TryEncodeDate |
TryStrToBool | TryStrToDate | TrySrtToDateTime | TryStrToInt | TryStrToFloat | TryStrToTime
| TryFloatToDateTime | StrToBool | BoolToStr

HtoN HtoN

Sintaxe:
function HtoNErro! Fonte de referência não encontrada. (Erro! Fonte de referência não
encontrada. Hora : String ):Double;

Descrição: A função HtoN converte um valor do tipo String ( Hora), em um valor numérico
do tipo double que representa as horas.

Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
hora : Double;
BEGIN
hora := HtoN('12:45:16');
showMessage(FloatToStr(hora));
showMessage(NtoH(hora+1));
END.

Veja também:

DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |


StrToDateTime | StrToFloat | StrToInt | TryEncodeDateTime | TryEncodeDate |
TryStrToBool | TryStrToDate | TrySrtToDateTime | TryStrToInt | TryStrToFloat | TryStrToTime
| TryFloatToDateTime | StrToBool | BoolToStr

NtoH NtoH

Sintaxe:
functionErro! Fonte de referência não encontrada. Erro! Fonte de referência não
encontrada.NtoHErro! Fonte de referência não encontrada. (Erro! Fonte de referência
não encontrada. Hora : Double ):String;

Descrição: A função NtoH converte um valor do tipo double ( Hora), em uma string que
representa as horas.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
hora : Double;
BEGIN
hora := HtoN('12:45:16');
showMessage(FloatToStr(hora));
showMessage(NtoH(hora+1));
END.

Veja também:

DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |


StrToDateTime | StrToFloat | StrToInt | TryEncodeDateTime | TryEncodeDate |
TryStrToBool | TryStrToDate | TrySrtToDateTime | TryStrToInt | TryStrToFloat | TryStrToTime
| TryFloatToDateTime | StrToBool | BoolToStr

TryEncodeDate TryEncodeDate

Sintaxe:
functioErro! Fonte de referência não encontrada.n tryEncodeDate(Day: Word; Month:
Word; Year: Word; var Date : TDateTime) : BooleanErro! Fonte de referência não
encontrada.

Descrição: TryEncodeDate gera um valor do tipo TDateTime dos valores especificados


como Dia, Mês e Ano. Caso ocorra algum erro de conversão o sistema consegue se recuperar.

Página 301 de 478


- Dia : Os valores do Dia são de 1 até 28, 29, 30, ou 31, dependendo do Mês.
- Mês: Os valores do mês são 1 até 12.
- Ano: O ano deve estar entre 1 e 9999.
- Data: É a variável que recebe o resultado da função.
Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
data : TDateTime;
BEGIN
if tryEncodeDate(12,02,1985,data) then
showMessage('Data Correta : '+DateToStr(data))
else
showMessage('Data Incorreta!');
showMessage('Fim');
END.

Veja Também:
DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |
StrToDateTime | StrToFloat | StrToInt | TryEncodeDateTime | TryStrToBool | TryStrToDate
| TryStrToDateTime | TryStrToInt | TryStrToFloat | TryStrToTime | TryFloatToDateTime

TryEncodeDateTime TryEncodeDateTime

Sintaxe:
functioErro! Fonte de referência não encontrada.n tryEncodeDate(Day: Word; Month:
Word; Year: Word; Hour : Word; Minute : Word; Second : Word; var Date :
TDateTime) : BooleanErro! Fonte de referência não encontrada.

Descrição: TryEncodeDate gera um valor do tipo TDateTime dos valores especificados


como Dia, Mês e Ano. Caso ocorra algum erro de conversão o sistema consegue se recuperar.
- Dia : Os valores do Dia são de 1 até 28, 29, 30, ou 31, dependendo do Mês.
- Mês: Os valores do mês são 1 até 12.
- Ano: O ano deve estar entre 1 e 9999.
- Hour: A Hora recebe valor de 0 à 23.
- Minute: O Minuto recebe o valor de 0 a 59.
- Second: O segundo recebe o valor de 0 a 59.
- Data: É a variável que recebe o resultado da função.
Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
data : TDateTime;
BEGIN
if tryEncodeDateTime(12,02,1985,15,45,0,data) then
showMessage('Data Correta : '+DateTimeToStr(data))
else
showMessage('Data Incorreta!');
showMessage('Fim');
END.

Veja Também:
DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |
StrToDateTime | StrToFloat | StrToInt | TryEncodeDate | TryStrToBool | TryStrToDate |
TryStrToDateTime | TryStrToInt | TryStrToFloat | TryStrToTime | TryFloatToDateTime

TryStrToBool TryStrToBool

Sintaxe:
functioErro! Fonte de referência não encontrada.n tryStrToBool(s :String; valor
:Boolean) : BooleanErro! Fonte de referência não encontrada.

Descrição: TryStrToBool converte uma string para um valor Booleano. A função verifica se o
valor string pode ser convertida retornando verdadeiro caso consiga converter e falso caso
ocorra erro.
- s : Os valores de s podem ser (1,0,'true','false').
- Valor: É a variável que recebe o resultado da função.
Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
cond : Boolean;
BEGIN
if tryStrToBool('True',cond) then
showMessage('Valor: '+BoolToStr(cond))
else
showMessage('Erro!');
showMessage('Fim');
END.

Veja Também:
DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |
StrToDateTime | StrToFloat | StrToInt | TryEncodeDateTime | TryEncodeDate |
TryStrToDate | TryStrToDateTime | TryStrToInt | TryStrToFloat | TryStrToTime |
TryFloatToDateTime | StrToBool | BoolToStr

TryStrToDate TryStrToDate

Sintaxe:
functioErro! Fonte de referência não encontrada.n tryStrToDate(s :String; date

Página 303 de 478


:TDateTime) : BooleanErro! Fonte de referência não encontrada.

Descrição: TryStrToDate converte uma string para um valor de Data. A função verifica se o
valor string pode ser convertida retornando verdadeiro caso consiga converter e falso caso
ocorra erro.
- s : Os valores de s podem ser exemplo ('12/02/1985').
- date: É a variável que recebe o resultado da função.
Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
data : TDateTime;
BEGIN
if tryStrToDate('12/02/1985',data) then
showMessage('Data: '+DateToStr(data))
else
showMessage('Erro de Data!');
showMessage('Fim');
END.

Veja Também:
DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |
StrToDateTime | StrToFloat | StrToInt | TryEncodeDateTime | TryEncodeDate |
TryStrToBool | TryStrToDateTime | TryStrToInt | TryStrToFloat | TryStrToTime |
TryFloatToDateTime | StrToBool | BoolToStr

TryStrToDateTime TryStrToDateTime

Sintaxe:
functioErro! Fonte de referência não encontrada.n tryStrToDateTime(s :String; date
:TDateTime) : BooleanErro! Fonte de referência não encontrada.

Descrição: TryStrToDateTime converte uma string para um valor de Data e Hora. A função
verifica se o valor string pode ser convertida retornando verdadeiro caso consiga converter e
falso caso ocorra erro.
- s : Os valores de s podem ser exemplo ('12/02/1985 08:00:00').
- date: É a variável que recebe o resultado da função.
Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
data : TDateTime;
Dataehora : String
BEGIN
DataeHora := '12/02/1985 08:00:00';
if tryStrToDateTime(DataeHora,data) then
showMessage('Data: '+DateTimeToStr(data))
else
showMessage('Erro de Data!');
showMessage('Fim');
END.

Veja Também:
DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |
StrToDateTime | StrToFloat | StrToInt | TryEncodeDateTime | TryEncodeDate |
TryStrToBool | TryStrToDate | TryStrToInt | TryStrToFloat | TryStrToTime |
TryFloatToDateTime | StrToBool | BoolToStr

TryStrToInt TryStrToInt

Sintaxe:
functioErro! Fonte de referência não encontrada.n tryStrToInt(s :String; valor
:Integer) : BooleanErro! Fonte de referência não encontrada.

Descrição: TryStrToInt converte uma string para um valor inteiro. A função verifica se o
valor string pode ser convertida retornando verdadeiro caso consiga converter e falso caso
ocorra erro.
- s : Os valores de s.
- valor : É a variável que recebe o resultado da função.
Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
valor : Integer;
BEGIN
if tryStrToInt('1562',valor) then
showMessage('Valor: '+IntToStr(valor))
else
showMessage('Erro!');
showMessage('Fim');
END.

Veja Também:
DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |
StrToDateTime | StrToFloat | StrToInt | TryEncodeDateTime | TryEncodeDate |
TryStrToBool | TryStrToDate | TryStrToDateTime | TryStrToFloat | TryStrToTime |
TryFloatToDateTime | StrToBool | BoolToStr

TryStrToFloat TryStrToFloat

Sintaxe:
functioErro! Fonte de referência não encontrada.n tryStrToFloat(s :String; valor
:Float) : BooleanErro! Fonte de referência não encontrada.

Página 305 de 478


Descrição: TryStrToInt converte uma string para um valor Float. A função verifica se o
valor string pode ser convertida retornando verdadeiro caso consiga converter e falso caso
ocorra erro.
- s : Os valores de s.
- valor : É a variável que recebe o resultado da função.
Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
valor : Float;
BEGIN
if tryStrToFloat('15.62',valor) then
showMessage('Valor: '+FloatToStr(valor))
else
showMessage('Erro!');
showMessage('Fim');
END.

Veja Também:
DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |
StrToDateTime | StrToFloat | StrToInt | TryEncodeDateTime | TryEncodeDate |
TryStrToBool | TryStrToDate | TryStrToDateTime | TryStrToInt | TryStrToTime |
TryFloatToDateTime | StrToBool | BoolToStr

TryStrToTime TryStrToTime

Sintaxe:
functioErro! Fonte de referência não encontrada.n tryStrToTime(s :String; tempo
:TDateTime) : BooleanErro! Fonte de referência não encontrada.

Descrição: TryStrToTime converte uma string para um valor de Tempo. A função verifica se
o valor string pode ser convertida retornando verdadeiro caso consiga converter e falso caso
ocorra erro.
- s : Os valores de s.
- valor : É a variável que recebe o resultado da função.
Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
tempo : TDateTime;
BEGIN
if tryStrToTime('01:15',tempo) then
showMessage('Valor: '+TimeToStr(valor))
else
showMessage('Erro!');
showMessage('Fim');
END.
Veja Também:
DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |
StrToDateTime | StrToFloat | StrToInt | TryEncodeDateTime | TryEncodeDate |
TryStrToBool | TryStrToDate | TryStrToDateTime | TryStrToInt | TryStrToFloat |
TryFloatToDateTime | StrToBool | BoolToStr

TryFloatToDateTime TryFloatToDateTime

Sintaxe:
functioErro! Fonte de referência não encontrada.n tryFloatToDateTime(s :Float; data
:TDateTime) : BooleanErro! Fonte de referência não encontrada.

Descrição: TryFloatToDateTime converte float para um valor de Data e Hora. A função


verifica se o valor float pode ser convertida retornando verdadeiro caso consiga converter e
falso caso ocorra erro.
- s : Os valores de s.
- data : É a variável que recebe o resultado da função.
Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
data : TDateTime;
BEGIN
if tryFloatToDateTime(31090.5035300926,data) then
showMessage('Valor: '+DateTimeToStr(data))
else
showMessage('Erro!');
showMessage('Fim');
END.

Veja Também:
DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |
StrToDateTime | StrToFloat | StrToInt | TryEncodeDateTime | TryEncodeDate |
TryStrToBool | TryStrToDate | TryStrToDateTime | TryStrToInt | TryStrToFloat | TryStrToTime
| StrToBool | BoolToStr

StrToBool StrToBool

Sintaxe:
function StrToBool(Value: String): Boolean;

Descrição: A função StrToBool converte um valor do tipo String Value, em Boolean.

Exemplo:
Este exemplo transforma a string ('true'), em Booelan para a condição do if.

procedure tempo(a :String);

Página 307 de 478


begin
if strToBool('true') then
showMessage('Concluído com Sucesso!')
else
showMessage('Erro no procedimento');
end;

Veja também:

DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |


StrToDateTime | StrToFloat | StrToInt | TryEncodeDateTime | TryEncodeDate |
TryStrToBool | TryStrToDate | TrySrtToDateTime | TryStrToInt | TryStrToFloat | TryStrToTime
| TryFloatToDateTime | StrToBool | BoolToStr

BoolToStr BoolToStr

Sintaxe:
function BoolToStr(Value: Boolean): String;

Descrição: A função BoolToStr converte um valor do tipo Boolean Value, em String.

Exemplo:
Este exemplo apresenda a valor boolean no showMessage;

procedure tempo(b :boolean);


begin
if b then
showmessage(BoolToStr(b))
else
showmessage(BoolToStr(b));
end;

Veja também:

DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |


StrToDateTime | StrToFloat | StrToInt | TryEncodeDateTime | TryEncodeDate |
TryStrToBool | TryStrToDate | TrySrtToDateTime | TryStrToInt | TryStrToFloat | TryStrToTime
| TryFloatToDateTime | StrToBool | BoolToStr

TimeToStr TimeToStr

Sintaxe:
function TimeToSr(Hor :TDateTime): String;

Descrição: A função TimeToStr converte um valor de Hora em String.

Exemplo:
Este exemplo apresenda a Hora no showMessage;

INTERFACE
IMPLEMENTATION
MAIN
var
tempo : TDateTime;
BEGIN
if tryStrToTime('01:15',tempo) then
showMessage('Valor: '+TimeToStr(valor))
else
showMessage('Erro!');
showMessage('Fim');
END.

Veja também:

DateToStr | DateTimeToStr | FloatToStr | HtoN | IntToStr | NtoH | StrToDate |


StrToDateTime | StrToFloat | StrToInt | TryEncodeDateTime | TryEncodeDate |
TryStrToBool | TryStrToDate | TrySrtToDateTime | TryStrToInt | TryStrToFloat | TryStrToTime
| TryFloatToDateTime | StrToBool | BoolToStr

Funções Manipulação de Banco de Dados Funções Manipulação de Banco de


Dados
openDataBase
closeDataBase
openSql
closeSql
execSql
FieldByIndex
FieldByName
FieldsCount
FieldType
FieldExist
TableExist
FilterQuery
ParamByName
GetQueryState
edit
insert
post
delete
eof
bof
next
prior
first
last
locate
findField
recordCount
SqlDate
SgbdDate
InsertObs
GetObs
refreshQuery
IsForeignKey

checkSGBD CheckSGBD

Página 309 de 478


Sintaxe:
fuction checkSGBDErro! Fonte de referência não encontrada. (serverType :
TSDServerType) : Boolean;Erro! Fonte de referência não encontrada.

Descrição: Esta função pode ser utilizada para verificar qual o tipo de servidor SGBD em que
se encontra instalada a base de dados do Engeman®.

O único parâmetros para esta função é o serverType. Os tipos válidos são:


Erro! Fonte de referência não encontrada.
ServerType value Database Server

stDB2 IBM DB2


Database
stFirebird Firebird Server
stInformix Informix Server
stInterbase Interbase Server
stMySQL MySQL Server
stODBC ODBC database
stOracle Oracle
stPostgreSQL stgreSQL Server
stSQLBase Centura
SQLBase
stSQLServer MS SQL Server
Erro! Fonte de referência não encontrada.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
if checkSGBD(stFireBird) then begin
showMessage('O Engeman® é executado no Firebird.');
end else begin
if checkSGBD(stOracle) then begin
showMessage('O Engeman® é executado no Oracle.');
end else begin
if checkSGBD(stSQLServer) then begin
showMessage('O Engeman® é executado no SQL Server.');
end else begin
showMessage('O Engeman® é executado em um servidor desconhecido.');
end;
end;
end;
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist

closeDataBase CloseDataBase

Sintaxe:
procedure closeDataBaseErro! Fonte de referência não encontrada. (dataBase :
String);Erro! Fonte de referência não encontrada.

Descrição: Este procedimento fecha um banco de dados aberto através do comando


openDataBase. Este procedimento recebe uma String, que deve ser o nome do banco de
dados que se deseja fechar.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
qry : TQuery;
dbName : String;
i : integer;
BEGIN
dbName := 'banco1';
openDataBase(dbName,'192.168.100.14:c:\database\banco.fdb',stFireBird,'user
name=engeman; password=engeman','');
openSQL(qry,'Select count(*) as count from tab_1',dbName);
i := fieldByName(qry,'count',AsInteger);
closeSQL(qry);
closeDataBase(dbName);
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

openSql OpenSql

Sintaxe:
functionErro! Fonte de referência não encontrada. openSQLErro! Fonte de referência não
encontrada. (q : TQuery; query : String): String; overload;
functionErro! Fonte de referência não encontrada. openSQLErro! Fonte de referência não
encontrada. (q : TQuery; query : String; bdName : String): String; overload;
functionErro! Fonte de referência não encontrada. openSQLErro! Fonte de referência não
encontrada. (q : TQueryErro! Fonte de referência não encontrada.)Erro! Fonte de
referência não encontrada. : String; overload;
Erro! Fonte de referência não encontrada.

Descrição: Erro! Fonte de referência não encontrada.


A função openSQL é utilizada para realizar uma consulta ao banco de dados. Pode-se realizar
consultas ao base de dados do Engeman ou de outra base de dados qualquer. Se a consulta
for a uma outra base de dados que não seja o Engeman será necessário informar para função
qual será esta base de dados.

Erro! Fonte de referência não encontrada.Para realizar um consulta na base de dados do


Engeman dois parâmetros são necessários, um objeto do tipo TQuery e a consulta
(query) do tipo String, esta função retorna uma String vazia se nenhum erro no SQL
tiver ocorrido, caso contrário o erro será retornado. Para obter os valores da consulta

Página 311 de 478


utilize o comando fieldByName. Não se esqueça de fechar a conexão com o comando
closeSQL.Erro! Fonte de referência não encontrada.

Erro! Fonte de referência não encontrada.Para realizar um consulta a outra base de


dados informe o nome da base, dbName, para função.Erro! Fonte de referência não
encontrada.
Erro! Fonte de referência não encontrada.Caso seja informado para função openSQL
uma consulta contendo parâmetros, será necessário utilizar o comando
paramByName após esta função. Deve-se informar todos os parâmetros necessários
para realizar a consulta e novamente executar o comando openSQL, mas agora
apenas informando o objeto TQuery declarado anteriormente.Erro! Fonte de referência
não encontrada.

Exemplo:
Este exemplo passa uma consulta que recupera o código dos usuários e a cidade de todos os
usuários da tabela usuários com o nome Paulo. Para representa aspas simples dentro do
comando SQL utilize aspas duplas. Não se esqueça de fechar a conexão com o comandos
closeSQl.

INTERFACE
IMPLEMENTATION
MAIN
var
q : TQuery;
query : String;
cod : integer;
nome,erro : String;
BEGIN
query := 'SELECT codusu, nome FROM usuarios WHERE nome = "Paulo"';
erro := openSql(q,query);
if(erro = '') then begin
cod := fieldByName(q,'codusu',asInteger);
nome := fieldByName(q,'nome',asString);
closeSql(q);
end else begin
messageDlg('Erro no OpenSQL' + chr(13) + erro,mtError,[mbOK]);
end;
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

closeSql CloseSql

Sintaxe:
Erro! Fonte de referência não encontrada.procedure closeSQL(q : TQuery);Erro!
Fonte de referência não encontrada.

Descrição: Utilize o procedimento closeSQL para fechar uma consulta ao banco de dados.
Este procedimento recebe como parâmetro um objeto do tipo TQuery. Todo objeto do tipo
TQuery que for aberto, utilizando-se o procedimento openSQL deve ser fechado utilizando-se
o procedimento closeSQL.
Exemplo:
Este exemplo primeiramente abre uma consulta com o banco de dados, logo após fecha esta
consulta. Note que toda consulta que for aberta deve ser fechada.

INTERFACE
IMPLEMENTATION
MAIN
var
q : TQuery;
query : String;
cod : integer;
nome : String;
BEGIN
query := 'SELECT codusu, nome FROM usuarios WHERE nome = "Paulo"';
openSql(q,query);
cod := fieldByName(q,'codusu',asInteger);
nome := fieldByName(q,'nome',asString);
closeSql(q);
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

execSql ExecSql

Sintaxe:
functionErro! Fonte de referência não encontrada. execSQL(comando : String) :
String; overload;Erro! Fonte de referência não encontrada.
functionErro! Fonte de referência não encontrada. execSQL(comando : StringErro!
Fonte de referência não encontrada.Erro! Fonte de referência não encontrada. ;
bdName : StringErro! Fonte de referência não encontrada.Erro! Fonte de referência não
encontrada. ) : String; overload;Erro! Fonte de referência não encontrada.
functionErro! Fonte de referência não encontrada. execSQL(Erro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada.q : TQuery; comando : String) :
String; overload;Erro! Fonte de referência não encontrada.
functionErro! Fonte de referência não encontrada. execSQL(q : TQuery; comando :
StringErro! Fonte de referência não encontrada.Erro! Fonte de referência não
encontrada.; bdName : StringErro! Fonte de referência não encontrada.Erro! Fonte de
referência não encontrada. ) : String; overload;Erro! Fonte de referência não
encontrada.
functionErro! Fonte de referência não encontrada. execSQL(q : TQuery) : String;
overload;Erro! Fonte de referência não encontrada.

Descrição:
A função execSQL é utilizado para realizar alterações no banco de dados: insert, delete e
update. Estas alterações podem ser aplicadas a base de dados do Engeman ou a qualquer
outra base de dados. Esta função retorna o erro de execução da instrução SQL, se a função for
bem sucedida um string vazia será retornada.
Para alterações na base Engeman basta informar o comando SQL para função, desde que esta

Página 313 de 478


instrução não contenha parâmetros.
Se o comando possuir parâmetros será necessário informar um objeto TQuery que será o
responsável pela execução do comando. Lembrando-se de informar todos os parâmetros
necessários, utilizando o comando paramByName, e logo após executar o comando execSQL
informando apenas o objeto TQuery responsável pela execução do SQL.
Se as alterações forem aplicadas a outra base de dados, será necessário informar qual é esta
base de dados.
Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
erro : String;
BEGIN
// exclui todos os usuários da tab. usuario que tenham o nome Paulo
erro := execSQL('DELETE * FROM usuario WHERE nome = "Paulo"');
if(erro <> '') then begin
messageDlg('Erro no ExecSQL comando Delete' + chr(13) + erro,mtError,[mbOK]);
end;
// insere um campo na tab. usuario
erro := execSQL('INSERT INTO usuario (codusu, nome) VALUES (555,"João")');
if(erro <> '') then begin
messageDlg('Erro no ExecSQL comando Insert' + chr(13) + erro,mtError,[mbOK]);
end;
// atualiza um campo na tab. usuario
erro := execSQL('UPDATE usuarios SET nome = "João Paulo" WHERE codusu = 555');
if(erro <> '') then begin
messageDlg('Erro no ExecSQL comando Update' + chr(13) + erro,mtError,[mbOK]);
end;
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

Função - fieldByIndex
fieldByIndex

Procedure - fieldByIndex

Sintaxe:
function fieldByIndexErro! Fonte de referência não encontrada. (q : TQuery; index :
Integer; type : TAggregateField) : TField; overload;Erro! Fonte de referência não
encontrada.
function fieldByIndex (q : String; index : Integer; type : TAggregateField) : TField;
overload;
procedure fieldByIndex (q : TQuery; index : Integer; type : TAggregateField; value :
Variant); overload;
procedure fieldByIndex (q : String; index : Integer; type : TAggregateField; value :
Variant); overload;

Descrição:
 A função fieldByIndex é utilizada para recuperar os campos que foram extraídos através do
comando openSQL. A função fieldByIndex recebe três parâmetros que são:
- um objeto (q) do Tipo TQuery, ou o nome deste objeto (componente) emuma String,
- o index do campo que você deseja recuperar a informação ( index), do tipo String e
- o tipo deste campo do tipo TAggregateField .
Esta função retorna o valor de um campo que foi solicitado na consulta realizada pelo
comando openSQL.
 O procedimento fieldByIndex é utilizado para inserir um valor em uma query que esteja
aberta. Este procedimento recebe quatro parâmetros:
- um objeto (q) do Tipo TQuery, ou o nome deste objeto (componente) em uma String,
- o index do campo que você deseja inserir um valor ( index), do tipo String,
- o tipo deste campo do tipo TAggregateField e
- o valor que deve ser inserido neste campo, note que o valor a ser inserido deve ser do
mesmo tipo do campo, se campo receber um string teremos então o
TAggregateField igual a ASString e o valor será um string, valor = 'teste'
Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
q : TQuery;
query : String;
cod : integer;
nome : String;
BEGIN
query := 'SELECT codusu, nome FROM usuarios WHERE nome = "Paulo"';
openSql(q,query);
// exemplo do uso da função fieldByName, recuperar um dado
cod := fieldByIndex(q,0,asInteger);
nome := fieldByIndex(q,1,asString);
// exemplo do uso do procedimento fieldByName, inserindo um valor
fieldByIndex(q,0,asInteger, 5+cod);
fieldByIndex(q,1,asString, 'nome: ' + nome);
closeSql(q);
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

Função - fieldByName
fieldByName

Procedure - fieldByName

Sintaxe:
function fieldByNameErro! Fonte de referência não encontrada. (q : TQuery; field :
String; type : TAggregateField) : TField; overload;Erro! Fonte de referência não
encontrada.
function fieldByNameErro! Fonte de referência não encontrada. (q : String; field :
String; type : TAggregateField) : TField; overload;Erro! Fonte de referência não
encontrada.
procedure fieldByNameErro! Fonte de referência não encontrada. (q : TQuery; field :

Página 315 de 478


String; type : TAggregateField; value : Variant); overload;Erro! Fonte de
referência não encontrada.
procedure fieldByNameErro! Fonte de referência não encontrada. (q : String; field :
String; type : TAggregateField; value : Variant); overload;Erro! Fonte de
referência não encontrada.

Descrição:
 A função fieldByName é utilizada para recuperar os campos que foram extraídos através
do comando openSQL. A função fieldByName recebe três parâmetros que são:
- um objeto (q) do Tipo TQuery, ou o nome deste objeto (componente) em uma String,
- o nome do campo que você deseja recuperar a informação ( field), do tipo String e
- o tipo deste campo do tipo TAggregateField.
Esta função retorna o valor de um campo que foi solicitado na consulta realizada pelo
comando openSQL.
 O procedimento fieldByName é utilizado para inserir um valor em uma query que esteja
aberta. Este procedimento recebe quatro parâmetros:
- um objeto (q) do Tipo TQuery, ou o nome deste objeto (componente) em uma String,
- o nome do campo que você deseja inserir um valor ( field), do tipo String,
- o tipo deste campo do tipo tAggregateField e
- o valor que deve ser inserido neste campo, note que o valor a ser inserido deve ser do
mesmo tipo do campo, se campo receber um string teremos então o
TAggregateField igual a ASString e o valor será um string, valor = 'teste'

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
q : TQuery;
query : String;
cod : integer;
nome : String;
BEGIN
query := 'SELECT codusu, nome FROM usuarios WHERE nome = "Paulo"';
openSql(q,query);
// exemplo do uso da função fieldByName, recuperar um dado
cod := fieldByName(q,'codusu',asInteger);
nome := fieldByName(q,'nome',asString);
// exemplo do uso do procedimento fieldByName, inserindo um valor
fieldByName(q,'codusu',asInteger, 5+cod);
fieldByName(q,'nome',asString, 'nome: ' + nome);
closeSql(q);
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

fieldsCount FieldsCount

Sintaxe:
functionErro! Fonte de referência não encontrada.fieldsCountErro! Fonte de referência
não encontrada.Erro! Fonte de referência não encontrada.(q : TQuery) : Integer;
overload;Erro! Fonte de referência não encontrada.
function fieldsCount (q : String) : Integer; overload;

Descrição:
A função fieldsCount retornar o número de registros de uma consulta SQL.
- o objeto (q) pode ser Tipo TQuery, ou o nome deste objeto (componente) em uma String.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
sql,tag : String;
qry : TQuery;
BEGIN
Sql := 'select tag,descricao from cencus';
OpenSQL(qry,sql);
if fieldsCount(qry) <> 0 then begin
if fieldType(qry,'tag') = ftString then begin
while not Eof(qry) do begin
tag := fieldByName(qry,'tag',AsString);
showMessage(tag);
next(qry);
end;
end;
end else begin
messageDlg('Não existe nenhum registro na consulta',mtInformation,[mbOk]);
end;
closeSQL(qry);
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

fieldType FieldType

Sintaxe:
function fieldTypeErro! Fonte de referência não encontrada. (q : TQuery; field :
String) : TFieldType; overload;Erro! Fonte de referência não encontrada.
function fieldTypeErro! Fonte de referência não encontrada. (q : String; field :
String) : TFieldType; overload;Erro! Fonte de referência não encontrada.

Descrição:
A função fieldType retornar o tipo de dados armazenado por um campo da consulta.
- o objeto ( q)pode ser Tipo TQuery, ou o nome deste objeto (componente) em uma String.
- o objeto field é o nome do campo da consulta que se deseja verificar o tipo de dados.
Os tipos de dados possíveis podem ser vistos emTFieldType.

Exemplo:

INTERFACE

Página 317 de 478


IMPLEMENTATION
MAIN
var
sql,tag : String;
qry : TQuery;
BEGIN
sql := 'select tag,descricao from cencus';
OpenSQL(qry,sql);
if fieldsCount(qry) <> 0 then begin
if fieldType(qry,'tag') = ftString then begin
while not Eof(qry) do begin
tag := fieldByName(qry,'tag',AsString);
showMessage(tag);
next(qry);
end;
end;
end else begin
messageDlg('Não existe nenhum registro na consulta',mtInformation,[mbOk]);
end;
closeSQL(qry);
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

fieldExist FieldExist

Sintaxe:
function Erro! Fonte de referência não encontrada.fieldExist(table: String; field
: String): Boolean;Erro! Fonte de referência não encontrada.

Descrição: A função fieldExist verifica se o existe um campo (field) em uma tabela do


Engeman.
- table: tabela existente na base de dados do Engeman.
- field: o campo que deseja verificar sua existência na tabela do sistema.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
if fieldExist('cencus','tag') then begin
showMessage('Exist');
end else begin
messageDlg('Not exist',mtError,[mbOk]);
end;
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

tableExist TableExist

Sintaxe:
function tableErro! Fonte de referência não encontrada.Exist(table: String):
Boolean;Erro! Fonte de referência não encontrada.

Descrição: A função tableExist verifica se o existe uma tabela na base de dados do


Engeman.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
if tableExist('cencus') then begin
showMessage('Exist');
end else begin
messageDlg('Not exist',mtError,[mbOk]);
end;
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

filterQuery FilterQuery

Sintaxe:
procedure fildterQueryErro! Fonte de referência não encontrada. (q : TQuery;
strFilter : String); Erro! Fonte de referência não encontrada.

Descrição:
 A função filterQuery é utilizada para filtrar os dados apresentados por uma consulta. Para
isto deve-se informar o filtro desejado (comando SQL) e a qual query este filtro será
associado. O comando SQL não deve conter a clausula where.
 Normalmente a função filterQuery será utilizada no evento onCreate de algum formulário,
filtrando os dados da query principal deste formulário (ex: na tela de centro de custo a
query é cencus). Ou será utilizada no evento onSearch de componentes de pesquisa, neste
caso a query informada será: DSQL, está é a query padrão do formulário de pesquisa.
 Como o evento onSearch existe apenas em componentes de pesquisa o procedimento para
inserir um comando filterQuey deverá ser inserido no evento onCreate da tela de
Pesquisa!!! E será necessário verificar qual a tela e campo que chamou a tela de
pesquisa.

Veja exemplo:

Página 319 de 478


INTERFACE
IMPLEMENTATION
MAIN
var
tab, scr, sql : String;
BEGIN
// Ao utilizar um regra no evento onCreate da tela de Pesquisa será necessário
tomar
// alguns cuidados, já que esta tela é utilizada em todas as pesquisas.
// Para isso recupere os valores contidos na propriedade "caption" dos objetos
// tabela e tela. E logo em seguida coloque insira a alteração do filtro
// após um comando IF, isso é muito importante!
tab := getProperty('tabela','caption');
scr := getProperty('tela','caption');
if (tab = 'MATERIAL') and (scr = 'FPLANISER') then begin
// Nesta opção o usuário pode trocar o SQL padrão por um SQL personalizado
// para isto deve criar um comando SQL a atribuí-lo a query padrão de Pesquisa
(DSQL)
// através do comando SetProperty, como mostrado abaixo:
sql := 'select tag,descricao,codmat ' +
'from material ' +
'where codemp=1 and codmat = 2346 order by 1';
setProperty('DSQL','sql.text',sql);
{
// Outra opção seria a apresentada abaixo, neste caso o SQL padrão será mantido
// apenas será inserido um novo filtro à query padrão da tela de Pesquisa (DSQL),
// utilize um comando ou outro, para utilizar o código abaixo retire o comentário
// de bloco, as chaves ({).
filterQuery('DSQL','material.codmat=2346');
}
end;
END.

Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
BEGIN
// Neste exemplo estamos filtrando as O.S. da Query OrdSer onde irão aparecer apenas
O.S. com codOrd maior que 1500
// que estejam abertas.
filterQuery('ordserv','codord = 1500 and statOrd="A" ');
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

paramByName ParamByName
Sintaxe:
procedure paramByNameErro!Fonte de referência não encontrada.(q : TQuery; field :
String; type : TAggregateField; value : Variant);Erro! Fonte de referência não
encontrada.

Descrição:
O procedimento paramByName é utilizado para inserir um parâmetro em uma query já criada
pelo comando OpenSQL ou pelo comando ExecSQL. Este procedimento recebe quatro
parâmetros:
- um objeto (q) do Tipo TQuery,
- o nome do parâmetro que você deseja inserir um valor , do tipo String,
- o tipo de dados do campo referenciado pelo parâmetro type (TAggregateField) e
- o valor que deve ser inserido neste campo, note que o valor a ser inserido deve ser do
mesmo tipo referenciado pelo type.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
qry : TQuery;
i : integer;
BEGIN
openSQL(qry,'Select count(*) as numOS from ordserv where codemp=:codemp and
codfil=:codfil');
paramByName(qry,'codemp',AsInteger,2);
paramByName(qry,'codFil',AsString,getCurrentFil);
openSQL(qry);
i := fieldByName(qry,'numOS',AsInteger);
closeSQL(qry);
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

getQueryState GetQueryState
Sintaxe:
function : GetQueryState(query : String) : TDataSetState ;

Descrição: Utilize esta função para retornar o estado atual de um objeto do tipo TQuery,
para isso passe como parâmetro o nome do componente para função. Essa função retorna um
TDataSetState, que é do tipo inteiro.
Os possíveis valores para TDataSetState são:
TDataSet Type Valor
dsBrowse 0
dsInsert 1
dsEdit 2

Exemplo:
Neste exemplo verificamos se a query está em edição se estiver uma mensagem é mostrada
senão uma mensagem o com estado da query é mostrado, lembrando que: 0 representa
dsBrowse, 1 dsInsert e 2 dsEdit.

INTERFACE
IMPLEMENTATION
MAIN
var

Página 321 de 478


query : Tquery;
BEGIN
OpenSQL(query,'select * from teste');
if(GetQueryState('query') = dsEdit) then begin
showMessage('A query esta em edição');
end else begin
showMessage(IntToStr(GetQueryState('query')));
end;
CloseSQL(query);
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

eof EOF

Sintaxe:
Erro! Fonte de referência não encontrada.functionErro! Fonte de referência não
encontrada. eofErro! Fonte de referência não encontrada. (Erro! Fonte de referência não
encontrada. q : TQuery ) : Boolean; overload;
Erro! Fonte de referência não encontrada.functionErro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada. eofErro! Fonte de referência não
encontrada. ( q : String ) : Boolean; overload;
Erro! Fonte de referência não encontrada.

Descrição: A função eof (end of file) retorna um valor booleano (Erro! Fonte de referência
não encontrada. true ou false). Se o cursor da consulta tiver atingido o final então a função
retorna verdadeiro. Como parâmetro, esta função recebe uma variável do tipo TQuery ou uma
String representando o nome desta query, geralmente as queries do sistema.

Exemplo:
Este exemplo recupera a descrição de todos os centros de custo da empresa corrente, por
duas vezes, ao terminar a primeira vez o comando first é utilizado para posicionar o cursor no
primeiro índice da consulta.

INTERFACE
IMPLEMENTATION
MAIN
var
qry : TQuery;
desc : String;
BEGIN
OpenSQL(qry,'SELECT descricao FROM cencus WHERE codemp = ' + GetCurrentEmp + '
ORDER BY descricao');
while not eof(qry) do
begin
desc := desc + fieldByName(qry,'descricao',asString) + ' *** ';
ShowMessage(desc);
next(qry);
end;
first(qry);
while not eof(qry) do
begin
desc := desc + fieldByName(qry,'descricao',asString) + ' *** ';
ShowMessage(desc);
next(qry);
end;
CloseSQL(qry);
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

bof BOF

Sintaxe:
Erro! Fonte de referência não encontrada.functionErro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada. bofErro! Fonte de referência não
encontrada. ( q : TQuery ): Boolean; overload;
Erro! Fonte de referência não encontrada.functionErro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada. bofErro! Fonte de referência não
encontrada. ( q : String ) : Boolean; overload;

Descrição: A função bof (begin of file) retorna um valor booleano (true ou false). Se o cursor
da consulta tiver atingido o início então a função retorna um valor verdadeiro. Como
parâmetro, esta função recebe uma variável do tipo TQuery ou uma String representando o
nome desta query, geralmente as queries do sistema.

Exemplo:
Este exemplo recupera a descrição de todos os centros de custo da empresa corrente.

INTERFACE
IMPLEMENTATION
MAIN
var
qry : TQuery;
desc : String;
BEGIN
OpenSQL(qry,'SELECT descricao FROM cencus WHERE codemp = ' + GetCurrentEmp + ' ORDER
BY descricao');
last(qry);
while not bof(qry) do
begin
desc := desc + fieldByName(qry,'descricao',asString) + ' *** ';
ShowMessage(desc);
prior(qry);
end;
CloseSQL(qry);
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |

Página 323 de 478


RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

next Next

Sintaxe:
Erro! Fonte de referência não encontrada.procedureErro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada. Erro! Fonte de referência não
encontrada.next ( q : TQuery) ; overload;
Erro! Fonte de referência não encontrada.procedure Erro! Fonte de referência não
encontrada.next ( q : String)Erro! Fonte de referência não encontrada. ;
overload;Erro! Fonte de referência não encontrada.
Erro! Fonte de referência não encontrada.

Descrição: O procedimento next é utilizado para posicionar o cursor da consulta para o


próximo campo da consulta, para isso você deve passar como parâmetro uma variável do tipo
TQuery Erro! Fonte de referência não encontrada. ou uma String representando o nome
desta query, geralmente as queries do sistema.

Exemplo:
Este exemplo recupera a descrição de todos os centros de custo da empresa corrente, por
duas vezes, ao terminar a primeira vez o comando first é utilizado para posicionar o cursor no
primeiro índice da consulta.

INTERFACE
IMPLEMENTATION
MAIN
var
qry : TQuery;
desc : String;
BEGIN
OpenSQL(qry,'SELECT descricao FROM cencus WHERE codemp = ' + GetCurrentEmp + '
ORDER BY descricao');
while not eof(qry) do
begin
desc := desc + fieldByName(qry,'descricao',asString) + ' *** ';
ShowMessage(desc);
next(qry);
end;
first(qry);
while not eof(qry) do
begin
desc := desc + fieldByName(qry,'descricao',asString) + ' *** ';
ShowMessage(desc);
next(qry);
end;
CloseSQL(qry);
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD
prior Prior

Sintaxe:
Erro! Fonte de referência não encontrada.procedureErro! Fonte de referência não
encontrada. priorErro! Fonte de referência não encontrada. (Erro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada. q : TQueryErro! Fonte de referência
não encontrada.Erro! Fonte de referência não encontrada. )Erro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada. ; overload;Erro! Fonte de
referência não encontrada.
Erro! Fonte de referência não encontrada.procedure Erro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada.priorErro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada. (Erro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada. q : StringErro! Fonte de referência
não encontrada.Erro! Fonte de referência não encontrada. )Erro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada. ; overload;Erro! Fonte de
referência não encontrada.
Erro! Fonte de referência não encontrada.

Descrição: O procedimento prior é utilizado para posicionar o cursor da consulta para o


campo anterior da consulta, para isso você deve passar como parâmetro uma variável do tipo
TQuery Erro! Fonte de referência não encontrada. ou uma String representando o nome
desta query, geralmente as queries do sistema.

Exemplo:
Este exemplo recupera a descrição de todos os centros de custo da empresa corrente.

INTERFACE
IMPLEMENTATION
MAIN
var
qry : TQuery;
desc : String;
BEGIN
OpenSQL(qry,'SELECT descricao FROM cencus WHERE codemp = ' + GetCurrentEmp + '
ORDER BY descricao');
last(qry);
while not bof(qry) do
begin
desc := desc + fieldByName(qry,'descricao',asString) + ' *** ';
ShowMessage(desc);
prior(qry);
end;
CloseSQL(qry);
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

first First

Página 325 de 478


Sintaxe:
Erro! Fonte de referência não encontrada.procedureErro! Fonte de referência não
encontrada. first ( q : TQuery ) ; overload;
procedure Erro! Fonte de referência não encontrada.firstErro! Fonte de referência não
encontrada. ( q : String ) ; overload;

Descrição: O procedimento first é utilizado para posicionar o cursor da consulta no primeiro


campo, para isso você deve passar como parâmetro uma variável do tipo TQuery ou uma
String representando o nome desta query, geralmente as queries do sistema.

Exemplo:
Este exemplo recupera a descrição de todos os centros de custo da empresa corrente, por
duas vezes, ao terminar a primeira vez o comando first é utilizado para posicionar o cursor no
primeiro índice da consulta.

INTERFACE
IMPLEMENTATION
MAIN
var
qry : TQuery;
desc : String;
BEGIN
OpenSQL(qry,'SELECT descricao FROM cencus WHERE codemp = ' + GetCurrentEmp + ' ORDER
BY descricao');
while not eof(qry) do
begin
desc := desc + fieldByName(qry,'descricao',asString) + ' *** ';
ShowMessage(desc);
next(qry);
end;
first(qry);
while not eof(qry) do
begin
desc := desc + fieldByName(qry,'descricao',asString) + ' *** ';
ShowMessage(desc);
next(qry);
end;
CloseSQL(qry);
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

last Last

Sintaxe:
procedure last (q : TQuery) ; overload;
procedure lastErro! Fonte de referência não encontrada. (Erro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada. q : StringErro! Fonte de referência
não encontrada. ) ; overload;

Descrição: O procedimento last é utilizado para posicionar o cursor da consulta no último


campo, para isso você deve passar como parâmetro uma variável do tipo TQuery ou uma
String representando o nome desta query, geralmente as queries do sistema.

Exemplo:
Este exemplo recupera a descrição de todos os centros de custo da empresa corrente.

INTERFACE
IMPLEMENTATION
MAIN
var
qry : TQuery;
desc : String;
BEGIN
OpenSQL(qry,'SELECT descricao FROM cencus WHERE codemp = ' + GetCurrentEmp + ' ORDER
BY descricao');
last(qry);
while not bof(qry) do
begin
desc := desc + fieldByName(qry,'descricao',asString) + ' *** ';
ShowMessage(desc);
prior(qry);
end;
CloseSQL(qry);
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

locate Locate

Sintaxe:
function locate ( q : TQuery; field : String; value : String; caseS: Boolean; partialKey :
BooleanErro! Fonte de referência não encontrada. )Erro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada. : Boolean; : overload;Erro!
Fonte de referência não encontrada.
function locate (Erro! Fonte de referência não encontrada. q : String; field :
String; value : String; caseS: Boolean; partialKey : BooleanErro! Fonte de
referência não encontrada.Erro! Fonte de referência não encontrada. )Erro! Fonte de
referência não encontrada.Erro! Fonte de referência não encontrada. : Boolean; :
overload;Erro! Fonte de referência não encontrada.

Erro! Fonte de referência não encontrada.Descrição: Utilize a função locate para


recuperar um dataSet para um registro específico e posicionar o cursor sobre este
registro. A função retornará Erro! Fonte de referência não encontrada.falseErro! Fonte de
referência não encontrada. se não conseguir recuperar o dataSet e Erro! Fonte de
referência não encontrada.true se o encontrar. Esta função recebe como parâmetro cinco
argumentos:
- qErro! Fonte de referência não encontrada. : pode ser a variável do tipo TQuery, ou um
query do sistema, onde se deve realizar a busca.Erro! Fonte de referência não
encontrada.
- field: em qual campo deve-se realizar a pesquisa
- value: o valor que se deseja encontrar

Página 327 de 478


- caseS: se true a busca diferenciará letras maiúsculas de minúsculas.
- partialKey: se true a busca irá procurar por qualquer registro que contenha a string value,
mesmo não sendo exatamente o conteúdo de value. Ex: se q ="HAM" e partialKey for true,
registros como" HAMMER" ou "HAMM" serão valores válidos.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
qry : TQuery;
BEGIN
OpenSQL(qry,'Select descricao from tab1');
// A função locate procura no campo descrição da query QRY um valor que contenha
a string 'eletr', pondedo ser 'Eletrica', 'eletrônica' etc
if locate(qry,'descricao','eletr',false,true) then begin
showMessage('Registro encontrado');
end;
CloseSQL(qry);
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

findField FindField

Sintaxe:
function findField ( q : TQuery; field : String ) : Boolean; : overload;
function locate ( q : String; field : String ) : Boolean; : overload;

Erro! Fonte de referência não encontrada.Descrição: Utilize a função findField para


verificar se existe um determinado campo na consulta SQL. A função retornará Erro!
Fonte de referência não encontrada. falseErro! Fonte de referência não encontrada. se
não encontrar o campo e Erro! Fonte de referência não encontrada. trueErro! Fonte de
referência não encontrada. se o encontrar. Esta função recebe como parâmetro dois
argumentos: Erro! Fonte de referência não encontrada.
- q: pode ser a variável do tipo TQuery, ou um query do sistema, onde se deve realizar a
busca.
- field: qual campo deve ser procurado.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
qry : TQuery;
BEGIN
OpenSQL(qry,'select * from cencus');
if findField(qry,'u_testde') then begin
showMessage('O campo criado pelo usuário "u_teste" existe na consulta
realizada');
end;
closeSQL(qry);
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

recordcount RecordCount

Sintaxe:
function recordCount ( q : TQuery ): Integer ;overload;
function recordCount ( q : String ): Integer ;overload;

Erro! Fonte de referência não encontrada.Descrição: A função recordCount retorna o


número de registros de uma consulta SQL. Esta função pode receber tanto uma query
do usuário quanto uma query do sistema.Erro! Fonte de referência não encontrada.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
qry : TQuery;
i : integer;
BEGIN
OpenSQL(qry,'select * from cencus');
i := recordCount(qry);
showMessage(intToStr(i));
closeSQL(qry);
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

SQLDate SqlDate

Sintaxe:
function SQLDateErro! Fonte de referência não encontrada. (data : TDateTime, flag
: Boolean) : String;Erro! Fonte de referência não encontrada.
Erro! Fonte de referência não encontrada.
Descrição: Utilize a função SQLDate quando você estiver montando um comando SQL no
qual você irá informar uma data, esta função recebe uma data e um flag. Este flag determina

Página 329 de 478


se as horas serão ou não apresentadas, se Erro! Fonte de referência não encontrada. True
então apresenta-se a hora se FalseErro! Fonte de referência não encontrada. então as
horas não serão apresentadas. Esta função retorna um string para ser inserida no
comando SQL de acordo com o SGBD utilizado.Erro! Fonte de referência não encontrada.
Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
ExecSql('Update tabTeste set data = ' + SQLDate(SGBDDate,true)) + 'where
codteste=1');
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

SGBDDate SGBDDate

Sintaxe:
function Erro! Fonte de referência não encontrada.SGBDDateErro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada. : TDateTime;Erro! Fonte de
referência não encontrada.
Erro! Fonte de referência não encontrada.

Descrição: Utilize a função SGBDDate quando você quiser saber a data do servidor de
banco de dados.Erro! Fonte de referência não encontrada.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
ExecSql('Update tabTeste set data = ' + SQLDate(SGBDDate,true)) + 'where
codteste=1');
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

InsertObs InsertObs

Sintaxe:
function insertObsErro! Fonte de referência não encontrada. (Erro! Fonte de referência
não encontrada.Erro! Fonte de referência não encontrada. tabela, campo, condicao,
descricao : StringErro! Fonte de referência não encontrada.Erro! Fonte de referência
não encontrada. )Erro! Fonte de referência não encontrada.Erro! Fonte de referência não
encontrada. : String;Erro! Fonte de referência não encontrada.

Erro! Fonte de referência não encontrada.Descrição: A função insertObs é utilizada


gravar campos do tipo BLOB em qualquer tabela. Para isso deve-se passar como
parâmetro o nome da tabela, o nome do campo, a condição para inserção (where ),
note que a palavra chave where deve estar presente na condição, e a descrição que
será inserida no banco de dados. Esta função retorna uma string vazia se nenhum
erro ocorrer, caso contrário um erro SQL será devolvido pela função.Erro! Fonte de
referência não encontrada.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
obs : string;
BEGIN
obs := getObs('aplic','obs','where tag="TES-00001"',getText);
insertObs('aplic','obs','where tag="TES-00003"',obs);
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

GetObs
getObs

Sintaxe:
function Erro! Fonte de referência não encontrada.getObsErro! Fonte de referência não
encontrada. ( tabela, campo, condicao : String, type : getType ) : String;

Erro! Fonte de referência não encontrada.Descrição: A função getObs é utilizada


recuperar campos do tipo BLOB em qualquer tabela. Para isso deve-se passar como
parâmetro o nome da tabela, o nome do campo, a condição para recuperar este
campo (where ...), note que a palavra chave where deve estar presente na condição.
Esta função recebe ainda um quarto parâmetro que especifica a forma como os dados
neste campo serão recuperados. Este parâmetro é do tipo Erro! Fonte de referência não
encontrada.getType. Esta função retorna um string.

GetType:

 getText: recupera o conteúdo do campo especificado como somente texto, sem


formatação.
 getRTF: recupera o conteúdo do campo especificado com toda a formatação original
(fonte, cor, tamanho).

Página 331 de 478


Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
obs : string;
BEGIN
obs := getObs('aplic','obs','where tag="TES-00001"',getText);
insertObs('aplic','obs','where tag="TES-00003"',obs);
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

openDataBase OpenDataBase

Sintaxe:
function openDataBaseErro! Fonte de referência não encontrada.
(dbName : String;
remoteDB : String; serverType : TSDServerType; parms : String; dllName :
String) : String;Erro! Fonte de referência não encontrada.

Descrição: Esta função estabelece uma conexão com um banco de dados. Esta função
retornará um string vazia se a conexão for bem sucedida senão retornará o erro de conexão.
Erro! Fonte de referência não encontrada. Os parâmetros para esta função são:Erro!
Fonte de referência não encontrada.
Erro! Fonte de referência não encontrada. - dbName:nome da base de dados, os nomes
Engeman e EngemanX não podem ser utilizados.Erro! Fonte de referência não
encontrada.
- remoteDB: Local onde se encontra a base de dados, servidor e caminho do banco.
- serverType:tipo do banco de dados que se deseja conectar. Os tipos válidos são:
Erro! Fonte de referência não encontrada.
ServerType value Database Server

stDB2 IBM DB2


Database
stFirebird Firebird Server
stInformix Informix Server
stInterbase Interbase Server
stMySQL MySQL Server
stODBC ODBC database
stOracle Oracle
stPostgreSQL stgreSQL Server
stSQLBase Centura
SQLBase
stSQLServer MS SQL Server

Erro! Fonte de referência não encontrada. - params: parâmetros para conexão com o
banco de dados. Os parâmetros devem estar separados por ponto e virgulas (;).
- dllName: se a conxão com o bando de dados utilizar uma dll diferente da dll padrão deve-se
então informar qual é esta dll.Erro! Fonte de referência não encontrada.

Exemplo Firebird:

INTERFACE
IMPLEMENTATION
MAIN
var
qry: TQuery;
dbName: String;
i : integer;
BEGIN
dbName := 'banco1';
openDataBase(dbName,'192.168.100.14:c:\database\banco.fdb',stFireBird,'user
name=engeman; password=engeman','');
openSQL(qry,'Select count(*) as count from tab_1',dbName);
i := fieldByName(qry,'count',AsInteger);
closeSQL(qry);
closeDataBase(dbName);
END.

Exemplo Oracle:

INTERFACE

IMPLEMENTATION

MAIN
var
qry: TQuery;
dbName: String;
i : integer;
BEGIN
dbName := 'eng';
openDataBase(dbName,'orcl',stOracle,'USER
NAME=SAPIENST;PASSWORD=engeman','oraclient10.dll');
openSQL(qry,'Select count(*) as count from E210MVP',dbName);
i := fieldByName(qry,'count',AsInteger);
showMessage(inttostr(i));
closeSQL(qry);
closeDataBase(dbName);
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

refreshQuery RefreshQuery

Sintaxe:
Erro! Fonte de referência não encontrada. procedure refreshQueryErro! Fonte de
referência não encontrada.Erro! Fonte de referência não encontrada. (q : TQuery);
overload;Erro! Fonte de referência não encontrada.

Página 333 de 478


Erro! Fonte de referência não encontrada. procedure refreshQueryErro! Fonte de
referência não encontrada.Erro! Fonte de referência não encontrada. (q : String);
overload;Erro! Fonte de referência não encontrada.

Descrição: A função refreshQuery é utilizada para atualizar os elementos de um consulta,


para isso a consulta passada é fechada e aberta novamente. Como parâmetro esta função
recebe uma variável q, do tipo Tquery, ou uma string com o nome da consulta que se deseja
atualizar.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD

salvaAnexo SalvaAnexo

Sintaxe:
procedure salvaAnexo (tabela: String; reduzido: String; nomeArquivo: String; path:
String; novoNomeArquivo: String);

Descrição: A função salvaAnexo salva em disco um anexo que esteja vinculado a uma O.S.,
Solicitação de Serviço ou a uma Aplicação
- tabela: informar 'Ordserv' , 'Solicitacao' ou 'Aplic'. São as três tabelas que podem possuir
anexos.
- reduzido: informar o código reduzido da O.S. de onde se deseja buscar o anexo (campo
codord) ou o código reduzido da Solicitação (campo codsol) ou o código reduzido da Aplicação
(campo codapl).
- nomeArquivo: informar o nome do anexo da O.S., Solicitação ou Aplicação (uma vez que
podem existir vários anexos vinculados a uma mesma O.S., Solicitação de Serviço ou
Aplicação).
- path: informar o endereço onde o arquivo deverá ser salvo, terminado ou não por \.
- novoNomeArquivo: informar o nome em que o arquivo será salvo. Se informado vazio (''),
o arquivo será gerado com o mesmo nome encontrado no banco de dados. É opcional informar
a extensão para este novo nome (se não informada, o arquivo será salvo com a extensão .zip,
que é a extensão em que os arquivos ficam armazenados no banco).

No exemplo a seguir, todos os anexos de uma O.S. são salvos no endereço c:\.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
q: Tquery;
descricao: String;
BEGIN
closeSQL(q);
//O SQL abaixo retorna a descrição dos anexos da O.S. cujo codord é 3426
openSQL(q,'select descricao from ordanexo where codord = 3426');
while not eof(q) do begin
descricao := fieldByName(q,'descricao',AsString);
salvaAnexo('ordserv','3426',descricao,'c:\','');
Next(q);
end;
closeSQL(q);
END.

Veja também:

abreAnexo

abreAnexo AbreAnexo

Sintaxe:
procedure abreAnexo (tabela: String; reduzido: String; nomeArquivo: String);

Descrição: A função abreAnexo abre um anexo que esteja vinculado a uma O.S. ou a uma
Solicitação de Serviço.
- tabela: informar 'Ordserv', 'Solicitacao' ou 'Aplic'. São as três tabelas que podem possuir
anexos.
- reduzido: informar o código reduzido da O.S. de onde se deseja buscar o anexo (campo
codord) , o código reduzido da Solicitação (campo codsol) ou o código reduzido da Aplicação
(campo codsapl).
- nomeArquivo: informar o nome do anexo da O.S., Solicitação ou Aplicação (uma vez que
podem existir vários anexos vinculados a uma mesma O.S., Solicitação de Serviço ou
Aplicação).
- path: informar o endereço onde o arquivo deverá ser salvo, terminado ou não por \.

No exemplo a seguir, todos os anexos de uma Solicitação são localizados e abertos.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
q: Tquery;
descricao: String;
BEGIN
closeSQL(q);
//O SQL abaixo retorna a descrição dos anexos da Solicitação cujo codsol é 132
openSQL(q,'select descricao from solanexo where codsol = 132');
while not eof(q) do begin
descricao := fieldByName(q,'descricao',AsString);
abreAnexo('solicitacao','132',descricao);
Next(q);
end;
closeSQL(q);
END.

Veja também:

salvaAnexo

Rtf2Html Rtf2Html

Sintaxe:

Página 335 de 478


procedure Rtf2Html (tabelas: String; campo: String; condicao: String; arquivoDestino:
String; tituloPagina: String);

Descrição: A função Rtf2Html converte um conteúdo rtf (salvo em determinados campos de


tabelas do banco de dados) para um arquivo Html.
- tabelas: informar o nome da tabela que contém o campo com conteúdo rtf. Se for necessário
realizar um relacionamento para determinar qual a tabela, podem ser informadas mais de uma
tabela neste parâmetro, separadas por vírgula.
- campo: informar o nome do campo que contém o conteúdo rtf.
- condicao: informar a cláusula para determinação do registro desejado da tabela. Não é
necessário informar o termo "where".
- arquivoDestino: informar o endereço onde o arquivo html será salvo, acompanhado do nome
e extensão do arquivo.
- tituloPagina: informar o título da página do arquivo html que será gerado.

Obs: O texto apresentado na guia "Observação" de inúmeras telas do Engeman está


armazenado no formato rtf. Geralmente, o nome do campo relacionado à estas guias é "Obs"
ou "Obs_1".

No exemplo a seguir, o campo "Observação" (campo armazenado em rtf) da O.S. cujo codord
é 3426 é convertido para Html e salvo em disco no arquivo "PaginaTeste.html".

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
Rtf2Html('ordserv','obs_1','codord=3426','c:\PaginaTeste.html','Observações de
O.S.');
END.

Veja também:

Rtf2Txt | Html2Rtf

Rtf2Txt Rtf2Txt

Sintaxe:
procedure Rtf2Txt (tabelas: String; campo: String; condicao: String; arquivoDestino:
String);

Descrição: A função Rtf2Txt converte um conteúdo rtf (salvo em determinados campos de


tabelas do banco de dados) para um arquivo Txt.
- tabelas: informar o nome da tabela que contém o campo com conteúdo rtf. Se for necessário
realizar um relacionamento para determinar qual a tabela, podem ser informadas mais de uma
tabela neste parâmetro, separadas por vírgula.
- campo: informar o nome do campo que contém o conteúdo rtf.
- condicao: informar a cláusula para determinação do registro desejado da tabela. Não é
necessário informar o termo "where".
- arquivoDestino: informar o endereço\nome e extensão do arquivo txt que será gerado.

Obs: O texto apresentado na guia "Observação" de inúmeras telas do Engeman está


armazenado no formato rtf. Geralmente, o nome do campo relacionado à estas guias é "Obs"
ou "Obs_1".

No exemplo a seguir, o campo "Observação" (campo armazenado em rtf) da O.S. cujo codord
é 3426 é convertido para txt e salvo em disco no arquivo "ArquivoTxt.html".

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
Rtf2Txt('ordserv','obs_1','codord=3426','c:\ArquivoTxt.txt');
END.

Veja também:

Rtf2Html | Html2Rtf

Html2Rtf Html2Rtf

Sintaxe:
procedure Html2Rtf (arquivoOrigem: String; arquivoDestino: String);

Descrição: A função Html2Rtf converte um conteúdo Html salvo em disco para um arquivo
Rtf.
- arquivoOrigem: informar o endereço\nome do arquivo html que será convertido.
- arquivoDestino: informar o endereço\nome do arquivo rtf que será gerado.

No exemplo a seguir, o arquivo "PaginaTeste.html" é convertido em txt e salvo em disco no


arquivo "PaginaTeste.txt".

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
Html2Rtf('c:\Paginateste.html','c:\Paginateste.rtf');
END.

Veja também:

Rtf2Html | Rtf2Txt

edit Edit

Sintaxe:
procedure Erro! Fonte de referência não encontrada.edit(table: TQuery)
overloadErro! Fonte de referência não encontrada.
procedure edit(table: String);
Descrição: O procedimento Edit edita uma Query para alterar e cadastrar dados. Ela
recebe um parâmetro que pode ser do tipo TQuery ou do Tipo String;

- table: tabela existente na base de dados do Engeman.

Exemplo:

Página 337 de 478


INTERFACE
IMPLEMENTATION
MAIN
BEGIN
edit('Aplic');
fieldbyname('Aplic','Descricao',asString,'Valor');
post('Aplic');
refreshQuery('Aplic');
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD | post | insert | delete

Insert
insert

Sintaxe:
procedure Erro! Fonte de referência não encontrada.insert(table: TQuery)
overloadErro! Fonte de referência não encontrada.
procedure insert(table: String);
Descrição: O procedimento Insert insere um novo registro na Query. Ele recebe um
parâmetro que pode ser do tipo TQuery ou String;

- table: tabela existente na base de dados do Engeman.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
insert('Aplic');
fieldbyname('Aplic','TAG',asString,'00001');
fieldbyname('Aplic','DESCRICAO',asString,'INSERT HELP');
fieldbyname('Aplic','CODCEN',asFloat,1);
post('Aplic');
refreshQuery('Aplic');
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD | post | edit | delete
post Post

Sintaxe:
procedure Erro! Fonte de referência não encontrada.post(table: TQuery)
overloadErro! Fonte de referência não encontrada.
procedure post(table: String);
Descrição: O procedimento post grava um novo registro na Query. Ele recebe um
parâmetro que pode ser do tipo TQuery ou String;

- table: tabela existente na base de dados do Engeman.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
edit('Aplic');
fieldbyname('Aplic','TAG',asString,'00001');
post('Aplic');
refreshQuery('Aplic');
END.

Veja também:

OpenDataBase | CloseDataBase | OpenSQL | CloseSQL | Eof | Bof | ExecSQL |


FieldByName | FieldByIndex | FieldsCount | FieldType | FieldExist | FilterQuery |
ParamByName | GetObs | GetQueryState | InsertObs | First | Last | Next | Prior |
RefreshQuery | Locate | FindField | RecordCount | FieldsCount | SGBDDate | SQLDate |
TableExist | checkSGBD | insert | edit | delete |

Funções de Datas (TDateTime) Funções de Datas (TDateTime)


Date
Now
Time
DecodeDate
DecodeDateTime
EncodeDate
EncodeDateTime
DayOfWeek
DayOfMonth
DayOfYear
WeekOfYear
DateGetDay
DateGetMonth
DateGetYear
DateGetHour
DateGetMinute
DateGetSecond
FormataHora

Página 339 de 478


Date Date

Sintaxe:
function date : TDateTime;

Descrição: A função Date retorna a data do computador local.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
data : TDateTime;
BEGIN
data := date;
showMessage('Hoje é dia: ' + DateTimeToStr(data) + 'amanhã será dia:' +
DateTimeToStr (data + 1));
END.

Veja também:

Date | Now | DayOfMonth | DayOfWeek | DayOfYear | DecodeDate | DecodeDateTime


| EncodeDate | EncodeDateTime | Time | WeekOfYear

Now Now

Sintaxe:
functionErro! Fonte de referência não encontrada. Now: TDateTime;Erro! Fonte de
referência não encontrada.

Descrição: A função Now retorna a data e a hora do computador local.

Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
dataHora : TDateTime;
BEGIN
dataHora := now;
showMessage('Data e Hora Local: ' + DateTimeToStr(dataHora));
END.

Veja também:

Date | Now | DayOfMonth | DayOfWeek | DayOfYear | DecodeDate | DecodeDateTime


| EncodeDate | EncodeDateTime | Time | WeekOfYear

Time Time

Sintaxe:
function Erro! Fonte de referência não encontrada.TimeErro! Fonte de referência não
encontrada. : TDateTime;

Descrição: A função Time retorna a hora do computador local, no momento que o comando
for executado e a data padrão que é 30/12/1899.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
data : TDateTime;
BEGIN
data := Time;
showMessage(DateTimeToStr(data));
END.

Veja também:

Date | Now | DayOfMonth | DayOfWeek | DayOfYear | DecodeDate | DecodeDateTime


| EncodeDate | EncodeDateTime | Time | WeekOfYear

DecodeDate DecodeDate

Sintaxe:
procedure DecodeDate(Date: TDateTime; Day, Month,Year : Word);

Descrição: O procedimento DecodeDate separa o valor especificado em Date para os


valores do Dia, Mês e Ano e os atribui as variáveis Day, Month, e Year, respectivamente.
Estas variáveis são do tipo word.
decodeDate(28327,dia,mes,ano) => dia = 21, mes = 7 e ano = 1977
Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
data : TDateTime;
dia,mes,ano : word;
BEGIN
data := 28327; // data := StrToDate('21/07/1977');
decodeDate(data,dia,mes,ano);
showMessage('data: ' + DateToStr(data) + ' dia: ' + IntToStr(dia) + ' mês: ' +
IntToStr(mes) + ' ano : ' +
IntToStr(ano));
END.

Veja também:

Date | Now | DayOfMonth | DayOfWeek | DayOfYear | DecodeDate | DecodeDateTime


| EncodeDate | EncodeDateTime | Time | WeekOfYear

DecodeDateTime DecodeDateTime

Página 341 de 478


Sintaxe:
procedureErro! Fonte de referência não encontrada. DecodeDateErro! Fonte de
referência não encontrada.Erro! Fonte de referência não encontrada. TimeErro! Fonte de
referência não encontrada. (Date: TDateTime; Day, Month,Year, Hour, Minute, Second:
Word);

Descrição: O procedimento DecodeDateTime separa o valor especificado em Date para os


valores do Dia, Mês e Ano, Hora, Minutos e Segudos e os atribui as variáveis Day, Month,
Year, Hour, Minute e Second respectivamente. Estas variáveis são do tipo word.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
data : TDateTime;
dia,mes,ano : word;
hora,min,seg : word;
BEGIN
data := Now;
decodeDateTime(data,dia,mes,ano,hora,min,seg);
showMessage('data: ' + DateToStr(data) + ' dia: ' + IntToStr(dia) + ' mês: ' +
IntToStr(mes) + ' ano : ' + IntToStr(ano)
+ ' hora: ' + IntToStr(hora) + ' minutos: ' + IntToStr(min) + ' segundos: ' +
IntToStr(seg));
END.

Veja também:

Date | Now | DayOfMonth | DayOfWeek | DayOfYear | DecodeDate | DecodeDateTime


| EncodeDate | EncodeDateTime | Time | WeekOfYear

EncodeDate EncodeDate

Sintaxe:
functionErro! Fonte de referência não encontrada. Erro! Fonte de referência não
encontrada.EncodeDate (Day, Month,Year: Word): TDateTime;

Erro! Fonte de referência não encontrada.Descrição: EncodeDate retorna um valor do


tipo TDateTime especificado pelos parâmetros Day, Month, e Year.Erro! Fonte de
referência não encontrada.
 O ano deve ser um valor compreendido entre 1 e 9999;
 Um mês válido é um valor ente 1 e 12;
 Um dia válido é um valor entre 1 e 28, 29, 30, ou 31, dependendo do valor do mês. Por
exemplo, os possíveis valores para dia do mês 2 (fevereiro) esta compreendido entre 1 e 28
ou compreendido entre 1 e 29, dependendo do ano especificado.
 Se o valor especificado não for um valor válido, EncodeDate irá retornar a data:
01/01/1900.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
data : TDateTime;
dia,mes,ano : word;
BEGIN
dia := 21;
mes := 07;
ano := 1977;
data := encodeDate(dia,mes,ano);
showMessage(dateToStr(data));
END.

Veja também:

Date | Now | DayOfMonth | DayOfWeek | DayOfYear | DecodeDate | DecodeDateTime


| EncodeDate | EncodeDateTime | Time | WeekOfYear

EncodeDateTime EncodeDateTime

Sintaxe:
functionErro! Fonte de referência não encontrada. EncodeDateErro! Fonte de referência
não encontrada. ( Day, Month, Year, Hour, Minute, SecondErro! Fonte de referência não
encontrada. : Word): TDateTime;Erro! Fonte de referência não encontrada.
Erro! Fonte de referência não encontrada.

Descrição: EncodeDateTime retorna um valor do tipo TDateTime especificado pelos


parâmetros Day, Month, Year, Hour, Minute e Second.Erro! Fonte de referência não
encontrada.
 Erro! Fonte de referência não encontrada. O ano deve ser um valor compreendido
entre 1 e 9999;Erro! Fonte de referência não encontrada.
 Erro! Fonte de referência não encontrada. Um mês válido é um valor ente 1 e
12;Erro! Fonte de referência não encontrada.
 Erro! Fonte de referência não encontrada. Um dia válido é um valor entre 1 e 28,
29, 30, ou 31, dependendo do valor do mês. Por
exemplo, os possíveis valores para dia do mês 2 (fevereiro) esta compreendido entre 1
e 28
ou compreendido entre 1 e 29, dependendo do ano especificado; Erro! Fonte de
referência não encontrada.
 Erro! Fonte de referência não encontrada. Um valor para hora válida é
compreendida entre 0 e 23;Erro! Fonte de referência não encontrada.
 Erro! Fonte de referência não encontrada. Um valor para minuto válido está
compreendido entre 0 e 59;Erro! Fonte de referência não encontrada.
 Erro! Fonte de referência não encontrada. Um valor válido para segundos está
compreendido entre 0 e 59.Erro! Fonte de referência não encontrada.
 Erro! Fonte de referência não encontrada. Se o valor especificado não for um valor
válido, EncodeDateTime irá retornar a data:
01/01/1900 01:00:00.Erro! Fonte de referência não encontrada.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
data : TDateTime;
dia,mes,ano : word;
hora, minuto, segundo : word;
BEGIN
dia := 21;

Página 343 de 478


mes := 7;
ano := 1977;
hora := 20;
minuto := 32;
segundo := 59;
data := encodeDateTime(dia,mes,ano,hora,minuto,segundo);
showMessage(dateTimeToStr(data));
END.

Veja também:

Date | Now | DayOfMonth | DayOfWeek | DayOfYear | DecodeDate | DecodeDateTime


| EncodeDate | EncodeDateTime | Time | WeekOfYear

DayOfWeek DayOfWeek

Sintaxe:
functionErro! Fonte de referência não encontrada. Erro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada.dayOfWeek(date :
TDateTime)Erro! Fonte de referência não encontrada.Erro! Fonte de referência não
encontrada. : Erro! Fonte de referência não encontrada.Erro! Fonte de referência não
encontrada.Integer;Erro! Fonte de referência não encontrada.

Descrição: A função dayOfWeek retorna o dia da sema de uma data específica como um
valor inteiro entre 1 e 7, onde domingo é o primeiro dia e sábado é o sétimo. Os valores de
retorno da função são:

Dia da Semana Valor Retornado


domingo 1
segunda-feira 2
terça-feira 3
quarta-feira 4
quinta-feira 5
sexta-feira 6
sábado 7

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
diaSem,diaMes,diaAno : Integer;
BEGIN
diaSem := DayOfWeek(date);
diaMes := DayOfMonth(date);
diaAno := DayOfYear(date);
showMessage('Hoje é o: '+IntToStr(diaSem)+'º dia da semana, o:
'+IntToStr(diaMes)+'º do mês de o :'+IntToStr(diaAno)+'º do ano!');
END.

Veja também:

Date | Now | DayOfMonth | DayOfWeek | DayOfYear | DecodeDate | DecodeDateTime


| EncodeDate | EncodeDateTime | Time | WeekOfYear
DayOfMonth DayOfMonth

Sintaxe:
function Erro! Fonte de referência não encontrada.dayOfMonth(date : TDateTime)Erro!
Fonte de referência não encontrada.Erro! Fonte de referência não encontrada. : Erro!
Fonte de referência não encontrada.Erro! Fonte de referência não
encontrada.Integer;Erro! Fonte de referência não encontrada.

Descrição: A função dayOfMonth retorna o dia do mês de uma data específica como um
valor inteiro entre 1 e 31.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
diaSem,diaMes,diaAno : Integer;
BEGIN
diaSem := DayOfWeek(date);
diaMes := DayOfMonth(date);
diaAno := DayOfYear(date);
showMessage('Hoje é o: '+IntToStr(diaSem)+'º dia da semana, o:
'+IntToStr(diaMes)+'º do mês de o :'+IntToStr(diaAno)+'º do ano!');
END.

Veja também:

Date | Now | DayOfMonth | DayOfWeek | DayOfYear | DecodeDate | DecodeDateTime


| EncodeDate | EncodeDateTime | Time | WeekOfYear

DayOfYear DayOfYear

Sintaxe:
functionErro! Fonte de referência não encontrada. Erro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada.dayOfYear(date : TDateTime)Erro!
Fonte de referência não encontrada.Erro! Fonte de referência não encontrada. : Erro!
Fonte de referência não encontrada.Erro! Fonte de referência não
encontrada.Integer;Erro! Fonte de referência não encontrada.

Descrição: A função dayOfYear retorna o dia do ano de uma data específica como um valor
inteiro,onde 1 de Janeiro retorna 1, 2 de Janeiro retorna 2, 1 de Fevereiro retorna 32 e assim
por diante.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
diaSem,diaMes,diaAno : Integer;
BEGIN
diaSem := DayOfWeek(date);
diaMes := DayOfMonth(date);
diaAno := DayOfYear(date);
showMessage('Hoje é o: '+IntToStr(diaSem)+'º dia da semana, o:

Página 345 de 478


'+IntToStr(diaMes)+'º do mês de o :'+IntToStr(diaAno)+'º do ano!');
END.

Veja também:

Date | Now | DayOfMonth | DayOfWeek | DayOfYear | DecodeDate | DecodeDateTime


| EncodeDate | EncodeDateTime | Time | WeekOfYear

WeekOfYear WeekOfYear
Sintaxe:
function WeekErro! Fonte de referência não encontrada.OfYear(date :
TDateTime)Erro! Fonte de referência não encontrada.Erro! Fonte de referência não
encontrada. : Erro! Fonte de referência não encontrada.Erro! Fonte de referência não
encontrada.Integer;Erro! Fonte de referência não encontrada.

Descrição: A função WeekOfYear retorna a semana do ano de uma data específica, como
um valor inteiro. Os valores estão compreendidos entre 1 e 53.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
semano : Integer;
BEGIN
semAno := WeekOfYear(date);
showMessage('Estamos na: '+IntToStr(semaAno)+'ª semana do ano');
END.

Veja também:

Date | Now | DayOfMonth | DayOfWeek | DayOfYear | DecodeDate | DecodeDateTime


| EncodeDate | EncodeDateTime | Time | WeekOfYear

DateGetDay DateGetDay
Sintaxe:
function DateGetDay(date :TDateTime) : Erro! Fonte de referência não
encontrada.Integer;Erro! Fonte de referência não encontrada.

Descrição: A função dateGetDay retorna o dia de uma data, como um valor inteiro.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
semano : Integer;
BEGIN
semAno := DateGetDay(now);
showMessage('Hoje é Dia: '+IntToStr(semaAno));
END.
Veja também:

Date | Now | DayOfMonth | DayOfWeek | DayOfYear | DecodeDate | DecodeDateTime


| EncodeDate | EncodeDateTime | Time | WeekOfYear | DateGetDay | DateGetMonth |
DateGetYear | DateGetHour | DateGetMinute | DateGetSecond

DateGetMonth DateGetMonth
Sintaxe:
function DateGetMonth(date :TDateTime) : Erro! Fonte de referência não
encontrada.Integer;Erro! Fonte de referência não encontrada.

Descrição: A função dateGetMonth retorna o mês de uma data, como um valor inteiro.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
Month : Integer;
BEGIN
Month := DateGetMonth(now);
showMessage('Hoje é Mês: '+IntToStr(Month));
END.

Veja também:

Date | Now | DayOfMonth | DayOfWeek | DayOfYear | DecodeDate | DecodeDateTime


| EncodeDate | EncodeDateTime | Time | WeekOfYear | DateGetDay | DateGetMonth |
DateGetYear | DateGetHour | DateGetMinute | DateGetSecond

DateGetYear DateGetYear

Sintaxe:
function DateGetYear(date :TDateTime) : Erro! Fonte de referência não
encontrada.Integer;Erro! Fonte de referência não encontrada.

Descrição: A função dateGetYear retorna o ano de uma data, como um valor inteiro.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
Year : Integer;
BEGIN
Year := DateGetYear(now);
showMessage('Estamos no Ano de: '+IntToStr(Year));
END.

Página 347 de 478


Veja também:

Date | Now | DayOfMonth | DayOfWeek | DayOfYear | DecodeDate | DecodeDateTime


| EncodeDate | EncodeDateTime | Time | WeekOfYear | DateGetDay | DateGetMonth |
DateGetYear | DateGetHour | DateGetMinute | DateGetSecond

DateGetHour DateGetHour

Sintaxe:
function DateGetHour(date :TDateTime) : Erro! Fonte de referência não
encontrada.Integer;Erro! Fonte de referência não encontrada.

Descrição: A função dateGetHour retorna a hora de uma data, como um valor inteiro.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
Hour : Integer;
BEGIN
Hour := DateGetHour(now);
showMessage('Estamos no Ano de: '+IntToStr(Hour));
END.

Veja também:

Date | Now | DayOfMonth | DayOfWeek | DayOfYear | DecodeDate | DecodeDateTime


| EncodeDate | EncodeDateTime | Time | WeekOfYear | DateGetDay | DateGetMonth |
DateGetYear | DateGetHour | DateGetMinute | DateGetSecond

DateGetMinute DateGetMinute

Sintaxe:
function DateGetHour(date :TDateTime) : Erro! Fonte de referência não
encontrada.Integer;Erro! Fonte de referência não encontrada.

Descrição: A função dateGetMinute retorna os minutos como um valor inteiro.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
minute : Integer;
BEGIN
minute := DateGetMinute(now);
showMessage(IntToStr(minute));
END.

Veja também:
Date | Now | DayOfMonth | DayOfWeek | DayOfYear | DecodeDate | DecodeDateTime
| EncodeDate | EncodeDateTime | Time | WeekOfYear | DateGetDay | DateGetMonth |
DateGetYear | DateGetHour | DateGetMinute | DateGetSecond

DateGetSecond DateGetSecond

Sintaxe:
function DateGetSecond(date :TDateTime) : Erro! Fonte de referência não
encontrada.Integer;Erro! Fonte de referência não encontrada.

Descrição: A função dateGetSecond retorna os segundos como um valor inteiro.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
second : Integer;
BEGIN
second := DateGetSecond(now);
showMessage(IntToStr(Second));
END.

Veja também:

Date | Now | DayOfMonth | DayOfWeek | DayOfYear | DecodeDate | DecodeDateTime


| EncodeDate | EncodeDateTime | Time | WeekOfYear | DateGetDay | DateGetMonth |
DateGetYear | DateGetHour | DateGetMinute | DateGetSecond

FormataHora FormataHora

Sintaxe:
function formataHora(Hora : String) : String;

Descrição: O procedimento FormataHora verifica se o usuário digitou a data corretamente


e formata automaticamente as barras e os pontos. Caso a data esteja errada será retornado
"0". O parâmetro hora recebe a data em string um exemplo seria o valor "120208 1200" seu
retorno ficaria assim "12/02/2008 12:00".

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
formataHora('120208 1200');
END.

Veja também:

Página 349 de 478


Date | Now | DayOfMonth | DayOfWeek | DayOfYear | DecodeDate | DecodeDateTime
| EncodeDate | EncodeDateTime | Time | WeekOfYear

Funções de Entrada/Saída Dados Funções de Entrada/Saída Dados


messageDlg
showmessage
imputyquery

messageDlg MessageDlg
Sintaxe:
function MessageDlg(Msg : String; DlgType : TMsgDlgType; Buttons:
TMsgDlgButtons) : integer;

Descrição: Use messageDlg para trazer à tela uma caixa de mensagem e obter uma
resposta do usuário.
msg : é a mensagem que irá aparecer na caixa de mensagens;
DlgType : indica o tipo de caixa de mensagem que deverá aparecer;
Buttons: indica quais botões deverão aparecer na caixa de mensagem.
MessageDlg retorna o valor do botão selecionado pelo usuário, este valor é do tipo inteiro.
Cada botão de ação possui um correspondente com o valor de retorno.

TMsgDlgType
mtInformation - apresenta um símbolo "i" indicando informação
mtError - apresenta um símbolo "X" indicando erro
mtWarning - apresenta um símbolo "!" indicando aviso
mtCustom - não apresenta nenhum símbolo
mtConfirmation - apresenta um símbolo "?" indicando um pergunta

TMsgDlgButtons
Esta tabela apresenta os possíveis botões e seus respectivos valores de retorno. A palavra
reservada mrOk possui o valor 1, mrCancel o valor 2 e assim por diante.
Botão Valor de retorno Correspondente

mbOk 1 mrOk

mbCancel 2 mrCancel

mbAbort 3 mrAbort

mbRetry 4 mrRetry

mbIgnore 5 mrIgnore

mbYes 6 mrYes

mbNo 7 mrNo

mbAll 8 mrAll

mbNoToAll 9 mrNoToAll

mbYesToAll 10 mrYesToAll

Exemplo:
INTERFACE
IMPLEMENTATION
MAIN BEGIN
if (MessageDlg('Você gostou deste exemplo?', mtConfirmation, [mbYes, mbNo]) =
mrYes) then
begin
MessageDlg('Vocês escolheu a opção "Sim"', mtInformation,[mbOk]);
end else begin
MessageDlg('Vocês escolheu a opção "Não"', mtInformation,[mbOk]);
end;
END.

Veja também:

InputQuery | ShowMessage

showmessage ShowMessage

Sintaxe:
procedure ShowMessage(msg : String);

Descrição: Use ShowMessage para mostrar uma mensagem simples com um botão OK. O
nome do Arquivo Executável da Aplicação irá aparecer como título da caixa de mensagem.
msg : é a mensagem que irá aparecer na caixa de mensagens.
Exemplo:
Este mostra um mensagem na tela com um botão ok.

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
showMessage('Esta é uma simples mensagem!');
END.

Veja também:

InputQuery | MessageDlg

ImputQuery ImputyQuery

Sintaxe:
function InputQuery(titulo : String; Texto : String; valor : String) : Boolean;

Descrição:
Use InputQuery para apresentar um caixa de diálogo que esta pronta para receber dados
digitados pelo usuário.
Título: é o título da caixa de diálogo;
Texto: é o texto que aparecerá na caixa de dialogo;
Valor: é uma variável do tipo String, que receberá a entrada digitada pelo usuário; Caso você
queira um valor do tipo inteiro por exemplo você deve converter o valor recebido (String) para
inteiro.

Exemplo:
Este demonstra o uso da função inputQuery, sendo utilizada fora e dentro de uma expressão
booleana.
INTERFACE

Página 351 de 478


IMPLEMENTATION
MAIN
var
s : String;
d : double;
BEGIN
inputQuery('Teste','Digite um número:',s);
d := StrToFloat(s) / 10; // divide o número que o usuário digitou por 10
showMessage('O resultado é: ' + FloatToStr(d));
if(inputQuery('Teste','Digite um número:',s) = true) then begin
d := StrToFloat(s) / 10; // divide o número que o usuário digitou por 10
showMessage('O resultado é: ' + FloatToStr(d));
end else begin
showMessage('Operação cancelada');
end;
END.
Veja também:

MessageDlg | ShowMessage

InputQuery InputyQuery

Sintaxe:
function InputQuery(titulo : String; Texto : String; valor : String) : Boolean;

Descrição:
Use InputQuery para apresentar um caixa de diálogo que esta pronta para receber dados
digitados pelo usuário.
Título: é o título da caixa de diálogo;
Texto: é o texto que aparecerá na caixa de dialogo;
Valor: é uma variável do tipo String, que receberá a entrada digitada pelo usuário; Caso você
queira um valor do tipo inteiro por exemplo você deve converter o valor recebido (String) para
inteiro.

Exemplo:
Este demonstra o uso da função inputQuery, sendo utilizada fora e dentro de uma expressão
booleana.
INTERFACE
IMPLEMENTATION
MAIN
var
s : String;
d : double;
BEGIN
inputQuery('Teste','Digite um número:',s);
d := StrToFloat(s) / 10; // divide o número que o usuário digitou por 10
showMessage('O resultado é: ' + FloatToStr(d));
if(inputQuery('Teste','Digite um número:',s) = true) then begin
d := StrToFloat(s) / 10; // divide o número que o usuário digitou por 10
showMessage('O resultado é: ' + FloatToStr(d));
end else begin
showMessage('Operação cancelada');
end;
END.
Veja também:

MessageDlg | ShowMessage

Funções de Eventos de Formulário Funções de Evento do Formulário


abort
setItems
setFocus
setPanel
openForm
closeForm
exit
quitEngeman

abort Abort

Sintaxe:
Erro! Fonte de referência não encontrada.procedure Abort;Erro! Fonte de referência não
encontrada.

Erro! Fonte de referência não encontrada.Descrição:Erro! Fonte de referência não


encontrada. Use este procedimento para abortar, cancelar o procedimento que está sendo
executado.

Exemplo:
Neste exemplo se o usuário digitar um número menor que zero o processo será cancelado
(abortado).

INTERFACE
IMPLEMENTATION
MAIN
var
i : boolean;
num : boolean;
BEGIN
if(inputQuery('Teste Abort','digite um número',num))then begin
if(StrToInt(num) < 0) then begin
abort;
end else begin
showMessage('O número digitado foi maior que zero!');
end;
end;
END.

Veja também:

Abort | Exit | OpenForm | CloseForm | SetFocus | SetItems | SetPanel | QuitEngeman

setItems SetItems

Sintaxe:
procedure Erro! Fonte de referência não encontrada.setItems(obj : String; items :
String; flag : Boolean);Erro! Fonte de referência não encontrada.

Descrição:Este procedimento insere itens em componentes do tipo TDBComboBox, TMemo e


TListBox. O procedimento recebe três parâmetros, que são:
- o nome do objeto que iremos inserir os itens (o nome deve ser uma String);
- a lista de itens a serem inseridos, esta lista é uma string e os itens devem ser separados por
ponto e vírgula ('item1;item2;item3');

Página 353 de 478


- e um flag, que pode ser trueErro! Fonte de referência não encontrada.ou Erro! Fonte de
referência não encontrada.false , se for verdadeiro (true) os itens contidos no componente
serão apagados e os novos itens (items) serão inseridos, se falso (false) os novos itens serão
inseridos após o último item existente.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
// insere quatro itens no final da lista sem apagar os itens existentes. Insere
um item por linha.
setItems('comboBox','Item1;Item2;Item3;Item4',false);
// insere quatro itens na lista apagando os itens já existentes na lista.
setItems('comboBox','Item1;Item2;Item3;Item4',true);
END.

Veja também:

Abort | Exit | OpenForm | CloseForm | SetFocus | SetItems | SetPanel | QuitEngeman

setFocus SetFocus

Sintaxe:
procedure Erro! Fonte de referência não encontrada.setFocus(component :
String);Erro! Fonte de referência não encontrada.

Descrição: Este procedimento deve ser utilizado para apontar o foco para um determinado
componente da tela, que é o parâmetro que deve ser passado para este procedimento.

Exemplo:
Neste exemplo, estamos capturando o valor que esta em um campo do tipo DBEdit, chamado
DBEdit1, se este campo for menor que 0, então sua cor será vermelho e o tamanho do campo
será 200 e o foco permanecerá neste componente até que um valor maior que 0 seja inserido
neste campo, senão sua cor será amarelo e o tamanho será 400.

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
if(StrToInt(GetFieldValue('DBEdit1',AsString)) < 0) then begin
SetProperty('DBEdit1','Color',clred);
SetProperty('DBEdit1','Width',200);
SetFocus('DBEdit1');
end else begin
SetProperty('DBEdit1','Color',clyellow);
SetProperty('DBEdit1','Width',400);
end;
END.

Veja também:

Abort | Exit | OpenForm | CloseForm | SetFocus | SetItems | SetPanel | QuitEngeman

setPanel SetPanel
Sintaxe:
procedure Erro! Fonte de referência não encontrada.setPanel(texto : String);Erro!
Fonte de referência não encontrada.

Descrição: Este procedimento insere um texto no painel localizado na parte inferior do


formulário principal. Para isso deve-se passar o texto como parâmetro para esta função.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
texto : string;
BEGIN
InputQuery('Panel Text','Digite um texto:',texto);
setPanel(texto);
END.

Veja também:

Abort | Exit | OpenForm | CloseForm | SetFocus | SetItems | SetPanel | QuitEngeman

openForm OpenForm

Sintaxe:
procedure openForm (form : String);

Descrição:Este procedimento abre um formulário qualquer, para isso você deve passar o
nome do formulário para este procedimento.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
// o formulário de centro de custo será aberto.
openForm('cencus');
END.

Veja também:

Abort | Exit | OpenForm | CloseForm | SetFocus | SetItems | SetPanel | QuitEngeman

closeForm CloseForm

Sintaxe:
procedure closeFormErro! Fonte de referência não encontrada. (form : String);Erro!
Fonte de referência não encontrada.

Descrição:Este procedimento fecha um formulário do Engeman, desde que não seja o próprio
formulário. Este procedimento recebe uma String, que deve ser o nome do formulário que se

Página 355 de 478


deseja fechar.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
// se a tela de Causas do Engeman estiver aberta, a mesma será fechada.
// desde que esta regra não esteja sendo executada da Tela de Causa.
closeForm('FCausa');
END.

Veja também:

Abort | Exit | OpenForm | CloseForm | SetFocus | SetItems | SetPanel | QuitEngeman

exit Exit

Sintaxe:
Erro! Fonte de referência não encontrada.procedure exit;Erro! Fonte de referência não
encontrada.

Descrição: O comando exit imediatamente passa o controle do processo corrente, se o


processo corrente for o processo principal (MAIN) o programa será finalizado.

Exemplo:
Neste exemplo se um número menor que 5 for informado ao procedimento proc1 a mensagem
'Executou o procedimento' não será apresentada, porque o comando exit será executado e o
controle voltará imediatamente para o procedimento principal.
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIiiiiiiiiiiiiiiiiiiiiiiiiiii
INTERFACE
procedure proc1(num : integer);
IMPLEMENTATION
procedure proc1(num : integer);
begin
if(num < 5) then begin
exit;
end;
showMessage('Executou o procedimento');
end;
MAIN
BEGIN
proc1(3);
showMessage('Executando o processo Principal');
END.

Veja também:

Abort | Exit | OpenForm | CloseForm | SetFocus | SetItems | SetPanel | QuitEngeman

quitEngeman QuitEngeman

Sintaxe:
procedure quitEngemanErro! Fonte de referência não encontrada. ;Erro! Fonte de
referência não encontrada.

Descrição: Este procedimento encerra o sistema Engeman®.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
// O Engeman® será finalizado.
quitEngeman;
END.

Veja também:

Abort | Exit | OpenForm | CloseForm | SetFocus | SetItems | SetPanel | QuitEngeman

Funções de Propriedades de Formulários Funções de Propriedade de


Formulários
changeParent
createButton
createEdit
createLabel
execEvent
execMethod
getFieldValue
getKeySate
getMask
getProperty
setMask
setPropety
setDBimage
createControl
createForm

changeParent ChangeParent

Sintaxe:
function changeParent(component: String; parent: String):Boolean;

Descrição: Esta função troca o "parent" de um componente. O parent de um componente


determina a sua localização numa tela, dentro de uma guia ou no cabeçalho dela.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
// Colocar o campo Centro de Custo no cabeçalho da aplicação

Página 357 de 478


changeParent('label9','ScrollAncestral');
changeParent('cencus','ScrollAncestral');
END.

Veja também:

SetProperty

createButton CreateButton

Sintaxe:
procedure createButton (left :Integer; top:Integer; width : Integer;
height : Integer; name : String; caption:String; form:String; parent:String ) ;

Descrição: Use createButton para criar um botão na tela. Depois de criado o botão pode-se
associar uma regra aos eventos deste botão, no nome dele será" RG_" mais o nome informado
no parâmetro. Este procedimento recebe sete parâmetros:
- left: valor inteiro utilizado para informar a distância da parte esquerda do botão ao lado
esquerdo do formulário.
- top: valor inteiro utilizado para informar a distância da parte superior esquerda do botão ao
topo do formulário.
- width: valor inteiro utilizado para informar o comprimento do botão.
- height: valor inteiro utilizado para informar a altura do botão.
- name: valor string que determina um nome para o botão.
- caption: valor String para informar o texto que aparecerá no botão.
- form: valor string utilizado para informar em qual formulário o botão deverá ser inserido.
- parent: valor string utilizado para informar em qual componente do formulário este botão
será inserido.
Note se você quiser inserir um botão no formulário corrente (no qual a regra esta associada)
basta informar a palavra 'self', ou o nome do formulário.
Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
//cria um botão na tela de Centro de Custo com o nome bt_teste
createButton(40,130,30,120,'bt_teste','&Teste','FCencus','ScrollAncestral');
END

Veja também:

CreateButton | CreateEdit | CreateLabel | ExecEvent | ExecMethod | GetFieldValue |


GetProperty | SetProperty | GetKeyState | SetMask | GetMask | setDBimage

createEdit CreateEdit

Sintaxe:
procedurecreateEdit (leftErro! Fonte de referência não encontrada.:Erro! Fonte de
referência não encontrada.Integer; top :Integer; width:Integer ;height Erro! Fonte de
referência não encontrada.: Integer;Erro! Fonte de referência não encontrada.Erro! Fonte
de referência não encontrada. name:String; text:String; form:String;
parent:StringErro! Fonte de referência não encontrada.Erro! Fonte de referência não
encontrada.)Erro! Fonte de referência não encontrada.Erro! Fonte de referência não
encontrada. ;Erro! Fonte de referência não encontrada.

Descrição: Use createEdit para criar um campo do tipo Edit na tela. Depois de criado o Edit,
pode-se associar uma regra aos eventos deste objeto, no nome dele será" RG_" mais o nome
informado no parâmetro. Este procedimento recebe sete parâmetros:
- left: valor inteiro utilizado para informar a distância da parte esquerda do edit ao lado
esquerdo do formulário.
- top: valor inteiro utilizado para informar a distância da parte superior esquerda do edit ao
topo do formulário.
- width: valor inteiro utilizado para informar o comprimento do edit.
- height: valor inteiro utilizado para informar a altura do edit.
- name: valor string que determina um nome para o edit.
- text: valor String para informar o texto que aparecerá no edit.
- form: valor string utilizado para informar em qual formulário o edit deverá ser inserido.
- parent: valor string utilizado para informar em qual componente do formulário este edit será
inserido.
Note se você quiser inserir um edit no formulário corrente (no qual a regra esta associada)
basta informar a palavra 'self', ou o nome do formulário.
Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
createLabel(460,28,50,20,'label01','Teste: ','fcencus','scrollAncestral');
createEdit(500,25,250,25,'edit01','','fcencus','scrollAncestral');
setProperty('rg_label01','font.color',clBlue);
setProperty('rg_label01','font.style','fsBold');
END.

Veja também:

CreateButton | CreateEdit | CreateLabel | ExecEvent | ExecMethod | GetFieldValue |


GetProperty | SetProperty | GetKeyState

creatLabel CreateLabel

Sintaxe:
procedure createLabel( left:I nteger ;top:Integer ;width:IntegerErro! Fonte de
referência não encontrada.;
heightErro! Fonte de referência não encontrada.Erro! Fonte de referência não
encontrada.:Erro! Fonte de referência não encontrada.Integer;name:String; caption:String;
form:String; parent:String);

Descrição: Use createLabel para criar um label na tela. Depois de criado o label, pode-se
associar uma regra aos eventos deste objeto, no nome dele será" RG_" mais o nome
informado no parâmetro. Este procedimento recebe sete parâmetros:
- left: valor inteiro utilizado para informar a distância da parte esquerda do label ao lado
esquerdo do formulário.

Página 359 de 478


- top: valor inteiro utilizado para informar a distância da parte superior esquerda do label ao
topo do formulário.
- width: valor inteiro utilizado para informar o comprimento do label.
- height: valor inteiro utilizado para informar a altura do label.
- name: valor string que determina um nome para o label.
- caption: valor String para informar o texto que aparecerá no label.
- form: valor string utilizado para informar em qual formulário o label deverá ser inserido.
- parent: valor string utilizado para informar em qual componente do formulário este botão
será inserido.
Note se você quiser inserir um label no formulário corrente (no qual a regra esta associada)
basta informar a palavra 'self', ou o nome do formulário.
Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
createLabel(460,28,50,20,'label01','Teste: ','fcencus','scrollAncestral');
createEdit(500,25,250,25,'edit01','','fcencus','scrollAncestral');
setProperty('rg_label01','font.color',clBlue);
setProperty('rg_label01','font.style','fsBold');
END.

Veja também:

CreateButton | CreateEdit | CreateLabel | ExecEvent | ExecMethod | GetFieldValue |


GetProperty | SetProperty | GetKeyState

execEvent ExecEvent

Sintaxe:
procedure execEventErro! Fonte de referência não encontrada. (object : String;
event : String);Erro! Fonte de referência não encontrada.

Descrição: O procedimento execEvent é utilizado para executar o evento de um objeto.


Um evento como 'ONCLICK', 'ONEXIT' etc. Para executar este evento você deve informar o
nome do objeto, um botão por exemplo, e o evento que deve ser acionado, onclick por
exemplo.

Exemplo:
Neste exemplo, estamos chamando o evento Onclik do botão TLocalizar. Portanto o que estiver
implementado neste evento será executado.

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
ExecEvent('TLocalizar','Onclick');
END.

Veja também:

CreateButton | CreateEdit | CreateLabel | ExecEvent | ExecMethod | GetFieldValue |


GetProperty | SetProperty | GetKeyState | SetMask | GetMask
execMethod ExecMethod

Sintaxe:
procedure execMethodErro! Fonte de referência não encontrada. (object : String;
method : String);Erro! Fonte de referência não encontrada.

Descrição: O procedimento execMethod é utilizado para executar um método de um objeto.


Métodos como clique, duplo clique, show, setFocus.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
execMethod('TLocalizar','Click');
END.

Veja também:

CreateButton | CreateEdit | CreateLabel | ExecEvent | ExecMethod | GetFieldValue |


GetProperty | SetProperty | GetKeyState | SetMask | GetMask

getFieldValue GetFieldValue

Sintaxe:
function getFieldValueErro! Fonte de referência não encontrada. (component :
String,type : TAggregateField) : TField;Erro! Fonte de referência não encontrada.

Descrição: A função getFieldValue é utilizada para recuperar o valor de um campo do tipo


DBEdit, para isso deve-se passar o nome do componente em uma string (component), e o que
deve ser retornado por este campo, um TAggregateField.

Exemplo:
Neste exemplo, estamos capturando o valor que esta em um campo do tipo DBEdit, chamado
DBEdit1, se este campo for menor que 0, então sua cor será vermelho e o tamanho do campo
será 200, senão sua cor será amarelo e o tamanho será 400.

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
if(StrToInt(GetFieldValue('DBEdit1',AsString)) < 0) then begin
SetProperty('DBEdit1','Color',clred);
SetProperty('DBEdit1','Width',200);
end else begin
SetProperty('DBEdit1','Color',clyellow);
SetProperty('DBEdit1','Width',400);
end;
END.

Veja também:

CreateButton | CreateEdit | CreateLabel | ExecEvent | ExecMethod | GetFieldValue |

Página 361 de 478


GetProperty | SetProperty | GetKeyState | SetMask | GetMask

getKeySate GetKeySate

Sintaxe:
function Erro! Fonte de referência não encontrada.getKeyState(Key :
VirtualKeyCode): Boolean;Erro! Fonte de referência não encontrada.

Descrição: A função getKeyState verifica qual tecla foi pressionada, se a tecla pressionada
for a mesma indicada a função retornará um valor verdadeiro caso contrário retornará um
valor falso.

if getKeyState(vk_F2) then begin end;


Onde vk_F2 é um valor de VirtualKeyCode.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
if getKeyState(vk_F2) then begin
showMessage('F2 foi pressionado');
end else begin
showMessage('F2 não foi pressionado');
end;
END.

Veja também:

CreateButton | CreateEdit | CreateLabel | ExecEvent | ExecMethod | GetFieldValue |


GetProperty | SetProperty | GetKeyState | SetMask | GetMask

VirtualKeyCode Função -VirtualKeyCode

VK_LBUTTON Left mouse button


VK_RBUTTON Right mouse button
VK_CANCEL Control+Break
VK_MBUTTON Middle mouse button
VK_BACK Backspace key
VK_TAB Tab key
VK_CLEAR Clear key
VK_RETURN Enter key
VK_SHIFT Shift key
VK_CONTROL Ctrl key
VK_MENU Alt key
VK_PAUSE Pause key
VK_CAPITAL Caps Lock key
VK_KANA Used with IME
VK_HANGUL Used with IME
VK_JUNJA Used with IME
VK_FINAL Used with IME
VK_HANJA Used with IME
VK_KANJI Used with IME
VK_CONVERT Used with IME
VK_NONCONVERT Used with IME
VK_ACCEPT Used with IME
VK_MODECHANGE Used with IME
VK_ESCAPE Esc key
VK_SPACE Space bar
VK_PRIOR Page Up key
VK_NEXT Page Down key
VK_END End key
VK_HOME Home key
VK_LEFT Left Arrow key
VK_UP Up Arrow key
VK_RIGHT Right Arrow key
VK_DOWN Down Arrow key
VK_SELECT Select key
VK_PRINT Print key (keyboard-specific)
VK_EXECUTE Execute key
VK_SNAPSHOT Print Screen key
VK_INSERT Insert key
VK_DELETE Delete key
VK_HELP Help key
VK_LWIN Left Windows key (Microsoft keyboard)
VK_RWIN Right Windows key (Microsoft
keyboard)
VK_APPS Applications key (Microsoft keyboard)
VK_NUMPAD0 0 key (numeric keypad)
VK_NUMPAD1 1 key (numeric keypad)
VK_NUMPAD2 2 key (numeric keypad)
VK_NUMPAD3 3 key (numeric keypad)
VK_NUMPAD4 4 key (numeric keypad)
VK_NUMPAD5 5 key (numeric keypad)
VK_NUMPAD6 6 key (numeric keypad)
VK_NUMPAD7 7 key (numeric keypad)
VK_NUMPAD8 8 key (numeric keypad)
VK_NUMPAD9 9 key (numeric keypad)
VK_MULTIPLY Multiply key (numeric keypad)
VK_ADD Add key (numeric keypad)
VK_SEPARATOR Separator key (numeric keypad)
VK_SUBTRACT Subtract key (numeric keypad)
VK_DECIMAL Decimal key (numeric keypad)
VK_DIVIDE Divide key (numeric keypad)
VK_F1 F1 key
VK_F2 F2 key
VK_F3 F3 key
VK_F4 F4 key
VK_F5 F5 key
VK_F6 F6 key
VK_F7 F7 key
VK_F8 F8 key
VK_F9 F9 key
VK_F10 F10 key
VK_F11 F11 key
VK_F12 F12 key
VK_F13 F13 key
VK_F14 F14 key
VK_F15 F15 key
VK_F16 F16 key
VK_F17 F17 key
VK_F18 F18 key
VK_F19 F19 key

Página 363 de 478


VK_F20 F20 key
VK_F21 F21 key
VK_F22 F22 key
VK_F23 F23 key
VK_F24 F24 key
VK_NUMLOCK Num Lock key
VK_SCROLL Scroll Lock key
VK_LSHIFT Left Shift key (only used with
GetAsyncKeyState and GetKeyState)
VK_RSHIFT Right Shift key (only used with
GetAsyncKeyState and GetKeyState)
VK_LCONTROL Left Ctrl key (only used with
GetAsyncKeyState and GetKeyState)
VK_RCONTROL Right Ctrl key (only used with
GetAsyncKeyState and GetKeyState)
VK_LMENU Left Alt key (only used with
GetAsyncKeyState and GetKeyState)
VK_RMENU Right Alt key (only used with
GetAsyncKeyState and GetKeyState)
VK_PROCESSKEY Process key
VK_ATTN Attn key
VK_CRSEL CrSel key
VK_EXSEL ExSel key
VK_EREOF Erase EOF key
VK_PLAY Play key
VK_ZOOM Zoom key
VK_NONAME Reserved for future use
VK_PA1 PA1 key
VK_OEM_CLEAR Clear key

getMask GetMask

Sintaxe:
procedure getMaskErro! Fonte de referência não encontrada. (query : String; field :
String) : String;Erro! Fonte de referência não encontrada.

Descrição: A função getMask é utilizada para recuper a propriedade editMask de um campo


da query, a mesma retorna uma string com a máscara encontrada .

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
VAR
mascara : String;
BEGIN
//Recupera a máscara do campo Código, tela de Aplicação
mascara := getMask('Aplic','Tag');
//Exibe máscara encontrada.
showMessage(mascara);
END.

Veja também:

CreateButton | CreateEdit | CreateLabel | ExecEvent | ExecMethod | GetFieldValue |


GetProperty | SetProperty | GetKeyState | SetMask
getProperty GetProperty

Sintaxe:
functionErro! Fonte de referência não encontrada.Erro! Fonte de referência não
encontrada. Erro! Fonte de referência não encontrada.getProperty(component :
String; property : String) : Variant;Erro! Fonte de referência não encontrada.
Erro! Fonte de referência não encontrada.

Descrição:Erro! Fonte de referência não encontrada. A função getProperty deve ser


utilizada para capturar o valor de uma determinada propriedade de um componente do
formulário corrente. Esta função retorna um valor do tipo variante, ou seja pode assumir
qualquer valor. Por exemplo: se temos um botão no formulário corrente chamado bt1 e
queremos recuperar o tamanho deste botão (propriedade width) devemos proceder da
seguinte forma: v := getProperty('bt1','width'); Onde v é do tipo variante, como neste caso
nós sabemos que o valor retornado é do tipo inteiro a variável v poderia ser do tipo inteiro.

Esta função não deve ser usada para recuperar o valor componente DBEdit, para isso use a
função getFieldValue.

Caso queira recuperar count da lista de imagens do Engeman®, defina uma variável do tipo
inteiro, "i" por exemplo e proceda da seguinte forma i := getProperty('imagelist','count ').

Exemplo:
Neste exemplo, a variável v do tipo variante recebe o tamanho de um botão chamado BtRun e
aumenta o tamanho deste botão. No próximo passo esta variável recebe a cor de fundo de um
componente TRichEdit chamado source.

INTERFACE
IMPLEMENTATION
MAIN
var
v : variant;
BEGIN
{ atenção para que este exemplo funcione é necessário um botão com o nome BtRun
no formúlario, portante substitua este nome por um nome válido em seu formulário}
v := getProperty('BtRun','Width');
v := v + 200;
setProperty('BtRun','Width',v);
// v recebe a cor de um componete TRichEdit chamado source
v := getProperty('source','color');
END.

Veja também:

CreateButton | CreateEdit | CreateLabel | ExecEvent | ExecMethod | GetFieldValue |


GetProperty | SetProperty | GetKeyState | SetMask | GetMask | setDBimage

setMask SetMask

Sintaxe:
procedure setMaskErro! Fonte de referência não encontrada. (query : String; field :
String; mask :String);Erro! Fonte de referência não encontrada.

Página 365 de 478


Descrição: A função setMask é utilizada para alterar a propriedade editMask de um campo
da query. A mesma pode ser utilizada para campos alfa-numéricos e apenas numéricos.
Ao utilizar esta função em campos alfa-numericos poderão ser utilizados os caracteres
especiais da configuração das Máscaras de Códigos do Engeman®, para campos apenas
numéricos a máscara deverá ser precedida do caracter "#", para cada digito numérico deverá
ser utilizado o caracter "0" o separado de decimais é o "." .

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
//Seta máscara do campo Tempo Operacional, tela de Aplicação. Exemplo: 21,25
setMask('Aplic','Temope','#0.00');
//Seta máscara do campo Descrição, tela de Aplicação. Exemplo: MOTOR-001
setMask('Aplic','Temope','>ccccc-999');
END.

Veja também:

CreateButton | CreateEdit | CreateLabel | ExecEvent | ExecMethod | GetFieldValue |


GetProperty | SetProperty | GetKeyState | GetMask | setDBimage

setProperty SetProperty

Sintaxe:
Erro! Fonte de referência não encontrada.procedure setProperty(component : String;
property : String; value : variant);Erro! Fonte de referência não encontrada.
Erro! Fonte de referência não encontrada.
DescriçãoErro! Fonte de referência não encontrada.Erro! Fonte de referência não
encontrada.: Use este procedimento para alterar o valor da propriedade de algum componente
presente no formulário corrente. Para isto você deve informar o nome do componente
(component) que você deseja alterar, qual a propriedade (property) que deverá ser alterada e
o novo valor (value) para esta propriedade. Por exemplo se temos um botão no formulário
com o nome BtRun e queremos que seu tamanho seja de 100 então fazemos: Erro! Fonte de
referência não encontrada.
Erro! Fonte de referência não encontrada.
setProperty('BtRun', 'width',100);Erro! Fonte de referência não encontrada.

Se quisermos alterar o cor de fundo de um componente chamado source deve-se atribuir a


propriedade color deste componente um valor (inteiro) ou um valor pré-definido do tipo
clColor.

setProperty('source', 'color',clred);

Para alterar o estilo da fonte de um componente deve-se alterar a propriedade" font.style


", o valor deve ser passado em uma string. Pode-se ter quatro valores para
estilo:fsBold(negrito), fsItalicErro! Fonte de referência não encontrada. (itálico), Erro!
Fonte de referência não encontrada.fsUnderline(sublinhado) e fsStrikeOut(com um traço no
meio da palavra). Os valores devem estar separados por vírgulas.

setProperty('dbEdit', 'font.style','fsBold,fsItalic');

Caso queira altera a propriedade da árvore de agrupamentos veja maiores detalhes no tópico
TreeView.
Se for necessário adicionar um novo ícone na biblioteca de imagens do Engeman®, adicione o
mesmo na tabela de Desenhos e em seguida proceda da seguinte maneira
setProperty('imagelist', 'addimage', 13), o último parâmetro deste procedimento refere-se ao
código do desenho (coddes) cadastrado no Engeman®.

Exemplo:
Neste exemplo, a variável v do tipo variante recebe o tamanho de um botão chamado BtRun e
aumenta o tamanho deste botão.

INTERFACE
IMPLEMENTATION
MAIN
var
v : variant;
BEGIN
{ atenção para que este exemplo funcione é necessário um botão com o nome BtRun
no formulário, portanto substitua este nome por um nome válido em seu formulário,
e um campo com o nome DBEdit para podermos alterar o estilo de sua fonte}
v := getProperty('BtRun','Width');
v := v + 200;
setProperty('BtRun','Width',v);
setProperty('dbedit3','font.style','fsbold,fsItalic,fsUnderline');
style := getProperty('dbedit3','font.style');
showMessage(style);
setProperty('dbedit2','font.style',style);
END.

Veja também:

CreateButton | CreateEdit | CreateLabel | ExecEvent | ExecMethod | GetFieldValue |


GetProperty | SetProperty | GetKeyState | SetMask | GetMask| setDBimage

ClColor
ClColor
Os possíveis valores para cor usando clColor são:
clBlack
clMaroon;
clGreen
clOlive
clNavy
clPurple
clTeal
clGray
clSilver
clRed
clLime
clYellow
clBlue
clFuschsica
clAqua
clWhite

Exemplo:
Neste exemplo atribuímos à propriedade color de um componente chamado source o valor
clRed cor vermelho.

INTERFACE

Página 367 de 478


IMPLEMENTATION
MAIN
var
v : variant;
BEGIN
v := clRed;
setProperty('source','color',v);
END.

A propriedade clColor armazena um tipo inteiro, então para você obter mais cores que as
fornecidas pelo clColor, você pode fazer o seguinte: Passar a cor em um númro hexadecimal,
para isso basta transformar uma string do tipo '$FF0000' (cor azul) para inteiro. O padrão é
BGR Blue Green Red - Azul Verde Vermelho. Então tudo verde seria: '$00FF00' e tudo
vermelho seria '$0000FF', sendo que você pode variar cada campo de 0 à F.
(0,1..9,A,B,C,D,E,F).

INTERFACE
IMPLEMENTATION
MAIN
var
i : integer;
BEGIN
i := StrToInt('$FF00FF');
setProperty('source','color',i);
END.

CreateControl CreateControl

Sintaxe:
procedure CreateControl (nameErro! Fonte de referência não encontrada.:String;
class: string; properties: string; form:String; parent:StringErro! Fonte de
referência não encontrada.Erro! Fonte de referência não encontrada.)Erro! Fonte de
referência não encontrada.Erro! Fonte de referência não encontrada.;Erro! Fonte de
referência não encontrada.

Descrição: Use CreateControl para criar qualquer componente windows na tela. Depois de
criado o componente, pode-se associar uma regra aos eventos deste objeto. O nome deste
componente será exatamente o nome informado no parâmetro. Este procedimento recebe sete
parâmetros:
- name: valor string que determina um nome para o componente.
- class: valor String para informar a classe.
- properties: valor String para informar as propriedades padrões (pode ficar em branco se
quiser).
- form: valor string utilizado para informar em qual formulário o componente deverá ser
inserido.
- parent: valor string utilizado para informar em qual componente do formulário este
componente será inserido.
Note se você quiser inserir um componente no formulário corrente (no qual a regra esta
associada) basta informar a palavra 'self', ou o nome do formulário.
As classes disponíveis para uso, em ordem alfabética, são as seguintes:
TBevel
TBitBtn
TButton
TChart
TCheckBox
TCheckListBox
TColorBox
TColorDialog
TComboBox
TComboEdit
TCurrencyEdit
TDataSource
TDateTimePicker
TDBChart
TDBCheckBox
TDBEdit
TDBGrid
TDBLookupComboBox
TDBMemo
TDBNavigator
TDBRadioGroup
TDBText
TDirectoryEdit
TEdit
TEdit
TEditObs
TFAssData
TfcImageForm
TfcShapeBtn
TfcTreeView
TFilenameEdit
TFontDialog
TFormStorage
TFTelasSistema
TFUsuarios
TFUsuariosChk
TGauge
TGroupBox
THeaderControl
TImage
TImageList
TkbmMemTable
TLabel
TLabeledEdit
TListBox
TListView
TLMDDBRichSyntaxEdit
TLMDDockButton
TLMDDockSpeedButton
TLMDFill
TLMDFormFill
TLMDLabelFill
TLMDListBox
TLMDMessageBoxDlg
TLMDPanel
TLMDShapeButton
TLMDSpeedButton
TLMDSpinEdit
TLMDStringList
TMaskEdit
TMemo
TMenuItem

Página 369 de 478


TOpenDialog
TOpenPictureDialog
TPageControl
TPanel
TPlannerCalendarGroup
TPopupMenu
TPrinterSetupDialog
TProgressBar
TRadioButton
TRadioGroup
TRichEdit
TRxCheckListBox
TRxDBComboEdit
TRxDBGrid
TRxDualListDialog
TRxLabel
TRxMemoryData
TRxSpinEdit
TRxSwitch
TSaveDialog
TSavePictureDialog
TScrollBox
TSDQuery
TSDUpdateSQL
TSpeedButton
TSpinEdit
TSplitter
TStaticText
TStatusBar
TStringAlignGrid
TSynCompletionProposal
TSynEdit
TSynSQLSyn
TTabSheet
TTBControlItem
TTBDock
TTBItem
TTBSeparatorItem
TTBSubmenuItem
TTBToolbar
TTimer
TTrackBar
TValueListEditor
TWebBrowser
TwwDBComboBox
TwwDBDateTimePicker
TwwDBGrid
TwwDBMonthCalendar
TwwDBRichEdit

O exemplo abaixo cria uma nova guia e coloca-a na primeira posição:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
CreateControl('TbTeste','TTabSheet','Caption="Nova Guia"','Self','PageGru');
setProperty('TbTeste','PageIndex',0);
END.
Veja também:

CreateButton | CreateEdit | CreateLabel | ExecEvent | ExecMethod | GetFieldValue |


GetProperty | SetProperty | GetKeyState | setDBimage

setDBimage SetDBImage

Sintaxe:
procedure setDBimageErro! Fonte de referência não encontrada.(Component :String;
coddes :Integer);Erro! Fonte de referência não encontrada.

Descrição: SetDBImage seta a propriedade Glyph ou Picture para receber uma imagem da
tabela desenho no Engeman. Ela recebe dois parâmetros sendo :

- Component : Componente que será alterado. Os tipos podem ser:


- TImage
- TSpeedButton
- TRxDBComboEdit
- TComboEdit
- TBitBtn
- coddes : Reduzido da tela Desenho.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
setDBimage('RG_TESTE',188);
END.

Veja também:

CreateButton | CreateEdit | CreateLabel | ExecEvent | ExecMethod | GetFieldValue |


GetProperty | SetProperty | GetKeyState | GetMask| CreateControl | CreateForm

createForm CreateForm

Sintaxe:
procedure CreateForm (nameErro! Fonte de referência não encontrada.:String;
title:string; type:stringErro! Fonte de referência não encontrada.Erro! Fonte de
referência não encontrada.)Erro! Fonte de referência não encontrada.Erro! Fonte de
referência não encontrada.;Erro! Fonte de referência não encontrada.

Descrição: Use CreateForm para criar formulários padrões de cadastro. Depois de criado o
formulário, pode-se associar uma regra aos eventos do form. Este procedimento recebe quatro
parâmetros:
- name: valor string que determina um nome para o Form sempre é adicionado ao final do
nome o texto '_CF' para salvar no gerenciador de regras para exportar e importar em telas
criadas por regras. .
- title : valor String para informar o título.

Página 371 de 478


- type : valor string utilizado para informar em qual tipo o formulário será criado. Os tipos
são estes :

Padrao
PadCad
PadGrid
PadMemo
TForm

Note se caso inserir algum valor inválido no parâmetro type, automaticamente abrirá o tipo
como TForm. Após a criação da regras automáticamente dará um show ao executar o
processo.
O exemplo abaixo cria um novo formulário como PadGrid:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
CreateForm('FCalibra','Cadastro de Calibrações','PadGrid');
END.

Veja também:

CreateButton | CreateEdit | CreateLabel | ExecEvent | ExecMethod | GetFieldValue |


GetProperty | SetProperty | GetKeyState | setDBimage | CreateControl

Funções para Manipulação de Strings Funções para Manipulação de


Strings
ansiUpperCase/UserCape
ansiLowercase/LowerCase
ansiReverseString
ansiRightStr
ansiLeftStr
chr
copy
count
delete
Format
FormatDateTime
FormatFloat
Length
Pos
StringOfCharStringOfChar
StringReplace
Trim

ansiUpperCase/UserCape AnsiUpperCase/UserCase

Sintaxe:
functionErro! Fonte de referência não encontrada. AnsiUpperCase(S: string):
string;Erro! Fonte de referência não encontrada.
function UpperCase(S: string): string;
Descrição: AnsiUpperCase ou UpperCase retorna um string que é uma cópia de S,
convertendo todos seus caracteres para letras maiúsculas.
AnsiUpperCase('Teste') = TESTE
Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
s : String;
BEGIN
s := AnsiUpperCase('Isto é ' + 'um teste!');
showMessage(s);
END.

Veja também:

AnsiLeftStr | AnsiLowerCase | AnsiReverseString | AnsiRightStr | AnsiUpperCase | Chr |


Count | Copy | Delete | FormatDateTime | FormatFloat | Format | Length | Pos |
StringOfChar | StringReplace | Trim | UpperCase | LowerCase

ansiLowerCase/LowerCase AnsiLowerCase/LowerCase

Sintaxe:
function AnsiLowerErro! Fonte de referência não encontrada.CaseErro! Fonte de
referência não encontrada. (S: string): string;Erro! Fonte de referência não encontrada.
Erro! Fonte de referência não encontrada.
function Erro! Fonte de referência não encontrada.LowerErro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada.CaseErro! Fonte de referência não
encontrada. (S: string): string;Erro! Fonte de referência não encontrada. Erro! Fonte
de referência não encontrada.

Descrição: AnsiLowerCase ou LowerCase retorna um string que é uma cópia de S,


convertendo todos seus caracteres para letras minúsculas.
AnsiUpperCase('TESTE') = teste
Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
s : String;
BEGIN
s := AnsiLowerCase('Isto é ' + 'um teste!');
showMessage(s);
END.

Veja também:

AnsiLeftStr | AnsiLowerCase | AnsiReverseString | AnsiRightStr | AnsiUpperCase | Chr | Count


| Copy | Delete | FormatDateTime | FormatFloat | Format | Length | Pos | StringOfChar |
StringReplace | Trim | UpperCase | LowerCase

ansiReverseString AnsiReverseString

Página 373 de 478


Sintaxe:
functionErro! Fonte de referência não encontrada.AnsiReverseString(AText: String):
String;Erro! Fonte de referência não encontrada.
Erro! Fonte de referência não encontrada.

Descrição: Use AnsiReverseString para apresentar um string AText de trás para frente,
invertendo seus caracteres.Erro! Fonte de referência não encontrada.
Erro! Fonte de referência não encontrada.AnsiReverseString('Erro! Fonte de referência
não encontrada. socorram me subi no onibus em MarrocosErro! Fonte de referência não
encontrada.') = 'socorraM me subino on ibus em marrocos'Erro! Fonte de referência não
encontrada.
Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
s : String;
BEGIN
s := ansiReverseString('socorram me subi no onibus em Marrocos');
showMessage(s);
END.

Veja também:

AnsiLeftStr | AnsiLowerCase | AnsiReverseString | AnsiRightStr | AnsiUpperCase | Chr |


Count | Copy | Delete | FormatDateTime | FormatFloat | Format | Length | Pos |
StringOfChar | StringReplace | Trim | UpperCase | LowerCase

ansiRightStr AnsiRightStr

Sintaxe:
function AnsiRightStr(AText: String; ACount: Integer): StringErro! Fonte de referência
não encontrada. ;Erro! Fonte de referência não encontrada.

Descrição: AnsiRightStr retorna uma string que de tamanho ACount correspondente a


substring mais a direita de AText.
ansiRightStr('Isto é teste',7) = 'é teste'
Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
s : String;
BEGIN
s := ansiRightStr('Isto é teste',7);
showMessage(s);
END.

Veja também:

AnsiLeftStr | AnsiLowerCase | AnsiReverseString | AnsiRightStr | AnsiUpperCase | Chr |


Count | Copy | Delete | FormatDateTime | FormatFloat | Format | Length | Pos |
StringOfChar | StringReplace | Trim | UpperCase | LowerCase
ansiLeftStr AnsiLeftStr

Sintaxe:
function AnsiLeftStr (AText: String; ACount: Integer): StringErro! Fonte de referência
não encontrada. ;Erro! Fonte de referência não encontrada.

Descrição : AnsiLeftStr retorna uma string que de tamanho ACount correspondente a


substring mais a esquerda de AText.
ansiLeftStr('Isto é teste',3) = 'Ist'
Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
s : String;
BEGIN
s := ansiLeftStr('Isto é teste',3);
showMessage(s);
END.

Veja também:

AnsiLeftStr | AnsiLowerCase | AnsiReverseString | AnsiRightStr | AnsiUpperCase | Chr |


Count | Copy | Delete | FormatDateTime | FormatFloat | Format | Length | Pos |
StringOfChar | StringReplace | Trim | UpperCase | LowerCase

chrCHR

Sintaxe:
function Chr( asciiErro! Fonte de referência não encontrada. : Integer):
string;Erro! Fonte de referência não encontrada.

Descrição: A função Chr recebe como parâmetro um valor inteiro e retorna um caractere
correspondente ao valor passado para esta função de acordo com a tabela ASCII.
chr(13) = salta uma linha
chr(65) = A
chr(49) = 1

Exemplo:
Este exemplo demonstra o uso do comando chr, uma mensagem será apresentada,
saltando-se um linha da frase: "Isto é um teste do comando CHR" para segunda parte da
frase. O comando para saltar um linha é o chr(13) e logo depois é apresentado o valor do
chr(65).

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
ShowMessage('Isto é um teste do comando CHR' + chr(13) + 'chr de 65 é: ' +
chr(65));
END.

Veja também:

Página 375 de 478


AnsiLeftStr | AnsiLowerCase | AnsiReverseString | AnsiRightStr | AnsiUpperCase | Chr |
Count | Copy | Delete | FormatDateTime | FormatFloat | Format | Length | Pos |
StringOfChar | StringReplace | Trim | UpperCase | LowerCase

Tabela Ascii TabelaASCII


O código ASCII (American Standard Code for Information Interchange) representa uma
maneira de codificar caracteres na forma de valores inteiros. Neste código, os caracteres são
mapeados para valores numéricos representáveis por sete dígitos binários (bits). Este código
abrange 95 caracteres passíveis de impressão e 33 caracteres especiais utilizados, entre
outros, no controle de comunicação entre computadores ou um computador e seus periféricos.
A tabela abaixo descreve o padrão ASCII. Para obter o código interno, em decimal, você soma
o valor no início da linha onde se encontra o caractere desejado com o valor no topo de sua
coluna. Os 33 caracteres de controle são os de código 0 a 31 (NUL a US) e o de código 127
(DEL).
Código Decimal Caracter Código Decimal Caracter
0 NULL 128 Ç
1 SOH 129 ü
2 STX 130 é
3 ETX 131 â
4 EOT 132 ã
5 ENQ 133 à
6 ACK 134 å
7 BEL 135 ç
8 BS 136 ê
9 HT 137 ë
10 LF 138 è
11 VT 139 ï
12 FF 140 î
13 CR 141 ì
14 SO 142 Ä
15 SI 143 Å
16 DLE 144 É
17 DC1 145 æ
18 DC2 146 Æ
19 DC3 147 ô
20 DC4 148 ö
21 NAK 149 ò
22 SYN 150 û
23 ETB 151 ù
24 CAN 152 ÿ
25 EM 153 Ö
26 SUB 154 Ü
27 ESC 155 ø
28 FS 156 £
29 GS 157 Ø
30 RS 158 ×
31 US 159 ƒ
32 SPACE 160 á
33 ! 161 í
34 " 162 ó
35 # 163 ú
36 $ 164 ñ
37 % 165 Ñ
38 & 166 ª
39 ' 167 º
40 ( 168 ¿
41 ) 169 ®
42 * 170 ¬
43 + 171 ½
44 , 172 ¼
45 - 173 ¡
46 . 174 «
47 / 175 »
48 0 176 ░
49 1 177 ▒
50 2 178 ▓
51 3 179 │
52 4 180 ┤
53 5 181 Á
54 6 182 Â
55 7 183 À
56 8 184 ©
57 9 185 ╣
58 : 186 ║
59 ; 187 ╗
60 > 188 ╝
61 = 189 ¢
62 < 190 ¥
63 ? 191 ┐
64 @ 192 └
65 A 193 ┴
66 B 194 ┬
67 C 195 ├
68 D 196 ─
69 E 197 ┼
70 F 198 ã
71 G 199 Ã
72 H 200 ╚
73 I 201 ╔
74 J 202 ╩
75 K 203 ╦
76 L 204 ╠
77 M 205 ═
78 N 206 ╬
79 O 207 ¤
80 P 208 ð
81 Q 209 Ð
82 R 210 Ê
83 S 211 Ë
84 T 212 È
85 U 213 ı
86 V 214 Í
87 W 215 Î
88 X 216 Ï
89 Y 217 ┘
90 Z 218 ┌
91 [ 219 █
92 \ 220 ▄
93 ] 221 ¦

Página 377 de 478


94 ^ 222 Ì
95 _ 223 ▀
96 ` 224 Ó
97 a 225 ß
98 b 226 Ô
99 c 227 Ò
100 d 228 õ
101 e 229 Õ
102 f 230 µ
103 g 231 þ
104 h 232 Þ
105 i 233 Ú
106 j 234 Û
107 k 235 Ù
108 l 236 ý
109 m 237 Ý
110 n 238 ¯
111 o 239 ´
112 p 240
113 q 241 ±
114 r 242 ‗
115 s 243 ¾
116 t 244 ¶
117 u 245 §
118 v 246 ÷
119 w 247 ¸
120 x 248 °
121 y 249 ¨
122 z 250 ·
123 { 251 ¹
124 | 252 ³
125 } 253 ²
126 ~ 254 ▔
127 ⌂

copy Copy

Sintaxe:
functionErro! Fonte de referência não encontrada. Copy(S; Index, Count: Integer):
string;Erro! Fonte de referência não encontrada.

Descrição: s é uma expressão do tipo String. Index e Count são expressões do tipo inteiro.
Copy retorna uma substring contendo Count caracteres começando em S[Index].
Se o Index for maior que o tamanho de S, Copy retorna uma string vazia.
Se Count especificar mais caracteres que é avaliado, somente os caracteres de S[Index] até
final de S será retornado.
Copy('Isto é um teste da função copy', 7, 13) = 'Isto é um teste'
Exemplo:
INTERFACE
IMPLEMENTATION
MAIN
var
s : String;
BEGIN
s := copy('Isto é um teste da função copy',2,13);
showMessage(s);
END.

Veja também:

AnsiLeftStr | AnsiLowerCase | AnsiReverseString | AnsiRightStr | AnsiUpperCase | Chr |


Count | Copy | Delete | FormatDateTime | FormatFloat | Format | Length | Pos |
StringOfChar | StringReplace | Trim | UpperCase | LowerCase

count Count

Sintaxe:
functionErro! Fonte de referência não encontrada.
count (charErro! Fonte de referência
não encontrada. : string; S: string): Integer;Erro! Fonte de referência não
encontrada.

Descrição: Count procura por ocorrências um caracter ( char), na string S. O número de


ocorrências será reportado pela função.
Count('A','A E I O U AAA B CC DD') = 4
Count('F','A E I O U AAA B CC DD') = 0
Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
c : integer;
BEGIN
c := Count('A','A B C D AAA BBB C DD A FG');
showMessage(IntToStr(c));
END.

Veja também:

AnsiLeftStr | AnsiLowerCase | AnsiReverseString | AnsiRightStr | AnsiUpperCase | Chr |


Count | Copy | Delete | FormatDateTime | FormatFloat | Format | Length | Pos |
StringOfChar | StringReplace | Trim | UpperCase | LowerCase

delete Delete

Sintaxe:
function delete (S; Index, Count: Integer): string; overload
procedute delete (table : tQuery); overload
procedure delete (table : String); overload
procedure delete (table : TMemTable);

Descrição: s é uma expressão do tipo String. Index e Count são expressões do tipo inteiro.
Delete remove uma substring contendo Count caracteres começando em S[Index].
Se o Index for maior que o tamanho de S, delete não remove nenhum caracter.
Se Count especificar mais caracteres que é avaliado, somente os caracteres de S[Index]até

Página 379 de 478


final de S serão excluídos.

Delete também pode ser um procedure se receber um parâmetro, o procedimento deleta um


registro de uma tabela. Pode receber um parâmetro tipo TQuery, String e TMemTable;

Exemplos:

INTERFACE
IMPLEMENTATION
MAIN
var
s : String;
BEGIN
s := delete('Isto é um teste da função delete',2,13);
showMessage(s);
END.

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
delete('Aplic');
END.

Veja também:

AnsiLeftStr | AnsiLowerCase | AnsiReverseString | AnsiRightStr | AnsiUpperCase | Chr |


Count | Copy | Delete | FormatDateTime | FormatFloat | Format | Length | Pos |
StringOfChar | StringReplace | Trim | UpperCase | LowerCase | insert | edit | post

Format Format

Sintaxe:
functionErro! Fonte de referência não encontrada.Erro! Fonte de referência não
encontrada. formatErro! Fonte de referência não encontrada.Erro! Fonte de referência não
encontrada. (formatErro! Fonte de referência não encontrada.Erro! Fonte de referência
não encontrada. : stringErro! Fonte de referência não encontrada.Erro! Fonte de
referência não encontrada.; const args : array of constErro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada. ): string;Erro! Fonte de
referência não encontrada.

Descrição: A função format permite formatar uma string que possua com conjunto de
argumentos informados por um vetor de argumentos.
Esta função recebe dois parâmetros:
- format: String com os parâmetros de formatação. Detalhes dos parâmetros possíveis veja:
Erro! Fonte de referência não encontrada. Format StringsErro! Fonte de referência não
encontrada..
- const args: é um vetor de argumentos que serão aplicados ao formato especificado em
format.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
frase, s : String;
BEGIN
s := 'Paulo';
frase := format('Nome: %s , idade: %d anos',[s,27]);
showMessage(frase);
frase := format('%8.3f * %8.6f = %m',[2,5.5,11]);
showMessage(frase);
frase := format('O número decimal: %u corresponde ao hexadecimal:
%x',[845,845]);
showMessage(frase);
END.

Veja também:

AnsiLeftStr | AnsiLowerCase | AnsiReverseString | AnsiRightStr | AnsiUpperCase | Chr |


Count | Copy | Delete | FormatDateTime | FormatFloat | Format | Length | Pos |
StringOfChar | StringReplace | Trim | UpperCase | LowerCase

Format String Format Strings


Format - Format Strings especifica os formatos de argumentos necessários para função
Format. Os argumentos deverão começar com o símbolo" %". A string de formatação pode
conter dois tipos de objetos:
- caracteres literais: os caracteres serão copiados para o resultado do string. A frase em si. Ex:
'O valor deste teste é: %m'. A string:" O valor deste teste é:" é composta de caracteres
literais.
- especificadores de formatação: serão utilizados para se aplicar a formatação. Na frase
acima," %m" é um specificador de formatação.
A forma dos especificadores de formatação:"%" [index" :"] ["-"] [width] ["." prec] tipo.
Sempre começa com um símbolo de" %". Depois de % podem vir na ordem:
Um argumento opcional para especificar o índice (o primeiro indice é 0, [index" :"]
Um argumento opcional para justificação a esquerda, ["-"]
Um argumento opcional para comprimento, [width]
Um argumento opcional de precisão, ["." prec]
O caractere de conversão, tipo.
Valores de tipos possíveis:

Especificado Apresentação
d Decimal.O argumento deve ser um valor inteiro. O valor
é convertido para uma string de dígitos decimais. Se a
string contém o especificador de precisão, isto indica que
a string de resultado deve conter pelo menos o número
de dígitos especificados. Se o número possuir menos
dígitos a string será completada a esquerda com zeros.

u Decimal sem sinal. Similar ao d, mas o sinal não é


apresentado.

e Notação científica. O argumento deve ser um número


real. O valor é convertido para uma string da forma"
-d.ddd...E+ddd". A string resultante começa com um
sinal de menos se o número for negativo. A precisão
padrão de é 15 se nenhum especificação de precisão for

Página 381 de 478


apresentada.

f Fixed. O argumento deve ser um número real. O valor é


convertido para uma string da forma" -ddd.ddd...". A
strinf resultante começa com um sinal de menos se o
número for negativo. O número de dígitos depois do
ponto decimal é por padrão dois dígitos, isso pode ser
alterado informando a precisão desejada.

g General. O argumento deve ser um número real. O valor


é convertido para a menor string possível usando Fixed
ou notação científica. A precisão padrão de é 15 se
nenhum especificação de precisão for apresentada.

n Number. O argumento deve ser um número real. O valor


é convertido para uma string da forma"
-d.ddd.ddd,ddd...". Similar ao Fixed" f", o que difere é a
separação dois milhares.

m Money. O argumento deve ser um número real. Formata


o argumento de acordo com a formatação monetária.

s String. O argumento deve ser uma string ou um


caractere. A string será inserida no local especificado. A
precisão indica se a string deverá ser truncada caso esta
seja maior que a precisão.

x Hexadeciamal. O argumento deve ser um valor inteiro. O


valor inteiro será convertido para uma string de dígitos
hexadecimais.

FormatDateTime FormatDateTime

Sintaxe:
functionErro! Fonte de referência não encontrada.Erro! Fonte de referência não
encontrada. formatDateTime (format : string; data : TDateTime ): string;

Descrição: A função formatDateTime permite ao usuário formatar um valor do tipo


TDateTime (data) usando o formato passado pela string format. Veja Date-Time Format
Strings.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
s : String;
t : TDateTime;
BEGIN
t := date;
s := formatDateTime('dd/mm/yy',t);
showMessage(s);
s := formatDateTime('dd/mmmm/yy',t);
showMessage(s);
s := formatDateTime('dddd/mmmm/yyyy',t);
showMessage(s);
END.
Veja também:

AnsiLeftStr | AnsiLowerCase | AnsiReverseString | AnsiRightStr | AnsiUpperCase | Chr |


Count | Copy | Delete | FormatDateTime | FormatFloat | Format | Length | Pos |
StringOfChar | StringReplace | Trim | UpperCase | LowerCase

Date-Time Format String Date - Time Format Strings


Date-Time Format Strings controla o formato de datas e horas.
Descrição: Date-Time Format Strings especifica o formato para valores de data e horas
quando estes valores são convertidos para Strings.
Valores possíveis:
Código Descrição
c mostra a data usando o formato shortDateFormat
d mostra o dia como um número, sem o zero mais a esquerda (1-31)
dd mostra o dia como um número, com o zero mais a esquerda (01-31)
ddd mostra o dia como uma abreviação (seg,ter)
dddd mostra o dia com o nome completo (segunda, terça)
m mostra o mês como um número, sem o zero mais a esquerda (1-12)
mm mostra o mês como um número, com o zero mais a esquerda (01-12)
mmm mostra o mês como uma abreviação (Jan,Fev)
mmmm mostra o mês com o nome completo (Janeiro, Fevereiro)
yy mostra o ano com dois dígitos (00-99)
yyyy mostra o ano com quatro dígitos (0000-9999)
h mostra a hora sem o zero mais a esquerda (0-23)
hh mostra a hora com o zero mais a esquerda (00-23)
n mostra os minutos sem o zero mais a esquerda (0-59)
nn mostra os minutos com o zero mais a esquerda (00-59)
s mostra os segundos sem o zero mais a esquerda (0-59)
ss mostra os segundos com o zero mais a esquerda (00-59)
a/p usa 12 horas para o relógio antecedido por a/p
ampm usa 12 horas para o relógio antecedido por am/pm
/ mostra o separador de data
: mostra o separador de horas

FormatFloat FormatFloat

Sintaxe:
function Erro! Fonte de referência não encontrada. formatErro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada.float(formatErro! Fonte de
referência não encontrada.Erro! Fonte de referência não encontrada. : stringErro! Fonte
de referência não encontrada.; value : Double): string;

Descrição: A função formatFloat permite ao usuário formatar um valor do tipo Double


(value) usando o formato passado pela string format. Veja Float Format Strings.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
d : double;
s : String;

Página 383 de 478


BEGIN
d := sqrt(ln(6));
s := FormatFloat('#.00',d);
showMessage(s);
END.

Veja também:

AnsiLeftStr | AnsiLowerCase | AnsiReverseString | AnsiRightStr | AnsiUpperCase | Chr |


Count | Copy | Delete | FormatDateTime | FormatFloat | Format | Length | Pos |
StringOfChar | StringReplace | Trim | UpperCase | LowerCase

Float Format String Float - FormatString


Float-Format Strings é utilizado para formatar um número flutuante quando este número for
apresentado por uma string. Valores possíveis:
Especificado Apresentação

0 Se o número que esta sendo formatado apresentar um


número na posição do zero, este número será
substituído e apresentado na saída, mas se não tiver
nenhum número para substituir este zero, então o
zero será apresentado na saída.
# Se o número que esta sendo formatado apresentar um
número na posição do símbolo #, este número será
substituído e apresentado na saída, mas se não tiver
nenhum número para substituir este # símbolo, este
símbolo não será apresentado na saída.
. O primeiro carater '.' na string de formatação
determina o ponto flutuante, os outros caracteres '.'
serão ignorados.
, Separador de milhares. Se a string de formatação
contiver um ou mais carateres ',' a saída irá
apresentar o separador de milhares, agrupandos os
números de três em três digitos.
E+ Notação científica. Se qualquer uma das strings E+,
E-, e+ ou e- estiverem na string de formatação, o
número será formatado utilizando-se a notação
ciêntifica. E+ é utilizado para expoentes positivos e E-
para expoentes negativos.

Length Length

Sintaxe:
functionErro! Fonte de referência não encontrada. Length(SErro! Fonte de referência
não encontrada. : String): Integer;

Descrição: Length retorna o número de caracteres da string S.


Length('teste') = 5
Length('teste 2') = 7
Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
size : integer;
BEGIN
size := Length('Isto é teste' + IntToStr(ceil(5.55)));
showMessage(IntToStr(size));
END.

Veja também:

AnsiLeftStr | AnsiLowerCase | AnsiReverseString | AnsiRightStr | AnsiUpperCase | Chr |


Count | Copy | Delete | FormatDateTime | FormatFloat | Format | Length | Pos |
StringOfChar | StringReplace | Trim | UpperCase | LowerCase

StringOfChar StrinOfChar

Sintaxe:
function StringOfChar(Ch:StringErro! Fonte de referência não encontrada. ; Count:
Integer): string;Erro! Fonte de referência não encontrada.

Descrição: StringOfChar retorna uma string que contém Count caracteres Ch. Ch deve ser
composto de apenas um caractere. Se mais de um caractere for informado apenas o primeiro
será considerado.
Erro! Fonte de referência não encontrada.StringOfChar('A', 10)Erro! Fonte de referência
não encontrada.Erro! Fonte de referência não encontrada. = 'AAAAAAAAAA'Erro! Fonte de
referência não encontrada.
Erro! Fonte de referência não encontrada.StringOfChar('Erro! Fonte de referência não
encontrada. BCS',10)= 'BBBBBBBBBB'

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
s : String;
BEGIN
s := StringOfChar('A',10);
showMessage(s);
END.

Veja também:

AnsiLeftStr | AnsiLowerCase | AnsiReverseString | AnsiRightStr | AnsiUpperCase | Chr |


Count | Copy | Delete | FormatDateTime | FormatFloat | Format | Length | Pos |
StringOfChar | StringReplace | Trim | UpperCase | LowerCase

StringReplace StringReplace

Sintaxe:
function StringErro! Fonte de referência não encontrada. ReplaceErro! Fonte de
referência não encontrada. (AText, AFromText, AToText: string; flags :TReplaceFlags):
string;

Descrição: Use StringReplace para percorrer uma string especificada por AText e substituir
as ocorrências da string especificada por AFromText pela string especificada por AToText. Se
você não especificar os flags, apenas a primeira ocorrência da String AFromText será
substituída, e a busca será case-sensitive, para este valor padrão você deve informar os flags

Página 385 de 478


de sua preferência. Veja TReplaceFlags.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
s : String;
BEGIN
// neste caso apenas a primeira ocorrência será substiuída
s := StringReplace('Isto é um teste da função STRINGREPLACE, NOTE QUE OS FLAGS
FAZEM muita diferença,','e','A',[]);
showMessage(s);
// neste caso todas as ocorrências serão substituídas, mas faz diferença entre
maiúsculas e minúsculas
s := StringReplace('Isto é um teste da função STRINGREPLACE, NOTE QUE OS FLAGS
FAZEM muita diferença,','e','A',[rfReplaceAll]);
showMessage(s);
// neste caso todas as ocorrências serão substituídas e não considerará
maiúsculas de minúsculas
s := StringReplace('Isto é um teste da função STRINGREPLACE, NOTE QUE OS FLAGS
FAZEM muita diferença,','e','A',[rfReplaceAll, rfIgnoreCase]);
showMessage(s);
END.

Veja também:

AnsiLeftStr | AnsiLowerCase | AnsiReverseString | AnsiRightStr | AnsiUpperCase | Chr |


Count | Copy | Delete | FormatDateTime | FormatFloat | Format | Length | Pos |
StringOfChar | StringReplace | Trim | UpperCase | LowerCase

Replace Flags TReplaceFlags


Os Flags para função StringReplace devem estar entre colchetes, a opção padrão é:[]Erro!
Fonte de referência não encontrada., com esta opção apenas a primeira ocorrência da
substring será substituída no texto principal e a função irá diferenciar letras
maiúsculas das letras minúsculas. As opções para os flags são:Erro! Fonte de referência
não encontrada.
rfReplaceAll
rfIgnoreCase
Caso as duas opções sejam selecionadas eles devem estar separadas por virgula, a opção
rfReplaceAll irá substituir todas as ocorrências da substring na string principal, a opção
rfIgnoreCase irá considerar letras maiúsculas e minúsculas como sendo iguais.

PosPos

Sintaxe:
functionErro! Fonte de referência não encontrada. Pos(Substr: string; S: string):
Integer;Erro! Fonte de referência não encontrada.

Descrição: Pos procura por uma substring, Substr, na string S. Substr e S são expressões
do tipo string. Pos retorna um valor inteiro que é o índice do primeiro caractere da Substr
encontrado em S. Pos é case-sesitive (diferencia maiúsculas de minúsculas). Se a Substring
não for encontrada, Pos retorna zero.
Pos('unc','teste da função pos') = 11
Pos('uni','teste da função pos') = 0
Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
indice : integer;
BEGIN
indice := Pos('uni','teste da função pos');
showMessage(IntToStr(indice));
END.

Veja também:

AnsiLeftStr | AnsiLowerCase | AnsiReverseString | AnsiRightStr | AnsiUpperCase | Chr |


Count | Copy | Delete | FormatDateTime | FormatFloat | Format | Length | Pos |
StringOfChar | StringReplace | Trim | UpperCase | LowerCase

Trim
Trim

Sintaxe:
function Trim(S: string): string;

Descrição: A função trim elimina os caracteres em branco a direita e a esquerda da string S.


Onde S é uma expressão do tipo string.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
s : String;
BEGIN
s := '--' + Trim(' Isto é teste ') + '--';
showMessage(s);
END.

Veja também:

AnsiLeftStr | AnsiLowerCase | AnsiReverseString | AnsiRightStr | AnsiUpperCase | Chr |


Count | Copy | Delete | FormatDateTime | FormatFloat | Format | Length | Pos |
StringOfChar | StringReplace | Trim | UpperCase | LowerCase

Funções Matemáticas Funções Matemáticas


abs
ceil
cos
degToRad
exp
floor
frac

Página 387 de 478


high
Ln
Log10
Log2
Ord
power
radToDeg
Round
sign
sin
sqrt
tan
trunc

abs ABS

Sintaxe:
function Abs(X) : Double ;overload;
function Abs(X) : Integer ; overload;

Descrição: Abs retorna o valor absoluto do argumento X. Onde X é uma expressão inteira ou
flutuante.
Abs(5.56) = 5.56
Abs(-2.2) = 2.2
Abs(-45) = 45

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
num : double;
BEGIN
num := power(Abs(-2),10);
showMessage(FloatToStr(num));
END.

Veja também:

Abs | Ceil | Cos | DegToRad | Exp | Floor | Frac | High | Ln | Log10 | Log2 | Ord
| Power | RadToDeg | Round | Sign | Sin | Sqrt | Tan | Trunc

Ceil
ceil

Sintaxe:
functionErro! Fonte de referência não encontrada. Ceil (X: Double):IntegerErro! Fonte
de referência não encontrada.

Descrição: Use ceil para obter o menor inteiro maior que ou igual a X. Onde X é uma
expressão flutuante.
Erro! Fonte de referência não encontrada.Ceil(-2.8) = -2Erro! Fonte de referência não
encontrada.
Erro! Fonte de referência não encontrada.Ceil(2.8) Erro! Fonte de referência não
encontrada. =3
Erro! Fonte de referência não encontrada.Ceil(-1.0) = -1Erro! Fonte de referência não
encontrada.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
teto : double;
BEGIN
teto := ceil(6.5 + 7/5 -1 + sqrt(9.64));
showMessage('O valor do teto é : ' + FloatToStr(teto));
END.

Veja também:

Abs | Ceil | Cos | DegToRad | Exp | Floor | Frac | High | Ln | Log10 | Log2 | Ord
| Power | RadToDeg | Round | Sign | Sin | Sqrt | Tan | Trunc

Cos
cos

Sintaxe:
function Cos(X: Double): Double;

Descrição: A função cos retorna o co-seno do argumento X. Onde X é uma expressão


flutuante.Cos retorna o co-seno do ângulo X, onde X esta em radianos.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
coseno : double;
BEGIN
// 30 graus em radianos = 0.523598775598299
coseno := cos(0.523598775598299);
showMessage('O valor do coseno é 30 graus : ' + FloatToStr(coseno));
END.

Veja também:

Abs | Ceil | Cos | DegToRad | Exp | Floor | Frac | High | Ln | Log10 | Log2 | Ord
| Power | RadToDeg | Round | Sign | Sin | Sqrt | Tan | Trunc

degToRad DegToRad

Sintaxe:
functionErro! Fonte de referência não encontrada. DegToRad(Degrees: Double):
Double;Erro! Fonte de referência não encontrada.

Descrição: Use degToRad para converter expressões com ângulos em graus para um valor
correspondente em radianos, onde radianos = graus(pi/180).

Página 389 de 478


Exemplos:

INTERFACE
IMPLEMENTATION
MAIN
var
seno : double;
BEGIN
seno := sin(DegToRad(30));
showMessage('O valor do seno é 30 graus : ' + FloatToStr(seno));
END.

Veja também:

Abs | Ceil | Cos | DegToRad | Exp | Floor | Frac | High | Ln | Log10 | Log2 | Ord
| Power | RadToDeg | Round | Sign | Sin | Sqrt | Tan | Trunc

exp Exp

Sintaxe:
function Exp(X : Double): Double;

Descrição: Exp retorna е elevado a X. Onde e é a base do logaritmo natural, e X é uma


expressão flutuante.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
e : double;
BEGIN
e := Exp(1.0);
showMessage(FloatToStr(e));
END.

Veja também:

Abs | Ceil | Cos | DegToRad | Exp | Floor | Frac | High | Ln | Log10 | Log2 | Ord
| Power | RadToDeg | Round | Sign | Sin | Sqrt | Tan | Trunc

floor Floor

Sintaxe:
functionErro! Fonte de referência não encontrada. Floor(X: Double): IntegerErro!
Fonte de referência não encontrada.Erro! Fonte de referência não encontrada.;Erro! Fonte
de referência não encontrada.

Descrição: Use floor para obter o maior inteiro, menor que ou igual a X. Onde X é uma
expressão flutuante.
Erro! Fonte de referência não encontrada.Floor(-2.8) = -3Erro! Fonte de referência não
encontrada.
Erro! Fonte de referência não encontrada.Floor(2.8) Erro! Fonte de referência não
encontrada. =2
Erro! Fonte de referência não encontrada.Floor(-1.0) = -1Erro! Fonte de referência não
encontrada.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
piso : double;
BEGIN
piso := floor(6.5 + 7/5 -1 + sqrt(9.64));
showMessage('O valor do piso é : ' + FloatToStr(piso));
END.

Veja também:

Abs | Ceil | Cos | DegToRad | Exp | Floor | Frac | High | Ln | Log10 | Log2 | Ord
| Power | RadToDeg | Round | Sign | Sin | Sqrt | Tan | Trunc

Frac
frac

Sintaxe:
functionErro! Fonte de referência não encontrada. Frac(X: Double): Double;Erro! Fonte
de referência não encontrada.

Descrição: A função frac retorna a parte fracional do argumento X. Onde X é uma expressão
flutuante.
Frac(X) = X - Int(X).
Frac(5.655) = 0.655
Frac(-2.01) = -0.01

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
num : double;
BEGIN
num := frac(5.999);
showMessage(FloatToStr(num));
END.

Veja também:

Abs | Ceil | Cos | DegToRad | Exp | Floor | Frac | High | Ln | Log10 | Log2 | Ord
| Power | RadToDeg | Round | Sign | Sin | Sqrt | Tan | Trunc

high High

Sintaxe:
functionErro! Fonte de referência não encontrada. HighErro! Fonte de referência não

Página 391 de 478


encontrada.Erro! Fonte de referência não encontrada. (array) : integer;Erro! Fonte de
referência não encontrada.

Descrição: Esta função recebe como parâmetro um vetor e retorna seu tamanho (valor
inteiro). Se o vetor for de mais de uma dimensão, você deverá informar qual a dimensão você
deseja retornar. Caso contrário o tamanho da primeira dimensão será retornado.Exemplo:
vetor[10]; // vetor 1 dimensão
High(vetor) = 10
vetor[10,4,5]; // vetor de três dimensões
High(vetor) = 10
High(vetor[1]) = 4
High(vetor[1,1]) = 5
Veja bem, o número de argumentos dentro dos colchetes se referem a qual dimensão você
esta querendo saber o tamanho. Para retornar a primeira dimensão não é necessário nenhum
argumento, o tamanho da dimensão X será dado pelo número de argumentos X-1. Se for
passado o mesmo número de argumentos e dimensões o sistema irá devolver 1 se o vetor for
de um tipo que não inteiro (vetor de string por exemplo), e 2147483647 para os vetores
inteiros.
Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
vet[3] : double;
media : double;
BEGIN
vet[1] := 1.4;
vet[2] := 2.32;
vet[3] := 33.43;
media := (vet[1] + vet[2] + vet[3])/High(vet);
showMessage(FormatFloat('#.00',media));
END.

Veja também:

Abs | Ceil | Cos | DegToRad | Exp | Floor | Frac | High | Ln | Log10 | Log2 | Ord
| Power | RadToDeg | Round | Sign | Sin | Sqrt | Tan | Trunc

Ln Ln

Sintaxe:
function Ln(X: Double): Double;

Descrição: Ln retorna o logaritmo natural (Ln(e) = 1)de uma expressão flutuante X. Se o


valor da expressão X for zero este será substituído do 1, retornado o número zero.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
num : double;
BEGIN
num := Ln(5.5);
showMessage(FloatToStr(num));
END.
Veja também:

Abs | Ceil | Cos | DegToRad | Exp | Floor | Frac | High | Ln | Log10 | Log2 | Ord
| Power | RadToDeg | Round | Sign | Sin | Sqrt | Tan | Trunc

Log10 Log10

Sintaxe:
functionErro! Fonte de referência não encontrada. LogErro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada.10Erro! Fonte de referência não
encontrada.Erro! Fonte de referência não encontrada. (X: Double): Double;Erro! Fonte
de referência não encontrada.

Descrição: Log10 retorna o logaritmo na base 10 do argumento X. Onde X é um expressão


flutuante. Se o valor da expressão X for menor ou igual a zero então o número 1 será
considerado como padrão.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
num : double;
BEGIN
num := Log10(1000);
showMessage(FloatToStr(num));
END.

Veja também:

Abs | Ceil | Cos | DegToRad | Exp | Floor | Frac | High | Ln | Log10 | Log2 | Ord
| Power | RadToDeg | Round | Sign | Sin | Sqrt | Tan | Trunc

Log2 Log2

Sintaxe:
functionErro! Fonte de referência não encontrada. Log2 (X: Double): Double;Erro!
Fonte de referência não encontrada.

Descrição: Log2 retorna o logaritmo na base 2 do argumento X. Onde X é um expressão


flutuante. Se o valor da expressão X for menor ou igual a zero então o número 1 será
considerado como padrão.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
num : double;
BEGIN
num := Log2(1024);

Página 393 de 478


showMessage(FloatToStr(num));
END.

Veja também:

Abs | Ceil | Cos | DegToRad | Exp | Floor | Frac | High | Ln | Log10 | Log2 | Ord
| Power | RadToDeg | Round | Sign | Sin | Sqrt | Tan | Trunc

Ord Ord

Sintaxe:
function Ord ( letraErro! Fonte de referência não encontrada. : Erro! Fonte de referência
não encontrada.String ):Integer

Descrição: Use a função ord para obter o valor numérico (ascii) correspondente a
determinado caractere.
Erro! Fonte de referência não encontrada.ordErro! Fonte de referência não encontrada. ( 'A'
) = 65
Erro! Fonte de referência não encontrada.ordErro! Fonte de referência não encontrada. ( 'a'
) = 97
Erro! Fonte de referência não encontrada.ordErro! Fonte de referência não encontrada. ( '7'
) = 55

Veja também:

Abs | Ceil | Cos | DegToRad | Exp | Floor | Frac | High | Ln | Log10 | Log2 | Ord
| Power | RadToDeg | Round | Sign | Sin | Sqrt | Tan | Trunc

power Power

Sintaxe:
functionErro! Fonte de referência não encontrada. Power(Base, Exponent: Double):
Double;Erro! Fonte de referência não encontrada.

Descrição: Power eleva uma base a qualquer expoente. Onde a base deve ser maior que 0.
Base e exponet são expressões flutuantes.
Power(2,10) = 1024
Power(-2,10) = 0

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
num : double;
BEGIN
num := power(16,0.5); // é o mesmo que raiz quadrada de 16
showMessage('O 2 elevado a 10 : ' + FloatToStr(num));
END.

Veja também:
Abs | Ceil | Cos | DegToRad | Exp | Floor | Frac | High | Ln | Log10 | Log2 | Ord
| Power | RadToDeg | Round | Sign | Sin | Sqrt | Tan | Trunc

radToDeg RadToDeg

Sintaxe:
function RadToDeg (Degrees: Double): Double;

Descrição: Use radToDeg para converter expressões com ângulos em radianos para um
valor correspondente em graus, onde graus = radianos(180/pi).

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
angulo : double;
BEGIN
angulo := 0.523598775598299;
angulo := RadToDeg(angulo);
showMessage('O ângulo é : ' + FloatToStr(angulo) + 'º graus');
END.

Veja também:

Abs | Ceil | Cos | DegToRad | Exp | Floor | Frac | High | Ln | Log10 | Log2 | Ord
| Power | RadToDeg | Round | Sign | Sin | Sqrt | Tan | Trunc

Round Round

Sintaxe:
function Round(X: Double):Integer;

Descrição: A função round arredonda um valor do tipo double em um valor do tipo integer.
Onde Erro! Fonte de referência não encontrada. X Erro! Fonte de referência não
encontrada.é uma expressão flutuante. Se o número estiver exatamente na metade entre
dois números, Round arrendodará para o valor mais distante do número zero.

Round(5.4999) = 5
Round(5.5) = 6
Round(-5.5) = -6

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
num : double;
BEGIN
num := round(2.490124);
showMessage(FloatToStr(num));
END.

Página 395 de 478


Veja também:

Abs | Ceil | Cos | DegToRad | Exp | Floor | Frac | High | Ln | Log10 | Log2 | Ord
| Power | RadToDeg | Round | Sign | Sin | Sqrt | Tan | Trunc

sign Sign
Sintaxe:
function sign(X : Double) : integer;

Descrição: A função sign indica se um número é positivo, negativo ou zero. Use Sign para
testar o sinal de um valor numérico. Sign retorna:
0 se X for zero.
1 se X for maior que zero.
-1 se X for menor que zero.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
num : integer;
BEGIN
num := sign(-2.65);
if(num > 0) then begin
showMessage('num é positivo');
end else begin
showMessage('num é menor ou igual a zero');
end;
END.

Veja também:

Abs | Ceil | Cos | DegToRad | Exp | Floor | Frac | High | Ln | Log10 | Log2 | Ord
| Power | RadToDeg | Round | Sign | Sin | Sqrt | Tan | Trunc

sin Sin

Sintaxe:
functionErro! Fonte de referência não encontrada. Sin(X: Double): Double;Erro! Fonte
de referência não encontrada.

Descrição: A função sin retorna o seno do argumento X. Onde X é uma expressão flutuante.
Sin retorna o seno do ângulo X, onde X esta em radianos.
Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
seno : double;
BEGIN
// 30 graus em radianos = 0.523598775598299
seno := sin(0.523598775598299);
showMessage('O valor do seno é 30 graus : ' + FloatToStr(seno));
END.

Veja também:

Abs | Ceil | Cos | DegToRad | Exp | Floor | Frac | High | Ln | Log10 | Log2 | Ord
| Power | RadToDeg | Round | Sign | Sin | Sqrt | Tan | Trunc

sqrt Sqrt

Sintaxe:
functionErro! Fonte de referência não encontrada. Sqrt(X: Double): Double;Erro! Fonte
de referência não encontrada.

Descrição: X é uma expressão flutuante . O resultado é a raiz quadrada de X.

sqrt(9) = 3
sqrt(-9) = 0
sqrt(0) = 0

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
raiz : double;
BEGIN
raiz := sqrt(6.5 + 7/5 -1 + sqrt(9.64));
showMessage('A raiz é : ' + FloatToStr(raiz));
END.

Veja também:

Abs | Ceil | Cos | DegToRad | Exp | Floor | Frac | High | Ln | Log10 | Log2 | Ord
| Power | RadToDeg | Round | Sign | Sin | Sqrt | Tan | Trunc

tan Tan

Sintaxe:
functionErro! Fonte de referência não encontrada. Tan(X: Double): Double;Erro!
Fonte de referência não encontrada.

Descrição: Tan retorna a tangente do argumento X. Onde X é uma expressão flutuante.


Tan retorna a tangente do ângulo X, onde X esta em radianos. tan(x) = sin(x)/cos(x)

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
tangente : double;

Página 397 de 478


BEGIN
// 30 graus em radianos = 0.523598775598299
tangente := tan(0.523598775598299);
showMessage('O valor do tangente é 30 graus : ' + FloatToStr(tangente));
END.

Veja também:

Abs | Ceil | Cos | DegToRad | Exp | Floor | Frac | High | Ln | Log10 | Log2 | Ord
| Power | RadToDeg | Round | Sign | Sin | Sqrt | Tan | Trunc

truncTrunc

Sintaxe:
function Trunc(X: Double):IntegerErro! Fonte de referência não encontrada.;Erro! Fonte
de referência não encontrada.

Descrição: A função Trunc transforma um valor do tipo double em um valor do tipo integer.
X é uma expressão flutuante.

Trunc (5.9999)= 5
Tunc (-5.9999)= -5

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
var
num : integer;
BEGIN
num := trunc(-5.999);
showMessage(IntToStr(num));
END.

Veja também:

Abs | Ceil | Cos | DegToRad | Exp | Floor | Frac | High | Ln | Log10 | Log2 | Ord
| Power | RadToDeg | Round | Sign | Sin | Sqrt | Tan | Trunc

Funções Web Funções Web


getUrl
isConnected

getUrl GetUrl

Sintaxe:
 function getUrl(url:String) : String; overload;
 function getUrl(url:String; showPrgress:boolean) : String; overload;
 function getUrl(url:String; showPrgress:boolean; proxyHost:String; proxyPort:Integer)
: String; overload;
 function getUrl(url : String; showPrgress:boolean; proxyHost:String;
proxyPort:Integer; proxyUserName:String; proxyPassWord:String) :String; overload;
 procedureErro! Fonte de referência não encontrada. getUrl(url:String;
saveFilePath:String);Erro! Fonte de referência não encontrada.Erro! Fonte de
referência não encontrada.overload;Erro! Fonte de referência não encontrada.
 procedure getUrl(url:String; saveFilePath:String; showPrgress:boolean);overload;
 procedure getUrl(url:String; saveFilePath:String; showPrgress:boolean;
proxyHost:String; proxyPort:Integer);overload;
 procedure getUrl(url:String; saveFilePath:String; showPrgress:boolean;
proxyHost:String; proxyPort:Integer; proxyUserName:String;
proxyPassWord:String);overload;

Descrição: Este comando getUrl pode ser utilizado tanto como uma função ou como
procedimento. Quando função este comando retorna uma string contendo o texto da URL
passada como parâmetro. Quando utilizado como um procedimento deve-se informar o
caminho onde o conteúdo da URL passada como parâmetro será salvo.
Se o comando getUrl for utilizado como um procedimento pode-se fazer download de arquivos
texto, imagens, som, executáveis etc, desde que informados na URL.

Parâmetros:
- url: Endereço web. Ex: http://www.engeman.com.br
- saveFilePath: Caminho onde o arquivo será salvo. Ex.: c:\nomeDoArquivo.exe
- showProgress: Por padrão esta opção é falsa, se for verdadeira uma caixa de progresso
será apresentada enquanto o arquivo estiver sendo recuperado.
- proxyHost:Especifica o nome do Host de proxy HTTP.
- proxyPort: Especifica a porta do proxy HTTP.
- proxyUserName: Especifica um usuário do proxy HTTP.
- proxyPassWord: Especifica uma senha para o usuário do proxy HTTP.

Exemplo:
Neste exemplo verificamos se existe uma conexão com a web e logo em seguida obtemos o
conteúdo do site da Engeman®. Este conteúdo será apresentado através de um showMessage
se será salvo logo em seguida com o nome indexEngeman.htm. Outras opções de uso deste
comando estão comentadas.

INTERFACE
IMPLEMENTATION
MAIN
var
retorno : string;
url : string;
saveFile : string;
proxyHost : string;
proxyUserName : string;
proxyPassWord : string;
showProgress : boolean;
proxyPort : integer;
BEGIN
url := 'http://www.engeman.com.br';
saveFile := 'c:\indexEngeman.htm';
showProgress := true;
proxyHost := 'inet';
proxyPort := 80;
proxyUserName := 'Paulo';
proxyPassWord := '5ref56fksj002d';
// função
//retorno := getUrl(url);
retorno := getUrl(url,showProgress);
//retorno := getUrl(url,showProgress,proxyHost,proxyPort);
//retorno :=
getUrl(url,showProgress,proxyHost,proxyPort,proxyUserName,proxyPassWord);
showMessage(retorno);

Página 399 de 478


// procedimento
//getUrl(url,saveFile);
getUrl(url,saveFile,showProgress);
//getUrl(url,saveFile,showProgress,proxyHost,proxyPort);
//getUrl(url,saveFile,showProgress,proxyHost,proxyPort,proxyUsername,proxyPassW
ord);
END.

Veja também:

isConnected

isConnected IsConnected

Sintaxe:
functionErro! Fonte de referência não encontrada. isConnected : boolean;Erro!
Fonte de referência não encontrada.

Descrição: Esta função verifica se o computador está conectado à Internet. Se uma conexão
for detectada a função retorna um valor verdadeiro ( true), caso contrário um valor falso
(false) será retornado.

Exemplo:
Neste exemplo verificamos se existe uma conexão com a web e logo em seguida obtemos o
conteúdo do site da Engeman®. Este conteúdo será apresentado através de um showMessage
se será salvo logo em seguida com o nome indexEngeman.htm. Outras opções de uso deste
comando estão comentadas.

INTERFACE
IMPLEMENTATION
MAIN
var
retorno : string;
url : string;
saveFile : string;
proxyHost : string;
proxyUserName : string;
proxyPassWord : string;
showProgress : boolean;
proxyPort : integer;
BEGIN
url := 'http://www.engeman.com.br';
saveFile := 'c:\indexEngeman.htm';
showProgress := true;
proxyHost := 'inet';
proxyPort := 80;
proxyUserName := 'Paulo';
proxyPassWord := '5ref56fksj002d';
// função
//retorno := getUrl(url);
retorno := getUrl(url,showProgress);
//retorno := getUrl(url,showProgress,proxyHost,proxyPort);
//retorno :=
getUrl(url,showProgress,proxyHost,proxyPort,proxyUserName,proxyPassWord);
showMessage(retorno);
// procedimento
//getUrl(url,saveFile);
getUrl(url,saveFile,showProgress);
//getUrl(url,saveFile,showProgress,proxyHost,proxyPort);

//getUrl(url,saveFile,showProgress,proxyHost,proxyPort,proxyUsername,proxyPassWo
rd);
END.

Veja também:

getUrl

Funções Externas Funções Externas

shellExecute

shellExecute ShellExecute

Sintaxe:
function shellExecute(programPath : String) : Boolean; overload;
function shellExecute(programPath : String; modeDisplay : Boolean) : Boolean;
overload;

Descrição: Esta função executa um programa qualquer, que esteja na máquina local ou na rede.
Para isto deve-se informar o caminho e o nome do programa que se deseja executar. Ex:
c:\windows\system32\calc.exe . Este é o caminho da calculadora padrão do windows. Outro
parâmetro informado a esta função e o modo que este programa será apresentado, se for
informado um valor falso (false) este programa será executado em background. Apenas para
programas DOS.
Exemplo:
Neste exemplo a calculadora do windows será executada.

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
shellExecute('c:\Windows\System32\calc.exe');
END.

agentCreate agentCreate

Sintaxe:
function agentCreate(name : String) : Boolean;

Descrição: Os agentes do Engeman® são personagens animados que podem interagir junto
ao usuário e auxiliá-lo na operação do sistema. A função agentCreate é responsável pela carga
do mesmo no sistema operacional, esta recebe como parâmetro o nome do agente. Caso o
agente informado não esteja instalado no sistema a função retorna false, sendo o contrário

Página 401 de 478


retorna true.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN

BEGIN
//Está função é responsável por carregar o agente no Sistema Operacional.
agentCreate('merlin');
agentFree('merlin');
END.

Veja também:

agentShow | agentMoveTo | agentMoveBy | agentMoveToCenter | agentHide | agentSpeak |


agentExec | agentGetAnimations | agentGetAnimationCount | agentFree | getAgents

agentShow agentShow

Sintaxe:
procedure agentShow(name : String);

Descrição: Esta procedure exibe o agente na tela após a carga do mesmo, a mesma recebe
como parâmetro o nome do agente.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN

BEGIN
agentCreate('merlin');
//Está função é responsável por exibir o agente na tela.
agentShow('merlin');
agentFree('merlin');
END.

Veja também:

agentCreate | agentMoveTo | agentMoveBy | agentMoveToCenter | agentHide | agentSpeak |


agentExec | agentGetAnimations | agentGetAnimationCount | agentFree | getAgents

agentMoveTo agentMoveTo

Sintaxe:
procedure agentMoveTo(name : String; x : Integer; y : Integer);

Descrição: Esta procedure faz com que o agente se movemente pela tela, a mesma recebe
como parâmetro o nome do agente e as cordenadas X e Y.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN

BEGIN
agentCreate('merlin');
agentShow('merlin');
//Movimeta o agente na tela.
agentMoveTo('merlin', 500, 200);
agentMoveTo('merlin', 200, 100);
agentFree('merlin');
END.

Veja também:

agentCreate | agentShow | agentMoveBy | agentMoveToCenter | agentHide | agentSpeak |


agentExec | agentGetAnimations | agentGetAnimationCount | agentFree | getAgents

agentMoveBy agentMoveBy

Sintaxe:
procedure agentMoveBy(name : String; dx : Integer; dy : Integer);

Descrição: Esta procedure faz com que o agente se movemente pela tela, a mesma recebe
como parâmetro o nome do agente e as cordenadas DX e DY, que correspondem à direção.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN

BEGIN
agentCreate('merlin');
agentShow('merlin');
agentMoveTo('merlin', 500, 200);
agentMoveTo('merlin', 200, 100);
//Movimeta o agente 300 pixels para a direita.
agentMoveBy('merlin', 300, 0);
agentFree('merlin');
END.

Veja também:

agentCreate | agentShow | agentMoveTo | agentMoveToCenter | agentHide | agentSpeak |


agentExec | agentGetAnimations | agentGetAnimationCount | agentFree | getAgents

agentMoveToCenter agentMoveToCenter

Página 403 de 478


Sintaxe:
procedure agentMoveToCenter(name : String);

Descrição: Esta procedure faz com que o agente se movemente para o centro da tela, a
mesma recebe como parâmetro o nome do agente.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN

BEGIN
agentCreate('merlin');
agentShow('merlin');
//Movimeta o agente para o centro da tela.
agentMoveToCenter('merlin');
agentFree('merlin');
END.

Veja também:

agentCreate | agentShow | agentMoveTo | agentMoveBy | agentHide | agentSpeak |


agentExec | agentGetAnimations | agentGetAnimationCount | agentFree | getAgents

agentHide agentHide

Sintaxe:
procedure agentHide(name : String);

Descrição: Esta procedure oculta o agente, a mesma recebe como parâmetro o nome do
agente.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN

BEGIN
agentCreate('merlin');
agentShow('merlin');
//Está função é responsável por ocultar o agente.
agentHide('merlin');
agentFree('merlin');
END.

Veja também:

agentCreate | agentMoveTo | agentMoveBy | agentMoveToCenter | agentShow | agentSpeak |


agentExec | agentGetAnimations | agentGetAnimationCount | agentFree | getAgents
agentSpeak agentSpeak

Sintaxe:
procedure agentSpeak(name : String; text : String);

Descrição: Esta procedure faz com que o agente fale um texto, a mesma recebe como
parâmetro o nome do agente e o texto a ser falado.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
VAR
texto : String;
BEGIN
texto:='O Engeman é um sistema para gerenciamento e controle da manutenção.';
agentCreate('merlin');
agentShow('merlin');
//Está função faz o agente falar.
agentSpeak('merlin', texto);
agentFree('merlin');
END.

Veja também:

agentCreate | agentMoveTo | agentMoveBy | agentMoveToCenter | agentShow | agentHide |


agentExec | agentGetAnimations | agentGetAnimationCount | agentFree | getAgents

agentExec agentExec

Sintaxe:
procedure agentSpeak(name : String; method : String); overload;
procedure agentSpeak(name : String; methodIndex : String); overload;

Descrição: Esta procedure faz o agente executar movimentos especiais, a mesma recebe
como parâmetro o nome do agente e o nome do movimento, ou o número do movimento.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
agentCreate('merlin');
agentShow('merlin');
//O sleep foi utilizado para que o agente tenha tempo de executar a ação anterior,
em alguns casos este artificio deverá ser utilizado.
sleep(3000);
//Está função faz o agente realizar movimentos especiais.
agentExec('merlin', 'Suprised');
sleep(3000);
agentExec('merlin', 1);
sleep(3000);
agentFree('merlin');

Página 405 de 478


END.

Veja também:

agentCreate | agentMoveTo | agentMoveBy | agentMoveToCenter | agentShow | agentHide |


agentSpeak | agentGetAnimations | agentGetAnimationCount | agentFree | getAgents

agentGetAnimations
agentGetAnimations

Sintaxe:
function agentGetAnimations(name : String) : String;

Descrição: Esta função retorna o nome dos movimentos especiais do agente, a mesma recebe
como parâmetro o nome do agente.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
agentCreate('merlin');
//Exibe os movimentos especiais do agente.
showMessage(agentGetAnimations('merlin'));
agentShow('merlin');
agentFree('merlin');
END.

Veja também:

agentCreate | agentMoveTo | agentMoveBy | agentMoveToCenter | agentShow | agentHide |


agentSpeak | agentExec | agentGetAnimationCount | agentFree | getAgents

agentGetAnimationCount agentGetAnimationCount

Sintaxe:
function agentGetAnimationCount(name : String) : Integer;

Descrição: Esta função retorna a quantidade de movimentos especiais do agente, a mesma


recebe como parâmetro o nome do agente.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
agentCreate('merlin');
//Exibe os movimentos especiais do agente.
showMessage(intToStr(agentGetAnimationCount('merlin')));
agentShow('merlin');
agentFree('merlin');
END.

Veja também:

agentCreate | agentMoveTo | agentMoveBy | agentMoveToCenter | agentShow | agentHide |


agentSpeak | agentExec | agentGetAnimations | agentFree | getAgents

agentFree agentFree

Sintaxe:
procedure agentFree(name : String);

Descrição: Esta função descarrega o agente, a mesma recebe como parâmetro o nome do
agente. O agente também é descarregado ao fechar a tela em que o mesmo foi chamado.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
agentCreate('merlin');
//Exibe os movimentos especiais do agente.
agentShow('merlin');
agentFree('merlin');
END.

Veja também:

agentCreate | agentMoveTo | agentMoveBy | agentMoveToCenter | agentShow | agentHide |


agentSpeak | agentExec | agentGetAnimations | agentGetAnimationCount | getAgents

getAgents getAgents

Sintaxe:
function getAgents : String;

Descrição: Esta função retorna o nome dos agentes instalados no Sistema Operacional.

Exemplo:

INTERFACE
IMPLEMENTATION
MAIN
BEGIN
//Exibe o nome dos agentes instalados.
showMessage(getAgents);
END.

Página 407 de 478


Veja também:

agentCreate | agentMoveTo | agentMoveBy | agentMoveToCenter | agentShow | agentHide |


agentSpeak | agentExec | agentGetAnimations | agentGetAnimationCount | agentFree

openXMLopenXML

Sintaxe:
function openXML(t: TMemTable; xmlFile: String; keyFields: String): String;

Descrição: A função openXML carrega para um identificador (variável) do tipo TMemTable o


conteúdo de um arquivo XML do HD. Esta função recebe três parâmetros:
- t: neste parâmetro deve-se informar qual o identificador irá receber o conteúdo do arquivo.
Deve ser uma variável do tipo TMemTable (tabela de memória).
- xmlFile: o caminho onde se encontra o arquivo. Juntamente do caminho deve-se informar o
nome do arquivo e sua extensão.
- keyFields: neste parâmetro devem ser informados os nomes dos campos presentes no
arquivo XML, todos separados por vírgula.

No exemplo a seguir, primeiramente o arquivo XML é aberto e consequentemente o objeto


TMemTable é carregado com os dados contidos no arquivo. Estes dados podem ser
consultados bastando percorrer o objeto t com um instrução while. Por fim o arquivo é
fechado.
Importante ressaltar que todo arquivo XML que for aberto deve ser fechado. Para o exemplo,
considere um arquivo XML com o caminho\nome "c:\Causas.XML" e o seguinte conteúdo:

<?xml version="1.0" standalone="yes"?>


<Engeman>
<Causa> <codcau> 1</codcau> <tag>100</tag> <descricao>FIM DA VIDA
UTIL</descricao></Causa>
<Causa> <codcau> 21</codcau> <tag>101</tag> <descricao>FALTA DE
LUBRIFICACAO</descricao></Causa>
<Causa> <codcau> 22</codcau> <tag>103</tag> <descricao>FALTA DE
ISOLAMENTO</descricao></Causa>
<Causa> <codcau> 24</codcau> <tag>104</tag> <descricao>FALHA NO
PROJETO</descricao></Causa>
<Causa> <codcau> 27</codcau> <tag>106</tag>
<descricao>COLISAO</descricao></Causa>
<Causa> <codcau>277</codcau> <tag>342</tag> <descricao>ROTACAO
LENTA</descricao></Causa>
</Engeman>

Exemplo:

INTERFACE

IMPLEMENTATION

MAIN
VAR
mensagem,codcau,tag,descricao : String;
memtable : TMemtable;
BEGIN
openXML(memtable,'c:\causa.xml','codcau,tag,descricao');
First(memtable);
while not Eof(memtable) do begin
codcau := fieldbyname(memtable,'codcau',asstring);
tag := fieldbyname(memtable,'tag',asstring);
descricao := fieldbyname(memtable,'descricao',asstring);
if mensagem='' then begin
mensagem := codcau+chr(13)+tag+chr(13)+descricao+chr(13);
end else begin
mensagem := mensagem+chr(13)+codcau+chr(13)+tag+
chr(13)+descricao+chr(13);
end;
Next(memtable);
end;
showMessage(mensagem);
CloseXML(memtable);
END.

Veja também:

closeXML

closeXML closeXML

Sintaxe:
procedure closeXML (t: TMemTable);

Descrição: Utilize o procedimento closeXML para fechar um arquivo XML que tenha sido
aberto. Este procedimento recebe como parâmetro um objeto do tipo TMemTable. Todo objeto
deste tipo que tenha sido aberto utilizando-se a função openXML deve ser fechado com o
procedimento closeXML.

No exemplo a seguir, primeiramente o arquivo XML é aberto e consequentemente o objeto


TMemTable é carregado com os dados contidos no arquivo. Estes dados podem ser
consultados bastando percorrer o objeto t com um instrução while. Por fim o arquivo é
fechado.
Importante ressaltar que todo arquivo XML que for aberto deve ser fechado. Para o exemplo,
considere um arquivo XML com o caminho\nome "c:\Causas.XML" e o seguinte conteúdo:

<?xml version="1.0" standalone="yes"?>


<Engeman>
<Causa> <codcau> 1</codcau> <tag>100</tag> <descricao>FIM DA VIDA
UTIL</descricao></Causa>
<Causa> <codcau> 21</codcau> <tag>101</tag> <descricao>FALTA DE
LUBRIFICACAO</descricao></Causa>
<Causa> <codcau> 22</codcau> <tag>103</tag> <descricao>FALTA DE
ISOLAMENTO</descricao></Causa>
<Causa> <codcau> 24</codcau> <tag>104</tag> <descricao>FALHA NO
PROJETO</descricao></Causa>
<Causa> <codcau> 27</codcau> <tag>106</tag>
<descricao>COLISAO</descricao></Causa>
<Causa> <codcau>277</codcau> <tag>342</tag> <descricao>ROTACAO
LENTA</descricao></Causa>
</Engeman>

Exemplo:

INTERFACE

IMPLEMENTATION

MAIN

Página 409 de 478


VAR
mensagem,codcau,tag,descricao : String;
memtable : TMemtable;
BEGIN
openXML(memtable,'c:\causa.xml','codcau,tag,descricao');
First(memtable);
while not Eof(memtable) do begin
codcau := fieldbyname(memtable,'codcau',asstring);
tag := fieldbyname(memtable,'tag',asstring);
descricao := fieldbyname(memtable,'descricao',asstring);
if mensagem='' then begin
mensagem := codcau+chr(13)+tag+chr(13)+descricao+chr(13);
end else begin
mensagem := mensagem+chr(13)+codcau+chr(13)+tag+
chr(13)+descricao+chr(13);
end;
Next(memtable);
end;
showMessage(mensagem);
CloseXML(memtable);
END.

Veja também:

openXML

Funções de Grid Funções de Grid

As funções de grid só funcionam no evento onGetCellProps. A chamada delas em qualquer


outro evento do sistema retornará sempre vazio.

O evento onGetCellProps ocorre sempre que um grid vai ser desenhado na tela ou quando o
cursor é movido sobre o grid. Ele será disparado para cada célula do grid, resultando em um
número de chamadas = Colunas x Linhas. Eventos longos causarão uma demora significativa
para a navegação dos grids.

getCellFieldName
getCellFieldValue
getCellFontName
getCellFontSize
getCellFontColor
getCellBackground
setCellFontName
setCellFontSize
setCellFontColor
setCellBackground

getCellFieldName GetCellFieldName

Sintaxe:
function getCellFieldName: string;

Descrição: Esta função retorna o nome do campo corrente para o evento onGetCellProps dos
componentes de grid do Engeman .

Exemplo:
Neste exemplo verificamos se o campo corrente do grid da tabela de Causas é o campo TAG.
Se for, o sistema irá alterar o plano de fundo somente desta coluna para amarelo.

INTERFACE

IMPLEMENTATION

MAIN
BEGIN
if getCellFieldName='TAG' then begin
setCellBackground(clYellow);
end;
END.

Veja também:
getCellFieldValue | getCellFontName | getCellFontSize | getCellFontColor | getCellBackground |
setCellFontName | setCellFontSize | setCellFontColor | setCellBackground

getCellFieldValue GetCellFieldValue

Sintaxe:
function getCellFieldValue: string;

Descrição: Esta função retorna o valor do campo corrente em formato de string para o evento
onGetCellProps dos componentes de grid do Engeman .

Exemplo:
Neste exemplo verificamos se o campo status possui o valor 'OK'. Neste caso, colocaremos o
fundo da célula em verde. Caso contrário, colocaremos o fundo da célula de cor vermelha.

INTERFACE

IMPLEMENTATION

MAIN
BEGIN
if getCellFieldName='STATUS' then begin
if getCellFieldValue='OK' then begin
setCellBackground(clLime);
end else begin
setCellBackground(clRed);
end;
end;
END.

Veja também:
getCellFieldName | getCellFontName | getCellFontSize | getCellFontColor | getCellBackground |
setCellFontName | setCellFontSize | setCellFontColor | setCellBackground

getCellFontName GetCellFontName

Página 411 de 478


Sintaxe:
function getCellFontName: string;

Descrição: Esta função retorna o nome da fonte do campo corrente em para o evento
onGetCellProps dos componentes de grid do Engeman .

Exemplo:

INTERFACE

IMPLEMENTATION

MAIN
BEGIN
if getCellFieldName='STATUS' then begin
showmessage(getCellFontName+', '+IntToStr(getCellFontSize));
end;
END.

Veja também:
getCellFieldName | getCellFieldValue | getCellFontSize | getCellFontColor | getCellBackground |
setCellFontName | setCellFontSize | setCellFontColor | setCellBackground

getCellFontSize GetCellFontSize

Sintaxe:
function getCellFontSize: integer;

Descrição: Esta função retorna o tamanho da fonte do campo corrente em para o evento
onGetCellProps dos componentes de grid do Engeman .

Exemplo:

INTERFACE

IMPLEMENTATION

MAIN
BEGIN
if getCellFieldName='STATUS' then begin
showmessage(getCellFontName+', '+IntToStr(getCellFontSize));
end;
END.

Veja também:
getCellFieldName | getCellFieldValue | getCellFontName | getCellFontColor | getCellBackground
| setCellFontName | setCellFontSize | setCellFontColor | setCellBackground

getCellFontColor GetCellFontColor
Sintaxe:
function getCellFontColor: integer;

Descrição: Esta função retorna a cor da fonte do campo corrente em para o evento
onGetCellProps dos componentes de grid do Engeman .

Exemplo:

INTERFACE

IMPLEMENTATION

MAIN
BEGIN
if getCellFieldName='STATUS' then begin
if getCellFontColor = clLime then begin
setCellFontColor(clAqua);
end;
end;
END.

Veja também:
getCellFieldName | getCellFieldValue | getCellFontName | getCellFontSize | getCellBackground
| setCellFontName | setCellFontSize | setCellFontColor | setCellBackground

getCellBackground GetCellBackground

Sintaxe:
function getCellBackground: integer;

Descrição: Esta função retorna a cor de fundo do campo corrente em para o evento
onGetCellProps dos componentes de grid do Engeman .

Exemplo:

INTERFACE

IMPLEMENTATION

MAIN
BEGIN
if getCellFieldName='STATUS' then begin
if getCellBackground = clLime then begin
setCellBackground(clAqua);
end;
end;
END.

Veja também:
getCellFieldName | getCellFieldValue | getCellFontName | getCellFontSize | getCellFontColor |

Página 413 de 478


setCellFontName | setCellFontSize | setCellFontColor | setCellBackground

setCellFontName SetCellFontName

Sintaxe:
function setCellFontName(FontName: String);

Descrição: Este procedimento altera a fonte do campo corrente em para o evento


onGetCellProps dos componentes de grid do Engeman .

Exemplo:

INTERFACE

IMPLEMENTATION

MAIN
BEGIN
if getCellFieldName='STATUS' then begin
setCellFontName('Courier New');
end;
END.

Veja também:
getCellFieldName | getCellFieldValue | getCellFontName | getCellFontSize | getCellFontColor |
getCellBackground | setCellFontSize | setCellFontColor | setCellBackground

setCellFontSize SetCellFontSize

Sintaxe:
function setCellFontSize(FontSize: Integer);

Descrição: Este procedimento altera o tamanho da fonte do campo corrente em para o


evento onGetCellProps dos componentes de grid do Engeman .

Exemplo:

INTERFACE

IMPLEMENTATION

MAIN
BEGIN
if getCellFieldName='STATUS' then begin
setCellFontSize(12);
end;
END.

Veja também:
getCellFieldName | getCellFieldValue | getCellFontName | getCellFontSize | getCellFontColor |
getCellBackground | setCellFontName | setCellFontColor | setCellBackground

setCellFontColor SetCellFontColor

Sintaxe:
function setCellFontColor(Color: Integer);

Descrição: Este procedimento altera a cor da fonte do campo corrente em para o evento
onGetCellProps dos componentes de grid do Engeman .

Exemplo:

INTERFACE

IMPLEMENTATION

MAIN
BEGIN
if getCellFieldName='STATUS' then begin
setCellFontColor(clBlue);
end;
END.

Veja também:
getCellFieldName | getCellFieldValue | getCellFontName | getCellFontSize | getCellFontColor |
getCellBackground | setCellFontName | setCellFontSize | setCellBackground

setCellBackground SetCellBackground

Sintaxe:
function setCellBackground(Color: Integer);

Descrição: Este procedimento altera a cor de fundo do campo corrente em para o evento
onGetCellProps dos componentes de grid do Engeman .

Exemplo:

INTERFACE

IMPLEMENTATION

MAIN
BEGIN
if getCellFieldName='STATUS' then begin
setCellBackground(clYellow);
end;
END.

Página 415 de 478


Veja também:
getCellFieldName | getCellFieldValue | getCellFontName | getCellFontSize | getCellFontColor |
getCellBackground | setCellFontName | setCellFontSize | setCellFontColor

Funções de TreeView

Definições no TreeView TreeView

Descrição: Algumas propriedades das Árvores de Agrupamentos (TreeView) poderão ser


definidas com a utilização do procedimento setProperty entre elas podemos citar:

Tag - Utilizado para definir o tag da árvore de agrupamento.


StringData - Utilizado para definir o Tag da Aplicação de cada item da árvore de
agrupamento.
StringData2 - Utilizado para definir a Descrição da Aplicação de cada item da árvore de
agrupamento.
Text - Utilizado para definir o Texto do nó de cada item da árvore de agrupamento.
ImageIndex - Utilizado para definir o Índice da Imagem que é mostrada em cada nó da
árvore de agrupamento.
SelectedIndex - Utilizado para definir o Índice da Imagem do item selecionado na árvore de
agrupamento.

Exemplo: Neste exemplo iremos alterar a descrição de cada nó da arvore de agrupamento da


tela de aplicação da manutenção, bem como suas imagens, afim de exibir na descrição de
cada nó a quantidade de O.S.'s existentes para cada uma.

INTERFACE

IMPLEMENTATION

MAIN
VAR
qry : TQuery;
s : String;
i : Integer;
BEGIN
closeSQL(qry);

//Recupera a propriedade StringData


s := getProperty('treeview.node','stringdata');

//Prepara query para realizar o Select.


s := 'select count(*) total from ordserv, aplic'+
' where ordserv.codapl = aplic.codapl and aplic.tag="'+s+'"';
s := openSQL(qry, s);

if s = '' then begin


//Retorna o total de O.S.'s encontradas para a aplicação corrente.
i := FieldByName(qry, 'total',AsInteger);

if i > 0 then begin //Se existir O.S. define ícone verde como imagem do nó.
setProperty('treeview.node','imageindex',132);
setProperty('treeview.node','selectedIndex',132);
end else begin //Se não existir O.S. define ícone vermelho como imagem do nó.
setProperty('treeview.node','imageindex',133);
setProperty('treeview.node','selectedIndex',133);
end;
//Recupera texto do nó.
s := getProperty('treeview.node','text');

//Concatena a quantidade de O.S. com o texto recuperado do nó.


s := s + ' - Exitem '+intToStr(i)+' O.S."s para esta aplicação.';

//Define novo texto para o nó corrente.


setProperty('treeview.node','text',s);
closeSQL(qry);
end;
END.

Veja também:

PutImageTreeView | GetProperty

Propriedades do TreeView TreeView

Descrição: Algumas propriedades das Árvores de Agrupamentos (TreeView) poderão ser


recuperadas com a utilização do procedimento getProperty entre elas podemos citar:

Tag - Exibe o tag da árvore de agrupamento.


StringData - Exibe o Tag da Aplicação de cada item da árvore de agrupamento.
StringData2 - Exibe a Descrição da Aplicação de cada item da árvore de agrupamento.
Text - Exibe o Texto do nó de cada item da árvore de agrupamento.
ImageIndex - Exibe o Índice da Imagem que é mostrada em cada nó da árvore de
agrupamento.
SelectedIndex - Exibe o Índice da Imagem do item selecionado na árvore de agrupamento.

Exemplo: Neste exemplo iremos recuperar e alterar a descrição de cada nó da árvore de


agrupamento da tela de aplicação da manutenção, bem como suas imagens, afim de exibir na
descrição de cada nó a quantidade de O.S.'s existentes para cada uma.

INTERFACE

IMPLEMENTATION

MAIN
VAR
qry : TQuery;
s : String;
i : Integer;
BEGIN
closeSQL(qry);

//Recupera a propriedade StringData


s := getProperty('treeview.node','stringdata');

//Prepara query para realizar o Select.


s := 'select count(*) total from ordserv, aplic'+
' where ordserv.codapl = aplic.codapl and aplic.tag="'+s+'"';
s := openSQL(qry, s);

if s = '' then begin


//Retorna o total de O.S.'s encontradas para a aplicação corrente.

Página 417 de 478


i := FieldByName(qry, 'total',AsInteger);

if i > 0 then begin //Se existir O.S. define ícone verde como imagem do nó.
setProperty('treeview.node','imageindex',132);
setProperty('treeview.node','selectedIndex',132);
end else begin //Se não existir O.S. define ícone vermelho como imagem do nó.
setProperty('treeview.node','imageindex',133);
setProperty('treeview.node','selectedIndex',133);
end;

//Recupera texto do nó.


s := getProperty('treeview.node','text');

//Concatena a quantidade de O.S. com o texto recuperado do nó.


s := s + ' - Exitem '+intToStr(i)+' O.S."s para esta aplicação.';

//Define novo texto para o nó corrente.


setProperty('treeview.node','text',s);
closeSQL(qry);
end;
END.

Veja também:

PutImageTreeView | SetProperty

putImageTreeView PutImageTreeView

Sintaxe:
procedure putImageTreeView(form:String; treeView:String; SQL:String;
imageIndex : Integer);

Descrição: Este procedimento permite ao usuário definir ícones a serem mostrados em uma
árvore de agrupamento do Engeman®, baseando-se em uma instrução SQL ou não. Os ícones
que podem ser utilizados fazem parte da Biblioteca de Desenhos do Engeman® ou podem ser
inseridos pelo usuário na tabela de Desenhos do Engeman®.

Exemplo:
Neste exemplo, utilizado na Árvore de Agrupamento de Aplicações, definiremos este ícone " "
para as aplicações que possuem O.S.'s abertas.

INTERFACE

IMPLEMENTATION

MAIN
VAR
ImageIndex : Integer;
Form, TreeView, SQL : String;

BEGIN

Form := 'FAplic'; //Formulário onde será executada a regra.


TreeView := 'TreeGrupo'; //TreeView onde será executada a regra.
ImageIndex := 34; //Telefone.
//Retorna aplicações com O.S.'s abertas.
SQL := 'select count(*) from ordserv,aplic where ordserv.codapl='+
'aplic.codapl and ordserv.statord="A"'+' and ordserv.codemp='+
getCurrentEmp+' and ordserv.codfil='+getCurrentFil+
' and aplic.taggru is not null and aplic.tag=';

//Altera o ícone de aplicações que possuem O.S.'s abertas.


PutImageTreeView(Form,TreeView,SQL,ImageIndex);

END.

Veja também:
setProperty | getProperty

Operadores Operadores

Operadores Aritmeticos
Operadores Booleanos
Operadores Relacionais
Operadores para string

Operadores Aritméticos

Operadores Aritméticos
Operadores Aritméticos Unários
Operador Operação Tipos Compatíveis Resultado Operação Exemplo
+(unário) sinal positivo integer, double integer, double +4
- (unário) sinal negativo integer, double integer,double -4

Operadores Aritméticos Binários

Operador Operação Tipos Compatíveis Resultado Exemplo


Operação
+ adição integer, double integer, double X+Y
- subtração integer, double integer, double X-Y
* multiplicação integer, double integer, double X*Y
/ divisão real integer, double double X/5
div divisão inteira integer integer X div 4
mod resto da divisão integer intger X mod 5

Veja também:

Operadores Booleanos | Operadores para Strings | Operadores Relacionais

Operadores Booleanos Operadores Booleanos

Estas operações são baseadas na regra padrão da lógica booleana.

Página 419 de 478


Operador Operação Tipos Compatíveis Resultado Operação Exemplo
not negação Bololean Bololean not(true)
and conjunção Bololean Bololean (X<5)and(Y<>X)
or disjunção Bololean Bololean (X=6)or(X>=9)

Veja também:

Operadores Aritiméticos | Operadores para Strings | Operadores Relacionais

Operadores Relacionais Operadores Relacionais

Operadores Relacionais são utilizados para comparar dois operandos.

Operador Operação Tipos Compatíveis Resultado Exemplo


Operação
= igualdade integer,double,string boolean X=5
<> diferente integer,double,string boolean X<> Y
< menor que integer,double,string boolean X< 20
> maior que integer,double,string boolean X> 3
<= menor que integer,double,string boolean X< = 12
ou igual a
>= maior que integer,double,string boolean X> = Y
ou igual a

Veja também:

Operadores Aritiméticos | Operadores Booleanos | Operadores para Strings

Operadores para Strings Operadores para Strings

Operadores Strings, todos os operadores relacionais se aplicam a strings, >,> =, <, <=, =,
<>, veja operadores relacionais.

Operador Operação Tipos Resultado Exemplo


Compatíveis Operação
+ concatenação Strings String 'teste ' + 'concatenação'

Veja também:

Operadores Aritiméticos | Operadores Booleanos | Operadores Relacionais

Vetores
Vetores

Para declarar um vetor o procedimento é muito parecido ao de declarar uma variável, a única
diferença é que após o nome da variável você deve colocar entre colchetes o tamanho de cada
dimensão deste vetor. Por exemplo:
vetor[20] : integer;// vetor de uma dimensão que armazena o tipo inteiro
matriz[3,3] : double; // vetor de duas dimensões que armazena o tipo double, contém nove
posições.
O primeiro índice do vetor é 1, ou seja valores do tipo vetor[-4], vetor[0] são valores
inválidos, neste caso o sistema, por padrão, irá considerar o índice como sendo 1. O sistema
por padrão considera os valores menores que 1 para o índice como sendo o índice 1, e os
valores acima do valor declarado para o vetor como sendo o último valor válido para o índice,
então se temos um vetor de 10 posições e apontamos para um índice 15, o sistema irá
apontar para o último índice válido, ou seja o índice 10.
Se você estiver declarando uma vetor que será um parâmetro o procedimento é um pouco
diferente, não se deve passar as dimensões deste vetor e a palavra chave array of é
necessária. Por exemplo:
procedure proc1(vetor array of integer);
Neste exemplo o procedimento proc1 recebe um vetor do tipo inteiro como parâmetro.
Exemplo:
INTERFACE
// declaração de um vetor como parâmetro
function media( vet: array of double) : double;
IMPLEMENTATION
function media(vet: array of double) : double;
var
i : integer;
m : double;
begin
for i := 1 to n do begin
m := m + vet[i];
end;
Result := m / High(vet);
end;
MAIN
var
vetor[10] : double;
i : integer;
avg : double;
BEGIN
for i:=1 to 10 do begin
vetor[i] := i;
end;
//passagem de um vetor como parâmetro
avg := media(vetor);
messageDlg('A média dos elementos do vetor é :'+ FloatToStr(avg),
mtInformation,[mbOk]);
END.

Tarefas Agendadas Tarefas Agendadas


Esta é a listagem das tarefas agendadas pelo gerenciador de tarefas. Na parte superior são
exibidos os títulos das tarefas agendadas, cujas ações podem ser identificadas pelos seus
ícones:

Ícone Descrição Ação Ação


Secundária
Exibir Lembrete Abre uma tela contendo um lembrete
digitado
Emitir Relatório Executa o relatório relacionado

Página 421 de 478


Abrir tela de Solicitação de Executa o SQL de listagem de S.S. Abre o cadastro de
Serviços S.S. com a
solicitação corrente
Executar uma Listagem Executa SQL de listagem simples Executa o relatório
Simples relativo à listagem.

Abrir tela de Ordem de Executa SQL de listagem de O.S. Abre o cadastro de


Serviço O.S. com a O.S.
corrente

Para executar as tarefas, dê um duplo clique sobre o nome dela. As tarefas que possuem
uma ação secundária serão executadas após o duplo clique sobre o registro selecionado.
Para que as tarefa de "Abrir tela de O.S." , o primeiro campo da listagem deve ser o código
da O.S. (tag). Quando a tarefa secundária for executada, a tela de cadastro será
automaticamente aberta e será localizado o registro correspondente ao código corrente.
Igualmente, para a tarefa "Abrir tela de S.S." funcionar, o primeiro campo deve ser o código
da solicitação (codsol). Todos serão exibidos somente para a empresa corrente, mesmo que o
SQL não faça esta distinção.
Marque a opção "exibir ao iniciar" para que a listagem de tarefas seja exibida toda vez que o
sistema for iniciado.

Gerenciador de Tarefas Gerenciador de Tarefas


Funcionalidade para agendar tarefas a serem executadas ao iniciar o programa.
Os dados cadastrados são diferenciados por usuário. Um usuário pode ter ou não acesso à
tarefas de outros usuários, dependendo das configurações de perfil deste usuário.
A função desta rotina é disponibilizar listagens - configuráveis por usuário - principalmente
para localização facilitada de O.S. e solicitação de serviços.

Existem 5 tipos de ação para as listagens:


 Abrir Tela da O.S.
 Abrir Tela da Solicitação
 Executar Relatório
 Exibir Listagem Simples
 Mostrar Lembrete

Consulte Tarefas Agendadas para maiores detalhes de como executar as tarefas agendadas.

Campos Auxiliares Campos Auxiliares


Manipulação de campos auxiliares e/ou criação de novas tabelas. Campos podem ser criados e
posteriormente removidos de acordo com as necessidades. OBS: A remoção de campo criados
pelo usuário somente não será possível no banco de dados Oracle 7. Um campo já existente
no sistema nunca poderá ser alterado ou removido. Desde que não sejam obrigatórios, campos
do sistema poderão ser modificados ou ocultados pela operação F10 (assistente de edição de
tela).

Criando Campos Auxiliares

Selecione uma tela na árvore da guia Telas para exibir os campos da tabela referente a esta
tela.
Nesta guia, os itens com ícone representam o caminho até chegar a uma área
(componente) de uma tela (grid, cabeçalho, etc.) onde será possível incluir campos. Para
exibir campos existentes, deve-se selecionar um item com ícone , que indica um
componente ligado diretamente a uma tabela do banco de dados. No entanto, somente
selecionando um item deste tipo é que os campos serão exibidos.
Na guia Tabelas, dentro de cada item correspondente a uma tabela (ícone ), podem existir
um ou mais componentes da tela (ícone ) que referenciam a tabela selecionada. Isto
permite que um campo criado em uma tabela fique visível ou invisível em qualquer desses
componentes independentemente.
Já na guia Campos, um campo com ícone é um campo de sistema. Estes campos nunca
poderão ser alterados ou removidos.
Um campo com ícone indica um campo de usuário.
Um campo com ícone indica que um campo de usuário está invisível.
Clicando com o botão direito do mouse na guia Campos, os comandos Incluir Campo e
Remover Campo permitem que campos sejam incluídos ou removidos, respectivamente. Os
campos de sistema não podem ser removidos. O comando Propriedades exibe todas as
propriedades do campo de usuário. O comando Tornar Visível/Invisível, permite que o campo
fique visível ou invisível somente no componente selecionado. E finalmente, o comando Alterar
Lista permite que seja alterada uma lista de dados referente a um campo do tipo "Lista", caso
este tenha sido criado anteriormente.
Todo novo campo será visível somente para o usuário que o criou - para todas as empresas
que este usuário tem acesso - ou para usuários com a permissão Processos/Campos
Auxiliares/Usuário Master - Tela de Cadastro de Usuários. Para permitir que outros usuários
acessem este campo, clique com o botão direito do mouse sobre o campo e escolha a opção
Permitir Acesso.
Para criar um campo calculado, crie um novo campo normalmente, clique com o botão direito
do mouse e escolha a opção Definir Cálculo.
Criação de campos do tipo Memo de usuários do Firebird/Interbase. Os campos criados
anteriormente eram do tipo Erro! Fonte de referência não encontrada. Varchar(Erro! Fonte
de referência não encontrada.2000), o que não permitia a gravação de textos formatados. Os
campos criados atualmente são do tipo Blob, permitindo todas as informações serem salvas.

Criando Novos Relacionamentos:


Para criar relacionamentos entre tabelas, proceda da mesma forma do item anterior. Ao clicar
com o botão do mouse direito, selecione a opção relacionamentos.

Criando Novas Tabelas


Clique sobre o ícone na barra de ferramentas desta tela ou clique com o botão direito do
mouse sobre o item "Personalizado" na árvore de telas, na guia "Telas".
Ao criar uma nova tabela, a opção "Telas" será criada abaixo do menu "Personalizado" na tela
principal do sistema contendo um submenu referente à nova tabela criada. Consulte o tópico
novas tabelas para maiores detalhes sobre esta operação.

Novo Campo Novo Campo


Nesta subtela são digitadas todas as informações necessárias para a criação de campos
auxiliares. O nome do campo pode conter letras, algarismos e underscore
( _ ), mas nunca começar por algarismo.

O título reduzido é uma rápida descrição do campo que está sendo inserido e suporta até 30
caracteres. Ex.:" Código"," Descrição", etc.

A descrição do título é uma descrição mais extensa (80 caracteres) e aparece sempre que o
mouse é posicionado em cima do título reduzido.

Os tipos válidos são Número, Texto, Data/Hora, Memo, Lista, Imagem Bitmap e Hora. Campos
do tipo Hora serão armazenados no banco de dados como um campo de datetime.

Página 423 de 478


Entretanto, a parte date será desprezada. Para visualização de consultas nestes campos
(relatórios, kpi´s) utilize as funções de formatação dos bancos de dados para ocultar a parte
date.

O tamanho, valor padrão e expressão de check serão necessários de acordo com o tipo
escolhido.
Para fazer com que o campo criado seja obrigatório, marque a opção obrigatório = sim no
assistente de edição de tela (F10)

Campos Calculados
Campos calculados não existem fisicamente no banco de dados. Para criar um campo
calculado, marque a opção calculado e informe a expressão de cálculo. Uma expressão de
cálculo é um comando SQL designado para ser executado no evento onCalcFields da tabela.
Neste SQL, é possível informar os parâmetros correspondentes à chave primária da aplicação
corrente e os campos da empresa, filial e usuário logados no momento. Para informar um
parâmetro, informe o nome dele precedido de dois pontos. Exemplo de um campo calculado
para mostrar o total de O.S. de uma aplicação:
select count(*)
from ordserv
where codemp=:codemp
and codapl=:codapl
Observer que os parâmetros :codemp e :codapl serão substituídos pela empresa corrente e
pelo código da aplicação corrente da tela de cadastramento de aplicações. Os parâmetros
correspondentes ao código da filial corrente e usuário corrente são, respectivamente :codfil e
:nome.

Novo Relacionamento Novo Relacionamento


Esta tela permite criar campos em uma tabela, relacionados com campos de outras tabelas. O
campo criado utilizará do método padrão de pesquisa do Engeman®, ou seja, a tela de
pesquisa será mostrada clicando na lupa do campo ou pressionando F2, caso o usuário saiba o
código desejado o mesmo poderá digitá-lo no campo, assim como é feito em campos de
pesquisas padrões do sistema.

O campo Tabela é uma lista de todas as tabelas do sistema.


Em Título do Campo Relacionado, digite um título para o campo que está sendo criado.
O campo Ajuda Rápida é automaticamente preenchido com o mesmo valor do campo
anterior, mas pode ser alterado. O valor digitado será mostrado quando o mouse for
posicionado no Título do Campo Relacionado.
Em Campos para o resultado, os dois quadros servem para escolher os campos da tabela
selecionada que irão aparecer no novo campo relacionado. Para seguir o padrão do
Engeman®, as tabelas que tiverem os campos TAG e DESCRICAO já selecionam
automaticamente estes campos para o resultado. Só poderão ser escolhidos um ou dois
campos para o resultado.

Preenchendo todos estes dados, basta clicar no botão Criar e o relacionamento será criado na
tabela selecionada. Na próxima vez que a tela for aberta, um campo com lupa será mostrado
no final da tela e pode sofrer as alterações do Assistente de Edição de Tela normalmente.

Observações:
O método para criação de campos relacionados é semelhante ao de campos personalizados no
que se diz respeito ao local da tela onde esse campo aparecerá. Portanto, se o campo é criado
no cabeçalho de uma tela, ele ficará invisível no Grid da mesma, ou vice-versa. Os campos
criados serão acessados e ficarão visíveis apenas para o usuário e empresa correntes. (ou caso
o usuário possua a preferência processos/campos auxiliares/usuário master).
O Grid desta tela mostra todos os relacionamentos personalizados da tela selecionada e indica
se eles estão ou não visíveis. Para tornar um campo relacionado visível/invisível, basta clicar
no botão . O botão aciona a tela para Permitir Acesso a Outros Usuários. Por fim,
o botão exclui fisicamente o campo da tabela.
Para acessar as telas de criação de novos relacionamentos ou criação de novos campos é
necessário que o usuário que esteja fazendo estas alterações tenha acesso exclusivo ao banco
de dados. Uma mensagem de advertência será exibida no momento de entrada desta tela,
caso outros usuários estejam logados no sistema.
Campos relacionados à tabelas de usuário, terão sua funcionalidade de digitação de código
limitada ao conhecimento do código completo, pois as tabelas de usuário não possuem
definições de máscaras e se os códigos forem numéricos não serão completados com zeros à
esquerda.

Nova Tabela Nova Tabela


Nesta subtela são digitadas todas as informações necessárias para a criação de uma nova
tabela e uma nova tela do sistema. O nome da tabela pode conter letras, algarismos e
underscore ( _ ), mas nunca começar por algarismo.
O título da tela deverá conter no máximo 50 caracteres. Este título também aparecerá no
menu "Personalizado".
Em "Informações da chave primária", toda a informação digitada será utilizada para criar
apenas os campos que irão compor a chave primária. Entretanto, para criar estes campos,
deve-se obedecer às mesmas regras de criação de campos personalizados.
Para acrescentar campos a uma tabela já criada, deve-se proceder da forma convencional de
como criar um Novo Campo.
Para alterar a imagem (ícone) associada, clique no botão" alterar ícone". Escolha uma imagem
e aplique-a. A imagem deve possuir tamanho máximo de 16x16 pixels. Se ela for maior que
estas dimensões, ela será automaticamente ajustada. Os seguintes tipos de imagem são
aceitos: .ico, .jpg, .jpeg, .bmp, .gif. No caso de imagens .ico o sistema não conseguirá ajustar
a imagem para as dimensões máximas, mas cortará a área visível dela para estas dimensões.
A imagem associada será exibida no menu personalizado e na barra de ferramentas do
sistema, se este item for incluído nela.

Telas Personalizadas Tela Personalizada


Esta tela foi criada pelo próprio usuário. Para criar novas tabelas consulte o tópico Campos
Auxiliares.

Definir Cálculo Definir Cálculo

Página 425 de 478


Digite nesta tela a expressão cujo resultado será mostrado no campo calculado auxiliar. Um
campo calculado auxiliar é um campo qualquer, desde que tenha sido criado pelo usuário. No
sistema, este campo vem com o título em vermelho negrito.
A expressão deve respeitar as regras de sintaxe do SQL do banco de dados, podendo até
mesmo fazer cálculos com campos de outras tabelas. Os campos disponíveis da tabela
corrente, algumas funções e alguns operadores são exibidos nesta mesma tela.
OBS.: Ao criar a expressão, o sistema irá testá-la imediatamente, mas o cálculo será efetuado
sempre no momento da gravação do registro.
Exemplo:
Crie um campo do tipo Numero na tela de Funcionários e defina um cálculo com a seguinte
expressão:
(select count(codord) from ordserv
where codfun = func.codfun)
Cada vez que o registro de um funcionário for alterado e gravado, este campo conterá o
número total de O.S. que este funcionário solicitou até o presente momento.

Importante: para expressões baseadas em instruções SQL, toda a expressão deve estar
entre parênteses, como no exemplo acima.

Permitir Acesso Permissão de Acesso a Campos do Usuário


Sempre que um campo é criado por um usuário, somente ele terá acesso ao novo campo (ou
usuários com a permissão processos/campos auxiliares/usuário master - tela de cadastro de
usuários). Para que outros usuários tenham acesso a este campo é necessário executar esta
operação.

1) Selecione os usuários para os quais o acesso a este campo será permitido ou bloqueado.
Para selecionar todos os usuários, pressione o botão" todos".
2) Escolha o tipo de permissão: Usuário Restrito ou Master. Usuários restritos podem alterar
as características do campo somente para eles próprios, como colocar visível ou não o
campo. Usuários Master podem modificar e até mesmo excluir o campo e aplicar
permissões para outros usuários.
3) Para permitir o acesso a todos os outros campos de usuário da tabela atual, selecione a
opção" permitir todos os campos"
4) Clique em" Permitir" para liberar o acesso ao campo para os usuários selecionados. Os
campos já serão liberados com status" visível".
5) Clique em" Bloquear" para restringir o acesso ao campo pelos usuários selecionados.

Grupos de Visibilidade Grupos de Visibilidade


Cadastre nesta tela os grupos que controlarão a visibilidade dos campos através do registro
selecionado a cada momento. Um mesmo campo pode pertencer a vários grupos.

OBS.:
1) O layout personalizado é exclusivo de cada grupo, ou seja, em cada grupo um mesmo
campo pode aparecer em posições, tamanhos ou cores diferentes.
2) O desempenho da tela onde foram criados os grupos pode ser comprometido de acordo com
o número de campos ou grupos criados.

Administração Adminstração

Otmizar Chaves
Analisar Sincronia
Eliminar Dados Históricos
Administrar Usuários

Página 427 de 478


Analisar Sincronia do Planejamento
Analisar Sincronia

Periódico
Esta rotina tem como objetivo analisar e mostrar todas as aplicações e respectivos setores
executantes que apresentam problemas em seu planejamento periódico.
Existem dois tipos de problemas analisados:
 Periodicidade: Verifica se todas as periodicidades são múltiplas entre si. Caso contrário, as
datas programadas não serão coincidentes em certos períodos.
 Data de Start-up: Verifica se as datas de start-up estão arranjadas de modo coincidente.
Caso contrário, o planejamento, mesmo possuindo periodicidades múltiplas, sempre
resultará em datas programadas não coincidentes.

Opções desta tela:


 Analisar: executa a verificação dos problemas supra citados.
 Salvar: permite gravar o resultado da análise em arquivo TXT.
 Imprimir: imprime o resultado.
 Ajuda: apresenta esta tela de ajuda.
 Sair: abandona a tela.

Funcionamento
Ao ser acionada a análise, o programa fará uma busca pelos problemas em todos os registros
do planejamento periódico. O resultado da análise é dividido de acordo com a categoria do
problema, informando o código da aplicação e o código do setor executante onde foi detectada
a falha. Ao final da análise, são informados o número de registros pesquisados, o número de
erros encontrados e o percentual de problemas em seu planejamento.

Para corrigir um planejamento problemático, acione a tela de calendário de periódicas e


verifique a distribuição das datas encontradas. Caso seja necessário alterar a periodicidade do
planejamento, faça-o através das tela de planejamento periódico, acessada a partir da tela de
cadastro da aplicação.

Otimizar Chaves Otimizar Chaves


Esta rotina tem a função de preparar o Banco de Dados para gerar chaves primárias com
maior eficiência. Esta operação deverá ser executada toda vez que registros forem incluídos de
forma externa ao sistema (utilizando ferramentas do próprio banco de dados, como o IMP.EXE
que acompanha o Oracle).
Antes de executá-la, certifique-se que ninguém esteja utilizando o Engeman® em outra
estação. Feche todas as telas da estação onde será executada antes de prosseguir.
Oracle: recria todas as sequences de geração de chave primária. Ao final desta operação será
questionado se deseja atualizar as estatísticas do banco de dados para o usuário ENGEMAN. A
operação de atualização de estatísticas torna o uso do banco de dados mais eficiente e rápida.
É semelhante ao uso do Defrag para otimização de espaçamento de arquivos no Windows. Esta
operação poderá ser mais rápida ou lenta, dependendo do tamanho do banco de dados e da
conexão.
SQL Server: como as chaves primárias são geradas pela própria tabela (campos identity),
esta rotina somente recria a tabela de geração de chaves únicas para o campo TAG da ordem
de serviço.

Eliminar Dados Históricos Eliminar Dados Históricos


Esta operação realiza uma limpeza no banco de dados do Engeman®, removendo todas as
movimentações de um período, por categoria. Muita atenção ao executar esta tarefa pois não
há forma de desfazer esta exclusão. Os registros atingidos serão aqueles da empresa corrente,
com exceção do log de usuários.
Informe o período de remoção de dados por categoria. Se quiser utilizar o mesmo período para
todas as categorias, deixe o botão pressionado. Marque qual a categoria a apagar. Para
confirmar a operação, clique sobre o ícone Excluir. Para sair da tela sem apagar nenhum
registro, clique sobre o ícone Sair.
Durante o processo de exclusão, será indicada uma barra, por categoria, mostrando o atual
estágio da exclusão em percentual de registros excluídos. Para abortar a operação em
qualquer momento, clique sobre o ícone Parar.
Categorias:
 Ordem de Serviço: serão excluídas todas as ordens de serviço fechadas ou canceladas,
incluindo os respectivos registros de funcionário e registros de serviços. Serão
consideradas as O.S.'s de todas as filiais da empresa corrente, caso existam mais de uma
filial para esta empresa. Se o campo "Tipo de Manutenção" for preenchido, somente as
O.S.'s do tipo selecionado serão excluídas.
 Coleta Acumulativas: todas as coletas de dados para os pontos de controle acumulativos
 Coleta Eventos: todas os lançamentos de eventos das aplicações
 Coleta Tendência: todas as coletas de dados para os pontos de controle tendência de
variáveis
 Movimentação de Funcionários: todos lançamentos de movimentação dos funcionários.
 Requisição de Materiais: todas as requisições, incluindo os itens da requisição.
 Entrada de Materiais: todos os lançamentos de entrada de materiais, incluindo os intens do
lançamento.
 Log de usuários: todos os log registrados no período.
 Somente O.S's do Tipo de Manutenção: permite escolher quais O.S.'s excluir a partir do
Tipo de Manutenção cadastradas nestas.

Administrar Usuários Administrar Usuários


Com esta tela, o administrador do sistema poderá:
 ver quais usuários estão on-line;
 ver em qual tela o usuário está, com a opção de visualizar esta tela;
 mandar uma mensagem para o usuário;
 desconectar um usuário.

Observações:

Para que esta tela possa ser utilizada, a opção de Intervalo de captura localizada na guia
"Padrões" da tela "Configurações Gerais" não pode estar desabilitada.

Em bases de dados que utilizem o banco MSSQL-Server, intervalos de captura muito pequenos
aliadas à maiores quantidades de usuários simultâneos utilizando o sistema podem vir a
provocar mensagens aleatórias de erros chamados de "DeadLock". Se estes erros vierem à
ocorrer, sugere-se aumentar o valor do intervalo de captura, desabilitar esta opção (caso não
sejam utilizados os recursos de Administração de Usuários e o Envio de Mensagens
Instantâneas) ou inserir um novo parâmetro de configuração no arquivo de inicialização do
sistema (arquivo.ini), incluindo a linha TRANSISOLATION=TIDIRTYREAD para resolver este
problema.

Inserir Corretivas Inserir Corretivas


Possibilita inserir O.S. corretivas informando uma numeração inicial e final ou informando uma
quantidade e uma numeração inicial, se a Numeração Automática estiver selecionada.
Informando apenas uma quantidade, a numeração da O.S. seguirá a máscara informada nas
configurações da O.S. (Numeração Automática). Esta operação é importante para disponibilizar
no cadastro a numeração das O.S. para que os executantes possam somente informar o
serviço realizado, sem ter que cadastrar a O.S. antes. Este processo também possibilita um
melhor controle do retorno do bloco das O.S. que vão para o campo.
Operações desta tela

Página 429 de 478


Como alguns campos da O.S. são obrigatórios, será necessário informá-los antes da geração
das O.S. Estes campos são:
 Numeração inicial e final das O.S.
 Data programada padrão das O.S.
 Centro de custo
 Setor executante
 Tipo de manutenção

Pode-se informar também a filial das O.S., mesmo que isto não seja obrigatório.
Clique no botão executar ou pressione F5 para gerar as O.S. com os dados informados. Antes
da geração uma verificação será realizada para detectar se há alguma O.S. com a numeração
pertencente ao intervalo mencionado. Se existir, uma mensagem de advertência será emitida,
mas a operação será possível de ser executada. Também será verificado se o intervalo
mencionado não está interferindo no intervalo configurado para O.S. de numeração
automática.
Durante a execução, a coluna "O.S. incluídas" será preenchida com a numeração das O.S. que
foram incluídas com sucesso no banco de dados. Se por ventura alguma O.S. não puder ser
inserida, sua numeração será apresentada na coluna" O.S. não incluídas". Isto pode ocorrer
principalmente quando o número desta O.S. já existir no cadastro.

Atenção! Esta operação é irreversível. Uma vez executada, não será possível remover as
O.S. pelos controles do Engeman®, a não ser que se execute uma instrução SQL necessária
para isto - DELETE - diretamente sobre o banco de dados.

Calendários de Periódicas Calendários de Periódicas


Fornece uma maneira fácil e prática de programar o Start-Up de planejamento periódico. Uma
vez relacionado os planos de manutenção com programação periódica, com suas respectivas
aplicações, deve-se determinar a data a partir da qual será realizado o start-up do sistema.
Esta data poderá ser determinada a partir da última manutenção ou a partir da próxima
manutenção.
Cada relação plano x aplicação poderá ser executada em datas diferenciadas de acordo com o
setor executante, desta forma, o start-up deverá ser realizado para cada aplicação e para cada
setor executante. Somente as relações totalmente ativas (Plano ativo, Aplicação ativa, Plano X
Setor ativo e Plano X Aplicação ativos) serão exibidos nesta tela.
Após realizado este procedimento, o sistema fará a atualização da próxima manutenção
automaticamente.
Operações da tela:
 Informe um dos filtros Plano, Aplicação, Setor Executante, Filial, Cliente, Centro de Custo,
Localização ou Modelo, estes cinco últimos estão diretamente ligados a Aplicação cadastrada
em cada Plano Periódico. A informação de todos os filtros é facultativa, assim como o
período, que quando preenchido retornará apenas os planos com a data da Última
Manutenção entre o período informado. Se não for informado o setor, todos os planos
relacionados a todos os setores executantes serão listados, melhorando a visualização e
sincronia entre os planos de vários setores para a mesma aplicação. Os códigos das
aplicações relacionados serão apresentados na primeira coluna do calendário, os códigos do
Cliente vinculados as Aplicações serão apresentados na segunda coluna, o código dos planos
na terceira e os códigos da Localização vinculados as Aplicações serão apresentados na
quarta. Para obter a descrição das aplicações, dos clientes, dos planos e das Localizações,
passe o mouse sobre o código. Além da descrição dos planos , serão listados todos os
setores que fazem parte daquele plano em forma de uma ajuda rápida - "hint".
 Quando o usuário passar o mouse sobre a linha x e coluna y, se este ítem for diferente de
vazio, será mostrado um hint com a informação de Execução(Horas) previsto do plano na
linha x e coluna 0 e o Total de Execução(Horas) dos planos com ítens contidos na coluna y.
 Abrir: apresenta a tela de calendário, permitindo acesso ao cadastramento.
 Salvar/cancelar: utilize estas funções para salvar ou cancelar as operações realizadas.
 Última/Próxima: selecione uma destas funções para realizar o start-up. Quando clicar na tela
do calendário, o ponteiro assumirá a seleção e apresentará as manutenções anteriores e
posteriores, calculadas a partir da periodicidade.
 + - utilize estes sinais para adiantar ou atrasar dias no calendário.
 Data: permite navegar no calendário a partir de uma data selecionada. Possibilita também,
realizar rolagem, utilizando setas para cima e para baixo, relacionadas com as entidades
dia-mês-ano.
 Busca rápida data última/próxima manutenção: clique nas células referente a coluna U.Start
(último start). O calendário realizará a busca rápida referente ao plano e botão selecionado
de última/próxima.

A data das Manutenções Anteriores , Posteriores , assim como a Última e a Próxima


Manutenção são facilmente visualizadas no Grid. Caso a data da Última Manutenção se
difere da Data da última O.S. fechada do plano, a data da O.S. ficará em evidência, como ;

Calendário Visual
O Calendário de periódicas visual é aplicado a um plano de cada vez. Para usá-lo basta
escolher uma aplicação ou setor executante e clicar em . Serão exibidos todos os
planos relacionados ao filtro pré definido. O calendário visual neste primeiro momento não será
exibido. Para que seja visualizado vá até o botão configurações. Ele possui as seguintes
opções:
 Visualizar
Esta opção lhe permitirá escolher quantos meses deverão ser exibidos. Se optar por
nenhum, então o calendário será ocultado.
 Limite de Preenchimento
Nesta opção poderá ser definido o número de dias em que o calendário deverá realizar a
marcação das datas de acordo coma periodicidade do plano selecionado. O número de dias
selecionados permite a marcação na mesma quantidade de dias tanto para o futuro quanto
para o passado. Ex. Se a opção for de 120 dias, o calendário exibirá todas as datas que
coincidirem com a periodicidade do plano até 120 dias antecedentes à data marcada em
marrom. O mesmo número de dias será marcado nas mesmas condições para o futuro a partir
da mesma data marcada em marrom.

As demais exibições serão conforme a seleção de meses que o usuário escolher. Para carregar
o calendário, que permitirá uma visualização mais simplificada, basta clicar na data
mencionada logo a frente do plano ou em outra data qualquer do grid existente. Para navegar
no calendário basta utilizar ou . Também é possível selecionar o ano clicando sobre
o ano visualizado no calendário ou o próprio mês. O mês de início para o calendário pode ser
alterado se a data selecionada for aquela informada logo a frente do plano que está na grade
de datas e planos. Para visualizar o calendário antes de imprimi-lo basta clicar em
quando este botão estiver habilitado.

Caso o Plano de Manutenção seja executado em vários dias , basta clicar em


para que seja visualizado os dias que serão gastos para a conclusão do
plano.

Para visualizar os feriados cadastrados no sistema clique em , essas datas


ficarão destacadas tanto no Grid quanto no Calendário em preto.

Obs.: A utilização do calendário obedece a funcionalidade já empregada na grade de datas da


tela de Calendário de Periódicas.

CUIDADOS:

Página 431 de 478


 As reprogramações só poderão ser realizadas com completo conhecimento de causa. Uma
reprogramação sem consciência, poderá ocasionar erros no sequenciamento de outros
planos previamente acertados.
 O sistema cria log de acesso a esta tela para registrar os acessos realizados.

Nivelamento de Recursos Nivelamento de Recursos


Nivelar recursos significa adequar a disponibilidade destes a uma programação de serviços
inicialmente calculada pelo sistema, de acordo com parâmetros previamente estabelecidos nos
planos de manutenção.
Os recursos referem-se a:
 Contingente de mão-de-obra para execução dos serviços.
 Disponibilidade de utilização de insumos e peças de reposição necessários.
 Manter o custo dos serviços programados dentro do orçamento predeterminado.
Analisando do ponto de vista relacionado exclusivamente à qualidade de serviços, os recursos
deveriam ser apropriados para uma programação de serviços calculada. Porém, na prática
normalmente analisa-se pelo ponto de vista econômico. Desta forma, a programação
estabelecida é modificada para se encaixar nos recursos disponíveis.
Esta necessidade de nivelar recursos para satisfazer a programação de serviços, exige do
sistema ferramentas especiais que permitam visualizar as programações de forma simplificada,
alterar a data de execução das ordens de serviços previamente calculadas, cancelar serviços e
solicitar medidas complementares de adequação da programação.
Para executar o processo de nivelamento de recursos, deve-se ordenar as três entidades
envolvidas conforme apresentado a seguir:
1) Disponibilidade orçamentária.
2) Materiais.
3) Mão-de-obra.

Operações da Tela de Nivelamento de Recursos


Filtros
Informe o período (obrigatório) e demais filtros (opcionais) desta tela, assim como é realizado
na operação de geração de O.S.. Após inserir os filtros e aplicar a configuração através do
botão filtrar, todas as O.S. selecionadas de acordo com os filtros serão apresentas em um grid.
Pode-se inserir manualmente O.S. que fazem parte das O.S. filtradas. Pode-se excluir uma ou
todas as O.S. filtradas. Apenas as O.S. presentes no grid farão parte do processo de
nivelamento de recursos.
Após aplicar os filtros as ordens de serviço serão apresentadas em um grid. Pode-se inserir
outras O.S. ou excluir alguma O.S. retornada pelo filtro. Apenas as O.S. no grid farão parte do
Nivelamento de Recursos. Para inserir uma nova O.S. digite o TAG da O.S. no campo" Incluir
O.S.". Para localizar uma O.S. no grid digite o TAG da O.S. no campo" Localizar". Pode-se
excluir uma, várias ou todas as ordens de serviços apresentadas no grid.
Ambiente de trabalho: Permite que você informe um nome para o ambiente de trabalho
corrente e salve-o para recuperá-lo em uma nova operação. Todos os filtros informados no
nivelamento de recursos serão salvos.

Regras gerais
Arquivo de O.S.: O cálculo do nivelamento pode ser efetuado sobre o arquivo de ordens de
serviço real ou sobre o arquivo auxiliar. O arquivo auxiliar é gerado a partir da tela de geração
de O.S.
Ordenação e níveis calculados: Marque e ordene quais são os fatores analisados para o
nivelamento: Custo, Materiais, Recursos Humanos.
Ordenação e Prioridades de O.S. utilizadas: Marque e ordene quais são as prioridades em
que as ordens de serviços serão analisadas no dia.
Apenas acusar falhas: Mostra somente em qual nível e o motivo da falha no nivelamento.
Reprogramar as O.S. conforme recursos e regras de cada nível: Sempre que ocorrer
alguma falha no nivelamento a ordem de serviço será reprogramada para os dias seguintes ao
que ocorreu a falha.
Limite máximo que o sistema pode tentar reprogramar as O.S.: Determina até quantos
dias uma ordem de serviço pode ser reprogramada a partir da sua data de programação.
As O.S. não atendidas na data prevista: Determina como serão ordenadas, no dia
analisado, as ordens de serviços que foram reprogramadas.
Durante a reprogramação, ao encontrar duas ou mais O.S. da mesma programação
periódica: Determina o que fazer se uma ordem de serviço for reprogramada para o mesmo
dia de uma outra ordem de serviço com a mesma programação. Neste caso o sistema irá
cancelar a ordem de serviço mais antiga ou tentará nivelar as duas ordens.

Regras de Custo
Quando o orçamento estiver esgotado o sistema deverá: Determina o que deve ser feito
com a O.S. quando não existir recursos financeiros suficiente para sua execução. As seguintes
decisões podem ser tomadas:
 Manter O.S. aberta na data programada com pendência financeira.
 Cancelar O.S.
 Reprogramar a O.S. para a próxima data com orçamento disponível.
Calculo de Custos: Indique se o sistema deverá calcular os custos previstos, levando-se em
consideração o custo de serviços, materiais, recursos humanos e interferência. Ao menos uma
das opções deve ser marcada para que seja possível determinar o nivelamento.
Orçamento disponível no período: Informe qual é o orçamento do período informado. Ao
executar a operação, o sistema apresentará o saldo restante no campo ao lado.
Regras de Material
Quando ocorrer falta de material o sistema deverá: Determina o que deve ser feito com
a O.S. quando não existir material em estoque suficiente para sua execução. As seguintes
decisões podem ser tomadas:
 Manter a O.S. aberta na data programada com pendência de material.
 Cancelar O.S.
 Gerar solicitação de material - sem análise de fornecedor.
 Gerar solicitação de material - com análise de fornecedor.

Ordenação e regras para análise de fornecedores: Esta opção será habilitada quando o
usuário escolher a geração de solicitação de material com analise de fornecedor, determina
quais os fatores que devem ser levando em conta para escolher o fornecedor para a solicitação
de material.
Regras de Recursos Humanos
Quando ocorrer falha de RH o sistema deverá: Determina o que deve ser feito com a O.S.
quando não existir disponibilidade de funcionários para sua execução. As seguintes decisões
podem ser tomadas:
 Manter O.S. aberta na data programada com pendência de RH
 Cancelar a O.S.
 Reprogramar a O.S.

Considerar a hora preferencial como obrigatória: Se esta opção estiver selecionada,


serão escolhidos somente os funcionários que puderem iniciar o serviço na hora preferencial da
O.S., caso contrario, a primeira tentativa de nivelamento será a partir da hora preferencial e
se não for possível nivelar por ela será escolhido o funcionário disponível com o horário mais
próximo.
Percentual das horas disponíveis utilizadas no calculo do nivelamento: Indique qual é
o percentual de disponibilidade de horas sobre a escala de trabalho dos funcionários. Este
percentual deve ser informado para que sejam previstas as horas consumidas por O.S. não
planejadas. Exemplo: se há uma expectativa de 20% do RH para execução de manutenções
corretivas não planejadas, indique um valor de 80% de disponibilidade de previsão de RH.

Página 433 de 478


Horas Extras: Quando nenhum funcionário tiver tempo suficiente para executar uma ordem
de serviço, considerar horas extras de acordo com o tempo máximo de horas extras que o
funcionário pode cumprir.
Calculando o Nivelamento
Depois de preencher o filtro e todos os critérios para o nivelamento, clique em Calcular para
executar o nivelamento de recursos, nesse momento nenhuma ordem de serviço será alterada
e nenhuma solicitação de materiais será gerada. Será apresentado na árvore de nivelamento a
situação que as ordens de serviços terão após confirmar o nivelamento. Também será gerado
um histórico mostrando tudo que ocorreu com a ordem de serviço durante o nivelamento.
Na árvore de nivelamento, clicando com o botão direito do mouse no código da O.S. é possível
abrir a tela de O.S. e também filtrar o histórico do nivelamento para que apareça somente
dados referentes a ordem de serviço selecionada. Clicando com o botão direito numa
informação referente à uma Solicitação de Materiais encontrada, será possível abrir a tela de
Solicitação com o registro desejado já selecionado.
Se o nivelamento for aprovado, para confirmá-lo, clique em Aprovar/Reprogramar O.S.
Todas as alterações mostradas na árvore do nivelamento serão atualizadas nas ordens de
serviço. Também serão geradas todas as solicitações de materiais caso exista a necessidade.
Todos os históricos referentes à integração também serão gravados no banco de dados.

Observação: Quando uma ordem de serviço for nivelada e confirmada, ela não poderá
mais ser nivelada, mesmo que ela tenha sido nivelada somente por um recurso.

Integração com MS Project Integração com MS-Project


Esta tela realiza a integração do Engeman com o MS-Project (software de planejamento,
programação e acompanhamento de projetos) exportando como arquivo do MS-Project dados
referentes as ordens de serviços e seus respectivos registros de serviços.
Filtros
Período: Este é um campo de preenchimento obrigatório. Seleciona as ordens de serviço pela
sua data de programação.
Tipo de Duração: Define em qual unidade será mostrado o tempo no projeto: Horas ou Dias.
Este campo também é de preenchimento obrigatório.
Dica: Para uma melhor visualização das barras no gráfico de Gantt escolha o tipo de duração
igual a horas para projetos cujas ordens de serviços tenham tempos de execução menores que
um dia, e dias para os projetos com tempo maior que um dia.
Os demais campos do filtro devem ser preenchidos conforme a necessidade de seleção das
ordens de serviços para o projeto e não são de preenchimento obrigatório.
Criando um novo projeto
Para criar um novo projeto, escolha um período, o tipo de duração demais filtros se necessário
e depois clique no botão Novo projeto, na caixa de diálogo que irá aparecer escolha um
nome para o arquivo e o caminho onde ele será gravado e clique em OK. A extensão do
arquivo criado será mpp.
Os Dados importados serão:
 Ordem de serviço: Será exportada como uma tarefa, onde sua duração é a data de entrega
menos a data programada, a data de início é a data programada e os recursos são os
funcionários informados no registro de funcionários da OS. A aplicação, o plano de
manutenção e a descrição da ordem de serviço serão gravados como anotações.
 Registro de serviço: Será exportado como uma sub-tarefa da ordem de serviço que ele
pertence, onde a descrição do serviço é o nome da sub-tarefa. Se no registro de serviço for
utilizado algum material ele será lançado como recurso da sub-tarefa.
 A maior data menos a menor data lançadas no registro de funcionários para uma ordem de
serviço é o período utilizado para calcular a porcentagem concluída da tarefa. Caso este
tempo ultrapasse o tempo de duração da tarefa, este tempo será aumentado ficando igual
ao tempo de trabalho registrado no registro de serviço e a tarefa será dada como
encerrada.

Atualizando um projeto

Clique no botão Atualizar projeto e selecione na caixa de diálogo o arquivo do MS-Project


que irá ser atualizado. Não é necessário preencher os filtros para executar a atualização. Serão
alterados no projeto os seguintes dados:
 As ordens de serviços que forem canceladas no Engeman serão excluídas do projeto.
 Atualiza a porcentagem concluída de cada tarefa no projeto.
 Retira as sub-tarefas que corresponderem aos registros de serviços que tenham sido
excluídos das ordens de serviços.
Obs.: As alterações feitas na atualização do projeto são irreversíveis, caso seja preciso manter
a situação anterior a alteração faça um backup arquivo antes de atualizá-lo.
Botão Abrir o MS-Project
Executará o MS-Project abrindo o projeto que for escolhido.

Backup Backup
Esta tela realiza o backup de todo os sistema.
Todas as tabelas (inclusive as personalizadas pelo usuário) são exportadas e depois
compactadas em formato .ZIP
Informe o caminho completo do arquivo onde será realizado o backup. Podem ser informados
como destinos:
 Disquete
 Zip Drive
 Diretórios da Rede
 Diretórios Locais
 CD-R ou CD-RW
 Qualquer outro caminho válido para gravação

Opções para backup:


 Nível de compactação (0 a 9): Informe o nível de compactação desejado do backup. Nível 0
apenas copia os arquivos para o arquivo ZIP, sem compactação. Nível 9 oferece o melhor
nível de compactação.
 Fazer backup dos scripts do banco: os scripts de criação do banco serão copiados para o
arquivo de backup final.
 Fazer backup dos dados: os dados cadastrados serão copiados para o arquivo de backup
final.
 backup com estrutura fixa: somente as tabelas e campos padrões da versão atual do
Engeman® serão copiadas para o backup. Marque esta opção somente em último caso,
quando não for possível fazer a operação de backup usual.
 Seleção das tabelas para backup: por definição, todas as tabelas do sistema estarão
marcadas para o backup. Entretanto, em casos específicos, pode-se marcar somente
algumas tabelas para que a operação de backup seja mais rápida. As tabelas não marcadas
não entrarão para o conjunto de backup.
Para que a operação de backup possar ser realizada, ao menos uma das duas opções "backup
dos scripts" ou "backup dos dados" deve estar marcada.
Caso o drive destino fique cheio, será emitida uma mensagem para a troca de disco
automaticamente.
Clique no botão Backup para começar a operação. Para cancelar o processo, clique no botão
cancelar (o cancelamento às vezes não é imediato).

Página 435 de 478


SQL SQL
As instruções SQL possuem uma sintaxe própria, de acordo com o banco de dados que está
sendo utilizado. Consulte o Ítem "Documentação" Erro! A referência de hiperlink não é
válida. do Engeman® para obter maioers detalhes sobre as tabelas, estruturas, Views,
Procedures e funções personalizadas.
Para fazer relatórios sofisticados, com formatação de páginas e agrupamentos, veja o tópico
Relatórios.

A cada vez que um comando SQL é executado, ele é salvo numa posição de memória
temporária. Existem 10 posições onde podem ser armazenados comandos temporariamente.
Para voltar a um comando executado anteriormente, clique sobre os ícones ou . O número
da posição atual é indicado entre estes ícones.
Os comandos SQL podem ser tanto de consulta (SELECT) ou de atualização (DELETE, INSERT,
UPDATE, CREATE, DROP, ALTER). Entretanto, o tipo de operação pode ser limitado para cada
usuário, através da operação de limite de acesso.
 Para salvar todos os comandos SQL correntes, clique sobre o ícone "salvar ambiente".
 Para restaurar todos comandos SQL salvos ao clicar em "salvar ambiente", clique em
"Carregar ambiente".
 Para salvar apenas a instrução corrente, clique sobre o ícone "salvar"
 Para abrir um arquivo de instrução SQL, clique sobre o ícone "abrir"
 Para executar o SQL corrente, pressione F5, F9, CTRL+E ou clique sobre o ícone
"executar". Se houver um texto selecionado, somente ele será executado.
 Ao executar instruções de criação de tabelas, triggers, (DDL), desmarque a opção "checar
parâmetros". Com esta opção marcada, o sistema irá questionar valores para todos os
campos precedidos por dois pontos. Alguns parâmetros serão automaticamente
preenchidos:
 :codemp = código da empresa atual
 :codfil = código da filial atual
 :nome = nome do usuário atual

Texto simples (forma padrão): apresenta o resultado do SQL em forma de texto não
formatado, sendo possível imprimí-lo diretamente, pressionando-se o ícone" imprimir". A
característica mais interessante desta forma de visualização é a capacidade de visualizar
campos tipo memo ou long. O formatador de texto cuidará automaticamente para que a
visualização de campos desta forma seja coerente com o seu conteúdo (altura e largura). O
resultado do SQL será exibido em modo texto somente se este modo estiver selecionado
quando for pressionado o botão "Executar".
Grid: forma clássica de apresentação dos registros em um grid. Também possui a
característica de visualização de campos memo ou de imagem (text, long raw, image) através
de um campo suplementar indicado à direita do grid. Quando o cursor é posicionado sobre
campos deste tipo, seu conteúdo é visualizado neste campo.
Gráfico: opção para emitir o resultado das consultas em forma de gráficos. Lembramos que
esta rotina também é possível de ser executada utilizando-se o relatório com layout. Para fazer
com que o gráfico apresente a consulta, execute a consulta (F5) e pressione o botão "editar"
na barra de ferramentas de gráfico:
 Na guia Gráfico/Séries, clique no botão Adiciona para adicionar um dos modelos de gráfico
personalizados.
 Clique na guia Séries/data source e selecione a opção dataset no campo pop-up.
 Logo abaixo, selecione o dataset CONSULTA, que é o nome padrão utilizado quando
executa-se um SQL.
 Preencha os campos de sua consulta devidamente, como requerido em Labels, Barra ou Y,
dependendo do tipo de gráfico que você escolheu.
 Outras configurações poderão ser executadas, navegando-se nas diversas opções de
formatação disponibilizadas nesta ferramenta.
 Após editar todas as opções, clique no botão Fecha.
 Animar: selecione esta opção se você criou um gráfico de pizza para que ela fique girando,
criando um visual arrojado ao seu gráfico.

Palavras reservadas do SQL


O gerenciador SQL do Engeman® possui algumas palavras reservadas que auxiliam na
consulta do dicionário de dados do sistema:

Palavra Descrição Exemplo


Structure fornece a estrutura de uma tabela, com seus campos Structure aplic
tipos e informação se os campos são obrigatórios ou
não. Esta instrução também pode ser chamada pelo alias
Estrutura.
PrimaryKey fornece os campos formadores da chave primária da PrimaryKey
tabela referenciada. regserv
ForeignKey fornece a lista de referential constraints e todos os ForeignKey aplic
campos formadores, com as respectivas tabelas e
campos das chaves primárias das tabelas mãe.
Tables Fornece a lista de todas as tabelas que possuam o Tables codapl
campo informado, com o tipo do campo e se é
obrigatório.
WhereTables Realiza a ligação entre uma ou mais tabelas, WhereTables
baseando-se nas constraints de ligação entre as tabelas. aplic=cencus,
A união das tabelas será representada por uma instrução aplic=cliente
SQL, com junção na cláusula where.
JoinTables Mesmo resultado da instrução acima, porém com a união JoinTables
feita através de inner joins. aplic=cencus,
aplic=cliente
IsForeignKey fornece a lista de todas as tabelas que são IsForeingKey
dependentes Aplic
da tabela mãe.

Ordered ordena as tabelas passadas como referência, na ordem de Ordered aplic,


dependência delas, da menos dependente para a mais ordserv, regserv
dependente.

A lista de palavras reservadas pode ser obtida através do pressionamento das teclas
CTRL+ESPAÇO.

Palavras de atalho:

Para agilizar a digitação de algumas instruções mais usadas, foram inseridas algumas teclas de
atalho de auto-texto. Para usar este recurso, digite a letra ou palavra de atalho e logo em
seguida pressione CTRL+J.

Atalho Auto-Texto

J JoinTables ...=...
W WhereTables ...=...
F ForeignKey ...
O Ordered ...
P PrimaryKey ...
T Tables ...
S Structure ...
Select Select * from ...
Selectw Select * from ... where ...

Página 437 de 478


selecto Select * from ... order by ...
Insert insert into ... (...) values (...)
Delete delete from ...
Deletew delete from ... where ...
Update Update ... set ... where ...

Análise de Serviços Análise de Serviços


Esta tela é responsável pela análise dos registros de serviços informados na tela de Ordem de
Serviço. Praticamente, esta funcionalidade é um recurso direcionado à análise de falhas,
baseada em informações de Causas, Defeitos, Serviços e Materiais informados nas O.S.
Após informados os filtros desejados clique no botão Inciar Análise. Será, então, listada a
quantidade de serviços encontrados.
Para inicializar a análise, clique com o botão direito do mouse, aparecerão três opções:
 Analisar - Esta opção que será responsável pela análise. Ao selecioná-la aparecerão as
seguintes opções:
 Principais Aplicações (O.S.) - Serão informadas quantas e quais são as aplicações
cadastradas nas O.S.'s.
 Principais Aplicações (Check List) - Serão informadas quantas e quais são as
aplicações cadastradas no Registro de serviço.
 Principais Ocorrências - Serão informadas quantas e quais são as ocorrências
cadastradas no Registro de serviço.
 Principais Causas - Serão informadas quantas e quais são as causas cadastradas no
Registro de serviço.
 Principais Serviços - Serão informados quantos e quais são os serviços cadastrados
no Registro de serviço.
 Principais Materiais - Serão informados quantos e quais são os materiais
cadastrados no Registro de serviço.
 Ordem de Serviço - Ao selecionar está opção, serão listadas as Ordens de Serviços que
contém os Registros de Serviços encontrados.
 Refazer - Ao selecionar esta opção, toda a análise realizada (somente abaixo do item
selecionado) será apagada para que se inicie uma nova análise.

Para cada análise efetuada, é possível fazer uma outra análise sobre o resultado encontrado.
Clique com o botão direito do mouse em cima do resultado no qual se deseja realizar uma
nova análise e selecione a uma das opções disponíveis (conforme descrição acima).

Após feita análise de uma opção esta não estará mais disponível para o mesmo registro.

Visualizador de DER (Diagrama


Visualizador de DER

Entidade-Relacionamento)
Esta ferramenta tem como finalidade auxiliar os desenvolvedores de relatórios e
programadores do Engeman, sendo responsável pela visualização de um DER do banco de
dados .
Através da tela de visualização de DER, o usuário pode obter informações referentes ao
relacionamento das tabelas da base de dados.
Para acessar esta funcionalidade, clique no menu "Processos" e em seguida "Visualizador de
DER".
Na tela que será aberta, selecione a tabela de interesse conforme destaque vermelho, depois
clique no botão incluir (destaque azul) ou tecle Enter. Após este procedimento, será
apresentado um "box" com a estrutura da tabela selecionada (destaque verde). Os campos
que correspondem à chave primária da tabela serão acompanhados de uma chave amarela,
conforme imagem a seguir:
Feito isso, o usuário poderá incluir outras tabelas realizando o mesmo procedimento. Assim, o
Engeman irá realizar a montagem do diagrama de forma dinâmica, mostrando também o
nome do relacionamento entre as tabelas, bem como os nomes das chaves de relacionamento
(foreign keys). Veja imagem a seguir:

Para exportar o DER, basta clicar no botão e este será salvo como uma imagem.

OBS.: Esta é apenas uma tela informativa, ou seja, através desta tela não é possível nenhuma
modificação nos objetos do banco de dados.

Página 439 de 478


Exportação/Importação de Palm Top Importação/Exportação Palm Top
A Importação / Exportação Palm Top foi desenvolvida pela Engeman com intuito de converter
os dados referentes a uma Ordem de Serviço, Coleta Acumulativa, Coleta de Tendência, Coleta
de Eventos e Coleta de Viagens para um formato aceito pelo Coletor de Dados, que são os
arquivos .pdb.
Estaremos realizando duas operações básicas durante a utilização deste módulo:
 Exportação Engeman >Coletor (gerar os arquivos .pdb‟s)

 Importação Coletor >Engeman (ler os arquivos .pdb‟s)

Pré-Requisitos

Antes de efetuar a primeira exportação de dados será necessário instalar o aplicativo Palm
Desktop, que é disponibilizado ao adquirir um Palm Top. Este será responsável por sincronizar
os dados entre o Microcomputador e o Palm.

Também será necessário cadastrar o Palm Top no Microcomputador onde será realizado a
Importação e Exportação dos Dados. Para isso efetue uma operação de Hotsync.

A pós estas definições será necessário instalar o Engeman Palm® no Palm Top, clique no
botão Instalar Engeman Palm para realizar esta operação.

Exportação Engeman >Coletor

Para realizar uma exportação de dados para o coletor utiliza-se a guia Exportação:
Engeman->Coletor, através da mesma pode-se selecionar se a transferência dos arquivos
será realizada neste microcomputador ou não, checando ou não a opção HotSync será
realizado neste computador e também determinar o nome do Coletor para o qual será
realizada a exportação através do campo Palm Top.

Os campos Período, O.S., Aplicação, Grupo da Aplicação, Localização, Tipo da Aplicação,


Centro de Custo, Cliente, Filial, Plano, Setor Executante, Tipo de Manutenção serão utilizados
para filtrar quais O.S. serão exportadas para o Coletor.

Além destes campos, à direita dos mesmo existem vários check-box, estes determinam quais
tabelas auxiliares serão exportadas para o coletor de dados. Para definir o conteúdo das
tabelas auxiliares existem outros filtros:
 Filtros Extras – Aplicações: permite ao usuário selecionar quais aplicações estarão
disponíveis para serem utilizados na Ordem de Serviço. Todos registros desta tabela estão
relacionados a Filial informada na exportação e a Empresa corrente.
 Filtros Extras – Localização da Aplicação: permite ao usuário selecionar quais
localizações das aplicações estarão disponíveis para serem utilizados na Ordem de Serviço.
Todos registros desta tabela estão relacionados a Empresa corrente na hora da exportação.
 Filtros Extras – Causas: permite ao usuário selecionar quais causas estarão disponíveis
para serem utilizados no Registro de Serviço da Ordem de Serviço.
 Filtros Extras – Centro de Custo: permite ao usuário selecionar quais centros de custos
estarão disponíveis para serem utilizados na Ordem de Serviço.Todos registros desta tabela
estão relacionados a Empresa corrente na hora da exportação.
 Filtros Extras - Fornecedor: permite ao usuário selecionar quais fornecedores estarão
disponíveis para serem utilizados no Registro de Serviço da Ordem de Serviço.
 Filtros Extras – Funcionários: permite ao usuário selecionar quais funcionários estarão
disponíveis para serem utilizados na Ordem de Serviço, Registro de Funcionários ou Coleta
de Viagens. Todos registros desta tabela estão relacionados a Filial informada na exportação
e a Empresa corrente.
 Filtros Extras - Kit de Materiais: permite ao usuário selecionar quais kit de materais
estarão disponíveis para serem utilizados no Registro de Serviço da Ordem de Serviço ou
Coleta de Viagens. Todos registros desta tabela estão relacionados a Empresa corrente na
hora da exportação.
 Filtros Extras – Materiais: permite ao usuário selecionar quais materais estarão
disponíveis para serem utilizados no Registro de Serviço da Ordem de Serviço ou Coleta de
Viagens. Todos registros desta tabela estão relacionados a Empresa corrente na hora da
exportação.
 Filtros Extras – Motivo de Atraso: permite ao usuário selecionar quais motivos de atraso
estarão disponíveis para serem utilizados na Ordem de Serviço.
 Filtros Extras – Motivo de Cancelamento: permite ao usuário selecionar quais motivos de
cancelamento estarão disponíveis para serem utilizados na Ordem de Serviço.
 Filtros Extras – Ocorrências: permite ao usuário selecionar quais ocorrências estarão
disponíveis para serem utilizados no Registro de Serviço da Ordem de Serviço.
 Filtros Extras – Produtos: permite ao usuário selecionar quais produtos estarão
disponíveis para serem utilizados na Ordem de Serviço. Todos registros desta tabela estão
relacionados a Empresa corrente na hora da exportação.
 Filtros Extras – Serviços: permite ao usuário selecionar quais ocorrências estarão
disponíveis para serem utilizados no Registro de Serviço da Ordem de Serviço.
 Filtros Extras – Setor Executante: permite ao usuário selecionar quais os setores
executante estarão disponíveis para serem utilizados na Ordem de Serviço. Todos registros
desta tabela estão relacionados a Empresa corrente na hora da exportação.
 Filtros Extras – Tipos de Manutenção: permite ao usuário selecionar quais os tipos de
manutenção estarão disponíveis para serem utilizados na Ordem de Serviço. Todos registros
desta tabela estão relacionados a Empresa corrente na hora da exportação.
 Filtros Extras – Unidades: permite ao usuário selecionar quais ocorrências estarão
disponíveis para serem utilizados no Registro de Serviço da Ordem de Serviço.
 Filtros Extras – Aplicações Coleta Acumulativa: permite ao usuário selecionar quais
aplicações estarão disponíveis para serem utilizados na Coleta Acumulativa.
 Filtros Extras – Aplicações Coleta de Eventos: permite ao usuário selecionar quais
aplicações estarão disponíveis para serem utilizados na Coleta de Eventos.
 Filtros Extras – Aplicações Coleta de Tendência: permite ao usuário selecionar quais
aplicações estarão disponíveis para serem utilizados na Coleta de Tendência.
 Filtros Extras – Aplicações Coleta de Viagem: permite ao usuário selecionar quais
aplicações estarão disponíveis para serem utilizados na Coleta de Viagens.
 Filtros Extras – Almoxarifado: permite ao usuário selecionar quais almoxarifados estarão
disponíveis para serem utilizados no Registro de Serviço da Ordem de Serviço. Todos
registros desta tabela estão relacionados a Filial informada na exportação e a Empresa
corrente.
 Filtros Extras - Conta Contábil: permite ao usuário selecionar quais contas contabeis
estarão disponíveis para serem utilizados na Ordem de Serviço.Todos registros desta tabela
estão relacionados a Empresa corrente na hora da exportação.
Para realizar a exportação escolha quais tabelas deverão ser exportadas, sendo a primeira vez
que o Engeman Palm® será utilizado no coletor marque todos check-box. Estas tabelas são
necessárias para que possamos manipular os dados dentro do coletor.

Caso uma exportação completa tenha sido realizada em outra oportunidade, determine os
filtros para exportação das O.S.

Exemplo : Se quiser exportar somente as Ordens de Serviços que foram geradas para o Setor
Executante Manutenção Elétrica, utilizarei a opção de pesquisa deste campo para selecionar o
setor citado.

O Módulo Importação/Exportação Palm Top exporta para o Coletor somente Ordens de


Serviços que estejam abertas, para enviar O.S. Corretivas em branco para o Coletor as
mesmas deveram ser geradas através do recurso Inserir Corretivas que se encontra no
menu Processos.

No exemplo citado seriam exportadas todas as O.S.´s que estiverem abertas para o setor
Manutenção Elétrica, independente da Data Programada, caso queira determinar uma data,
basta utilizar o campo período para informar o intervalo correspondente. Cada coletor poderá
ter filtros diferentes para exportação.

Os filtros poderão ser salvos de acordo com cada coletor para que em uma próxima exportação

Página 441 de 478


os mesmos sejam carregados automaticamente, para isso clique no botão Salvar Filtros. Para
carregá-los manualmente clique no botão Carregar Filtros.

Após determinar o filtro clicar em Gerar para que a importação seja realizada. Confirmando a
geração o sistema irá infomar a quantidade de O.S. exportadas, dentre elas quantas são
corretivas em branco e solicitará uma nova confirmação.

Para que as O.S.‟s sejam transferidas para o Coletor basta executar um HotSync. Conecte o
Coletor ao Microcomputador e aperte a tecla correspondente para que a transferência dos
arquivos do Microcomputador seja realizada, os arquivos que estão na pasta Install do Coletor
serão transferidos para o mesmo.

Além destas configurações pode-se cancelar uma exportação antes que seja realizada uma
operação de HotSync, para isso clique no botão Cancelar Operação de Exportação.

Importação Coletor>Engeman®

Após trabalhar as Ordens de Serviço no Coletor realize uma operação de HotSync para que as
alterações realizadas sejam transferidas para o Microcomputador, estes arquivos serão salvos
na pasta Backup do Coletor correspondente.

Para converter os arquivos salvos no Microcomputador para um formato aceito pelo Banco de
Dados do Engeman® utiliza-se a guia Importação: Palm -> Engeman.

Selecione o Coletor que terá seus arquivos importados através do campo Palm Top, em
seguida marques quais importações deseja realizar Ordem de Serviço, Coleta Acumulativa,
Coleta de Tendências, Coleta de Eventos e/ou Coleta de Viagens.

Clique no botão Importar para concluir o processo. Durante a importação o sistema fará um
backup dos arquivos que foram importados, como no organograma abaixo que retrata todo o
processo de Exportação e Importação do Módulo Palm:

Exportação

Importação

Configurações do PDBEngeman

A opção de configurações será usada para setar alguns parâmetros que estarão disponíveis no
aplicativo Engeman Palm® do Coletor, antes de realizar estas configurações clique no botão
Editar
 Bloquear acesso a O.S. de outros setores executantes: esta opção não permite que um
usuário que tenha setor executante diferente da O.S. acesse a mesma. Para que está opção
funcione o usuário deverá estar associado a um funcionário no sistema Engeman®.
 Bloquear lançamento de serviços sem registrar funcionários: esta opção obriga o
usuário a registrar um funcionário antes de lançar um registro de serviço.
 Usuário deve digitar login e senha para acessar o sistema: login e senha deverão ter
até 9

dígitos. Para que está opção funcione o usuário deverá estar associado a um funcionário no

sistema Engeman®.

 Relacionar todos os funcionários com todos serviços na importação.

 Senha para sair do sistema: caso este campo esteja preenchido para o usuário sair do
Engeman Palm® no Coletor, o mesmo terá de digitar esta senha.

 Ordem de Serviço, Coleta Acumulativa, Coleta de Tendência, Coleta de Eventos,


Coleta de Viagens: estas opções determinam quais módulos estarão disponíveis no Coletor.

 Mostrar Botão Cadastro: mostra o botão Cadastro no módulo de Ordem de Serviço, onde
é possível visualizar o Serviço Solicitado e demais campos que contenham informações
cadastrais.

 Mostrar Botão Encerramento: mostra o botão Encerramento no módulo de Ordem de


Serviço, está opção disponibiliza o botão onde fazemos os lançamentos das paradas de
máquinas, etc

 Mostrar Botão Funcionários: mostra o botão Funcionários no módulo de Ordem de


Serviço, onde registramos os executantes dos serviços.

 Mostar Botão Serviços: mostra o botão Serviços no módulo de Ordem de Serviço,


está opção nos permite registrar os serviços que foram executados, materiais gastos, etc.

 Mostrar Botão Fechar O.S.: mostra o botão Fechar OS no módulo de Ordem de


Serviço.

 Mostrar Botão Cancelar O.S.: mostra o botão Cancelar OS no módulo de Ordem de


Serviço.
Qualquer alteração realizada deve ser aplicada para que tenha efeito na próxima vez que for
executada uma operação de Exportação

Caso queira alterar apenas as opções que estarão disponíveis no aplicativo Engeman Palm®
sem realizar uma nova carga das O.S.‟s utilize o botão Exportar Config. que se encontra na
guia Exportação Engeman->Coletor e realize uma operação de HotSync.
A parte da tela que se encontra reservada para Palms Instalados Manualmente, será usada
somente quando se trabalha com o processamento de transferências remotas ou via FTP para
configurar o nome dos palms e diretório onde serão salvos os arquivos de exportação e
importação.
Mensagens emitidas Exportação/Importação
Caso seja detectado erro/inconsistência durante a Exportação ou Importação dos dados, o
sistema irá emitir algumas mensagens.
Exportação
Mensagem: O número de exportações permitidas já foi atingido!
Esta mensagem é exibida sempre que número máximo de usuários do palm for
atingido, para que esta mensagem não seja exibida realize a importação dos dados de
pelo menos um coletor. Outra alternativa que pode ser adotada é Cancelar Operação de
Exportação, porém isso implicará em uma possível falta de sincronismo nas
informações referentes às O.S.‟s que estão no palm e no terminal.
Importação

Página 443 de 478


Mensagem: Os arquivos necessários para importação de Log de Usuário não
foram encontrados! Efetue uma sincronização HotSync e repita a operação.
Esta mensagem será exibida caso os arquivos necessários para a importação não sejam
encontrados na pasta backup. Realize um nova operação de HotSync.

Mensagem: Alguns funcionários não registraram fim de serviço. Registre agora


no coletor e repita a operação HotSync antes de continuar.
Finalize o registro de funcionário na O.S. indicada e efetue um novo HotSync.

Mensagem: Os arquivos necessários para importação de Coletas Acumulativas


não foram encontrados! Efetue uma sincronização HotSync e repita a
operação.
Esta mensagem será exibida sempre que algum arquivo necessário para importação
não for encontrado na pasta Backup do coletor em questão. Realize um novo HotSync
ou verifique os dados que deseja importar:
Ordem de Serviço, Coleta Acumulativa, Coleta de Tendências, Coleta de Eventos e
Coleta de Viagens.
Caso queira importar somente as O.S‟s e a opção Coleta Acumulativa(ou qualquer
outra) também estiver marcada esta mensagem poderá ser exibida.

Mensagem: Alguns registros de funcionários não serão importados, pois


possuem data maior do que a data atual. Deseja continuar assim mesmo?
Esta mensagem é exibida caso a data e hora do coletor esteja adiantada em relação ao
horário do servidor do Banco de Dados. Para correção, sincronize o horário do coletor
com o horário do servidor. Também será mostrado no log de importação o registro de
funcionários que apresentou esta mensagem.

Mensagem: A qtde de O.S. do palm(X) difere das marcadas como “No Palm”.
Contudo , X O.S. não serão importadas. Deseja continuar assim mesmo?
Esta mensagem será exibida caso a importação das O.S.‟s tenham sido realizadas ou o
cancelamento de uma exportação tenha sido realiza após as O.S.‟s terem sido enviadas
para o coletor.
No caso de dúvida consulte as O.S.‟s através do terminal e se houver diferença entre os
dados contidos no coletor e o terminal realize um HotSync.
Após a operação de HotSync clique na guia Forçar Importação, clique em Abrir,
selecione as O.S.‟s que deseja atualizar e em seguida clique em Importar.

Ajuda Ajuda
Siatema de Ajuda
Sobre o Engeman®
Detalhes desta Versão (Internet)
Registrar o Engeman
Usuários Ativos

Detalhes desta Versão (Internet) Detalhes desta versão (Internet)

Permite que seja exibido um arquivo on-line com as modificações realizadas na versão
corrente do Engeman.

Registrar o Engeman Registrar o Engeman®

Será exibida uma tela onde será solicitado o arquivo que contém o registro para utilização do
Engeman®.
Usuários Ativos Usuários Ativos

Permite exibir todos os usuário conectados ao sistema Engeman® no momento do Click.

Sistema de Ajuda Sistema de Ajuda


Vantagens:
 Fácil atualização para todas as estações, sendo que a ajuda ficará armazenada no banco de
dados.
 Atualização on-line para todos os clientes. Ajuda estará sempre atualizada.
 Geração de Manual completo para impressão.
 Centralização da ajuda e documentação das tabelas num único espaço.

Características básicas:

 Para o usuário alterar a ajuda do sistema, ele deve ter a permissão ARQUIVO/CADASTRO DE
USUÁRIOS/PERMITIR EDITAR AJUDA DO USUÁRIO.
 Nova rotina para garantir a integridade das alterações feitas pelo usuário na hora de
atualizar o help.
 Ao pressionar F1, sobre qualquer tela do sistema, a tela de ajuda será exibida. Pressionando
a tecla ESC, a ajuda é fechada.
 O Editor da ajuda é bem semelhante ao word. Possui todas as características de um editor
RTF.
 Os tópicos visitados são armazenados numa pilha de histórico. O usuário pode clicar nos
botões voltar e avançar para navegar pelo histórico de páginas visitadas.
 O usuário poderá configurar o nível de ZOOM para visualização da ajuda. Para isso, ele
deverá clicar com o botão direito do mouse sobre o texto e escolher o nível desejado. Este
nível é gravado para futuras consultas à ajuda.
 Ao lado dos botões de navegação há um botão "arquivo" com várias opções. Entre elas, o
usuário poderá exportar ou importar documentos do tópico corrente ou exportar toda a
documentação em formato de backup do sistema.
 Geração de Manual: também no menu arquivo, o usuário poderá clicar nesta opção para que
o sistema gere o manual completo. Este manual imprime a página SOBRE inicialmente,
insere um índice com referência de páginas e insere toda a documentação num único texto
para que o usuário possa imprimir.
 A documentação do sistema foi integrada à tela de ajuda. Este tópico é criado
automaticamente pelo sistema. Na documentação são exibidos o Dicionário de Dados, Views,
Stored Procedures e Functions.
 O usuário poderá alterar a ordem com que cada tópico é exibido, clicando e arrastando os
tópicos entre si.
 Toda a documentação é atualizada on-line.

Detalhes :
 Todos os campos do tipo BLOB que armazenam o texto da ajuda são gravados zipados no
banco de dados. O tamanho total da documentação e ajuda não chega a 1,5 Mb.
 A rotina de pesquisa varre todo o texto da ajuda armazenado, descompactando o seu
conteúdo e verificando pela ocorrência do texto digitado.
 Campos DATALT: Por motivos de atualização on-line, os campos DATALT de todas as tabelas
envolvidas não são atualizadas por trigger, mas manualmente de acordo com o caso. Dessa
forma, se um cliente atualizar hoje uma versão da ajuda liberada há uma semana, a data de
alteração será a mesma da data realmente alterada. Isso evitará um controle de versões da
ajuda, projetada para uma nova release do Engeman.
 A documentação do sistema é obtida dinamicamente do dicionário de dados do sistema. Ela
se divide nos tópicos:
 Tabelas: Armazenada em uma tabela de mesmo nome. Ela contém um nome único para o
nome da tabela do sistema e descrições de acordo com a língua escolhida: Descricao,
DescricaoEsp ou DescricaoEnu. O usuário poderá editar um texto descritivo (em RTF) para
esta tabela ou modificar sua descrição. Este texto é armazenado nas tabelas tTabPtb,

Página 445 de 478


tTabEnu ou tTabEsp. As operações estão disponíveis clicando-se com o botão direito do
mouse sobre a tabela, na árvore de navegação. As tabelas começadas por USER_ (tabelas
criadas pelo usuário) possuem a descrição obtida diretamente do dicionário de dados do
sistema. Além da estrutura das tabelas, o sistema traz agora os campos que formam sua
chave primária e as foreign keys, com os campos relacionados entre as tabelas.
 Campos: Armazenados em tabela de mesmo nome também. Também possui descrições
para a língua escolhida. O usuário poderá descrever as descrições de todos os campos de
uma tabela, clicando-se com o botão direito sobre a tabela, na árvore de navegação, e
escolhendo a opção campos. Será exibido uma tela semelhante ao insepector do Delphi. O
primeiro campo é o próprio nome da tabela. Os demais são os campos propriamente ditos.
Os campos começados por U_ e R_ (campos criados pelo usuário) possuem as descrições
obtidas diretamente do dicionário de dados do sistema. Campos com nomes iguais, em
tabelas diferentes, podem possuir descrições diferentes. Por exemplo, o campo descrição da
tabela causa poderá ter uma nomenclatura diferenciada para a tabela aplic. Porém, para
agilizar o processo de digitação, existem algumas teclas de atalho para copiar a descrição de
um campo para todas as tabelas que o possuem:

F9 = Copia a descrição do campo corrente para todas as tabelas cujo mesmo campo
esteja em branco.
CTRL+F9 = Copia a descrição do campo corrente para todas as tabelas que o possuem,
substituindo a descrição, se já houver uma.
SHIFT+F9 = Copia a descrição de todos os campos da tabela corrente para todas que
forem iguais, cujos campos estejam em branco.
CTRL+SHIFT+F9 = Copia todos os campos da tabela, para todas as tabelas de campos
iguais, substituindo suas descrições.
 A exportação da documentação para atualização dinâmica deve ser feita a partir do botão
arquivo/exportar. O arquivo exportado conterá todas as tabelas que envolvem a
documentação do sistema, da mesma forma que o sistema de backups do engeman realiza.
Elas possuem extensão .tbl e ficam armazenadas num único arquivo .zip. A única diferença
ocorre na exportação das tabelas de funções, views e procedures. Como estas tabelas
dependem do banco de dados em uso (por exemplo, podem existir views no oracle sem
correspondente no mssql. As funções do firebird/interbase são distintas das outras funções
de bancos por serem uma DLL e algumas funções do oracle são procedures no firebird e
mssql), elas são exportadas com a inicial o SGBD antes dos nomes delas. Exemplo: no
firebird, a tabela tFuncPtb será exportada como FtFuncPtb. No Oracle, OtFuncPtb. As tabelas
de simulação de generatos para o MSSQL gen.... não são consideradas na documentação.
 A atualização on-line pelo cliente utiliza o link www.engeman.eng.br/update/enghelp.zip. O
sistema baixa este arquivo e o descompacta no diretório temporário e checa a necessidade
de atualização de todos os tópicos pertinentes, de acordo com o banco de dados em uso.
Somente os usuários com permissão de escrita da ajuda do usuário poderão atualizá-la pela
internet.
 A atualização também poderá ser feita mediante a informação de um arquivo de atualização
(.zip).
 Ao criar um novo tópico da ajuda, o usuário deverá informar obrigatoriamente um contexto
(com o botão direito do mouse ou pressionando F3 sobre o tópico). O Contexto deve ser
único em todo o sistema. A descrição do tópico (thelp.topic ou topicenu ou topicesp) também
será requisitada e deve ser única para a linguagem escolhida.
 Para os usuários que possam editar a ajuda, ao passar o mouse sobre um link ou um tópic,
um hint será exibido mostrando o nome do link ou bookmark selecionado.
 Foi disponibilizado um pop-up especialmente para imagens no texto, permitindo configurar
sua posição de acordo com o alinhamento do texto - semelhante ao que o Word faz.
 Cabeçalho e rodapé: O cabeçalho e rodapé da ajuda não podem ser modificados. Eles são
inseridos automaticamente após o usuário salvar o texto.
 Nesta versão, somente o manual da ajuda será gerado. O manual da Documentação estará
disponível em uma versão futura.

Sobre Engeman® Sobre o Engeman®


Informa a versão do sistema. Para obter maiores detalhes sobre suporte técnico e nosso
endereço na internet, veja o tópico Sobre o Engeman® no arquivo de ajuda.
Janelas
Janelas

Lado a Lado Horizontalmente


Lado a Lado Verticalmente
Cascata
Organizar Ícones

Lado a Lado Horizontalmente Lado a Lado Horizontalmente


Organiza as telas abertas do Engeman®, ajustando-as lado a lado na horizontal.

Lado a Lado Verticalmente Lado a Lado Verticalmente


Organiza as telas abertas do Engeman®, ajustando-as lado a lado na Vertical.

Cascata Cascata
Organiza as telas abertas do Engeman®, colocando uma sobre a outra, em cascata.

Organizar Ícones Organizar Ícones


Organiza as telas abertas e minimizadas do Engeman®, ajustando-as lado a lado na parte
inferior da tela principal.

Personalizado

Página 447 de 478


Engeman SSW Engeman SSW

O Engeman® SSW (Solicitação de Serviço via Web) é uma ferramenta para solicitação de
serviço acessível via HTML.
Para que isso seja possível, é necessário instalar o módulo servidor. O Engeman® possui 2
modalidades de servidor WEB. Todas proporcionam o mesmo funcionamento do sistema, mas
cada uma com uma característica distinta:

 ISAPI DLL (sswDLL.dll): Esta modalidade é usada para instalação no IIS5 ou superior -
Microsoft Internet Information Service.

 Windows Service (sswSVC.exe): Esta modalidade não necessita de nenhum servidor


internet. Neste caso o SSW será instalado como um serviço do Windows e funcionará como
um servidor WEB exclusivo para o sistema, numa porta pré-determinada. Este tipo de
instalação é bem interessante e fácil. Só pode ser instalada em Windows 2000 ou superior

Ao acessar o Engeman SSW, o usuário irá encontrar na barra de ferramentas os ícones para
todas as funções do sistema.

Nova Solicitação
Consultar Solicitação
Altera Empresa
Altera Senha
Arquivos de Configuração

No rodapé da página, encontra-se o usuário corrente, funcionário associado, empresa e filial


corrente.

Consultar Solicitação Consultar Solicitação


Nesta tela o usuário poderá consultar as solicitações realizadas.

 Selecione um filtro e pressione o botão "filtrar".


 Aparecerá uma tela com as Solicitações e abaixo o texto da solicitação correspondente.
 Para exibir os anexos da solicitação corrente, clique no ícone .
 Clique no ícone para exibir a O.S. relacionadas à solicitação corrente.
 Para ver as observações cadastradas nas O.S. ou para ver os anexos das O.S., clique no
item da árvore correspondente.

Anexos SSW - Anexos da Solicitação / Ordem de Serviço


Nesta tela estão listados todos os anexos da solicitação ou O.S. corrente.

Para visualizar um determinado anexo, clique sobre ele e efetue o seu download. Após
concluído, abra-o utilizando algum software compatível com arquivos .zip, como o Winzip,
BrZip, WinRar, IZarc, etc.

Para usuários do windows XP, o arquivo ZIP pode ser aberto diretamente, sem a necessidade
de instalação de softwares de terceiros.

O.S. da Solicitação SSW - Ordens de Serviço da Solicitação


Nesta tela estão listados todas as O.S. da solicitação corrente.
Para ver o texto da solicitação da O.S., clique no item OBS. Para ver os anexos, clique no item
Anexos.

Pesquisa de Códigos Consultar Solicitação


Nesta tela, informe o filtro de pesquisa desejado e pressione ENTER. Para obter uma listagem
de todos os registros, sem qualquer filtro, pressione ENTER (não recomendado para tabelas
com muitos registros)

Tanto os campos código ou descrição serão filtrados pela palavra digitada.

Após informar o filtro da pesquisa, localize o registro desejado e clique sobre ele para copiar o
seu código ao cadastro anterior.

Ao se pesquisar uma aplicação no momento de se criar uma nova Solicitação de Serviço. A


pesquisa também poderá ser realizada pela localização da aplicação. O procedimento de
procura pemance o mesmo para o campo localização.

Para cancelar a consulta, simplesmente clique no ícone "voltar"

Pesquisa Personalizada Pesquisa Personalizada


Nesta tela, informe a tabela, o campo, a condição e o filtro de pesquisa desejado e pressione
ENTER. Para obter uma listagem de todos os registros, sem qualquer filtro, pressione ENTER
(não recomendado para tabelas com muitos registros)

Após informar o filtro da pesquisa, localize o registro desejado e clique sobre ele para copiar o
seu código ao cadastro anterior.

Ao se pesquisar uma aplicação no momento de se criar uma nova Solicitação de Serviço. A


pesquisa também poderá ser realizada pela localização da aplicação. O procedimento de
procura pemance o mesmo para o campo localização.

Para adicionar uma nova pesquisa, clique em e para excluir uma pesquisa, clique em

Para Gravar os Filtros inseridos, clique em

Para Excluir os Filtros inserido e voltar a tela ao seu estado Padrão, clique em .

Para entrar na tela de edição do Sql da Pesquisa, clique em

Para cancelar a consulta, simplesmente clique no ícone .

Consulta Personalizada Consulta Personalizada


Nesta tela, se encontra(m) a(s) tabela(s) e a consulta da pesquisa da tela Pesquisa
Personalizada.

Para modificar o Sql, digite digite o Sql referente a consulta da tela e para gravar clique em
.

Página 449 de 478


Para testar o comando Sql, clique em .

Para Cancelar, clique em .

Para retornar o padrão da tela, clique em .

Para sair, simplesmente clique no ícone .

Nova Solicitação Nova Solicitação


Nesta tela o usuário cadastra a solicitação.

Tela:
 Filial: Escolha a filial para a abertura da solicitação. Caso o usuário não tenha acesso a
outras filiais, esta opção não estará disponível. Para realizar uma pesquisa avançada, clique

no ícone .
 Solicitante: É preenchido automaticamente. O solicitante é o funcionário que está
relacionado ao usuário do sistema. Caso a configuração allowSolChange=true esteja
presente no arquivo SSW.CFG, então será permitido alterar o solicitante padrão.
 Solicitação: Deve ser preenchido de acordo com o que o usuário deseja.
 Prioridade: Este campo tem que ser informado de acordo com o nível da prioridade da
solicitação.
 Prazo de entrega: Deve ser preenchido com a data e hora de entrega da solicitação
pretendida.
 Aplicação Parou: Informe a Data e Hora que o equipamento parou.

 Aplicação: Para pesquisar, basta clicar no ícone e pesquisar. A ordem da pesquisa será

alfabética pela descrição, e para realizar uma pesquisa Avançada clique no ícone .
 Centro de custo: Informe o centro de custo. Se informada uma aplicação, o centro de custo

da aplicação será automaticamente replicado para este campo. Clique no ícone para
pesquisar qual centro de custo deve ser utilizado.

 Setor Executante: Informe o setor executante. Clique no ícone para pesquisar. A ordem
da pesquisa será alfabética pela descrição.
 Cliente: Informe o Cliente. Se a aplicação informada possuir um cliente relacionado, este

será automaticamente copiado para este campo. Clique no ícone e indique qual cliente
para a solicitação.

Para enviar anexos, clique no botão pesquisar para localizar o arquivo a enviar e depois no
botão OK.

Altera Empresa Altera Empresa


Utilize esta tela para alterar a empresa corrente.

Altera Senha Altera Senha


Utilize esta opção para alterar a senha do usuário que está logado.

De acordo com as configurações do sistema Client/Server, o administrador do sistema pode


requerer que o usuário altere sua senha após o login.

SSW - Instalação SSW - Instalação


A instalação do SSW pode ser realizada de duas formas:

ISAPI (DLL)
Windows Service (EXE)

ISAPI (DLL) Instalação do SSW - ISAPI (DLL)


Criar Diretório
Crie uma pasta para ser a base do SSW. Descompacte os arquivos do SSW dentro dela.

Neste diretório estarão as arquivos de configuração, o arquivo SSWDLL.dll e o diretório Files.

A instalação do módulo SSW Servidor num ambiente do IIS, é mais conhecida por publicação.
Existem passos diferentes, dependendo da versão do IIS instalada. Será necessário criar um
arquivo index.htm ou index.html para acessar o SSW.

Configuração do arquivo Index.html

Página 451 de 478


Ao descompactar os arquivos do SSW, você verá um arquivo index.html. Este é um arquivo
padrão que é invocado sempre que alguém acessar o servidor. Edite este arquivo utilizando o
bloco de notas e altere a linha de chamada REAL do SSW. Esta linha é identificada nesta
forma:
ShowConteudo('http://servidor/sswdll.dll ....

Altere o “Servidor” para o endereço real de seu servidor.

IIS 5 Instalação do SSW - IIS 5


O Internet Information Service 5 (IIS5) é o servidor de internet padrão para o Windows 2000
(Server ou Professional)

I. Inicie o gerenciador do IIS. (Figura I).

II. Crie um novo diretório virtual, clicando com o botão direito do mouse sobre o site
padrão. Neste ponto, um assistente será exibido. Informe o alias do diretório virtual, o
caminho onde você instalou os arquivos do SSW. Habilite a opção de Leitura, Execução de
scripts e Execução de aplicações (ISAPI ou CGI). (Figura II).

III. Abra as propriedades do novo diretório virtual criado e clique na guia “Documentos”.
Adicione index.html.
Para desinstalar o SSWDLL.dll, abra as propriedades do diretório virtual e clique no botão
“Unload” ou “Descarregar”. Só depois exclua o arquivo SSWDLL.dll. Este procedimento deve
ser executado sempre que for atualizar uma versão do sistema.

Figura I
Figura II

Página 453 de 478


Atualização do SSW - ISAPI 5

Para atualizar o sistema deve-se substituir os arquivos do Diretório Files, Ajuda, zLib.dll e
SSWDLL.dll.

Para substituir o arquivo SSWDLL.dll é necessário descarregar o Engeman Atual, para isso abra
o IIS, localize o diretório virtual do SSW

e clique no Botão Descarregar (unLoad em Inglês). Feito isso substitua o arquivo SSWDLL.dll.
A atualização está pronta, basta abrir um browser e acessar o SSW normalmente.

IIS 6 Instalação do SSW - IIS 6


O Internet Information Service 6 (IIS6) é o servidor de internet padrão para o Windows 2003
Server.

A - Criar o Pool de Aplicação


A1 - Inicie o gerenciador do IIS6. No IIS6 temos uma seção com os Pools de Aplicativos, Sites
da Web e extensões de serviços da Web. Teremos de alterar todos estes itens.

Página 455 de 478


A2 - Vamos agora dar um nome para nosso pool. No exemplo abaixo o nome dado foi
"EngemanSSW".
A3 - Agora temos um pool para nossa aplicação. Veja que este pool ja está iniciado. Para o
SSW para atualização basta selecionar este pool (EngemanSSW) e pará-lo. Substitua o arquivo
sswDLL.dll e inicie novamente o pool.

Página 457 de 478


B - Criar Diretório Virtual

B1 - Selecione o item sites da web. Vá até "Site da Web Padrão" ou o site de seu desejo,
clique com o botão direito do mouse sobre o site escolhido e selecione "Novo" e em seguida
"Ditetório Virtual".
B2 - Durante a criação do diretório virtual não se esqueça de marcar a opção "Executar
(aplicativos ISAPI ou CGI, por exemplo)", como é mostrado na figura abaixo.

Página 459 de 478


B3 - Ao terminar o processo de criação do diretório virtual deve-se apresentar como na figura
abaixo: (O nome do diretório virtual criado é EngemanSSW). Não se esqueça de associar este
diretório virtual ao poolErro! A referência de hiperlink não é válida. de aplicação.
C - Associar o Pool ao Diretório Virtual
C1 - Depois de criado o Pool de Aplicação e o diretório virtual, vamos associar este diretório ao
pool de aplicação correspondente. Para isso vá até o diretório virtual (EngemanSSW) clique
com o botão direito do mouse e selecione a opção "Propriedades".

Página 461 de 478


C2 - Selecione o Pool criado para o SSW na lista de Pool de Aplicativos e aplique a nova
configuração.
C3 - Verifique a alteração no pool de aplicativos. A configuração do SSW via IIS6 está pronta.

Página 463 de 478


D - Permitir ISAPI

D1 - Selecione o item "Extensões de serviços da Web".

Garanta que a Opção "Todas as Extensões ISAPI Desconhecidas" estejam permitidas, caso
estejam proibidas pressione o botão permitir. A tela deve ficar como a imagem abaixo.
Atualização do SSW - ISAPI 6

Para atualizar o sistema deve-se substituir os arquivos do Diretório Files, Ajuda, zLib.dll e
SSWDLL.dll.

Para substituir o arquivo SSWDLL.dll é necessário parar o pool de aplicação referente ao SSW.
Pare o Pool de Aplicação do SSW, substitua os arquivos e inicie novamente o Pool de
Aplicação.

Windows Service (EXE) Instalação do SSW - Windows Service


(EXE)
Crie uma pasta para ser a base do SSW. Descompacte os arquivos dentro dela.

Para instalar o serviço, abra um prompt de comando execute:


sswSVC.exe –install

Página 465 de 478


O programa sswSVC.exe será colocado na lista de inicialização de serviços do Windows. Dessa
forma, sempre que o servidor for ligado, ele será automaticamente iniciado. Não será
necessário “logar” no sistema operacional para ele funcionar.

Para iniciar o serviço imediatamente após a sua instalação, acesse o menu “Ferramentas
Administrativas” do Windows e abra “Serviços”. Localize o serviço Engeman® Web e clique em
iniciar.
Para desinstalar o serviço, primeiro abra o gerenciador de serviços nas “Ferramentas
Administrativas”, selecione o SSW e clique em “parar”. Feche a tela, abra um prompt de
comando e digite:
sswSVC.exe –uninstall

Página 467 de 478


Atualização do SSW via Serviço

Para atualizar o sistema deve-se substituir os arquivos do Diretório Files, Ajuda, zLib.dll e
sswSVC.exe.

Para substituir o arquivo sswSVC.exe será necessário para o serviço, e substituir o arquivo.

Assim que a substituição for concluída deve-se iniciar o serviço novamente. Feito isso basta
acessar o ssw normalmente.

Arquivos de Configuração SSW - Arquivos de Configuração


Existem dois arquivos de configuração para o SSW. Um responsável pela conexão com o banco
de dados e o outro responsável pela configuração do modo servidor (quando for instalado
como serviço do Windows):

SSW.INI

O ssw.ini é o arquivo responsável pela conexão com o banco de dados. Este arquivo será
acessado pelo SSW no servidor. As configurações dele são as mesmas para o acesso pelo
Engeman® Client/Server.

SSW.CFG

O ssw.cfg é o arquivo responsável pela configuração do modo servidor WEB. Cada


configuração é descrita da forma variável=valor. Para desabilitar uma variável sem excluí-la
coloque um sinal de ; (ponto e vírgula) no início da linha. Por default, o ssw.cfg vem com
todas as variáveis disponíveis, porém desabilitadas.

Foi adicionado novo parâmetro para o SSW.CFG ShowALL permitindo aos usuários do SSW
logarem em qualquer empresa, independente de sua restrição ao acesso pelo engeman
client/server.
Exemplo de um arquivo ssw.cfg
;Remova o ponto e virgula antes de cada propriedade para ativá-las
;name=EngemanSSW
;port=20700
;filial=Instituto
;ssFields=obs
;osFields=obs,obs_1
;aplic.required=true
;aplic.visible=true
;prazoentrega.visible=true
;prazoentrega.required=false
;aplicacaoparou.visible=true
;aplicacaoparou.required=false
;cencus.visible=true
;cencus.required=true
;setexe.required=true
;setexe.visible=true
;cliente.visible=false
;cliente.required=false
;ShowFilStat=false
;ShowFilFil=false
;ShowFilCodSol=false
;ShowFilSolte=false
;ShowFilDatAprSol=false
;ShowFilJust=false
;ShowFilSol=false
;ShowFilDatSol=false
;ShowFilPrio=false
;ShowFilApl=false
;ShowFilGruApl=false
;ShowFilTipApl=false
;ShowFilCencus=false
;ShowFilCli=false
;ShowFilSetExe=false
;ShowFilApr=false
;ShowFilMotCan=false
;ShowFilDatCan=false
;ShowFilDatApr=false
;ShowFilDatCon=false
;terminate=http://seu_site.com.br
;showpage=http://sua_pagina_de_logomarca.html
;allowSolChange=true
;defaultSolBlank=true
;defaultPriority=4
;showAttachOs=true
;Titulo=Engeman EAM - SSW
;Priority1=1 - Urgente
;Priority2=2 - Importante
;Priority 3=3 - Média
;Priority4=4 - Baixa
;Priority5=5 - Desprezível
;insereAnexo=false

VARIÁVEL DESCRIÇÃO

port Estabelece em qual porta o SSW será servido. Em um servidor sem um serviço de
internet instalado, o padrão é a utilização da porta 80 (http). Porém, o SSW utiliza a
porta 20700 como padrão de configuração, no caso da omissão deste parâmetro. Este
parâmetro só será usado na modalidade serviço do windows (sswSvc.exe)

name Informe o nome do serviço do windows. Este campo deve ser utilizado no caso de
utilização do SSW na modalidade serviço do windows (sswSvc.exe) e quando é
necessário executar mais de uma instância no mesmo servidor. Cada instância deve
ter um nome único.

aplic.required Valores possíveis: true ou false


Determina se a informação do campo aplicação será ou não obrigatória no cadastro

Página 469 de 478


de uma nova solicitação

cencus.required Valores possíveis: true ou false


Idem da configuração acima, porém para o campo centro de custo

setexe.required Valores possíveis: true ou false


Idem da configuração acima, porém para o campo setor executante

cliente.required Valores possíveis: true ou false


Idem da configuração acima, porém para o campo cliente

aplic.visible Valores possíveis: true ou false


Indica se o campo aplicação estará visível no cadastro de uma nova solicitação

cencus.visible Valores possíveis: true ou false


Indica se o campo centro de custo estará visível no cadastro de uma nova solicitação

setexe.visible Valores possíveis: true ou false


Indica se o campo setor executante estará visível no cadastro de uma nova
solicitação

cliente.visible Valores possíveis: true ou false


Indica se o campo cliente estará visível no cadastro de uma nova solicitação

terminate Valor possível: um endereço da internet


Quando informado, este endereço será exibido após o término do programa.

showpage Valor possível: um endereço da internet


Mostrará a página indicada na área em branco da tela de acesso às opções do
Engeman® SSW (tela que contém os botões "Nova Solicitação" e "Alterar Empresa" .

showpageLogin Valor possível: um endereço da internet


Mostrará a página indicada no centro da página inicial de login do Engeman® SSW,
por trás da caixa de digitação de usuário e senha.

allowSolChange true = permite que o usuário altere o funcionário da solicitação


false = bloqueia a alteração do funcionário da solicitação. O funcionário relacionado ao
usuário será usado. Este é o valor padrão.

defaultSolBlank true = mesmo que haja um funcionário relacionado ao usuário logado, o sistema não
preencherá automaticamente este campo. Portanto, o usuário terá que informar um
funcionário da solicitação obrigatoriamente.
false = preenche automaticamente o funcionário da nova solicitação. Este é o valor
padrão.

defaultPriority Prioridade padrão para novas solicitações. Se não for informada, o sistema irá utilizar
o valor 0. Valores possíveis: (0 a 5)

0 -> <Não Informada>


1 -> Muito Alta
2 -> Alta
3 -> Média
4 -> Baixa
5 -> Muito Baixa
showAll true = permite que o usuário efetue um log em qualquer empresa, independente das
configurações do engeman client/server.
false = (default) respeita as configurações do engeman client/server.
prazoentrega.required Valores possíveis: true ou false
Determina se a informação do campo prazo de entrega será ou não obrigatória no
cadastro de uma nova solicitação
prazoentrega.visible Valores possíveis: true ou false
Indica se o campo prazo de entrega estará visível no cadastro de uma nova
solicitação
aplicacaoparou.required Valores possíveis: true ou false
Determina se a informação do campo aplicação parou será ou não obrigatória no
cadastro de uma nova solicitação
aplicacaoparou.visible Valores possíveis: true ou false
Indica se o campo aplicação parou estará visível no cadastro de uma nova
solicitação
horpar.required Valores possíveis: true ou false
Determina que, quando a aplicacaoparou.required também for true, o usuário será
obrigado a digitar a hora.
ssFields Determina quais os campos serão utilizados da tabela de solicitação de serviços para
informar o texto da solicitação. Esta opção foi acrescentada para permitir informar
campos criados pelo usuário. Delimite os campos por vírgulas. Valor padrão = obs.
osFields Determina quais os campos serão utilizados da tabela de orden de serviços para
informar o texto da observação da o.s.. Esta opção foi acrescentada para permitir
informar campos criados pelo usuário. Delimite os campos por vírgulas. Valores
padrões são obs, obs_1
prioridade.visible Valores possíveis: true ou false
Indica se o campo prioridade será exibido na tela de cadastro de nova solicitação.
O valor default de cadastramento deste campo continua sendo o definido em
defaultPriority. Oculte este campo para evitar que o solicitante altere a prioridade
padrão definida.
showAttachOs Valores possíveis: true ou false
Determina se os anexos da O.S. vinculada à solicitação serão exibidos
showPesqFun Valores possíveis: true ou false
Determina se será permitido consultar funcionários (solicitante ou quem aprovou)
uma solicitação
titulo

PriorityX Determina quais serão as prioridades apresentadas no Cadastro ou na Consulta de


uma Solicitação, o X é um valor que pode variar de 1 a 5. Por padrão o sistema traz:
0 - <Não Informada> -> Está prioridade não pode ser alterada.
priority1=1 - Muito Alta
priority2=2 - Alta
priority3=3 - Média
priority4=4 - Baixa
priority5=5 - Muito Baixa

Para personalizar as prioridades basta alterar os valores recebidos acima, exemplo:


priority1=Urgente
priority2=Normal

Neste caso as demais prioridades não serão mostradas.

insereAnexo Valores possíveis: true ou false


Determina se será permitido inserir anexos durante o cadastramento de uma
solicitação de serviços.
Filial Determina qual o Nome dado aos labels de Filial.
ShowFilY Determina quais filtros da consulta da Solicitação serão ocultados.
Abaixo segue o nome da propriedade e o campo a ser ocultado:

ShowFilStat -> STATUS


ShowFilFil -> FILIAL
ShowFilCodSol -> CÓDIGO DA SOLICITAÇÃO
ShowFilSolte -> SOLICITANTE
ShowFilDatAprSol -> DATA APROVAÇÃO/REPROVAÇÃO SOLICITANTE
ShowFilJust -> JUSTIFICATIVA REPROVAÇÃO
ShowFilSol -> SOLICITAÇÃO
ShowFilDatSol -> DATA DA SOLICITAÇÃO
ShowFilPrio -> PRIORIDADE
ShowFilApl -> APLICAÇÃO
ShowFilGruApl -> GRUPO DA APLICAÇÃO
ShowFilTipApl -> TIPO DA APLICAÇÃO
ShowFilCencus -> CENTRO DE CUSTO
ShowFilCli -> CLIENTE
ShowFilSetExe -> SETOR EXECUTANTE
ShowFilApr -> APROVADQ/CANCELADA POR
ShowFilMotCan -> MOTIVO DE CANCELAMENTO
ShowFilDatCan -> DATA DO CANCELAMENTO
ShowFilDatApr -> DATA DA APROVAÇÃO
ShowFilDatCon -> DATA DA CONCLUSÃO

Exemplo: Ocultar os filtro de Aplicação e Centro de Custo:


ShowFilApl=false
ShowFilCencus=false

Todos os demais filtros serão mostrados.

Página 471 de 478


Ferramentas Complementares Ferramentas Complementares
EngRegras

EngRegras EngRegras
O EngRegras é um serviço (Windows Service) desenvolvido pela Engeman® que pode ser é
utilizado para executar uma regra definida no Evento OnTimer do Form Principal.

Para realizar a instalação do mesmo execute o Prompt do MS-DOS e acesse o diretório (via
prompt) onde se encontra o arquivo engregras.exe.

Digite o comando engregras.exe –install, após instalar o serviço é necessário configurar o


arquivo de inicialização, responsável pela conexão com o Banco de Dados, este deverá ter o
nome engeman.ini e estar no mesmo diretório do engregras.exe.

Segue abaixo a estrutura do arquivo engeman.ini:

mssql
server:engeman
engeman
engeman
username=engeman
codemp=1
codfil=1
[engeman]

 Linha 1: SGDB que pode ser oracle, mssql ou firebird.


 Linha 2: Servidor de Dados.
o Sendo Oracle, utilize o nome do serviço;
o Sendo MsSQL, utilize o nome do servidor, seguido de “:” e o nome do Banco de Dados
o Sendo Firebird, utilize o nome do servidor, seguido de “:” e o path até o aquivo .fdb
 Linha 3: Usuário para conectar-se ao Banco de Dados.
 Linha 4: Senha para conectar-se ao Banco de Dados.
 Linha 5: Usuário de acesso ao Engeman®, atribuído a função getCurrentUser.
 Linha 6: Código da Empresa, atribuído a função getCurrentEmp.
 Linha 7: Código da Filial, atribuído a função getCurrentFil.
 Linha 8: Determina a aplicação que utilizará o serviço, neste caso [engeman].

Ao término da configuração do arquivo de inicialização o Serviço poderá ser inicializado via


Console (Iniciar -> Painel de Controle -> Ferramentas Administrativas -> Serviços ->
Engeman® Regras) ou pelo Prompt com o comando net start sengregras.

Ao inicializar o Serviço um arquivo restart.bat será criado em sua primeira execução, este
arquivo é responsável por reiniciar o serviço evitando que ele consuma grande quantidade de
memória.

Observações:

Em casos onde a regra deve ser executada em um horário específico, recomendamos que seja
definido um intervalo de pelo menos 2 minutos, como exemplo pode-se citar uma regra que
deve ser executada às 19:00 horas, esta deve ser configurada para ser executada às 19:00
horas ou às 19:01.

EngeSynchron EngeSynchron®

1. Introdução
O EngeSynchron® é um software que permite que os dados de uma base central do
Engeman® possam ser redundados entre várias outras bases de dados, independente
do SGBD (Sistema de Gerenciamento de Banco de Dados), de forma que as
modificações feitas em cada base possam ser sincronizadas entre si. Esta tecnologia
facilita a operação do Engeman® em lugares onde a conexão de internet é precária ou
de alto custo, ou seja, toda a tarefa é feita "off-line" e de tempos em tempos os dados
de cada base são sincronizados com a base central através de uma simples conexão
FTP ou VPN .

2. Pré-Requisitos

Para transferências entre os micros cliente e servidor por meio de uma “Intranet”, ou
qualquer outro meio de comunicação (FTP) o link mínimo de 19.200 kbps será
necessário. Deverão ser cadastradas na base do servidor todas as empresas e filiais
correspondentes às bases que funcionarão no cliente, bem como os dados que serão
apenas leitura nas bases clientes. Para o caso de sincronização off-line tanto o Servidor
como o Cliente deverão possuir dispositivos capazes de ler e gravar os dados na mídia
escolhida. Ex.: Para CD/CDRW será necessário o Drive de Gravação de CD no Cliente e
no Servidor.

3. Instalação e Configuração

Consulte o manual de instalação disponível para download em nosso site.

4. Princípio de Funcionamento

Primeiramente o banco de dados do Engeman deve ser instalado e configurado em um


servidor na matriz, seja Oracle, Firebird ou MSSQL. Inicialmente todos os cadastros
básicos devem ser feitos na base instalada no servidor. Futuramente estes cadastros
serão sincronizados com as bases offline automaticamente, não sendo necessário
inserí-los manualmente nestas bases.

Depois de configurada a base servidora, deve-se configurar o EngeSynchron conforme o


manual supracitado e colocá-lo em operação. No lado servidor, o EngeSynchron possui
a opção de rodar como um "serviço do windows", para que não haja necessidade de um
usuário fazer login.

Agora para cada cliente offline, deve-se utilizar o Setup do Engeman para criar uma
base de dados vazia. Em seguida, configurar o EngeSynchron conforme o manual e
realizar a identificação inicial da base. Esta identificação é a forma única com que o
servidor irá tratar cada base offline, ou seja, através desta identificação o servidor
saberá quais dados ainda não foram sincronizados com cada base offline e vice-versa.

A sincronização sempre é iniciada pelo lado cliente. Se outro cliente offline tentar uma
sincronização ao mesmo tempo, ele será avisado para que repita a operação em outro
momento. A sincronização também pode ser agendada para que seja realizada
diariamente em uma certa hora do dia. Para isso, é necessário que no momento da
sincronização o micro esteja com um usuário do windows logado e exista uma conexão
de internet, rede, VPN, ou qualquer outra forma de conexão entre o cliente e servidor,
direta ou indireta.

5. Descrição Técnica de Funcionamento

Uma vez iniciada a execução no servidor, o sistema fica de 5 em 5 segundos (este


tempo é configurável) gravando um arquivo chamado "status.svc" na pasta de
comunicação configurada (FTP ou Rede). Este arquivo contém dados sobre o status do

Página 473 de 478


EngeSynchron no servidor, para que na base remota seja possível detectar este status
antes de iniciar o processo de sincronização. Esta rotina foi implementada desta forma
exatamente pelo motivo de os dois lados não se comunicarem diretamente.
Quando o EngeSynchron está ativo no servidor, o arquivo "status.svc" apresentará na
primeira linha a última data em que o arquivo foi gravado, por exemplo:
Último scan: 01/01/2007 10:10:10
E na segunda linha, a versão do Engeman será apresentada para que a base remota
tenha certeza de que as versões são idênticas. Caso contrário, a sincronização não será
realizada.
Na terceira e quarta linhas, ficam gravados respectivamente o caminho completo do
executável do programa e os dados de conexão com o banco de dados. Este dado é
importante para que a base remota esteja certa de que está sincronizando com a base
servidora correta.
Após todas as verirficações, a sincronização pode então ser realizada.

Na primeira sincronização, durante a geração das tabelas o programa primeiro verifica


se alguma tabela está sem o trigger que atualiza o campo DATALT (campo responsável
para selecionar somente os registros modificados). Nesse caso, o trigger é criado
automaticamente para garantir as próximas sincronizações. Ainda durante a geração
das tabelas, para cada tabela do Engeman é gerado um arquivo com extensão ".ebk",
contendo os registros modificados. Depois da última tabela gerada, os arquivos são
compactados em um único zip, cujo nome será "dbclient_X.zip", onde X é o código da
base remota. Os arquivos ".ebk" são então automaticamente apagados e o pacote
zipado é enviado para a pasta de comunicação. Após o fim do envio deste pacote, o
programa envia um arquivo chamado "dbclient_X.rdy", apenas para avisar que o zip foi
completamente enviado. Daqui em diante o programa fica aguardando a resposta de
processamento do servidor. A resposta de processamento virá sob a forma de um
arquivo tambem com extensão ".rdy", que será explicado logo abaixo.

No micro servidor, o programa fica procurando por arquivos do tipo "dbclient_X.rdy" o


tempo todo. Ao encontrar um, uma sincronização é iniciada com a base remota cujo
código é X. Então o programa inicialmente executa as mesmas rotinas já descritas
acima, ao passo que no final os arquivos ".ebk" são zipados em um arquivo
"dbserver_X.zip". A diferença é que, antes de enviar os arquivos para a pasta de
comunicação, todo o conteúdo que foi anteriormente enviado pela base remota é
processado (importado). No final do processamento, aí sim o programa envia o pacote
de dados "dbserver_X.zip", em seguida o flag "dbserver_X.rdy" e também um terceiro
arquivo "procserver_X.rdy", que contém informações se o pacote enviado pela base
remota foi importado com sucesso ou não. Finalmente, o servidor fica aguardando a
resposta de processamento do cliente (base remota).

Ao reconhecer o flag "dbserver_X.rdy", o programa na base remota baixa o pacote


"dbserver_X.zip" e processa-o como fez o servidor. É processado também o arquivo
"procserver_X.rdy" para atualizar ou não o campo DATULTSINC da tabela
BASEREMOTA. No final do processamento, envia para a pasta de comunicação um
arquivo "procclient_X.rdy" com dados sobre sucesso ou falha no processamento.

O servidor reconhece então o arquivo "procclient_X.rdy" e, em caso de sucesso,


atualiza o campo DATULSINC da tabela BASEREMOTA para que somente os registros
com data maior que esta data sejam exportados na próxima sincronização.

Import
Import
Help Desk

FAQ Mensagens de Erro Mais Frequentes


Mensagem:
Arquivo de parâmetros inválido!

Imagem:

Soluções:
O arquivo ".ini" do Engeman® deve estar corrompido ou inválido. Para resolver este problema,
consulte o tópico "Instalação" do tutorial da ajuda do sistema. Neste tópico, o item 5 explica
detalhadamente os passos para configuração do arquivo ".ini".

Mensagem:
Impossível conectar ao banco de dados!

Imagem:

Soluções:
- Verificar se as configurações do arquivo ini estão corretas (tópico "Instalação" do tutorial)
- Verificar se o serviço do SGBD está ativo
- Verificar se a conexão de rede está ativa

Mensagem:
Ponto de Controle não informado!

Imagem:

Soluções:
- Verificar se existe ponto de controle acumulativo ou de tendência informado antes de associar
um plano acumulativo ou de tendência.

Página 475 de 478


Mensagem:
Não foi possível localizar o modelo visual desta aplicação por um dos motivos abaixo:
- Não está vinculada a nenhum Modelo Visual
- Não possui agrupamento
- Não possui Ponto de Controle Acumulativo
- A Aplicação não possui Tipo de Ponto de Controle

Imagem:

Soluções:
- Verificar no cadastro da aplicação se o campo "Modelo Visual" está preenchido
- Ir para a guia de agrupamento e clicar no botão para verificar automaticamente se a
aplicação está na árvore
- Clicar no botão e verificar se existe um ponto de controle acumulativo cadastrado
- Ainda no cadastro de ponto de controle, verificar se o campo "Tipo de Ponto de Controle" está
preenchido

Mensagem:
Esta aplicação utiliza o ponto de controle de outra aplicação. Portanto não será permitido inserir,
editar ou apagar suas coletas.

Imagem:

Soluções:
Se uma aplicação está montada em outra, ela não pode receber coletas diretamente no seu ponto
de controle. Nesse caso, a coleta deve ser feita no ponto de controle da aplicação que está a um
nível acima.

Mensagem:
ATENÇÃO: Você lançou um valor menor do que o da coleta anterior. Se este valor está realmente
correto, você deve informar uma virada de medidor após gravar o registro.
Deseja realmente continuar?

Imagem:
Soluções:
O sistema entende que a sequência de valores lançados na coleta acumulativa deve ser
crescente. Caso o valor lançado seja menor que o anterior, e se o valor lançado for realmente
correto, o usuário deve clicar no botão e escolher a opção "Informar virada de medidor", para
que o sistema entenda que houve uma virada.

Página 477 de 478

Vous aimerez peut-être aussi