ANVEDI Job Handler
Microsoft Dynamics 365 Business Central possui um sistema de programação de tarefas que permite executar codeunits em determinados momentos. Anveo EDI Connect oferece uma codeunit específica que pode ser utilizada. A codeunit tem o ID 5327312 e chama-se ANVEDI Job Handler.
Esta codeunit oferece diferentes tarefas e pode ser controlada pela cadeia de parâmetros. Esta cadeia segue regras simples e vamos mostrar-lhe exemplos para cada uma das acções disponíveis. A sintaxe geral deste parâmetro é:
Existem dois parâmetros que estão disponíveis para a maioria das tarefas, excepto para as Transacções comerciais:
Controla se os pós-processamentos são executados automaticamente. A predefinição é False, se não for especificado.
O pós-processamento deve ser executado depois
A configuração predefinida determinará se os pós-processamentos serão executados.
Este parâmetro é facultativo. O valor predefinido é sem vista de tabela. Este parâmetro especifica uma visão na tabela para a EDI Processing Queue que é utilizada se ProcessFollowing=True. A cadeia tem de ser uma vista de tabela Microsoft Dynamics 365 Business Central, como WHERE(Project Code=FILTER(A*)).
Acções frequentemente utilizadas
Na maior parte das vezes, será necessário utilizar uma das seguintes acções:
Recepção de dados
Esta acção irá receber dados para um canal de comunicação ou pasta especificados.
Terá de especificar um dos seguintes parâmetros:
Especifica uma cadeia de filtros para o código do canal de comunicação. Este pode ser o código completo ou uma cadeia de filtros.
Especifica uma cadeia de filtros para o código da pasta de transmissão. Este pode ser o código completo ou uma cadeia de filtros.
Executar um mapping
Muitas vezes, quando se pretende exportar dados, começa-se por uma tarefa de transacção comercial ou por um NAV mapping. Mas o sistema de programação pode executar qualquer tipo de mapping.
Os parâmetros permitidos são:
O código do projecto ou uma cadeia de filtro no código do projecto.
O código de formato ou uma cadeia de filtros sobre o código de formato.
O código mapping ou uma cadeia de filtros sobre o código mapping.
Elemento de segurança. Se devem ser executados vários mapeamentos. A predefinição é False.
Podem ser executados vários mapeamentos.
Não podem ser executados mapeamentos múltiplos.
Recolher dados de transacções comerciais
Se existir um tipo de transacção comercial com recolha de dados, é possível utilizar a seguinte cadeia de parâmetros:
Existe apenas um parâmetro:
O código do tipo de transacção comercial. Este parâmetro não permite filtros.
Manutenção
Se pretender utilizar a funcionalidade de repetição automática dos mapeamentos ou canais de comunicação, tem de configurar uma tarefa de manutenção simples. Este trabalho é muito rápido se não houver nada para fazer e pode ser executado com bastante frequência. Tenha em conta que a tarefa tem de ser executada pelo menos tantas vezes quantas as acções que pretende repetir.
A tarefa não tem parâmetros.
Acções avançadas
As acções seguintes são mais especializadas e não são utilizadas com tanta frequência.
Processamento em lote de dados de transacções comerciais
O código do Batch. Este parâmetro não permite filtros.
Recolher e processar em lote dados de transacções comerciais
Trata-se de uma combinação de BT_COLLECT e BT_BATCH.
O código do Batch. Este parâmetro não permite filtros.
O código do tipo de transacção comercial. Este parâmetro não permite filtros.
Processar filas de processamento abertas
Se não executar o pós-processamento automaticamente, pode configurar tarefas para executar determinadas acções em aberto.
É possível utilizar os parâmetros ProcessQueueView e ProcessFollowing.
Enviar transmissões abertas
Normalmente, o envio de dados é efectuado como uma etapa posterior à execução do mapping. Se, no entanto, quiser enviar ficheiros abertos numa determinada altura, pode utilizar uma tarefa.
Especifica uma cadeia de filtros para o código do canal de comunicação. Este pode ser o código completo ou uma cadeia de filtros.
Especifica uma cadeia de filtros para o código da pasta de transmissão. Pode ser o código completo ou uma cadeia de filtros.
Executar chamada de retorno de código personalizado
Pode utilizar a codeunit do manipulador de tarefas para executar o seu código personalizado.
Pode especificar tantos parâmetros quantos os necessários. Recomendamos a utilização de um parâmetro Name para especificar um identificador de retorno de chamada. É possível aceder aos parâmetros a partir da codeunit ANVEDI Callback. Na codeunit ANVEDI Callback, na função CallbackRegistration, é possível reagir ao evento OnJobCallback implementando o seguinte bloco CASE:
Tenha em atenção que os nomes dos parâmetros são convertidos para maiúsculas na variável ParameterDictionary. Pode utilizar a seguinte cadeia de parâmetros na fila de tarefas para chamar a chamada de retorno: