Além de oferecer 100% de ferramentas e serviços personalizados, nossa equipe tem o foco na alavancagem do seu negócio, informando e auxiliando sua expansão.
Nota para público técnico/desenvolvimento.
O AICS permite trabalhar com bases de produção e
testes ao mesmo tempo. Para isso, na configuração geral
da base de testes, indica-se o arquivo INI da base
oficial.
Com este recurso, pode-se desenvolver novas regras,
testar e aplicar apenas quando estiverem aprovadas e
validadas em ambiente de testes.
Pode-se trabalhar N regras ao mesmo tempo sem
impactar o trabalho da base em produção. Nesta
atualização do sistema, além das rotinas, agora
pode-se publicar as estruturas de dados. Isto é,
tabelas e vistas podem ser transferidas da base
de testes para a base oficial num único clique.
Este botão de publicação, com mesmo ícone das
rotinas, fica na aba Descrições do nível da tabela
no Centro de Informações.
Esta nota pretende alcançar uma audiência mais
técnica.
O AICS possui 3 tipos básicos de objetos de formulário:
1. As telas internas e suas expansões
2. As telas criadas pelo Centro de Informações
3. As telas criadas por Script a partir do "zero"
No caso 3, existem 2 objetos possíveis: o conhecido
TForm e o TFormScript, sendo este último o mais
indicado porque integra esta nova tela do usuário
com o menu janelas do AICS, ajuda etc.
Agora, nesta atualização, este mesmo objeto, além
dos citados nos casos 1 e 2 recebem uma pós-
ordenação dos elementos no momento da
exibição. O AICS irá ordenar todos os "Taborders"
dos objetos de acordo com sua disposição visual
e posicionamento em relação aos demais elementos
do mesmo nível.
Deste modo, fica muito mais simples ao criador de
elementos dentro do AICS uma vez que a ordem
(para fins de navegação) passa a ser automática.
O objeto TForm original não possui este recurso.
Esta nota destina-se a uma audiência mais técnica.
A função JustifyTextWidth, que permite justificar um
texto a partir de uma dada largura numa fonte específica,
foi melhorada obtendo a resolução indicada pela própria
fonte.
Normalmente, a resolução é de 96 dpi, entretanto, a
função anterior estava com esta resolução fixa em 72 dpi.
Se houver mudança na aplicação desta função em suas
regras, indica-se apenas aplicar um fator de correção na
sua chamada de acordo com as resoluções. Normalmente,
basta reduzir a largura em 25%.
Visando facilitar rotinas que utilizam nomes de
objetos para manipulá-los, definimos duas novas
chamadas:
Procedure SendToBack(Objeto:String);
e
Procedure BringToFront(Objeto:String);
A vantagem deste recurso é que pode-se aplicá-la
a qualquer objeto mesmo não publicado.
O AICS pode ser utilizado como um sistema gestor
completo de suas regras, criando e expandindo seus
procedimentos e bases de informações. Entretanto,
o que ocorre se o rigor de suas regras for tão grande
que seja necessário o controle unificado de versões?
Por exemplo, pode existir uma política de regras em
uso e outra pode estar sendo desenvolvida e testada
ao mesmo tempo. Outro uso ainda: pode ser necessário
voltar a usar uma determinada regra do passado em
dados atuais, visando emissão de relatórios, por
exemplo, ou outros processamentos comparativos.
Logo, um controle de armazenagem e ativação de seu
conjunto de regras daria resposta a estas demandas.
Este recurso foi adicionado à versão mais recente
do BF AICS. Com este novo recurso, você poderá
registrar todas as suas regras num identificador de
versão e de forma automática. Ainda, poderá
permitir que uma determinada regra seja a ativa
para todos os usuários, poderá desenvolver novas
regras sem gerar interferência disso em suas
operações normais.
E tudo sem necessitar duplicar seus bancos de
dados! Para isso, no Centro de Informações,
acesse o menu arquivo e gere/congele suas
regras de desenvolvimento atuais com um
novo número de controle. Ainda, na config.
geral do sistema, ative a regra padrão que
deve ser utilizada por todos. O controle de
número de versão também será automático,
com formato: A.VVVrZZZ, onde A será
incrementado quando o ano mudar, VVV
dentro do mesmo ano e ZZZ qdo ocorrer
geração de versões dentro do mesmo dia.
Na entrada do sistema, o operador poderá
selecionar, se tiver direito a acessar a tabela
SCRIPTVERSOES, outras versões desejadas
que não a definida na config. geral. Por
outro lado, o próprio Supervisor deverá
entrar na versão Atual para testar imediatamente
as alterações efetuadas. Não será permitida a
alteração de regras de versões que não sejam
a atual em desenvolvimento.
Esta nota destina-se à uma audiência mais técnica.
Quando uma tabela é expandida pela BF, pode-se
atualizar sua estrutura pela tela de Manipulações de
dados do Servidor.
A estrutura é expandida automaticamente, porém,
o cadastro das novas colunas no Centro de
Informações teria que ser feito manualmente.
Nesta atualização do sistema, quando uma tabela
for editada e novas colunas forem encontradas,
suas definições serão baixadas e cadastradas de
forma automática em seu banco de dados.
Isso vale até mesmo para tabelas já cadastradas!
Basta apagar as colunas no Centro de Informações
(colunas padronizadas de tabelas nativas do
AICS, tenha certeza de ser este o caso), editar
a tabela e gravar. As colunas serão recadastradas
a partir da definição padrão na base de dados
integrada do AICS.
Acesso à internet pelas estações é pré-requisito.
Nota para usuários avançados.
A função PreviewReport passa a definir, como objeto
proprietário (owner) não mais o objeto do form que
definiu a rotina, isto é, quando uma tela for chamada
por rotinas no grupo stored, a possível tela criada nesta
chamada será definida como proprietária preferencial.
O efeito visual deste recurso é que o fechamento do
relatório não mais retorna à tela principal e ativa a que
mais corretamente definiu o relatório.
Esta mudança afeta apenas as telas criadas em eventos
do grupo Stored.
Esta nota deve ser considerada altamente técnica
pela maioria dos leitores.
Um dos objetos de controle de navegação mais útil
é o DBNavigator. Quando uma tela é montada com
este componente, o controle de acesso fica totalmente
a cargo do criador da rotina. Ele não tem,
automaticamente, um controle de direitos como o nativo
do BF AICS.
Nesta atualização do sistema, este objeto foi herdado e
expandido, sem troca de sintaxe. Adicionamos uma
propriedade denominada AicsTableName que deve
ser preenchida com o nome da tabela que controlará
os direitos de navegar, editar, inserir e apagar. O
direito de acessar deverá ser feito pelo seu controle em
suas regras de negócio. Este novo recurso vale apenas
para o Aics desktop e não foi aplicado em versões do
Aics para web e nem em objeto criados por rotinas do
lado do servidor.
Sem essa propriedade preenchida, o objeto funciona
sem controle de direitos integrados, isto é, opera de
forma nativa normalmente. Com a propriedade
preenchida, irá seguir os direitos definidos para o
usuário do Controle de Direitos. Logo, fica muito
mais simples e completo expandir o BF AICS com
este novo controle de direitos, até mesmo em seus
formulários totalmente livres. Como dica de integração,
use o objeto TFormScript ao invés do TForm em
suas rotinas, o visual e integração serão muito maiores.
Atenção! Esta nota pode ser considerada altamente técnica pela
maioria dos usuários.
Objetivo
Permitir que o cliente final, dentro do Centro de Informações, ative ou
desative as colunas obrigatórias do sistema. Já existe o conceito de
adicionar colunas obrigatórias, é necessário o conceito agora de desativação.
Detalhamento da Alteração
A fim de não causar instabilidade nas regras de negócio atuais dos
clientes, criamos uma função Callback com a seguinte sintaxe:
Function AICS_FORCEOK(NomeTab:String):Boolean
NomeTab será o nome da tabela definida no navegador. Esta função
será chamada apenas quando estiver em modo de edição (ou
inserção) e a verificação de OK for falsa como padrão.
Portanto, esta função só precisa ser definida e implementada se
houver alguma necessidade, dentro da regra de negócios, de
validar uma gravação que não seria validada normalmente pelas
regras usuais do sistema.
Esta função vale para qualquer tela do AICS, mesmo as nativas
e definidas pelo usuário.
O AICS, quando usado como ferramenta de desenvolvimento,
possui características exclusivas de gestão das informações,
mantendo registro das alterações nas rotinas e permitindo
retorno, como todas as demais informações do sistema.
Nesta atualização, adicionamos um histórico obrigatório das
alterações efetuadas visando padronizar suas alterações. Este
histórico foi adicionado a uma aba histórico que acompanha
o código da rotina. Isto é, em caso de retorno, o histórico
também acompanhará e será mantido em fase com a rotina.
O texto do histórico irá datar automaticamente o comentário
e solicitará o nome real do responsável, quando em uso o
login SUPERVISOR.
Para cada aplicação, o usuário poderá atualizar notas de
novos recursos internos para os demais usuários internos
do sistema.