sexta-feira, 8 de abril de 2011

Protheus - Configurador

ADVPL Básico - Configurador PDF Imprimir E-mail
Escrito por Marcus Sullivan   
Sex, 04 de Março de 2011 03:08

Sumário: Este artigo documenta o conteúdo assimilado no treinamento de ADVPL básico – Configurador. Ministrado por Ricardo Cerceau em 29/02/2011.

Sigamat: Se quisermos acessar, através do ADVPL dados da empresa, que estejam no sigamat.emp, podem ser acessados pela tabela virtual “SM0”.
Cadastro das empresas: É feito através do configurador, depois enviado o sigamat.emp para suporte.totvs.com.br e é validado, normalmente no mesmo dia.
Diferença entre tabela compartilhada ou exclusiva: Se for compartilhado, cadastrando um campo na filial 5, ele será disponível em todas as empresas. Se exclusivo, cadastrando um campo na filial 5 somente essa filial terá acesso ao campo.
No Protheus 11, o nível de compartilhamento tem 3 níveis, por empresa, unidade de negócio e filial. E a lógica do compartilhamento ou não é a mesmas, só que somente nos níveis selecionados.
Obtendo informações sobre a tela ou programa: Como todos os programas, telas e imagens do protheus são objetos que estão compilados no RPO, caso queiramos abrir chamado para resolução de algum problema de programa, basta pressionar as teclas SHIFT+F6 que nos dá todas as informações da tela corrente.
Em que consiste atualização de Build: Atualiza o APPServer, Smartclient, Framework, ou seja, atualizamos a comunicação do sistema na parte servidor e cliente.
Obs.: Ao atualizar a Build é necessário verificar se o TOI está sendo utilizado nos clientes (integração com o Office). E então, baixar a versão mais recente que tenha a mesma data da build que estamos baixando.
Atualiza o arquivo da pasta APO, ou seja, tela, relatório, em fim, os fontes do sistema compilados. Normalmente, verificamos a data do RPO porque os patches e updates antes da data de liberação do RPO deve ser desconsiderada.
Atualização de Patch, corresponde a atualizações no RPO desde a sua última atualização completa. Pode ser atualização em um só objeto, por exemplo, de todos contidos no RPO. Normalmente, quando baixamos o Patch, vem com ele um boletim que informa o que foi alterado ou se há necessidade de rodar um compatibilizador.
Atualização de UPD: Normalmente são atualizações ou agrupamentos de patches que são aplicados de uma só vez. Mas segue o mesmo padrão dos Patches.
Compilação dos fontes do cliente no novo RPO atualizado: Os fontes são do cliente e devem ficar no cliente e ele tem total responsabilidade nesses fontes. Logo, após a atualização do RPO, o cliente deve ser consultado sobre onde estão os fontes para podermos compilar nesse RPO. Pois sem isso o sistema não rodará as customizações do cliente.
MITs principais: MITs 5 (ATA de reunião), 10 (Validação de que, o que foi pedido pra fazer foi feito), 31, 41(Levantamento), 42, 43, 44(Especificação técnica e aceite) e 72(Manual do usuário na customização) são as MITs mais importantes para conhecimento de todos os analistas.
Criar empresa do zero ou de base existente: Ao criar uma nova empresa será questionado se criaremos do zero ou a partir de uma base existente. Isso é importante se houver muitos campos customizados numa empresa e se queremos que esses campos sejam criados também nessa nova empresa.
Tabela SX5: Tabela SX5 é uma tabela que foi criada para evitar a criação de tabelas com poucos campos como sexo, estado civil e outros, por exemplo. A SX5 é a única tabela SX que fica dentro do banco de dados devido ao seu tamanho que veio aumentando com o tempo.
Validação de campo: Podemos manipular tabela nos campos de validação ou de gatilho utilizando a sintaxe SA1->A1_TIPO. Caso estejamos incluindo um registro, ele ainda não está no banco, logo só está em memória, então utilizamos o M->A1_TIPO que é a manipulação do valor do campo que está sendo digitado e ainda está na memória. Por exemplo: Para validar um campo podemos utilizar a regra “(VAZIO() .AND. M->A1_TIPO=”X”) .OR. CGC(M->A1_CGC))” ou seja, o campo CGC só pode ficar vazio se o campo A1_TIPO estiver marcado.
Validação de usuário ou de sistema: Não existe diferença entre validação de sistema ou de usuário a nível de validação, pois as duas são executadas. Mas a de sistema não é possível alterar através do configurador. Se quisermos customizar a validação basta alterar a validação de usuário.
Operadores lógicos no ADVPL: No ADVPL, gatilhos, validações, etc, quando utilizarmos operadores lógicos, estes devem ser precedidos de “. .”. Por exemplo:
.AND.
.NOT.
.OR.
.F.
.N.
.T.
.S.
Alteração de tamanhos nos grupos de campo: Quando criamos um campo customizavel não é possível associar um grupo de campo a ele. Por isso, criamos o campo normalmente e depois entramos, via APSDU na SX3 no campo X3_GRPSXG e atribuímos o grupo de campo manualmente no registro desse campo. Mas, é muito importante que todo e qualquer campo esteja atrelado a um grupo de campo pela facilidade que o usuário pode ter para aumentar o tamanho dos campos sem prejudicar o campo customizado.
Obs.: Para descobrirmos o código do grupo de campo e atribuir no campo customizado é necessário abrir a tabela SXG (tabela de grupo de campos) e consultar o código do grupo do campo que se quer atribuir.
Controle de numeração automática: Pode ser feito através das tabelas SXE e SXF ou pelo Hardlock através de parâmetro “EnableNumber=1” no totvsappserver.ini. Mas esse recurso só é válido a partir da versão 10 do Protheus.
A diferença entre o SXE e o SXF é que, quando se perde a numeração, utilizando as tabelas, basta utilizar o APSDU para retificar o próximo número e o próximo do próximo.
Quando utilizamos controle de numeração pelo Hardlock, só é possível alterar a numeração através do programa APCFG110(), que pode ser executado nos campos de formula dentro dos módulos Faturamento ou Compras.
                  
Referência – Tabelas do dicionário de dados:
SX1 - Perguntas e respostas
SX2 - Mapeamento de arquivos
SX3 - Dicionário de dados
SX4 - Agenda do Schedule de processos
SX5 - Tabelas
SX6 - Parâmetros
SX7 - Gatilhos
SX9 - Relacionamento entre arquivos
SXA - Pastas cadastrais
SXB - Consulta padrão
SXC - Controle de usuários
SXD - Controle de Schedule de processos
SXE - Seqüência de documentos (+1, END)
SXF - Seqüência de documentos (próximo, FIRST)
SXG - Tamanho padrão para campos
SXK - Controle de perguntas (SX1) usuários
SXO - Controle de log's por tabela
SXP - Controle de log's por tabela
SIX - Índices dos arquivos (1)
SINDEX - Índices dos arquivos (2) - Descontinuado