Relações flexíveis entre Anveo Pages
Normalmente, o Anveo Client Suite identifica a relação entre duas Anveo Pages usando as relações de tabela que são configuradas uma vez globalmente para todas as Anveo Pages. Esta configuração é feita em ”Anveo. Por exemplo, a relação entre o ”Customer” e o ”Sales por conseguinte, não têm de ser definidas manualmente para cada constelação de Anveo Page como no Dynamics.
Para cenários mais especiais nos quais a relação entre duas tabelas não deve ser criada por meio da relação direta de campo para campo, um código C/AL pode ser depositado na codeunit ”ACF A função CustomAnveoPageRelation define a relação manualmente. Isso possibilita, por exemplo, a saída do contato relacionado para um cliente.
A relação descrita acima é definida no código C/AL no exemplo de código a seguir:
// Show related company contact from customer
// Data Source: Customer
// Destination: Contact
// 1. Set table reference
RecRef.SETTABLE(Customer);
Mgt.OPENRecRef(DATABASE::Contact,DestRecRef);
// 2. Filter
ContBusRel.RESET;
ContBusRel.SETCURRENTKEY("Link to Table","No.");
ContBusRel.SETRANGE("Link to Table",ContBusRel."Link to Table"::Customer);
ContBusRel.SETRANGE("No.",Customer."No.");
IF ContBusRel.FINDFIRST THEN
Contact.GET(ContBusRel."Contact No.");
Contact.SETRECFILTER;
// 3. Copy Filters to DestRecRef
DestRecRef.SETVIEW(Contact.GETVIEW);
É possível pesquisar o texto fonte mostrado acima no ACF Eventos Vendas e Marketing, função CTR_CUSTOMER:CONTACT.
A criação de uma relação de tabela personalizada é feita de acordo com o mesmo esquema:
- Converter a referência do registro em um registro; criar uma variável local e atribuí-la (linha 6).
- Crie a tabela de destino como uma variável local. A tabela de destino tem o tipo da Anveo Page destino (na tabela de exemplo Contato).
- Transferir o filtro para a referência de registro (linha 17)
Para utilizar a relação de tabela personalizada no Anveo Web Portal é necessário chamar a função CustomAnveoPageRelation, utilizando o código de relação CTR_CUSTOMER:CONTACT:
CASE RelationCode OF
'CUSTOMER:CONTACT': "CTR_CUSTOMER:CONTACT"();
END;
O código de relação CUSTOMER:CONTACT deve ser tornado público na configuração do Anveo Client Suite e ser inserido na Anveo Page como relação de tabela individual, para que o Anveo Client Suite utilize a relação de tabela definida manualmente em vez de relações de tabela automáticas definidas globalmente. O registo utilizado para filtragem nas Anveo Pages do tipo cartão é definido pelo registo apresentado no cartão; na lista Anveo Pages do tipo o registo para filtragem é definido pelo registo seleccionado.