POR QUE ESCOLHER A BYTE FACTORY?

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.

CONTATO
  • End.: Av. Jose de Souza Campos, Nº 1.815, cj 1.202
    Campinas-SP CEP 13025-320
  • Tel: +55 19 3795-4460 / 4461 / 4462 / 4463
  • Email: atendimento@bf.net.br

Novas políticas visando evitar ataques e melhoria de performance

01/11/2008 em WebServer

O módulo do AICS que executa o serviço de Servidor Web completo é denominado ServAICS. Com ele, pode-se montar um servidor Web completo e de baixa ou alta complexidade e capacidade.
Devido à verticalização deste módulo, a BF pode desenvolver uma política extremamente inteligente visando minimizar o ataque de hackers e de scanning.
Dentre as medidas tomadas nesta atualização, citamos:
1. Aplicação de atraso crescente para IPs que acessam determinados sites especificamente e seguidamente. Este comportamente pode ser um simples scanning de uma máquina virtual ou mesmo um ataque de hacker com o intuito de derrubar os serviços. Neste caso, o ServAICS irá aplicar um atraso fazendo com que este determinado IP tenha uma resposta mais lenta e, com isso, dando mais vazão aos demais processos.
2. Não aceitar mais do que um certo número de conexões simultâneas de um determinado IP, isto é, além de um ataque serial, existem ataques paralelos nos quais diversas instâncias do servidor são chamadas ao mesmo tempo.
Isto é impossível quando do outro lado temos um usuário de um browser normal, logo, ServAICS detecta este caso e não aceita mais conexões enquanto as demais não forem derrubadas.
3. Novo atraso por site. Funciona inserindo um tempo de espera em cada requisição de um determinado site, entretanto, APENAS para chamadas a funções que envolvam processamento: ações ou scripts. Este tempo é em ms e deve ser a 7a linha do arquivo de configuração de acesso .INI 4. Um recurso pouco conhecido que é destaque no ServAICS é o gerenciador de uploas. Funciona transferindo os dados em disco e não em memória, exceto quando o tamanho do dado sendo transportado for pequeno (menor que 1MB). Por isso mesmo, o ServAICS é o único servidor Web capaz de gerenciar altas cargas de download e upload! Disponível no ServAICS mais recente.

Correção na baixa de Compras Eventuais

01/11/2008 em Compras

Apenas no caso da baixa automática de Compras Eventuais, em algumas situações, o Status passava a Entregue Parcial e não a Entregue simplesmente.
Este problema ocorria mesmo quando a quantidade total estava sendo entregue. Para a entrega de Compras de Materiais (estoque), este problema não ocorria.
Em Compras simultâneas, adicionamos o filtro do nome do fornecedor mesmo na primeira tela de acesso.

Melhoria em Compras automáticas

01/11/2008 em Compras

Existe uma integração muito interessante no AICS entre o módulo de Materiais e o de Compras. Em Materiais, pode-se analisar as necessidades de compras numa grade e selecionar quais desejam ser executadas.
Pedindo a criação dos Processos de Compras, as seguintes melhorias foram feitas:
- Inicia no Status Andamento - Arredonda as quantidades requisitadas para 4 casas - Sugere o fonecedor mais importante dos Itens Os demais registros permanecem os mesmos.

Melhoria na Integração Materiais - Compras

01/11/2008 em Compras

Dentro de Materiais, temos a análise de Itens a Comprar. Nesta análise, podemos selecionar uma a uma as compras desejadas e criar os respectivos processos de Compras.
Para deixar o processo ainda mais claro, adicionamos, além do estoque mínimo e saldo atual que já existiam, uma coluna de Reservas e Encomendas e de Compras em andamento. Isto é, a visão do que deve ou não ser aberto em processos de compras ficou muito mais explícita.
Expandimos o relatório de Itens a Comprar. Indicando um período para o relatório, o mesmo irá calcular o consumo diário de cada item no referido período e informar quantos dias, se mantiver o mesmo consumo, o saldo atual será suficiente.

Visibilidade do Responsável Comercial alterada

01/11/2008 em Cadastro

Como padrão, no Cadastro Geral, o campo de Responsável Comercial (vendedor) ficava invisível se o cadastro era de um vendedor.
Entretanto, a ligação entre vendedores pode ser útil para indicar regras de comissionamento do tipo Supervisor - Vendedores, podendo utilizar o campo de Vendedor para indicar o Supervisor.
Desta forma, pode-se ainda atribuir o conceito de Supervisor de Supervisor e assim em diante. Em seguida, pode-se aplicar a regra de negócio mais adequada com esta nova facilidade.

Campos calculados dinamicamente por rotinas callback

01/11/2008 em Centro de Informações

Dentro do Centro de Informações, temos uma definição da Expressão que uma dada coluna possa seguir. Esta expressão pode ser um cálculo utilizando os dados de outras colunas e pode apresentar funções.
Logo, é um caso de uma coluna que pode receber um valor e este valor ser gravado na base (se for uma coluna física). Entretanto, criamos uma regra na qual esta rotina executa uma determinada rotina ao invés de fazer o cálculo da expressão internamente.
Por exemplo, uma tabela tem uma coluna denominada VALOR.
A função para calculá-la deve ser declarada assim (pode ser no Evento Entrar da tabela mesmo):
Function AICS_Evaluate_VALOR(Parametro:Integer):boolean;
Se a função retornar falso, o cálculo pela expressão do cadastro nem será feito, isto é, esta função pode ajustar normalmente o valor da coluna VALOR utilizando quaisquer regras que desejar.

Novos códigos de barras

01/11/2008 em Centro de Informações

A rotina que gera códigos de barras em relatórios em geral foi revisada.
Sua sintaxe é (para recordar):
Procedure PaintBarCode(Elemento,Mensagem:string;Tipo,Largura,Altura,Aspecto:integer);
Onde o Tipo pode receber os números:
0 -> Code2_5_interleaved <-- Ex.: Barra de boletos de cobrança 1 -> Code2_5_industrial, 2 -> Code2_5_matrix, 3 -> Code39, 4 -> Code39Extended, 5 -> Code128A, 6 -> Code128B, 7 -> Code128C, 8 -> Code93, 9 -> Code93Extended, 10 -> CodeMSI, 11 -> CodePostNet, 12 -> CodeCodabar, 13 -> CodeEAN8, 14 -> CodeEAN13, 15 -> CodeUPC_A, 16 -> CodeUPC_E0, 17 -> CodeUPC_E1, 18 -> CodeUPC_Supp2, { UPC 2 digit supplemental }
19 -> CodeUPC_Supp5, { UPC 5 digit supplemental }
20 -> CodeEAN128A, 21 -> CodeEAN128B, 22 -> CodeEAN128C Este procedimento pode ser aplicado a qualquer elemento gráficos de relatórios.

Viabilidade da montagem de cabeças totalmente gráficas

01/11/2008 em XTension

O recurso de montagem automática de cabeças de página quando a XTension do AICS é utilizada na montagem de listas foi ampliado.
Agora, mesmo se as cebeças forem totalmente gráficas, poderemos associar um conteúdo (usando o tag TITLE) antes do caminho do arquivo para que este texto seja transferido para as cabeças e para o próprio índice automático.
Isto é, se a publicação tiver em sua estrutura aberturas de seções textuais ou gráficas, poderemos, de forma idêntica, configurar os textos que aparecerão nas cabeças e nos índices automáticos.

Um novo conceito de nomes genéricos

01/11/2008 em Centro de Informações

Toda vez que uma tabela é referenciada nas rotinas do usuário, a chave de acesso é o nome do cursor definido ou o nome da tabela ou vista principal. Estes nomes precisam estar definidos nas instruções de execução de SQLs e de edição e leitura de dados.
Agora, podemos utilizar um nome fixo desta chave como DEFAULT.
Por exemplo:
Mostra('O valor do preço é ' + AsString('PEDIDOS','TOTAL'));
No exemplo, acima, definimos o nome genérico e o comando seria:
Mostra('O valor do preço é ' + AsString('DEFAULT','TOTAL'));
Sendo que esta chave assumirá o nome do cursor principal das telas do AICS e do ServAICS. Quando este nome for executado dentro de rotinas do sistema, ele retornará SYSTEM (que para fins de dados, não tem nenhum signifcado, apenas em vistas e tabelas diretas).

Atualização automática de combos nos sites

01/11/2008 em WebServer

Um dos recursos interessantes do AICS é a integração entre as regras definidas no cliente Windows e as regras que podem ser aplicadas no módulo Web, que podem ser as mesmas.
Entretanto, um item de interatividade que é mais natural no cliente Windows é o uso de listas dinâmicas. Por exemplo, ao selecionar um dado de uma lista, ela altera os itens de outra ou outras listas.
Este processo poderia ser feito normalmente pelos webdesigners com as ferramentas do AICS no servidor e usando Javascript no cliente. Como o objetivo do AICS é sempre facilitar e integrar as regras. adicionamos este recurso nativamente ao ServAICS, isto significa que as listas nos formulários internet poderão ser preenchidas por SQLs dinâmicos com parâmetros dados por outras listas.