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 foi incrementado há meses atrás com o recurso de
memorizar os direitos do usuário logado. Este recurso diminui
muitos micro acessos ao servidor de dados e, como é uma
configuração geral, não impacta em nível de segurança.
Entretanto, apenas na entrada, ocorre o carregamento dos
direitos. Em algumas instalações, devido ao tempo de SQL,
este tempo estava sendo significativo, mesmo ocorrendo apenas
na entrada do sistema.
Na versão mais recente, alteramos a expressão enviada ao
servidor diminuindo sensivelmente (em alguns casos, mais
de 100x mais rápido) esta consulta. O ganho é de performance
e maior agilidade, sem perda alguma de segurança ou recursos.
Basta atualizar e manter a opção Memorizar direitos ligada da
Configuração Geral, nenhuma ação adicional é necessária.
A rotina que pode ser inserida em scripts do usuário para
assinar digitalmente documentos PDF foi alterada. Agora,
pode-se passar o motivo da assinatura (o motivo aparece
quando a mesma é exibida pelo Adobe Reader, por exemplo).
A nova sintaxe ficou:
Function PDFSign( FileToSign, Reason, CertFile, Password:String) :boolean
Por favor, caso alguma rotina tenha sido implementada na
sintaxe anterior, favor apenas adicionar uma string vazia no
segundo parâmetro, isso manterá o comportamento anterior.
Esta alteração afeta o processador de cálculos do AICS que
contempla, por exemplo, o cálculo de impostos e mesmo a
função CalculaStr por scripts.
O processador foi melhorado com a necessidade muito menor
de uso de parênteses adicionais. Atualizando o sistema, você
poderá testar o novo processador pelo menu Arquivo -> Utilitários
-> Testador de expressões. Um resumo das funções disponíveis
seria:
Operações matemáticas: básicas mais:
! -> negação. Ex.: !(valor), se valor = 0, retorna 1, senão 0
= -> igualdade. Ex.: valor1=valor2, se valor1 igual a valor 2, retorna 1, senão 0
> -> maior do que. Ex.: valor1>valor2, se valor1 maior que valor 2, retorna 1, senão 0
< -> menor do que. Ex.: valor1
Outras funções: sin, cos, tan, arctan, sinh, cosh, cotan, exp, ln, log10, log2, sqr,
sqrt, abs, trunc, int, ceil, floor, random, max, min, power
Rotina melhorada para AICS e para os serviços Web do AICS.
Esta alteração afeta, facultativamente, o apontamento e o Relacionamento
com Clientes. Basicamente, abrimos a possibilidade de separar os tempos
totais das atividades em frações que possam apresentar regras de valores
diferenciadas.
Para isso, na configuração dos processos, deve-se definir os modificadores
previstos para cada atividade. Estes modificadores podem apresentar
percentuais diferenciados sobre tempo e sobre distância. Ainda, nenhuma
limitação existe quanto ao uso destes modificadores em análises de tempo
para cada realidade.
Para ativar os modificadores no RCC, por favor, defina a tabela
APONMODIF diretamente no Centro de Informações, o AICS irá
carregar sua definição padrão automaticamente.
A previsão financeira no AICS pode ser alterada nos módulos
comerciais a partir da lâmpada de parcelas (fica ao lado dos
prazos e percentuais). Ao gravar o movimento, entretanto,
se o usuário pedisse, as parcelas seriam refeitas e as alterações
manuais poderiam ser perdidas.
Mesmo sendo um caso operacional remoto, sua reincidência
sugeriu uma nova regra. Ao personalizar as parcelas financeiras
nos módulos comerciais, o Aics irá marcar estas parcelas como
Aprovadas no financeiro (opção que não tinha uso para movimentos
do tipo contas a receber). Existindo esta opção nas parcelas
associadas, o financeiro não será alterado.
O AICS irá emitir uma mensagem explicando o que pode ser
feito: eliminar o financeiro anterior ou mesmo desligar a opção
de Aprovada. Neste condição, o módulo comercial origem irá
refazer as previsões.
O AICS é uma ferramenta de informação completa, podendo ser
usado como o melhor ERP ou o melhor sistema de integração ou
complementação de sistemas internos ou públicos.
Ainda, permite assinatura eletrônica de documentos, como PDFs
ou arquivos XML, podendo se integrar a serviços públicos ou
privados de documentos, por exemplo, Nota Fiscal Eletrônica
Federal ou mesmo municipais, sem alteração do sistema.
Nesta atualização, a BF expandiu os recursos de criação livre de
formulários aceitando imagens embutidas nos descritores. Por exemplo,
pode-se simplesmente copiar as fontes dos formulários elaborados
em praticamente qualquer versão do Delphi e colar nos scripts do
AICS, INCLUINDO as imagens dos botões!
Associado ao novo recurso de repositórios armazenados (STORED
no Centro de Informações), pode-se facilmente criar recursos
avançados e livres de pesquisa ou processamentos como se fossem
sub-sistemas isolados, criados sob demanda (sem nenhuma queda
de recursos não importando o tamanho dos sistemas armazenados).
Acrescente a isso as diversas modalidades de acesso a banco de
dados (são 3!), mais o novo Correio Eletrônico integrado ao ERP,
mais a possibilidade de utilizar uma meia dúzia de servidores de
bancos de dados, mais a possibilidade de executar o sistema,
tanto em servidores quanto em clientes, em Linux, mais o recurso
de multi-conexões a uma infinidade de servidores e mais a versatilidade
do AICS ser pequeno e rápido e você terá certeza de solucionar
qualquer problema em TI na atualidade!
O AICS possui observações para produção a partir da Engenharia, estas
observações tem o objetivo de apresentar maiores informações aos
agentes da produção.
Entretanto, durante a produção, manter certas informações especiais
pode ser importante em muitos casos. Para isso, adicionamos uma
observação na OP, específica uma a uma. Esta observação deverá
receber informações adicionais decorrentes do processo produtivo.
Nota revisada em 24/06/2010.
Esta nota deve ser considerada técnica para a maioria do público.
Os serviços de Nota Fiscal eletrônica, normalmente feitos por chamadas
do tipo webservice (SOAP), podem requerer que os conteúdos em XML
sejam assinados digitalmente.
Recentemente, adicionamos o controle de certificados digitais no AICS e
publicamos a rotina que assina documentos PDF digitalmente. Esta
rotina permite, sem nenhum módulo adicional, gerar documentos e
assiná-los digitalmente pelo sistema.
Nesta atualização do sistema, adicionamos o recurso de assinatura de
arquivos XML. Por exemplo, arquivos gerados para Nota Fiscal
Eletrônica precisam ser assinados. A rotina pode ser chamada por
script e ela MODIFICA o arquivo XML adicionando uma assinatura
a ele (faça uma cópia antes de chamá-la):
Function XMLSign(FileToSign, CertFile, Password, NodeToSign, URI:String):boolean
Onde,
FileToSign -> Nome completo do arquivo XML que deve ser assinado
CertFile -> Caminho do certificado, pode ser um certificado da máquina
instalado no Windows (peça exemplos do que informar a esta chamada)
Password -> Senha do certificado quando em arquivo
NodeToSign ->Nome do nó facultativo a assinar, senão será o documento
URI -> Identificador da assinatura, pode ser em branco
Esta nota pode ser considerada altamente técnica por alguns
usuários.
Na montagem de acessos a dados, os scripts podem utilizar
comandos do tipo TableExecSQL e os nomes dos cursores
passam a ser simples Strings. As atribuições são também
super simples e encapsulam possíveis falhas nas atribuições.
Entretanto, o AICS permite a criação de objetos de acessos
a dados tipo TADOQuery. Estes objetos podem representar
objetos tipo ADO ou outros tipos de objetos de acessos a
dados, depende apenas da versão do AICS utilizada.
Pois bem, no primeiro caso, os comandos de atribuição de
valores são do tipo SetString, SetFloat, SetDateTime etc. Mas,
estes comandos de atribuição requerem o uso de cursores
escondidos a partir dos alias atribuídos em comandos
TableExecSql. Se os cursores forem reais, pode-se atribuir
valores com a sintaxe Cursor.fieldbyname('nome do campo').as...
Onde, o as... pode ser AsString, AsFloat etc. Este comando
NÃO está imune a erros, isto é, se houver um erro no seu
código ou outra falha, o script poderá ser interrompido.
Ainda, se o cursor estiver fechado e for do tipo parâmetros
dinâmicos, a atribuição é ainda mais complicada. Visando
facilitar e encapsular estes comandos, a BF publicou as
atribuições internas que o AICS dispõe aos scripts dos
usuários, relacionados a seguir:
Procedure SetFloatDS(Cursor:DelphiTDataSet;Coluna:string;Valor:Double)
Procedure SetStringDS(Cursor:DelphiTDataSet;Coluna, Valor:string)
Procedure SetIntegerDS(Cursor:DelphiTDataSet;Coluna:string; Valor:longint)
Procedure SetDateTimeDS(Cursor:DelphiTDataSet;Coluna:string; Valor:Double)
Procedure SetLogicalDS(Cursor:DelphiTDataSet;Coluna:string; Valor:boolean)
A grande vantagem destes comandos está em não gerarem erros
e, ainda, os cursores podem ser do tipo aberto (em edição) ou
fechados (com parâmetros).
Recentemente, a Byte Factory adicionou recursos de gerenciamento
de certificados digitais ao AICS. Esta gestão aplica-se, por enquanto,
à assinatura de documentos PDF. Documentos PDF que podem
ser gerados automaticamente pelo sistema, por exemplo.
Entretanto, este recurso de assinaturas pode ser altamente útil no
quotidiano de nossos clientes. Por exemplo, pode-se criar serviços
de rede de assinatura automática a partir de "hot-folders". O AICS
pode ser o ERP mais completo que existe, mas pode complementar
outros serviços de forma inimaginável!
Depende da sua imaginação.
A sintaxe da função de assinatura digital por script é:
Function PDFSign(FileToSign, CertFile, Password:String):boolean
Onde,
FileToSign -> Arquivo PDF que será assinado (o arquivo será modificado,
logo, faça uma cópia se deseja preservar um original sem assinatura)
CertFile -> Caminho para o arquivo do certificado digital (facultativo, se
ausente, o AICS usará o certificado associado ao login atual)
Password -> Se o arquivo de certificado for informado, aqui deverá ser
passada a senha correspondente (senha do certificado e não a senha do
login ou do AICS, cuidado com isso)