Los registros duplicados se crean en INTran durante la versión del pedido de compra
En este artículo se proporciona una solución para el problema por el que se crean transacciones de inventario duplicadas durante la versión de pedido de compra en Microsoft Dynamics SL.
Se aplica a: Microsoft Dynamics SL
Número de KB original: 2953073
Causa
Este problema puede producirse cuando se presiona el botón Cancelar durante el proceso de lanzamiento por lotes de pedido de compra (04.400.00) para un lote que tiene recibos que usan una compra para un buen pedido de venta o bienes que no son de inventario si hay un identificador de proyecto incluido en la línea de detalles.
Solución
Determine el registro duplicado en la tabla INTran y, a continuación, elimine el registro duplicado. Para ello, siga estos pasos:
En Microsoft SQL Server Management Studio, acceda a la base de datos de aplicación adecuada. A continuación, ejecute la siguiente instrucción para determinar si existen registros duplicados en la tabla INTran.
SELECT InvtID, TranAmt, LineRef, RecordID, * FROM INTran WHERE BatNbr = '<XXXXXX>'
Nota:
En la instrucción , reemplace el <marcador de posición XXXXXX> por el número de lote.
Revise los resultados para determinar si existen registros duplicados. Si existe un registro duplicado, ejecute la siguiente instrucción para eliminarlo.
Nota:
El
recordid
que se va a eliminar sería el VALOR SUPERIOR de los registros duplicados.Ejecute esto primero:
Begin Transaction
Ejecute esto a continuación:
DELETE FROM INTran WHERE BatNbr = '<XXXXXX>' and RecordID = <YYYYYY>
Nota:
En la instrucción , reemplace el <marcador de posición XXXXXX> por el número de lote. Reemplace el <marcador de posición YYYYY por> el valor RecordID del registro que desea eliminar.
La eliminación debe devolver una fila.
Ejecute este último:
Commit transaction
Si no elimina solo una fila, ejecute esto:
Rollback transaction
Si encuentra más de un duplicado, debe identificar (
recordid
único) para los demás duplicados y eliminarlos mediante el mismo procedimiento.