title: "Job (Screen in Cleaning)" category: reference tags: [mobile, go, go-plus, screen, cleaning] source: ultimo_gomanager.xml date: 2026-04-17 status: published
Job (Screen in Cleaning)
Category: Screen Application: Cleaning Has standard: Ja Entity (uit XML): Job
Raw XMLbewerken
<Screen EntityType="Job">
<ContextList>
<Context>JobContext.Cleaning</Context>
</ContextList>
<Section Id="Headers">
<Header Title="${Job.Description}" Text="${Job.Id}" />
</Section>
<Section Id="ReportProgress">
<Workflow
Name="Mobile_Job_BookHours"
Title="#label(REPORT_PROGRESS)"
Text="#label(CURRENT_STATUS): ${Job.ProgressStatus.Description?} - (#statusdescription_capital(${Job}))"
Icon="ultimoweb-clock-7">
<Condition><![CDATA[#{Settings.Job.CanChangeProgress}
&& (
${Job.Employee.Id?} == #{User.EmployeeId}
|| #{Settings.Job.ModifyAnyJob}
)
&& ${Job.Status} != JobStatus.Closed]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<DataSetProperty Name="ProgressStatus" Title="#label(PROGRESS_STATUS)" DataSet="JobNextProgressStatus" Required="True">
<Properties>
<Property Name="ProgressStatusId" Value="${Job.ProgressStatus.Id?}" />
</Properties>
</DataSetProperty>
<Property Name="Text" Title="#label(ACTIVITIES)" Text="#label(ENTER_ACTIVITIES)" Type="String" Html="True" />
<Property Name="BookDate" Title="#label(DATE)" Text="#label(ENTER_DATE)" Type="Date" Value="@{DeviceTime}" Required="True">
<Condition><![CDATA[#settingenabled(${Job}, Job.BookHours) == true
&& #getsetting(${Job}, Job.BookHours) == true]]></Condition>
</Property>
<DataSetProperty Name="HourTariffCategory" Title="#contextdescription_capital(Hourtariffcat 0)" DataSet="CraftsmanHourCategory">
<Condition><![CDATA[#settingenabled(${Job}, Job.BookHours) == true
&& #getsetting(${Job}, Job.BookHours) == true]]></Condition>
</DataSetProperty>
<Property Name="Hours" Title="#label(WORKED_HOURS)" Text="#label(WORKED_HOURS)" Type="Hours">
<Condition><![CDATA[#settingenabled(${Job}, Job.BookHours) == true
&& #getsetting(${Job}, Job.BookHours) == true]]></Condition>
</Property>
</Properties>
</Workflow>
</Section>
<Section Id="StartStopJob">
<Workflow
Name="Mobile_Job_StartHourAdministration"
Title="#label(START_HOUR)"
Text="#label(START_HOUR_JOB)"
Icon="ultimoweb-stopwatch">
<Condition><![CDATA[#{Settings.Job.CanStartAndStopHourAdministration}
&& (
${Job.Employee.Id?} == #{User.EmployeeId}
|| #{Settings.Job.ModifyAnyJob}
)
&& (
${Job.Status}==JobStatus.Active
|| ${Job.Status}==JobStatus.Postponed
)
&& #applicationelementenabled('414460db-cf53-47c0-a61e-7999982220a8')]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<Property Name="StartDate" Value="@{DeviceTime}" />
</Properties>
</Workflow>
<Workflow
Name="Mobile_Job_StopHourAdministration"
Title="#label(STOP_HOUR)"
Text="#label(STOP_HOUR_JOB)"
Icon="ultimoweb-stopwatch">
<Condition><![CDATA[#{Settings.Job.CanStartAndStopHourAdministration}
&& (
${Job.Employee.Id?} == #{User.EmployeeId}
|| #{Settings.Job.ModifyAnyJob}
)
&& (
${Job.Status}==JobStatus.Active
|| ${Job.Status}==JobStatus.Postponed
)
&& #applicationelementenabled('414460db-cf53-47c0-a61e-7999982220a8')]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<Property Name="SetJobToStatusFinish" Value="False" />
<Property Name="StopDate" Value="@{DeviceTime}" />
</Properties>
</Workflow>
<Workflow
Name="Mobile_Job_StopHourAdministration"
Title="#label(STOP_HOUR_STOP_JOB)"
Text="#label(STOP_HOUR_JOB_STOP_JOB)"
Icon="ultimoweb-stopwatch">
<Condition><![CDATA[#{Settings.Job.CanStartAndStopHourAdministration}
&& #{Settings.Job.CanStopHourAdministrationAndFinishJob}
&& (
${Job.Employee.Id?} == #{User.EmployeeId}
|| #{Settings.Job.ModifyAnyJob}
)
&& (
${Job.Status}==JobStatus.Active
|| ${Job.Status}==JobStatus.Postponed
)
&& #applicationelementenabled('414460db-cf53-47c0-a61e-7999982220a8')]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<Property Name="SetJobToStatusFinish" Value="True" />
<Property Name="StopDate" Value="@{DeviceTime}" />
<Property Name="WorkDescription" Title="#label(ACTIVITIES)" Text="#label(ENTER_ACTIVITIES)" Type="String" Html="True" />
</Properties>
</Workflow>
</Section>
<Section Id="Text">
<Text Title="#label(REPORT_TEXT)" Text="${Job.ReportText}" Icon="ultimoweb-copy-2" ConvertHtmlToPlainText="True" />
<Text Title="#label(WORK_INSTRUCTION)" Text="${Job.Text}" Icon="ultimoweb-copy-2" ConvertHtmlToPlainText="True" />
<Text Title="#label(EXECUTED_ACTIVITIES)" Text="${Job.FeedbackText}" Icon="ultimoweb-copy-2" ConvertHtmlToPlainText="True" />
</Section>
<Section Id="Location">
<Entity Value="${Job.Space}">
<Condition><![CDATA[#applicationelementenabled('32f4e088-23f6-4aac-a182-edf043869bbe')]]></Condition>
</Entity>
<Entity Value="${Job.Department}" Navigation="True">
<Condition><![CDATA[#applicationelementenabled('4a2d7f23-f846-4780-a3e6-41038ccc9c11')]]></Condition>
</Entity>
<Entity Value="${Job.CostCenter}">
<Condition><![CDATA[#applicationelementenabled('a5db516e-0122-4318-aa1c-773b71e28757')]]></Condition>
</Entity>
<Entity Value="${Job.Site}">
<Condition><![CDATA[#applicationelementenabled('f6094a39-7020-4369-80fa-e7474945d49d')]]></Condition>
</Entity>
</Section>
<Section Id="Employee">
<Entity Value="${Job.SkillCategory}" />
<Entity Value="${Job.Employee}" Title="#label(EXECUTE_BY)" />
</Section>
<Section Id="AssignJob">
<Workflow
Name="Mobile_Job_SetEmployee"
Title="#label(ASSIGN_JOB)"
Text="#label(ASSIGN_JOB_TO_SELF)"
SubText="#label(SUBTEXT)"
Icon="ultimoweb-user">
<Condition><![CDATA[(
#{Settings.Job.CanSetEmployeeCurrentUser}
|| #{Settings.Job.ModifyAnyJob}
)
&& (
${Job.Employee}==Empty
|| ${Job.Employee.Id?} != #{User.EmployeeId}
)
&& ${Job.Status} != JobStatus.Closed]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
</Properties>
</Workflow>
<Workflow
Name="Mobile_Job_ChangeEmployee"
Title="#label(CHANGE_EXECUTE_BY)"
Text="#label(ASSIGN_JOB_TO_OTHER)"
SubText="#label(SUBTEXT)"
Icon="ultimoweb-users-2">
<Condition><![CDATA[(
#{Settings.Job.CanSetEmployee}
&& (
(
${Job.Employee.Id?} == #{User.EmployeeId}
)
)
|| #{Settings.Job.ModifyAnyJob}
)
&& ${Job.Status} != JobStatus.Closed]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<DataSetProperty Name="Employee" Title="#label(EMPLOYEE)" Text="#label(SKILLCATEGORY) ${Job.SkillCategory.Description}" DataSet="EmployeeSkillCategory" Required="True">
<Condition><![CDATA[${Job.SkillCategory} != Empty]]></Condition>
<Properties>
<Property Name="SkillCategoryId" Value="${Job.SkillCategory.Id}" />
</Properties>
</DataSetProperty>
<DataSetProperty Name="Employee" Title="#label(EMPLOYEE)" Text="#label(SELECT_EMPLOYEE)" DataSet="EmployeeWhoIsACraftsman" Required="True">
<Condition><![CDATA[${Job.SkillCategory} == Empty]]></Condition>
</DataSetProperty>
</Properties>
</Workflow>
<Workflow
Name="Mobile_Job_RemoveEmployee"
Title="#label(REMOVE_EXECUTE_BY)"
Text="#label(REMOVE_EMPLOYEE_JOB)"
SubText="#label(SUBTEXT)"
Icon="ultimoweb-user-cancel">
<Condition><![CDATA[(
#{Settings.Job.CanRemoveCurrentAssignedEmployee}
&& ${Job.Employee}!=Empty
&& (
(
${Job.Employee.Id?} == #{User.EmployeeId}
)
)
|| #{Settings.Job.ModifyAnyJob}
)
&& ${Job.Status} != JobStatus.Closed]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
</Properties>
</Workflow>
</Section>
<Section Id="Type">
<Text Title="#label(CLEANING_CAUSE)" Text="#if(${Job.RemarkSmallInt1} == 1)#label(CLEANING_EXTRA)#if(${Job.RemarkSmallInt1} == 2)#label(CLEANING_AFTER_JOB)#end#end" Icon="ultimoweb-tag-3" />
<Entity Value="${Job.WorkOrderType}" />
<Workflow
Name="Mobile_Job_ChangeWorkOrderType"
Title="#label(CHANGE_WORKORDERTYPE)"
Text="#label(CHANGE_WORKORDERTYPE_JOB)"
Icon="ultimoweb-tags-2">
<Condition><![CDATA[#{Settings.Job.CanChangeWorkOrderType}
&& (
${Job.Employee.Id?} == #{User.EmployeeId}
|| #{Settings.Job.ModifyAnyJob}
)
&& ${Job.Status} != JobStatus.Closed]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<DataSetProperty Name="WorkOrderType" Title="#contextdescription_capital(WorkOrderType 0)" DataSet="WorkOrderType" />
</Properties>
</Workflow>
</Section>
<Section Id="Schedule">
<Text Title="#label(PLANNED_START_DATE)" Text="#formatdate(${Job.ScheduledStartDate} 'f' true)" Icon="ultimoweb-calendar" />
<Text Title="#label(SCHEDULED_FINISH_DATE)" Text="#formatdate(${Job.TargetDate} 'f' true)" Icon="ultimoweb-calendar" />
<Text Title="#label(PLANNED_DURATION)" Text="#formathours(${Job.HoursCalculated}) #label(HOURS)" Icon="ultimoweb-calendar">
<Condition><![CDATA[${Job.HoursCalculated} != Empty
&& #applicationelementenabled('a5cb5a0e-54e9-46d7-a7e6-a150d01d34b5')]]></Condition>
</Text>
</Section>
<Section Id="Progress">
<List DataSet="JobProgressStatusHistory" Text="#label(PROGRESS)" ShowCount="True" Icon="ultimoweb-forward-3">
<Properties>
<Property Name="JobId" Value="${Job.Id}" />
</Properties>
</List>
</Section>
<Section Id="MicrosoftTeams">
<Workflow
Name="Mobile_OpenMicrosoftTeams"
Title="#label(MICROSOFTTEAMS)"
Text="#label(STARTCHAT)"
Icon="icon-microsoftteams"
AvailableOffline="False">
<Condition><![CDATA[#{Settings.Job.CanOpenMicrosoftTeams}]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<DataSetProperty Name="Employee" Title="#label(EMPLOYEE)" Type="String" DataSet="EmployeeWithEmailAddress" Required="True" />
<Property Name="Text" Title="#label(MESSAGE)" Text="#label(MESSAGE)" Type="String" Html="True" />
</Properties>
</Workflow>
</Section>
</Screen>
Brondatabewerken
- Definitie opvragen —
lookup_mobile_screen("Job", app="Cleaning")Volledige definitie incl. XML. Bron:ultimo_gomanager.xml. - Entity-model —
lookup_entity("Job")· ../../entities/Job Properties, contexts en statussen van de Job-entity. Bron:Entities.xml.