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.: Rua Oriente Nº 55, cj 1310
    Campinas-SP CEP 13090-740
  • Tel: +55 19 3251-8496
  • Email: atendimento@bf.net.br

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).

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.

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.

Vetor de datas alterado!

01/11/2008 em CENTRO DE INFORMAÇÕES

A tabela de vetores de datas (TABVETDATE) foi alterada com a criação de 3 novas colunas (objetivo único de melhoria da performance em operações de JOINs):
CODPRINC, CODSEC e NETCOD.
Sendo que estas colunas receberão, automaticamente, os valores de acordo com a chave primária da tabela conectada. Por exemplo, se a tabela CONECTADA for ANUNCIO, ela receberá o código do anúncio em CODPRINC e o local em NETCOD. O calendário interno e todas as atualizações já estão preparadas para este novo recurso.
Qualquer estrutura que apresente colunas do tipo "Vetor de datas" tem a única restrição, devido a esta alteração, de que a chave primária não poderá ter mais do que 3 colunas, incluindo o NETCOD, em sua composição. Que, com certeza, não será empecilho na utilização deste novo recurso.

Função para gerar nrs aleatórios

12/12/2007 em CENTRO DE INFORMAÇÕES

Em suas regras de negócios, às vezes, uma certa quantidade necessita de variações. Muitas vezes criamos as variações sobre a data e hora do equipamento. Mas, quando precisamos gerar N valores variáveis muito rapidamente, este recurso fica obsoleto.
Publicamos a função Random com a sintaxe:
Function Random:double Sendo que o retorno dela é um número aleatório entre 0 e 1. Se precisar de qualquer outra faixa, basta multplicar este resultado pela faixa desejada.

Melhor dos mundos com ADO e DBX ao mesmo tempo

12/12/2007 em CENTRO DE INFORMAÇÕES

O AICS é apresentando em dois tipos de compilações: AICS.EXE para bancos de dados conectáveis por ADO e AicsX.EXE para bancos de dados conectáveis por dbExpress. Quando o AicsX é utilizado, os objetos de bancos de dados "ADO" são mapeados nos objetos de bancos de dados do dbExpress. Isto permite que todas as rotinas, internas e externas, feitas dentro do AICS ou fora dele sejam transparentes a isso.
Entretanto, o ADO original tem algumas facilidades nativas à própria interface. Por exemplo, fácil conexão a diversas outras estruturas, como MDB e mesmo planilhas em Excel.
Quando o AicsX é utilizado, os objetos ADO ficavam inacessíveis.
Nesta atualização do sistema, a BF está publicando 3 novas classes extremamente úteis, que são: RTADOConnection, RTADOQuery e RTADoTable. Estas classes são as classes "reais" do ADO, tanto no AICS baseado em ADO quanto no AICS baseado em dbExpress.
Isto é, se existirem scripts feitos utiizando estas classes com prefixo R, estes objetos sempre serão mapeados nos objetos ADO originais. Muito útil em rotinas de integrações etc.

Importante substituição de tabela em memória

11/12/2007 em CENTRO DE INFORMAÇÕES

A máquina de informações do AICS está sempre publicando novos objetos visando dar ao usuário o maior conjunto de ferramentas de informação.
Recentemente, o núcleo do AICS trocou o objeto da tabela em memória. A classe TRxMemoryData passou a TJvMemoryData.
Caso uma versão nova cause um erro nesta classe, basta substituí-la em seus scritps. Esta classe é muito pouco utilizada e o efeito nem deve ser percebido pelos projetos em andamento.

Envio de comandos sem processamento

10/12/2007 em CENTRO DE INFORMAÇÕES

O AICS permite se conectar a N bases de dados ao mesmo tempo, podendo integrar os dados destas fontes de informações num único local. Os usos vão desde B.I. a à importações/exportações automáticas, processamentos de mensagens em batch etc No envio de comandos ao servidor, quando for escolhida uma conexão que não a padrão, o AICS não incluirá comandos de ausência de lock automaticamente, permitindo executar comandos sem restrições.

Grandes mudanças para facilitar a Extranet

10/12/2007 em CENTRO DE INFORMAÇÕES

O AICS possui o ambiente de manipulações de informações mais simples e poderoso da atualidade. O seu conceito facilita e padroniza as principais atividades do dia-a-dia de nossas empresas.
No esforço de deixar ainda mais transparente o conjunto de ferramentas do AICS, a BF está embutindo um controle em Javascript interno ao ServAICS e WebAICS que permite controlar, na forma de portal, qualquer nível de suas informações e consultas. Assim:
- Ao navegar por uma informação, o AICS gerará um formulário de pesquisas com os mesmos campos definidos no Centro de Informações do AICS.
- Abaixo do formulário, um botão que atualiza a pesquisa e outros que podem aplicar o filtro das pesquisas em vistas definidas sobre a tabela principal.
- Nos campos de entrada de data, adicionamos um calendário no qual uma data poderá ser selecionada visualmente.
- Quando houver informação conectada (ex.: No comercial, pode-se selecionar o Cadastro do cliente), o AICS (a partir da configuração da tabela de relacionamentos) abrirá um botão de pesquisa que recairá sobre a navegação e retornará com os dados para o form principal.
Enfim, um conjunto de funções avançadas que, SEM UMA LINHA DE CÓDIGO, deixará o trabalho de manipular suas informações muito mais poderosa, sem restrições visuais, sem falhas de navegação (estamos usando métodos semelhantes ao AJAX).
Todos estes recursos já são válidos para todas as bases de dados anteriores do AICS!

Nova função que retorna SQLs padrões

10/12/2007 em CENTRO DE INFORMAÇÕES

O objetivo desta função é permitir o uso dos SQLs padrões do AICS ou os elaborados pelo usuário no Centro de Informações de uma forma padronizada.
Sua sintaxe é:
Function BuildSQL(Tabela,NetLocal,Filtros:String;ComOrderBy,ComPai:boolean;APartirDe,Retornar:longint;ComJoin:Boolean):String Onde, Tabela -> Nome da tabela ou estrutura que contém o resultado NetLocal -> Código do local Filtros -> Sequência de filtros que devem ser aplicados ao SQL, devem ser na notação CAMPO=VALOR e separados por ;
ComOrderBy -> Se adiciona ordenação ComPai -> Se inclui tabela pai na chamada (casos de master-detail)
APartirDe -> Posição inicial do resultado Retornar -> Nr de retornos desejados ComJoin -> Se adiciona ligações, mantenha sempre False pois não é necessário por enquanto

Leia, por favor

Nosso website utiliza cookies para facilitar a navegação. Ao continuar o acesso, você aceita essa política automaticamente.