Anveo EDI Connect / Config / Mappings / Usando as propriedades SourceExpr e DestExpr
Esta é uma tradução automática. O post original está disponível em Inglês .

Usando as propriedades SourceExpr e DestExpr

Na última seção, discutimos como adicionar instâncias de tabela a um mapeamento. Nesta seção, vamos ver como acessar os dados dos campos em uma tabela. E como usar valores constantes e filtros.

O módulo permite ler dados de campos de tabelas, sempre que houver uma propriedade SourceExpr (expressão de origem). O SourceExpr também pode ser usado para especificar valores constantes ou para chamar funções. Esta propriedade encontra-se nas linhas de dados de mapeamento do tipo de formato NAV e nas linhas de dados de mapeamentos de exportação. Mas esta propriedade também está disponível para parâmetros da função personalizada e para estender as mensagens de erro. Há mais opções, que discutiremos um pouco mais adiante nesta seção.

Para escrever dados nos campos da tabela existe uma outra propriedade chamada DestExpr (expressão de destino). Esta propriedade também permite que você verifique os dados em relação a um filtro especificado, em vez de armazená-los. Entraremos em detalhes daqui a pouco. É importante saber que você pode escrever dados em qualquer campo de uma instância de tabela, mesmo que a tabela Mode esteja definida como Read. Escrever numa tabela em modo de leitura chamará a lógica de validação do NAV, mas não modificamos o registo. Em nossas tabelas de buffer, você pode usar isso para armazenar um valor por um determinado tempo no mapeamento. Em outras tabelas dependerá da lógica de validação, se é seguro usar uma tabela em modo de leitura para armazenar dados temporariamente.

O SourceExpr Property

SrcType

O tipo de fonte especifica que tipo de dados deseja ler. Os valores permitidos são:

Const

Um valor constante que é inserido no mapeamento.

Field

Um campo de uma instância de tabela, que é uma das linhas de mapeamento pai desta linha de mapeamento. Para ler um campo de soma, é necessário estar fora da instância da tabela, mas abaixo dela.

Function

O usuário deseja ler dados de uma função interna ou personalizada.

Data Type

Esta propriedade foi adicionada no Anveo EDI Connect 4.00.

Esta propriedade só está disponível se o SrcType estiver definido como Const. Esta propriedade especifica o tipo de dados do valor constante. É necessário selecionar o tipo de dados para evitar erros devido a diferentes locais utilizados durante a preparação e o tempo de execução. Na versão mais antiga, era necessário garantir que o locale durante a preparação fosse o mesmo que durante o tempo de execução para evitar, por exemplo, que os números fossem interpretados de forma diferente.

É possível selecionar entre os seguintes tipos de dados:

Text

Um valor de texto constante.

Text (Special)

Um texto que pode conter caracteres especiais, como um retorno de carro<CR> Há uma lista de todos os caracteres especiais suportados.

Boolean

Um valor booleano, como True ou False.

Option

Um valor de opção. Você deve usar o valor inteiro da opção no banco de dados.

Integer

Um valor inteiro (32 bits).

Decimal

Um valor decimal.

BigInteger

Um valor inteiro grande (64 bits).

Duration

O valor contém uma duração.

Code

O valor é um valor de código Dinâmico (apenas maiúsculas, não permite todos os caracteres).

Date

Representa um valor de data.

Time

Representa um valor de tempo.

DateTime

Representa um valor combinado de data e hora.

DateFormula

Uma fórmula de data.

GUID

Um ID global único (GUID).

Value

Esta propriedade só está disponível se o SrcType estiver definido como Const. Representa o valor constante que você deseja usar.

Function

Esta propriedade só está disponível se o SrcType estiver definido como Function. Você pode usar o AssistEdit para especificar o objeto e a função. Se a função requer parâmetros, estes também serão SourceExpr, mas não suportam aninhamento de funções.

Table

Esta propriedade só está disponível se o SrcType estiver definido como Field. Selecionar a instância de tabela a partir da qual os dados devem ser lidos. A tabela precisa ser um dos pais da linha de mapeamento atual, para ler os dados de um registro. Para ler os campos de soma, é necessário estar sob a instância de tabela, mas não um filho dela.

Field

Esta propriedade só está disponível se o SrcType estiver definido como Field. Seleciona a coluna / campo a partir do qual deseja ler.

Value Translation

É possível especificar uma conversão de valor, para modificar o valor marcado para um valor fixado diferente. Há uma seção sobre como configurar traduções de valores.

Name

O código da tradução do valor que deve ser usado.

No Translation Action

O que deve acontecer, se o valor não for encontrado na tradução do valor.

Ignore

O módulo não faz nada se a tradução estiver faltando. Utiliza o valor original sem tradução.

Empty

Emitir um valor vazio.

Info

Adicione uma entrada de log de informações e utilize o valor original.

Warning

Adicionar uma entrada de log de advertência e utilizar o valor original.

Error

Quebre o mapeamento imediatamente e registre um erro.

Error (Continue)

Criar uma entrada de log de erros e não concluir com êxito o mapeamento, mas continuar com o processamento para encontrar outros erros também.

Advanced Validation

Esta propriedade está oculta por defeito. Você pode especificar uma lista de valores permitidos e criar erros, iof você tenta exportar outro valor.

Allowed Values

A lista de valores permitidos. Você pode usar o AssistEdit ou digitar os termos separados por vírgulas.

Not Allowed Action

O que deve acontecer, se o valor da fonte não estiver na lista de valores permitidos.

Ignore

Não utilizar a validação avançada e ignorar os valores da lista.

Info

Criar uma entrada de log de informação.

Warning

Criar uma entrada de log de advertência.

Error

Quebre o mapeamento imediatamente com uma mensagem de erro.

Error (Continue)

Retorna um erro no mapeamento de execução, mas continua a processar o mapeamento, para encontrar outros erros também.

A Propriedade DestExpr

DestType

Selecionar o destino para um valor. Os seguintes valores são válidos:

Empty significa que o valor é ignorado. Isso pode ser usado para ignorar campos em importações ou, por exemplo, para ignorar um valor de retorno de função.

Filter

O valor deve ser verificado contra um filtro Dynamics. Se o filtro não corresponder, o valor não é aceite. Dependendo do conversor, isso resultará em uma mensagem de erro ou em ignorar uma seção do mapeamento. Você aprenderá mais sobre o uso de filtros para conversores específicos na documentação de cada conversor.

Field

O valor deve ser escrito em um campo de uma instância de tabela nesse mapeamento.

Value

Esta propriedade só está disponível se o DestType estiver definido como Filter. O filtro Dynamics verifica o valor em relação ao qual o valor é verificado. O valor será interpretado como um valor de texto para aplicar o filtro. Um exemplo típico seria “BY|IV”, para permitir os valores “BY” e “IV”.

Table

Esta propriedade só está disponível se o DestType estiver definido como Field. Seleciona a instância da tabela em que o valor deve ser escrito. A instância de tabela tem de ser um dos pais da linha de mapeamento atual.

Field

Esta propriedade só está disponível se o DestType estiver definido como Field. O nome do campo/nome da coluna do campo de destino na tabela.

Validate

Esta propriedade só está disponível se o DestType estiver definido como Field. Esta propriedade está disponível apenas como uma propriedade avançada. Definir esta propriedade como False irá ignorar o gatilho de validação Microsoft Dynamics NAV 2016 para esse campo.

Seja muito cauteloso ao usar False. Você só deve desativar a validação após consultar um programador. Você não deve desativá-lo em nenhuma das tabelas Dynamics padrão, exceto que você realmente sabe o que está fazendo. Você pode tornar Microsoft Dynamics NAV 2016 inutilizável, ignorando o código de validação.

Assignment Mode

Esta propriedade só está disponível se o DestType estiver definido como Field e você estiver usando o conversor de NAV. Você pode encontrar mais informações na página do conversor.