Khi tìm cách mở trang Người dùng trong Cổng thông tin Doanh nghiệp của Microsoft Dynamics GP, bạn nhận được thông báo lỗi sau đây:
""Đã xảy ra lỗi ngoài dự báo. Vui lòng thử đóng trình duyệt và khởi động lại hoặc liên hệ với chuyên gia hỗ trợ của bạn"
Khi đó bạn bấm vào nút Chi tiết trên thông báo lỗi, bạn nhận được văn bản bổ sung liên quan đến thông báo lỗi:
"System.Exception: soap:Server Server không thể xử lý yêu cầu. ---> Microsoft.Dynamics.hrm.Entity.Employee"
Triệu chứng
Trong bảng MBFRoleUser của cơ sở dữ liệu DYNAMICS, bạn có ID Nhân viên được gán trong trường Thành lập không tồn tại với tư cách là nhân viên trong bảng UPR00100 của cơ sở dữ liệu công ty.
Nguyên nhân
Loại bỏ bản ghi gán ID nhân viên mồ côi khỏi bảng MBFRoleUser của cơ sở dữ liệu DYNAMICS. Hãy làm theo các bước sau để tìm và loại bỏ bản ghi gán ID nhân viên có mồ côi khỏi bảng MBFRoleUser của cơ sở dữ liệu DYNAMICS.
1. Bắt đầu SQL Server Management Studio. Để thực hiện điều này, hãy sử dụng một trong các phương pháp sau đây tùy thuộc vào chương trình bạn đang sử dụng.
Ví SQL Server 2000
Nếu bạn đang sử dụng SQL Server 2000, hãy bắt đầu Trình phân SQL vấn. Để thực hiện điều này, bấmvào Bắtđầu , trỏ tới Tấtcả Chương trình , trỏ tớiMicrosoft SQL Server , rồi bấm vào Trình phân tíchTruy vấn.
Ví SQL Server 2005
Nếu bạn đang sử dụng SQL Server 2005, hãy bắt đầu SQL Server Management Studio. Để thực hiện điều này, bấm vàoBắt đầu ,trỏ đến Tất cả Chương trình , trỏ tới Microsoft SQL Server 2005, rồibấm vào SQL Server Management Studio.
Ví SQL Server 2008
Nếu bạn đang sử dụng SQL Server 2008, hãy bắt đầu SQL Server Management Studio. Để thực hiện điều này, bấmvào Bắtđầu ,trỏ tới Tất cả Chương trình , trỏ tới Microsoft SQL Server 2008, rồibấm vào SQL Server Management Studio.
2. Chạy câu lệnh sau đối với cơ sở dữ liệu DYNAMICS để tìm tất cả các bản ghi gán ID nhân viên trong bảng MBFRoleUser của cơ sở dữ liệu DYNAMICS:
chọn * từ MBFRoleUser trong đó Thành phần như '%Microsoft.Dynamics.Hrm.Entity.Employee ID%' theo Thành viên
Chuỗi ID Nhân viên= trong cột Thành viên sẽ hiển thị cho bạn id nhân viên được gán vai trò Cổng thông tin Doanh nghiệp.
3. Chạy câu lệnh sau đối với cơ sở dữ liệu công ty để tìm tất cả các bản ghi ID nhân viên có trong bảng UPR00100 của bạn:
chọn EMPLOYID từ thứ tự UPR00100 của EMPLOYID
Kết quả của tập lệnh này sẽ hiển thị cho bạn mọi ID nhân viên hiện có trong bảng Bản cái nhân viên.
4. So sánh ID Nhân viên= bản ghi nhiệm vụ trong cột Thành lập từ kết quả của tập lệnh chạy từ Bước #1 với các nhân viên được trả về từ kết quả của tập lệnh chạy từ Bước #2. Tìm bản ghi gán ID Nhân viên tồn tại trong cột Thành phần của bảng MBFRoleUser của cơ sở dữ liệu DYNAMICS không tồn tại dưới dạng ID Nhân viên trong bảng UPR00100 của cơ sở dữ liệu công ty.
5. Sau khi bạn đã xác định bản ghi gán ID nhân viên có mồ côi từ Bước #3, hãy chạy câu lệnh sau đối với cơ sở dữ liệu DYNAMICS để loại bỏ phần gán ID nhân viên mồ côi này:
xóa MBFRoleUser nơi Thành viên = 'XXXX'
LƯU Ý: Thay xxxX bằng giá trị Thành phần của bản ghi gán ID nhân viên mồ côi từ bảng MBFRoleUser.
VÍ DỤ: Here would be an example of the delete statement needed in Step #4:
xóa
MbfRoleUser, nơi thực thể Constituent='<Key><Microsoft.Dynamics.Common.Company.Company ID="-1" /><Microsoft.Dynamics.Entity.ID="429732375" /></entityKey>'
Trong ví dụ này, Nhân viên số 429732375 là người được gán ID nhân viên mồ côi từ bước #3.
Giải pháp
Thông tin trong bảng Người dùng MBFRole sẽ được chèn khi bạn bấm trang chủ trong Cổng thôngtin Doanh nghiệp,bấm Hành động Site, bấm Hành động SiteCài đặt, bấm Người dùng,chọn một người dùng từ Danh sách Người dùng, bấm Vai trò,bấm Sửa đổi ,rồi gán vai trò trong cửa sổ Sửa đổi Cổng thông tin và Vai trò Nâng cao -- Hộp thoại Trang web. BấmOK.