อาการ
เมื่อคุณพยายามส่งหรือส่งกลับแผ่นเวลาเป็นระยะเวลาProjectค่าใช้จ่ายในพอร์ทัลธุรกิจใน Microsoft Dynamics GP คุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
Microsoft.Dynamics.Pma.PmaEntity.CostCategory [Cause]ทรานแซคชันฐานข้อมูลถูกยกเลิกเนื่องจากการดําเนินการฐานข้อมูลที่ไม่สอดคล้องกัน [การแก้ไข] แก้ไขข้อมูลที่ใส่และลองทรานแซคชันอีกครั้ง
สาเหตุ
สาเหตุ 1
ปัญหานี้อาจเกิดขึ้นถ้าเงื่อนไขต่อไปนี้เป็นจริง:
-
เส้นทางการตรวจสอบใน Microsoft Dynamics GP ได้รับการติดตั้งแล้ว
-
การตรวจสอบถูกตั้งค่าในตาราง PDK
-
ผู้ใช้พอร์ทัลธุรกิจไม่มีการเข้าถึงฐานข้อมูลตรวจสอบ
ดูความละเอียด 1
สาเหตุ 2
ปัญหานี้อาจเกิดขึ้นถ้าคุณสร้างเทมเพลตแผ่นเวลาที่มี ID โครงการ แล้วลบ ID โครงการใน Project Accounting ใน Microsoft Dynamics GP ดูความละเอียด 2
สาเหตุ 3
ปัญหานี้อาจเกิดขึ้นถ้าโครงการในเทมเพลตแผ่นเวลามีสถานะปิด ดูความละเอียด 2
สาเหตุ 4
ปัญหานี้อาจเกิดขึ้นถ้ามีระเบียนที่เสียหายหรือระเบียนที่คัดลอกอยู่ในตาราง PDK10000 หรือในตาราง PDK10001 ดูความละเอียดของ 3
สาเหตุ 5
ปัญหานี้อาจเกิดขึ้นถ้า ไม่ได้ใส่ข้อมูลในเขตข้อมูลตําแหน่งในระเบียนพนักงาน ซึ่งอาจเกิดขึ้นได้ถ้าคุณใช้งานบัญชีเงินเดือนของแคนาดา ดูความละเอียด 4
สาเหตุ 6
ปัญหานี้อาจเกิดขึ้นถ้ามีทริกเกอร์ที่ไม่เหมาะสมบนตาราง PDK10000, PDK10001, PDK10500 หรือ PDK10501 ดูความละเอียด 5
สาเหตุ 7
ปัญหานี้อาจเกิดขึ้นถ้าคุณมีดัชนีบันทึกย่อที่แนบมากับเอกสารของคุณที่ไม่มีอยู่ในตารางหรือบันทึกย่อหลักบันทึกย่อการเรียกเก็บเงินในตารางต้นแบบบันทึกย่อการเรียกเก็บเงินที่ไม่มีอยู่บนแผ่นเวลา ดูความละเอียด 6
สาเหตุ 8
ปัญหานี้อาจเกิดขึ้นกับแผ่นเวลา ถ้าช่วงเวลาการรายงานของคุณมีการเปลี่ยนแปลงในการตั้งค่าแผ่นเวลาเมื่อมีแผ่นเวลาที่ยังไม่ได้ประมวลผล เมื่อคุณสร้างแผ่นเวลาใน BP ที่มีการรวม รหัสพนักงานปี และ ช่วงเวลาการรายงาน เหมือนกับเคยใช้มาก่อน -2 จะถูกเพิ่มโดยอัตโนมัติที่ส่วนท้ายของหมายเลขเอกสาร ถ้าวันแรกของช่วงเวลาการรายงาน หรือระยะเวลาการรายงานในการตั้งค่าแผ่นเวลามีการเปลี่ยนแปลงตั้งแต่ใส่แผ่นเวลา และเคยใช้ชุดรหัสพนักงาน ระยะเวลาปี และระยะเวลาการรายงานมาก่อน เราจะข้ามหมายเลขเอกสารปกติเป็น -1 และใช้แผ่นเวลากับ -2 ที่ส่วนท้ายแทน
หมายเลขเอกสารแผ่นเวลาถูกสร้างขึ้นโดยใช้วิธีการ "รหัสพนักงาน-TS-Date" (เช่น 1018-TS-011609)
โปรดสังเกตความแตกต่างจากสิ่งที่ดูในแผ่นเวลาที่ซ้อนกันในย่อหน้าด้านบน
So when entering a timesheet for what is now period #2 (but was a different period before the Timesheet Setup changes were made), Business Portal did not “see” it as a duplicate, so the -2 was not put after it. เนื่องจากมีข้อผิดพลาดเกิดขึ้นเนื่องจากหมายเลขแผ่นเวลาอยู่ในตาราง PDK10000 แล้ว
ดูความละเอียด 7
การแก้ไข
ความละเอียด 1
เมื่อต้องการแก้ไขปัญหานี้ ให้มอบสิทธิ์การเข้าถึงฐานข้อมูลตรวจสอบ โดยทำตามขั้นตอนต่อไปนี้:
-
คลิกเริ่มต้น ชี้ไปที่โปรแกรมทั้งหมดชี้ไปที่Microsoft SQL Serverแล้วคลิก Microsoft SQL Server Management Studio
-
ขยายMicrosoft SQL Serverขยาย SQL Serverกลุ่มของคุณ แล้วขยายอินสแตนซ์ของ Microsoft SQL Server ที่เก็บฐานข้อมูลตรวจสอบ
-
ขยายความปลอดภัยแล้วคลิกเข้าสู่ระบบ
-
คลิกขวาที่ผู้ใช้ พอร์ทัลธุรกิจ แล้วคลิกคุณสมบัติ
-
คลิกแท็บ Access ของฐานข้อมูล แล้วคลิก ฐานข้อมูล ตรวจสอบ
-
คลิกเพื่อเลือกกล่อง กาเครื่องหมาย อนุญาต ของฐานข้อมูลตรวจสอบ
-
ในรายการการอนุญาตในรายการบทบาทฐานข้อมูล ให้คลิกเพื่อเลือกกล่องกาเครื่องหมายDYNGRP
-
คลิกตกลง แล้วออกจาก Enterprise Manager
ความละเอียด 2
เมื่อต้องการแก้ไขปัญหานี้ ให้สร้างเทมเพลตแผ่นเวลาใหม่ การนี่จะเขียนทับชื่อที่มีอยู่ โดยทำตามขั้นตอนต่อไปนี้:
-
ใน พอร์ทัลธุรกิจให้คลิกProjectพนักงานแล้วคลิก เวลา Projectใหม่
-
สร้างแผ่นเวลาใหม่ แล้วคลิก บันทึกเป็นเทมเพลต
-
เมื่อคุณได้รับพร้อมท์ให้แทนที่เทมเพลตที่มีอยู่ ให้คลิกตกลง
ถ้าคุณไม่สามารถสร้างเทมเพลตใหม่เพื่อให้เทมเพลตที่มีอยู่ถูกแทนที่ ให้ใช้ SQL เพื่อลบเทมเพลตที่มีอยู่จาก PDK00300 และ PDK00301 ของ ID พนักงานที่ได้รับผลกระทบ
การแก้ปัญหา 3
เมื่อต้องการแก้ไขปัญหานี้ ให้ติดต่อฝ่ายสนับสนุนทางเทคนิคของ Microsoft Dynamics และผลิตภัณฑ์ที่เกี่ยวข้อง มืออาชีพด้านการสนับสนุนอาจสามารถช่วยคุณลบระเบียนที่เสียหายหรือระเบียนที่คัดลอกในตาราง PDK10000 และในตาราง PDK10001 ได้ For information about technical support for Microsoft Dynamics and related products, visit the following Microsoft Web site:
ความละเอียด 4
แม้ว่าคุณอาจใช้เขตข้อมูล Canadian Payroll เขตข้อมูล Position (และ Department) บนบัตรพนักงานของสหรัฐอเมริกาจะต้องถูกเพิ่มข้อมูล เมื่อต้องการแก้ไขปัญหานี้ ให้เพิ่มเขตข้อมูล ตําแหน่ง บนบัตรพนักงาน โดยทำตามขั้นตอนต่อไปนี้:
-
ใน Microsoft Dynamics GP ให้คลิกบัตร ชี้ไปที่บัญชีเงินเดือน แล้วคลิกพนักงาน
-
ใส่ ID พนักงานซึ่งคุณได้รับข้อความแสดงข้อผิดพลาด
-
ใส่ตําแหน่งที่ถูกต้องใน เขตข้อมูล ตําแหน่ง
-
คลิกปุ่มบันทึก
ความละเอียด 5
ตามค่าเริ่มต้น ไม่มีทริกเกอร์บนตาราง PDK10000 PDK10001, PDK10500 และ PDK10501 เรียกใช้สคริปต์นี้ (แทนที่ชื่อตาราง) ใน Microsoft SQL Server Management Studio เพื่อดูว่ามีทริกเกอร์อยู่บนตารางหรือไม่ ทริกเกอร์นี้อาจต้องถูกเอาออก
sp_helptrigger PDK10000 ถ้ามีทริกเกอร์อยู่
ให้ใช้สคริปต์นี้เพื่อเอาทริกเกอร์ออก แล้วลองเอกสาร Business Portal ของคุณอีกครั้ง ในตัวอย่างนี้ ชื่อของทริกเกอร์คือ PDK10000Update
ALTER TABLE PDK10000 DISABLE TRIGGER PDK10000Update
ความละเอียด 6
ใช้ Microsoft SQL Server Management Studio เรียกใช้สคริปต์นี้กับฐานข้อมูลบริษัทของคุณเพื่อตรวจสอบว่ามีบันทึกย่อการเรียกเก็บเงินที่มอบหมายให้กับเอกสารที่ไม่มีอยู่ในตารางต้นแบบบันทึกย่อการเรียกเก็บเงิน PDK หรือไม่
เลือก * จาก PDK10001 ที่ไม่มี PDK_Billing_Note_ID อยู่ (เลือก PDK_Billing_Note_ID จาก PDK01601) และ PDK_Billing_Note_ID <> ' จากนั้นเพื่อดูว่ามีบันทึกย่อที่มีอยู่ในตารางต้นแบบบันทึกย่อการเรียกเก็บเงินที่ไม่ได้อยู่บนเอกสารหรือไม่ ให้เรียกใช้
สคริปต์นี้
เลือก * จาก PDK01601 ที่ PDK_Billing_Note_ID ไม่ได้อยู่ (เลือก PDK_Billing_Note_ID จาก PDK10001) และ PDK_Billing_Note_ID ไม่อยู่ใน (เลือก PDK_Billing_Note_ID จาก PDK10501) ถ้าสคริปต์เหล่านี้อย่างใดอย่างหนึ่งส่งกลับผลลัพธ์ ระเบียนอาจต้องถูกเอาออกจากตารางโดยใช้ข้อความลบ
SQL ติดต่อฝ่ายสนับสนุนทางเทคนิคเพื่อขอรับความช่วยเหลือเพิ่มเติมถ้าต้องการ
ความละเอียด 7
ตรวจทานเอกสารแผ่นเวลาในตาราง PDK10000 เพื่อดูว่ามีการใช้หมายเลขเอกสารในปัจจุบันก่อนหน้านี้หรือไม่ แผ่นเวลาก่อนหน้าอาจต้องถูกเอาออกจากตาราง PDK10000 และ PDK10001 ก่อนที่จะสามารถใส่ธุรกรรมใหม่นี้ ถ้าต้องใช้การตั้งค่าช่วงเวลาการรายงานที่มีอยู่ อีกตัวเลือกหนึ่งคือการตั้งค่าข้อมูลช่วงเวลาการรายงานใหม่ให้กลับไปเป็นข้อมูลเดิม แล้วสร้างแผ่นเวลาใหม่
การแก้ไขปัญหาเพิ่มเติม -
1. เรียกใช้สคริปต์ต่อไปนี้ใน Microsoft SQL Server Management Studio เพื่อดูว่ามีประเภทค่าใช้จ่ายใดๆ บนแผ่นเวลาที่มีสถานะอื่นที่ไม่ใช่ เปิด หรือ เสร็จสมบูรณ์ คุณไม่สามารถใส่ธุรกรรมประเภทต้นทุนในสถานะ ประเมินปิด หรือ หยุด
เลือก a.PDK_TS_No, a.PAPROJNUMBER, a.PACOSTCATID จาก PDK10001 การเข้าร่วม
PA01301 b บน
a.PAPROJNUMBER = b.PAPROJNUMBER และ
a.PACOSTCATID = b.PACOSTCATID ที่
b.PASTAT ไม่อยู่ใน (1, 5)
2 เรียกใช้สคริปต์ต่อไปนี้ใน Microsoft SQL Server Management Studio เพื่อดูว่ามีโครงการใดๆ ในแผ่นเวลาที่มีสถานะอื่นที่ไม่ใช่ เปิด หรือ เสร็จสมบูรณ์ คุณไม่สามารถใส่ธุรกรรมของโครงการในสถานะ ประเมินปิด หรือ หยุด
เลือก a.PDK_TS_No, a.PAPROJNUMBER จาก PDK10001 การเข้าร่วม
PA01201 b บน
a.PAPROJNUMBER = b.PAPROJNUMBER
ที่ b.PASTAT ไม่อยู่ใน (1,
5) 3 ตรวจสอบค่าในเขตข้อมูลจํานวนรวม (PDK_Total_Quantity) ในตารางส่วนหัว (PDK10000) ตรงกับผลรวมของปริมาณบรรทัด (PDK_Quantity) ในตารางบรรทัด (PDK10001) ของแผ่นเวลา ถ้าแผ่นเวลาไม่ตรงกัน แผ่นเวลาเสียหายและจะต้องถูกเอาออกจากตารางSQLแผ่นงาน ติดต่อฝ่ายสนับสนุนทางเทคนิคเพื่อขอรับความช่วยเหลือเพิ่มเติมถ้าต้องการ