Un lote se mantiene en el estado Publicación, Recepción, Ocupado, Marcado, Bloqueado o Editado en Microsoft Dynamics GP

En este artículo se proporciona una solución a un error que se produce al intentar publicar un lote y abrirlo en Microsoft Dynamics GP o en Microsoft Business Solutions - Great Plains.

Se aplica a: Microsoft Dynamics GP
Número de KB original: 850289

Síntomas

Después de intentar publicar un lote en Microsoft Dynamics GP o en Microsoft Business Solutions - Great Plains, se asigna al lote uno de los siguientes estados:

  • Publicar
  • Recibir
  • Ocupado
  • Marcado
  • Bloqueado
  • Editado

No se puede publicar ni desmarcar el lote. Al intentar abrir el lote, puede recibir el siguiente mensaje de error:

"Batch está marcado para su publicación por otro usuario".

Causa

Este problema puede producirse porque una fluctuación de energía o algún otro problema hizo que el proceso de contabilización se detuviera.

Solución

Nota:

Todos los scripts que se encuentran en la sección "Resolución" deben ejecutarse en una herramienta de consulta. Para abrir la herramienta de consulta adecuada, ejecute la instrucción en Microsoft SQL Server Management Studio. Para abrir SQL Server Management Studio, seleccione Inicio, ProgramasMicrosoft SQL Server (2019) (o la versión que tenga) y, a> continuación, seleccione SQL Server Management Studio. Para ejecutar un script, seleccione Nueva consulta.

Para solucionar este problema, siga estos pasos:

  1. Asegúrese de que tiene una copia de seguridad actual de la base de datos de la empresa y pida a todos los usuarios que salgan de Microsoft Dynamics GP. Para crear la copia de seguridad en Microsoft Dynamics GP, siga los pasos adecuados después de que todos los usuarios cierren la sesión de Microsoft Dynamics GP:

    1. En el menú Archivo , seleccione Copia de seguridad.
    2. En la lista Nombre de la empresa , seleccione la empresa de la que desea realizar una copia de seguridad.
    3. En el cuadro Seleccionar el archivo de copia de seguridad , seleccione la carpeta amarilla para abrir la ubicación en la que desea colocar el archivo de copia de seguridad.

    O bien

    1. En el Explorador de objetos, expanda las bases de datos para que vea la base de datos de la que desea realizar una copia de seguridad.
    2. Haga clic con el botón derecho en Nombre de la base de datos, vaya a Tareas y seleccione Copia de seguridad.
    3. Seleccione el botón Agregar y seleccione la ubicación y el nombre de archivo en los que desea guardar la copia de seguridad.
    4. Seleccione Aceptar para iniciar la copia de seguridad.
  2. Vea el contenido de las tablas siguientes para comprobar que todos los usuarios han iniciado sesión: DYNAMICS..ACTIVITY, DYNAMICS..SY00800, DYNAMICS..SY00801, TEMPDB..DEX_LOCKy TEMPDB..DEX_SESSION. Para ello, ejecute el siguiente script.

    SELECT * FROM DYNAMICS..ACTIVITY SELECT * FROM DYNAMICS..SY00800 SELECT * FROM DYNAMICS..SY00801 SELECT * FROM TEMPDB..DEX_LOCK SELECT * FROM TEMPDB..DEX_SESSION
    

    Nota:

    Cuando todos los usuarios han iniciado sesión en Microsoft Dynamics GP, estas tablas no tendrán ningún registro en ellos.

  3. Si no se devuelve ningún resultado, vaya al paso 4. De lo contrario, borre los registros bloqueados mediante cualquiera de los siguientes scripts adecuados.

    DELETE DYNAMICS..ACTIVITY DELETE DYNAMICS..SY00800 DELETE DYNAMICS..SY00801 DELETE TEMPDB..DEX_LOCK DELETE TEMPDB..DEX_SESSION
    
  4. Ejecute el siguiente script en la base de datos de la empresa. Reemplace XXX por el número de lote o el nombre del lote que intenta publicar o seleccionar en Microsoft Dynamics GP.

    UPDATE SY00500 SET MKDTOPST=0, BCHSTTUS=0 where BACHNUMB='XXX'
    

    Nota:

    El valor de BACHNUMB es el mismo que el valor de la ventana Id. de Batch en Microsoft Dynamics GP.

  5. Compruebe la precisión de las transacciones.

  6. Compruebe que puede editar y publicar los lotes.