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.
O AICS já possuía o recurso de interface com impressoras fiscais
através da publicação de rotinas de acesso a DLL genéricas. Estas
rotinas permitiam muita liberdade na criação dos procedimentos
com estas impressoras, especialmente as fabricadas pela Bematech.
Nesta atualização do sistema, o AICS poderá interfacear, sem rotinas
do usuário, com impressoras Bematech compatíveis com a DLL de
alto nível fornecida, a partir do módulo Comercial.
Se, na estação do AICS, houver a DLL instalada, na entrada do sistema
será indicado o sufixo PDV. No módulo comercial, bastará ativar este
modo a partir do menu Arquivo, Caixa, Ativar.
Uma vez ativo, a tela será reconfigurada e seguirá o procedimento
de atendimento já padronizado no mercado. Resumidamente, o AICS
irá cair na pesquisa do cliente, aceitando CNPJ, CPF ou pesquisa
pela base do sistema. Ainda, poderá pesquisar online na base colaborativa
já cadastrando os dados não presentes na base de dados local.
Após isso, o cupom será aberto e a venda iniciada. Para melhorar a
apresentação e facilitar a venda, o AICS irá aceitar definir a quantidade
APÓS a inclusão do item, isto é, o item será enviado fechado para a
impressora fiscal. Isso diminui a quantidade de linhas unitárias que
ocorre em alguns outros sistemas.
No fechamento, sempre com atalho fixo em F12, poderá definir
descontos e modos de pagamento. Ao final, o AICS apresenta as
opções de pagamento e envia todas as informações ao Cupom e
o finaliza. Internamente, o AICS irá associar um dado registro ao
Nr do cupom gerado e ao número serial da impressora utilizada.
Para utilizar este novo recurso, basta ter licenças do módulo
Comercial.
As Engenharias contém uma sequência de processos e
insumos podendo ser encadeadas livremente. Nesta atualização
do sistema, introduzimos o conceito de multi-engenharia
Basicamente, significa que um mesmo material poderá ter
mais do que uma composição (processos e insumos).
Este recurso pode ser utilizado para:
- Facilitar gerenciamento de Produção com insumos semelhantes
- Diferenciar certos processos, porém, obtendo o mesmo resultado
- Suportar conceitos de perdas diferenciados
- Permitir variações de composição sob diversos aspectos
Ao atualizar o sistema, todas as Engenharias serão associadas a
um processo Padrão número 1. No módulo de Engenharia, será
possível agora pedir novas configurações. A configuração marcada
como padrão é que estará ativa a cada momento.
A tabela que gerencia as variações é a ESTENG. Será necessário
dar direitos a ela para que seja permitido o apagamento e edição
do nome da variação e da opção de padrão. Ao apagar uma variação,
todos os processos e insumos associados a ela serão eliminados.
A Ficha Técnica seguirá a configuração marcada como padrão.
A geração de OPs, se feita pelo módulo de Produção, seguirá
a variação ativa, não necessariamente a padrão.
A função por script GeraOP passa a, como padrão, gerar uma OP
para a configuração padrão, porém, foi expandida nesta versão
do sistema podendo aceitar, como código do produto, também a
variação. Por exemplo, a chamada:
GeraOP('000001/2','01.0002',20)
Gerará uma Ordem de Produção do material 000001, utilizando
a variação de composição 2, no local 01.0002 pedindo para produzir
20 unidades do material.
Considere esta nota como avançada.
Os serviços Web operam baseados em portas de entrada, sendo a porta 80
a padrão para serviços www. O ServAICS, por exemplo, pode operar na porta
80, assim como outros servidores Web mais simples, como o IIS e o Apache,
também podem.
Entretanto, pode ocorrer a necessidade de um determinado servidor necessitar
rodar mais do que um serviço web ao mesmo tempo. Nestes casos, o uso mais
comum é associar um deles a um port não padrão e chamar, pelos navegadores,
usando o "dois pontos port". Por exemplo, www.meusite.com:8080.
No servidor Web do Aics, podemos configurar as pastas virtuais para cada
domínio de entrada. O Serviço do Aics irá servir os arquivos e ações sobre
esta pasta.
Nesta atualização do sistema, criamos um "roteamento de domínios". Funciona
assim: ao invés de indicar a pasta local dos arquivos do domínio, deve-se
indicar o IP e port do servidor e serviço que irão trabalhar com o determinado
domínio. Por exemplo:
Poderíamos configurar o IIS no port 8080 e o Apache no port 8088. Em seguida,
deixaríamos a entrada pelo port 80 no serviço do AICS. No configurador de
sites, configuríamos:
Site para o Apache: www.siteapache.com.br em 127.0.0.1:8088
Site para o IIS: www.siteiis.com.br em 127.0.0.1:8080
Com isso, de fora do servidor, qualquer usuário faria acesso direto aos sites
www.siteapache.com.br e www.siteiis.com.br sem saber e nem se preocupar
como isso está sendo processado. Além de poder ter sites associados diretamente
ao servidor web do Aics com o máximo poder de manipulação e velocidade
que ele dispõe.
Este roteamento foi feito com o máximo cuidado e não deve gerar nenhum
tipo de perda de performance de acesso ao serviço direto. Nenhuma tradução
foi feita dos comandos, logo, é total e transparente a passagem de dados entre
os clientes web e os serviços nativos.
Nota técnica avançada.
Com esta função, será possível preparar dados para envio por
meio eletrônico, armazenagem com posterior aplicação e o que
mais a realidade necessitar.
Sintaxe:
function CursorToTags(CursorName:string):String
Onde, CursorName é o nome do cursor que deve ser exportado
O resultado será o conteúdo formatado como tags XML ou HTML.
O AICS possui módulos bem poderosos para manipulação de
informações e texto. Estes módulos processam tanto visualmente
quanto graficamente, estas informações. Em janeiro de 2009, entrou
em vigor a nova ortografia e o custo para se adequar a ela pode
ser grande em função dos volumes de textos já existentes.
A internet, por exemplo, é dinâmica e o conceito de textos antigos
e textos novos é relativa.
Para facilitar este trabalho, tanto em textos atuais quanto em novos,
a BF desenvolveu uma rotina que converte palavras para a nova
ortografia. Inicialmente, a rotina está disponível apenas para ser
aplicada por script. Sua sintaxe é:
Function ParaOrtog2009(Entrada:String):String
Esta rotina analisa trema, ditongos, hiato e todos os inúmeros
casos de aplicação ou não do hífen.
Esta nota é voltada a desenvolvedores de ambientes em internet.
O servidor Web do AICS possui a característica de oferecer controles
automáticos aos usuários sem a necessidade de conhecimento e nem
mesmo de manipulação de códigos HTM.
Um dos recursos interessantes que já existia no servidor era o controle
de edições de dados utilizando "javascript injection". Eram algumas
rotinas chaves que foram criadas permitindo estes controles automáticos.
Entretanto, quando um desenvolvimento precisa-se de rotinas mais
avançadas, estas do AICS ou eram ignoradas ou eram utilizadas de
modo redundante.
Por isso, integramos as rotinas do JQuery ao servidor web do AICS
na ação associada aos controles de DIVs. A chamada a:
Irá incluir as rotinas do JQuery versão 1.3 automaticamente! Sem
redundâncias e oferecendo o mesmo poder com a vantagem de ser
um código integrado!
O novo recurso de validação de senhas sem transitar as senhas
pelo canal de comunicação (válido para servidor web do Aics)
gerou uma alteração no modo de validação. As senhas passam
a ser sensíveis a maiúsculas e minúsculas. Isso para qualquer
servidor de dados.
Esta característica ocorria apenas nos servidores que tinham
a característica de serem "case-sensitive".
Esta nota pode ser considerada puramente técnica por alguns
usuários do sistema. Além disso, é importante para usuários
que utilizem scripts em rotinas "web".
Quando ocorre um post sobre o serviço web, dependendo da
ação, os parâmetros já são transferidos para a tabela indicada.
Por exemplo, uma ação "tabsave" transfere os dados para a
tabela indicada no parâmetro "tab".
Entretanto, se a rotina precisar transferir os parâmetros para
outros comandos SQL (indo desde comandos de seleção a de
atualização), isso teria que ser feito linha a linha.
Visando ganhar tempo e velocidade, publicamos uma função
que irá passar os parâmetros do formulário para um cursor
qualquer, sua declaração é:
Procedure SetContentFromWebFields(NomeCursor:String)
Onde NomeCursor é o nome que foi dado numa declaração
de comando do tipo TablePrepareSql. Após este comando,
você ainda poderá manipular livremente os atributos antes
de enviá-lo ao servidor.
O módulo RCC do AICS possui um sistema de fluxo de trabalho
(workflow) baseado em Pendências e Atividades. Uma Atividade
pode gerar N pendências. Estas pendências podem ser atendidas
por outras N atividades que podem gerar mais pendências etc.
Em muitas aplicações do sistema, estamos iniciando os processos
em "Pendências" e não em Atividades. Nestes casos, o código
inicial da Atividade fica zerado indicando que é uma pendência
sem registro do fato gerador.
Este caso ocorre, atualmente, em pendências automáticas ou
geradas por sistemas de atendimento automático. Para manter
a rastreabilidade do atendimento e sequenciação, nas Atividades,
adicionamos o número da pendência que está sendo atendida.
Este número é associado automaticamente quando, na tela de
pendências, clica-se com o botão direito e pede-se "Apontar...".
A nova coluna criada em APONTAM (PD_ITEMORG) pode
ser associada também pelas suas rotinas desenvolvidas internamente
visando obter a mesma rastreabilidade.
Esta nota pode ser considerada técnica para alguns usuários.
O servidor Web do AICS permite armazenar variáveis do tipo
texto nas sessões do usuário. Estas variáveis desaparecem quando
as telas dos navegadores são fechadas ou se o servidor web for
reiniciado.
Quando houver necessidade de registrar informações no cliente
permanentemente ou que não desapareçam com o fechamento
das janelas, a Byte Factory publicou 2 funções de aplicação simples:
Procedure SetCookie(Nome,Valor:String;Validade:TDateTime)
Function GetCookie(Nome:String):String
São funções praticamente autoexplicativas de acordo com seus
parâmetros. Importante destacar que elas NÃO FUNCIONAM
em modo AICS, apenas em Scripts feitos em funções Web.
Portanto, utilizem diretivas {$ifdef webaics} para garantir que
estas rotinas não gerem problemas em rotinas compartilhadas.