Anvaigo EDI Connect / Config / Mappings / Uso de las propiedades SourceExpr y DestExpr
Esta es una traducción automática. El mensaje original está disponible en Inglés.

Uso de las propiedades SourceExpr y DestExpr

En la última sección hemos visto cómo añadir instancias de tabla a un mapping. En esta sección, veremos cómo acceder a los datos de los campos de una tabla. Y cómo utilizar valores constantes y filtros.

El módulo permite leer datos de campos de tablas, siempre que exista una propiedad SourceExpr (expresión fuente). El SourceExpr también puede utilizarse para especificar valores constantes o para llamar a funciones. Encontrará esta propiedad en las líneas de datos de mapping de tipo de formato NAV y en las líneas de datos de los mappings de exportación. Pero esta propiedad también está disponible para los parámetros de la función personalizada y para ampliar los mensajes de error. Hay más opciones, de las que hablaremos un poco más adelante en esta sección.

Para escribir datos en los campos de la tabla existe otra propiedad llamada DestExpr (expresión de destino). Esta propiedad también permite cotejar los datos con un filtro especificado, en lugar de almacenarlos. Enseguida entraremos en detalles. Es importante saber que se pueden escribir datos en cualquier campo de una instancia de tabla, incluso si el Mode tabla está establecido en Read. Al escribir en una tabla en modo lectura, se llamará a la lógica de validación de NAV, pero no modificaremos el registro. En nuestras tablas de buffer se puede utilizar para almacenar un valor para un tiempo determinado en el mapping. En otras tablas dependerá de la lógica de validación, si es seguro utilizar una tabla en modo lectura para almacenar datos temporalmente.

La propiedad SourceExpr

SrcType

El tipo de fuente especifica qué tipo de datos desea leer. Los valores permitidos son:

Const

Un valor constante que se introduce en el mapping.

Field

Un campo de una instancia de tabla, que es una de las líneas mapping padre de esta línea mapping. En el caso de que quieras leer un campo suma tienes que estar fuera de la instancia de la tabla, pero debajo de ella.

Function

Desea leer datos de una función incorporada o personalizada.

Data Type

Esta propiedad se añadió en Anvaigo EDI Connect 4.00.

Esta propiedad sólo está disponible si SrcType es Const Esta propiedad especifica el tipo de datos del valor constante. Debe seleccionar el tipo de datos, para evitar errores debidos a las diferentes configuraciones regionales utilizadas durante la configuración y el tiempo de ejecución. En versiones anteriores había que asegurarse de que la configuración regional durante la configuración era la misma que durante la ejecución para evitar, por ejemplo, que los números se interpretaran de forma diferente.

Puede elegir entre los siguientes tipos de datos:

Text

Un valor de texto constante.

Text (Special)

Un texto que puede contener caracteres especiales, como un retorno de carro<CR>. Hay una lista de todos los caracteres especiales admitidos.

Boolean

Un valor booleano, como True o False.

Option

Un valor de opción. Debe utilizar el valor entero de la opción en la base de datos.

Integer

Un valor entero (32 bits).

Decimal

Un valor decimal.

BigInteger

Un valor entero grande (64 bits).

Duration

El valor contiene una duración.

Code

El valor es un valor de código Dynamics (sólo mayúsculas, no admite todos los caracteres).

Date

Representa un valor de fecha.

Time

Representa un valor temporal.

DateTime

Representa un valor combinado de fecha y hora.

DateFormula

Una fórmula de fecha.

GUID

Un identificador único global (GUID).

Value

Esta propiedad sólo está disponible si SrcType es Const Representa el valor constante que se desea utilizar.

Function

Esta propiedad sólo está disponible si el SrcType es Function. Puede utilizar el AssistEdit para especificar el objeto y la función. Si la función requiere parámetros, éstos también serán SourceExpr, pero no admite el anidamiento de funciones.

Table

Esta propiedad sólo está disponible si el SrcType es Field. Seleccione la instancia de tabla de la que desea leer los datos. La tabla tiene que ser una de las matrices de la línea mapping actual, para leer los datos de un registro. Si quiere leer campos de suma, tiene que estar bajo la instancia de la tabla, pero no ser hijo de ella.

Field

Esta propiedad sólo está disponible si el SrcType es Field. Selecciona la columna / campo del que quieres leer.

Value Translation

Puede especificar una conversión de valor, para cambiar el valor seleccionado a un valor de destino diferente. Hay una sección sobre cómo configurar las conversiones de valores.

Name

El código de la traducción de valores que debe utilizarse.

No Translation Action

Qué debe ocurrir, si el valor no se encuentra en la traducción de valores.

Ignore

El módulo no hace nada si falta la traducción. Utiliza el valor original sin traducción.

Empty

Emite un valor vacío.

Info

Añade una entrada en el registro de información y utiliza el valor original.

Warning

Añade una entrada de registro de advertencia y utiliza el valor original.

Error

Rompe el mapping inmediatamente y registra un error.

Error (Continue)

Cree una entrada en el registro de errores y no finalice con éxito el mapping, sino que continúe con el procesamiento para encontrar también otros errores.

Advanced Validation

Esta propiedad está oculta por defecto. Puede especificar una lista de valores permitidos y crear errores, si intenta exportar otro valor.

Allowed Values

La lista de valores permitidos. Puede utilizar el AssistEdit o introducir los términos separados por comas.

Not Allowed Action

Qué debe ocurrir si el valor de origen no está en la lista de valores permitidos.

Ignore

No utilice la validación avanzada e ignore los valores de la lista.

Info

Crear una entrada de registro de información.

Warning

Crear una entrada de registro de advertencia.

Error

Interrumpe el mapping inmediatamente con un mensaje de error.

Error (Continue)

Devolver un error en la ejecución de mapping, pero continuar procesando el mapping, para encontrar también otros errores.

La propiedad DestExpr

DestType

Seleccione el objetivo de un valor. Son válidos los siguientes valores:

Vacío significa que el valor se ignora. Puede utilizarlo para omitir campos en las importaciones o, por ejemplo, para ignorar el valor de retorno de una función.

Filter

El valor debe comprobarse con un filtro Dynamics. Si el filtro no coincide, el valor no se acepta. Dependiendo del conversor, esto dará lugar a un mensaje de error o a la omisión de una sección del mapping. Encontrará más información sobre el uso de filtros para convertidores específicos en la documentación de cada convertidor.

Field

El valor debe escribirse en un campo de una instancia de tabla en este mapping.

Value

Esta propiedad sólo está disponible si DestType es Filter. El filtro Dynamics con el que se comprueba el valor. El valor se interpretará como un valor de texto para aplicar el filtro. Un ejemplo típico sería «BY|IV», para permitir los valores «BY» e «IV».

Table

Esta propiedad sólo está disponible si el DestType es Field. Selecciona la instancia de la tabla en la que debe escribirse el valor. La instancia de la tabla tiene que ser uno de los padres de la línea mapping actual.

Field

Esta propiedad sólo está disponible si el DestType es Field. El nombre de campo/nombre de columna del campo de destino en la tabla.

Validate

Esta propiedad sólo está disponible si el DestType es Field. Esta propiedad sólo está disponible como propiedad avanzada. Establecer esta propiedad a False omitirá el trigger de validación Microsoft Dynamics NAV 2013R2 para ese campo.

Tenga mucho cuidado al utilizar False. Sólo debe desactivar la validación tras consultar a un programador. No debería desactivarlo en ninguna de las tablas estándar de Dynamics, a menos que realmente sepa lo que está haciendo. Puede inutilizar Microsoft Dynamics NAV 2013R2 omitiendo el código de validación.

Assignment Mode

Esta propiedad sólo está disponible si el DestType está establecido en Field y está utilizando el convertidor CHECK / NAV / PREPARE / PROCESS. Encontrará más información en la página del conversor.