CodeunitACF Management
Usando a codeunit ACF Management você tem a capacidade de invocar as principais funções de controle do Anveo Client Suite e usar em seu código.
Os serviços web utilizados para comunicação com o Dynamics não permitem qualquer interação com o usuário no Anveo Web Portal por razões técnicasAnveo Web Portal Como resultado, as funções Dynamics MESSAGE, CONFIRM, STRMENU e DIALOG não são automaticamente identificadas e exibidas no cliente. Por outro lado, estas restrições predefinidas estipuladas pelos serviços web podem ser contornadas com pouco esforço através da transferência destas invocações para a codeunit ACF Management. A codeunit faz a diferenciação de casos entre Dynamics Client e Anveo Client Suite automaticamente e processa o caso em conformidade.
As mensagens de erro causadas por ERROR não têm que ser adaptadas, o serviço web pode tratá-las.
A função MESSAGE é equivalente à mesma função no Dynamics. Você pode usar mensagens, nas quais você substitui o código:
MESSAGE('Hello World!');
MESSAGE('Hello %1!', anyVariable);
com este código:
ACFManagement.MESSAGE('Hello World!');
ACFManagement.MESSAGE1('Hello %1!', anyVariable);
A função MESSAGE1 significa que ela contém um parâmetro que está incorporado no texto da caixa de mensagem. Ao activar as funções MESSAGE …MESSAGE10 pode especificar até 10 parâmetros.
Caso seja necessária a interação com o usuário por meio de uma mensagem CONFIRM, é possível substituir o código:
IF CONFIRM('Are you sure?') THEN doSomething();
IF CONFIRM('Do you want to delete %1?',anyVariable) THEN
doSomething();
com este código:
IF ACFManagement.CONFIRM('Are you sure?',TRUE) THEN
doSomething();
IF ACFManagement.CONFIRM1('Do you want to delete %1?',FALSE,
anyVariable) THEN
doSomething();
Análogo às mensagens, ativando CONFIRM ... CONFIRM10 você pode especificar até 10 parâmetros. Tenha em atenção que tem de especificar o parâmetro Default, esse parâmetro pode ser omitido no CONFIRM do Dynamics.
Assim como na versão padrão Dynamics, com uma atenção CONFIRM que nenhuma tabela foi bloqueada antecipadamente com INSERT, MODIFY, DELETE ou LOCKTABLE, porque a tabela não é liberada até que o usuário se registre novamente. Isto, por sua vez, significa que um bloqueio muito longo vai restringir o trabalho de outros usuários de aplicativos. Se tal caso for inevitavelmente necessário e tiver ocorrido deliberadamente ou acidentalmente, uma sessão de usuário no Web User Setup permite que ele seja redefinido para que o processamento seja abortado.
No caso de um “Yes” ou “No” ser suficiente como interação com uma mensagem CONFIRM, você pode substituir o código:
Selection := Dialog.STRMENU('Yes,No,Cancel',2,'Save?');
com este código:
Selection := ACFManagement.STRMENU('Yes,No,Cancel',2,'Save?');
As funções da codeunit ACF Management são análogas às mesmas funções do Dynamics e são utilizadas para ter o status de processos longos (por exemplo lançamentos) exibidos. Um exemplo de uso de diálogos é encontrado na codeunit ACF Events Admin/Examples, função
OnAction_EXAMPLE(), código de ação EXAMPLE:PROGRESSW.
Equivalente à função HYPERLINK do Dynamics.
Abre uma Anveo Page com o conteúdo da URL especificada.
Abre uma Anveo Page com o conteúdo da URL especificada que permite uma URL muito mais longa do que a função OpenURLExtended (encontre mais informações aqui).
Abre uma página web mostrando um mapa de mapas do Google no endereço especificado. Para um exemplo veja o código de ação CONTACT:OPENGM na codeunit
ACF Events Sales & Marketing
Abre uma Anveo Page especificada no cliente web.
Abre uma Anveo Page especificada no cliente web para inserir um novo registo. Uma vez aberta a Anveo Page, o registo é criado.
Fecha a Anveo Page atual no cliente web.
Cria um novo registro na Anveo Page atual. Esta função é igual à acção NEW_RECORD() da codeunit ACF Events (ver mais informações aqui).
Recarrega a Anveo Page atual no cliente web.
Recarrega todas as Anveo Pages abertas que se referem à tabela com o número indicado. O segundo parâmetro desta função define o escopo: 0 = all card, 1 = all lists, 2 = all cards and lists.
Abre uma caixa de diálogo para download de arquivos ou para visualização direta de documentos PDF, desde que um plug-in de navegador apropriado esteja instalado.
Abre uma caixa de diálogo para download de arquivos, independentemente de ele poder ser exibido diretamente no plugin do navegador ou não.
Abre uma caixa de diálogo para carregar arquivos. O primeiro parâmetro da função retorna o nome do arquivo (sem caminho), onde o arquivo carregado foi armazenado. O arquivo é localizado depois de carregado no diretório de transferência do Anveo Client Suite, como configurado na Anveo Setup no campo Web Service File Transfer Folder.
Retorna o ID da sessão atual do usuário do Anveo.
Retorna o código de Anveo User ou a variável global USERID do Dynamics dependendo do código C/AL foi chamado pelo Anveo Client Suite ou pelo Dynamics.
Retorna o código de Anveo User, desde que seja invocado dentro do Anveo Client Suite. Caso contrário, um valor em branco é retornado.
Retorna se o código C/AL está sendo invocado do Anveo Client Framework para que diferentes tipos de comportamento possam ser decretados. Comparável a ISSERVICETIER ou GUIALLOWED em Dynamics.
Retorna se o código C/AL está sendo invocado a partir do Anveo Mobile App para que diferentes tipos de comportamento possam ser decretados. Comparável a ISSERVICETIER ou GUIALLOWED em Dynamics.
Grava uma entrada de log para uma determinada função juntamente com um texto de acompanhamento. Você pode depurar seu código C/AL usando o protocolo ativado de todas as entradas do usuário.
Como o xRec não está disponível em todos os lugares (veja aqui), você pode configurá-lo usando a função SetxRec. A definição do xRec já ocorre em ACF Events codeunit.
Como o xRec não está disponível em todos os lugares (veja aqui), você pode obtê-lo usando a função GetxRec. Obter o xRec já ocorre em ACF Events codeunit.
Cria um arquivo temporário no servidor onde o serviço web do Dynamics está sendo executado e retorna seu nome.
Ao abrir Anveo Pages, a tabela de origem e o código de relação são entregues como parâmetro em vez da tabela de destino (como é o caso do Dynamics Standard). Uma vez que a tabela de destino está localizada na relação especificada e todos os filtros (incluindo o filtro de segurança) estão lá definidos, as Anveo Pages devem ser abertas desta forma por razões de segurança.