To link a workday to an employee you can add a couple of matching attributes: Employee.Workdays of type Workday (multiple allowed) matching to Workday.Employee of type Employee (multiple not allowed). You can then display the employee details (Name, etc.) on the Workday form using the Table Of Items presentation option.
The form for Employee will show a list of workdays (sorted on date in descending order). The user would click to an item in the list to get to the workday form. There are several ways to add workdays to employee. One is to use a scheduled process as described above, modified slightly to create workdays for multiple employees:
If NOT (EXISTS Workday WHERE (Workday.WorkDate = DATE_ADD(CURRENT_DATE, 1))) Then
FIND ALL Employee
CREATE Workday FOR EACH Employee WITH Workday.Employee = Employee, Workday.WorkDate = DATE_ADD(CURRENT_DATE, 1)
Another way is to let the user create a new workday for a given employee for the current day, next day, next business day, etc. by a single click. This can be done by a process with a single rule, for example:
CREATE Workday WITH Workday.Employee = Employee, Workday.WorkDate = CURRENT_DATE
The process can then be added as an operation to Employee form protected by the following condition:
NOT (EXISTS Workday WHERE (Workday.WorkDate = CURRENT_DATE AND Workday.Employee = Employee))
The condition will ensure that the operation will not be visible to the user if the workday already exists. Otherwise it will appear as a hyperlink above/below the Employee form.
Finally, the user can create a workday for any desired date using the Add New Item button for the Employee.Workdays attribute on form Employee.