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

ZIP e UnZIP para uso geral

07/12/2008 em CENTRO DE INFORMAÇÕES

O AICS já possuía rotinas internas para processamento de arquivos ZIP. Agora, foram publicadas e colocadas à disposição em todos os módulos. Quer um exemplo prático interessante? Imagine programar o servidor para, todo domingo à noite, baixar um ZIP de um site de banco de dados, expandir o arquivo, validar e importar numa certa base de dados. Após isso, pode reexportar os dados em Excel, "ZIPar" de novo e enviar por email a certos destinatários.
Brincadeira? Tudo possível em todas as ferramentas do AICS! Declarações das rotinas:
Function ZIP(Zip, Mascara:String):boolean Function UnZIP(Zip, Mascara, Destino:String):boolean

Função para trabalhar com múltiplas conexões

07/12/2008 em CENTRO DE INFORMAÇÕES

O AICS trabalha sobre bancos SQL; até aí, nenhuma novidade.
Só que as versões mais recentes podem trabalhar AO MESMO TEMPO, com diversas conexões de dados SQLs ou não.
Na Configuração Geral, aba SQL, pode especificar diversas Strings de conexão e associar nomes a elas. Estes nomes podem ser aplicados a comandos SQL de cursores tipo AICS nas funções TableExecSQLCONN e TablePrepareSQL CONN.
Nos objetos nativos de dados que tenham a propriedade Connection (como TADOQuery, por exemplo) seria necessário criar um objeto de conexão e associá-lo a este objeto. Mas, para que isso se o AICS já gerencia estas conexões múltiplas sozinho? Portanto, a BF criou a seguinte função:
Function ConnectionByName(Name:string):TADOConnection Onde o valor do parâmetro Name deve ser um dos nomes das conexões definidas na Configuração Geral. Note que nem é necessário criar um objeto de conexão, esta função já retorna o objeto interno, otimizado e funcional.

Generalização da pesquisa do usuário

07/12/2008 em CENTRO DE INFORMAÇÕES

O AICS possui um recurso muito simples para personalizar as pesquisas internas do sistema. Quando o filtro é ativado, se existir uma vista com o nome:
USUFILTROXXX, Onde XXX é o nome da tabela principal, este filtro será montado e utilizado no lugar do filtro interno do sistema. Para que este recurso funcione, o usuário ativo deverá ter direito de PESQUISAR sobre esta Vista.
Entretanto, este recurso esta habilitado apenas a tabelas internas e não a telas baseadas no Centro de Informações.
Alguns módulos do AICS atualmente são baseados diretamente do Centro de Informações e esta característica de personalização foi requisitada pelos usuários.
Portanto, sendo uma tela interna do sistema OU, agora, uma tela dinamicamente construída baseada no Centro de Informações, a regra de substituição do filtro fica generalizada.

Publicação de função para baixa completa de NFs

07/12/2008 em CENTRO DE INFORMAÇÕES

O AICS baixa as NFs dando entrada e saída dos materiais sempre de forma consistente. Por exemplo, seguindo as regras indicadas nas CFOPs dos itens e não da NF.
Em situações nas quais ocorre importação de NFs de outras fontes, pode ser complicado reproduzir a rotina consistente que o AICS possui internamente. Portanto, criamos uma função externa, que pode ser chamada, por exemplo, logo após as importações, cuja sintaxe é:
Function BaixarEstNF(NF_numero:double;Netcod:String):boolean Onde, informe o Número serial interno e o local da NF.
A rotina pode retornar falso se a NF já foi baixada ou ela se encontra bloqueada.

Incrível Integração do ambiente RAD do Delphi com o AICS

06/12/2008 em CENTRO DE INFORMAÇÕES

Um recurso pouco conhecido do AICS é a importação dos objetos de formulários em formato textual e conversão dos mesmos para código visando a criação automática de formulários.
Este mesmo recurso foi extremamente expandido na versão mais recente do AICS permitindo adicionar conjuntos de objetos em quaisquer formulários, mesmo pré-existentes. A sintaxe é exatamente a mesma, bastando indicar o trecho da descrição dos objetos dentro de um tag numerado DFM. Para deixar este recurso ainda mais claro, montamos um vídeo explicativo. Basta acessá-lo pelo site.

Nova função DiskFree publicada

06/12/2008 em CENTRO DE INFORMAÇÕES

Em algumas operações que envolvam cópia de arquivos, saber o espaço livre nas unidades pode ser um ótimo recurso para escolher, por exemplo, aonde um dado arquivo será gravado.
Para permitir estes controles, publicamos a seguinte função:
Function DiskFree(Unidade:Char):double Onde a Unidade é a letra (em maiúsculo) desejada. Por exemplo, DiskFree('C') retorna o espaço livre na unidade C. O valor retornado é em ponto flutuante pois os tamanhos dos discos atuais são realmente grandes.

Novo comando permite definir o tipo de retorno do serviço web dinamicamente

06/12/2008 em CENTRO DE INFORMAÇÕES

O serviço web do AICS, que pode operar de forma independente como um servidor Web, apresenta os comandos de retorno direto, que são:
- WriteWeb: Retorno com conversão em HTML - WriteWebPlain: Retorno original, sem conversão - WriteWebFile: Envio de um arquivo indicado No terceito comando, o serviço irá enviar o tipo de dados automaticamente, seguindo o padrão do tipo de arquivo enviado. No primeiro e segundo casos, o padrão é sempre text/html. Entretanto, o segundo caso pode ser muito mais dinâmicro, podendo retornar qualquer tipo. Para isso, antes de qualquer envio, utlize este novo comando que pode ajustar o tipo de dado, por exemplo:
SetContentType('text/xml');
O exemplo acima indica aos navegadores que o retorno é em XML.

Novas opções para exportar XML

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

As ferramentas do AICS permitem exportar os cursores em diversos formatos, incluindo XML. Para este caso, o procedimento tem a sintaxe:
function ExportCursor(Format, CursorName, FileName:string):boolean O valor do parâmetro "Format" passa a aceitar:
XML -> Com schema e com acentos XML2 -> Sem schema e com acentos XML3 -> Com schema e sem acentos XML4 -> Sem schema e sem acentos Este tipo de opção é importante pois nem todos os dispositivos, tais como dispositivos móveis, aceitam acentuação em todos os casos.
Opção válida para todas as ferramentas do AICS.

Estilos aplicados aos elementos dos formulários

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

A tabela utilizada nos módulos editoriais do AICS que define os atributos gráficos dos textos é denominada ESTILOS. Esta tabela não era padrão do AICS porque estava vinculada unicamente a estes módulos.
Para permitir a personalização visual das entradas dos dados (isto é, que os atributos textuais possam ser controlados nos formulários do AICS), adicionamos um link entre as colunas das tabelas do sistema e o estilo.
É como se pudéssemos formatar cada entrada de dados dos formulários do AICS de acordo com as características gráficas desejadas. Este novo atributo encontra-se no Centro de Informações, aba Opções de Apresentação.
Basta selecionar o nome do estilo (que está numa lista à direita) que a tela criada automaticamente já se abrirá com o campo formatado seguindo estas diretrizes.
Este novo recurso vale para entradas de dados e para entradas de dados tipo RTF. Ainda não foi aplicado aos formulários pela Internet, mas o será se os usuários assim o desejarem.

Regras de negócio generalizadas

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

Um valioso recurso na implementação de acessos remotos por setores! As regras de negócio ficam armazenadas nos eventos associados às tabelas ou colunas. Entretanto, para fins de simplificações ou mesmo de segurança, é comum e usual criar vistas para acessar os dados de forma indireta.
Por exemplo, podemos criar uma vista sobre o cadastro na qual ela restrinja a visibilidade dos dados a partir do login ativo. Perfeitamente simples isso, bastando aplicar :LOGIN em alguma parte da expressão de seleção.
Entretanto, quando isso ocorre, as regras ficavam na tabela original, isto é, as regras deveriam ser copiadas ou adaptadas à nova estrutura.
Mas, e se a nova estrutura for realmente apenas uma vista? Pois bem, a versão mais recente do AICS, caso não haja NENHUMA REGRA NA VISTA, aplicará as regras da tabela pai sobre ela. De tal forma que as chamadas aos cursores devem seguir a nova regra com o uso do nome DEFAULT, para que o cursor aceite ser dinâmico.
Caso haja alguma dúvida sobre isso, consulte o suporte técnico da BF, mas reiteramos que este novo recurso simplifica extremamente o projeto deste tipo de projeto, além de potencializá-lo ao mesmo tempo.

Leia, por favor

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