指定新員工的聯絡人和地址資訊
要指定 Employee 的聯絡人和地址資訊,你應始終在分配任何欄位值之前在 Contact 和 Address 資料檢視上呼叫 Select()
方法。還建議將 Select()
方法的結果分配給 Contact 和 Address 資料檢視的 Current 屬性,以保證你的程式碼分別修改 Contact 和 Address PXCache 中的當前記錄。
EmployeeMaint employeeMaintGraph = PXGraph.CreateInstance<EmployeeMaint>();
EPEmployee epEmployeeRow = new EPEmployee();
epEmployeeRow.AcctCD = "EMPLOYEE1";
epEmployeeRow = employeeMaintGraph.Employee.Insert(epEmployeeRow);
Contact contactRow = employeeMaintGraph.Contact.Current = employeeMaintGraph.Contact.Select();
contactRow.FirstName = "John";
contactRow.LastName = "Green";
employeeMaintGraph.Contact.Update(contactRow);
Address addressRow = employeeMaintGraph.Address.Current = employeeMaintGraph.Address.Select();
addressRow.CountryID = "US";
addressRow = employeeMaintGraph.Address.Update(addressRow);
addressRow.State = "DC";
employeeMaintGraph.Address.Update(addressRow);
epEmployeeRow.VendorClassID = "EMPSTAND";
epEmployeeRow.DepartmentID = "FINANCE";
employeeMaintGraph.Employee.Update(epEmployeeRow);
employeeMaintGraph.Actions.PressSave();
當插入新的 Employee 時,employeeMaintGraph.Contact.Current
將始終返回主聯絡人記錄,因為聯絡人記錄會自動插入到快取中,因此可通過 PXCache / Data View 的 Current 屬性獲得。Select()
方法的使用更加通用,因為它可以在所有可能的場景中工作,無論你是需要插入新的 Employee 還是更新現有的 Employee。