Iniciar sesión con Microsoft
Iniciar sesión o crear una cuenta
Hola:
Seleccione una cuenta diferente.
Tiene varias cuentas
Elija la cuenta con la que desea iniciar sesión.

Síntomas

Cuando intenta enviar o devolver un parte de horas en Project Tiempo y gastos en el Portal de negocios en Microsoft Dynamics GP, recibe el siguiente mensaje de error:

Microsoft.Dynamics.Pma.PmaEntity.CostCategory [Cause]The database transaction has aborted due to inconsistent database operation. [Corrección] Corrija los datos introducidos y vuelva a intentar la transacción.

Causa

Causa 1

Este problema puede producirse si se cumplen las condiciones siguientes:

  • Los rastros de auditoría en Microsoft Dynamics GP están instalados.

  • Se configura una auditoría en una tabla PDK.

  • El usuario del Portal empresarial no tiene acceso a la base de datos Auditoría.

Vea la resolución 1.

Causa 2

Este problema puede ocurrir si crea una plantilla de parte de horas que contiene un id. de proyecto y, a continuación, elimina el id. de proyecto en Project accounting en Microsoft Dynamics GP. Vea la resolución 2.

Causa 3

Este problema puede producirse si un proyecto de una plantilla de parte de horas tiene un estado cerrado. Vea la resolución 2.

Causa 4

Este problema puede producirse si existen registros dañados o duplicados en la tabla PDK10000 o en la tabla PDK10001. Vea la resolución 3.

Causa 5

Este problema puede producirse si el campo Posición no se rellena en el registro de empleado. Esto podría ocurrir si usa La nómina canadiense. Vea la resolución 4.

Causa 6

Este problema puede ocurrir si hay un desencadenador incorrecto en la tabla PDK10000, PDK10001, PDK10500 o PDK10501. Vea la resolución 5.

Causa 7

Este problema puede producirse si tiene índices de notas adjuntos al documento que no existen en la tabla Patrón de notas de facturación o notas de la tabla Patrón de notas de facturación que no existen en el parte de horas. Vea la resolución 6.

Causa 8

Este problema puede producirse para los partes de horas si los períodos de informes se han cambiado en la configuración de parte de horas cuando existen partes de horas sin procesar. Al crear un parte de horas en BP que tiene la misma combinación de Id. de empleado, Año y Período de informes que se ha usado anteriormente, se agrega automáticamente un -2 al final del número de documento. Si el primer día del período de informes o los propios períodos de informe en la configuración del parte de horas se han cambiado desde que se especificaron los partes de horas y la combinación id. de empleado, año y período de informes se había usado antes, omitiremos el número de documento normal de -1 y usaremos uno con un -2 al final en su lugar. 

El número de documento del parte de horas se ha creado con la metodología "Id. de empleado-TS-Fecha" (es decir, 1018-TS-011609). 

Observe la diferencia con respecto a lo que se busca para un parte de horas duplicado en el párrafo anterior.

Por lo tanto, al escribir un parte de horas para lo que ahora es el período #2 (pero era un período diferente antes de que se realizaron los cambios de configuración del parte de horas), el Portal de negocios no lo "vio" como un duplicado, por lo que el -2 no se hizo después. Como resultado, se produjo el error porque el número del parte de horas ya estaba en la tabla PDK10000.
Vea la resolución 7.

Resolución

Solución 1

Para resolver este problema, conceda acceso a la base de datos Auditoría. Para ello, siga estos pasos:

  1. Haga clic enInicio , seleccione Todoslos programas, seleccione Microsoft SQL Servery, a continuación, haga clic en Microsoft SQL Server Management Studio.

  2. Expanda Microsoft SQL servidores,expanda SQL Server grupoy, a continuación, expanda la instancia de Microsoft SQL Server en la que se almacena la base de datos auditoría.

  3. Expanda Seguridady, a continuación, haga clic en Inicios de sesión.

  4. Haga clic con el botón derecho en el usuario del Portal empresarial y, a continuación, haga clic en Propiedades.

  5. Haga clic en la pestaña Acceso a la base de datos y, a continuación, haga clic en la base de datos Auditoría.

  6. Haga clic para activar la casilla Permitir de la base de datos Auditoría.

  7. En la lista Permitir en el rol de base de datos, haga clic para activar la casilla DYNGRP.

  8. Haga clic enAceptar y, a continuación, salga Enterprise Administrador.

Solución 2

Para resolver este problema, cree una nueva plantilla de parte de horas. Esto sobrescribirá el existente. Para ello, siga estos pasos:

  1. En Portal empresarial, haga clic en Empleado,haga clic Project horay, a continuación, haga clic en Nuevo.

  2. Cree un nuevo parte de horas y, a continuación, haga clic en Guardar como plantilla.

  3. Cuando se le pida que reemplace la plantilla existente, haga clic en Aceptar.

Si no puede volver a crear una plantilla nueva para que se invalide la existente, use SQL para eliminar la plantilla existente de la PDK00300 y PDK00301 para el id. de empleado afectado.

Solución 3

Para resolver este problema, póngase en contacto con el soporte técnico de Microsoft Dynamics y los productos relacionados. Un profesional de soporte técnico puede ayudarle a eliminar registros dañados o duplicados en la tabla PDK10000 y en la tabla PDK10001. Para obtener información sobre el soporte técnico de Microsoft Dynamics y productos relacionados, visite el siguiente sitio web de Microsoft:

http://www.microsoft.com/dynamics/support/default.mspx

Resolución 4

Aunque puede estar usando la nómina canadiense, los campos Posición (y Departamento) de la tarjeta de empleado de EE. UU. deben rellenarse. Para resolver este problema, agregue el campo Posición en la tarjeta de empleado. Para ello, siga estos pasos:

  1. En Microsoft Dynamics GP, haga clic en Tarjetas,seleccione Nóminay, a continuación, haga clic en Empleado.

  2. Escriba el id. de empleado para el que recibe el mensaje de error.

  3. Escriba una posición válida en el campo Posición.

  4. Haga clic en el botón Guardar.


Resolución 5

De forma predeterminada, no hay desencadenadores en las tablas PDK10000 PDK10001, PDK10500 y PDK10501. Ejecute este script (reemplazando el nombre de la tabla) en Microsoft SQL Server Management Studio para ver si existe un desencadenador en la tabla. Es posible que este desencadenador tenga que quitarse.

sp_helptrigger PDK10000 Si existe un desencadenador, use este script para quitarlo y, después, vuelva a probar el documento

del Portal profesional. En este ejemplo, el nombre del desencadenador es PDK10000Update.

ALTER TABLE PDK10000 DISABLE TRIGGER PDK10000Update


Resolución 6

Con Microsoft SQL Server Management Studio, ejecute este script en la base de datos de la empresa para determinar si hay notas de facturación asignadas al documento que no existen en la tabla patrón de notas de facturación PDK.

seleccione * en PDK10001 donde PDK_Billing_Note_ID no está (seleccione PDK_Billing_Note_ID en PDK01601) y PDK_Billing_Note_ID <> '' A continuación, para ver si hay notas que existen en la tabla Patrón de notas de facturación que no están en un documento, ejecute

este script.

seleccione * en PDK01601 donde PDK_Billing_Note_ID no esté (seleccione PDK_Billing_Note_ID en PDK10001) y PDK_Billing_Note_ID no en (seleccione PDK_Billing_Note_ID en PDK10501) Si alguno de estos scripts devuelve resultados, es probable que el registro tenga que quitarse de la tabla con una instrucción

SQL delete. Póngase en contacto con el soporte técnico para obtener más ayuda si es necesario.

Resolución 7

Revise los documentos del parte de horas de la tabla PDK10000 para ver si el número de documento que se usa actualmente se ha usado antes. Es posible que deba quitar el parte de horas anterior de las tablas PDK10000 y PDK10001 antes de que se pueda especificar esta nueva transacción si es necesario usar la configuración del período de informes existente. La otra opción sería restablecer la información del período de informes a lo que era anteriormente y, a continuación, crear un nuevo parte de horas.

Solución de problemas adicional:

1. Ejecute el siguiente script en Microsoft SQL Server Management Studio para ver si hay categorías de costo en el parte de horas que tienen un estado distinto de Abierto o Completado. No puede especificar transacciones para categorías de costo en un estado Estimado, Cerrado o En espera.

seleccione a.PDK_TS_No, a.PAPROJNUMBER, a.PACOSTCATID de PDK10001 una combinación
PA01301 b
en
a.PAPROJNUMBER = b.PAPROJNUMBER y
a.PACOSTCATID = b.PACOSTCATID donde b.PASTAT no está
en (1, 5)

2. Ejecute el siguiente script en Microsoft SQL Server Management Studio para ver si hay algún proyecto en el parte de horas que tenga un estado distinto de Abierto o Completado. No puede especificar transacciones para proyectos en un estado Estimado, Cerrado o En espera.

seleccione a.PDK_TS_No, a.PAPROJNUMBER de PDK10001 a
join PA01201 b
on
a.PAPROJNUMBER = b.PAPROJNUMBER
where b.PASTAT not in (1, 5)

3. Compruebe que el valor del campo cantidades totales (PDK_Total_Quantity) de la tabla de encabezado (PDK10000) coincida con la suma de la cantidad de líneas (PDK_Quantity) en la tabla de líneas (PDK10001) para el parte de horas. Si no coinciden, el parte de horas está dañado y tendrá que quitarse de la tabla SQL. Póngase en contacto con el soporte técnico para obtener más ayuda si es necesario.

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a su experiencia?
Si presiona Enviar, sus comentarios se usarán para mejorar los productos y servicios de Microsoft. El administrador de TI podrá recopilar estos datos. Declaración de privacidad.

¡Gracias por sus comentarios!

×