Eventos
Campeonato mundial de DataViz de Power BI
14 feb, 16 - 31 mar, 16
Con 4 posibilidades de entrar, podrías ganar un paquete de conferencia y convertirlo en el Live Grand Finale en Las Vegas
Saber másEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Con el tiempo, la tabla de transacciones de inventario (InventTrans
) seguirá creciendo y consumirá más espacio en la base de datos. Por lo tanto, las consultas que se realicen en la tabla se volverán gradualmente más lentas. En este artículo se describe cómo puede usar la característica de consolidación de transacciones de inventario para consolidar datos sobre transacciones de inventario para ayudar a mejorar el rendimiento del sistema.
Nota
Solo las transacciones de inventario actualizadas financieramente se pueden consolidar en un período contable cerrado seleccionado. Para consolidarse, las transacciones de inventario de salida actualizadas financieramente deben tener un estado de emisión de Vendido y las transacciones de inventario de entrada deben tener un estado derecepción de Comprado.
Cuando consolida transacciones de inventario, todas las transacciones relacionadas se mueven a la InventTransArchive
tabla. Las transacciones de emisión de inventario y las transacciones de recepción de inventario se consolidan por separado, en función de la combinación del id. de artículo (itemId
) y el id. de dimensión de inventario (inventDimId
), y se colocan en la emisión resumida y las transacciones de recepción resumidas.
Si una itemId
combinación "And inventDimId
" contiene solo una transacción de recepción o emisión, la transacción no se consolidará.
Nota
Después de consolidar sus transacciones de inventario, puede optimizar aún más el almacenamiento y el rendimiento del sistema utilizando la característica Archivo con Dataverse retención a largo plazo para mover InventTransArchive
registros a un lago de Microsoft Azure datos. Para obtener más información, consulte Archivar datos de transacciones de inventario en Dynamics 365 Supply Chain Management.
Si su sistema aún no incluye la característica que se describe en este artículo, vaya a Administración de características y active la característica Consolidación de transacciones de inventario. Esta característica no se puede deshabilitar después de habilitarse.
Antes de consolidar transacciones de inventario, debe tener en cuenta los siguientes escenarios empresariales, ya que se verán afectados por la operación:
Las transacciones de inventario solo se pueden consolidar durante los períodos en los que se cumplen las siguientes condiciones:
Para consolidar transacciones de inventario, seguir estos pasos:
Vaya a Gestión de>inventario, Tareas>periódicas, Limpieza,>Consolidación de transacciones de inventario.
Aparece la página Consolidación de transacciones de inventario y muestra una lista de registros de procesos consolidados.
En el panel de acciones, Seleccione Consolidación de transacciones de inventario para crear una consolidación de transacciones de inventario.
En el cuadro de diálogo Consolidación de transacciones de inventario, en la ficha desplegable Parámetros , establezca los siguientes campos:
Nota
Sólo períodos que cumplen con los prerrequisitos estarán disponible para su selección.
Sobre la ficha desplegable Ejecutar en segundo plano, configure los detalles del procesamiento por lotes según sus necesidades. Seguir los pasos habituales para los trabajos por lotes en Microsoft Dynamics 365 Supply Chain Management.
Seleccione Aceptar.
Recibe un mensaje que le pide que confirme que desea continuar. Lea el mensaje con atención y luego seleccione Sí Si desea continuar.
Recibirá un mensaje que indicará que su trabajo de consolidación de transacciones de inventario se ha agregado a la cola de lotes. El trabajo comienza a consolidar transacciones de inventario del periodo seleccionado.
La página Consolidación de transacciones de inventario muestra el historial completo de consolidación. Cada fila de la cuadrícula muestra información como la fecha en que se creó la consolidación, el usuario que la creó y su estado.
En la lista desplegable en la parte superior de la página, Seleccionar uno de los siguientes valores para filtrar las consolidaciones que se muestran en la cuadrícula:
Para cada consolidación en la cuadrícula, se proporciona la siguiente información:
La barra de herramientas de encima de la cuadrícula proporciona los siguientes botones que puede usar para trabajar con una consolidación seleccionada:
Transacciones consolidadas: vea todos los detalles de la consolidación seleccionada. La página Transacciones consolidadas que aparece muestra todas las transacciones de la consolidación.
Para ver más información sobre una transacción específica en la página Transacciones consolidadas, Seleccionar esa opción en la cuadrícula y, a continuación, en el panel de acciones, SeleccionarDetalles de transacción consolidada. La página Detalles de transacción consolidada que aparece muestra información como el registro en el libro mayor, las referencias de subdiarios relacionados y las dimensiones financieras.
Pausar: pausa una consolidación seleccionada que se esté procesando actualmente. La pausa surte efecto solo después de que se genere la tarea de archivado. Por lo tanto, puede haber una pequeña demora antes de que la pausa surta efecto. Si una consolidación está en pausa, aparece una marca de verificación en su campo Detener actualización actual.
Reanudar : reanuda el procesamiento de una consolidación seleccionada que actualmente está en pausa.
Si la InventTrans
tabla contiene uno o más campos personalizados, es posible que deba extender el código para admitirlos, dependiendo de cómo se llamen.
InventTrans
tabla tienen los mismos nombres de campo que en la InventtransArchive
tabla, significa que están asignados 1:1. Por lo tanto, puede colocar los campos personalizados en el grupo de campos de InventoryArchiveFields
de la tabla inventTrans
.InventTrans
no coinciden con los nombres de campo de la tabla InventtransArchive
, necesitará agregar código para asignarlos. Por ejemplo, si tiene un campo de sistema llamado InventTrans.CreatedDateTime
, debe crear un campo en la tabla InventTransArchive
con un nombre diferente (como InventtransArchive.InventTransCreatedDateTime
) y agregar extensiones a las clases InventTransArchiveProcessTask
y InventTransArchiveSqlStatementHelper
, como se muestra en el siguiente código de ejemplo.El siguiente código de ejemplo muestra un ejemplo de cómo agregar la extensión requerida a la clase InventTransArchiveProcessTask
.
[ExtensionOf(classStr(InventTransArchiveProcessTask))]
Final class InventTransArchiveProcessTask_Extension
{
protected void addInventTransFields(SysDaSelection _selectionObject)
{
_selectionObject.add(fieldStr(InventTrans, ModifiedBy))
.add(fieldStr(InventTrans, CreatedBy)).add(fieldStr(InventTrans, CreatedDateTime));
next addInventTransFields(_selectionObject);
}
protected void addInventTransArchiveFields(SysDaSelection _selectionObject)
{
_selectionObject.add(fieldStr(InventTransArchive, InventTransModifiedBy))
.add(fieldStr(InventTransArchive, InventTransCreatedBy)).add(fieldStr(InventTransArchive, InventTransCreatedDateTime));
next addInventTransArchiveFields(_selectionObject);
}
}
El siguiente código de ejemplo muestra un ejemplo de cómo agregar la extensión requerida a la clase InventTransArchiveSqlStatementHelper
.
[ExtensionOf(classStr(InventTransArchiveSqlStatementHelper))]
final class InventTransArchiveSqlStatementHelper_Extension
{
private str inventTransModifiedBy;
private str inventTransCreatedBy;
private str inventTransCreatedDateTime;
protected void initialize()
{
next initialize();
inventTransModifiedBy = new SysDictField(tablenum(InventTrans), fieldNum(InventTrans, ModifiedBy)).name(DbBackend::Sql);
inventTransCreatedDateTime = new SysDictField(tablenum(InventTrans), fieldNum(InventTrans, CreatedDateTime)).name(DbBackend::Sql);
inventTransCreatedBy = new SysDictField(tablenum(InventTrans), fieldNum(InventTrans, CreatedBy)).name(DbBackend::Sql);
}
protected str buildInventTransArchiveSelectionFieldsStatement()
{
str ret;
ret = next buildInventTransArchiveSelectionFieldsStatement();
if (inventTransModifiedBy)
{
ret += ',';
ret += strFmt('%1', new SysDictField(tablenum(InventTransArchive), fieldNum(InventTransArchive, InventTransModifiedBy)).name(DbBackend::Sql));
}
if (inventTransCreatedBy)
{
ret += ',';
ret += strFmt('%1', new SysDictField(tablenum(InventTransArchive), fieldNum(InventTransArchive, InventTransCreatedBy)).name(DbBackend::Sql));
}
if (inventTransCreatedDateTime)
{
ret += ',';
ret += strFmt('%1', new SysDictField(tablenum(InventTransArchive), fieldNum(InventTransArchive, InventTransCreatedDateTime)).name(DbBackend::Sql));
}
return ret;
}
protected str buildInventTransTargetFieldsStatement()
{
str ret;
ret = next buildInventTransTargetFieldsStatement();
if (inventTransModifiedBy)
{
ret += ',';
ret += strFmt('%1', inventTransModifiedBy);
}
if (inventTransCreatedBy)
{
ret += ',';
ret += strFmt('%1', inventTransCreatedBy);
}
if (inventTransCreatedDateTime)
{
ret += ',';
ret += strFmt('%1', inventTransCreatedDateTime);
}
return ret;
}
}
Eventos
Campeonato mundial de DataViz de Power BI
14 feb, 16 - 31 mar, 16
Con 4 posibilidades de entrar, podrías ganar un paquete de conferencia y convertirlo en el Live Grand Finale en Las Vegas
Saber más